summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta-aspeed/conf/layer.conf4
-rw-r--r--meta-aspeed/conf/machine/evb-ast2500.conf2
-rw-r--r--meta-aspeed/conf/machine/evb-ast2600.conf2
-rw-r--r--meta-aspeed/conf/machine/include/aspeed.inc21
-rw-r--r--meta-aspeed/conf/machine/include/ast2400.inc12
-rw-r--r--meta-aspeed/conf/machine/include/ast2500.inc14
-rw-r--r--meta-aspeed/conf/machine/include/ast2600.inc5
-rw-r--r--meta-aspeed/conf/machine/include/tune-arm1176jz-s.inc11
-rw-r--r--meta-aspeed/recipes-aspeed/images/aspeed-image-initramfs.bb3
-rw-r--r--meta-aspeed/recipes-aspeed/images/aspeed-image-norootfs.bb40
-rw-r--r--meta-aspeed/recipes-bsp/u-boot/files/0001-arm-evb-ast2600-put-environment-back-at-512KiB.patch47
-rw-r--r--meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk/flash-131072/bootcmd.cfg2
-rw-r--r--meta-aspeed/recipes-bsp/u-boot/u-boot-common-aspeed-sdk_2019.04.inc11
-rw-r--r--meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk/aspeed-g6/defconfig298
-rw-r--r--meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk_git.bb10
-rw-r--r--meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig288
-rw-r--r--meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb6
-rw-r--r--meta-evb/conf/layer.conf3
-rw-r--r--meta-evb/meta-evb-enclustra/conf/layer.conf2
-rw-r--r--meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf2
-rw-r--r--meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config-native.bb2
-rw-r--r--meta-facebook/conf/layer.conf4
-rw-r--r--meta-facebook/meta-tiogapass/conf/layer.conf4
-rw-r--r--meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service9
-rw-r--r--meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rotate-event-logs.timer8
-rw-r--r--meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.conf36
-rw-r--r--meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate12
-rw-r--r--meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog_%.bbappend25
-rw-r--r--meta-facebook/meta-tiogapass/recipes-fbtp/packagegroups/packagegroup-fb-apps.bb2
-rw-r--r--meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json2
-rw-r--r--meta-google/conf/layer.conf2
-rw-r--r--meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb2
-rw-r--r--meta-hxt/conf/layer.conf3
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client.bb2
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/socupdate.bb2
-rw-r--r--meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb2
-rw-r--r--meta-ibm/conf/layer.conf5
-rw-r--r--meta-ibm/meta-palmetto/conf/layer.conf2
-rw-r--r--meta-ibm/meta-palmetto/recipes-phosphor/configuration/palmetto-yaml-config.bb2
-rw-r--r--meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config-native.bb2
-rw-r--r--meta-ibm/meta-palmetto/recipes-phosphor/occ/palmetto-occ-control-config-native.bb2
-rw-r--r--meta-ibm/meta-romulus/conf/layer.conf2
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/chassis/avsbus-control.bb2
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/chassis/vrm-control.bb2
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/configuration/romulus-yaml-config.bb2
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bbappend1
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend21
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button.bb2
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config-native.bb2
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/logging/romulus-phosphor-logging-callouts-native.bb2
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/occ/romulus-occ-control-config-native.bb2
-rw-r--r--meta-ibm/meta-romulus/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend2
-rw-r--r--meta-ibm/meta-witherspoon/conf/conf-notes.txt14
-rw-r--r--meta-ibm/meta-witherspoon/conf/layer.conf2
-rw-r--r--meta-ibm/meta-witherspoon/conf/local.conf.sample1
-rw-r--r--meta-ibm/meta-witherspoon/conf/machine/mihawk.conf42
-rw-r--r--meta-ibm/meta-witherspoon/conf/machine/rainier.conf24
-rw-r--r--meta-ibm/meta-witherspoon/conf/machine/witherspoon-tacoma.conf25
-rw-r--r--meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Add-witherspoon-128-machine.patch94
-rw-r--r--meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Witherspoon-128-Update-BMC-partitioni.patch744
-rw-r--r--meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/mihawk.cfg10
-rw-r--r--meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed_%.bbappend3
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb4
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable.sh16
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable@.service16
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable.sh16
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable@.service15
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/avsbus-enable@.service15
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb20
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh81
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config.bb17
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-fru-bmc.yaml102
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-hwmon-sensors.yaml504
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/console/obmc-console/mihawk/obmc-console.conf4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/events-policy.bb2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb13
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/air-cooled.yaml339
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/fan-errors.yaml905
-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_%.bbappend1
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy.bb2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/ibm-ac-server/thermal-policy.yaml (renamed from meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/thermal-policy.yaml)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/mihawk/thermal-policy.yaml187
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml715
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/witherspoon/events.yaml415
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/mihawk/fans.yaml31
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/mihawk/zone_conditions.yaml (renamed from meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/zone_conditions.yaml)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config/mihawk/zones.yaml42
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/mihawk/monitor.yaml96
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/mihawk/config.yaml47
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/obmc/phosphor-fan/phosphor-cooling-type-0.conf (renamed from meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/phosphor-cooling-type@.service (renamed from meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service)0
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/witherspoon-tacoma/obmc/phosphor-fan/phosphor-cooling-type-0.conf6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/witherspoon/phosphor-fan-control@.service11
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend29
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog.service4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-reset-fan-watchdog.service4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/flash/openpower-software-manager_%.bbappend1
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/flash/phosphor-software-manager_%.bbappend5
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button.bb30
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/id-button-pressed.service9
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/obmc/gpio/id_button5
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/toggle_identify_led.sh27
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/mihawk/obmc/gpio/phosphor-power-supply-0.conf6
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/mihawk/obmc/gpio/phosphor-power-supply-1.conf6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/host/p9-host-start.bbappend4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/images/obmc-phosphor-image.bbappend1
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/inventory/inventory-cleanup.bb2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/channel_config.json178
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend5
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/leds/mihawk-led-manager-config-native.bb18
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/leds/mihawk-led-manager-config/led.yaml148
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging/mihawk/policyTable.json22437
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging_%.bbappend1
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/logging/mihawk-phosphor-logging-callouts-native.bb20
-rwxr-xr-xmeta-ibm/meta-witherspoon/recipes-phosphor/logging/mihawk-phosphor-logging-callouts/callouts.yaml3
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/logging/phosphor-logging_%.bbappend1
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/mboxd/mboxd_%.bbappend7
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/network/first-boot-set-mac_%.bbappend1
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer.bb2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml200
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/swift/ucd90160.yaml10
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/witherspoon/ucd90160.yaml6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis.inc6
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis_git.bb2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-sync.bb2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@58.conf4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@5b.conf4
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf11
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@72.conf5
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf11
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@72.conf5
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/emc1403@4c.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@48.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@49.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@440/pca9545@70/i2c@3/tmp275@48.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf25
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf291
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/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.conf280
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-12v.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-3v.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-5v.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-battery.conf9
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs0.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs1.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd0.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd1.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddra.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrb.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrc.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrd.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn0.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn1.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio0.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio1.conf2
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf82
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@71.conf82
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf82
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@71.conf82
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend33
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend1
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/mihawk/gpio_defs.json74
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/rainier/gpio_defs.json38
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/witherspoon-tacoma/gpio_defs.json58
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-inventory-native.bb19
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-inventory/inventory3
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-vpd-layout-native.bb20
-rw-r--r--meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-vpd-layout/layout.yaml17
-rw-r--r--meta-ibm/recipes-phosphor/dbus/ibm-dbus-interfaces-mapper-config-native.bb2
-rw-r--r--meta-ibm/recipes-phosphor/interfaces/bmcweb_%.bbappend4
-rw-r--r--meta-ingrasys/conf/layer.conf5
-rw-r--r--meta-ingrasys/meta-zaius/conf/layer.conf2
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/chassis/avsbus-control.bb2
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/chassis/vcs-control.bb2
-rw-r--r--meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config.bb2
-rw-r--r--meta-inspur/conf/layer.conf4
-rw-r--r--meta-inspur/meta-fp5280g2/conf/layer.conf2
-rw-r--r--meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf1
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/bmcweb/bmcweb_%.bbappend3
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config.bb2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml36
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config-native.bb19
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config/led.yaml20
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/network/first-boot-set-mac_%.bbappend2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/occ/fp5280g2-occ-control-config-native.bb2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-inventory-native.bb2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-inventory/inventory4
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-vpd-layout-native.bb2
-rw-r--r--meta-inspur/meta-fp5280g2/recipes-phosphor/vpd/fp5280g2-openpower-fru-vpd-layout/layout.yaml4
-rw-r--r--meta-inspur/meta-on5263m5/conf/layer.conf2
-rw-r--r--meta-intel/conf/layer.conf5
-rw-r--r--meta-intel/conf/machine/include/intel.inc2
-rw-r--r--meta-intel/meta-common/recipes-core/systemd/obmc-targets.bbappend16
-rwxr-xr-xmeta-intel/meta-common/recipes-intel/chassis/x86-power-control_git.bb2
-rwxr-xr-xmeta-intel/meta-common/recipes-intel/ipmi/intel-ipmi-oem_git.bb2
-rw-r--r--meta-intel/meta-common/recipes-intel/libtinyxml2/libtinyxml2_%.bbappend3
-rw-r--r--meta-intel/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces-mapper-config-native.bb2
-rw-r--r--meta-intel/meta-common/recipes-phosphor/dbus/phosphor-mapper-config-native.bbappend2
-rw-r--r--meta-intel/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend6
-rw-r--r--meta-intel/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend2
-rw-r--r--meta-intel/meta-common/recipes-phosphor/leds/intel-led-manager-config-native.bb2
-rw-r--r--meta-intel/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend2
-rw-r--r--meta-intel/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend6
-rw-r--r--meta-intel/meta-s2600wf/conf/layer.conf2
-rw-r--r--meta-intel/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend2
-rw-r--r--meta-inventec/conf/layer.conf3
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control.bb2
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map-native.bb2
-rw-r--r--meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config-native.bb2
-rw-r--r--meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native.bb20
-rw-r--r--meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_git.bb25
-rw-r--r--meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock.bb19
-rw-r--r--meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.09.05.bb22
-rw-r--r--meta-nuvoton/recipes-bsp/u-boot/u-boot-common-nuvoton.inc2
-rw-r--r--meta-nuvoton/recipes-kernel/linux/linux-nuvoton_git.bb6
-rw-r--r--meta-openembedded/meta-filesystems/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb20
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb20
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-Make-build-support-usrmerge.patch43
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb1
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.10.bb16
-rw-r--r--meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.5.2.bb13
-rw-r--r--meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.6.2.bb48
-rw-r--r--meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb8
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb22
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb22
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb23
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch48
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/work-with-new-version-of-xfsprogs.patch28
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb2
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch40
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb73
-rw-r--r--meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb76
-rw-r--r--meta-openembedded/meta-gnome/README20
-rw-r--r--meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass10
-rw-r--r--meta-openembedded/meta-gnome/conf/layer.conf6
-rw-r--r--meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb51
-rw-r--r--meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.22.bb44
-rw-r--r--meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.33.0.bb2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch180
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch39
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb142
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch20
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch10
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch10
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Add-native-suffix-to-exacutables-produced-and-run-du.patch50
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch46
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0005-Use-LC_MESSAGES-for-address-localization-when-LC_ADD.patch33
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0006-Dont-add-usr-lib-to-LDFLAGS-when-linking-libphonenum.patch36
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0007-Modify-gobject-intrispection-support-to-work-with-OE.patch75
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb132
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.32.4.bb155
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb2
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb4
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb19
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.32.1.bb22
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.32.0.bb36
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.0.bb36
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb42
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.28.2.bb44
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.0.bb5
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.10.bb21
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb21
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.0.bb76
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.41.2.bb82
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb33
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.10.bb30
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb4
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb4
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb1
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.30.1.bb41
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.32.0.bb41
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/wv/wv/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch29
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/wv/wv/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch26
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.9.bb18
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity/0001-build-don-t-generate-manual.patch50
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb24
-rw-r--r--meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch62
-rw-r--r--meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb1
-rw-r--r--meta-openembedded/meta-initramfs/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb2
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb1
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb3
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Fix-missing-include-in-sys-mman.h.patch36
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch11
-rw-r--r--meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc6
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch4
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch2
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch6
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch2
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch4
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch13
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch8
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch6
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch4
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch2
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch10
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch5
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch5
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch14
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch10
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch6
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch8
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch11
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch7
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch10
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch4
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch46
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch10
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch9
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch13
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch4
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch4
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch2
-rw-r--r--meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch4
-rw-r--r--meta-openembedded/meta-multimedia/conf/layer.conf4
-rw-r--r--meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc20
-rw-r--r--meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb25
-rw-r--r--meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb1
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc4
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb1
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb1
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb37
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.34.bb37
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.2.3.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb2
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb27
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb21
-rw-r--r--meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc6
-rw-r--r--meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc2
-rw-r--r--meta-openembedded/meta-networking/classes/waf-samba.bbclass6
-rw-r--r--meta-openembedded/meta-networking/conf/layer.conf3
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt1
-rw-r--r--meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt1
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.8.2.bb27
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/adcli/files/Fixed-build-error-on-musl.patch26
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb58
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb41
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb26
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.0.2.bb26
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch77
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb84
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.1.bb88
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch44
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch24
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch186
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch21
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb227
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.19.bb231
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch31
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb62
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb63
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb41
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.2.bb41
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb48
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190630.bb48
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb93
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.6.bb98
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd110
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb146
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb148
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch30
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch42
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch62
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch58
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch59
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch48
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch29
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.8.bb331
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb327
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb33
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc_1.18.bb31
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-chdeck-for-gettid-API-during-configure.patch48
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch60
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/snort/snort/volatiles.99_snort2
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb104
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.14.1.bb114
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.0.0.bb21
-rw-r--r--meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.1.0.bb21
-rw-r--r--meta-openembedded/meta-networking/recipes-core/packagegroups/packagegroup-meta-networking.bb6
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Make-iscsid-systemd-usage-optional.patch88
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch92
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb114
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.877.bb119
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.15.bb45
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.16.bb45
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb15
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch67
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch23
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb71
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.07.bb74
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-Fixed-build-failure-with-glibc-2.30-due-to-dropped-R.patch37
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc22
-rw-r--r--meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.5.bb18
-rw-r--r--meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch32
-rw-r--r--meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch64
-rw-r--r--meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb42
-rw-r--r--meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.1.bb49
-rw-r--r--meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch28
-rw-r--r--meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch49
-rw-r--r--meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.7.bb64
-rw-r--r--meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb64
-rw-r--r--meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb7
-rw-r--r--meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch59
-rw-r--r--meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch337
-rw-r--r--meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb15
-rw-r--r--meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.4.bb15
-rw-r--r--meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb22
-rw-r--r--meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.2.bb28
-rw-r--r--meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.3.bb32
-rw-r--r--meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.4.bb32
-rw-r--r--meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190913.bb (renamed from meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190406.bb)0
-rw-r--r--meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190913.bb (renamed from meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190406.bb)0
-rw-r--r--meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc4
-rw-r--r--meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb3
-rw-r--r--meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch71
-rw-r--r--meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb20
-rw-r--r--meta-openembedded/meta-networking/recipes-netkit/netkit-telnet/netkit-telnet_0.17.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb139
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb139
-rw-r--r--meta-openembedded/meta-networking/recipes-protocols/net-snmp/net-snmp_5.8.bb15
-rw-r--r--meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch33
-rw-r--r--meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.4.bb139
-rw-r--r--meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.5.bb138
-rw-r--r--meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/0001-dnsmasq-fix-build-against-5.2-headers.patch31
-rw-r--r--meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch108
-rw-r--r--meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.10.0.bb56
-rw-r--r--meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.8.0.bb63
-rw-r--r--meta-openembedded/meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch79
-rw-r--r--meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb25
-rw-r--r--meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.19-1.bb25
-rw-r--r--meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb11
-rw-r--r--meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.0.bb39
-rw-r--r--meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.1.bb39
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.8_typo.patch15
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_netlink-invalid-arg.patch16
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_typo.patch24
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/nlrequest.c_packet-too-small_fix.patch16
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric_0.3.bb17
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.29.bb41
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.30.bb41
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch87
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch62
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch56
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch184
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch171
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb70
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.5.bb72
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch62
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch172
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch173
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb49
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.3.0.bb54
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch35
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch15
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch33
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb52
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.2.bb57
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch62
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch170
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch176
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.1.bb58
-rw-r--r--meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb46
-rw-r--r--meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch59
-rw-r--r--meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb4
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.38.0.bb13
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.39.1.bb15
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch45
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch19
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb1
-rw-r--r--meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb4
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp.socket9
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp@.service8
-rw-r--r--meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb12
-rw-r--r--meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb1
-rwxr-xr-xmeta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn12
-rw-r--r--meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb2
-rw-r--r--meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch8
-rw-r--r--meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb134
-rw-r--r--meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb134
-rw-r--r--meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.51.bb37
-rw-r--r--meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.55.bb37
-rw-r--r--meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch61
-rw-r--r--meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch9
-rw-r--r--meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch19
-rwxr-xr-xmeta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/run-ptest4
-rw-r--r--meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch15
-rw-r--r--meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb44
-rw-r--r--meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb51
-rw-r--r--meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.bb17
-rw-r--r--meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.9.bb17
-rw-r--r--meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-startup-scripts.patch78
-rw-r--r--meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.2.bb46
-rw-r--r--meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.1.bb81
-rw-r--r--meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.3.bb81
-rw-r--r--meta-openembedded/meta-oe/README7
-rw-r--r--meta-openembedded/meta-oe/conf/layer.conf7
-rw-r--r--meta-openembedded/meta-oe/licenses/OFL-1.099
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_5.3.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_5.5.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-arch-arm-Consider-armv7ve-arch-as-well.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.12.bb46
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.16.bb46
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch58
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch15
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch17
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.6.bb33
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run1
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb55
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/nvme-cli/files/0001-Makefile-fix-bash-completion-install-path.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.6.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.9.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-bsp/rwmem/rwmem_1.2.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.8.bb51
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb51
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.14.bb31
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.20.bb37
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.25.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.27.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch85
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.22.2.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.0.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.27.0.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.32.0.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.1.0.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.2.0.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb56
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.6.bb57
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial/musl-support.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb75
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.2.6.bb79
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.1.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb33
-rw-r--r--meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.58.1.bb36
-rw-r--r--meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.60.0.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.1.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.2.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v65.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-core/safec/safec/0001-memrchr-Use-_ISOC11_SOURCE-only-with-glibc.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-core/safec/safec_3.4.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-core/safec/safec_3.5.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.11.0.bb50
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.9.0.bb53
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb85
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.2.1.bb92
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.17.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch22
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch10
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch46
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch10
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch19
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch15
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch57
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb36
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc6
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.5.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch52
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch46
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch45
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample5
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.2.0.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_git.bb28
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20190324-3.1.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.1.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.2.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch302
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch13
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch19
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb53
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus/0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch40
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.4.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb105
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb113
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php.inc26
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch1285
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch90
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch192
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch25
-rwxr-xr-xmeta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch31
-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/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch387
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch63
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch46
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.9.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch36
-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.bb37
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb36
-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/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch56
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb92
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.9.2.bb90
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.9.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.6.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.3.0.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch121
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.34.0.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc4
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.21.bb (renamed from meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml_0.1.20.bb)0
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb45
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb45
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch98
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.1.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb45
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.24.bb44
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20180621.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190728.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp/0001-Set-library-VERSION-and-SOVERSION.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.2.bb15
-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/haveged-init.d-Makefile.am-add-missing-dependency.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb43
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb41
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb31
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb31
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch37
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.5.5.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.20.bb43
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.23.bb43
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch314
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch52
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus/0001-nisplus-hosts-Remove-use-of-RES_USE_INET6.patch245
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb49
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.7.bb49
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.1.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.2.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb58
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.1.bb58
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-Fix-formatting-for-modern-c-11-compilers.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch63
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch93
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch18
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb28
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/fallback-to-2011-C++-standard.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-Always-enable-trivial-httpd-for-tests.patch59
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch40
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0002-Gate-ostree-trivial-httpd-on-BUILDOPT_TRIVIAL_HTTPD.patch51
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.3.bb157
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl/0001-Fix-clang-warning-about-non-virtual-dtor.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.1.4.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-os_posix-Use-__FreeBSD__-to-control-secure_getenv-de.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb64
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb49
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch45
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1903.0.bb174
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1908.0.bb174
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch80
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb36
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils/0001-fix-include-to-find-SIOCGSTAMP-with-latest-kernel.patch106
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch141
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch58
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch144
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb29
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch66
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Replace-strncpy-with-memcpy.patch49
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Use-stdint-types.patch139
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-include-sys-types.h-for-uint-definition.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/wipe/wipe_0.24.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap10
-rwxr-xr-xmeta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit19
-rwxr-xr-xmeta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init26
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service10
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service12
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop5
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb33
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb50
-rw-r--r--meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.3.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-standard_3.28.bb45
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+.inc (renamed from poky/meta/recipes-gnome/gtk+/gtk+.inc)0
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch (renamed from poky/meta/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/doc-fixes.patch (renamed from poky/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch (renamed from poky/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/strict-prototypes.patch (renamed from poky/meta/recipes-gnome/gtk+/gtk+/strict-prototypes.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/toggle-font.diff (renamed from poky/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff)0
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/xsettings.patch (renamed from poky/meta/recipes-gnome/gtk+/gtk+/xsettings.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.32.bb (renamed from poky/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb)0
-rw-r--r--meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.62.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190413.bb62
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb46
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.98.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch (renamed from poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch114
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch68
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch81
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch80
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch123
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch64
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch63
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch192
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch (renamed from poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch (renamed from poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb (renamed from poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb)9
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb37
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch147
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch49
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb48
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb51
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb40
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb42
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch48
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch57
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb37
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch238
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb10
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb10
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb10
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_349.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb120
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.7.bb120
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc2
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch52
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch41
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch23
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.5.bb57
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.6.bb57
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc1
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-use-python3.patch39
-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/pm-graph/pm-graph_5.5.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch53
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb28
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch19
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb37
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.4.0.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.0.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_5.0.3.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.1.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb55
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb55
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc4
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190306.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb9
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.7.0.bb51
-rw-r--r--meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb50
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch51
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch (renamed from meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch)32
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb141
-rw-r--r--meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb138
-rw-r--r--meta-openembedded/meta-oe/recipes-security/keyutils/files/fix_library_install_path.patch (renamed from meta-security/recipes-security/keyutils/files/fix_library_install_path.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch (renamed from meta-security/recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-test-fix-output-format.patch (renamed from meta-security/recipes-security/keyutils/files/keyutils-test-fix-output-format.patch)0
-rwxr-xr-xmeta-openembedded/meta-oe/recipes-security/keyutils/files/run-ptest (renamed from meta-security/recipes-security/keyutils/files/run-ptest)0
-rw-r--r--meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.bb (renamed from meta-security/recipes-security/keyutils/keyutils_1.6.bb)14
-rw-r--r--meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch73
-rw-r--r--meta-openembedded/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch78
-rw-r--r--meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb52
-rw-r--r--meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb52
-rw-r--r--meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.20.00.bb44
-rw-r--r--meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.21.00.bb44
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch12
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cmark/cmark_git.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.14.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch68
-rw-r--r--meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb40
-rw-r--r--meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.0.0.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2019-6978.patch299
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.2.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb50
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1.bb48
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.5.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.6.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch63
-rw-r--r--meta-openembedded/meta-oe/recipes-support/iniparser/iniparser_4.1.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-support/itstool/itstool/0001-Don-t-use-build-time-hardcoded-python-binary-path.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.5.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.6.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-support/joe/joe_4.6.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.7.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.4.bb33
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.1.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.8.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.3.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.1.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/fix-build-with-older-gnutls.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.59.bb28
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.66.bb31
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.0.bb33
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb44
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.28.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.29.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_7.0.1.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_7.1.0.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-configure-Fix-setting-of-CLDFLAGS-default.patch78
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.02.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc7
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch65
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch73
-rw-r--r--meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_164.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nano/nano_4.4.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch100
-rw-r--r--meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb6
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch8
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch8
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch10
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch37
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixpkgconfig.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.5.bb190
-rw-r--r--meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb180
-rw-r--r--meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.47.bb255
-rw-r--r--meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.48.bb255
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb49
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.25.bb52
-rw-r--r--meta-openembedded/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch118
-rw-r--r--meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-support/pidgin/gmime_3.2.3.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch100
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.75.0.bb59
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.80.0.bb50
-rw-r--r--meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.3.6.bb41
-rw-r--r--meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/files/0001-ppt.c-Do-not-include-sys-io.h.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb7
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sass/libsass_3.6.1.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.27.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb31
-rw-r--r--meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch116
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch872
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch57
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch123
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch54
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch1409
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch47
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch43
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch54
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch228
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch40
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch40
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb36
-rw-r--r--meta-openembedded/meta-oe/recipes-support/syslog-ng/syslog-ng.inc2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-fix-compile-failed-with-libc-musl.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/tree/tree_1.7.0.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/tree/tree_1.8.0.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch89
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-include-sys-sysmacros.h.patch77
-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/optional-depends.patch498
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb51
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.0.0.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch80
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch4
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb144
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb151
-rw-r--r--meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-support/upower/upower/0001-linux-lower-severity-of-unhandled-action-messages.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.11.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-support/uthash/uthash_2.1.0.bb1
-rw-r--r--meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb3
-rw-r--r--meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Fix-issue-599.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Replace-make_shared-with-new-in-some-cases.patch78
-rw-r--r--meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0002-Fix-missed-entries-fix-testing.patch66
-rw-r--r--meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch155
-rw-r--r--meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch600
-rw-r--r--meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/disable-tests.patch51
-rw-r--r--meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb5
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch (renamed from meta-security/recipes-security/xmlsec1/xmlsec1/change-finding-path-of-nss.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch (renamed from meta-security/recipes-security/xmlsec1/xmlsec1/fix-ltmain.sh.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch (renamed from meta-security/recipes-security/xmlsec1/xmlsec1/makefile-ptest.patch)0
-rwxr-xr-xmeta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest (renamed from meta-security/recipes-security/xmlsec1/xmlsec1/run-ptest)0
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch (renamed from meta-security/recipes-security/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch)0
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.28.bb64
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch148
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch75
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.11.bb97
-rw-r--r--meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb99
-rw-r--r--meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-test/bats/bats_1.1.0.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.7.2.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch37
-rw-r--r--meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch22
-rw-r--r--meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch84
-rw-r--r--meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb36
-rw-r--r--meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.8.1.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.1.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb2
-rw-r--r--meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch132
-rw-r--r--meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb26
-rw-r--r--meta-openembedded/meta-perl/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-perl/recipes-extended/mime-construct/mime-construct_1.11.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb10
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.43.bb50
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.44.bb51
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb41
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.62.bb56
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb68
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.01.bb106
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libenv/libenv-perl_1.04.bb (renamed from meta-security/recipes-perl/perl/libenv-perl_1.04.bb)0
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.20.bb66
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.21.bb66
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-sec-perl_1.10.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb29
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.66.bb45
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb2
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libsub/libsub-uplevel-perl_0.2800.bb43
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libtest/libtest-nowarnings-perl_1.04.bb37
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb46
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb26
-rw-r--r--meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2019.001.bb55
-rw-r--r--meta-openembedded/meta-python/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref.inc11
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref_0.2.bb1
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-aiofiles.inc14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-aiohttp.inc3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.2.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.0.10.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-async-timeout.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-atomicwrites.inc7
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-atomicwrites_1.3.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.7.1.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.9.11.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.6.16.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc1
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.17.bb14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb23
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs.inc24
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs_10.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.8.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.5.0.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.13.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.10.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.12.bb32
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb32
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.9.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.5.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_2.3.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.5.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc5
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/gettid.patch26
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly.inc25
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly_4.18.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata.inc12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata_0.23.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.24.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.23.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.0.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing.inc16
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing_1.0.16.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-lxml.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.4.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.1.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.12.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.1.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb18
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools.inc9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools_7.2.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-networkx.inc10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.2.bb8
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-packaging.inc10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-packaging_19.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.23.4.bb7
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.8.bb17
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.1.bb17
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2.inc9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2_2.3.4.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.3.bb13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc22
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pika_1.1.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.1.1.bb14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.2.3.bb14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc8
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.6.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc25
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb26
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.9.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.8.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.6.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.7.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.5.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.5.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.4.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pycurl.inc26
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pycurl_7.43.0.3.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb16
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_2.1.1.bb16
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.9.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.8.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pymysql.inc18
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pymysql_0.9.3.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyperf.inc23
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.6.1.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyrsistent.inc13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyrsistent_0.15.4.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.7.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.7.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pytest-asyncio.inc13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_5.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_4.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch36
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch51
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.1.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.4.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc4
-rwxr-xr-xmeta-openembedded/meta-python/recipes-devtools/python/python-pytz_2019.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2019.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.1.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.13.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-six.inc19
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-six_1.12.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-socketio.inc15
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-socketio_4.3.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-socketio_4.0.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-statistics_1.0.3.5.bb15
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.31.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.30.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-term.inc9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-toml.inc10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-toml_0.10.0.bb6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-twine.inc11
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.7.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.7.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.6.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.6.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.3.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-versiontools.inc10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-versiontools_1.9.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-zipp.inc10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python-zipp_0.6.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.4.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.2.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.0.10.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-atomicwrites_1.3.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.7.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.9.11.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.6.16.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cheetah_3.2.3.bb15
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.17.bb9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.1.bb10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-coloredlogs_10.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.8.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.5.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.13.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.10.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb11
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-dt-schema_git.bb15
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.9.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.5.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-fasteners_0.15.bb9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.5.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_4.18.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-importlib-metadata_0.23.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.24.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.23.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.0.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-lrparsing_1.0.16.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.4.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.1.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.1.1.bb17
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_7.2.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_4.5.2.bb9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.3.bb8
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-packaging_19.2.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-padaos_0.1.10.bb9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-padatious_0.4.7.bb9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pathlib2_2.3.4.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-petact_0.1.2.bb9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.1.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch10
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch32
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb30
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.1.bb38
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.6.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_0.7.2.bb3
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.9.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.8.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_18.12.5.bb11
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.6.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.7.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.5.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.32.1.bb20
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_4.0.1.bb11
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.5.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.4.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.3.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.9.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.8.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.9.3.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.6.1.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.15.4.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.7.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.7.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.6.0.bb13
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.10.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_4.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.1.3.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.4.2.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.7110.bb9
-rwxr-xr-xmeta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2019.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2019.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.1.2.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.13.bb)0
-rwxr-xr-xmeta-openembedded/meta-python/recipes-devtools/python/python3-regex_2019.08.19.bb12
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-requests-futures_0.9.5.bb14
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.5.bb16
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.0.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.3.1.bb4
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.31.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.30.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb15
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb6
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twine_1.13.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.7.0.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch38
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.6.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.3.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-versiontools_1.9.1.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb16
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.0.2.bb16
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb9
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.1.bb (renamed from meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.3.0.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-devtools/python/python3-zipp_0.6.0.bb2
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.2.bb46
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.4.bb46
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Fix-return-type-of-BlivetUtils.get_disks-1658893.patch32
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb1
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.bb25
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.20.bb25
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc2
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.2.bb (renamed from meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb)0
-rw-r--r--meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.2.bb (renamed from meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb)0
-rw-r--r--meta-openembedded/meta-webserver/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb8
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb215
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb215
-rw-r--r--meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb8
-rw-r--r--meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb41
-rw-r--r--meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.1.bb41
-rw-r--r--meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch21
-rw-r--r--meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-timeout-issue.patch42
-rw-r--r--meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch27
-rw-r--r--meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0002-Makefiles-does-not-build-contrib-dir.patch24
-rw-r--r--meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb17
-rw-r--r--meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb4
-rw-r--r--meta-openembedded/meta-xfce/README1
-rw-r--r--meta-openembedded/meta-xfce/conf/layer.conf2
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.7.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.9.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.0.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.1.bb19
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.2.bb16
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/orage/orage/0001-drop-setting-is_utc-member-of-icaltimetype.patch77
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.12.1.bb2
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/ristretto/files/0001-Fix-build-after-update-of-xfconf.patch40
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.10.0.bb16
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.4.bb16
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb3
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/files/fix-inner-dependency.patch28
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb22
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.5.bb22
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.6.bb22
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.4.bb14
-rw-r--r--meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.8.bb14
-rw-r--r--meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend2
-rw-r--r--meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb31
-rw-r--r--meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.8.1.bb33
-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-multimedia/packagegroups/packagegroup-xfce-multimedia.bb2
-rw-r--r--meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.2.bb36
-rw-r--r--meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.4.bb33
-rw-r--r--meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.1.bb18
-rw-r--r--meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb18
-rw-r--r--meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb16
-rw-r--r--meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb16
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.2.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.3.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.0.5.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.1.0.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.1.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.0.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin/0001-panel-plugin-Include-sys-sysmacros.h-for-major-minor.patch30
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb12
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.2.bb10
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.1.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch25
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb12
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb10
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.0.bb13
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb13
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.1.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.2.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.1.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.2.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.3.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.2.bb10
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.3.bb10
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.0.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.1.bb9
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.2.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.3.bb11
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.5.bb37
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.8.bb41
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.2.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.4.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb37
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb37
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb10
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.14.0.bb10
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb2
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb4
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.5.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb32
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.9.bb32
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch45
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb32
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.7.bb31
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb14
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.14.0.bb14
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.12.0.bb23
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.14.0.bb23
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-use-lxdm-to-replace-dm-tool.patch49
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb40
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.14.0.bb41
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb44
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.5.bb43
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb48
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.14.0.bb40
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0002-Fix-linking-to-dbus-glib-bug-13633.patch41
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.14.1.bb33
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb41
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb20
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.14.1.bb20
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.14.1.bb17
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch92
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb38
-rw-r--r--meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.14.0.bb39
-rw-r--r--meta-openpower/README.md50
-rw-r--r--meta-openpower/conf/layer.conf6
-rw-r--r--meta-openpower/recipes-bsp/pdbg/pdbg_2.2.bb15
-rw-r--r--meta-openpower/recipes-bsp/pdbg/pdbg_2.3.bb15
-rw-r--r--meta-openpower/recipes-phosphor/configuration/openpower-yaml-config.bb2
-rw-r--r--meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces-mapper-config-native.bb2
-rw-r--r--meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces_git.bb2
-rw-r--r--meta-openpower/recipes-phosphor/dump/phosphor-debug-collector/plugins.d/guard18
-rw-r--r--meta-openpower/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend18
-rw-r--r--meta-openpower/recipes-phosphor/flash/openpower-software-manager_git.bb2
-rw-r--r--meta-openpower/recipes-phosphor/fsi/op-fsi.bb2
-rw-r--r--meta-openpower/recipes-phosphor/host/checkstop-monitor.bb2
-rw-r--r--meta-openpower/recipes-phosphor/host/hostboot-settings.bb20
-rw-r--r--meta-openpower/recipes-phosphor/host/hostboot-settings/hb_settings110
-rw-r--r--meta-openpower/recipes-phosphor/host/hostboot-settings/hostboot-settings.service10
-rw-r--r--meta-openpower/recipes-phosphor/host/op-proc-control_git.bb10
-rw-r--r--meta-openpower/recipes-phosphor/host/p9-cfam-override.bb2
-rw-r--r--meta-openpower/recipes-phosphor/host/p9-host-start.bb2
-rw-r--r--meta-openpower/recipes-phosphor/host/p9-vcs-workaround.bb2
-rw-r--r--meta-openpower/recipes-phosphor/ipmi/hostboot-inventory-config-native.bb2
-rw-r--r--meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem-sensor-inventory-mrw-native.bb2
-rw-r--r--meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem-whitelist-native.bb2
-rw-r--r--meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc2
-rw-r--r--meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.sh58
-rw-r--r--meta-openpower/recipes-phosphor/network/first-boot-set-hostname_1.0.bb2
-rwxr-xr-xmeta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac.sh25
-rw-r--r--meta-openpower/recipes-phosphor/network/first-boot-set-mac_1.0.bb2
-rw-r--r--meta-openpower/recipes-phosphor/occ/openpower-occ-control-config-mrw-native.bb2
-rw-r--r--meta-openpower/recipes-phosphor/packagegroups/packagegroup-op-apps.bb1
-rw-r--r--meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-example-native.bb2
-rw-r--r--meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-mrw-native.bb2
-rw-r--r--meta-openpower/recipes-phosphor/vpd/openpower-fru-properties-example-native.bb2
-rw-r--r--meta-openpower/recipes-phosphor/vpd/openpower-fru-properties-mrw-native.bb2
-rw-r--r--meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd-layout-native.bb2
-rw-r--r--meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd-layout/layout.yaml5
-rw-r--r--meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc2
-rw-r--r--meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend2
-rw-r--r--meta-phosphor/classes/image_types_phosphor.bbclass26
-rw-r--r--meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass46
-rw-r--r--meta-phosphor/classes/mrw-rev.bbclass2
-rw-r--r--meta-phosphor/classes/phosphor-networkd-rev.bbclass2
-rw-r--r--meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass3
-rw-r--r--meta-phosphor/conf/distro/include/phosphor-base.inc7
-rw-r--r--meta-phosphor/conf/layer.conf5
-rw-r--r--meta-phosphor/conf/machine/include/obmc-bsp-common.inc8
-rw-r--r--meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend3
-rw-r--r--meta-phosphor/nuvoton-layer/recipes-phosphor/images/obmc-phosphor-image.bbappend70
-rw-r--r--meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi/phosphor-gpio-keys.cfg7
-rw-r--r--meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi/phosphor-gpio-keys.scc2
-rw-r--r--meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend4
-rw-r--r--meta-phosphor/recipes-core/dropbear/dropbear/dropbear.default1
-rw-r--r--meta-phosphor/recipes-core/dropbear/dropbear_%.bbappend4
-rw-r--r--meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend2
-rw-r--r--meta-phosphor/recipes-core/systemd/obmc-targets.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_%.bbappend6
-rw-r--r--meta-phosphor/recipes-extended/pam/libpam/pam.d/common-auth2
-rw-r--r--meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-certificate-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/chassis/obmc-host-failure-reboots.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-chassisd.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/clear-once/clear-once.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/dbus-perms.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces-mapper-config-native.bb2
-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.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-legacy-namespace-mapper-config-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-mapper-config-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/dump/phosphor-debug-errors-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/obmc-phosphor-fand.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-events-config.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-fan-config.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-zone-config.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/fans/phosphor-fan-monitor-config.bb2
-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.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/flash/obmc-phosphor-flashd.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-image-signing.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-insecure-signing-key-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-error-native_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb7
-rw-r--r--meta-phosphor/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager-assettag.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config.bb7
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/entity-map.json15
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb5
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-merge-config-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-mrw-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-whitelist-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/entity.yaml13
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb12
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-inventory-sel-mrw-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-inventory-sel-native.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-config-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-config-mrw-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-error-native_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-logging-callouts-example-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-logging-callouts-mrw-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-logging-error-logs-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb9
-rw-r--r--meta-phosphor/recipes-phosphor/mrw/mrw-native_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts.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.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager.inc2
-rw-r--r--meta-phosphor/recipes-phosphor/settings/phosphor-settings-read-settings-mrw-native.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb17
-rw-r--r--meta-phosphor/recipes-phosphor/system/obmc-phosphor-sysd.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/users/phosphor-user-manager_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb2
-rw-r--r--meta-qualcomm/conf/layer.conf3
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround.bb2
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client.bb2
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config-native.bb2
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/socupdate.bb2
-rw-r--r--meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config.bb2
-rw-r--r--meta-quanta/conf/layer.conf5
-rw-r--r--meta-quanta/meta-f0b/conf/layer.conf2
-rw-r--r--meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-fru-read-inventory-native.bb2
-rw-r--r--meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-inventory-map-native.bb2
-rw-r--r--meta-quanta/meta-gsj/conf/layer.conf2
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.service1
-rw-r--r--meta-quanta/meta-gsj/recipes-gsj/usb-network/usb-network.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-2ssd.json3
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/config-8ssd.json9
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-fru-read-inventory-native.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-inventory-map-native.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-sensor-map-native.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/ipmi/phosphor-ipmi-host/gsj-ipmid-whitelist.conf40
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/leds/gsj-led-manager-config-native.bb2
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8b000/hotswap@15.conf14
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager/restrictionmode-default-whitelist.override.yml6
-rw-r--r--meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend1
-rw-r--r--meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-merge-config-native.bb2
-rw-r--r--meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb2
-rw-r--r--meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb2
-rw-r--r--meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/quanta-powerctrl.bb2
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/conf/layer.conf4
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/conf/machine/runbmc-nuvoton.conf23
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_RunBMC.xml166
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/UbootHeader_RunBMC.xml191
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_%.bbappend12
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend5
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-kernel/linux/linux-nuvoton/runbmc-nuvoton.cfg37
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/files/obmc-console.conf1
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/obmc-console_%.bbappend12
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-runbmc-nuvoton.json400
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh3
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service12
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service13
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend29
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-runbmc-channels.json11
-rw-r--r--meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend11
-rw-r--r--meta-raspberrypi/README.md2
-rw-r--r--meta-raspberrypi/classes/sdcard_image-rpi.bbclass29
-rw-r--r--meta-raspberrypi/conf/layer.conf4
-rw-r--r--meta-raspberrypi/conf/machine/include/rpi-base.inc6
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi-cm.conf2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi-cm3.conf2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi.conf2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi2.conf2
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi3-64.conf3
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi3.conf6
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi4-64.conf35
-rw-r--r--meta-raspberrypi/conf/machine/raspberrypi4.conf20
-rw-r--r--meta-raspberrypi/docs/extra-build-config.md6
-rw-r--r--meta-raspberrypi/dynamic-layers/networking-layer/recipes-support/drbd/drbd_%.bbappend3
-rw-r--r--meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend3
-rw-r--r--meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb32
-rw-r--r--meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb4
-rw-r--r--meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb21
-rw-r--r--meta-raspberrypi/recipes-bsp/common/firmware.inc10
-rw-r--r--meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc10
-rw-r--r--meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc9
-rw-r--r--meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0001-configs-rpi4-Add-defconfigs-for-rpi4-32-64.patch104
-rw-r--r--meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0002-ARM-bcm283x-Add-BCM283x_BASE-define.patch105
-rw-r--r--meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch108
-rw-r--r--meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0004-rpi-Add-entry-for-Raspberry-Pi-4-model-B.patch33
-rw-r--r--meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0005-arm-bcm283x-Include-definition-for-additional-emmc-c.patch30
-rw-r--r--meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch53
-rw-r--r--meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0007-rpi-Add-memory-map-for-bcm2838.patch62
-rw-r--r--meta-raspberrypi/recipes-bsp/u-boot/u-boot-fw-utils_2019.07.bbappend2
-rw-r--r--meta-raspberrypi/recipes-bsp/u-boot/u-boot-rpi4-2019.07.inc12
-rw-r--r--meta-raspberrypi/recipes-bsp/u-boot/u-boot_2019.07.bbappend2
-rw-r--r--meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend2
-rw-r--r--meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb6
-rw-r--r--meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb15
-rw-r--r--meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb24
-rw-r--r--meta-raspberrypi/recipes-devtools/python/python3-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch (renamed from meta-raspberrypi/recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch)0
-rw-r--r--meta-raspberrypi/recipes-devtools/python/python3-rtimu_git.bb15
-rw-r--r--meta-raspberrypi/recipes-devtools/python/python3-sense-hat_2.2.0.bb24
-rw-r--r--meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend2
-rw-r--r--meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend2
-rw-r--r--meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend5
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch14
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch10
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch10
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch10
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch6
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch31
-rw-r--r--meta-raspberrypi/recipes-graphics/userland/userland_git.bb6
-rw-r--r--meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc2
-rw-r--r--meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend10
-rw-r--r--meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb5
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg2
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb4
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb6
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc10
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb4
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb12
-rw-r--r--meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.inc12
-rw-r--r--meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch4
-rw-r--r--meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0007-Remove-Makefile-hardcoded-arch-tune.patch4
-rw-r--r--meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb6
-rw-r--r--meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend1
-rw-r--r--meta-security/conf/distro/include/maintainers.inc2
-rw-r--r--meta-security/conf/layer.conf4
-rw-r--r--meta-security/files/waf-cross-answers/README3
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-aarch64.txt39
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-aarch64_be.txt39
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-arm.txt40
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-armeb.txt40
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-i586.txt40
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-i686.txt40
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-mips.txt40
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-mips64.txt39
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-mips64el.txt39
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-mipsel.txt40
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-powerpc.txt40
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-powerpc64.txt40
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-riscv64.txt39
-rw-r--r--meta-security/files/waf-cross-answers/cross-answers-x86_64.txt39
-rw-r--r--meta-security/lib/oeqa/runtime/cases/clamav.py2
-rw-r--r--meta-security/meta-integrity/README.md12
-rw-r--r--meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass2
-rw-r--r--meta-security/meta-integrity/classes/kernel-modsign.bbclass29
-rw-r--r--meta-security/meta-integrity/conf/layer.conf8
-rw-r--r--meta-security/meta-integrity/data/debug-keys/privkey_modsign.pem28
-rw-r--r--meta-security/meta-integrity/data/debug-keys/x509_modsign.crt22
-rw-r--r--meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb1
-rw-r--r--meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb2
-rw-r--r--meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend6
-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/evmctl.c-do-not-depend-on-xattr.h-with-IMA-defines.patch4
-rw-r--r--meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils_git.bb12
-rw-r--r--meta-security/meta-security-compliance/README4
-rw-r--r--meta-security/meta-security-compliance/conf/layer.conf6
-rw-r--r--meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.2.bb41
-rw-r--r--meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.5.bb41
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/oe-scap/oe-scap_1.0.bb2
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/openscap/files/crypto_pkgconfig.patch36
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/openscap/files/probe_dir_fixup.patch17
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/openscap/files/run-ptest3
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/openscap/openscap.inc53
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_1.2.17.bb87
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_1.3.1.bb9
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_git.bb12
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide.inc32
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.33.bb59
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.44.bb8
-rw-r--r--meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_git.bb9
-rw-r--r--meta-security/meta-tpm/conf/layer.conf2
-rw-r--r--meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py4
-rw-r--r--meta-security/meta-tpm/recipes-core/images/security-tpm-image.bb7
-rw-r--r--meta-security/meta-tpm/recipes-core/images/security-tpm2-image.bb18
-rw-r--r--meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb8
-rw-r--r--meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.6.0.bb16
-rw-r--r--meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.7.0.bb16
-rw-r--r--meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.1.0.bb51
-rw-r--r--meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.2.0.bb51
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/cryptsetup-tpm-incubator_0.9.9.bb2
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.1.1.bb55
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.2.0.bb54
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_0.9.9.bb4
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi/0001-configure.ac-stop-inserting-host-directories-into-co.patch27
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb27
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.1.3.bb15
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.2.0.bb15
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.1.2.bb18
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.9.9.bb17
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_0.9.9.bb23
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.0.1.bb23
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.2.1.bb79
-rw-r--r--meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.3.1.bb79
-rw-r--r--meta-security/recipes-core/busybox/busybox_%.bbappend4
-rw-r--r--meta-security/recipes-core/busybox/busybox_libsecomp.inc3
-rw-r--r--meta-security/recipes-ids/samhain/files/samhain-cross-compile.patch51
-rw-r--r--meta-security/recipes-ids/samhain/samhain-client.bb (renamed from meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb)0
-rw-r--r--meta-security/recipes-ids/samhain/samhain-server.bb (renamed from meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb)0
-rw-r--r--meta-security/recipes-ids/samhain/samhain-standalone.bb (renamed from meta-security/recipes-ids/samhain/samhain-standalone_4.3.2.bb)0
-rw-r--r--meta-security/recipes-ids/samhain/samhain.inc6
-rw-r--r--meta-security/recipes-ids/suricata/files/0001-af-packet-fix-build-on-recent-Linux-kernels.patch26
-rw-r--r--meta-security/recipes-ids/suricata/files/emerging.rules.tar.gzbin2252393 -> 0 bytes
-rw-r--r--meta-security/recipes-ids/suricata/libhtp_0.5.31.bb (renamed from meta-security/recipes-ids/suricata/libhtp_0.5.29.bb)0
-rw-r--r--meta-security/recipes-ids/suricata/python3-suricata-update_1.0.5.bb15
-rw-r--r--meta-security/recipes-ids/suricata/suricata.inc6
-rw-r--r--meta-security/recipes-ids/suricata/suricata_4.1.3.bb97
-rw-r--r--meta-security/recipes-ids/suricata/suricata_4.1.5.bb93
-rw-r--r--meta-security/recipes-kernel/linux/linux-%_5.%.bbappend4
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor.cfg9
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor_on_boot.cfg1
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto-5.0/smack-default-lsm.cfg2
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto-5.0/smack.cfg7
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto-dev.bbappend2
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto/apparmor.cfg15
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto/apparmor_on_boot.cfg1
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto/smack-default-lsm.cfg2
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto/smack.cfg8
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto_4.%.bbappend13
-rw-r--r--meta-security/recipes-kernel/linux/linux-yocto_5.0.%.bbappend11
-rw-r--r--meta-security/recipes-mac/AppArmor/apparmor_2.13.2.bb160
-rw-r--r--meta-security/recipes-mac/AppArmor/apparmor_2.13.3.bb167
-rw-r--r--meta-security/recipes-mac/AppArmor/files/0001-Makefile.am-suppress-perllocal.pod.patch28
-rw-r--r--meta-security/recipes-mac/AppArmor/files/apparmor1
-rw-r--r--meta-security/recipes-mac/smack/smack_1.3.1.bb2
-rw-r--r--meta-security/recipes-security/checksec/checksec_1.11.1.bb19
-rw-r--r--meta-security/recipes-security/checksec/checksec_2.1.0.bb19
-rw-r--r--meta-security/recipes-security/clamav/clamav_0.99.4.bb6
-rw-r--r--meta-security/recipes-security/ecryptfs-utils/ecryptfs-utils_111.bb3
-rw-r--r--meta-security/recipes-security/ecryptfs-utils/files/0001-avoid-race-condition.patch32
-rw-r--r--meta-security/recipes-security/images/security-test-image.bb33
-rw-r--r--meta-security/recipes-security/libmspack/libmspack_0.10.1.bb16
-rw-r--r--meta-security/recipes-security/libmspack/libmspack_1.9.1.bb16
-rw-r--r--meta-security/recipes-security/libseccomp/libseccomp_2.4.1.bb2
-rw-r--r--meta-security/recipes-security/ncrack/ncrack_0.7.bb4
-rw-r--r--meta-security/recipes-security/packagegroup/packagegroup-core-security-ptest.bb28
-rw-r--r--meta-security/recipes-security/packagegroup/packagegroup-core-security.bb25
-rw-r--r--meta-security/recipes-security/scapy/files/run-ptest2
-rw-r--r--meta-security/recipes-security/scapy/python-scapy.inc22
-rw-r--r--meta-security/recipes-security/scapy/python-scapy_2.4.2.bb11
-rw-r--r--meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb9
-rw-r--r--meta-security/recipes-security/scapy/python3-scapy_2.4.3.bb30
-rw-r--r--meta-security/recipes-security/xmlsec1/xmlsec1_1.2.27.bb64
-rw-r--r--meta-security/recipes-support/libldb/libldb/avoid-openldap-unless-wanted.patch13
-rwxr-xr-xmeta-security/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch58
-rw-r--r--meta-security/recipes-support/libldb/libldb/options-1.3.1.patch193
-rw-r--r--meta-security/recipes-support/libldb/libldb_1.3.1.bb64
-rw-r--r--meta-xilinx/meta-xilinx-bsp/README.building.md43
-rw-r--r--meta-xilinx/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass17
-rw-r--r--meta-xilinx/meta-xilinx-bsp/classes/xilinx-testimage.bbclass2
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/layer.conf4
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc8
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf2
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf17
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf17
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zc1275-zynqmp.conf38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf2
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf11
-rw-r--r--meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf15
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc16
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2018.3.bb7
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2019.1.bb7
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2019.1.bb (renamed from meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2018.3.bb)0
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc2
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2019.1/microblaze-kc705-Convert-microblaze-generic-to-k.patch (renamed from meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2018.3/microblaze-kc705-Convert-microblaze-generic-to-k.patch)451
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb32
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2019.1.bb32
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb81
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi.versal1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq4
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp4
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe3
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch56
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch37
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2018.3.bb6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2019.1.bb6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc7
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2019.1.bb7
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2019.1.bb16
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc14
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2018.3.bb6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2019.1.bb13
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb2
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali.bb3
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch34
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch156
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend3
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_git.bb23
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc15
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2018.3.bb7
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2019.1.bb7
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.cfg2
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend45
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch65
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch64
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0003-Disable-the-warning-message-for-eh_frame_hdr.patch39
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch243
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0007-Add-MicroBlaze-address-extension-instructions.patch104
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0008-Add-new-MicroBlaze-bit-field-instructions.patch232
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0009-Fixing-MicroBlaze-IMM-bug.patch29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch34
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0011-Fixing-MicroBlaze-constant-range-check-issue.patch28
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch36
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch63
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0002-Add-mlittle-endian-and-mbig-endian-flags.patch62
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0003-Disable-the-warning-message-for-eh_frame_hdr.patch30
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0004-Fix-relaxation-of-assembler-resolved-references.patch (renamed from meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0004-Fix-relaxation-of-assembler-resolved-references.patch)27
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0005-LOCAL-Fixup-debug_loc-sections-after-linker-relaxati.patch245
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0006-upstream-change-to-garbage-collection-sweep-causes-m.patch38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0007-Fix-bug-in-TLSTPREL-Relocation.patch33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0008-Added-Address-extension-instructions.patch96
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0009-fixing-the-MAX_OPCODES-to-correct-value.patch24
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0010-Add-new-bit-field-instructions.patch228
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0011-fixing-the-imm-bug.patch26
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0012-Patch-Microblaze-fixed-bug-in-GCC-so-that-It-will-su.patch33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0013-fixing-the-constant-range-check-issue.patch25
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0014-Patch-Microblaze-Compiler-will-give-error-messages-i.patch36
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0015-intial-commit-of-MB-64-bit.patch4738
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0016-MB-X-initial-commit.patch692
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0017-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch36
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0018-Added-relocations-for-MB-X.patch348
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0019-Fixed-MB-x-relocation-issues.patch373
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0020-Fixing-the-branch-related-issues.patch25
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0021-Fixed-address-computation-issues-with-64bit-address.patch217
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0022-Adding-new-relocation-to-support-64bit-rodata.patch166
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0023-fixing-the-.bss-relocation-issue.patch76
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0024-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch44
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0025-Patch-MicroBlaze-fixed-Build-issue-which-are-due-to-.patch67
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0026-Patch-Microblaze-changes-of-PR22458-failure-to-choos.patch31
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0029-Patch-Microblaze-Binutils-security-check-is-causing-.patch33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0030-fixing-the-long-long-long-mingw-toolchain-issue.patch57
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0031-fixing-the-_STACK_SIZE-issue-with-the-flto-flag.patch55
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0001-Revert.patch42
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0002-microblaze.md-Improve-adddi3-and-subdi3-insn-definit.patch66
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0003-PR-target-83013.patch32
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0004-dejagnu-static-testing-on-qemu-suppress-warnings.patch36
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0006-Add-MicroBlaze-to-target-supports-for-atomic-builtin.patch37
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0007-Update-MicroBlaze-strings-test-for-new-scan-assembly.patch46
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0008-Allow-MicroBlaze-.weakext-pattern-in-testsuite.patch68
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0009-Add-MicroBlaze-to-check_profiling_available-Testsuit.patch32
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0010-Fix-atomic-side-effects.patch69
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0011-Fix-atomic-boolean-return-value.patch44
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0012-Fix-the-Microblaze-crash-with-msmall-divides-flag.patch37
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0013-Add-MicroBlaze-ashrsi_3_with_size_opt.patch53
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0014-Removed-MicroBlaze-moddi3-routinue.patch156
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0015-MicroBlaze-fixed-missing-save-of-r18-in-fast_interru.patch46
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0016-MicroBlaze-use-bralid-for-profiler-calls.patch29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0017-Disable-fivopts-by-default-Turn-off-ivopts-by-defaul.patch38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0018-Add-INIT_PRIORITY-support-Added-TARGET_ASM_CONSTRUCT.patch104
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0019-MicroBlaze-add-optimized-lshrsi3-When-barrel-shifter.patch87
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0020-Modified-MicroBlaze-trap-instruction.patch33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0021-Reducing-Stack-space-for-arguments-Currently-in-Micr.patch212
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0022-Inline-Expansion-of-fsqrt-builtin.patch64
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0023-Update-MicroBlaze-ashlsi3-movsf-patterns.patch78
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0024-8-stage-pipeline-for-microblaze.patch195
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0025-MicroBlaze-correct-the-const-high-double-immediate-v.patch72
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0026-Fix-internal-compiler-error-with-msmall-divides.patch42
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0027-Fix-the-calculation-of-high-word-in-a-long-long-64-b.patch48
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0028-Add-new-bit-field-instructions.patch126
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0029-Fix-bug-in-MB-version-calculation.patch250
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0030-MicroBlaze-fixing-the-bug-in-the-bit-field-instructi.patch52
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0031-Fixing-the-issue-with-MicroBlaze-builtin_alloc.patch48
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0032-MicroBlaze-remove-bitfield-instructions-macros.patch83
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0033-MicroBlaze-fix-signed-bit-fields-with-bit-field-inst.patch51
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch31
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0003-LOCAL-Testsuite-explicitly-add-fivopts-for-tests-tha.patch116
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0004-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0005-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch35
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0005-Testsuite-explicitly-add-fivopts-for-tests-that-depe.patch (renamed from meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0005-Testsuite-explicitly-add-fivopts-for-tests-that-depe.patch)0
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0006-Patch-testsuite-Update-MicroBlaze-strings-test.patch43
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0007-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch67
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0008-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch28
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0009-Patch-microblaze-Fix-atomic-side-effects.patch65
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch40
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0011-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch33
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0012-Patch-microblaze-Added-ashrsi3_with_size_opt.patch48
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0013-Patch-microblaze-Fixed-missing-save-of-r18-in-fast_i.patch41
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0014-Patch-microblaze-Use-bralid-for-profiler-calls.patch26
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0015-Patch-microblaze-Disable-fivopts-by-default.patch42
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0016-Patch-microblaze-Removed-moddi3-routinue.patch157
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0017-Patch-microblaze-Add-INIT_PRIORITY-support.patch101
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0018-Patch-microblaze-Add-optimized-lshrsi3.patch81
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0019-Patch-microblaze-Modified-trap-instruction.patch29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0020-Patch-microblaze-Reducing-Stack-space-for-arguments.patch206
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0021-Patch-microblaze-Add-cbranchsi4_reg.patch159
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0022-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch58
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0023-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch47
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0024-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch63
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0025-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch72
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0026-Patch-microblaze-8-stage-pipeline-for-microblaze.patch193
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0027-Patch-rtl-Optimization-Better-register-pressure-esti.patch142
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0028-Patch-microblaze-Correct-the-const-high-double-immed.patch69
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0029-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch36
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0030-patch-microblaze-Fix-the-calculation-of-high-word-in.patch45
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0031-Patch-microblaze-Add-new-bit-field-instructions.patch120
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0032-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch247
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0033-Fixing-the-bug-in-the-bit-field-instruction.patch48
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0034-Patch-microblaze-Macros-used-in-Xilinx-internal-patc.patch32
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0035-Fixing-the-issue-with-the-builtin_alloc.patch44
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0036-Patch-Microblaze-reverting-the-cost-check-before-pro.patch49
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0037-Patch-Microblaze-update-in-constraints-for-bitfield-.patch80
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0038-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0039-Intial-commit-of-64-bit-Microblaze.patch810
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0040-Added-load-store-pattern-movdi-and-also-adding-missi.patch83
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0041-Intial-commit-for-64bit-MB-sources.patch2463
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0042-re-arrangement-of-the-compare-branches.patch268
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0043-Patch-Microblaze-previous-commit-broke-the-handling-.patch28
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0044-Patch-Microblaze-Support-of-multilibs-with-m64.patch73
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0045-Fixed-issues-like.patch70
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0046-Fixed-below-issues.patch306
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0047-Added-double-arith-instructions.patch135
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0048-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch37
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0049-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch256
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0050-extending-the-Dwarf-support-to-64bit-Microblaze.patch25
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0051-fixing-the-typo-errors-in-umodsi3-file.patch29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0052-fixing-the-32bit-LTO-related-issue9-1014024.patch68
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0053-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch25
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0054-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-fixing-the-long-long-long-mingw-toolchain-issue.patch59
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-microblaze_linker_script_xilinx_ld.patch16
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0057-Fix-the-MB-64-bug-of-handling-QI-objects.patch47
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0058-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch87
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0059-Reverting-the-patch-as-kernel-boot-is-not-working-wi.patch51
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0060-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch466
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0061-Author-Nagaraju-nmekala-xilinx.com.patch479
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0062-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch41
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_7.%.bbappend38
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_8.%.bbappend65
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb6
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-xrt/ocl-icd/ocl-icd_git.bb19
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-clhpp/opencl-clhpp_git.bb29
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-headers/opencl-headers_%.bbappend1
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb28
-rw-r--r--meta-xilinx/meta-xilinx-bsp/recipes-xrt/zocl/zocl_git.bb14
-rw-r--r--meta-xilinx/meta-xilinx-contrib/conf/layer.conf2
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch (renamed from meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch)23
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch (renamed from meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch)0
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch (renamed from meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch)0
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0004-minized-wifi-bluetooth.cfg (renamed from meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0004-minized-wifi-bluetooth.cfg)0
-rw-r--r--meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2019.1.bbappend (renamed from meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2018.3.bbappend)0
-rw-r--r--meta-xilinx/meta-xilinx-standalone/conf/layer.conf2
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2018.3.bb74
-rw-r--r--meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2019.1.bb71
-rw-r--r--meta-yadro/conf/layer.conf3
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control.bb2
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config.bb35
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-fru-properties.yaml45
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-fru.yaml165
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-inventory-sensors.yaml340
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-sensors.yaml741
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend5
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend5
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend7
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/logging/openpower-esel-parser_git.bb23
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/occ/files/occ_sensor.yaml6
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/occ/nicole-occ-control-config-native.bb18
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend2
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf228
-rw-r--r--meta-yadro/meta-nicole/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.conf228
-rw-r--r--meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend14
-rw-r--r--meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config.bb2
-rw-r--r--meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config/vesnin-ipmi-fru.yaml3862
-rw-r--r--meta-yadro/meta-vesnin/recipes-phosphor/leds/vesnin-led-manager-config-native.bb2
-rw-r--r--meta-yadro/meta-vesnin/recipes-phosphor/occ/vesnin-openpower-occ-control-config-native.bb2
-rw-r--r--poky/README.LSB26
-rwxr-xr-xpoky/bitbake/bin/bitbake2
-rwxr-xr-xpoky/bitbake/bin/bitbake-hashclient170
-rwxr-xr-xpoky/bitbake/bin/bitbake-hashserv26
-rwxr-xr-xpoky/bitbake/bin/bitbake-selftest1
-rwxr-xr-xpoky/bitbake/bin/bitbake-worker7
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml27
-rw-r--r--poky/bitbake/lib/bb/__init__.py2
-rw-r--r--poky/bitbake/lib/bb/build.py57
-rw-r--r--poky/bitbake/lib/bb/cache.py83
-rw-r--r--poky/bitbake/lib/bb/cooker.py60
-rw-r--r--poky/bitbake/lib/bb/cookerdata.py10
-rw-r--r--poky/bitbake/lib/bb/data.py4
-rw-r--r--poky/bitbake/lib/bb/event.py19
-rw-r--r--poky/bitbake/lib/bb/fetch2/__init__.py3
-rw-r--r--poky/bitbake/lib/bb/fetch2/clearcase.py4
-rw-r--r--poky/bitbake/lib/bb/fetch2/git.py19
-rw-r--r--poky/bitbake/lib/bb/fetch2/npm.py45
-rw-r--r--poky/bitbake/lib/bb/fetch2/svn.py2
-rw-r--r--poky/bitbake/lib/bb/fetch2/wget.py16
-rwxr-xr-xpoky/bitbake/lib/bb/main.py18
-rw-r--r--poky/bitbake/lib/bb/monitordisk.py1
-rw-r--r--poky/bitbake/lib/bb/namedtuple_with_abc.py1
-rw-r--r--poky/bitbake/lib/bb/parse/parse_py/BBHandler.py1
-rw-r--r--poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py1
-rw-r--r--poky/bitbake/lib/bb/parse/parse_py/__init__.py1
-rw-r--r--poky/bitbake/lib/bb/runqueue.py1447
-rw-r--r--poky/bitbake/lib/bb/server/process.py5
-rw-r--r--poky/bitbake/lib/bb/siggen.py318
-rw-r--r--poky/bitbake/lib/bb/taskdata.py1
-rw-r--r--poky/bitbake/lib/bb/tests/data.py15
-rw-r--r--poky/bitbake/lib/bb/tests/event.py8
-rw-r--r--poky/bitbake/lib/bb/tests/fetch.py89
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass262
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/classes/image.bbclass5
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/classes/native.bbclass2
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf16
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc1.conf1
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc2.conf1
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/recipes/a1.bb (renamed from poky/meta/recipes-core/base-files/base-files/usbd)0
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/recipes/b1.bb1
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/recipes/c1.bb0
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/recipes/d1.bb3
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb1
-rw-r--r--poky/bitbake/lib/bb/tests/runqueue.py323
-rw-r--r--poky/bitbake/lib/bb/ui/buildinfohelper.py10
-rw-r--r--poky/bitbake/lib/bb/ui/knotty.py19
-rw-r--r--poky/bitbake/lib/bb/ui/uihelper.py2
-rw-r--r--poky/bitbake/lib/bb/utils.py15
-rw-r--r--poky/bitbake/lib/bblayers/query.py39
-rw-r--r--poky/bitbake/lib/hashserv/__init__.py187
-rw-r--r--poky/bitbake/lib/hashserv/client.py157
-rw-r--r--poky/bitbake/lib/hashserv/server.py414
-rw-r--r--poky/bitbake/lib/hashserv/tests.py163
-rw-r--r--poky/bitbake/lib/layerindexlib/__init__.py21
-rw-r--r--poky/bitbake/lib/prserv/db.py2
-rw-r--r--poky/bitbake/lib/pyinotify.py3
-rw-r--r--poky/bitbake/lib/toaster/orm/models.py10
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/selenium_helpers.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_all_builds_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_all_projects_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_landing_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_new_project_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_project_builds_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_project_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_sample.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_task_page.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/builds/buildtest.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/builds/test_core_image_min.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/commands/test_loaddata.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/commands/test_lsupdates.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/eventreplay/__init__.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/functional/functional_helpers.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/functional/test_functional_basic.py2
-rw-r--r--poky/bitbake/lib/toaster/tests/views/test_views.py2
-rw-r--r--poky/bitbake/lib/toaster/toastergui/static/js/importlayer.js12
-rw-r--r--poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py2
-rw-r--r--poky/documentation/dev-manual/dev-manual-common-tasks.xml3
-rw-r--r--poky/documentation/dev-manual/dev-manual-start.xml5
-rw-r--r--poky/documentation/overview-manual/overview-manual.xml5
-rw-r--r--poky/documentation/poky.ent2
-rw-r--r--poky/documentation/ref-manual/ref-classes.xml32
-rw-r--r--poky/documentation/ref-manual/ref-devtool-reference.xml12
-rw-r--r--poky/documentation/ref-manual/ref-features.xml21
-rw-r--r--poky/documentation/ref-manual/ref-system-requirements.xml1
-rw-r--r--poky/documentation/ref-manual/ref-variables.xml23
-rw-r--r--poky/documentation/sdk-manual/sdk-extensible.xml85
-rw-r--r--poky/meta-poky/conf/conf-notes.txt5
-rw-r--r--poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc8
-rw-r--r--poky/meta-poky/conf/distro/poky-altcfg.conf15
-rw-r--r--poky/meta-poky/conf/distro/poky-lsb.conf14
-rw-r--r--poky/meta-poky/conf/distro/poky-tiny.conf10
-rw-r--r--poky/meta-poky/conf/distro/poky.conf6
-rw-r--r--poky/meta-poky/conf/local.conf.sample27
-rw-r--r--poky/meta-poky/conf/local.conf.sample.extended2
-rw-r--r--poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb2
-rw-r--r--poky/meta-selftest/recipes-test/aspell/aspell_0.60.7.bbappend (renamed from poky/meta-selftest/recipes-test/aspell/aspell_0.60.6.1.bbappend)0
-rw-r--r--poky/meta-selftest/recipes-test/fortran/files/hello.f955
-rw-r--r--poky/meta-selftest/recipes-test/fortran/fortran-helloworld.bb24
-rw-r--r--poky/meta-selftest/recipes-test/multiconfig/multiconfig-test-parse.bb11
-rw-r--r--poky/meta-selftest/wic/test_biosplusefi_plugin.wks6
-rw-r--r--poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf21
-rw-r--r--poky/meta-yocto-bsp/conf/machine/edgerouter.conf2
-rw-r--r--poky/meta-yocto-bsp/conf/machine/genericx86-64.conf2
-rw-r--r--poky/meta-yocto-bsp/conf/machine/genericx86.conf2
-rw-r--r--poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf2
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend27
-rw-r--r--poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend27
-rw-r--r--poky/meta/classes/archiver.bbclass19
-rw-r--r--poky/meta/classes/autotools.bbclass7
-rw-r--r--poky/meta/classes/base.bbclass8
-rw-r--r--poky/meta/classes/bluetooth.bbclass14
-rw-r--r--poky/meta/classes/buildhistory.bbclass35
-rw-r--r--poky/meta/classes/chrpath.bbclass19
-rw-r--r--poky/meta/classes/core-image.bbclass1
-rw-r--r--poky/meta/classes/cve-check.bbclass102
-rw-r--r--poky/meta/classes/externalsrc.bbclass2
-rw-r--r--poky/meta/classes/gnome.bbclass1
-rw-r--r--poky/meta/classes/go-ptest.bbclass54
-rw-r--r--poky/meta/classes/go.bbclass70
-rw-r--r--poky/meta/classes/grub-efi-cfg.bbclass1
-rw-r--r--poky/meta/classes/grub-efi.bbclass35
-rw-r--r--poky/meta/classes/gtk-icon-cache.bbclass4
-rw-r--r--poky/meta/classes/icecc.bbclass18
-rw-r--r--poky/meta/classes/image-live.bbclass2
-rw-r--r--poky/meta/classes/image.bbclass17
-rw-r--r--poky/meta/classes/image_types.bbclass4
-rw-r--r--poky/meta/classes/image_types_wic.bbclass19
-rw-r--r--poky/meta/classes/insane.bbclass28
-rw-r--r--poky/meta/classes/kernel-fitimage.bbclass21
-rw-r--r--poky/meta/classes/kernel-uboot.bbclass4
-rw-r--r--poky/meta/classes/kernel.bbclass8
-rw-r--r--poky/meta/classes/libc-package.bbclass7
-rw-r--r--poky/meta/classes/license_image.bbclass4
-rw-r--r--poky/meta/classes/linuxloader.bbclass4
-rw-r--r--poky/meta/classes/live-vm-common.bbclass33
-rw-r--r--poky/meta/classes/meson.bbclass26
-rw-r--r--poky/meta/classes/multilib.bbclass49
-rw-r--r--poky/meta/classes/multilib_global.bbclass17
-rw-r--r--poky/meta/classes/multilib_script.bbclass20
-rw-r--r--poky/meta/classes/nativesdk.bbclass2
-rw-r--r--poky/meta/classes/package.bbclass64
-rw-r--r--poky/meta/classes/package_deb.bbclass5
-rw-r--r--poky/meta/classes/package_ipk.bbclass2
-rw-r--r--poky/meta/classes/package_pkgdata.bbclass167
-rw-r--r--poky/meta/classes/package_rpm.bbclass7
-rw-r--r--poky/meta/classes/packagegroup.bbclass2
-rw-r--r--poky/meta/classes/populate_sdk_base.bbclass3
-rw-r--r--poky/meta/classes/populate_sdk_ext.bbclass38
-rw-r--r--poky/meta/classes/python3native.bbclass8
-rw-r--r--poky/meta/classes/pythonnative.bbclass8
-rw-r--r--poky/meta/classes/report-error.bbclass15
-rw-r--r--poky/meta/classes/reproducible_build.bbclass13
-rw-r--r--poky/meta/classes/rm_work.bbclass2
-rw-r--r--poky/meta/classes/rootfs-postcommands.bbclass17
-rw-r--r--poky/meta/classes/rootfs_ipk.bbclass2
-rw-r--r--poky/meta/classes/sanity.bbclass2
-rw-r--r--poky/meta/classes/sstate.bbclass122
-rw-r--r--poky/meta/classes/staging.bbclass20
-rw-r--r--poky/meta/classes/syslinux.bbclass5
-rw-r--r--poky/meta/classes/systemd-boot.bbclass31
-rw-r--r--poky/meta/classes/systemd.bbclass7
-rw-r--r--poky/meta/classes/uboot-extlinux-config.bbclass13
-rw-r--r--poky/meta/classes/uboot-sign.bbclass4
-rw-r--r--poky/meta/classes/update-alternatives.bbclass7
-rw-r--r--poky/meta/classes/xmlcatalog.bbclass2
-rw-r--r--poky/meta/conf/bitbake.conf28
-rw-r--r--poky/meta/conf/conf-notes.txt7
-rw-r--r--poky/meta/conf/distro/defaultsetup.conf4
-rw-r--r--poky/meta/conf/distro/include/default-providers.inc3
-rw-r--r--poky/meta/conf/distro/include/distro_alias.inc10
-rw-r--r--poky/meta/conf/distro/include/init-manager-mdev-busybox.inc7
-rw-r--r--poky/meta/conf/distro/include/init-manager-none.inc3
-rw-r--r--poky/meta/conf/distro/include/init-manager-systemd.inc6
-rw-r--r--poky/meta/conf/distro/include/init-manager-sysvinit.inc6
-rw-r--r--poky/meta/conf/distro/include/maintainers.inc89
-rw-r--r--poky/meta/conf/distro/include/ptest-packagelists.inc2
-rw-r--r--poky/meta/conf/distro/include/security_flags.inc4
-rw-r--r--poky/meta/conf/distro/include/tcmode-default.inc17
-rw-r--r--poky/meta/conf/distro/include/world-broken.inc27
-rw-r--r--poky/meta/conf/image-uefi.conf16
-rw-r--r--poky/meta/conf/layer.conf2
-rw-r--r--poky/meta/conf/machine/include/arm/feature-arm-thumb.inc7
-rw-r--r--poky/meta/conf/machine/include/powerpc/arch-powerpc.inc22
-rw-r--r--poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc10
-rw-r--r--poky/meta/conf/machine/include/qemuboot-mips.inc4
-rw-r--r--poky/meta/conf/machine/include/qemuboot-x86.inc4
-rw-r--r--poky/meta/conf/machine/include/riscv/qemuriscv.inc20
-rw-r--r--poky/meta/conf/machine/include/riscv/tune-riscv.inc6
-rw-r--r--poky/meta/conf/machine/include/tune-arm1136jf-s.inc5
-rw-r--r--poky/meta/conf/machine/include/tune-arm1176jz-s.inc17
-rw-r--r--poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc18
-rw-r--r--poky/meta/conf/machine/include/tune-ep9312.inc2
-rw-r--r--poky/meta/conf/machine/include/tune-power5.inc4
-rw-r--r--poky/meta/conf/machine/include/tune-power6.inc4
-rw-r--r--poky/meta/conf/machine/include/tune-power7.inc4
-rw-r--r--poky/meta/conf/machine/include/tune-ppc476.inc2
-rw-r--r--poky/meta/conf/machine/include/tune-ppc603e.inc2
-rw-r--r--poky/meta/conf/machine/include/tune-ppc7400.inc2
-rw-r--r--poky/meta/conf/machine/include/tune-ppce300c2.inc2
-rw-r--r--poky/meta/conf/machine/include/tune-ppce500.inc2
-rw-r--r--poky/meta/conf/machine/include/tune-ppce500mc.inc2
-rw-r--r--poky/meta/conf/machine/include/tune-ppce500v2.inc2
-rw-r--r--poky/meta/conf/machine/include/tune-ppce5500.inc4
-rw-r--r--poky/meta/conf/machine/include/tune-ppce6500.inc4
-rw-r--r--poky/meta/conf/machine/include/x86-base.inc2
-rw-r--r--poky/meta/conf/machine/qemuarm.conf1
-rw-r--r--poky/meta/conf/machine/qemuarm64.conf1
-rw-r--r--poky/meta/conf/machine/qemuarmv5.conf2
-rw-r--r--poky/meta/conf/machine/qemumips.conf2
-rw-r--r--poky/meta/conf/machine/qemumips64.conf2
-rw-r--r--poky/meta/conf/machine/qemuriscv64.conf2
-rw-r--r--poky/meta/conf/machine/qemux86-64.conf9
-rw-r--r--poky/meta/conf/machine/qemux86.conf4
-rw-r--r--poky/meta/conf/multilib.conf2
-rw-r--r--poky/meta/conf/sanity.conf2
-rw-r--r--poky/meta/files/common-licenses/Apache-2.0-with-LLVM-exception219
-rw-r--r--poky/meta/files/common-licenses/BSD-2-Clause11
-rw-r--r--poky/meta/files/ext-sdk-prepare.py2
-rw-r--r--poky/meta/lib/oe/buildhistory_analysis.py27
-rw-r--r--poky/meta/lib/oe/classextend.py2
-rw-r--r--poky/meta/lib/oe/copy_buildsystem.py18
-rw-r--r--poky/meta/lib/oe/gpg_sign.py6
-rw-r--r--poky/meta/lib/oe/lsb.py8
-rw-r--r--poky/meta/lib/oe/package.py2
-rw-r--r--poky/meta/lib/oe/package_manager.py2
-rw-r--r--poky/meta/lib/oe/sdk.py4
-rw-r--r--poky/meta/lib/oe/sstatesig.py261
-rw-r--r--poky/meta/lib/oe/useradd.py2
-rw-r--r--poky/meta/lib/oe/utils.py2
-rw-r--r--poky/meta/lib/oeqa/core/case.py49
-rw-r--r--poky/meta/lib/oeqa/core/context.py4
-rw-r--r--poky/meta/lib/oeqa/core/decorator/__init__.py21
-rw-r--r--poky/meta/lib/oeqa/core/decorator/oetag.py27
-rw-r--r--poky/meta/lib/oeqa/core/loader.py61
-rw-r--r--poky/meta/lib/oeqa/core/runner.py60
-rw-r--r--poky/meta/lib/oeqa/core/tests/cases/data.py2
-rw-r--r--poky/meta/lib/oeqa/core/tests/cases/oetag.py21
-rw-r--r--poky/meta/lib/oeqa/core/tests/common.py4
-rwxr-xr-xpoky/meta/lib/oeqa/core/tests/test_data.py10
-rwxr-xr-xpoky/meta/lib/oeqa/core/tests/test_decorators.py77
-rwxr-xr-xpoky/meta/lib/oeqa/core/tests/test_loader.py26
-rw-r--r--poky/meta/lib/oeqa/core/utils/concurrencytest.py68
-rw-r--r--poky/meta/lib/oeqa/manual/bsp-hw.json2
-rw-r--r--poky/meta/lib/oeqa/manual/compliance-test.json32
-rw-r--r--poky/meta/lib/oeqa/manual/crops.json12
-rw-r--r--poky/meta/lib/oeqa/manual/toaster-managed-mode.json14
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/buildgalculator.py1
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/dnf.py34
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/oe_syslog.py82
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/parselogs.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/rpm.py74
-rw-r--r--poky/meta/lib/oeqa/sdkext/cases/devtool.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/case.py17
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/bbtests.py46
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/binutils.py50
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/buildoptions.py7
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/devtool.py18
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/gcc.py140
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/glibc.py89
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/imagefeatures.py3
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py67
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/meta_ide.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/multiconfig.py45
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oescripts.py58
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/recipetool.py19
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/reproducible.py82
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runqemu.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runtime_test.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/signing.py7
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/wic.py67
-rw-r--r--poky/meta/lib/oeqa/selftest/context.py21
-rw-r--r--poky/meta/lib/oeqa/targetcontrol.py4
-rw-r--r--poky/meta/lib/oeqa/utils/commands.py7
-rw-r--r--poky/meta/lib/oeqa/utils/logparser.py1
-rw-r--r--poky/meta/lib/oeqa/utils/network.py4
-rw-r--r--poky/meta/lib/oeqa/utils/nfs.py39
-rw-r--r--poky/meta/lib/oeqa/utils/qemurunner.py45
-rw-r--r--poky/meta/recipes-bsp/acpid/acpid.inc6
-rw-r--r--poky/meta/recipes-bsp/acpid/acpid_2.0.31.bb7
-rw-r--r--poky/meta/recipes-bsp/acpid/acpid_2.0.32.bb7
-rw-r--r--poky/meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch83
-rw-r--r--poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb1
-rw-r--r--poky/meta/recipes-bsp/efivar/efivar_37.bb5
-rw-r--r--poky/meta/recipes-bsp/formfactor/formfactor_0.0.bb3
-rw-r--r--poky/meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch13
-rw-r--r--poky/meta/recipes-bsp/grub/files/0001-Unset-need_charset_alias-when-building-for-musl.patch30
-rw-r--r--poky/meta/recipes-bsp/grub/files/0001-grub-setup-Debug-message-cleanup.patch34
-rw-r--r--poky/meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch16
-rw-r--r--poky/meta/recipes-bsp/grub/files/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch76
-rw-r--r--poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch15
-rw-r--r--poky/meta/recipes-bsp/grub/files/gcc8.patch74
-rw-r--r--poky/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch21
-rw-r--r--poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb13
-rw-r--r--poky/meta/recipes-bsp/grub/grub-efi_2.02.bb109
-rw-r--r--poky/meta/recipes-bsp/grub/grub-efi_2.04.bb109
-rw-r--r--poky/meta/recipes-bsp/grub/grub2.inc21
-rw-r--r--poky/meta/recipes-bsp/grub/grub_2.02.bb29
-rw-r--r--poky/meta/recipes-bsp/grub/grub_2.04.bb33
-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.inc22
-rw-r--r--poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb49
-rw-r--r--poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb53
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/0001-CVE-2019-13103.patch69
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/0002-CVE-2019-13104.patch49
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/0003-CVE-2019-13105.patch37
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/0004-CVE-2019-13106.patch56
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/0005-CVE-2019-14192-14193-14199.patch43
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/0006-CVE-2019-14197-14200-14201-14202-14203-14204.patch44
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/0007-CVE-2019-14194-14198.patch42
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/0008-CVE-2019-14195.patch42
-rw-r--r--poky/meta/recipes-bsp/u-boot/files/0009-CVE-2019-14196.patch48
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot-common.inc18
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.07.bb (renamed from poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.04.bb)0
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.07.bb (renamed from poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.04.bb)0
-rw-r--r--poky/meta/recipes-bsp/u-boot/u-boot_2019.07.bb (renamed from poky/meta/recipes-bsp/u-boot/u-boot_2019.04.bb)0
-rw-r--r--poky/meta/recipes-bsp/usbinit/usbinit.bb4
-rw-r--r--poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb8
-rw-r--r--poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch7
-rw-r--r--poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb6
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5.inc5
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch68
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch726
-rw-r--r--poky/meta/recipes-connectivity/bluez5/bluez5_5.50.bb2
-rw-r--r--poky/meta/recipes-connectivity/connman/connman.inc4
-rw-r--r--poky/meta/recipes-connectivity/dhcp/dhcp.inc2
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils/fix-buffer-fortify-tfpt.patch25
-rw-r--r--poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb1
-rw-r--r--poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch39
-rw-r--r--poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb13
-rw-r--r--poky/meta/recipes-connectivity/iproute2/iproute2_5.2.0.bb12
-rw-r--r--poky/meta/recipes-connectivity/iw/iw_5.0.1.bb33
-rw-r--r--poky/meta/recipes-connectivity/iw/iw_5.3.bb32
-rw-r--r--poky/meta/recipes-connectivity/libpcap/libpcap_1.9.0.bb4
-rw-r--r--poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb6
-rw-r--r--poky/meta/recipes-connectivity/neard/neard_0.16.bb4
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch32
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch156
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch22
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch50
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch9
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch30
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service2
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service1
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch133
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch23
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb153
-rw-r--r--poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb152
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono.inc6
-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-build-Add-check-for-explicit_bzero-support.patch27
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono/0001-build-Fix-a-race-condition.patch28
-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_1.29.bb13
-rw-r--r--poky/meta/recipes-connectivity/ofono/ofono_1.30.bb9
-rw-r--r--poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb2
-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_1.1.1c.bb202
-rw-r--r--poky/meta/recipes-connectivity/openssl/openssl_1.1.1d.bb204
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb109
-rw-r--r--poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb109
-rw-r--r--poky/meta/recipes-core/base-files/base-files_3.0.14.bb7
-rw-r--r--poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb34
-rw-r--r--poky/meta/recipes-core/busybox/busybox-inittab_1.31.0.bb35
-rw-r--r--poky/meta/recipes-core/busybox/busybox.inc71
-rw-r--r--poky/meta/recipes-core/busybox/busybox/0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch39
-rw-r--r--poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch60
-rw-r--r--poky/meta/recipes-core/busybox/busybox/unicode.cfg10
-rw-r--r--poky/meta/recipes-core/busybox/busybox_1.30.1.bb52
-rw-r--r--poky/meta/recipes-core/busybox/busybox_1.31.0.bb49
-rwxr-xr-xpoky/meta/recipes-core/busybox/files/mount.busybox3
-rw-r--r--poky/meta/recipes-core/busybox/files/syslog22
-rwxr-xr-xpoky/meta/recipes-core/busybox/files/umount.busybox3
-rwxr-xr-xpoky/meta/recipes-core/dbus/dbus/run-ptest3
-rw-r--r--poky/meta/recipes-core/dropbear/dropbear.inc11
-rw-r--r--poky/meta/recipes-core/ell/ell_0.20.bb22
-rw-r--r--poky/meta/recipes-core/ell/ell_0.22.bb22
-rw-r--r--poky/meta/recipes-core/expat/expat/autotools.patch25
-rw-r--r--poky/meta/recipes-core/expat/expat_2.2.6.bb23
-rw-r--r--poky/meta/recipes-core/expat/expat_2.2.8.bb22
-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/relocate-modules.patch2
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb26
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.7.bb25
-rw-r--r--poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb32
-rw-r--r--poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.bb34
-rw-r--r--poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb53
-rw-r--r--poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb49
-rw-r--r--poky/meta/recipes-core/glibc/glibc-common.inc9
-rw-r--r--poky/meta/recipes-core/glibc/glibc-locale.inc6
-rw-r--r--poky/meta/recipes-core/glibc/glibc-locale_2.30.bb (renamed from poky/meta/recipes-core/glibc/glibc-locale_2.29.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-mtrace.inc3
-rw-r--r--poky/meta/recipes-core/glibc/glibc-mtrace_2.30.bb (renamed from poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-package.inc124
-rw-r--r--poky/meta/recipes-core/glibc/glibc-scripts.inc3
-rw-r--r--poky/meta/recipes-core/glibc/glibc-scripts_2.30.bb (renamed from poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb)0
-rw-r--r--poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb60
-rw-r--r--poky/meta/recipes-core/glibc/glibc-version.inc8
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch12
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch204
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch10
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch21
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch12
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch24
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch6
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch34
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0027-inject-file-assembly-directives.patch304
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch34
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0028-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch56
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch304
-rw-r--r--poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch56
-rw-r--r--poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch36
-rw-r--r--poky/meta/recipes-core/glibc/glibc/add-cross-localedef-hardlink.patch1115
-rw-r--r--poky/meta/recipes-core/glibc/glibc/allow-compile-separate-from-util-linux-hardlink.patch226
-rw-r--r--poky/meta/recipes-core/glibc/glibc/check-test-wrapper71
-rw-r--r--poky/meta/recipes-core/glibc/glibc_2.29.bb129
-rw-r--r--poky/meta/recipes-core/glibc/glibc_2.30.bb112
-rw-r--r--poky/meta/recipes-core/ifupdown/files/0001-Define-FNM_EXTMATCH-for-musl.patch47
-rw-r--r--poky/meta/recipes-core/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch8
-rw-r--r--poky/meta/recipes-core/ifupdown/files/inet-6-.defn-fix-inverted-checks-for-loopback.patch45
-rw-r--r--poky/meta/recipes-core/ifupdown/ifupdown_0.8.16.bb46
-rw-r--r--poky/meta/recipes-core/ifupdown/ifupdown_0.8.22.bb47
-rw-r--r--poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb4
-rw-r--r--poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs14
-rw-r--r--poky/meta/recipes-core/initscripts/initscripts-1.0/alignment.sh (renamed from poky/meta/recipes-core/initscripts/initscripts-1.0/arm/alignment.sh)0
-rwxr-xr-xpoky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh2
-rw-r--r--poky/meta/recipes-core/initscripts/initscripts_1.0.bb1
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb (renamed from poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb)0
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb35
-rw-r--r--poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb33
-rw-r--r--poky/meta/recipes-core/meta/cve-update-db-native.bb195
-rw-r--r--poky/meta/recipes-core/meta/cve-update-db.bb121
-rw-r--r--poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb13
-rw-r--r--poky/meta/recipes-core/musl/musl-obstack.bb22
-rw-r--r--poky/meta/recipes-core/musl/musl.inc2
-rw-r--r--poky/meta/recipes-core/musl/musl/0001-Change-container-for-riscv-floating-point-state-to-_.patch67
-rw-r--r--poky/meta/recipes-core/musl/musl/0001-correct-the-operand-specifiers-in-the-riscv64-CAS-ro.patch55
-rw-r--r--poky/meta/recipes-core/musl/musl_git.bb8
-rw-r--r--poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb11
-rw-r--r--poky/meta/recipes-core/ncurses/ncurses_6.1+20190803.bb11
-rw-r--r--poky/meta/recipes-core/newlib/newlib.inc2
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch71
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch46
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-header.makefile-add-Wno-restrict.patch102
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch53
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch33
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf/0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch66
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf/0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch1124
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch26
-rw-r--r--poky/meta/recipes-core/ovmf/ovmf_git.bb41
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-base.bb4
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb9
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb1
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb2
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb2
-rw-r--r--poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb4
-rwxr-xr-xpoky/meta/recipes-core/psplash/files/psplash-init5
-rw-r--r--poky/meta/recipes-core/psplash/psplash_git.bb3
-rw-r--r--poky/meta/recipes-core/systemd/systemd-boot_242.bb71
-rw-r--r--poky/meta/recipes-core/systemd/systemd-boot_243.bb70
-rw-r--r--poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb1
-rw-r--r--poky/meta/recipes-core/systemd/systemd-conf_243.bb (renamed from poky/meta/recipes-core/systemd/systemd-conf_242.bb)0
-rw-r--r--poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service3
-rwxr-xr-xpoky/meta/recipes-core/systemd/systemd-systemctl/systemctl13
-rw-r--r--poky/meta/recipes-core/systemd/systemd.inc4
-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-Use-getenv-when-secure-versions-are-not-available.patch32
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch17
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch148
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0001-meson-Add-Defi-objcopy-option-to-specify-objcopy.patch48
-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/0001-unit-file.c-consider-symlink-on-filesystems-like-NFS.patch42
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0002-src-login-brightness.c-include-sys-wait.h.patch25
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch23
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0003-src-basic-copy.c-include-signal.h.patch27
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch15
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch11
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch54
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch16
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch134
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch195
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch41
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch26
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch12
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch30
-rw-r--r--poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch30
-rw-r--r--poky/meta/recipes-core/systemd/systemd_242.bb667
-rw-r--r--poky/meta/recipes-core/systemd/systemd_243.bb689
-rw-r--r--poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch99
-rw-r--r--poky/meta/recipes-core/udev/eudev_3.2.7.bb96
-rw-r--r--poky/meta/recipes-core/udev/eudev_3.2.8.bb96
-rw-r--r--poky/meta/recipes-core/udev/udev-extraconf/mount.sh10
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux.inc7
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch16
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb13
-rw-r--r--poky/meta/recipes-core/util-linux/util-linux_2.34.bb12
-rw-r--r--poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb (renamed from poky/meta/recipes-devtools/apt/apt-native_1.2.24.bb)0
-rw-r--r--poky/meta/recipes-devtools/apt/apt-package.inc1
-rw-r--r--poky/meta/recipes-devtools/apt/apt.inc4
-rw-r--r--poky/meta/recipes-devtools/apt/apt_1.2.31.bb (renamed from poky/meta/recipes-devtools/apt/apt_1.2.24.bb)0
-rw-r--r--poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2018.03.13.bb18
-rw-r--r--poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb18
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-2.32.inc11
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb85
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch9
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-12972.patch51
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch33
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch28
-rw-r--r--poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9071.patch165
-rw-r--r--poky/meta/recipes-devtools/bison/bison_3.3.2.bb40
-rw-r--r--poky/meta/recipes-devtools/bison/bison_3.4.1.bb40
-rw-r--r--poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch37
-rw-r--r--poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb7
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb46
-rw-r--r--poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.2.bb52
-rw-r--r--poky/meta/recipes-devtools/build-compare/build-compare_git.bb12
-rw-r--r--poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch64
-rw-r--r--poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch17
-rw-r--r--poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch1599
-rw-r--r--poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch117
-rw-r--r--poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch41
-rw-r--r--poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch361
-rw-r--r--poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch35
-rw-r--r--poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch37
-rw-r--r--poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch32
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb7
-rw-r--r--poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb7
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake-native_3.15.3.bb (renamed from poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake.inc4
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch13
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch33
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch11
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch11
-rw-r--r--poky/meta/recipes-devtools/cmake/cmake_3.15.3.bb (renamed from poky/meta/recipes-devtools/cmake/cmake_3.14.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb34
-rw-r--r--poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.0.bb34
-rw-r--r--poky/meta/recipes-devtools/cve-check-tool/cve-check-tool_5.6.4.bb62
-rw-r--r--poky/meta/recipes-devtools/cve-check-tool/files/0001-Fix-freeing-memory-allocated-by-sqlite.patch50
-rw-r--r--poky/meta/recipes-devtools/cve-check-tool/files/0001-curl-allow-overriding-default-CA-certificate-file.patch215
-rw-r--r--poky/meta/recipes-devtools/cve-check-tool/files/0001-print-progress-in-percent-when-downloading-CVE-db.patch135
-rw-r--r--poky/meta/recipes-devtools/cve-check-tool/files/0001-update-Compare-computed-vs-expected-sha256-digit-str.patch52
-rw-r--r--poky/meta/recipes-devtools/cve-check-tool/files/check-for-malloc_trim-before-using-it.patch51
-rw-r--r--poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb15
-rw-r--r--poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.23.bb19
-rw-r--r--poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.24.bb24
-rw-r--r--poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb95
-rw-r--r--poky/meta/recipes-devtools/distcc/distcc_3.3.3.bb87
-rw-r--r--poky/meta/recipes-devtools/distcc/files/default2
-rw-r--r--poky/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop12
-rw-r--r--poky/meta/recipes-devtools/distcc/files/fix-gnome.patch122
-rw-r--r--poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch42
-rw-r--r--poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb2
-rw-r--r--poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb2
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg.inc7
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch20
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb22
-rw-r--r--poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb22
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-create_inode-fix-copying-large-files.patch50
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch36
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/ptest.patch33
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb137
-rw-r--r--poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.3.bb138
-rw-r--r--poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb146
-rw-r--r--poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb148
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch91
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch32
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch196
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch12
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch48
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch13
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch60
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff39
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch19
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff57
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch17
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff15
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch13
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff42
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch131
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch22
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff20
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/musl-libs.patch144
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch128
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/musl-tests.patch (renamed from poky/meta/recipes-devtools/elfutils/files/musl.patch)0
-rw-r--r--poky/meta/recipes-devtools/elfutils/files/musl-utils.patch165
-rw-r--r--poky/meta/recipes-devtools/expect/expect/0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch55
-rw-r--r--poky/meta/recipes-devtools/expect/expect_5.45.4.bb7
-rw-r--r--poky/meta/recipes-devtools/flex/flex_2.6.0.bb3
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3.inc112
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch203
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch73
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch85
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch125
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch96
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch46
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch57
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch248
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch40
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch113
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch43
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch31
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch53
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch98
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch213
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch137
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch87
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch125
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch85
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch91
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch60
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch258
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch41
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch27
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch31
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch325
-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-8.3/CVE-2019-14250.patch44
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1.inc117
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch203
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch73
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch119
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch125
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch96
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch46
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch57
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch232
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0013-gcc-Fix-argument-list-too-long-error.patch40
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch113
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch43
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch31
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch53
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch98
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0024-aarch64-Add-support-for-musl-ldso.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0026-handle-sysroot-support-for-nativesdk-gcc.patch213
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0028-Fix-various-_FOR_BUILD-and-related-variables.patch137
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch87
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch125
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch86
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0034-sync-gcc-stddef.h-with-musl.patch91
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0035-fix-segmentation-fault-in-precompiled-header-generat.patch60
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch258
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch41
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2.inc122
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0002-gcc-poison-system-directories.patch203
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch73
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0004-64-bit-multilib-hack.patch119
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0005-optional-libstdc.patch125
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0006-COLLECT_GCC_OPTIONS.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch96
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0008-fortran-cross-compile-hack.patch46
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0009-cpp-honor-sysroot.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0010-MIPS64-Default-to-N64-ABI.patch57
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch243
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0012-gcc-Fix-argument-list-too-long-error.patch40
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0013-Disable-sdt.patch113
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0014-libtool.patch42
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch43
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch31
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0018-export-CPP.patch53
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch55
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch38
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0023-aarch64-Add-support-for-musl-ldso.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch54
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch213
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch102
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0027-Fix-various-_FOR_BUILD-and-related-variables.patch137
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch28
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch87
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch79
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch29
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch86
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0033-sync-gcc-stddef.h-with-musl.patch91
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0034-fix-segmentation-fault-in-precompiled-header-generat.patch60
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0035-Fix-for-testsuite-failure.patch258
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/0036-Re-introduce-spe-commandline-options.patch41
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch44
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch521
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch77
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch62
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-common.inc9
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-configure-common.inc1
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc3
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb5
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross.inc15
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb3
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-cross_9.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime.inc60
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb12
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb12
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-runtime_9.2.bb2
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb7
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb4
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-source_9.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc-testsuite.inc107
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc_9.1.bb14
-rw-r--r--poky/meta/recipes-devtools/gcc/gcc_9.2.bb (renamed from poky/meta/recipes-devtools/gcc/gcc_8.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb5
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc-initial_9.2.bb (renamed from poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc_9.1.bb5
-rw-r--r--poky/meta/recipes-devtools/gcc/libgcc_9.2.bb (renamed from poky/meta/recipes-devtools/gcc/libgcc_8.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb3
-rw-r--r--poky/meta/recipes-devtools/gcc/libgfortran_9.2.bb (renamed from poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb-8.3.inc3
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb.inc1
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch98
-rw-r--r--poky/meta/recipes-devtools/gdb/gdb_8.3.bb1
-rw-r--r--poky/meta/recipes-devtools/git/git.inc2
-rw-r--r--poky/meta/recipes-devtools/git/git_2.21.0.bb11
-rw-r--r--poky/meta/recipes-devtools/git/git_2.23.0.bb11
-rw-r--r--poky/meta/recipes-devtools/go/go-1.12.inc6
-rw-r--r--poky/meta/recipes-devtools/go/go-dep_0.5.0.bb25
-rw-r--r--poky/meta/recipes-devtools/go/go-dep_0.5.4.bb24
-rw-r--r--poky/meta/recipes-devtools/go/go-runtime.inc3
-rw-r--r--poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb24
-rw-r--r--poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb24
-rw-r--r--poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.1.bb3
-rw-r--r--poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb18
-rw-r--r--poky/meta/recipes-devtools/libedit/libedit/0001-readline.c-fix-cannot-get-history.patch34
-rw-r--r--poky/meta/recipes-devtools/libedit/libedit/stdc-predef.patch (renamed from meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch)1
-rw-r--r--poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb20
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch26
-rw-r--r--poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb6
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb21
-rw-r--r--poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb27
-rwxr-xr-xpoky/meta/recipes-devtools/libtool/libtool/debian-no_hostname.patch21
-rw-r--r--poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb2
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch91
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch114
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch92
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch38
-rw-r--r--poky/meta/recipes-devtools/llvm/llvm_git.bb12
-rw-r--r--poky/meta/recipes-devtools/meson/meson.inc7
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch10
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch14
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch20
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch10
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch6
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch32
-rw-r--r--poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch185
-rw-r--r--poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch53
-rw-r--r--poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch50
-rw-r--r--poky/meta/recipes-devtools/meson/meson_0.51.2.bb (renamed from poky/meta/recipes-devtools/meson/meson_0.50.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb71
-rw-r--r--poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.2.bb66
-rw-r--r--poky/meta/recipes-devtools/mtd/mtd-utils_git.bb5
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm/CVE-2018-19755.patch116
-rw-r--r--poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb4
-rw-r--r--poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb4
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch44
-rw-r--r--poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb1
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg/0001-libopkg-add-add-ignore-recommends-option.patch259
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch43
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch31
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb69
-rw-r--r--poky/meta/recipes-devtools/opkg/opkg_0.4.1.bb81
-rw-r--r--poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-ed-style-patch.patch94
-rw-r--r--poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch81
-rw-r--r--poky/meta/recipes-devtools/patch/patch/0001-Invoke-ed-directly-instead-of-using-the-shell.patch44
-rw-r--r--poky/meta/recipes-devtools/patch/patch/CVE-2019-13636.patch113
-rw-r--r--poky/meta/recipes-devtools/patch/patch_2.7.6.bb4
-rw-r--r--poky/meta/recipes-devtools/perl/files/0001-enc2xs-Add-environment-variable-to-suppress-comments.patch2
-rw-r--r--poky/meta/recipes-devtools/perl/files/0002-Constant-Fix-up-shebang.patch2
-rw-r--r--poky/meta/recipes-devtools/perl/perl_5.30.0.bb18
-rw-r--r--poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb69
-rw-r--r--poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb69
-rw-r--r--poky/meta/recipes-devtools/prelink/prelink_git.bb3
-rw-r--r--poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch34
-rw-r--r--poky/meta/recipes-devtools/pseudo/pseudo.inc2
-rw-r--r--poky/meta/recipes-devtools/pseudo/pseudo_git.bb5
-rw-r--r--poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch47
-rw-r--r--poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch32
-rw-r--r--poky/meta/recipes-devtools/python-numpy/files/mipsarchn32eb/_numpyconfig.h1
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python-numpy.inc13
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb10
-rw-r--r--poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb (renamed from poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python-git.inc32
-rw-r--r--poky/meta/recipes-devtools/python/python-mako.inc21
-rw-r--r--poky/meta/recipes-devtools/python/python-nose_1.3.7.bb6
-rw-r--r--poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb8
-rw-r--r--poky/meta/recipes-devtools/python/python-scons_3.0.5.bb24
-rw-r--r--poky/meta/recipes-devtools/python/python-setuptools.inc4
-rw-r--r--poky/meta/recipes-devtools/python/python-setuptools_41.2.0.bb (renamed from poky/meta/recipes-devtools/python/python-setuptools_41.0.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python-testtools.inc1
-rw-r--r--poky/meta/recipes-devtools/python/python.inc7
-rw-r--r--poky/meta/recipes-devtools/python/python/CVE-2018-20852.patch123
-rw-r--r--poky/meta/recipes-devtools/python/python/CVE-2019-9740.patch216
-rw-r--r--poky/meta/recipes-devtools/python/python3-dbus_1.2.12.bb26
-rw-r--r--poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb24
-rw-r--r--poky/meta/recipes-devtools/python/python3-docutils_0.14.bb18
-rw-r--r--poky/meta/recipes-devtools/python/python3-docutils_0.15.bb17
-rw-r--r--poky/meta/recipes-devtools/python/python3-git_2.1.11.bb2
-rw-r--r--poky/meta/recipes-devtools/python/python3-git_3.0.2.bb33
-rw-r--r--poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb3
-rw-r--r--poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb21
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb30
-rw-r--r--poky/meta/recipes-devtools/python/python3-pip_19.2.3.bb31
-rw-r--r--poky/meta/recipes-devtools/python/python3-pygobject_3.32.1.bb33
-rw-r--r--poky/meta/recipes-devtools/python/python3-pygobject_3.34.0.bb33
-rw-r--r--poky/meta/recipes-devtools/python/python3-scons-native_3.1.1.bb (renamed from poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb29
-rw-r--r--poky/meta/recipes-devtools/python/python3-scons_3.1.1.bb29
-rw-r--r--poky/meta/recipes-devtools/python/python3-setuptools_41.2.0.bb (renamed from poky/meta/recipes-devtools/python/python3-setuptools_41.0.1.bb)0
-rw-r--r--poky/meta/recipes-devtools/python/python3-subunit_1.3.0.bb2
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch35
-rw-r--r--poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch46
-rw-r--r--poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch28
-rw-r--r--poky/meta/recipes-devtools/python/python3/python3-manifest.json31
-rw-r--r--poky/meta/recipes-devtools/python/python3_3.7.3.bb318
-rw-r--r--poky/meta/recipes-devtools/python/python3_3.7.4.bb326
-rw-r--r--poky/meta/recipes-devtools/python/python_2.7.16.bb6
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-native.inc5
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-native_4.1.0.bb (renamed from poky/meta/recipes-devtools/qemu/qemu-native_4.0.0.bb)0
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb24
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-system-native_4.1.0.bb24
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu-targets.inc2
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu.inc28
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch10
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch6
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch4
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch6
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch146
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch26
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch239
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch26
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch44
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0007-chardev-connect-socket-to-a-spawned-command.patch239
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch44
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch33
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch137
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch33
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch142
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch93
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0010-fix-libcap-header-issue-on-some-distro.patch (renamed from poky/meta/recipes-devtools/qemu/qemu/0011-fix-libcap-header-issue-on-some-distro.patch)0
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch74
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch74
-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/CVE-2019-15890.patch48
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb21
-rw-r--r--poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb25
-rw-r--r--poky/meta/recipes-devtools/quilt/quilt-native_0.66.bb (renamed from poky/meta/recipes-devtools/quilt/quilt-native_0.65.bb)0
-rw-r--r--poky/meta/recipes-devtools/quilt/quilt.inc6
-rw-r--r--poky/meta/recipes-devtools/quilt/quilt/0001-tests-Allow-different-output-from-mv.patch8
-rw-r--r--poky/meta/recipes-devtools/quilt/quilt/Makefile3
-rwxr-xr-xpoky/meta/recipes-devtools/quilt/quilt/run-ptest2
-rw-r--r--poky/meta/recipes-devtools/quilt/quilt_0.66.bb (renamed from poky/meta/recipes-devtools/quilt/quilt_0.65.bb)0
-rw-r--r--poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch58
-rw-r--r--poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb1
-rw-r--r--poky/meta/recipes-devtools/rsync/files/CVE-2016-9840.patch75
-rw-r--r--poky/meta/recipes-devtools/rsync/files/CVE-2016-9841.patch228
-rw-r--r--poky/meta/recipes-devtools/rsync/files/CVE-2016-9842.patch33
-rw-r--r--poky/meta/recipes-devtools/rsync/files/CVE-2016-9843.patch53
-rw-r--r--poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb4
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby.inc2
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/0001-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch101
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch32
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch34
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb80
-rw-r--r--poky/meta/recipes-devtools/ruby/ruby_2.5.5.bb74
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-mksquashfs.c-get-inline-functions-work-with-C99.patch154
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-squashfs-tools-patch-for-CVE-2015-4645-6.patch47
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch17
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/squashfs-tools-4.3-sysmacros.patch2
-rw-r--r--poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb10
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch34
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch98
-rw-r--r--poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch6
-rw-r--r--poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch10
-rwxr-xr-xpoky/meta/recipes-devtools/strace/strace/run-ptest1
-rw-r--r--poky/meta/recipes-devtools/strace/strace_4.26.bb58
-rw-r--r--poky/meta/recipes-devtools/strace/strace_5.3.bb56
-rw-r--r--poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch107
-rw-r--r--poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb59
-rw-r--r--poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb61
-rw-r--r--poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb19
-rw-r--r--poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb2
-rw-r--r--poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb47
-rw-r--r--poky/meta/recipes-devtools/unfs3/unfs3_git.bb39
-rw-r--r--poky/meta/recipes-devtools/vala/vala_0.44.5.bb8
-rw-r--r--poky/meta/recipes-devtools/vala/vala_0.44.7.bb8
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/0001-adjust-path-filter-for-2-memcheck-tests.patch40
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64236
-rwxr-xr-xpoky/meta/recipes-devtools/valgrind/valgrind/run-ptest43
-rw-r--r--poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb57
-rw-r--r--poky/meta/recipes-extended/acpica/acpica_20190509.bb49
-rw-r--r--poky/meta/recipes-extended/acpica/acpica_20190816.bb49
-rw-r--r--poky/meta/recipes-extended/at/at/pam.conf.patch2
-rw-r--r--poky/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch44
-rw-r--r--poky/meta/recipes-extended/bc/bc_1.07.1.bb3
-rw-r--r--poky/meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch18
-rw-r--r--poky/meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch55
-rw-r--r--poky/meta/recipes-extended/bzip2/bzip2/Makefile.am (renamed from poky/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am)0
-rw-r--r--poky/meta/recipes-extended/bzip2/bzip2/configure.ac (renamed from poky/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac)2
-rw-r--r--poky/meta/recipes-extended/bzip2/bzip2/run-ptest (renamed from poky/meta/recipes-extended/bzip2/bzip2-1.0.6/run-ptest)0
-rw-r--r--poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb47
-rw-r--r--poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb45
-rw-r--r--poky/meta/recipes-extended/cups/cups.inc4
-rw-r--r--poky/meta/recipes-extended/cups/cups/cups_serverbin.patch10
-rw-r--r--poky/meta/recipes-extended/cups/cups_2.2.11.bb6
-rw-r--r--poky/meta/recipes-extended/cups/cups_2.2.12.bb6
-rw-r--r--poky/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch35
-rw-r--r--poky/meta/recipes-extended/diffutils/diffutils_3.7.bb3
-rw-r--r--poky/meta/recipes-extended/ed/ed_1.15.bb2
-rw-r--r--poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch10
-rw-r--r--poky/meta/recipes-extended/ethtool/ethtool_5.1.bb31
-rw-r--r--poky/meta/recipes-extended/ethtool/ethtool_5.2.bb31
-rw-r--r--poky/meta/recipes-extended/gawk/gawk_5.0.0.bb53
-rw-r--r--poky/meta/recipes-extended/gawk/gawk_5.0.1.bb53
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14811-0001.patch68
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14817-0001.patch270
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14817-0002.patch236
-rw-r--r--poky/meta/recipes-extended/ghostscript/ghostscript_9.27.bb3
-rw-r--r--poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch1228
-rw-r--r--poky/meta/recipes-extended/groff/groff_1.22.4.bb1
-rw-r--r--poky/meta/recipes-extended/gzip/gzip_1.10.bb4
-rw-r--r--poky/meta/recipes-extended/images/core-image-lsb-dev.bb7
-rw-r--r--poky/meta/recipes-extended/images/core-image-lsb-sdk.bb12
-rw-r--r--poky/meta/recipes-extended/images/core-image-lsb.bb14
-rw-r--r--poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch61
-rw-r--r--poky/meta/recipes-extended/iptables/iptables/iptables.rules0
-rw-r--r--poky/meta/recipes-extended/iptables/iptables/iptables.service13
-rw-r--r--poky/meta/recipes-extended/iptables/iptables_1.8.2.bb65
-rw-r--r--poky/meta/recipes-extended/iptables/iptables_1.8.3.bb86
-rw-r--r--poky/meta/recipes-extended/iputils/iputils/ai_canonidn.patch58
-rw-r--r--poky/meta/recipes-extended/iputils/iputils/install.patch26
-rw-r--r--poky/meta/recipes-extended/iputils/iputils_s20180629.bb61
-rw-r--r--poky/meta/recipes-extended/iputils/iputils_s20190709.bb55
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch38
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch79
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch50
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch44
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch59
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch61
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/bug1066.patch54
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch153
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb75
-rw-r--r--poky/meta/recipes-extended/libarchive/libarchive_3.4.0.bb67
-rw-r--r--poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb4
-rw-r--r--poky/meta/recipes-extended/libnss-nis/libnss-nis.bb4
-rw-r--r--poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch188
-rw-r--r--poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb32
-rw-r--r--poky/meta/recipes-extended/libsolv/libsolv_0.7.6.bb31
-rw-r--r--poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb5
-rw-r--r--poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb99
-rw-r--r--poky/meta/recipes-extended/logrotate/logrotate_3.15.1.bb99
-rw-r--r--poky/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch (renamed from poky/meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch)0
-rw-r--r--poky/meta/recipes-extended/lsb/lsb-release_1.4.bb36
-rwxr-xr-xpoky/meta/recipes-extended/lsb/lsb/init-functions44
-rwxr-xr-xpoky/meta/recipes-extended/lsb/lsb/lsb_killproc6
-rwxr-xr-xpoky/meta/recipes-extended/lsb/lsb/lsb_log_message27
-rwxr-xr-xpoky/meta/recipes-extended/lsb/lsb/lsb_pidofproc6
-rwxr-xr-xpoky/meta/recipes-extended/lsb/lsb/lsb_start_daemon45
-rw-r--r--poky/meta/recipes-extended/lsb/lsb_5.0.bb136
-rw-r--r--poky/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch21
-rw-r--r--poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch33
-rw-r--r--poky/meta/recipes-extended/lsb/lsbinitscripts_9.79.bb31
-rw-r--r--poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh525
-rw-r--r--poky/meta/recipes-extended/lsb/lsbtest/packages_list49
-rw-r--r--poky/meta/recipes-extended/lsb/lsbtest/session176
-rw-r--r--poky/meta/recipes-extended/lsb/lsbtest_1.0.bb49
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch72
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch149
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch64
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch81
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch68
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch46
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch70
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch75
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch161
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch36
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch68
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch47
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch58
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch148
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch34
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch46
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch35
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch32
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch31
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch151
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch41
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch36
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch68
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch82
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch56
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch64
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch33
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch50
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch73
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch50
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch70
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch31
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch48
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch55
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch32
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch41
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch254
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch114
-rw-r--r--poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch46
-rw-r--r--poky/meta/recipes-extended/ltp/ltp_20190115.bb123
-rw-r--r--poky/meta/recipes-extended/ltp/ltp_20190517.bb122
-rw-r--r--poky/meta/recipes-extended/man-db/man-db_2.8.5.bb59
-rw-r--r--poky/meta/recipes-extended/man-db/man-db_2.8.7.bb59
-rw-r--r--poky/meta/recipes-extended/mc/mc_4.8.22.bb49
-rw-r--r--poky/meta/recipes-extended/mc/mc_4.8.23.bb49
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch53
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch28
-rw-r--r--poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch43
-rw-r--r--poky/meta/recipes-extended/mdadm/files/include_sysmacros.patch14
-rw-r--r--poky/meta/recipes-extended/mdadm/files/mdmonitor.service19
-rw-r--r--poky/meta/recipes-extended/mdadm/files/run-ptest17
-rw-r--r--poky/meta/recipes-extended/mdadm/mdadm_4.1.bb15
-rw-r--r--poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb29
-rw-r--r--poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb28
-rw-r--r--poky/meta/recipes-extended/net-tools/net-tools_1.60-26.bb2
-rw-r--r--poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch37
-rw-r--r--poky/meta/recipes-extended/newt/files/pie-flags.patch27
-rw-r--r--poky/meta/recipes-extended/newt/libnewt_0.52.20.bb59
-rw-r--r--poky/meta/recipes-extended/newt/libnewt_0.52.21.bb58
-rw-r--r--poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb4
-rw-r--r--poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb3
-rw-r--r--poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb242
-rw-r--r--poky/meta/recipes-extended/psmisc/psmisc.inc2
-rw-r--r--poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch31
-rw-r--r--poky/meta/recipes-extended/screen/screen_4.6.2.bb4
-rw-r--r--poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch71
-rw-r--r--poky/meta/recipes-extended/shadow/shadow.inc5
-rw-r--r--poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch23
-rw-r--r--poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch23
-rw-r--r--poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb26
-rw-r--r--poky/meta/recipes-extended/stress/files/texinfo.patch80
-rw-r--r--poky/meta/recipes-extended/stress/stress_1.0.4.bb15
-rw-r--r--poky/meta/recipes-extended/sudo/sudo.inc10
-rw-r--r--poky/meta/recipes-extended/sudo/sudo_1.8.27.bb6
-rwxr-xr-xpoky/meta/recipes-extended/sysklogd/files/sysklogd22
-rw-r--r--poky/meta/recipes-extended/sysstat/sysstat.inc15
-rw-r--r--poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb8
-rw-r--r--poky/meta/recipes-extended/sysstat/sysstat_12.1.6.bb8
-rw-r--r--poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb2
-rw-r--r--poky/meta/recipes-extended/texinfo/texinfo_6.5.bb4
-rw-r--r--poky/meta/recipes-extended/timezone/timezone.inc10
-rw-r--r--poky/meta/recipes-extended/timezone/tzdata.bb5
-rw-r--r--poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p1.patch33
-rw-r--r--poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p2.patch356
-rw-r--r--poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p3.patch121
-rw-r--r--poky/meta/recipes-extended/unzip/unzip_6.0.bb3
-rw-r--r--poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb20
-rw-r--r--poky/meta/recipes-gnome/epiphany/epiphany_3.32.4.bb20
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb124
-rw-r--r--poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.2.bb123
-rw-r--r--poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch12
-rw-r--r--poky/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb46
-rw-r--r--poky/meta/recipes-gnome/gtk+/gtk+3.inc2
-rw-r--r--poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch2
-rw-r--r--poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb50
-rw-r--r--poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.31.bb50
-rw-r--r--poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb15
-rw-r--r--poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.3.bb15
-rw-r--r--poky/meta/recipes-gnome/libgudev/libgudev_232.bb18
-rw-r--r--poky/meta/recipes-gnome/libgudev/libgudev_233.bb18
-rw-r--r--poky/meta/recipes-gnome/libnotify/libnotify_0.7.8.bb2
-rw-r--r--poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb22
-rw-r--r--poky/meta/recipes-gnome/libsecret/libsecret_0.19.0.bb22
-rw-r--r--poky/meta/recipes-graphics/cogl/cogl-1.0.inc4
-rw-r--r--poky/meta/recipes-graphics/drm/libdrm_2.4.98.bb60
-rw-r--r--poky/meta/recipes-graphics/drm/libdrm_2.4.99.bb60
-rw-r--r--poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb7
-rw-r--r--poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb13
-rw-r--r--poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb13
-rw-r--r--poky/meta/recipes-graphics/eglinfo/eglinfo.inc38
-rw-r--r--poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch33
-rw-r--r--poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch36
-rwxr-xr-xpoky/meta/recipes-graphics/eglinfo/files/waf169
-rw-r--r--poky/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch2
-rw-r--r--poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb49
-rw-r--r--poky/meta/recipes-graphics/freetype/freetype_2.10.1.bb47
-rw-r--r--poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb40
-rw-r--r--poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb39
-rw-r--r--poky/meta/recipes-graphics/images/core-image-clutter.bb2
-rw-r--r--poky/meta/recipes-graphics/images/core-image-x11.bb2
-rw-r--r--poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb57
-rw-r--r--poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb57
-rw-r--r--poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch25
-rw-r--r--poky/meta/recipes-graphics/kmscube/kmscube_git.bb4
-rw-r--r--poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb6
-rw-r--r--poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch37
-rw-r--r--poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.10.bb74
-rw-r--r--poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb74
-rw-r--r--poky/meta/recipes-graphics/libva/libva-utils_2.4.0.bb35
-rw-r--r--poky/meta/recipes-graphics/libva/libva-utils_2.5.0.bb35
-rw-r--r--poky/meta/recipes-graphics/libva/libva_2.4.1.bb46
-rw-r--r--poky/meta/recipes-graphics/libva/libva_2.5.0.bb46
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch37
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch12
-rw-r--r--poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch10
-rw-r--r--poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb30
-rw-r--r--poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb30
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa-gl_19.1.6.bb (renamed from poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb)0
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa.inc30
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb18
-rw-r--r--poky/meta/recipes-graphics/mesa/mesa_19.1.6.bb20
-rw-r--r--poky/meta/recipes-graphics/pango/pango/0001-Skip-thai-break-tests-without-libthai.patch36
-rw-r--r--poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch28
-rw-r--r--poky/meta/recipes-graphics/pango/pango_1.42.4.bb50
-rw-r--r--poky/meta/recipes-graphics/pango/pango_1.44.6.bb47
-rw-r--r--poky/meta/recipes-graphics/piglit/piglit_git.bb4
-rw-r--r--poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch31
-rw-r--r--poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch36
-rw-r--r--poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch38
-rw-r--r--poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb22
-rw-r--r--poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.0.bb21
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb2
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan-headers_1.1.108.bb18
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan-loader_1.1.108.bb37
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan-tools_1.1.108.bb31
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch128
-rw-r--r--poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb40
-rw-r--r--poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch54
-rw-r--r--poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb36
-rw-r--r--poky/meta/recipes-graphics/waffle/waffle_1.6.0.bb37
-rw-r--r--poky/meta/recipes-graphics/wayland/libinput_1.13.2.bb29
-rw-r--r--poky/meta/recipes-graphics/wayland/libinput_1.14.1.bb32
-rw-r--r--poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb22
-rw-r--r--poky/meta/recipes-graphics/wayland/wayland-protocols_1.18.bb22
-rw-r--r--poky/meta/recipes-graphics/wayland/weston-conf.bb35
-rw-r--r--poky/meta/recipes-graphics/wayland/weston-init.bb28
-rw-r--r--poky/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules2
-rw-r--r--poky/meta/recipes-graphics/wayland/weston-init/qemux86-64/weston.ini2
-rw-r--r--poky/meta/recipes-graphics/wayland/weston-init/qemux86/weston.ini2
-rw-r--r--poky/meta/recipes-graphics/wayland/weston-init/weston.ini74
-rw-r--r--poky/meta/recipes-graphics/wayland/weston-init/weston.service13
-rw-r--r--poky/meta/recipes-graphics/wayland/weston-init/weston@.service37
-rw-r--r--poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch78
-rw-r--r--poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch130
-rw-r--r--poky/meta/recipes-graphics/wayland/weston_6.0.0.bb109
-rw-r--r--poky/meta/recipes-graphics/wayland/weston_7.0.0.bb111
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xauth_1.0.10.bb15
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xauth_1.1.bb15
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xinput_1.6.2.bb12
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xinput_1.6.3.bb12
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb15
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb17
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb2
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.4.bb15
-rw-r--r--poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.5.bb15
-rw-r--r--poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb11
-rw-r--r--poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.29.0.bb11
-rw-r--r--poky/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch23
-rw-r--r--poky/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb22
-rw-r--r--poky/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb21
-rw-r--r--poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb22
-rw-r--r--poky/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb22
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libice/CVE-2017-2626.patch149
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libice_1.0.10.bb28
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb30
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libpciaccess/0004-Don-t-include-sys-io.h-on-arm.patch28
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.bb20
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb19
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch86
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb35
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb16
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11.inc8
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch536
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch33
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch31
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11/no-host-libtool.patch45
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11/no-host-x.patch40
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb13
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libx11_1.6.8.bb7
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb23
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb24
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb4
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch33
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch16
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb35
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxt_1.2.0.bb32
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb19
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb19
-rw-r--r--poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb3
-rw-r--r--poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch468
-rw-r--r--poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb16
-rw-r--r--poky/meta/recipes-graphics/xorg-proto/xorgproto_2019.1.bb14
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc16
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch63
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch18
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch50
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb31
-rw-r--r--poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.5.bb32
-rw-r--r--poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb10
-rw-r--r--poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb10
-rw-r--r--poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb4
-rw-r--r--poky/meta/recipes-kernel/kexec/kexec-tools/0006-kexec-arm-undefine-__NR_kexec_file_load-for-arm.patch40
-rw-r--r--poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb1
-rw-r--r--poky/meta/recipes-kernel/kmod/kmod.inc7
-rw-r--r--poky/meta/recipes-kernel/kmod/kmod/0001-build-Stop-using-dolt.patch28
-rw-r--r--poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch5
-rw-r--r--poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190815.bb939
-rw-r--r--poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb939
-rw-r--r--poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb18
-rw-r--r--poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb18
-rw-r--r--poky/meta/recipes-kernel/linux/kernel-devsrc.bb19
-rw-r--r--poky/meta/recipes-kernel/linux/linux-dtb.inc3
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-dev.bb6
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb8
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb44
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb44
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb8
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb32
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb32
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb22
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb54
-rw-r--r--poky/meta/recipes-kernel/linux/linux-yocto_5.2.bb54
-rw-r--r--poky/meta/recipes-kernel/lttng/babeltrace_1.5.6.bb20
-rw-r--r--poky/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb20
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb45
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-modules_2.10.11.bb46
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch55
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb1
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch31
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb48
-rw-r--r--poky/meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb49
-rw-r--r--poky/meta/recipes-kernel/perf/perf.bb23
-rw-r--r--poky/meta/recipes-kernel/powertop/powertop/0001-wakeup_xxx.h-include-limits.h.patch55
-rw-r--r--poky/meta/recipes-kernel/powertop/powertop_2.10.bb1
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap/configure-allow-to-disable-libvirt.patch39
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch37
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch33
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap/x32_abi_time.patch34
-rw-r--r--poky/meta/recipes-kernel/systemtap/systemtap_git.inc8
-rw-r--r--poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.7.bb1
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb158
-rw-r--r--poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.1.bb158
-rw-r--r--poky/meta/recipes-multimedia/flac/flac/CVE-2017-6888.patch37
-rw-r--r--poky/meta/recipes-multimedia/flac/flac_1.3.2.bb46
-rw-r--r--poky/meta/recipes-multimedia/flac/flac_1.3.3.bb45
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/gtkdoc-no-tree.patch35
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb6
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb6
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/headerfix.patch43
-rw-r--r--poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb1
-rw-r--r--poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch1
-rw-r--r--poky/meta/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch39
-rw-r--r--poky/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb1
-rw-r--r--poky/meta/recipes-multimedia/libogg/libogg_1.3.3.bb17
-rw-r--r--poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb17
-rw-r--r--poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb9
-rw-r--r--poky/meta/recipes-multimedia/libtiff/files/libtool2.patch24
-rw-r--r--poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-14973.patch415
-rw-r--r--poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-6128.patch52
-rw-r--r--poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-7663.patch77
-rw-r--r--poky/meta/recipes-multimedia/libtiff/tiff_4.0.10.bb7
-rw-r--r--poky/meta/recipes-multimedia/mpeg2dec/files/0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch156
-rw-r--r--poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb1
-rw-r--r--poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb51
-rw-r--r--poky/meta/recipes-multimedia/mpg123/mpg123_1.25.11.bb51
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc10
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-alsa-Fix-inclusion-of-use-case.h.patch46
-rw-r--r--poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb1
-rw-r--r--poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb53
-rw-r--r--poky/meta/recipes-multimedia/webp/libwebp_1.0.3.bb56
-rwxr-xr-xpoky/meta/recipes-rt/rt-tests/files/rt_bmark.py2
-rw-r--r--poky/meta/recipes-rt/rt-tests/rt-tests.inc4
-rw-r--r--poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb6
-rw-r--r--poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb4
-rw-r--r--poky/meta/recipes-sato/images/core-image-sato.bb3
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch10
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch15
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb134
-rw-r--r--poky/meta/recipes-sato/webkit/webkitgtk_2.24.4.bb130
-rw-r--r--poky/meta/recipes-support/apr/apr/0001-build-buildcheck.sh-improve-libtool-detection.patch32
-rw-r--r--poky/meta/recipes-support/apr/apr/libtoolize_check.patch28
-rw-r--r--poky/meta/recipes-support/apr/apr_1.7.0.bb5
-rw-r--r--poky/meta/recipes-support/aspell/aspell/gcc7.patch40
-rw-r--r--poky/meta/recipes-support/aspell/aspell_0.60.6.1.bb34
-rw-r--r--poky/meta/recipes-support/aspell/aspell_0.60.7.bb32
-rw-r--r--poky/meta/recipes-support/attr/attr.inc2
-rw-r--r--poky/meta/recipes-support/boost/bjam-native_1.69.0.bb19
-rw-r--r--poky/meta/recipes-support/boost/bjam-native_1.71.0.bb20
-rw-r--r--poky/meta/recipes-support/boost/boost-1.69.0.inc21
-rw-r--r--poky/meta/recipes-support/boost/boost-1.71.0.inc21
-rw-r--r--poky/meta/recipes-support/boost/boost.inc6
-rw-r--r--poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch15
-rw-r--r--poky/meta/recipes-support/boost/boost_1.71.0.bb (renamed from poky/meta/recipes-support/boost/boost_1.69.0.bb)0
-rw-r--r--poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch38
-rw-r--r--poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch27
-rw-r--r--poky/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch50
-rw-r--r--poky/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch37
-rw-r--r--poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb3
-rw-r--r--poky/meta/recipes-support/curl/curl_7.65.1.bb80
-rw-r--r--poky/meta/recipes-support/curl/curl_7.66.0.bb80
-rw-r--r--poky/meta/recipes-support/db/db_5.3.28.bb4
-rw-r--r--poky/meta/recipes-support/debianutils/debianutils_4.8.6.1.bb57
-rw-r--r--poky/meta/recipes-support/debianutils/debianutils_4.8.6.3.bb55
-rw-r--r--poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb56
-rw-r--r--poky/meta/recipes-support/gnupg/gnupg_2.2.17.bb58
-rw-r--r--poky/meta/recipes-support/gnutls/gnutls/posix-shell.patch39
-rw-r--r--poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb4
-rw-r--r--poky/meta/recipes-support/gnutls/libtasn1/0001-stdint.m4-reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch63
-rw-r--r--poky/meta/recipes-support/gnutls/libtasn1/fix-gtkdoc.patch38
-rw-r--r--poky/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch31
-rw-r--r--poky/meta/recipes-support/gnutls/libtasn1_4.13.bb23
-rw-r--r--poky/meta/recipes-support/gnutls/libtasn1_4.14.bb24
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch24
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb85
-rw-r--r--poky/meta/recipes-support/gpgme/gpgme_1.13.1.bb85
-rw-r--r--poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb19
-rw-r--r--poky/meta/recipes-support/iso-codes/iso-codes_4.3.bb19
-rw-r--r--poky/meta/recipes-support/libbsd/libbsd/0001-flopen-Add-missing-fcntl.h-include.patch46
-rw-r--r--poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb41
-rw-r--r--poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb44
l---------poky/meta/recipes-support/libcap-ng/libcap-ng1
-rw-r--r--poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb2
-rw-r--r--poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch (renamed from poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch)0
-rw-r--r--poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb14
-rw-r--r--poky/meta/recipes-support/libevdev/libevdev_1.8.0.bb13
-rw-r--r--poky/meta/recipes-support/libevent/libevent/run-ptest41
-rw-r--r--poky/meta/recipes-support/libevent/libevent_2.1.10.bb46
-rw-r--r--poky/meta/recipes-support/libevent/libevent_2.1.11.bb49
-rw-r--r--poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch31
-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/0001-libffi-Support-musl-x32-build.patch30
-rw-r--r--poky/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch32
-rw-r--r--poky/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch177
-rw-r--r--poky/meta/recipes-support/libffi/libffi/not-win32.patch10
-rw-r--r--poky/meta/recipes-support/libffi/libffi_3.2.1.bb35
-rw-r--r--poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb40
-rw-r--r--poky/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch144
-rw-r--r--poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb1
-rw-r--r--poky/meta/recipes-support/libical/libical/0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch44
-rw-r--r--poky/meta/recipes-support/libical/libical_2.0.0.bb28
-rw-r--r--poky/meta/recipes-support/libical/libical_3.0.6.bb35
-rw-r--r--poky/meta/recipes-support/libmpc/libmpc_1.1.0.bb4
-rw-r--r--poky/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch38
-rw-r--r--poky/meta/recipes-support/libnl/libnl/fix-pc-file.patch17
-rw-r--r--poky/meta/recipes-support/libnl/libnl_3.4.0.bb46
-rw-r--r--poky/meta/recipes-support/libnl/libnl_3.5.0.bb42
-rw-r--r--poky/meta/recipes-support/libpsl/libpsl/0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch50
-rw-r--r--poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch2
-rw-r--r--poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb1
-rw-r--r--poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb2
-rw-r--r--poky/meta/recipes-support/libunwind/libunwind.inc3
-rw-r--r--poky/meta/recipes-support/libxslt/files/CVE-2019-13117.patch33
-rw-r--r--poky/meta/recipes-support/libxslt/files/CVE-2019-13118.patch76
-rw-r--r--poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb2
-rw-r--r--poky/meta/recipes-support/lz4/lz4_1.9.1.bb27
-rw-r--r--poky/meta/recipes-support/lz4/lz4_1.9.2.bb27
-rw-r--r--poky/meta/recipes-support/nettle/nettle-3.5.1/Add-target-to-only-build-tests-not-run-them.patch (renamed from poky/meta/recipes-support/nettle/nettle-3.4.1/Add-target-to-only-build-tests-not-run-them.patch)0
-rw-r--r--poky/meta/recipes-support/nettle/nettle-3.5.1/check-header-files-of-openssl-only-if-enable_.patch (renamed from poky/meta/recipes-support/nettle/nettle-3.4.1/check-header-files-of-openssl-only-if-enable_.patch)0
-rw-r--r--poky/meta/recipes-support/nettle/nettle-3.5.1/dlopen-test.patch (renamed from poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch)0
-rw-r--r--poky/meta/recipes-support/nettle/nettle-3.5.1/run-ptest (renamed from poky/meta/recipes-support/nettle/nettle-3.4.1/run-ptest)0
-rw-r--r--poky/meta/recipes-support/nettle/nettle_3.4.1.bb55
-rw-r--r--poky/meta/recipes-support/nettle/nettle_3.5.1.bb55
-rw-r--r--poky/meta/recipes-support/nss/nss_3.44.bb267
-rw-r--r--poky/meta/recipes-support/nss/nss_3.45.bb267
-rw-r--r--poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch45
-rw-r--r--poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch35
-rw-r--r--poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch76
-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.bb32
-rw-r--r--poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.2.bb28
-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/rngd.service3
-rw-r--r--poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb5
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3.inc13
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3_3.28.0.bb8
-rw-r--r--poky/meta/recipes-support/sqlite/sqlite3_3.29.0.bb8
-rw-r--r--poky/meta/recipes-support/vte/vte_0.56.1.bb57
-rw-r--r--poky/meta/recipes-support/vte/vte_0.56.3.bb57
-rw-r--r--poky/meta/recipes.txt3
-rwxr-xr-xpoky/scripts/buildstats-diff14
-rwxr-xr-xpoky/scripts/contrib/ddimage89
-rwxr-xr-xpoky/scripts/contrib/list-packageconfig-flags.py2
-rwxr-xr-xpoky/scripts/create-pull-request22
-rwxr-xr-xpoky/scripts/gen-lockedsig-cache47
-rw-r--r--poky/scripts/lib/buildstats.py6
-rw-r--r--poky/scripts/lib/checklayer/__init__.py2
-rw-r--r--poky/scripts/lib/checklayer/cases/common.py2
-rw-r--r--poky/scripts/lib/devtool/build.py13
-rw-r--r--poky/scripts/lib/devtool/menuconfig.py79
-rw-r--r--poky/scripts/lib/devtool/standard.py180
-rw-r--r--poky/scripts/lib/devtool/upgrade.py29
-rw-r--r--poky/scripts/lib/recipetool/create.py5
-rw-r--r--poky/scripts/lib/recipetool/create_buildsys_python.py9
-rw-r--r--poky/scripts/lib/resulttool/log.py70
-rw-r--r--poky/scripts/lib/resulttool/report.py60
-rw-r--r--poky/scripts/lib/resulttool/resultutils.py49
-rw-r--r--poky/scripts/lib/scriptutils.py43
-rw-r--r--poky/scripts/lib/wic/__init__.py2
-rw-r--r--poky/scripts/lib/wic/canned-wks/qemuriscv.wks3
-rw-r--r--poky/scripts/lib/wic/ksparser.py4
-rw-r--r--poky/scripts/lib/wic/partition.py26
-rw-r--r--poky/scripts/lib/wic/pluginbase.py2
-rw-r--r--poky/scripts/lib/wic/plugins/imager/direct.py74
-rw-r--r--poky/scripts/lib/wic/plugins/source/bootimg-biosplusefi.py213
-rw-r--r--poky/scripts/lib/wic/plugins/source/bootimg-efi.py18
-rw-r--r--poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py6
-rw-r--r--poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py19
-rwxr-xr-xpoky/scripts/oe-git-proxy21
-rwxr-xr-xpoky/scripts/oe-selftest2
-rw-r--r--poky/scripts/postinst-intercepts/update_gtk_icon_cache17
-rw-r--r--poky/scripts/postinst-intercepts/update_icon_cache16
-rwxr-xr-xpoky/scripts/runqemu246
-rwxr-xr-xpoky/scripts/tiny/ksum.py44
3594 files changed, 110449 insertions, 72081 deletions
diff --git a/meta-aspeed/conf/layer.conf b/meta-aspeed/conf/layer.conf
index 8c0d502cf..9741d26b2 100644
--- a/meta-aspeed/conf/layer.conf
+++ b/meta-aspeed/conf/layer.conf
@@ -7,6 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "aspeed-layer"
BBFILE_PATTERN_aspeed-layer := "^${LAYERDIR}/"
LAYERVERSION_aspeed-layer = "1"
-LAYERSERIES_COMPAT_aspeed-layer = "warrior"
-
-ASPEEDBASE = '${@os.path.normpath("${LAYERDIR}/")}'
+LAYERSERIES_COMPAT_aspeed-layer = "warrior zeus"
diff --git a/meta-aspeed/conf/machine/evb-ast2500.conf b/meta-aspeed/conf/machine/evb-ast2500.conf
index 2689d3796..e8aebd18f 100644
--- a/meta-aspeed/conf/machine/evb-ast2500.conf
+++ b/meta-aspeed/conf/machine/evb-ast2500.conf
@@ -2,3 +2,5 @@ KERNEL_DEVICETREE = "aspeed-ast2500-evb.dtb"
UBOOT_MACHINE = "ast_g5_phy_config"
require conf/machine/include/ast2500.inc
+
+SERIAL_CONSOLES = "115200;ttyS4"
diff --git a/meta-aspeed/conf/machine/evb-ast2600.conf b/meta-aspeed/conf/machine/evb-ast2600.conf
index fd72baa17..9c8c64963 100644
--- a/meta-aspeed/conf/machine/evb-ast2600.conf
+++ b/meta-aspeed/conf/machine/evb-ast2600.conf
@@ -2,3 +2,5 @@ KERNEL_DEVICETREE = "aspeed-ast2600-evb.dtb"
UBOOT_MACHINE = "evb-ast2600_defconfig"
require conf/machine/include/ast2600.inc
+
+SERIAL_CONSOLES = "115200;ttyS4"
diff --git a/meta-aspeed/conf/machine/include/aspeed.inc b/meta-aspeed/conf/machine/include/aspeed.inc
index e62af13b8..946eebccd 100644
--- a/meta-aspeed/conf/machine/include/aspeed.inc
+++ b/meta-aspeed/conf/machine/include/aspeed.inc
@@ -3,9 +3,28 @@ 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"
+# Build a FIT image and stuff core-image-minimal in it by default.
+KERNEL_IMAGETYPE ?= "fitImage"
+KERNEL_CLASSES ?= "kernel-fitimage"
+INITRAMFS_IMAGE ?= "aspeed-image-initramfs"
+INITRAMFS_FSTYPES ?= "cpio.xz"
+
+MACHINE_EXTRA_RRECOMMENDS += "udev-aspeed-vuart"
+
MACHINEOVERRIDES =. "aspeed:"
+
+SERIAL_CONSOLES ?= "115200;ttyS4"
+
+DEFAULTTUNE_aspeed-g5 ?= "arm1176jzs"
+DEFAULTTUNE_aspeed-g6 ?= "armv7a-vfpv4d16"
+
+UBOOT_ENTRYPOINT_aspeed-g4 ?= "0x40001000"
+UBOOT_ENTRYPOINT_aspeed-g5 ?= "0x80001000"
+UBOOT_ENTRYPOINT_aspeed-g6 ?= "0x80001000"
+UBOOT_LOADADDRESS_aspeed-g4 ?= "0x40001000"
+UBOOT_LOADADDRESS_aspeed-g5 ?= "0x80001000"
+UBOOT_LOADADDRESS_aspeed-g6 ?= "0x80001000"
diff --git a/meta-aspeed/conf/machine/include/ast2400.inc b/meta-aspeed/conf/machine/include/ast2400.inc
index a7c900aa7..6284a2b64 100644
--- a/meta-aspeed/conf/machine/include/ast2400.inc
+++ b/meta-aspeed/conf/machine/include/ast2400.inc
@@ -1,16 +1,4 @@
-#@TYPE: Machine
-#@NAME: Aspeed AST2400
-#@DESCRIPTION: Common machine configuration for the Aspeed AST2400 Chip
-
SOC_FAMILY = "aspeed-g4"
include conf/machine/include/soc-family.inc
require conf/machine/include/aspeed.inc
require conf/machine/include/tune-arm926ejs.inc
-
-UBOOT_MACHINE ?= "ast_g4_ncsi_config"
-UBOOT_ENTRYPOINT ?= "0x40001000"
-UBOOT_LOADADDRESS ?= "0x40001000"
-
-MACHINE_EXTRA_RDEPENDS += "udev-aspeed-vuart"
-
-SERIAL_CONSOLES = "115200;ttyS4"
diff --git a/meta-aspeed/conf/machine/include/ast2500.inc b/meta-aspeed/conf/machine/include/ast2500.inc
index 49a62110a..0724157a9 100644
--- a/meta-aspeed/conf/machine/include/ast2500.inc
+++ b/meta-aspeed/conf/machine/include/ast2500.inc
@@ -1,18 +1,4 @@
-#@TYPE: Machine
-#@NAME: Aspeed AST2500
-#@DESCRIPTION: Common machine configuration for the Aspeed AST2500 Chip
-
SOC_FAMILY = "aspeed-g5"
include conf/machine/include/soc-family.inc
require conf/machine/include/aspeed.inc
-
-DEFAULTTUNE ?= "arm1176jzs"
require conf/machine/include/tune-arm1176jz-s.inc
-
-UBOOT_MACHINE ?= "ast_g5_ncsi_config"
-UBOOT_ENTRYPOINT ?= "0x80001000"
-UBOOT_LOADADDRESS ?= "0x80001000"
-
-MACHINE_EXTRA_RDEPENDS += "udev-aspeed-vuart"
-
-SERIAL_CONSOLES = "115200;ttyS4"
diff --git a/meta-aspeed/conf/machine/include/ast2600.inc b/meta-aspeed/conf/machine/include/ast2600.inc
index 2dcaaf613..fff5465d9 100644
--- a/meta-aspeed/conf/machine/include/ast2600.inc
+++ b/meta-aspeed/conf/machine/include/ast2600.inc
@@ -1,7 +1,4 @@
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"
+include conf/machine/include/arm/arch-armv7a.inc
diff --git a/meta-aspeed/conf/machine/include/tune-arm1176jz-s.inc b/meta-aspeed/conf/machine/include/tune-arm1176jz-s.inc
deleted file mode 100644
index 5216533eb..000000000
--- a/meta-aspeed/conf/machine/include/tune-arm1176jz-s.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFAULTTUNE ?= "armv6t-novfp"
-
-require conf/machine/include/arm/arch-armv6.inc
-
-TUNEVALID[arm1176jzs] = "Enable arm1176jzs specific processor optimizations"
-TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm1176jzs", "-mtune=arm1176jz-s", "", d)}"
-
-AVAILTUNES += "arm1176jzs"
-ARMPKGARCH_tune-arm1176jzs = "${ARMPKGARCH_tune-armv6t-novfp}"
-TUNE_FEATURES_tune-arm1176jzs = "${TUNE_FEATURES_tune-armv6t-novfp} arm1176jzs"
-PACKAGE_EXTRA_ARCHS_tune-arm1176jzs = "${PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp}"
diff --git a/meta-aspeed/recipes-aspeed/images/aspeed-image-initramfs.bb b/meta-aspeed/recipes-aspeed/images/aspeed-image-initramfs.bb
new file mode 100644
index 000000000..9f4502103
--- /dev/null
+++ b/meta-aspeed/recipes-aspeed/images/aspeed-image-initramfs.bb
@@ -0,0 +1,3 @@
+IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
+
+require recipes-core/images/core-image-minimal.bb
diff --git a/meta-aspeed/recipes-aspeed/images/aspeed-image-norootfs.bb b/meta-aspeed/recipes-aspeed/images/aspeed-image-norootfs.bb
new file mode 100644
index 000000000..54c095bed
--- /dev/null
+++ b/meta-aspeed/recipes-aspeed/images/aspeed-image-norootfs.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Two partition MTD image with u-boot and kernel"
+HOMEPAGE = "https://github.com/openbmc/meta-aspeed"
+LICENSE = "MIT"
+
+inherit deploy
+
+UBOOT_SUFFIX ?= "bin"
+ASPEED_IMAGE_KERNEL_OFFSET_KB ?= "512"
+ASPEED_IMAGE_SIZE_KB ?= "32768"
+ASPEED_IMAGE_KERNEL_IMAGE ?= "fitImage-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE}"
+ASPEED_IMAGE_NAME ?= "aspeed-norootfs-${MACHINE}.bin"
+
+do_compile() {
+ dd if=/dev/zero bs=1k count=${ASPEED_IMAGE_SIZE_KB} | \
+ tr '\000' '\377' > ${B}/aspeed-norootfs.bin
+ dd if=${DEPLOY_DIR_IMAGE}/u-boot.${UBOOT_SUFFIX} of=${B}/aspeed-norootfs.bin \
+ conv=notrunc
+ dd if=${DEPLOY_DIR_IMAGE}/${ASPEED_IMAGE_KERNEL_IMAGE} \
+ of=${B}/aspeed-norootfs.bin conv=notrunc \
+ seek=${ASPEED_IMAGE_KERNEL_OFFSET_KB} bs=1k
+}
+
+do_deploy() {
+ install -m644 -D ${B}/aspeed-norootfs.bin ${DEPLOYDIR}/${ASPEED_IMAGE_NAME}
+}
+
+do_compile[depends] = "virtual/kernel:do_deploy u-boot:do_deploy"
+do_fetch[noexec] = "1"
+do_unpack[noexec] = "1"
+do_patch[noexec] = "1"
+do_configure[noexec] = "1"
+do_install[noexec] = "1"
+deltask do_populate_sysroot
+do_package[noexec] = "1"
+deltask do_package_qa
+do_packagedata[noexec] = "1"
+deltask do_package_write_ipk
+deltask do_package_write_deb
+deltask do_package_write_rpm
+addtask deploy before do_build after do_compile
diff --git a/meta-aspeed/recipes-bsp/u-boot/files/0001-arm-evb-ast2600-put-environment-back-at-512KiB.patch b/meta-aspeed/recipes-bsp/u-boot/files/0001-arm-evb-ast2600-put-environment-back-at-512KiB.patch
new file mode 100644
index 000000000..e010f26c1
--- /dev/null
+++ b/meta-aspeed/recipes-bsp/u-boot/files/0001-arm-evb-ast2600-put-environment-back-at-512KiB.patch
@@ -0,0 +1,47 @@
+From 2add5b8d1216be2e446a3d707767c2a5ec6be9f4 Mon Sep 17 00:00:00 2001
+From: Brad Bishop <bradleyb@fuzziesquirrel.com>
+Date: Thu, 5 Sep 2019 20:39:57 -0400
+Subject: [PATCH u-boot aspeed-dev-v2019.04] arm: evb-ast2600: put environment
+ back at 512KiB
+
+Prior to 473f430b90 the environment was at 512KiB, and compatible with
+OpenBMC. Restore OpenBMC compatibility by moving the environment back
+to 512KiB.
+
+Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
+---
+ include/configs/aspeed-common.h | 4 +++-
+ include/configs/evb_ast2600.h | 2 +-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/include/configs/aspeed-common.h b/include/configs/aspeed-common.h
+index 7a730d17ad..d1eb4688e6 100644
+--- a/include/configs/aspeed-common.h
++++ b/include/configs/aspeed-common.h
+@@ -52,7 +52,9 @@
+ /*
+ * Miscellaneous configurable options
+ */
+-#define CONFIG_BOOTCOMMAND "bootm 200a0000"
++#ifndef CONFIG_BOOTCOMMAND
++#define CONFIG_BOOTCOMMAND "bootm 20080000"
++#endif
+ #define CONFIG_ENV_OVERWRITE
+
+ #define CONFIG_SYS_BOOTM_LEN (0x800000 * 2)
+diff --git a/include/configs/evb_ast2600.h b/include/configs/evb_ast2600.h
+index b4de42a05a..3a12f2f0d4 100644
+--- a/include/configs/evb_ast2600.h
++++ b/include/configs/evb_ast2600.h
+@@ -18,7 +18,7 @@
+
+ /* Environment */
+ #define CONFIG_ENV_SIZE 0x10000
+-#define CONFIG_ENV_OFFSET 0x90000
++#define CONFIG_ENV_OFFSET 0x60000
+ #define CONFIG_ENV_SECT_SIZE (4 << 10)
+
+ #endif /* __CONFIG_H */
+--
+2.21.0
+
diff --git a/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk/flash-131072/bootcmd.cfg b/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk/flash-131072/bootcmd.cfg
new file mode 100644
index 000000000..6862aaeb7
--- /dev/null
+++ b/meta-aspeed/recipes-bsp/u-boot/u-boot-aspeed-sdk/flash-131072/bootcmd.cfg
@@ -0,0 +1,2 @@
+CONFIG_USE_BOOTCOMMAND=y
+CONFIG_BOOTCOMMAND="bootm 20100000"
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
index 7aa879cdf..31dc5f2c8 100644
--- 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
@@ -8,11 +8,16 @@ PE = "1"
# We use the revision in order to avoid having to fetch it from the
# repo during parse
-SRCREV = "d8ebf49e584e4e134bd8d1c445ef2da276a00e1a"
+SRCREV = "4d29b04c7aca4121d542b759575fbb93e52aef47"
-UBRANCH = "aspeed-master-v2019.04"
+UBRANCH = "aspeed-dev-v2019.04"
SRC_URI = "git://github.com/AspeedTech-BMC/u-boot;branch=${UBRANCH};protocol=https"
-SRC_URI += "file://0001-aspeed-Limit-bootm-memory.patch"
+SRC_URI += "file://0001-arm-evb-ast2600-put-environment-back-at-512KiB.patch"
+
+# There are different BOOTCOMMANDS for differently sized raw flash modules.
+ASPEED_IMAGE_SIZE_KB ?= "32768"
+MACHINEOVERRIDES .= ":flash-${ASPEED_IMAGE_SIZE_KB}"
+SRC_URI_append_flash-131072 = " file://bootcmd.cfg"
S = "${WORKDIR}/git"
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
deleted file mode 100644
index 92f922cb6..000000000
--- a/meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk/aspeed-g6/defconfig
+++ /dev/null
@@ -1,298 +0,0 @@
-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_HIGHMEM=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_8250_DW=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_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
-CONFIG_DEBUG_LL=y
-CONFIG_DEBUG_LL_UART_8250=y
-CONFIG_DEBUG_UART_PHYS=0x1e784000
-CONFIG_DEBUG_UART_VIRT=0xf8184000
-CONFIG_EARLY_PRINTK=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
deleted file mode 100644
index 1ca1ec547..000000000
--- a/meta-aspeed/recipes-kernel/linux/linux-aspeed-sdk_git.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-KBRANCH ?= "aspeed-master-v5.1"
-KSRC ?= "git://github.com/AspeedTech-BMC/linux;protocol=git;branch=${KBRANCH}"
-LINUX_VERSION ?= "5.1.3"
-
-SRCREV="466b2520fa3bbedad4da77d3eaad33d3f8838b7f"
-
-require linux-aspeed.inc
-
-# This must come after the require line
-SRC_URI += "file://0001-aspeed-espi-Clean-up-error-handling.patch"
diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig
new file mode 100644
index 000000000..43a77c1d2
--- /dev/null
+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig
@@ -0,0 +1,288 @@
+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_MULTI_V6=y
+CONFIG_ARCH_ASPEED=y
+CONFIG_MACH_ASPEED_G6=y
+# CONFIG_CACHE_L2X0 is not set
+CONFIG_SMP=y
+# CONFIG_ARM_CPU_TOPOLOGY is not set
+CONFIG_VMSPLIT_2G=y
+CONFIG_NR_CPUS=2
+CONFIG_HIGHMEM=y
+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_VFP=y
+CONFIG_NEON=y
+CONFIG_KERNEL_MODE_NEON=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_JUMP_LABEL=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
+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_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_NETFILTER=y
+# CONFIG_NETFILTER_ADVANCED is not set
+CONFIG_VLAN_8021Q=y
+CONFIG_NET_NCSI=y
+# CONFIG_WIRELESS is not set
+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_SPI_NOR=y
+# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
+CONFIG_SPI_ASPEED_SMC=y
+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_EEPROM_AT24=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_DM=y
+CONFIG_DM_VERITY=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=6
+CONFIG_SERIAL_8250_RUNTIME_UARTS=6
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_ASPEED_VUART=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DW=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_ASPEED_KCS_IPMI_BMC=y
+CONFIG_ASPEED_BT_IPMI_BMC=y
+CONFIG_HW_RANDOM_TIMERIOMEM=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX_PCA9541=y
+CONFIG_I2C_MUX_PCA954x=y
+CONFIG_I2C_ASPEED=y
+CONFIG_I2C_FSI=y
+CONFIG_SPI=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_ASPEED=y
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_W1=y
+CONFIG_W1_MASTER_GPIO=y
+CONFIG_W1_SLAVE_THERM=y
+CONFIG_SENSORS_ASPEED=y
+CONFIG_SENSORS_IIO_HWMON=y
+CONFIG_SENSORS_LM75=y
+CONFIG_SENSORS_NCT7904=y
+CONFIG_SENSORS_OCC_P8_I2C=y
+CONFIG_SENSORS_OCC_P9_SBE=y
+CONFIG_SENSORS_PECI_CPUTEMP=y
+CONFIG_SENSORS_PECI_DIMMTEMP=y
+CONFIG_PMBUS=y
+CONFIG_SENSORS_ADM1275=y
+CONFIG_SENSORS_IBM_CFFPS=y
+CONFIG_SENSORS_IR35221=y
+CONFIG_SENSORS_IR38064=y
+CONFIG_SENSORS_ISL68137=y
+CONFIG_SENSORS_LM25066=y
+CONFIG_SENSORS_MAX31785=y
+CONFIG_SENSORS_UCD9000=y
+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_GADGET=y
+CONFIG_USB_ASPEED_VHUB=y
+CONFIG_USB_CONFIGFS=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ASPEED=y
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS_FLASH=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEDS_PCA955X=y
+CONFIG_LEDS_PCA955X_GPIO=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+CONFIG_EDAC=y
+# CONFIG_EDAC_LEGACY_SYSFS is not set
+CONFIG_EDAC_ASPEED=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_DS1307=y
+CONFIG_RTC_DRV_PCF8523=y
+CONFIG_RTC_DRV_RV8803=y
+CONFIG_RTC_DRV_ASPEED=y
+# CONFIG_VIRTIO_MENU is not set
+# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_ASPEED_LPC_CTRL=y
+CONFIG_ASPEED_LPC_SNOOP=y
+CONFIG_ASPEED_P2A_CTRL=y
+CONFIG_IIO=y
+CONFIG_ASPEED_ADC=y
+CONFIG_MAX1363=y
+CONFIG_BMP280=y
+CONFIG_DPS310=y
+CONFIG_RAS=y
+CONFIG_FSI=y
+CONFIG_FSI_MASTER_HUB=y
+CONFIG_FSI_MASTER_ASPEED=y
+CONFIG_FSI_SCOM=y
+CONFIG_FSI_SBEFIFO=y
+CONFIG_FSI_OCC=y
+CONFIG_PECI=y
+CONFIG_PECI_ASPEED=y
+CONFIG_EXT4_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_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_BOOTPARAM_SOFTLOCKUP_PANIC=y
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
+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_git.bb b/meta-aspeed/recipes-kernel/linux/linux-aspeed_git.bb
index 09128491c..da191586e 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.2"
-LINUX_VERSION ?= "5.2"
+KBRANCH ?= "dev-5.3"
+LINUX_VERSION ?= "5.3.6"
-SRCREV="c01e98d1513042ae46909302c0b49a5db600e4a1"
+SRCREV="62d45cc8d76110a9e8e9107ff91420e89ef01681"
require linux-aspeed.inc
diff --git a/meta-evb/conf/layer.conf b/meta-evb/conf/layer.conf
index 0aca4aac1..f8f2d0e38 100644
--- a/meta-evb/conf/layer.conf
+++ b/meta-evb/conf/layer.conf
@@ -3,6 +3,3 @@ BBPATH .= ":${LAYERDIR}"
BBFILE_COLLECTIONS += "evb"
BBFILE_PATTERN_evb = ""
-
-# Provide a variable that points the base of the evb layer.
-EVBBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-evb/meta-evb-enclustra/conf/layer.conf b/meta-evb/meta-evb-enclustra/conf/layer.conf
index ce416b099..2520e3ce1 100644
--- a/meta-evb/meta-evb-enclustra/conf/layer.conf
+++ b/meta-evb/meta-evb-enclustra/conf/layer.conf
@@ -3,4 +3,4 @@ BBPATH .= ":${LAYERDIR}"
BBFILE_COLLECTIONS += "evb-enclustra"
BBFILE_PATTERN_evb-enclustra = ""
-LAYERSERIES_COMPAT_evb-enclustra = "sumo"
+LAYERSERIES_COMPAT_evb-enclustra = "thud warrior"
diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf
index 1053e7733..c981f73f9 100644
--- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf
+++ b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "evb-zx3-pm3"
BBFILE_PATTERN_evb-zx3-pm3 = ""
-LAYERSERIES_COMPAT_evb-zx3-pm3 = "sumo"
+LAYERSERIES_COMPAT_evb-zx3-pm3 = "thud warrior"
diff --git a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config-native.bb b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config-native.bb
index 711dcc327..64e0318ae 100644
--- a/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config-native.bb
+++ b/meta-evb/meta-evb-enclustra/meta-evb-zx3-pm3/recipes-phosphor/leds/evb-zx3-pm3-led-manager-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor LED Group Management for Enclustra Mars ZX3"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${EVBBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-facebook/conf/layer.conf b/meta-facebook/conf/layer.conf
index 3e5c15cb9..bc7b5deee 100644
--- a/meta-facebook/conf/layer.conf
+++ b/meta-facebook/conf/layer.conf
@@ -6,5 +6,5 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "facebook-layer"
-BBFILE_PATTERN_facebook-layer = ""
-LAYERSERIES_COMPAT_facebook-layer = "thud warrior"
+BBFILE_PATTERN_facebook-layer := "^${LAYERDIR}/"
+LAYERSERIES_COMPAT_facebook-layer := "warrior zeus"
diff --git a/meta-facebook/meta-tiogapass/conf/layer.conf b/meta-facebook/meta-tiogapass/conf/layer.conf
index e0be0649d..022aea9d5 100644
--- a/meta-facebook/meta-tiogapass/conf/layer.conf
+++ b/meta-facebook/meta-tiogapass/conf/layer.conf
@@ -6,4 +6,6 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "tiogapass-layer"
-BBFILE_PATTERN_tiogapass-layer = ""
+BBFILE_PATTERN_tiogapass-layer := "^${LAYERDIR}/"
+
+LAYERSERIES_COMPAT_tiogapass-layer := "warrior zeus"
diff --git a/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
new file mode 100644
index 000000000..fdeefd417
--- /dev/null
+++ b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rotate-event-logs.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Rotates the event logs
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/logrotate /etc/logrotate.d/logrotate.rsyslog
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rotate-event-logs.timer b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rotate-event-logs.timer
new file mode 100644
index 000000000..148f8e4ae
--- /dev/null
+++ b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rotate-event-logs.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=Run rotate-event-logs.service every minute
+
+[Timer]
+OnCalendar=*-*-* *:*:00
+
+[Install]
+WantedBy=timers.target
diff --git a/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.conf b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.conf
new file mode 100644
index 000000000..3aae03f31
--- /dev/null
+++ b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.conf
@@ -0,0 +1,36 @@
+# if you experience problems, check
+# http://www.rsyslog.com/troubleshoot for assistance
+
+# rsyslog v3: load input modules
+# If you do not load inputs, nothing happens!
+# You may need to set the module load path if modules are not found.
+#
+# Ported from debian's sysklogd.conf
+
+# Journal-style logging
+# Limit to no more than 2000 entries in one minute and enable the
+# journal workaround to avoid duplicate entries
+module(load="imjournal" StateFile="/var/log/state"
+ RateLimit.Interval="60"
+ RateLimit.Burst="2000")
+
+# Template for Redfish messages
+# "<timestamp> <MessageId>,<MessageArgs>"
+template(name="IPMISELTemplate" type="list") {
+ property(name="timereported" dateFormat="rfc3339")
+ constant(value=" ")
+ property(name="$!IPMISEL_MESSAGE_ID")
+ constant(value=", ")
+ property(name="$!IPMISEL_MESSAGE_ARGS")
+ constant(value="\n")
+}
+
+# If the journal entry has a Redfish MessageId, save as a Redfish event
+if ($!IPMISEL_MESSAGE_ID != "") then {
+ action(type="omfile" file="/var/log/ipmi_sel" template="IPMISELTemplate")
+}
+
+#
+# Include all config files in /etc/rsyslog.d/
+#
+$IncludeConfig /etc/rsyslog.d/*.conf
diff --git a/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
new file mode 100644
index 000000000..9eddafa13
--- /dev/null
+++ b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog/rsyslog.logrotate
@@ -0,0 +1,12 @@
+# /etc/logrotate.d/rsyslog - Ported from Debian
+
+# Keep up to four 64k files for ipmi_sel (256k total)
+/var/log/ipmi_sel
+{
+ rotate 3
+ size 64k
+ missingok
+ postrotate
+ systemctl reload rsyslog 2> /dev/null || true
+ endscript
+}
diff --git a/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog_%.bbappend b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog_%.bbappend
new file mode 100644
index 000000000..03a81e2cb
--- /dev/null
+++ b/meta-facebook/meta-tiogapass/recipes-extended/rsyslog/rsyslog_%.bbappend
@@ -0,0 +1,25 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+# Pin to rsyslog v8.1904.0 for now
+# v8.1903.0 has a couple issues with the imjournal module:
+# 1. Enabling the "WorkAroundJournalBug" option causes rsyslogd to fail to start
+# 2. Logging data especially while rotating the journal causes a double free error
+PV = "8.1904.0"
+SRC_URI[md5sum] = "b9398b5aa68a829bf2c18a87490d30c0"
+SRC_URI[sha256sum] = "7098b459dfc3f8bfc35d5b114c56e7945614ba76efa4e513b1db9c38b0ff9c3d"
+
+SRC_URI += "file://rsyslog.conf \
+ file://rsyslog.logrotate \
+ file://rotate-event-logs.service \
+ file://rotate-event-logs.timer \
+"
+
+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}
+ rm ${D}${sysconfdir}/rsyslog.d/imjournal.conf
+}
+
+SYSTEMD_SERVICE_${PN} += " rotate-event-logs.service rotate-event-logs.timer"
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 b6693e086..c1d1ff2ac 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
@@ -20,4 +20,6 @@ RDEPENDS_${PN}-system = " \
phosphor-ipmi-ipmb \
fb-ipmi-oem \
phosphor-pid-control \
+ phosphor-hostlogger \
+ ipmitool \
"
diff --git a/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json b/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
index 7964e6fa5..babb7dc74 100644
--- a/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
+++ b/meta-facebook/meta-tiogapass/recipes-phosphor/ipmi/phosphor-ipmi-config/channel_config.json
@@ -10,5 +10,5 @@
"session_supported" : "session-less",
"is_ipmi" : true
}
- },
+ }
}
diff --git a/meta-google/conf/layer.conf b/meta-google/conf/layer.conf
index bec624e88..982339c10 100644
--- a/meta-google/conf/layer.conf
+++ b/meta-google/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "google-layer"
BBFILE_PATTERN_google-layer := "^${LAYERDIR}/"
LAYERVERSION_google-layer = "1"
-LAYERSERIES_COMPAT_google-layer = "thud warrior"
+LAYERSERIES_COMPAT_google-layer = "warrior zeus"
diff --git a/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb b/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb
index 5a2021d5c..96cf6f6c4 100644
--- a/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb
+++ b/meta-google/recipes-google/ipmi/google-ipmi-sys_git.bb
@@ -18,7 +18,7 @@ DEPENDS += "nlohmann-json"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/google-ipmi-sys"
-SRCREV = "0885a9dad91d0d11e4296227b01d3d7091b5fc38"
+SRCREV = "cc53c847f14dd843bd7a7488822c1af52a5add11"
FILES_${PN}_append = " ${libdir}/ipmid-providers/lib*${SOLIBS}"
FILES_${PN}_append = " ${libdir}/host-ipmid/lib*${SOLIBS}"
diff --git a/meta-hxt/conf/layer.conf b/meta-hxt/conf/layer.conf
index ec6913af2..bc33c2b24 100644
--- a/meta-hxt/conf/layer.conf
+++ b/meta-hxt/conf/layer.conf
@@ -3,6 +3,3 @@ BBPATH .= ":${LAYERDIR}"
BBFILE_COLLECTIONS += "hxt"
BBFILE_PATTERN_hxt = ""
-
-# Provide a variable that points the base of the hxt layer.
-HXTBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client.bb b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client.bb
index 879f7a520..a0194c81b 100644
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client.bb
+++ b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/console/stardragon4800-rep2-console-client.bb
@@ -1,6 +1,6 @@
FILESEXTRAPATHS_prepend_stardragon4800-rep2 := "${THISDIR}/${PN}:"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${HXTBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
SRC_URI += "file://stardragon4800-rep2-console-client.sh"
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/socupdate.bb b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/socupdate.bb
index e2ae60afb..66a075551 100644
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/socupdate.bb
+++ b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/socupdate/socupdate.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "A sample script to help update the host(soc) firmware"
HOMEPAGE = ""
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${HXTBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
SRC_URI += "file://socupdate.sh"
diff --git a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb
index de5f7ae4f..ec8f0de13 100644
--- a/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb
+++ b/meta-hxt/meta-stardragon4800-rep2/recipes-phosphor/workbook/stardragon4800-rep2-config.bb
@@ -2,7 +2,7 @@ SUMMARY = "HXT Rep board wiring"
DESCRIPTION = "Board wiring information for the HXT Rep system."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${HXTBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit setuptools
diff --git a/meta-ibm/conf/layer.conf b/meta-ibm/conf/layer.conf
index f16cdee5f..4506bba62 100644
--- a/meta-ibm/conf/layer.conf
+++ b/meta-ibm/conf/layer.conf
@@ -7,7 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "ibm-layer"
BBFILE_PATTERN_ibm-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_ibm-layer = "thud warrior"
-
-# Provide a variable that points the base of the ibm layer.
-IBMBASE = '${@os.path.normpath("${LAYERDIR}/")}'
+LAYERSERIES_COMPAT_ibm-layer = "warrior zeus"
diff --git a/meta-ibm/meta-palmetto/conf/layer.conf b/meta-ibm/meta-palmetto/conf/layer.conf
index 0329e5dc5..0bbb885ed 100644
--- a/meta-ibm/meta-palmetto/conf/layer.conf
+++ b/meta-ibm/meta-palmetto/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "palmetto-layer"
BBFILE_PATTERN_palmetto-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_palmetto-layer = "thud warrior"
+LAYERSERIES_COMPAT_palmetto-layer = "warrior zeus"
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/configuration/palmetto-yaml-config.bb b/meta-ibm/meta-palmetto/recipes-phosphor/configuration/palmetto-yaml-config.bb
index 743b51fa8..44b47604d 100644
--- a/meta-ibm/meta-palmetto/recipes-phosphor/configuration/palmetto-yaml-config.bb
+++ b/meta-ibm/meta-palmetto/recipes-phosphor/configuration/palmetto-yaml-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "YAML configuration for Palmetto"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config-native.bb b/meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config-native.bb
index a7e8c6b74..ab6d5e314 100644
--- a/meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config-native.bb
+++ b/meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor LED Group Management for Palmetto"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-ibm/meta-palmetto/recipes-phosphor/occ/palmetto-occ-control-config-native.bb b/meta-ibm/meta-palmetto/recipes-phosphor/occ/palmetto-occ-control-config-native.bb
index 609c8437f..db5029597 100644
--- a/meta-ibm/meta-palmetto/recipes-phosphor/occ/palmetto-occ-control-config-native.bb
+++ b/meta-ibm/meta-palmetto/recipes-phosphor/occ/palmetto-occ-control-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Palmetto OCC Control sensor IDs"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-occ-control
diff --git a/meta-ibm/meta-romulus/conf/layer.conf b/meta-ibm/meta-romulus/conf/layer.conf
index 13858d5a5..5b20790b6 100644
--- a/meta-ibm/meta-romulus/conf/layer.conf
+++ b/meta-ibm/meta-romulus/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "romulus-layer"
BBFILE_PATTERN_romulus-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_romulus-layer = "thud warrior"
+LAYERSERIES_COMPAT_romulus-layer = "warrior zeus"
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/chassis/avsbus-control.bb b/meta-ibm/meta-romulus/recipes-phosphor/chassis/avsbus-control.bb
index ca45a1eb3..f7ed43038 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/chassis/avsbus-control.bb
+++ b/meta-ibm/meta-romulus/recipes-phosphor/chassis/avsbus-control.bb
@@ -1,7 +1,7 @@
SUMMARY = "Romulus AVSBus control"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/chassis/vrm-control.bb b/meta-ibm/meta-romulus/recipes-phosphor/chassis/vrm-control.bb
index ba38b8769..f0e6eb0ea 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/chassis/vrm-control.bb
+++ b/meta-ibm/meta-romulus/recipes-phosphor/chassis/vrm-control.bb
@@ -2,7 +2,7 @@ SUMMARY = "Romulus VRM Overrides"
DESCRIPTION = "Sets Rolumus VRMs to custom voltages"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/configuration/romulus-yaml-config.bb b/meta-ibm/meta-romulus/recipes-phosphor/configuration/romulus-yaml-config.bb
index a2f609eec..026471f7e 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/configuration/romulus-yaml-config.bb
+++ b/meta-ibm/meta-romulus/recipes-phosphor/configuration/romulus-yaml-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "YAML configuration for Romulus"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bbappend b/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bbappend
deleted file mode 100644
index 781af4fcf..000000000
--- a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-FILESEXTRAPATHS_prepend_romulus := "${THISDIR}/${BPN}:"
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend b/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend
deleted file mode 100644
index 3ec031946..000000000
--- a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan_%.bbappend
+++ /dev/null
@@ -1,21 +0,0 @@
-FILESEXTRAPATHS_prepend_romulus := "${THISDIR}/${BPN}:"
-
-# Package configuration
-FAN_PACKAGES += " \
- phosphor-cooling-type \
-"
-
-PACKAGECONFIG_append_romulus = " 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_romulus = " ${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}"
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button.bb b/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button.bb
index cd2bab996..6251786c3 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button.bb
+++ b/meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button.bb
@@ -1,7 +1,7 @@
SUMMARY = "Romulus ID Button pressed application"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config-native.bb b/meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config-native.bb
index 9b511e015..0ffdee9cd 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config-native.bb
+++ b/meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor LED Group Management for Romulus"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/logging/romulus-phosphor-logging-callouts-native.bb b/meta-ibm/meta-romulus/recipes-phosphor/logging/romulus-phosphor-logging-callouts-native.bb
index a6fd5b1f9..d62c2a399 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/logging/romulus-phosphor-logging-callouts-native.bb
+++ b/meta-ibm/meta-romulus/recipes-phosphor/logging/romulus-phosphor-logging-callouts-native.bb
@@ -1,7 +1,7 @@
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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-logging
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/occ/romulus-occ-control-config-native.bb b/meta-ibm/meta-romulus/recipes-phosphor/occ/romulus-occ-control-config-native.bb
index ec6a39df4..31fcd757b 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/occ/romulus-occ-control-config-native.bb
+++ b/meta-ibm/meta-romulus/recipes-phosphor/occ/romulus-occ-control-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Romulus OCC Control sensor IDs"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-occ-control
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/meta-romulus/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
index 920e529a5..6380ac256 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
+++ b/meta-ibm/meta-romulus/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -1,2 +1,2 @@
-RDEPENDS_${PN}-inventory_append_romulus = " openpower-occ-control phosphor-cooling-type id-button"
+RDEPENDS_${PN}-inventory_append_romulus = " openpower-occ-control id-button"
RDEPENDS_${PN}-extras_append_romulus = " phosphor-webui phosphor-image-signing"
diff --git a/meta-ibm/meta-witherspoon/conf/conf-notes.txt b/meta-ibm/meta-witherspoon/conf/conf-notes.txt
index 9b3c01a55..0c78d458d 100644
--- a/meta-ibm/meta-witherspoon/conf/conf-notes.txt
+++ b/meta-ibm/meta-witherspoon/conf/conf-notes.txt
@@ -1,2 +1,12 @@
-Common targets are:
- obmc-phosphor-image
+Sample meta-witherspoon build invocations:
+
+mihawk:
+DISTRO=openbmc-witherspoon MACHINE=mihawk bitbake obmc-phosphor-image
+swift:
+DISTRO=openbmc-witherspoon MACHINE=swift bitbake obmc-phosphor-image
+witherspoon:
+DISTRO=openbmc-witherspoon MACHINE=witherspoon bitbake obmc-phosphor-image
+witherspoon-tacoma:
+DISTRO=openbmc-openpower MACHINE=witherspoon-tacoma bitbake aspeed-image-norootfs
+witherspoon-128:
+DISTRO=openbmc-witherspoon MACHINE=witherspoon-128 bitbake obmc-phosphor-image
diff --git a/meta-ibm/meta-witherspoon/conf/layer.conf b/meta-ibm/meta-witherspoon/conf/layer.conf
index 62b067874..8cac30c39 100644
--- a/meta-ibm/meta-witherspoon/conf/layer.conf
+++ b/meta-ibm/meta-witherspoon/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "witherspoon-layer"
BBFILE_PATTERN_witherspoon-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_witherspoon-layer = "thud warrior"
+LAYERSERIES_COMPAT_witherspoon-layer = "warrior zeus"
diff --git a/meta-ibm/meta-witherspoon/conf/local.conf.sample b/meta-ibm/meta-witherspoon/conf/local.conf.sample
index 9dec7743d..d3a2303fc 100644
--- a/meta-ibm/meta-witherspoon/conf/local.conf.sample
+++ b/meta-ibm/meta-witherspoon/conf/local.conf.sample
@@ -1,3 +1,4 @@
+#MACHINE ?= "mihawk"
#MACHINE ?= "swift"
#MACHINE ?= "witherspoon-128"
MACHINE ??= "witherspoon"
diff --git a/meta-ibm/meta-witherspoon/conf/machine/mihawk.conf b/meta-ibm/meta-witherspoon/conf/machine/mihawk.conf
new file mode 100644
index 000000000..a296e79b0
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/conf/machine/mihawk.conf
@@ -0,0 +1,42 @@
+KMACHINE = "aspeed"
+KERNEL_DEVICETREE = "${KMACHINE}-bmc-opp-${MACHINE}.dtb"
+KERNEL_FEATURES_append = " phosphor-wdt-on-panic"
+
+UBOOT_MACHINE = "ast_g5_ncsi_config"
+
+OBMC_POWER_SUPPLY_INSTANCES = "0 1"
+
+PREFERRED_PROVIDER_virtual/p9-vcs-workaround = ''
+PREFERRED_PROVIDER_virtual/openpower-fru-vpd-layout = "mihawk-openpower-fru-vpd-layout-native"
+
+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
+require conf/distro/include/phosphor-aspeednic-use-mac2.inc
+
+PHOSPHOR_MRW_LICENSE = "Apache-2.0"
+PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+PHOSPHOR_MRW_URI = "git://github.com/open-power/mihawk-xml"
+PHOSPHOR_MRW_REV = "f6ec5aa0f9803d44b147a7670dec7ec935f59582"
+
+
+
+# Inhibit phosphor-hwmon-config-mrw
+VIRTUAL-RUNTIME_phosphor-hwmon-config_df-mrw = ""
+
+# Inhibit phosphor-fan-presence-mrw-native
+PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config_df-mrw = \
+ "phosphor-fan-presence-config"
+
+# Inhibit phosphor-fan-control-fan-config-mrw-native
+PREFERRED_PROVIDER_virtual/phosphor-fan-control-fan-config_df-mrw = \
+ "phosphor-fan-control-fan-config"
+
+# Inhibit mihawk-led-manager-config-native
+PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native_df-mrw = \
+ "mihawk-led-manager-config-native"
+
+PREFERRED_PROVIDER_virtual/phosphor-logging-callouts_df-mrw = "mihawk-phosphor-logging-callouts-native"
+
+PREFERRED_PROVIDER_virtual/openpower-fru-inventory_df-mrw = "mihawk-openpower-fru-inventory-native"
diff --git a/meta-ibm/meta-witherspoon/conf/machine/rainier.conf b/meta-ibm/meta-witherspoon/conf/machine/rainier.conf
new file mode 100644
index 000000000..81d808a7b
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/conf/machine/rainier.conf
@@ -0,0 +1,24 @@
+KERNEL_DEVICETREE = "aspeed-bmc-ibm-rainier.dtb"
+UBOOT_MACHINE = "evb-ast2600_defconfig"
+
+MACHINEOVERRIDES =. "ibm-ac-server:witherspoon:"
+require conf/machine/include/ast2600.inc
+require conf/machine/include/obmc-bsp-common.inc
+require conf/machine/include/openpower.inc
+
+SERIAL_CONSOLES = "115200;ttyS4"
+
+MRW_XML = "witherspoon.xml"
+PHOSPHOR_MRW_LICENSE = "Apache-2.0"
+PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+PHOSPHOR_MRW_URI = "git://github.com/open-power/witherspoon-xml"
+PHOSPHOR_MRW_REV = "c622cb5a5dd3ebc2a4eef558d1b70740f914e6f7"
+
+VIRTUAL-RUNTIME_phosphor-hwmon-config_df-mrw = ""
+
+PREFERRED_PROVIDER_virtual/phosphor-fan-control-fan-config_df-mrw = \
+ "phosphor-fan-control-fan-config"
+PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config_df-mrw = \
+ "phosphor-fan-presence-config"
+
+FLASH_SIZE = "131072"
diff --git a/meta-ibm/meta-witherspoon/conf/machine/witherspoon-tacoma.conf b/meta-ibm/meta-witherspoon/conf/machine/witherspoon-tacoma.conf
new file mode 100644
index 000000000..e8a38300b
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/conf/machine/witherspoon-tacoma.conf
@@ -0,0 +1,25 @@
+KERNEL_DEVICETREE = "aspeed-bmc-opp-tacoma.dtb"
+UBOOT_MACHINE = "evb-ast2600_defconfig"
+
+MACHINEOVERRIDES =. "ibm-ac-server:witherspoon:"
+require conf/machine/include/ast2600.inc
+require conf/machine/include/obmc-bsp-common.inc
+require conf/machine/include/openpower.inc
+require conf/machine/include/p9.inc
+
+SERIAL_CONSOLES = "115200;ttyS4"
+
+MRW_XML = "witherspoon.xml"
+PHOSPHOR_MRW_LICENSE = "Apache-2.0"
+PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+PHOSPHOR_MRW_URI = "git://github.com/open-power/witherspoon-xml"
+PHOSPHOR_MRW_REV = "c622cb5a5dd3ebc2a4eef558d1b70740f914e6f7"
+
+VIRTUAL-RUNTIME_phosphor-hwmon-config_df-mrw = ""
+
+PREFERRED_PROVIDER_virtual/phosphor-fan-control-fan-config_df-mrw = \
+ "phosphor-fan-control-fan-config"
+PREFERRED_PROVIDER_virtual/phosphor-fan-presence-config_df-mrw = \
+ "phosphor-fan-presence-config"
+
+FLASH_SIZE = "131072"
diff --git a/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf b/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf
index 3f7aedcb9..20f515907 100644
--- a/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf
+++ b/meta-ibm/meta-witherspoon/conf/machine/witherspoon.conf
@@ -19,7 +19,7 @@ require conf/machine/include/p9.inc
PHOSPHOR_MRW_LICENSE = "Apache-2.0"
PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
PHOSPHOR_MRW_URI = "git://github.com/open-power/witherspoon-xml"
-PHOSPHOR_MRW_REV = "e76c2fc5aeb512a0eb33438c239746de5b629885"
+PHOSPHOR_MRW_REV = "c622cb5a5dd3ebc2a4eef558d1b70740f914e6f7"
# Inhibit phosphor-hwmon-config-mrw
VIRTUAL-RUNTIME_phosphor-hwmon-config_df-mrw = ""
diff --git a/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Add-witherspoon-128-machine.patch b/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Add-witherspoon-128-machine.patch
new file mode 100644
index 000000000..86362db15
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Add-witherspoon-128-machine.patch
@@ -0,0 +1,94 @@
+From 4c69603d48eebce36aedd28fc572bb43c1146f9c Mon Sep 17 00:00:00 2001
+From: Eddie James <eajames@linux.ibm.com>
+Date: Wed, 2 Oct 2019 10:13:36 -0500
+Subject: [PATCH] ARM: dts: Aspeed: Add witherspoon-128 machine
+
+Create a witherspoon machine with 128MB flash chips.
+
+Signed-off-by: Eddie James <eajames@linux.ibm.com>
+---
+ arch/arm/boot/dts/Makefile | 1 +
+ .../dts/aspeed-bmc-opp-witherspoon-128.dts | 59 +++++++++++++++++++
+ 2 files changed, 60 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 3ad9706337a2..7f60d157ef5d 100644
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -1292,6 +1292,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
+ aspeed-bmc-opp-tacoma.dtb \
+ aspeed-bmc-opp-vesnin.dtb \
+ aspeed-bmc-opp-witherspoon.dtb \
++ aspeed-bmc-opp-witherspoon-128.dtb \
+ aspeed-bmc-opp-zaius.dtb \
+ aspeed-bmc-portwell-neptune.dtb \
+ 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 000000000000..1ba673a49334
+--- /dev/null
++++ b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon-128.dts
+@@ -0,0 +1,59 @@
++// SPDX-License-Identifier: GPL-2.0-or-later
++// Copyright 2019 IBM Corp.
++/dts-v1/;
++
++#include "aspeed-bmc-opp-witherspoon.dts"
++
++&fmc {
++ status = "okay";
++
++ flash@0 {
++ status = "okay";
++ label = "bmc";
++ m25p,fast-read;
++ spi-max-frequency = <100000000>;
++
++ partitions {
++ #address-cells = < 1 >;
++ #size-cells = < 1 >;
++ compatible = "fixed-partitions";
++ u-boot@0 {
++ reg = < 0 0x60000 >;
++ label = "u-boot";
++ };
++ u-boot-env@60000 {
++ reg = < 0x60000 0x20000 >;
++ label = "u-boot-env";
++ };
++ obmc-ubi@80000 {
++ reg = < 0x80000 0x7F80000>;
++ label = "obmc-ubi";
++ };
++ };
++ };
++
++ flash@1 {
++ status = "okay";
++ label = "alt-bmc";
++ m25p,fast-read;
++ spi-max-frequency = <100000000>;
++
++ partitions {
++ #address-cells = < 1 >;
++ #size-cells = < 1 >;
++ compatible = "fixed-partitions";
++ u-boot@0 {
++ reg = < 0 0x60000 >;
++ label = "alt-u-boot";
++ };
++ u-boot-env@60000 {
++ reg = < 0x60000 0x20000 >;
++ label = "alt-u-boot-env";
++ };
++ obmc-ubi@80000 {
++ reg = < 0x80000 0x7F80000>;
++ label = "alt-obmc-ubi";
++ };
++ };
++ };
++};
+--
+2.23.0
+
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
deleted file mode 100644
index b0e61ccd4..000000000
--- a/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/0001-ARM-dts-Aspeed-Witherspoon-128-Update-BMC-partitioni.patch
+++ /dev/null
@@ -1,744 +0,0 @@
-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
-
-Create a Witherspoon-128 dts based off Witherspoon but with 128MB
-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 | 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 eb6de52..833c354 100644
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -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 \
- aspeed-bmc-portwell-neptune.dtb \
- 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..36b4749
---- /dev/null
-+++ b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon-128.dts
-@@ -0,0 +1,708 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/dts-v1/;
-+#include "aspeed-g5.dtsi"
-+#include <dt-bindings/gpio/aspeed-gpio.h>
-+#include <dt-bindings/leds/leds-pca955x.h>
-+
-+/ {
-+ model = "Witherspoon BMC";
-+ compatible = "ibm,witherspoon-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;
-+
-+ flash_memory: region@98000000 {
-+ no-map;
-+ reg = <0x98000000 0x04000000>; /* 64M */
-+ };
-+
-+ gfx_memory: framebuffer {
-+ size = <0x01000000>;
-+ alignment = <0x01000000>;
-+ compatible = "shared-dma-pool";
-+ reusable;
-+ };
-+
-+ video_engine_memory: jpegbuffer {
-+ size = <0x02000000>; /* 32MM */
-+ alignment = <0x01000000>;
-+ compatible = "shared-dma-pool";
-+ reusable;
-+ };
-+ };
-+
-+ gpio-keys {
-+ compatible = "gpio-keys";
-+
-+ air-water {
-+ label = "air-water";
-+ gpios = <&gpio ASPEED_GPIO(B, 5) GPIO_ACTIVE_LOW>;
-+ linux,code = <ASPEED_GPIO(B, 5)>;
-+ };
-+
-+ checkstop {
-+ label = "checkstop";
-+ gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
-+ linux,code = <ASPEED_GPIO(J, 2)>;
-+ };
-+
-+ ps0-presence {
-+ label = "ps0-presence";
-+ gpios = <&gpio ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
-+ linux,code = <ASPEED_GPIO(P, 7)>;
-+ };
-+
-+ ps1-presence {
-+ label = "ps1-presence";
-+ gpios = <&gpio ASPEED_GPIO(N, 0) GPIO_ACTIVE_LOW>;
-+ linux,code = <ASPEED_GPIO(N, 0)>;
-+ };
-+ };
-+
-+ iio-hwmon-battery {
-+ compatible = "iio-hwmon";
-+ io-channels = <&adc 12>;
-+ };
-+
-+ gpio-keys-polled {
-+ compatible = "gpio-keys-polled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ poll-interval = <1000>;
-+
-+ fan0-presence {
-+ label = "fan0-presence";
-+ gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
-+ linux,code = <4>;
-+ };
-+
-+ fan1-presence {
-+ label = "fan1-presence";
-+ gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
-+ linux,code = <5>;
-+ };
-+
-+ fan2-presence {
-+ label = "fan2-presence";
-+ gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
-+ linux,code = <6>;
-+ };
-+
-+ fan3-presence {
-+ label = "fan3-presence";
-+ gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
-+ linux,code = <7>;
-+ };
-+ };
-+
-+ leds {
-+ compatible = "gpio-leds";
-+
-+ fan0 {
-+ retain-state-shutdown;
-+ default-state = "keep";
-+ gpios = <&pca0 0 GPIO_ACTIVE_LOW>;
-+ };
-+
-+ fan1 {
-+ retain-state-shutdown;
-+ default-state = "keep";
-+ gpios = <&pca0 1 GPIO_ACTIVE_LOW>;
-+ };
-+
-+ fan2 {
-+ retain-state-shutdown;
-+ default-state = "keep";
-+ gpios = <&pca0 2 GPIO_ACTIVE_LOW>;
-+ };
-+
-+ fan3 {
-+ retain-state-shutdown;
-+ default-state = "keep";
-+ gpios = <&pca0 3 GPIO_ACTIVE_LOW>;
-+ };
-+
-+ front-fault {
-+ retain-state-shutdown;
-+ default-state = "keep";
-+ gpios = <&pca0 13 GPIO_ACTIVE_LOW>;
-+ };
-+
-+ front-power {
-+ retain-state-shutdown;
-+ default-state = "keep";
-+ gpios = <&pca0 14 GPIO_ACTIVE_LOW>;
-+ };
-+
-+ front-id {
-+ retain-state-shutdown;
-+ default-state = "keep";
-+ gpios = <&pca0 15 GPIO_ACTIVE_LOW>;
-+ };
-+
-+ rear-fault {
-+ gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>;
-+ };
-+
-+ rear-id {
-+ gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_LOW>;
-+ };
-+
-+ rear-power {
-+ gpios = <&gpio ASPEED_GPIO(N, 3) GPIO_ACTIVE_LOW>;
-+ };
-+
-+ power-button {
-+ gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
-+ };
-+ };
-+
-+ fsi: gpio-fsi {
-+ compatible = "fsi-master-gpio", "fsi-master";
-+ #address-cells = <2>;
-+ #size-cells = <0>;
-+ no-gpio-delays;
-+
-+ clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
-+ data-gpios = <&gpio ASPEED_GPIO(E, 0) 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(R, 2) GPIO_ACTIVE_HIGH>;
-+ };
-+
-+ iio-hwmon-dps310 {
-+ compatible = "iio-hwmon";
-+ io-channels = <&dps 0>;
-+ };
-+
-+ iio-hwmon-bmp280 {
-+ compatible = "iio-hwmon";
-+ io-channels = <&bmp 1>;
-+ };
-+
-+};
-+
-+&fmc {
-+ status = "okay";
-+
-+ flash@0 {
-+ status = "okay";
-+ label = "bmc";
-+ m25p,fast-read;
-+ spi-max-frequency = <100000000>;
-+ partitions {
-+ #address-cells = < 1 >;
-+ #size-cells = < 1 >;
-+ compatible = "fixed-partitions";
-+ u-boot@0 {
-+ reg = < 0 0x60000 >;
-+ label = "u-boot";
-+ };
-+ u-boot-env@60000 {
-+ reg = < 0x60000 0x20000 >;
-+ label = "u-boot-env";
-+ };
-+ obmc-ubi@80000 {
-+ reg = < 0x80000 0x7F80000>;
-+ label = "obmc-ubi";
-+ };
-+ };
-+ };
-+
-+ flash@1 {
-+ status = "okay";
-+ label = "alt-bmc";
-+ m25p,fast-read;
-+ spi-max-frequency = <100000000>;
-+ partitions {
-+ #address-cells = < 1 >;
-+ #size-cells = < 1 >;
-+ compatible = "fixed-partitions";
-+ u-boot@0 {
-+ reg = < 0 0x60000 >;
-+ label = "alt-u-boot";
-+ };
-+ u-boot-env@60000 {
-+ reg = < 0x60000 0x20000 >;
-+ label = "alt-u-boot-env";
-+ };
-+ obmc-ubi@80000 {
-+ reg = < 0x80000 0x7F80000>;
-+ label = "alt-obmc-ubi";
-+ };
-+ };
-+ };
-+};
-+
-+&spi1 {
-+ status = "okay";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_spi1_default>;
-+
-+ flash@0 {
-+ status = "okay";
-+ label = "pnor";
-+ m25p,fast-read;
-+ spi-max-frequency = <100000000>;
-+ };
-+};
-+
-+&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>;
-+};
-+
-+&uart2 {
-+ /* APSS */
-+ status = "okay";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
-+};
-+
-+&uart5 {
-+ status = "okay";
-+};
-+
-+&lpc_ctrl {
-+ status = "okay";
-+ memory-region = <&flash_memory>;
-+ flash = <&spi1>;
-+};
-+
-+&mac0 {
-+ status = "okay";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_rmii1_default>;
-+ use-ncsi;
-+};
-+
-+&i2c2 {
-+ status = "okay";
-+
-+ /* MUX ->
-+ * Samtec 1
-+ * Samtec 2
-+ */
-+};
-+
-+&i2c3 {
-+ status = "okay";
-+
-+ bmp: bmp280@77 {
-+ compatible = "bosch,bmp280";
-+ reg = <0x77>;
-+ #io-channel-cells = <1>;
-+ };
-+
-+ max31785@52 {
-+ compatible = "maxim,max31785a";
-+ reg = <0x52>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ fan@0 {
-+ compatible = "pmbus-fan";
-+ reg = <0>;
-+ tach-pulses = <2>;
-+ maxim,fan-rotor-input = "tach";
-+ maxim,fan-pwm-freq = <25000>;
-+ maxim,fan-dual-tach;
-+ maxim,fan-no-watchdog;
-+ maxim,fan-no-fault-ramp;
-+ maxim,fan-ramp = <2>;
-+ maxim,fan-fault-pin-mon;
-+ };
-+
-+ fan@1 {
-+ compatible = "pmbus-fan";
-+ reg = <1>;
-+ tach-pulses = <2>;
-+ maxim,fan-rotor-input = "tach";
-+ maxim,fan-pwm-freq = <25000>;
-+ maxim,fan-dual-tach;
-+ maxim,fan-no-watchdog;
-+ maxim,fan-no-fault-ramp;
-+ maxim,fan-ramp = <2>;
-+ maxim,fan-fault-pin-mon;
-+ };
-+
-+ fan@2 {
-+ compatible = "pmbus-fan";
-+ reg = <2>;
-+ tach-pulses = <2>;
-+ maxim,fan-rotor-input = "tach";
-+ maxim,fan-pwm-freq = <25000>;
-+ maxim,fan-dual-tach;
-+ maxim,fan-no-watchdog;
-+ maxim,fan-no-fault-ramp;
-+ maxim,fan-ramp = <2>;
-+ maxim,fan-fault-pin-mon;
-+ };
-+
-+ fan@3 {
-+ compatible = "pmbus-fan";
-+ reg = <3>;
-+ tach-pulses = <2>;
-+ maxim,fan-rotor-input = "tach";
-+ maxim,fan-pwm-freq = <25000>;
-+ maxim,fan-dual-tach;
-+ maxim,fan-no-watchdog;
-+ maxim,fan-no-fault-ramp;
-+ maxim,fan-ramp = <2>;
-+ maxim,fan-fault-pin-mon;
-+ };
-+ };
-+
-+ dps: dps310@76 {
-+ compatible = "infineon,dps310";
-+ reg = <0x76>;
-+ #io-channel-cells = <0>;
-+ };
-+
-+ pca0: pca9552@60 {
-+ compatible = "nxp,pca9552";
-+ reg = <0x60>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ gpio-controller;
-+ #gpio-cells = <2>;
-+
-+ gpio@0 {
-+ reg = <0>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@1 {
-+ reg = <1>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@2 {
-+ reg = <2>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@3 {
-+ reg = <3>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@4 {
-+ reg = <4>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@5 {
-+ reg = <5>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@6 {
-+ reg = <6>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@7 {
-+ reg = <7>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@8 {
-+ reg = <8>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@9 {
-+ reg = <9>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@10 {
-+ reg = <10>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@11 {
-+ reg = <11>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@12 {
-+ reg = <12>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@13 {
-+ reg = <13>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@14 {
-+ reg = <14>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@15 {
-+ reg = <15>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+ };
-+
-+ power-supply@68 {
-+ compatible = "ibm,cffps1";
-+ reg = <0x68>;
-+ };
-+
-+ power-supply@69 {
-+ compatible = "ibm,cffps1";
-+ reg = <0x69>;
-+ };
-+};
-+
-+&i2c4 {
-+ status = "okay";
-+
-+ tmp423a@4c {
-+ compatible = "ti,tmp423";
-+ reg = <0x4c>;
-+ };
-+
-+ ir35221@70 {
-+ compatible = "infineon,ir35221";
-+ reg = <0x70>;
-+ };
-+
-+ ir35221@71 {
-+ compatible = "infineon,ir35221";
-+ reg = <0x71>;
-+ };
-+};
-+
-+
-+&i2c5 {
-+ status = "okay";
-+
-+ tmp423a@4c {
-+ compatible = "ti,tmp423";
-+ reg = <0x4c>;
-+ };
-+
-+ ir35221@70 {
-+ compatible = "infineon,ir35221";
-+ reg = <0x70>;
-+ };
-+
-+ ir35221@71 {
-+ compatible = "infineon,ir35221";
-+ reg = <0x71>;
-+ };
-+};
-+
-+&i2c9 {
-+ status = "okay";
-+
-+ tmp275@4a {
-+ compatible = "ti,tmp275";
-+ reg = <0x4a>;
-+ };
-+};
-+
-+&i2c10 {
-+ /* MUX
-+ * -> PCIe Slot 3
-+ * -> PCIe Slot 4
-+ */
-+ status = "okay";
-+};
-+
-+&i2c11 {
-+ status = "okay";
-+
-+ pca9552: pca9552@60 {
-+ compatible = "nxp,pca9552";
-+ reg = <0x60>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ gpio-controller;
-+ #gpio-cells = <2>;
-+
-+ gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N",
-+ "GPU0_TH_OVERT_N_BUFF", "GPU1_TH_OVERT_N_BUFF",
-+ "GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF",
-+ "GPU4_TH_OVERT_N_BUFF", "GPU5_TH_OVERT_N_BUFF",
-+ "GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF",
-+ "GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF",
-+ "GPU4_PWR_GOOD_BUFF", "GPU5_PWR_GOOD_BUFF",
-+ "12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N";
-+
-+ gpio@0 {
-+ reg = <0>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@1 {
-+ reg = <1>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@2 {
-+ reg = <2>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@3 {
-+ reg = <3>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@4 {
-+ reg = <4>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@5 {
-+ reg = <5>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@6 {
-+ reg = <6>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@7 {
-+ reg = <7>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@8 {
-+ reg = <8>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@9 {
-+ reg = <9>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@10 {
-+ reg = <10>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@11 {
-+ reg = <11>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@12 {
-+ reg = <12>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@13 {
-+ reg = <13>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@14 {
-+ reg = <14>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+
-+ gpio@15 {
-+ reg = <15>;
-+ type = <PCA955X_TYPE_GPIO>;
-+ };
-+ };
-+
-+ rtc@32 {
-+ compatible = "epson,rx8900";
-+ reg = <0x32>;
-+ };
-+
-+ eeprom@51 {
-+ compatible = "atmel,24c64";
-+ reg = <0x51>;
-+ };
-+
-+ ucd90160@64 {
-+ compatible = "ti,ucd90160";
-+ reg = <0x64>;
-+ };
-+};
-+
-+&i2c12 {
-+ status = "okay";
-+};
-+
-+&i2c13 {
-+ status = "okay";
-+};
-+
-+&vuart {
-+ status = "okay";
-+};
-+
-+&gfx {
-+ status = "okay";
-+ memory-region = <&gfx_memory>;
-+};
-+
-+&pinctrl {
-+ aspeed,external-nodes = <&gfx &lhc>;
-+};
-+
-+&wdt1 {
-+ aspeed,reset-type = "none";
-+ aspeed,external-signal;
-+ aspeed,ext-push-pull;
-+ aspeed,ext-active-high;
-+
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_wdtrst1_default>;
-+};
-+
-+&wdt2 {
-+ aspeed,alt-boot;
-+};
-+
-+&ibt {
-+ status = "okay";
-+};
-+
-+&adc {
-+ status = "okay";
-+};
-+
-+&vhub {
-+ status = "okay";
-+};
-+
-+&video {
-+ status = "okay";
-+ memory-region = <&video_engine_memory>;
-+};
-+
-+#include "ibm-power9-dual.dtsi"
---
-1.8.3.1
-
diff --git a/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/mihawk.cfg b/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/mihawk.cfg
new file mode 100644
index 000000000..63c39a9d4
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-kernel/linux/linux-aspeed/mihawk.cfg
@@ -0,0 +1,10 @@
+CONFIG_HWMON=y
+CONFIG_SENSORS_IIO_HWMON=y
+CONFIG_SENSORS_TMP421=y
+CONFIG_SENSORS_MAX31785=y
+CONFIG_SENSORS_UCD9000=y
+CONFIG_RTC_DRV_RV8803=y
+CONFIG_IIO=y
+CONFIG_BMP280=y
+CONFIG_SENSORS_TMP275=y
+CONFIG_SENSORS_EMC1403=y
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 fa249c015..6f9a382ac 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,4 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
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"
+SRC_URI_append_mihawk = " file://mihawk.cfg"
+SRC_URI_append_witherspoon-128 = " file://0001-ARM-dts-Aspeed-Add-witherspoon-128-machine.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 74e0968d3..2e98aaf90 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control.bb
@@ -1,7 +1,7 @@
-SUMMARY = "Witherspoon AVSBus control"
+SUMMARY = "AVSBus control"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit obmc-phosphor-systemd
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable.sh
new file mode 100755
index 000000000..96f6cf884
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+i2cset -y 4 0x70 0x00 0x00 b # VDD 0 - PAGE set
+i2cset -y 4 0x70 0x01 0x80 b # VDD 0
+i2cset -y 4 0x70 0x00 0x01 b # VCS 0 - PAGE set
+i2cset -y 4 0x70 0x01 0x80 b # VCS 0
+i2cset -y 4 0x70 0x00 0x00 b # VCS 0 - PAGE reset
+i2cset -y 4 0x72 0x00 0x00 b # VDN 0 - PAGE set
+i2cset -y 4 0x72 0x01 0x80 b # VDN 0
+i2cset -y 5 0x70 0x00 0x00 b # VDD 1 - PAGE set
+i2cset -y 5 0x70 0x01 0x80 b # VDD 1
+i2cset -y 5 0x70 0x00 0x01 b # VCS 1 - PAGE set
+i2cset -y 5 0x70 0x01 0x80 b # VCS 1
+i2cset -y 5 0x70 0x00 0x00 b # VCS 1 - PAGE reset
+i2cset -y 5 0x72 0x00 0x00 b # VDN 1 - PAGE set
+i2cset -y 5 0x72 0x01 0x80 b # VDN 1
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable@.service
new file mode 100755
index 000000000..7a1df9970
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-disable@.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Disable the AVS bus on the VRMs
+Wants=op-power-start@.service
+After=op-power-start@.service
+Before=avsbus-enable@%i.service
+Conflicts=obmc-chassis-poweroff@%i.target
+ConditionPathExists=!/run/openbmc/chassis@%i-on
+
+[Service]
+ExecStart=/usr/bin/env avsbus-disable.sh
+SyslogIdentifier=avsbus-disable.sh
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=obmc-chassis-poweron@%i.target
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable.sh
new file mode 100755
index 000000000..67acc730b
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+i2cset -y 4 0x70 0x00 0x00 b # VDD 0 - PAGE set
+i2cset -y 4 0x70 0x01 0xB0 b # VDD 0
+i2cset -y 4 0x70 0x00 0x01 b # VCS 0 - PAGE set
+i2cset -y 4 0x70 0x01 0xB0 b # VCS 0
+i2cset -y 4 0x70 0x00 0x00 b # VCS 0 - PAGE reset
+i2cset -y 4 0x72 0x00 0x00 b # VDN 0 - PAGE set
+i2cset -y 4 0x72 0x01 0xB0 b # VDN 0
+i2cset -y 5 0x70 0x00 0x00 b # VDD 1 - PAGE set
+i2cset -y 5 0x70 0x01 0xB0 b # VDD 1
+i2cset -y 5 0x70 0x00 0x01 b # VCS 1 - PAGE set
+i2cset -y 5 0x70 0x01 0xB0 b # VCS 1
+i2cset -y 5 0x70 0x00 0x00 b # VCS 1 - PAGE reset
+i2cset -y 5 0x72 0x00 0x00 b # VDN 1 - PAGE set
+i2cset -y 5 0x72 0x01 0xB0 b # VDN 1
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable@.service
new file mode 100755
index 000000000..810c92e23
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/mihawk/avsbus-enable@.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Enable the AVS bus on VRMs
+Wants=avsbus-disable@%i.service
+After=avsbus-disable@%i.service
+Conflicts=obmc-chassis-poweroff@%i.target
+ConditionPathExists=!/run/openbmc/chassis@%i-on
+
+[Service]
+ExecStart=/usr/bin/env avsbus-enable.sh
+SyslogIdentifier=avsbus-enable.sh
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=obmc-chassis-poweron@%i.target
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/avsbus-enable@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/avsbus-enable@.service
deleted file mode 100644
index 45776aa71..000000000
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/avsbus-control/swift/avsbus-enable@.service
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=Enable the AVS bus on VRMs
-Wants=op-power-start@%i.service
-Before=op-power-start@%i.service
-Conflicts=obmc-chassis-poweroff@%i.target
-ConditionPathExists=!/run/openbmc/chassis@%i-on
-
-[Service]
-ExecStart={bindir}/avsbus-enable.sh
-SyslogIdentifier=avsbus-enable.sh
-Type=oneshot
-RemainAfterExit=yes
-
-[Install]
-WantedBy=obmc-chassis-poweron@%i.target
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb
index 891620b0c..af8babb53 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/power-workarounds.bb
@@ -1,7 +1,7 @@
SUMMARY = "Power device Workarounds"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit obmc-phosphor-systemd
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 fe9463441..8a0d7a6eb 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control.bb
@@ -1,8 +1,8 @@
-SUMMARY = "Witherspoon VRM Overrides"
-DESCRIPTION = "Sets Witherspoon VRMs to custom voltages"
+SUMMARY = "VRM Overrides"
+DESCRIPTION = "Sets VRMs to custom voltages"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit obmc-phosphor-systemd
@@ -10,15 +10,18 @@ inherit obmc-phosphor-systemd
RDEPENDS_${PN} += "i2c-tools bash"
S = "${WORKDIR}"
-SRC_URI += "file://vrm-control.sh \
- file://ir35221-unbind-bind.sh"
+SRC_URI = "file://ir35221-unbind-bind.sh"
+SRC_URI_append_ibm-ac-server = " file://vrm-control.sh"
do_install() {
install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/vrm-control.sh ${D}${bindir}/vrm-control.sh
install -m 0755 ${WORKDIR}/ir35221-unbind-bind.sh ${D}${bindir}/ir35221-unbind-bind.sh
}
+do_install_append_ibm-ac-server() {
+ install -m 0755 ${WORKDIR}/vrm-control.sh ${D}${bindir}/vrm-control.sh
+}
+
TMPL = "vrm-control@.service"
INSTFMT = "vrm-control@{0}.service"
TGTFMT_ON = "obmc-chassis-poweron@{0}.target"
@@ -32,7 +35,8 @@ TMPL_ON_IRUNBIND = "ir35221-on-unbind@.service"
INSTFMT_ON_IRUNBIND = "ir35221-on-unbind@{0}.service"
FMT_ON_IRUNBIND = "../${TMPL_ON_IRUNBIND}:${TGTFMT_ON}.requires/${INSTFMT_ON_IRUNBIND}"
-SYSTEMD_SERVICE_${PN} += "${TMPL} ${TMPL_ON_IRUNBIND} ${TMPL_ON_IRBIND}"
-SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT_ON', 'OBMC_CHASSIS_INSTANCES')}"
+SYSTEMD_SERVICE_${PN} += "${TMPL_ON_IRUNBIND} ${TMPL_ON_IRBIND}"
+SYSTEMD_SERVICE_${PN}_append_ibm-ac-server = " ${TMPL}"
+SYSTEMD_LINK_${PN}_append_ibm-ac-server = " ${@compose_list(d, 'FMT_ON', 'OBMC_CHASSIS_INSTANCES')}"
SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT_ON_IRBIND', 'OBMC_CHASSIS_INSTANCES')}"
SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT_ON_IRUNBIND', 'OBMC_CHASSIS_INSTANCES')}"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh
new file mode 100755
index 000000000..27ca3b9dc
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh
@@ -0,0 +1,81 @@
+#!/bin/bash
+# #########################################################
+# Script to run on mihawk BMC to unbind/bind the ir35221
+# driver's devices
+
+status=0
+max_retries=3
+driver_path="/sys/bus/i2c/drivers/ir35221/"
+platform_path="/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/"
+
+unbind_driver () {
+ echo $1 > $driver_path/unbind
+}
+
+bind_driver () {
+ device=$1
+ tries=0
+
+ until [ $tries -ge $max_retries ]; do
+ tries=$((tries+1))
+ ret=0
+ echo $device > $driver_path/bind || ret=$?
+ if [ $ret -ne 0 ]; then
+ echo "VRM $1 bind failed. Try $tries"
+ sleep 1
+ else
+ tries=$((max_retries+1))
+ fi
+ done
+
+ #Script will return a nonzero value if any binds fail.
+ if [ $ret -ne 0 ]; then
+ status=$ret
+ fi
+}
+
+if [ "$1" = "unbind" ]
+then
+ if [ -e $driver_path/4-0070 ]
+ then
+ unbind_driver "4-0070"
+ fi
+
+ if [ -e $driver_path/4-0072 ]
+ then
+ unbind_driver "4-0072"
+ fi
+
+ if [ -e $driver_path/5-0070 ]
+ then
+ unbind_driver "5-0070"
+ fi
+
+ if [ -e $driver_path/5-0072 ]
+ then
+ unbind_driver "5-0072"
+ fi
+elif [ "$1" = "bind" ]
+then
+ if [ -e $platform_path/1e78a140.i2c-bus/i2c-4/4-0070 ]
+ then
+ bind_driver "4-0070"
+ fi
+
+ if [ -e $platform_path/1e78a140.i2c-bus/i2c-4/4-0072 ]
+ then
+ bind_driver "4-0072"
+ fi
+
+ if [ -e $platform_path/1e78a180.i2c-bus/i2c-5/5-0070 ]
+ then
+ bind_driver "5-0070"
+ fi
+
+ if [ -e $platform_path/1e78a180.i2c-bus/i2c-5/5-0072 ]
+ then
+ bind_driver "5-0072"
+ fi
+fi
+
+exit $status
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
index d0dbd60d8..5371c3a09 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config.bb
@@ -1,12 +1,12 @@
SUMMARY = "YAML configuration for ACx22 systems"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit mrw-xml
-SRC_URI = " \
+SRC_URI_ibm-ac-server = " \
file://acx22-ipmi-fru-bmc.yaml \
file://acx22-ipmi-fru-not-sent-by-host.yaml \
file://acx22-ipmi-hwmon-sensors.yaml \
@@ -14,7 +14,13 @@ SRC_URI = " \
file://acx22-ipmi-occ-sensors.yaml \
file://acx22-ipmi-sensors-mrw.yaml \
"
-
+SRC_URI_mihawk = " \
+ file://acx22-ipmi-fru-bmc.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 \
@@ -23,10 +29,13 @@ DEPENDS = " \
S = "${WORKDIR}"
-ACx22_IPMI_EXTRA_FRU_READ_YAMLS = " \
+ACx22_IPMI_EXTRA_FRU_READ_YAMLS_ibm-ac-server = " \
acx22-ipmi-fru-bmc.yaml \
acx22-ipmi-fru-not-sent-by-host.yaml \
"
+ACx22_IPMI_EXTRA_FRU_READ_YAMLS_mihawk = " \
+ acx22-ipmi-fru-bmc.yaml \
+ "
ACx22_IPMI_EXTRA_SENSOR_YAMLS = " \
acx22-ipmi-hwmon-sensors.yaml \
acx22-ipmi-occ-sensors.yaml \
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-fru-bmc.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-fru-bmc.yaml
new file mode 100644
index 000000000..57adcaf77
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-fru-bmc.yaml
@@ -0,0 +1,102 @@
+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
+54:
+ /system/chassis/motherboard/fan4:
+ entityID: 29
+ entityInstance: 5
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Product Name
+ IPMIFruSection: Product
+55:
+ /system/chassis/motherboard/fan5:
+ entityID: 29
+ entityInstance: 6
+ 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.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
+76:
+ /system/chassis/motherboard/powersupply1:
+ entityID: 10
+ entityInstance: 2
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Board Name
+ IPMIFruSection: Board
+ PartNumber:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Board
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Board
+ Model:
+ IPMIFruProperty: Model Number
+ IPMIFruSection: Board
+ Manufacturer:
+ IPMIFruProperty: Manufacturer
+ IPMIFruSection: Board
+ BuildDate:
+ IPMIFruProperty: Mfg Date
+ IPMIFruSection: Board
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-hwmon-sensors.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-hwmon-sensors.yaml
new file mode 100644
index 000000000..71b79b73b
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/configuration/acx22-yaml-config/mihawk/acx22-ipmi-hwmon-sensors.yaml
@@ -0,0 +1,504 @@
+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: 29
+ entityInstance: 9
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan4_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
+237:
+ bExp: 0
+ entityID: 29
+ entityInstance: 11
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 100
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/fan_tach/fan5_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
+238:
+ 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/storage_a_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: 2
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/storage_b_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: 3
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p0_vdd_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: 4
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/power/p1_vdd_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: 5
+ 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
+243:
+ bExp: 0
+ entityID: 10
+ entityInstance: 6
+ 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
+244:
+ bExp: 0
+ entityID: 10
+ entityInstance: 7
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ 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: 8
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 2
+ 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: 9
+ 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: 10
+ 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: 11
+ 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: 12
+ 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: 13
+ 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: 14
+ 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: 10
+ entityInstance: 15
+ 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
+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/p0_pcie_temp
+ 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: 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/p1_pcie_temp
+ 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
+255:
+ 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_temp
+ 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/console/obmc-console/mihawk/obmc-console.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/console/obmc-console/mihawk/obmc-console.conf
new file mode 100755
index 000000000..a5ba3f328
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/console/obmc-console/mihawk/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/dbus/events-policy.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/events-policy.bb
index f456e4287..52cb31313 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/events-policy.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/events-policy.bb
@@ -1,7 +1,7 @@
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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-dbus-monitor
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb
index 12194640d..f8355053d 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy.bb
@@ -1,7 +1,7 @@
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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-dbus-monitor
@@ -9,15 +9,20 @@ inherit phosphor-dbus-monitor
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
SRC_URI += "file://air-cooled.yaml"
-SRC_URI += "file://water-cooled.yaml"
+SRC_URI_append_ibm-ac-server = " file://water-cooled.yaml"
SRC_URI += "file://fan-errors.yaml"
-do_install() {
+do_install_append_ibm-ac-server() {
install -D ${WORKDIR}/air-cooled.yaml ${D}${config_dir}/air-cooled.yaml
install -D ${WORKDIR}/water-cooled.yaml ${D}${config_dir}/water-cooled.yaml
install -D ${WORKDIR}/fan-errors.yaml ${D}${config_dir}/fan-errors.yaml
}
+do_install_append_mihawk() {
+ install -D ${WORKDIR}/air-cooled.yaml ${D}${config_dir}/air-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}_append_ibm-ac-server = " ${config_dir}/water-cooled.yaml"
FILES_${PN} += "${config_dir}/fan-errors.yaml"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/air-cooled.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/air-cooled.yaml
new file mode 100644
index 000000000..52232e3f0
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/air-cooled.yaml
@@ -0,0 +1,339 @@
+# Air cooled mihawk fan policy for PDM.
+#
+# An air cooled mihawk requires a minimum of three functional fans
+# enclosures or six functional fan rotors across all enclosures.
+# If the number of functional fan enclosures is below three, soft poweroff
+# the system, whereas if the number of fan rotors drop below six, an
+# immediate hard poweroff of the system occurs.
+
+- name: fan enclosures
+ description: >
+ 'An air cooled mihawk has 6 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
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5
+
+- name: fan rotors
+ description: >
+ 'An air cooled Witherspoon has eight fan rotors to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_0
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan0/fan0_1
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1/fan1_0
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan1/fan1_1
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2/fan2_0
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan2/fan2_1
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3/fan3_0
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan3/fan3_1
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4/fan4_0
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4/fan4_1
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5/fan5_0
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5/fan5_1
+
+- name: chassis state
+ description: >
+ 'Witherspoon has a single chassis to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: CHASSISSTATE
+ path: /xyz/openbmc_project/state/chassis0
+
+- name: chassis
+ description: >
+ 'Witherspoon 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 fan rotor functional
+ description: >
+ 'Trigger logic on fan rotor functional state changes.'
+ class: watch
+ watch: property
+ paths: fan rotors
+ 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 and at least
+ six functional fan rotors, power off if not.'
+ class: callback
+ callback: group
+ members:
+ - check group presence
+ - check group functional enclosures
+ - check group functional rotors
+
+- 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: 6
+ 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 25 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: 25000000us
+ callback: log and shutdown
+ countop: '>'
+ countbound: 1
+ op: '=='
+ bound: false
+
+- name: check group functional rotors
+ description: >
+ 'If this condition passes more than two fan rotors in the group have been
+ marked as nonfunctional for 25 seconds. Immediately power off.
+ 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 rotors
+ properties: fan functional
+ defer: 25000000us
+ callback: log and poweroff
+ 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/mihawk/fan-errors.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/fan-errors.yaml
new file mode 100644
index 000000000..65cfbeb25
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/fan-policy/mihawk/fan-errors.yaml
@@ -0,0 +1,905 @@
+# Witherspoon fan error policy for PDM.
+#
+# * Create a NotPresent error if fan 0, 1, 2, 3, 4, or 5 is not present for more
+# than 20 seconds.
+# * Create a Nonfunctional error if fan 0, 1, 2, 3, 4, or 5 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: fan4
+ class: group
+ group: path
+ members:
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4
+
+- name: fan5
+ class: group
+ group: path
+ members:
+ - meta: FAN
+ path: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5
+
+
+- name: chassis state
+ description: >
+ 'Witherspoon has a single chassis to monitor.'
+ class: group
+ group: path
+ members:
+ - meta: CHASSISSTATE
+ path: /xyz/openbmc_project/state/chassis0
+
+- name: chassis
+ description: >
+ 'Witherspoon 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 fan4 presence
+ description: >
+ 'Trigger logic on fan4 presence state changes.'
+ class: watch
+ watch: property
+ paths: fan4
+ properties: fan present
+ callback: check power fan4 presence
+
+- name: watch fan4 functional
+ description: >
+ 'Trigger logic on fan4 functional state changes.'
+ class: watch
+ watch: property
+ paths: fan4
+ properties: fan functional
+ callback: check power fan4 functional
+
+- name: watch fan5 presence
+ description: >
+ 'Trigger logic on fan5 presence state changes.'
+ class: watch
+ watch: property
+ paths: fan5
+ properties: fan present
+ callback: check power fan5 presence
+
+- name: watch fan5 functional
+ description: >
+ 'Trigger logic on fan5 functional state changes.'
+ class: watch
+ watch: property
+ paths: fan5
+ properties: fan functional
+ callback: check power fan5 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: watch fan4 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: fan4
+ properties: fan present and functional
+ callback: resolve fan4 errors if present and functional
+
+- name: watch fan5 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: fan5
+ properties: fan present and functional
+ callback: resolve fan5 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 power fan4 presence
+ description: >
+ 'If the chassis has power, check presence of fan4.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan4 presence
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan4 functional
+ description: >
+ 'If the chassis has power, check functional of fan4.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan4 functional
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan5 presence
+ description: >
+ 'If the chassis has power, check presence of fan5.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan5 presence
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check power fan5 functional
+ description: >
+ 'If the chassis has power, check functional of fan5.'
+ class: condition
+ condition: count
+ paths: chassis state
+ properties: chassis powered
+ callback: check fan5 functional
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: xyz.openbmc_project.State.Chassis.PowerState.On
+
+- name: check fans
+ description: >
+ 'Verify each of the 12 fans are present.'
+ class: callback
+ callback: group
+ members:
+ - check fan0 presence
+ - check fan1 presence
+ - check fan2 presence
+ - check fan3 presence
+ - check fan4 presence
+ - check fan5 presence
+ - check fan0 functional
+ - check fan1 functional
+ - check fan2 functional
+ - check fan3 functional
+ - check fan4 functional
+ - check fan5 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 fan4 presence
+ description: >
+ 'If this condition passes fan4 has been unplugged for more than 20 seconds.'
+ class: condition
+ condition: count
+ paths: fan4
+ properties: fan present
+ defer: 20000000us
+ callback: notpresent fan4 error
+ countop: '<'
+ countbound: 1
+ op: '=='
+ bound: true
+
+- name: check fan4 functional
+ description: >
+ 'If this condition passes fan4 has been marked as nonfunctional.'
+ class: condition
+ condition: count
+ paths: fan4
+ properties: fan functional
+ callback: nonfunctional fan4 error
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: false
+
+- name: check fan5 presence
+ description: >
+ 'If this condition passes fan5 has been unplugged for more than 20 seconds.'
+ class: condition
+ condition: count
+ paths: fan5
+ properties: fan present
+ defer: 20000000us
+ callback: notpresent fan5 error
+ countop: '<'
+ countbound: 1
+ op: '=='
+ bound: true
+
+- name: check fan5 functional
+ description: >
+ 'If this condition passes fan5 has been marked as nonfunctional.'
+ class: condition
+ condition: count
+ paths: fan5
+ properties: fan functional
+ callback: nonfunctional fan5 error
+ countop: '>'
+ countbound: 0
+ op: '=='
+ bound: false
+
+- 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: notpresent fan4 error
+ class: callback
+ callback: elog
+ paths: fan4
+ 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/fan4
+ type: string
+
+- name: nonfunctional fan4 error
+ class: callback
+ callback: elog
+ paths: fan4
+ 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/fan4
+ type: string
+
+- name: notpresent fan5 error
+ class: callback
+ callback: elog
+ paths: fan5
+ 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/fan5
+ type: string
+
+- name: nonfunctional fan5 error
+ class: callback
+ callback: elog
+ paths: fan5
+ 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/fan5
+ 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
+
+- 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 fan4 errors if present and functional
+ description: >
+ 'If fan4 is present and functional, call the resolve fan4 errors callback.'
+ class: condition
+ condition: count
+ paths: fan4
+ properties: fan present and functional
+ callback: resolve fan4 errors
+ countop: '=='
+ countbound: 2
+ op: '=='
+ bound: true
+
+- name: resolve fan5 errors if present and functional
+ description: >
+ 'If fan5 is present and functional, call the resolve fan5 errors callback.'
+ class: condition
+ condition: count
+ paths: fan5
+ properties: fan present and functional
+ callback: resolve fan5 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
+
+- name: resolve fan4 errors
+ class: callback
+ callback: resolve callout
+ paths: fan4
+ properties: fan present and functional
+ callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan4
+
+- name: resolve fan5 errors
+ class: callback
+ callback: resolve callout
+ paths: fan5
+ properties: fan present and functional
+ callout: /xyz/openbmc_project/inventory/system/chassis/motherboard/fan5
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
index 185db1033..3a18960ea 100644
--- 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
@@ -2,3 +2,7 @@ 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"
+PHOSPHOR_DBUS_MONITOR_CONFIGS_append_mihawk = " fan-policy"
+PHOSPHOR_DBUS_MONITOR_CONFIGS_append_mihawk = " thermal-policy"
+PHOSPHOR_DBUS_MONITOR_CONFIGS_append_mihawk = " power-supply-policy"
+PHOSPHOR_DBUS_MONITOR_CONFIGS_append_mihawk = " 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 8e1bf41fa..5c9d0b15c 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,2 @@
SYSTEMD_LINK_phosphor-msl-verify_append_ibm-ac-server = " ../phosphor-msl-verify.service:obmc-chassis-poweron@0.target.requires/phosphor-msl-verify.service"
+SYSTEMD_LINK_phosphor-msl-verify_append_mihawk = " ../phosphor-msl-verify.service:obmc-chassis-poweron@0.target.requires/phosphor-msl-verify.service"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy.bb
index 27d60fb34..8d3df4600 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/power-supply-policy.bb
@@ -1,7 +1,7 @@
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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-dbus-monitor
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb
index 9fb7d252b..b5b38baa3 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy.bb
@@ -1,14 +1,14 @@
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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-dbus-monitor
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-SRC_URI += "file://thermal-policy.yaml"
+SRC_URI = "file://thermal-policy.yaml"
do_install() {
install -D ${WORKDIR}/thermal-policy.yaml ${D}${config_dir}/thermal-policy.yaml
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/thermal-policy.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/ibm-ac-server/thermal-policy.yaml
index 7c48509c5..7c48509c5 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/thermal-policy.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/ibm-ac-server/thermal-policy.yaml
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/mihawk/thermal-policy.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/mihawk/thermal-policy.yaml
new file mode 100644
index 000000000..f8e89b2ed
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/dbus/thermal-policy/mihawk/thermal-policy.yaml
@@ -0,0 +1,187 @@
+# Mihawk thermal policy for PDM.
+#
+# Shut down the system if more than three cores
+# have a temperature greater than 100 degrees Celcius.
+
+
+- name: core sensors
+ description: >
+ 'The machine has two processor chips with 24 cores each.'
+ class: group
+ group: path
+ members:
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core0_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core1_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core2_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core3_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core4_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core5_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core6_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core7_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core8_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core9_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core10_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core11_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core12_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core13_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core14_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core15_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core16_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core17_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core18_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core19_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core20_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core21_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core22_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p0_core23_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core0_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core1_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core2_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core3_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core4_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core5_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core6_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core7_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core8_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core9_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core10_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core11_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core12_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core13_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core14_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core15_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core16_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core17_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core18_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core19_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core20_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core21_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core22_temp
+ - meta: SENSOR
+ path: /xyz/openbmc_project/sensors/temperature/p1_core23_temp
+
+- name: core temp
+ description: >
+ 'Monitor the temperature of each core.'
+ class: group
+ group: property
+ type: int64
+ members:
+ - interface: xyz.openbmc_project.Sensor.Value
+ meta: TEMP
+ property: Value
+
+- name: watch core temps
+ description: >
+ 'Trigger logic on core temp changes.'
+ class: watch
+ watch: property
+ paths: core sensors
+ properties: core temp
+ callback: check temps
+
+- name: check temps
+ description: >
+ 'If this condition passes at least three cores are running
+ too hot. Shut the system down.'
+ class: condition
+ condition: count
+ paths: core sensors
+ properties: core temp
+ callback: log and shutdown
+ countop: '>='
+ countbound: 3
+ op: '>='
+ bound: 115000
+ oneshot: true
+
+- name: log and shutdown
+ description: >
+ 'Shut the system down and log an event.'
+ class: callback
+ callback: group
+ members:
+ - shutdown
+ - create criticalhigh error
+ - create shutdown error
+
+- 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-chassis-hard-poweroff@0.target
+ type: string
+ - value: replace
+ type: string
+
+- name: create criticalhigh error
+ description: >
+ 'Create a CriticalHigh Error log.'
+ class: callback
+ callback: elog_with_metadata
+ paths: core sensors
+ properties: core temp
+ error: xyz::openbmc_project::Sensor::Threshold::Error::CriticalHigh
+ metadata: xyz::openbmc_project::Sensor::Threshold::CriticalHigh::SENSOR_DATA
+
+- name: create shutdown error
+ description: >
+ 'Create a SystemShutdown Error log.'
+ class: callback
+ callback: elog
+ paths: core sensors
+ properties: core temp
+ error: xyz::openbmc_project::State::Shutdown::ThermalEvent::Error::Processor
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml
new file mode 100644
index 000000000..ec63490f3
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-events-config/mihawk/events.yaml
@@ -0,0 +1,715 @@
+groups:
+ - name: zone0_control_mode
+ description: Thermal control mode for zone 0
+ service: xyz.openbmc_project.Control.Thermal
+ type: /xyz/openbmc_project/control/thermal
+ members:
+ - /0
+ - 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
+ - /system/chassis/motherboard/fan4
+ - /system/chassis/motherboard/fan5
+ - name: zone0_ambient
+ description: Group of ambient temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/ambient_temp
+ - 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
+ - /temperature/dimm16_temp
+ - /temperature/dimm17_temp
+ - /temperature/dimm18_temp
+ - /temperature/dimm19_temp
+ - /temperature/dimm20_temp
+ - /temperature/dimm21_temp
+ - /temperature/dimm22_temp
+ - /temperature/dimm23_temp
+ - /temperature/dimm24_temp
+ - /temperature/dimm25_temp
+ - /temperature/dimm26_temp
+ - /temperature/dimm27_temp
+ - /temperature/dimm28_temp
+ - /temperature/dimm29_temp
+ - /temperature/dimm30_temp
+ - /temperature/dimm31_temp
+ - name: zone0_onboard
+ description: Group of onboard temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/p0_pcie_temp
+ - /temperature/p1_pcie_temp
+ - name: zone0_vrd
+ description: Group of vrd temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/p0_vcs_temp
+ - /temperature/p0_vdn_temp
+ - /temperature/p1_vcs_temp
+ - /temperature/p1_vdn_temp
+ - /temperature/p0_vdd_temp
+ - /temperature/p1_vdd_temp
+ - name: zone0_gpu
+ description: Group of gpu temperature sensors for zone 0
+ type: /xyz/openbmc_project/sensors
+ members:
+ - /temperature/gpu0
+ - /temperature/gpu1
+ - /temperature/gpu2
+ - /temperature/gpu3
+ - /temperature/gpu4
+ - /temperature/gpu5
+ - /temperature/gpu6
+ - /temperature/gpu7
+matches:
+ - name: propertiesChanged
+ parameters:
+ - object
+ - interface
+ - name: interfacesAdded
+ parameters:
+ - object
+ - name: interfacesRemoved
+ 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: interfacesRemoved
+ description: >
+ An interfaces removed match
+ parameters:
+ - object
+ - interface
+ 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
+ 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
+ - name: removeInterface
+ description: >
+ Removes an interface(and all associated properties) on the
+ given object from use within all event actions
+ parameters:
+ - object
+ - interface
+
+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
+ - name: use_alternate_events_on_state
+ description: >
+ Replaces a set of default events with an alternate set of events
+ when all the group properties are at a given state
+ parameters:
+ - property
+ - defevents
+ - altevents
+
+events:
+ - name: missing_or_fails_before_high_speed_air
+ groups:
+ - name: air_cooled_zone0_fans
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Inventory.Item
+ property:
+ name: Present
+ type: bool
+ - name: air_cooled_zone0_fans
+ 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: 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_control_mode
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Control.ThermalMode
+ property:
+ name: Current
+ type: std::string
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: use_alternate_events_on_state
+ property:
+ value: CUSTOM
+ type: std::string
+ defevents:
+ - name: default_floor_boundary
+ groups:
+ - name: zone0_ambient
+ 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: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: set_floor_from_average_sensor_value
+ map:
+ value:
+ - 25000: 85
+ - 26000: 85
+ - 28000: 97
+ - 31000: 116
+ - 33000: 128
+ - 36000: 148
+ - 38000: 160
+ - 41000: 255
+ type: std::map<int64_t, uint64_t>
+ - name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 255
+ - 27000: 255
+ type: std::map<int64_t, uint64_t>
+ altevents:
+ - name: alternate_floor_boundary
+ groups:
+ - name: zone0_ambient
+ 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: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: set_floor_from_average_sensor_value
+ map:
+ value:
+ - 25000: 255
+ - 26000: 255
+ - 28000: 255
+ - 31000: 255
+ - 33000: 255
+ - 36000: 255
+ - 38000: 255
+ - 41000: 255
+ type: std::map<int64_t, uint64_t>
+ - name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 255
+ - 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_onboard
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ - name: zone0_vrd
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ - 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
+ - name: zone0_gpu
+ 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
+ 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
+ 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: 255
+ type: uint64_t
+ - name: 1sec_speed_change_request_sampling
+ triggers:
+ - name: timer
+ interval: 1000000
+ type: repeating
+ actions:
+ # Speed changes based on onboard temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_onboard
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 50000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 8
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_onboard
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 47000
+ type: int64_t
+ factor:
+ value: 3000
+ type: int64_t
+ delta:
+ value: 3
+ type: uint64_t
+ # Speed changes based on vrd temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_vrd
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 90000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 5
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_vrd
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 85000
+ type: int64_t
+ factor:
+ value: 3000
+ type: int64_t
+ delta:
+ value: 3
+ 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: 75000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 13
+ 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: 7000
+ type: int64_t
+ delta:
+ value: 5
+ 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: 80000
+ type: int64_t
+ factor:
+ value: 1000
+ type: int64_t
+ delta:
+ value: 8
+ 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: 75000
+ type: int64_t
+ factor:
+ value: 3000
+ type: int64_t
+ delta:
+ value: 3
+ type: uint64_t
+ # Speed changes based on gpu temps
+ - name: set_net_increase_speed
+ groups:
+ - name: zone0_gpu
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 70
+ type: int64_t
+ factor:
+ value: 1
+ type: int64_t
+ delta:
+ value: 13
+ type: uint64_t
+ - name: set_net_decrease_speed
+ groups:
+ - name: zone0_gpu
+ interface: xyz.openbmc_project.Sensor.Value
+ property:
+ name: Value
+ type: int64_t
+ property:
+ value: 67
+ type: int64_t
+ factor:
+ value: 4
+ type: int64_t
+ delta:
+ value: 5
+ type: uint64_t
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 74a34e081..5534cb6cd 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
@@ -1,4 +1,9 @@
groups:
+ - name: poweron_pgood
+ description: System poweron pgood state
+ type: /org/openbmc/control
+ members:
+ - /power0
- name: zone0_control_mode
description: Thermal control mode for zone 0
service: xyz.openbmc_project.Control.Thermal
@@ -353,202 +358,220 @@ events:
speed:
value: 10500
type: uint64_t
- - name: missing_or_fails_before_high_speed_air
- groups:
- - name: air_cooled_zone0_fans
- zone_conditions:
- - name: air_cooled_chassis
- zones:
- - 0
- interface: xyz.openbmc_project.Inventory.Item
- property:
- name: Present
- type: bool
- - name: air_cooled_zone0_fans
- 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: propertiesChanged
- handler: setProperty
- actions:
- - name: count_state_before_speed
- count: 1
- property:
- value: false
- type: bool
- speed:
- value: 10500
- type: uint64_t
- - name: missing_or_fails_before_high_speed_water_and_air
- groups:
- - name: water_and_air_cooled_zone0_fans
- zone_conditions:
- - name: water_and_air_cooled_chassis
- zones:
- - 0
- interface: xyz.openbmc_project.Inventory.Item
- property:
- name: Present
- type: bool
- - name: water_and_air_cooled_zone0_fans
- zone_conditions:
- - name: water_and_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: propertiesChanged
- handler: setProperty
- actions:
- - name: count_state_before_speed
- count: 1
- property:
- value: false
- type: bool
- speed:
- value: 10500
- type: uint64_t
- - name: set_air_cooled_speed_boundaries_based_on_ambient
- groups:
- - name: zone0_control_mode
- zone_conditions:
- - name: air_cooled_chassis
- zones:
- - 0
- interface: xyz.openbmc_project.Control.ThermalMode
- property:
- name: Current
- type: std::string
- triggers:
- - name: init
- method: getProperties
- handler: setProperty
- - name: signal
- signal: propertiesChanged
- handler: setProperty
- actions:
- - name: use_alternate_events_on_state
- property:
- value: CUSTOM
- type: std::string
- defevents:
- - name: default_floor_boundary
- groups:
- - name: zone0_ambient
- 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: propertiesChanged
- handler: setProperty
- actions:
- - name: set_floor_from_average_sensor_value
- map:
- value:
- - 27000: 3500
- - 32000: 4600
- - 37000: 5200
- - 40000: 5800
- type: std::map<int64_t, uint64_t>
- - name: set_ceiling_from_average_sensor_value
- map:
- value:
- - 25000: 7200
- - 27000: 10500
- type: std::map<int64_t, uint64_t>
- altevents:
- - name: alternate_floor_boundary
- groups:
- - name: zone0_ambient
- 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: propertiesChanged
- handler: setProperty
- actions:
- - name: set_floor_from_average_sensor_value
- map:
- value:
- - 27000: 4600
- - 32000: 5000
- - 37000: 5400
- - 40000: 5800
- type: std::map<int64_t, uint64_t>
- - name: set_ceiling_from_average_sensor_value
- map:
- value:
- - 25000: 7200
- - 27000: 10500
- type: std::map<int64_t, uint64_t>
- - name: set_water_cooled_speed_boundaries_based_on_ambient
- groups:
- - name: zone0_ambient
- zone_conditions:
- - name: water_and_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: propertiesChanged
- handler: setProperty
- actions:
- - name: set_floor_from_average_sensor_value
- map:
- value:
- - 27000: 3000
- - 32000: 4300
- - 37000: 5000
- - 40000: 5800
- type: std::map<int64_t, uint64_t>
- - name: set_ceiling_from_average_sensor_value
- map:
- value:
- - 25000: 7200
- - 27000: 10500
- type: std::map<int64_t, uint64_t>
+ - name: full_speed_at_power_on
+ precondition:
+ name: property_states_match
+ groups:
+ - name: poweron_pgood
+ interface: org.openbmc.control.Power
+ property:
+ name: pgood
+ type: int32_t
+ value: 1
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ events:
+ - name: missing_or_fails_before_high_speed_air
+ groups:
+ - name: air_cooled_zone0_fans
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Inventory.Item
+ property:
+ name: Present
+ type: bool
+ - name: air_cooled_zone0_fans
+ 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: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: count_state_before_speed
+ count: 1
+ property:
+ value: false
+ type: bool
+ speed:
+ value: 10500
+ type: uint64_t
+ - name: missing_or_fails_before_high_speed_water_and_air
+ groups:
+ - name: water_and_air_cooled_zone0_fans
+ zone_conditions:
+ - name: water_and_air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Inventory.Item
+ property:
+ name: Present
+ type: bool
+ - name: water_and_air_cooled_zone0_fans
+ zone_conditions:
+ - name: water_and_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: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: count_state_before_speed
+ count: 1
+ property:
+ value: false
+ type: bool
+ speed:
+ value: 10500
+ type: uint64_t
+ - name: set_air_cooled_speed_boundaries_based_on_ambient
+ groups:
+ - name: zone0_control_mode
+ zone_conditions:
+ - name: air_cooled_chassis
+ zones:
+ - 0
+ interface: xyz.openbmc_project.Control.ThermalMode
+ property:
+ name: Current
+ type: std::string
+ triggers:
+ - name: init
+ method: getProperties
+ handler: setProperty
+ - name: signal
+ signal: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: use_alternate_events_on_state
+ property:
+ value: CUSTOM
+ type: std::string
+ defevents:
+ - name: default_floor_boundary
+ groups:
+ - name: zone0_ambient
+ 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: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: set_floor_from_average_sensor_value
+ map:
+ value:
+ - 27000: 3500
+ - 32000: 4600
+ - 37000: 5200
+ - 40000: 5800
+ type: std::map<int64_t, uint64_t>
+ - name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 7200
+ - 27000: 10500
+ type: std::map<int64_t, uint64_t>
+ altevents:
+ - name: alternate_floor_boundary
+ groups:
+ - name: zone0_ambient
+ 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: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: set_floor_from_average_sensor_value
+ map:
+ value:
+ - 27000: 4600
+ - 32000: 5000
+ - 37000: 5400
+ - 40000: 5800
+ type: std::map<int64_t, uint64_t>
+ - name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 7200
+ - 27000: 10500
+ type: std::map<int64_t, uint64_t>
+ - name: set_water_cooled_speed_boundaries_based_on_ambient
+ groups:
+ - name: zone0_ambient
+ zone_conditions:
+ - name: water_and_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: propertiesChanged
+ handler: setProperty
+ actions:
+ - name: set_floor_from_average_sensor_value
+ map:
+ value:
+ - 27000: 3000
+ - 32000: 4300
+ - 37000: 5000
+ - 40000: 5800
+ type: std::map<int64_t, uint64_t>
+ - name: set_ceiling_from_average_sensor_value
+ map:
+ value:
+ - 25000: 7200
+ - 27000: 10500
+ type: std::map<int64_t, uint64_t>
- name: occ_active_speed_changes
precondition:
name: property_states_match
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/mihawk/fans.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/mihawk/fans.yaml
new file mode 100644
index 000000000..9133fa1fa
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-fan-config/mihawk/fans.yaml
@@ -0,0 +1,31 @@
+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
+ - inventory: /system/chassis/motherboard/fan4
+ cooling_zone: 0
+ sensors:
+ - fan4_0
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ - inventory: /system/chassis/motherboard/fan5
+ cooling_zone: 0
+ sensors:
+ - fan5_0
+ target_interface: xyz.openbmc_project.Control.FanPwm
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/zone_conditions.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/mihawk/zone_conditions.yaml
index 7dc99b6a2..7dc99b6a2 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/zone_conditions.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config/mihawk/zone_conditions.yaml
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config/mihawk/zones.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config/mihawk/zones.yaml
new file mode 100644
index 000000000..4deb2523e
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-control-zone-config/mihawk/zones.yaml
@@ -0,0 +1,42 @@
+manager_configuration:
+ power_on_delay: 20
+
+zone_configuration:
+
+#Air cooled zones
+- zone_conditions:
+ - name: air_cooled_chassis
+
+ zones:
+ - zone: 0
+ cooling_profiles:
+ - air
+ - all
+ full_speed: 255
+ default_floor: 195
+ increase_delay: 5
+ decrease_interval: 30
+ interfaces:
+ - name: xyz.openbmc_project.Control.ThermalMode
+ properties:
+ - name: Supported
+ type: array[string]
+ values:
+ - value: DEFAULT
+ description: >
+ Default thermal control mode
+ - value: CUSTOM
+ description: >
+ Custom thermal control mode for handling the use of
+ optical cables located behind the GPU exhaust that
+ could produce overtemp warnings without this mode
+ enabled.
+ - name: Current
+ type: string
+ persist: true
+ values:
+ - value: DEFAULT
+ description: >
+ Set current thermal control mode to the
+ default which will be replaced on startup if
+ another selected mode was persisted. \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/mihawk/monitor.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/mihawk/monitor.yaml
new file mode 100644
index 000000000..076349de5
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-monitor-config/mihawk/monitor.yaml
@@ -0,0 +1,96 @@
+fans:
+ - inventory: /system/chassis/motherboard/fan0
+ allowed_out_of_range_time: 10
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan0_0
+ has_target: true
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+ - name: fan0_1
+ has_target: false
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+
+ - inventory: /system/chassis/motherboard/fan1
+ allowed_out_of_range_time: 10
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan1_0
+ has_target: true
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+ - name: fan1_1
+ has_target: false
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+
+ - inventory: /system/chassis/motherboard/fan2
+ allowed_out_of_range_time: 10
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan2_0
+ has_target: true
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+ - name: fan2_1
+ has_target: false
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+
+ - inventory: /system/chassis/motherboard/fan3
+ allowed_out_of_range_time: 10
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan3_0
+ has_target: true
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+ - name: fan3_1
+ has_target: false
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+
+ - inventory: /system/chassis/motherboard/fan4
+ allowed_out_of_range_time: 10
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan4_0
+ has_target: true
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+ - name: fan4_1
+ has_target: false
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+
+ - inventory: /system/chassis/motherboard/fan5
+ allowed_out_of_range_time: 10
+ deviation: 15
+ num_sensors_nonfunc_for_fan_nonfunc: 1
+ sensors:
+ - name: fan5_0
+ has_target: true
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
+ - name: fan5_1
+ has_target: false
+ target_interface: xyz.openbmc_project.Control.FanPwm
+ factor: 70
+ offset: 1200
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/mihawk/config.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/mihawk/config.yaml
new file mode 100644
index 000000000..9cb5ecddb
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan-presence-config/mihawk/config.yaml
@@ -0,0 +1,47 @@
+- name: fan0
+ path: /system/chassis/motherboard/fan0
+ 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
+
+- name: fan1
+ path: /system/chassis/motherboard/fan1
+ methods:
+ - type: gpio
+ key: 10
+ 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
+
+- name: fan2
+ path: /system/chassis/motherboard/fan2
+ methods:
+ - type: gpio
+ key: 11
+ 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
+
+- name: fan3
+ path: /system/chassis/motherboard/fan3
+ methods:
+ - type: gpio
+ key: 12
+ 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
+
+- name: fan4
+ path: /system/chassis/motherboard/fan4
+ methods:
+ - type: gpio
+ key: 13
+ 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
+
+- name: fan5
+ path: /system/chassis/motherboard/fan5
+ methods:
+ - type: gpio
+ key: 14
+ 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
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/obmc/phosphor-fan/phosphor-cooling-type-0.conf
index 21fcfcb49..21fcfcb49 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan/obmc/phosphor-fan/phosphor-cooling-type-0.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/obmc/phosphor-fan/phosphor-cooling-type-0.conf
diff --git a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/phosphor-cooling-type@.service
index 9232b13fc..9232b13fc 100644
--- a/meta-ibm/meta-romulus/recipes-phosphor/fans/phosphor-fan/phosphor-cooling-type@.service
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/mihawk/phosphor-cooling-type@.service
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/witherspoon-tacoma/obmc/phosphor-fan/phosphor-cooling-type-0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/witherspoon-tacoma/obmc/phosphor-fan/phosphor-cooling-type-0.conf
new file mode 100644
index 000000000..354fbe3ff
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/witherspoon-tacoma/obmc/phosphor-fan/phosphor-cooling-type-0.conf
@@ -0,0 +1,6 @@
+OBJPATH="--path=/system/chassis"
+AIR="--air"
+WATER=""
+DEVICE="--dev=/dev/input/by-path/platform-gpio-keys-event"
+CODE="--event=135"
+
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/witherspoon/phosphor-fan-control@.service b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/witherspoon/phosphor-fan-control@.service
new file mode 100644
index 000000000..489292bfa
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan/witherspoon/phosphor-fan-control@.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Phosphor Fan Control Daemon
+Requires=max31785-hwmon-helper@ahb-apb-bus\x401e78a000-i2c\x2dbus\x40100-max31785\x4052.service
+After=max31785-hwmon-helper@ahb-apb-bus\x401e78a000-i2c\x2dbus\x40100-max31785\x4052.service
+
+[Service]
+Restart=on-failure
+ExecStart=/usr/bin/phosphor-fan-control --control
+
+[Install]
+RequiredBy=obmc-chassis-poweron@%i.target
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 88c32ffa6..243a02f1c 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/phosphor-fan_%.bbappend
@@ -3,25 +3,33 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
# Package configuration
FAN_PACKAGES_append_ibm-ac-server = " \
phosphor-cooling-type \
-"
+ "
+
+FAN_PACKAGES_append_mihawk = " \
+ phosphor-cooling-type \
+ "
PACKAGECONFIG_append_ibm-ac-server = " cooling-type"
+PACKAGECONFIG_append_mihawk = " 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}"
+MULTI_USR_TGT = "multi-user.target"
+FMT_COOLING = "../${TMPL_COOLING}:${MULTI_USR_TGT}.requires/${INSTFMT_COOLING}"
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')}"
+FILES_phosphor-cooling-type_append_mihawk = " ${bindir}/phosphor-cooling-type"
+SYSTEMD_SERVICE_phosphor-cooling-type_append_mihawk = " ${TMPL_COOLING}"
+SYSTEMD_LINK_phosphor-cooling-type_append_mihawk = " ${@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_ibm-ac-server = " ${@compose_list(d, 'COOLING_ENV_FMT', 'OBMC_CHASSIS_INSTANCES')}"
+SYSTEMD_ENVIRONMENT_FILE_phosphor-cooling-type_append_mihawk = " ${@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"
SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-control@0.service.d/fan-watchdog-monitor.conf"
SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-monitor-init@0.service.d/fan-watchdog-monitor.conf"
SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-monitor.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-monitor.conf"
@@ -29,3 +37,16 @@ SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-monitor.conf:
#These services need to be stopped when watchdog expires
SYSTEMD_OVERRIDE_phosphor-fan-control_witherspoon += "fan-watchdog-conflicts.conf:phosphor-fan-control@0.service.d/fan-watchdog-conflicts.conf"
SYSTEMD_OVERRIDE_phosphor-fan-monitor_witherspoon += "fan-watchdog-conflicts.conf:phosphor-fan-monitor@0.service.d/fan-watchdog-conflicts.conf"
+
+# Remove fan control init service completely
+SYSTEMD_SERVICE_${PN}-control_remove_witherspoon = "${TMPL_CONTROL_INIT}"
+SYSTEMD_LINK_${PN}-control_remove_witherspoon = "${@compose_list(d, 'FMT_CONTROL_INIT', 'OBMC_CHASSIS_INSTANCES')}"
+# Remove fan control from being linked
+SYSTEMD_LINK_${PN}-control_remove_witherspoon = "${@compose_list(d, 'FMT_CONTROL', 'OBMC_CHASSIS_INSTANCES')}"
+
+# Link fan control service to be started at standby
+FMT_CONTROL_STDBY_witherspoon = "../${TMPL_CONTROL}:${MULTI_USR_TGT}.wants/${INSTFMT_CONTROL}"
+SYSTEMD_LINK_${PN}-control_witherspoon += "${@compose_list(d, 'FMT_CONTROL_STDBY', 'OBMC_CHASSIS_INSTANCES')}"
+# Link fan control service to also start at poweron
+FMT_CONTROL_PWRON_witherspoon = "../${TMPL_CONTROL}:${POWERON_TGT}.requires/${INSTFMT_CONTROL}"
+SYSTEMD_LINK_${PN}-control_witherspoon += "${@compose_list(d, 'FMT_CONTROL_PWRON', 'OBMC_CHASSIS_INSTANCES')}"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb
index 357de9516..93c8d457b 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog.bb
@@ -1,7 +1,7 @@
SUMMARY = "Witherspoon fan watchdog services"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog.service b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog.service
index 5b59546e3..597ee03cb 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog.service
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-fan-watchdog.service
@@ -1,7 +1,7 @@
[Unit]
Description=Witherspoon Fan Watchdog Daemon
-Wants=phosphor-fan-control-init@0.service
-Before=phosphor-fan-control-init@0.service
+Wants=phosphor-fan-monitor-init@0.service
+Before=phosphor-fan-monitor-init@0.service
Conflicts=obmc-fan-watchdog-takeover.target
[Service]
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-reset-fan-watchdog.service b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-reset-fan-watchdog.service
index e0ef0aeeb..675a67269 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-reset-fan-watchdog.service
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/fans/witherspoon-fan-watchdog/witherspoon-reset-fan-watchdog.service
@@ -1,7 +1,7 @@
[Unit]
Description=Witherspoon Fan Watchdog Reset
-Wants=phosphor-fan-control-init@0.service
-Before=phosphor-fan-control-init@0.service
+Wants=phosphor-fan-monitor-init@0.service
+Before=phosphor-fan-monitor-init@0.service
Conflicts=obmc-chassis-poweroff@0.target
[Service]
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 197e4049c..6c1f27534 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,2 @@
PACKAGECONFIG_append_ibm-ac-server = " verify_pnor_signature"
+PACKAGECONFIG_append_mihawk = " 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 e106fac15..61a99fd1a 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,14 @@
BMC_RW_MTD_ibm-ac-server = "bmc"
+BMC_RW_MTD_mihawk = "bmc"
BMC_RO_MTD_ibm-ac-server = "alt-bmc+bmc"
+BMC_RO_MTD_mihawk = "alt-bmc+bmc"
BMC_KERNEL_MTD_ibm-ac-server = "bmc"
+BMC_KERNEL_MTD_mihawk = "bmc"
# Enable signature verification
PACKAGECONFIG_append_ibm-ac-server = " verify_signature"
+PACKAGECONFIG_append_mihawk = " verify_signature"
# Enable sync of persistent files to the alternate BMC chip
PACKAGECONFIG_append_ibm-ac-server = " sync_bmc_files"
+PACKAGECONFIG_append_mihawk = " sync_bmc_files"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button.bb
new file mode 100644
index 000000000..386a2b93d
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button.bb
@@ -0,0 +1,30 @@
+SUMMARY = "ID Button pressed application"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit obmc-phosphor-systemd
+
+DEPENDS += "virtual/obmc-gpio-monitor"
+RDEPENDS_${PN} += "virtual/obmc-gpio-monitor"
+
+S = "${WORKDIR}"
+SRC_URI += "file://toggle_identify_led.sh"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/toggle_identify_led.sh \
+ ${D}${bindir}/toggle_identify_led.sh
+}
+
+SYSTEMD_ENVIRONMENT_FILE_${PN} +="obmc/gpio/id_button"
+
+ID_BUTTON_SERVICE = "id_button"
+
+TMPL = "phosphor-gpio-monitor@.service"
+INSTFMT = "phosphor-gpio-monitor@{0}.service"
+TGT = "multi-user.target"
+FMT = "../${TMPL}:${TGT}.requires/${INSTFMT}"
+
+SYSTEMD_SERVICE_${PN} += "id-button-pressed.service"
+SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FMT', 'ID_BUTTON_SERVICE')}"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/id-button-pressed.service b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/id-button-pressed.service
new file mode 100644
index 000000000..c4f939cc3
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/id-button-pressed.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=ID Button Pressed Service
+Wants=mapper-wait@-xyz-openbmc_project-led-groups.service
+After=mapper-wait@-xyz-openbmc_project-led-groups.service
+StartLimitIntervalSec=0
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/toggle_identify_led.sh
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/obmc/gpio/id_button b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/obmc/gpio/id_button
new file mode 100644
index 000000000..370e609cd
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/obmc/gpio/id_button
@@ -0,0 +1,5 @@
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=41
+POLARITY=1
+TARGET=id-button-pressed.service
+EXTRA_ARGS=--continue
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/toggle_identify_led.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/toggle_identify_led.sh
new file mode 100644
index 000000000..cd44c4b6b
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/toggle_identify_led.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Toggle the state of identify LED Group
+
+SERVICE="xyz.openbmc_project.LED.GroupManager"
+INTERFACE="xyz.openbmc_project.Led.Group"
+PROPERTY="Asserted"
+
+# Get current state
+object=$(busctl tree $SERVICE --list | grep identify)
+led=$(cat /sys/devices/platform/leds/leds/rear-id/brightness)
+if [ "$led" == "0" ]; then
+ busctl set-property $SERVICE $object $INTERFACE $PROPERTY b false
+else
+ busctl set-property $SERVICE $object $INTERFACE $PROPERTY b true
+fi
+
+state=$(busctl get-property $SERVICE $object $INTERFACE $PROPERTY \
+ | awk '{print $NF;}')
+
+if [ "$state" == "false" ]; then
+ target='true'
+else
+ target='false'
+fi
+
+# Set target state
+busctl set-property $SERVICE $object $INTERFACE $PROPERTY b $target
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/mihawk/obmc/gpio/phosphor-power-supply-0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/mihawk/obmc/gpio/phosphor-power-supply-0.conf
new file mode 100755
index 000000000..577548792
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/mihawk/obmc/gpio/phosphor-power-supply-0.conf
@@ -0,0 +1,6 @@
+INVENTORY=/system/chassis/motherboard/powersupply0
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=200
+NAME=powersupply0
+DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-005b
+EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/mihawk/obmc/gpio/phosphor-power-supply-1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/mihawk/obmc/gpio/phosphor-power-supply-1.conf
new file mode 100755
index 000000000..4d76afb4d
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/phosphor-gpio-monitor/mihawk/obmc/gpio/phosphor-power-supply-1.conf
@@ -0,0 +1,6 @@
+INVENTORY=/system/chassis/motherboard/powersupply1
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=202
+NAME=powersupply1
+DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-0058
+EXTRA_IFACES=xyz.openbmc_project.Inventory.Item.PowerSupply
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 032056c26..6919edf7c 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
@@ -6,7 +6,9 @@ POWERSUPPLY_TGT = "multi-user.target"
FMT_POWERSUPPLY = "../${TMPL_POWERSUPPLY}:${POWERSUPPLY_TGT}.requires/${INSTFMT_POWERSUPPLY}"
SYSTEMD_LINK_${PN}-presence_append_ibm-ac-server = " ${@compose_list(d, 'FMT_POWERSUPPLY', 'OBMC_POWER_SUPPLY_INSTANCES')}"
+SYSTEMD_LINK_${PN}-presence_append_mihawk = " ${@compose_list(d, 'FMT_POWERSUPPLY', 'OBMC_POWER_SUPPLY_INSTANCES')}"
POWERSUPPLY_ENV_FMT = "obmc/gpio/phosphor-power-supply-{0}.conf"
SYSTEMD_ENVIRONMENT_FILE_${PN}-presence_append_ibm-ac-server = " ${@compose_list(d, 'POWERSUPPLY_ENV_FMT', 'OBMC_POWER_SUPPLY_INSTANCES')}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}-presence_append_mihawk = " ${@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 4b978c950..a698b06ad 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
@@ -2,3 +2,7 @@ RDEPENDS_${PN}_append_ibm-ac-server = " 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"
+RDEPENDS_${PN}_append_mihawk = " avsbus-control"
+RDEPENDS_${PN}_append_mihawk = " vrm-control"
+RDEPENDS_${PN}_remove_mihawk = "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 ab45d557e..c66cc4efc 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,2 @@
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"
+OBMC_IMAGE_EXTRA_INSTALL_append_mihawk = " mboxd liberation-fonts uart-render-controller first-boot-set-mac"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/inventory-cleanup.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/inventory-cleanup.bb
index f68edcb62..0c4b56f72 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/inventory-cleanup.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/inventory/inventory-cleanup.bb
@@ -1,7 +1,7 @@
SUMMARY = "Copy the inventory cleanup yaml for inventory manager"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-inventory-manager
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
index ae379af3f..fd27f7dce 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend
@@ -1,5 +1,9 @@
DEPENDS_append_ibm-ac-server = " acx22-yaml-config"
+DEPENDS_append_mihawk = " acx22-yaml-config"
EXTRA_OECONF_ibm-ac-server = " \
INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-inventory-sensors.yaml \
"
+EXTRA_OECONF_mihawk = " \
+ INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/acx22-yaml-config/ipmi-inventory-sensors.yaml \
+ " \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/channel_config.json b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/channel_config.json
new file mode 100644
index 000000000..3f4746e56
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-config/ibm-ac-server/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" : "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
+ }
+ },
+ "2" : {
+ "name" : "RESERVED",
+ "is_valid" : false,
+ "active_sessions" : 0,
+ "channel_info" : {
+ "medium_type" : "reserved",
+ "protocol_type" : "na",
+ "session_supported" : "session-less",
+ "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-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
index 2da9493df..6efe241bc 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
@@ -1,6 +1,11 @@
DEPENDS_append_ibm-ac-server = " acx22-yaml-config"
+DEPENDS_append_mihawk = " 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 \
"
+EXTRA_OECONF_mihawk = " \
+ 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_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
index 3fdcada43..8d51478af 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,7 +1,13 @@
DEPENDS_append_ibm-ac-server = " acx22-yaml-config"
+DEPENDS_append_mihawk = " acx22-yaml-config"
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 \
"
+EXTRA_OECONF_mihawk = " \
+ 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 \
+ " \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/leds/mihawk-led-manager-config-native.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/leds/mihawk-led-manager-config-native.bb
new file mode 100644
index 000000000..459a3161c
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/leds/mihawk-led-manager-config-native.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Phosphor LED Group Management for Mihawk"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit native
+
+PROVIDES += "virtual/phosphor-led-manager-config-native"
+
+SRC_URI += "file://led.yaml"
+S = "${WORKDIR}"
+
+# Copies example led layout yaml file
+do_install() {
+ SRC=${S}
+ DEST=${D}${datadir}/phosphor-led-manager
+ install -D ${SRC}/led.yaml ${DEST}/led.yaml
+}
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/leds/mihawk-led-manager-config/led.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/leds/mihawk-led-manager-config/led.yaml
new file mode 100644
index 000000000..1c6634551
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/leds/mihawk-led-manager-config/led.yaml
@@ -0,0 +1,148 @@
+BmcBooted:
+ power:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 250
+ Priority: 'On'
+PowerOn:
+ power:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+EnclosureFault:
+ fault:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+EnclosureIdentify:
+ rear-id:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+Fan0Fault:
+ fan0:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'Blink'
+ fault:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+Fan1Fault:
+ fan1:
+ Action: 'On'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'Blink'
+ fault:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+Fan2Fault:
+ fan2:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'Blink'
+ fault:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+Fan3Fault:
+ fan3:
+ Action: 'On'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'Blink'
+ fault:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+Fan4Fault:
+ fan4:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'Blink'
+ fault:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+Fan5Fault:
+ fan5:
+ Action: 'On'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'Blink'
+ fault:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+Powersupply0Fault:
+ fault:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+Powersupply1Fault:
+ fault:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+LampTest:
+ fault:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'On'
+ rear-id:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'On'
+ power:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'On'
+ fan0:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'Blink'
+ fan1:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'Blink'
+ fan2:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'Blink'
+ fan3:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'Blink'
+ fan4:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'Blink'
+ fan5:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'Blink' \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging/mihawk/policyTable.json b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging/mihawk/policyTable.json
new file mode 100755
index 000000000..80bfbcfd9
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/ibm-logging/mihawk/policyTable.json
@@ -0,0 +1,22437 @@
+{
+ "events": {
+ "External Software CSM||Event Type Lookup Failure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Events / Monitoring",
+ "BMCMessageID": "External Software CSM",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPEM0003G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "CSM",
+ "Message": "Failed to find an alert in the CSM RAS event types table",
+ "ReferencedInventory": "Event Type Lookup Failure",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": false
+ },
+ "External Software||Network Error": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Interconnect Networking",
+ "BMCMessageID": "External Software",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPIN0001M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Connection Error. View additional details for more information",
+ "ReferencedInventory": "Network Error",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": true
+ },
+ "org.open_power.Host.Access.Error.ReadCFAM": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Access.Error.ReadCFAM",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0044F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failure to write to host CFAM interface",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Access.Error.WriteCFAM": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Access.Error.WriteCFAM",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0043F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failure to read from host CFAM interface",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Boot.Error.Checkstop": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Boot.Error.Checkstop",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPAA0007G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A system checkstop occurred",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Boot.Error.WatchdogTimedOut": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Boot.Error.WatchdogTimedOut",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0023M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Hostboot has become unresponsive",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Checkstop": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.Checkstop",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPAA0007G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A system checkstop occurred",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPAA0011M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An error was detected with the base platform, but was not able to be deciphered. Contact your next level of support.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPAA0008M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Hostboot procedure callout",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0090M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 0 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 0 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 10 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 10 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 11 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 11 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 12 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 12 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 13 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 13 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 14 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 14 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 15 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 15 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 16 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 16 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 16 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 16 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 17 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 17 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 17 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 17 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 18 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 18 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 18 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 18 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 19 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 19 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 19 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 19 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 1 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 1 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 20 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 20 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 20 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 20 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 21 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 21 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 21 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 21 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 22 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 22 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 22 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 22 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 23 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 23 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 23 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 23 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 2 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 2 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 3 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 3 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 4 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 4 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 5 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 5 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 6 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 6 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 7 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 7 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 8 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 8 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "0,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 9 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "0,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 9 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0090M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0095I",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0093G",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0090M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 0 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 0 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 10 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 10 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 11 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 11 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 12 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 12 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 13 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 13 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 14 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 14 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 15 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 15 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 16 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 16 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 16 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 16 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 17 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 17 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 17 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 17 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 18 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 18 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 18 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 18 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 19 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 19 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 19 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 19 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 1 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 1 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 20 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 20 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 20 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 20 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 21 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 21 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 21 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 21 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 22 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 22 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 22 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 22 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 23 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 23 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 23 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 23 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 2 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 2 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 3 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 3 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 4 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 4 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 5 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 5 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 6 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 6 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 7 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 7 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 8 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 8 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0096I",
+ "ComponentInstance": "1,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 9 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0094G",
+ "ComponentInstance": "1,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 9 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0090M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0095I",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0093G",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 0 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 0 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 10,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 10,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 10,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 10 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 10,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 10 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 11,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 11,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 11,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 11 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 11,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 11 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 12,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 12,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 12,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 12 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 12,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 12 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 13,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 13,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 13,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 13 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 13,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 13 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 14,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 14,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 14,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 14 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 14,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 14 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 15,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 15,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 15,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 15 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 15,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 15 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 1 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 1 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 2 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 2 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 3 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 3 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 4 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 4 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 5 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 5 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 6,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 6,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 6,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 6 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 6,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 6 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 7,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 7,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 7,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 7 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 7,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 7 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 8,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 8,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 8,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 8 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 8,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 8 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 9,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 9,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0060I",
+ "ComponentInstance": 9,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 9 has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0059G",
+ "ComponentInstance": 9,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 9 has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard||Critical": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPAA0013M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system backplane has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard||Informational": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPAA0014I",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Recovery",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system backplane has recovered from an error",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard||Warning": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPAA0013G",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "PFA",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system backplane has exceeded a correctable error threshold",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCR0003M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A system firmware error occurred.",
+ "ReferencedInventory": 0,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPAA0000M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A vital system component has been disabled",
+ "ReferencedInventory": 1,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPAA0001M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An unknown problem occurred",
+ "ReferencedInventory": 10,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0029M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": null,
+ "Message": "A system firmware error occurred.",
+ "ReferencedInventory": 11,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0007M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A system firmware error occurred.",
+ "ReferencedInventory": 16,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||1C": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0008M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A system firmware error occurred.",
+ "ReferencedInventory": "1C",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0044M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A memory configuration error has been detected.",
+ "ReferencedInventory": 22,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||2D": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0060M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A FSI path error has occurred.",
+ "ReferencedInventory": "2D",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||30": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0061M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An external processor interface problem has occurred",
+ "ReferencedInventory": 30,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||31": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0062M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An internal processor interface problem has occurred",
+ "ReferencedInventory": 31,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||34": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0058M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A memory bus error occurred.",
+ "ReferencedInventory": 34,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||37": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "System Board",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPSB0005M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A bus error occurred.",
+ "ReferencedInventory": 37,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||3F": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0012M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A system power problem has occurred",
+ "ReferencedInventory": "3F",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0004M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A system firmware error occurred.",
+ "ReferencedInventory": 4,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||4D": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPAA0009M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "System performance is degraded",
+ "ReferencedInventory": "4D",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||4F": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0045M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An uncorrectable memory problem occurred.",
+ "ReferencedInventory": "4F",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0005M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A system firmware error occurred.",
+ "ReferencedInventory": 5,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||55": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0011M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The service processor detected a problem during the early boot process",
+ "ReferencedInventory": 55,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||56": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Time Reference",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPTR0001M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A problem with the time of day clock and or clock function has been detected.",
+ "ReferencedInventory": 56,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||5C": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPU0063M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "One or more processor sensors detected an over temperature condition.",
+ "ReferencedInventory": "5C",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||5D": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0028M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Not Valid",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to verify the system firmware",
+ "ReferencedInventory": "5D",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||5E": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0092M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An error occurred with a GPU and automated isolation was not possible",
+ "ReferencedInventory": "5E",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0059M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A CPU problem was detected.",
+ "ReferencedInventory": 8,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0043M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An error occurred with a memory DIMM and automated isolation was not possible",
+ "ReferencedInventory": 9,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.MaintenanceProcedure||A": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.MaintenanceProcedure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0006M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A system firmware error occurred.",
+ "ReferencedInventory": "A",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Error.WatchdogTimedOut": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.Host.Error.WatchdogTimedOut",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0023M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Hostboot has become unresponsive",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPAA0008M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Hostboot procedure callout",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0090M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 16 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 17 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 18 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 19 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 20 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 21 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 22 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 23 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0090M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 16 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 17 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 18 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 19 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 20 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 21 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 22 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 23 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 10,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 11,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 12,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 13,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 14,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 15,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 6,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 7,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 8,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "org.open_power.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 9,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.OCC.Device.Error.ConfigFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.OCC.Device.Error.ConfigFailure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCR0048M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failure to configure OCC",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.OCC.Device.Error.OpenFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.OCC.Device.Error.OpenFailure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCR0045M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to open OCC connection",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.OCC.Device.Error.ReadFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.OCC.Device.Error.ReadFailure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCR0046M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from OCC",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.OCC.Device.Error.WriteFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.OCC.Device.Error.WriteFailure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCR0047M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to write to OCC",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.OCC.Metrics.Error.Event": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "org.open_power.OCC.Metrics.Error.Event",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0064I",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Status",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "OCC metric data collected",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Proc.FSI.Error.MasterDetectionFailure||FSI": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Proc.FSI.Error.MasterDetectionFailure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0097M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to detect master processor on FSI bus",
+ "ReferencedInventory": "FSI",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Proc.FSI.Error.SlaveDetectionFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "org.open_power.Proc.FSI.Error.SlaveDetectionFailure",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0098M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to detect slave processor on FSI bus",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 0 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 1 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 2 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 3 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 4 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 5 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 0 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": "Cooling",
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 1 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": "Cooling",
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 2 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": "Cooling",
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 3 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": "Cooling",
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 4 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": "Cooling",
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 5 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": "Cooling",
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 0 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 1 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 2 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 3 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 4 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 5 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 0 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 1 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 2 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 3 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 4 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 5 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gv100card5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerOnFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerOnFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system power failed to turn on",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerFault": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0041M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerPGOODFault||GPU_PGOOD": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerPGOODFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0045M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a GPU_PGOOD fault",
+ "ReferencedInventory": "GPU_PGOOD",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerPGOODFault||MEM_GOOD0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerPGOODFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0043M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a MEM_GOOD0 fault",
+ "ReferencedInventory": "MEM_GOOD0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerPGOODFault||MEM_GOOD1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerPGOODFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0044M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a MEM_GOOD1 fault",
+ "ReferencedInventory": "MEM_GOOD1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerPGOODFault||PGOOD_5P0V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerPGOODFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0042M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a PGOOD_5P0V fault",
+ "ReferencedInventory": "PGOOD_5P0V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerPGOODFault||TH_OVERT": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerPGOODFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0046M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a TH_OVERT fault",
+ "ReferencedInventory": "TH_OVERT",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||0.9V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0053M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 0.9V rail.",
+ "ReferencedInventory": "0.9V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||1.0V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0052M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 1.0V rail.",
+ "ReferencedInventory": "1.0V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||1.1V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0051M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 1.1V rail.",
+ "ReferencedInventory": "1.1V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||1.8V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0050M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 1.8V rail.",
+ "ReferencedInventory": "1.8V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||12.0V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0048M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 12.0V rail.",
+ "ReferencedInventory": "12.0V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||3.3V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0049M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 3.3V rail.",
+ "ReferencedInventory": "3.3V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||5.0VCS": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0047M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 5.0VCS rail.",
+ "ReferencedInventory": "5.0VCS",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||AVDD": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0056M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on AVDD rail.",
+ "ReferencedInventory": "AVDD",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||VCS-A": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0061M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VCS-A rail.",
+ "ReferencedInventory": "VCS-A",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||VCS-B": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0062M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VCS-B rail.",
+ "ReferencedInventory": "VCS-B",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||VDD-A": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0059M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VDD-A rail.",
+ "ReferencedInventory": "VDD-A",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||VDD-B": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0060M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VDD-B rail.",
+ "ReferencedInventory": "VDD-B",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||VDN-A": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0054M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VDN-A rail.",
+ "ReferencedInventory": "VDN-A",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||VDN-B": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0055M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VDN-B rail.",
+ "ReferencedInventory": "VDN-B",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||VIO-A": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0057M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VIO-A rail.",
+ "ReferencedInventory": "VIO-A",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault||VIO-B": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0058M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VIO-B rail.",
+ "ReferencedInventory": "VIO-B",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyFanFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyFanFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0064M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 fan has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyFanFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyFanFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0064M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 fan has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyFanFault||/xyz/openbmc_project/inventory/system/chassis/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyFanFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0064M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 fan has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyFanFault||/xyz/openbmc_project/inventory/system/chassis/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyFanFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0064M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 fan has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyInputFault": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyInputFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0064M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply input fault detected, but unable to isolate to a specific power supply",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyInputFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyInputFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0033M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 input fault detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyInputFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyInputFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0033M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 input fault detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyInputFault||/xyz/openbmc_project/inventory/system/chassis/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyInputFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0033M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 input fault detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyInputFault||/xyz/openbmc_project/inventory/system/chassis/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyInputFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0033M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 input fault detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvercurrent||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvercurrent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0035M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 output current is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvercurrent||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvercurrent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0035M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 output current is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvercurrent||/xyz/openbmc_project/inventory/system/chassis/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvercurrent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0035M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 output current is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvercurrent||/xyz/openbmc_project/inventory/system/chassis/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvercurrent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0035M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 output current is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvervoltage||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvervoltage",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0036M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 output voltage is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvervoltage||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvervoltage",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0036M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 output voltage is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvervoltage||/xyz/openbmc_project/inventory/system/chassis/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvervoltage",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0036M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 output voltage is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvervoltage||/xyz/openbmc_project/inventory/system/chassis/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyOutputOvervoltage",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0036M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 output voltage is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyShouldBeOn||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyShouldBeOn",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0034M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has failed to power on when it needed to",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyShouldBeOn||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyShouldBeOn",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0034M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has failed to power on",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyShouldBeOn||/xyz/openbmc_project/inventory/system/chassis/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyShouldBeOn",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0034M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has failed to power on when it needed to",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyShouldBeOn||/xyz/openbmc_project/inventory/system/chassis/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyShouldBeOn",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0034M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has failed to power on",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyTemperatureFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyTemperatureFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0065M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 is too hot",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyTemperatureFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyTemperatureFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0065M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 is too hot",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyTemperatureFault||/xyz/openbmc_project/inventory/system/chassis/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyTemperatureFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0065M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 is too hot",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyTemperatureFault||/xyz/openbmc_project/inventory/system/chassis/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyTemperatureFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0065M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 is too hot",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyUnderVoltageFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyUnderVoltageFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0009M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 input voltage out of range",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyUnderVoltageFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyUnderVoltageFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0009M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 input voltage out of range",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyUnderVoltageFault||/xyz/openbmc_project/inventory/system/chassis/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyUnderVoltageFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0009M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 input voltage out of range",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.PowerSupplyUnderVoltageFault||/xyz/openbmc_project/inventory/system/chassis/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.PowerSupplyUnderVoltageFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0009M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 input voltage out of range",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.Shutdown": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.Shutdown",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0063G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system unexpectedly shutdown.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.Shutdown||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.Shutdown",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0037M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has initiated a power off due to a failure",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.Shutdown||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.Shutdown",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0037M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has initiated a power off due to a failure",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.Shutdown||/xyz/openbmc_project/inventory/system/chassis/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.Shutdown",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0037M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has initiated a power off due to a failure",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.Error.Shutdown||/xyz/openbmc_project/inventory/system/chassis/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.Error.Shutdown",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0037M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has initiated a power off due to a failure",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 0 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 1 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 2 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 3 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 4 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 5 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 0 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 1 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 2 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 3 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 4 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "org.open_power.Witherspoon.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "org.open_power.Witherspoon.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 5 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Certs.Install.Error.InvalidCertificate": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Certs.Install.Error.InvalidCertificate",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0075G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": "The provided certificate is not valid. The BMC will continue operating with the old certificate.",
+ "LogSource": "BMC",
+ "Message": "The provided certificate is not valid",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Callout.Error.Device||FSI": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Callout.Error.Device",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0042F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An error occurred on the FSI interface",
+ "ReferencedInventory": "FSI",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Callout.Error.Device||I2C": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Callout.Error.Device",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0041F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An error occurred on the I2C interface",
+ "ReferencedInventory": "I2C",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Callout.Error.GPIO||GPIO": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Callout.Error.GPIO",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0077F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An error occurred on the GPIO interface",
+ "ReferencedInventory": "GPIO",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Callout.Error.IIC||I2C": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Callout.Error.IIC",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0041F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An error occurred on the I2C interface",
+ "ReferencedInventory": "I2C",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Callout.Error.IPMISensor||IPMI": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Callout.Error.IPMISensor",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0040F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An error occurred working with an IPMI sensor",
+ "ReferencedInventory": "IPMI",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-11/11-0064": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0059F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the power sequencer chip on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0068": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0060F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from power supply 1",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0069": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0060F",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from power supply 0",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-11/11-0064": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0059F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the power sequencer chip on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-3/3-0068": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0060F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from power supply 1",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-3/3-0069": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0060F",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from power supply 0",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.ReadFailure||/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/00:00:00:0a/fsi1/slave@01:00/raw": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0062F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from CPU 1 over FSI",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.ReadFailure||/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/raw": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0062F",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from CPU 0 over FSI",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.ReadFailure||FSI": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0033G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from FSI Device",
+ "ReferencedInventory": "FSI",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.ReadFailure||I2C": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0024G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from I2C Device",
+ "ReferencedInventory": "I2C",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.WriteFailure||/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/00:00:00:0a/fsi1/slave@01:00/raw": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0061F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to write to CPU 1 over FSI",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.WriteFailure||/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/raw": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0061F",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to write to CPU 0 over FSI",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.WriteFailure||FSI": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0035G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to write to FSI Device",
+ "ReferencedInventory": "FSI",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Device.Error.WriteFailure||I2C": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0034G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to write to I2C Device",
+ "ReferencedInventory": "I2C",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Error.InsufficientPermission": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Error.InsufficientPermission",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0022F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Security",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The user has insufficient privileges",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Error.InternalFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Error.InternalFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0021F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An internal failure has occurred while performing an operation.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Error.InvalidArgument": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Error.InvalidArgument",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0030F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An invalid argument was provided to a command",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Error.NoCACertificate": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Error.NoCACertificate",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0076G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": "Unable to validate the Certificate Authority (CA) for an external server, such as an LDAP server.",
+ "LogSource": "BMC",
+ "Message": "Unable to verify a server's CA certificate",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Error.NotAllowed": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Error.NotAllowed",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0074G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The specified operation is not allowed",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.Error.Timeout": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.Error.Timeout",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0020F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Monitoring Agent",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An internal operation has timed out",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.File.Error.Open": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.File.Error.Open",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0036F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to open a file in BMC filesystem.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.File.Error.Seek": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.File.Error.Seek",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0037F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to find a file in BMC filesystem.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Common.File.Error.Write": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Common.File.Error.Write",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0038F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to write a file in BMC filesystem.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.Error.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan0_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 0",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.Error.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan0_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 0",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan0_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.Error.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan1_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 1",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.Error.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan1_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 1",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan1_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.Error.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan2_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 2",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.Error.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan2_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 2",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan2_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.Error.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan3_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 3",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.Error.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan3_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 3",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan3_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan0_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 0",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan0_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 0",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan0_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan1_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 1",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan1_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 1",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan1_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan2_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 2",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan2_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 2",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan2_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan3_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 3",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Device.WriteFailure||/xyz/openbmc_project/sensors/fan_tach/fan3_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Control.Device.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0057M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to set fan speed for fan 3",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan3_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Control.Host.Error.CommandNotSupported": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Control.Host.Error.CommandNotSupported",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0039F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "An invalid host system control command was provided.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Dump.Create.Error.Disabled": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Data Management",
+ "BMCMessageID": "xyz.openbmc_project.Dump.Create.Error.Disabled",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPDM0000M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to create a BMC dump due to dumps being disabled on this system.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Dump.Create.Error.QuotaExceeded": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Data Management",
+ "BMCMessageID": "xyz.openbmc_project.Dump.Create.Error.QuotaExceeded",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPDM0001M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "There is no more space available for dump files. Please delete some.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Error.Checkstop": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Host.Error.Checkstop",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPAA0007G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "A system checkstop occurred",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Error.WatchdogTimedOut": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Host.Error.WatchdogTimedOut",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0023M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Hostboot has become unresponsive",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPAA0008M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Hostboot procedure callout",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0090M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 16 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 17 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 18 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 19 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 20 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 21 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 22 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 23 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "0,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0090M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 16 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 17 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 18 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 19 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 20 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 21 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 22 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 23 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0091M",
+ "ComponentInstance": "1,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 0 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 1 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 10,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 10 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 11,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 11 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 12,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 12 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 13,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 13 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 14,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 14 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 15,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 15 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 2 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 3 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 4 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 5 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 6,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 6 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 7,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 7 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 8,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 8 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Host.Event.Error.Event||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Host.Event.Error.Event",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0057M",
+ "ComponentInstance": 9,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 9 has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "System Board",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPSB0001M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system backplane has encountered a critical failure.",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0088M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 0 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 1 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 10 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 11 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 12 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 13 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 14 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 15 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 16 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 17 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 18 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 19 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 2 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 20 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 21 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 22 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 23 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 3 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 4 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 5 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 6 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 7 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 8 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "0,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 9 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0088M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 0 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 1 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 10 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 11 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 12 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 13 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 14 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 15 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 16 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 17 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 18 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 19 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 2 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 20 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 21 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 22 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 23 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 3 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 4 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 5 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 6 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 7 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 8 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0089M",
+ "ComponentInstance": "1,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 9 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 0 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 1 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 10,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 10 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 11,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 11 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 12,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 12 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 13,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 13 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 14,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 14 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 15,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 15 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 2 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 3 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 4 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 5 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 6,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 6 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 7,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 7 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 8,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 8 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPMA0056M",
+ "ComponentInstance": 9,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 9 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0056M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Fan 0 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0056M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Fan 1 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0056M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Fan 2 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0056M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Fan 3 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0022M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power Supply 0 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.Nonfunctional||/xyz/openbmc_project/inventory/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.Nonfunctional",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0022M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power Supply 1 is not functional",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "System Board",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPSB0012M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system backplane could not be detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0085M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 0 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 1 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 10 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 11 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 12 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 13 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 14 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 15 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 16 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 17 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 18 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 19 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 2 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 20 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 21 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 22 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 23 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 3 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 4 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 5 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 6 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 7 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 8 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "0,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 0 core 9 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0085M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 0 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 1 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 10 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 11 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 12 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 13 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 14 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 15 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 16 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core16",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 17 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core17",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 18 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core18",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 19 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core19",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 2 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 20 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core20",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 21 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core21",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 22 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core22",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 23 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core23",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 3 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 4 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 5 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 6 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 7 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 8 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Processing",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPU0087M",
+ "ComponentInstance": "1,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "CPU 1 core 9 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1/core9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 0 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 1 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 10,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 10 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm10",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 11,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 11 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm11",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 12,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 12 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm12",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 13,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 13 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm13",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 14,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 14 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm14",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 15,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 15 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm15",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 2 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 3 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 4 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 5 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 6,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 6 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm6",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 7,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 7 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm7",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 8,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 8 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm8",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Memory",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPMA0055M",
+ "ComponentInstance": 9,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "DIMM 9 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm9",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0071M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Fan 0 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0071M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Fan 1 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0071M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Fan 2 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0071M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Fan 3 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0015M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0015M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0015M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0015M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/powersupply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0015M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Inventory.Error.NotPresent||/xyz/openbmc_project/inventory/system/chassis/powersupply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Inventory.Error.NotPresent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0015M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Uncorrectable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has not been detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Led.Fru.Monitor.Error.InventoryPathError": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Led.Fru.Monitor.Error.InventoryPathError",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0031G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Internal error, unable to associate LED to inventory",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Led.Mapper.Error.MethodError": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Led.Mapper.Error.MethodError",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0050F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Internal method error with LED Mapper.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Led.Mapper.Error.ObjectNotFoundError": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Led.Mapper.Error.ObjectNotFoundError",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0051F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Internal error. LED Mapper object not found.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 0 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 1 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 2 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 3 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 4 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 5 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerOnFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerOnFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system power failed to turn on",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerFault": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0041M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerPGOODFault||GPU_PGOOD": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerPGOODFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0045M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a GPU_PGOOD fault",
+ "ReferencedInventory": "GPU_PGOOD",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerPGOODFault||MEM_GOOD0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerPGOODFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0043M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a MEM_GOOD0 fault",
+ "ReferencedInventory": "MEM_GOOD0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerPGOODFault||MEM_GOOD1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerPGOODFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0044M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a MEM_GOOD1 fault",
+ "ReferencedInventory": "MEM_GOOD1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerPGOODFault||PGOOD_5P0V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerPGOODFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0042M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a PGOOD_5P0V fault",
+ "ReferencedInventory": "PGOOD_5P0V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerPGOODFault||TH_OVERT": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerPGOODFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0046M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a TH_OVERT fault",
+ "ReferencedInventory": "TH_OVERT",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||0.9V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0053M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 0.9V rail.",
+ "ReferencedInventory": "0.9V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||1.0V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0052M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 1.0V rail.",
+ "ReferencedInventory": "1.0V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||1.1V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0051M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 1.1V rail.",
+ "ReferencedInventory": "1.1V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||1.8V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0050M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 1.8V rail.",
+ "ReferencedInventory": "1.8V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||12.0V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0048M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 12.0V rail.",
+ "ReferencedInventory": "12.0V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||3.3V": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0049M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 3.3V rail.",
+ "ReferencedInventory": "3.3V",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||5.0VCS": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0047M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on 5.0VCS rail.",
+ "ReferencedInventory": "5.0VCS",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||AVDD": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0056M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on AVDD rail.",
+ "ReferencedInventory": "AVDD",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||VCS-A": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0061M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VCS-A rail.",
+ "ReferencedInventory": "VCS-A",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||VCS-B": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0062M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VCS-B rail.",
+ "ReferencedInventory": "VCS-B",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||VDD-A": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0059M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VDD-A rail.",
+ "ReferencedInventory": "VDD-A",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||VDD-B": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0060M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VDD-B rail.",
+ "ReferencedInventory": "VDD-B",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||VDN-A": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0054M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VDN-A rail.",
+ "ReferencedInventory": "VDN-A",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||VDN-B": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0055M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VDN-B rail.",
+ "ReferencedInventory": "VDN-B",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||VIO-A": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0057M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VIO-A rail.",
+ "ReferencedInventory": "VIO-A",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault||VIO-B": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSequencerVoltageFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0058M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The power sequencer chip detected a fault on VIO-B rail.",
+ "ReferencedInventory": "VIO-B",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyFanFault||/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyFanFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0064M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 fan has failed",
+ "ReferencedInventory": "/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyInputFault||/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyInputFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0033M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 input fault detected",
+ "ReferencedInventory": "/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyInputFault||/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyInputFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0033M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 input fault detected",
+ "ReferencedInventory": "/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyOutputOvercurrent||/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyOutputOvercurrent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0035M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 output current is too high",
+ "ReferencedInventory": "/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyOutputOvercurrent||/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyOutputOvercurrent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0035M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 output current is too high",
+ "ReferencedInventory": "/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyOutputOvervoltage||/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyOutputOvervoltage",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0036M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 output voltage is too high",
+ "ReferencedInventory": "/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyOutputOvervoltage||/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyOutputOvervoltage",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0036M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 output voltage is too high",
+ "ReferencedInventory": "/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyShouldBeOn||/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyShouldBeOn",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0034M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has failed to power on when it needed to",
+ "ReferencedInventory": "/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyShouldBeOn||/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyShouldBeOn",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0034M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has failed to power on",
+ "ReferencedInventory": "/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyTemperatureFault||/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyTemperatureFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0065M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 is too hot",
+ "ReferencedInventory": "/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyTemperatureFault||/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyTemperatureFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0065M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 is too hot",
+ "ReferencedInventory": "/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyUnderVoltageFault||/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyUnderVoltageFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0009M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 input voltage out of range",
+ "ReferencedInventory": "/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.PowerSupplyUnderVoltageFault||/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.PowerSupplyUnderVoltageFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0009M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 input voltage out of range",
+ "ReferencedInventory": "/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.Shutdown||/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.Shutdown",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0037M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has initiated a power off due to a failure",
+ "ReferencedInventory": "/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Error.Shutdown||/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Error.Shutdown",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0037M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has initiated a power off due to a failure",
+ "ReferencedInventory": "/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 0 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 1 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 2 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 3 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 4 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUOverTemp||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUOverTemp",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0066M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 5 suffered an over-temperature fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 0 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 1 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 2 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu2",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 3 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu3",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 4 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu4",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.GPUPowerFault||/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.GPUPowerFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0038M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "GPU 5 suffered a power fault",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/gpu5",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyFanFault||/xyz/openbmc_project/inventory/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyFanFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0064M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 fan has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyFanFault||/xyz/openbmc_project/inventory/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyFanFault",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0064M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 fan has failed",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyInputFault||/xyz/openbmc_project/inventory/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyInputFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0033M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 input fault detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyInputFault||/xyz/openbmc_project/inventory/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyInputFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0033M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 input fault detected",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyOutputOvercurrent||/xyz/openbmc_project/inventory/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyOutputOvercurrent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0035M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 output current is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyOutputOvercurrent||/xyz/openbmc_project/inventory/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyOutputOvercurrent",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0035M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 output current is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyOutputOvervoltage||/xyz/openbmc_project/inventory/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyOutputOvervoltage",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0036M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 output voltage is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyOutputOvervoltage||/xyz/openbmc_project/inventory/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyOutputOvervoltage",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0036M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 output voltage is too high",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyShouldBeOn||/xyz/openbmc_project/inventory/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyShouldBeOn",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0034M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has failed to power on when it needed to",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyShouldBeOn||/xyz/openbmc_project/inventory/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyShouldBeOn",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0034M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has failed to power on",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyTemperatureFault||/xyz/openbmc_project/inventory/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyTemperatureFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0065M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 is too hot",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyTemperatureFault||/xyz/openbmc_project/inventory/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyTemperatureFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0065M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 is too hot",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyUnderVoltageFault||/xyz/openbmc_project/inventory/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyUnderVoltageFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0009M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 input voltage out of range",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.PowerSupplyUnderVoltageFault||/xyz/openbmc_project/inventory/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.PowerSupplyUnderVoltageFault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0009M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 input voltage out of range",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Shutdown||/xyz/openbmc_project/inventory/system/chassis/power_supply0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Shutdown",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0037M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 0 has initiated a power off due to a failure",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Power.Fault.Shutdown||/xyz/openbmc_project/inventory/system/chassis/power_supply1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Power.Fault.Shutdown",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPPW0037M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Power supply 1 has initiated a power off due to a failure",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/power_supply1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.SBE.SEEPROM.Error.ValidationFail": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Security",
+ "BMCMessageID": "xyz.openbmc_project.SBE.SEEPROM.Error.ValidationFail",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPSE0065M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Security",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Firmware security validation failed",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.SBE.SEEPROM.Error.ValidationPass": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Security",
+ "BMCMessageID": "xyz.openbmc_project.SBE.SEEPROM.Error.ValidationPass",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPSE0066I",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Security",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Firmware security validation passed",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Information",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0052": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0057F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the fan control device on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0068": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0060F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from power supply 1",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0069": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0060F",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from power supply 0",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0076": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0053F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the ambient temperature sensor on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0077": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0052F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the ambient temperature sensor on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-4/4-0070": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0054F",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the CPU 0 VDD/VCS VRM on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-4/4-0071": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0055F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the CPU 1 VDN/VDDR VRM on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-5/5-0070": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0054F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the CPU 1 VDD/VCS VRM on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-9/9-004a": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0056F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the PCIE temperature sensor on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-3/3-0052": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0057F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the fan control device on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-3/3-0068": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0060F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from power supply 1",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-3/3-0069": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0060F",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from power supply 0",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-3/3-0076": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0053F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the ambient temperature sensor on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-3/3-0077": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0052F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the ambient temperature sensor on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-4/4-0070": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0054F",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the CPU 0 VDD/VCS VRM on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-4/4-0071": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0055F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the CPU 1 VDN/VDDR VRM on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-5/5-0070": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0054F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the CPU 1 VDD/VCS VRM on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-9/9-004a": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0056F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the PCIE temperature sensor on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/00:00:00:06/sbefifo1-dev0/occ-hwmon.1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0063F",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the OCC on CPU 0",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/00:00:00:06/sbefifo1-dev0/occ1-dev0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0063F",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the OCC on CPU 0",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/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": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0063F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the OCC on CPU 1",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/00:00:00:0a/fsi1/slave@01:00/01:01:00:06/sbefifo2-dev0/occ2-dev0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0063F",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from the OCC on CPU 1",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan0_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 0 rotor 0 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan0_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 0 rotor 1 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan0_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan1_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 1 rotor 0 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan1_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 1 rotor 1 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan1_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan2_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "2,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 2 rotor 0 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan2_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "2,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 2 rotor 1 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan2_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan3_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "3,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 3 rotor 0 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan3_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "3,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 3 rotor 1 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan3_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/ambient": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0059M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read ambient temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/ambient",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm0_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 0 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm0_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm10_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 10,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 10 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm10_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm11_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 11,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 11 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm11_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm12_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 12,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 12 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm12_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm13_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 13,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 13 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm13_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm14_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 14,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 14 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm14_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm15_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 15,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 15 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm15_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm1_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 1 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm1_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm2_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 2 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm2_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm3_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 3 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm3_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm4_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 4 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm4_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm5_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 5 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm5_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm6_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 6,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 6 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm6_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm7_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 7,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 7 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm7_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm8_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 8,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 8 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm8_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm9_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 9,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 9 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm9_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu0_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 0 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu0_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu0_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 0 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu0_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu1_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 1 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu1_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu1_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 1 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu1_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu2_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 2 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu2_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu2_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 2 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu2_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu3_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 3 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu3_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu3_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 3 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu3_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu4_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 4 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu4_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu4_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 4 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu4_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu5_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 5 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu5_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu5_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 5 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu5_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core0_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 0 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core0_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core10_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 10 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core10_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core11_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 11 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core11_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core12_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 12 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core12_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core13_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 13 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core13_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core14_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 14 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core14_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core15_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 15 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core15_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core16_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 16 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core16_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core17_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 17 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core17_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core18_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 18 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core18_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core19_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 19 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core19_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core1_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 1 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core1_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core20_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 20 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core20_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core21_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 21 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core21_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core22_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 22 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core22_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core23_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 23 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core23_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core2_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 2 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core2_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core3_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 3 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core3_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core4_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 4 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core4_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core5_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 5 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core5_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core6_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 6 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core6_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core7_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 7 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core7_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core8_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 8 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core8_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core9_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 9 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core9_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_vcs_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 VCS voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_vcs_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_vdd_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 VDD voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_vdd_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_vddr_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 VDDR voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_vddr_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_vdn_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 VDN voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_vdn_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core0_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 0 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core0_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core10_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 10 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core10_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core11_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 11 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core11_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core12_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 12 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core12_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core13_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 13 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core13_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core14_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 14 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core14_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core15_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 15 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core15_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core16_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 16 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core16_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core17_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 17 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core17_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core18_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 18 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core18_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core19_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 19 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core19_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core1_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 1 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core1_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core20_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 20 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core20_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core21_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 21 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core21_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core22_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 22 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core22_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core23_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 23 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core23_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core2_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 2 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core2_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core3_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 3 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core3_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core4_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 4 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core4_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core5_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 5 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core5_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core6_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 6 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core6_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core7_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 7 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core7_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core8_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 8 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core8_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core9_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 9 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core9_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_vcs_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 VCS voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_vcs_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_vdd_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 VDD voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_vdd_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_vddr_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 VDDR voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_vddr_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_vdn_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 VDN voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_vdn_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.ReadFailure||I2C": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0024G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to read from I2C device",
+ "ReferencedInventory": "I2C",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.WriteFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a100.i2c-bus/i2c-3/3-0052": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0058F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to write to the fan control device on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.Error.WriteFailure||/sys/devices/platform/ahb/ahb:apb/ahb:apb:i2c@1e78a000/1e78a100.i2c-bus/i2c-3/3-0052": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.Error.WriteFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0058F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Failed to write to the fan control device on the system backplane",
+ "ReferencedInventory": "/xyz/openbmc_project/inventory/system/chassis/motherboard",
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/current/ps0_output_current": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0023M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read the output current from power supply 0",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/current/ps0_output_current",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/current/ps1_output_current": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0023M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read the output current from power supply 1",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/current/ps1_output_current",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan0_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 0 rotor 0 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan0_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan0_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 0 rotor 1 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan0_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan1_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 1 rotor 0 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan1_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan1_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 1 rotor 1 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan1_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan2_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "2,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 2 rotor 0 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan2_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan2_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "2,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 2 rotor 1 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan2_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan3_0": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "3,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 3 rotor 0 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan3_0",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/fan_tach/fan3_1": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0058M",
+ "ComponentInstance": "3,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read fan 3 rotor 1 speed",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/fan_tach/fan3_1",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p0_gpu0_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0024M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 0 power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p0_gpu0_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p0_gpu1_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0024M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 1 power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p0_gpu1_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p0_gpu2_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0024M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 2 power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p0_gpu2_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p0_io_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0025M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 I/O power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p0_io_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p0_mem_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0026M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 memory power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p0_mem_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p0_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0027M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p0_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p1_gpu0_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0024M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 3 power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p1_gpu0_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p1_gpu1_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0024M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 4 power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p1_gpu1_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p1_gpu2_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0024M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 5 power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p1_gpu2_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p1_io_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0025M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 I/O power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p1_io_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p1_mem_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0026M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 memory power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p1_mem_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/p1_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0027M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/p1_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/ps0_input_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0028M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read power supply 0 input power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/ps0_input_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/ps1_input_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0028M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read power supply 1 input power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/ps1_input_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/storage_a_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0029M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read storage 0 power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/storage_a_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/storage_b_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0029M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read storage 1 power",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/storage_b_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/power/total_power": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0030M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read total power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/power/total_power",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/ambient": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0059M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read ambient temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/ambient",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm0_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 0 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm0_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm10_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 10,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 10 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm10_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm11_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 11,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 11 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm11_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm12_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 12,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 12 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm12_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm13_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 13,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 13 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm13_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm14_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 14,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 14 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm14_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm15_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 15,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 15 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm15_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm1_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 1 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm1_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm2_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 2 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm2_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm3_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 3 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm3_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm4_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 4 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm4_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm5_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 5 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm5_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm6_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 6,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 6 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm6_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm7_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 7,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 7 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm7_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm8_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 8,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 8 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm8_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/dimm9_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0060M",
+ "ComponentInstance": 9,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read DIMM 9 power consumption",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/dimm9_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu0_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 0 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu0_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu0_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 0 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu0_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu1_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 1 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu1_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu1_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 1 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu1_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu2_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 2 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu2_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu2_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 2,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 2 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu2_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu3_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 3 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu3_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu3_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 3,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 3 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu3_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu4_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 4 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu4_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu4_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 4,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 4 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu4_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu5_core_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 5 core temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu5_core_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/gpu5_mem_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0061M",
+ "ComponentInstance": 5,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read GPU 5 memory temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/gpu5_mem_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core0_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 0 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core0_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core10_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 10 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core10_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core11_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 11 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core11_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core12_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 12 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core12_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core13_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 13 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core13_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core14_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 14 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core14_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core15_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 15 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core15_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core16_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 16 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core16_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core17_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 17 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core17_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core18_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 18 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core18_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core19_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 19 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core19_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core1_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 1 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core1_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core20_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 20 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core20_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core21_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 21 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core21_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core22_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 22 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core22_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core23_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 23 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core23_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core2_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 2 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core2_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core3_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 3 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core3_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core4_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 4 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core4_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core5_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 5 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core5_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core6_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 6 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core6_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core7_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 7 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core7_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core8_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 8 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core8_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_core9_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "0,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 core 9 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_core9_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_vcs_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 VCS voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_vcs_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_vdd_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 VDD voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_vdd_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_vddr_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 VDDR voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_vddr_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p0_vdn_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 0 VDN voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p0_vdn_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core0_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,0",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 0 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core0_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core10_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,10",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 10 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core10_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core11_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,11",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 11 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core11_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core12_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,12",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 12 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core12_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core13_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,13",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 13 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core13_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core14_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,14",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 14 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core14_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core15_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,15",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 15 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core15_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core16_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,16",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 16 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core16_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core17_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,17",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 17 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core17_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core18_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,18",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 18 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core18_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core19_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,19",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 19 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core19_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core1_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,1",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 1 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core1_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core20_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,20",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 20 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core20_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core21_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,21",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 21 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core21_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core22_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,22",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 22 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core22_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core23_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,23",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 23 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core23_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core2_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,2",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 2 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core2_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core3_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,3",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 3 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core3_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core4_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,4",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 4 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core4_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core5_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,5",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 5 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core5_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core6_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,6",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 6 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core6_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core7_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,7",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 7 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core7_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core8_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,8",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 8 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core8_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_core9_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0062M",
+ "ComponentInstance": "1,9",
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 core 9 temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_core9_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_vcs_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 VCS voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_vcs_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_vdd_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 VDD voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_vdd_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_vddr_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 VDDR voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_vddr_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/temperature/p1_vdn_temp": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0063M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read CPU 1 VDN voltage regulator temperature",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/temperature/p1_vdn_temp",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/voltage/ps0_input_voltage": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0031M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read power supply 0 input voltage",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/voltage/ps0_input_voltage",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/voltage/ps0_output_voltage": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0032M",
+ "ComponentInstance": 0,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read power supply 0 output voltage",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/voltage/ps0_output_voltage",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/voltage/ps1_input_voltage": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0031M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read power supply 1 input voltage",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/voltage/ps1_input_voltage",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Device.ReadFailure||/xyz/openbmc_project/sensors/voltage/ps1_output_voltage": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Power",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Device.ReadFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPPW0032M",
+ "ComponentInstance": 1,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Communication Failure/Timeout",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read power supply 1 output voltage",
+ "ReferencedInventory": "/xyz/openbmc_project/sensors/voltage/ps1_output_voltage",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Sensor.Threshold.Error.CriticalHigh||temperature": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.Sensor.Threshold.Error.CriticalHigh",
+ "CallHomeCandidate": true,
+ "CommonEventID": "FQPSPCA0072M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Three or more CPU cores have gone over temperature, initiating a thermal shutdown.",
+ "ReferencedInventory": "temperature",
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Software.Image.Error.InternalFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Software.Image.Error.InternalFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0027G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to process the image provided",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Software.Image.Error.ManifestFileFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Software.Image.Error.ManifestFileFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0025G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read the manifest file",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Software.Image.Error.UnTarFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Software.Image.Error.UnTarFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0026G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to decompress the tar file",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Software.Version.Error.Incompatible": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Software.Version.Error.Incompatible",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0067M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Not Valid",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The PNOR and BMC code levels are not compatible and the system will not boot",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Software.Version.Error.InternalFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Software.Version.Error.InternalFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0027G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to process the image provided",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Software.Version.Error.ManifestFileFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Software.Version.Error.ManifestFileFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0025G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to read the manifest file",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.Software.Version.Error.UnTarFailure": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.Software.Version.Error.UnTarFailure",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0026G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Unable to decompress the tar file",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.State.Host.Error.SoftOffTimeout": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Host Operating System",
+ "BMCMessageID": "xyz.openbmc_project.State.Host.Error.SoftOffTimeout",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPOS0000G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The soft power off of the host has timed out",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.State.Host.SoftOffTimeout": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Host Operating System",
+ "BMCMessageID": "xyz.openbmc_project.State.Host.SoftOffTimeout",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPOS0000G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The soft power off of the host has timed out",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.State.Shutdown.Inventory.Error.Fan": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.State.Shutdown.Inventory.Error.Fan",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0067F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Unrecoverable Hardware Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system shut down due to not having enough functional fans.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.State.Shutdown.Power.Error.Fault": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.State.Shutdown.Power.Error.Fault",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0068F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system was shut down due to a power fault being detected.",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.State.Shutdown.ThermalEvent.Error.GPU": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.State.Shutdown.ThermalEvent.Error.GPU",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0070F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system was shut down due to a GPU going over temperature",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.State.Shutdown.ThermalEvent.Error.Processor": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Cooling",
+ "BMCMessageID": "xyz.openbmc_project.State.Shutdown.ThermalEvent.Error.Processor",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCA0069F",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Environmental",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The system was shut down due to a processor going over temperature",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": false,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.User.Common.Error.NoResource": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.User.Common.Error.NoResource",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0073G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "Insufficient resources to modify users",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.User.Common.Error.PrivilegeMappingExists": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.User.Common.Error.PrivilegeMappingExists",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0068G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The specified user privileges already exist",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.User.Common.Error.UserNameDoesNotExist": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.User.Common.Error.UserNameDoesNotExist",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0070G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The specified user name does not exist",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.User.Common.Error.UserNameExists": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.User.Common.Error.UserNameExists",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0069G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The specified user name already exists",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.User.Common.Error.UserNameGroupFail": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.User.Common.Error.UserNameGroupFail",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0071G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The specified user name cannot be assigned to the specified group",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.openbmc_project.User.Common.Error.UserNamePrivFail": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Systems Management - Core / Virtual Appliance",
+ "BMCMessageID": "xyz.openbmc_project.User.Common.Error.UserNamePrivFail",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPCR0072G",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The specified user does not have sufficient privileges",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Warning",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ },
+ "xyz.opnbmc_project.State.Host.Error.SoftOffTimeout": {
+ "AffectedLEDs": null,
+ "AffectedSubsystem": "Canister/Appliance",
+ "BMCMessageID": "xyz.opnbmc_project.State.Host.Error.SoftOffTimeout",
+ "CallHomeCandidate": false,
+ "CommonEventID": "FQPSPAA0010M",
+ "ComponentInstance": null,
+ "DateAdded": null,
+ "DateReviewed": null,
+ "EventType": "Firmware/Software Failure",
+ "Internal": false,
+ "LengthyDescription": null,
+ "LogSource": "BMC",
+ "Message": "The host did not shutdown within the configured time",
+ "ReferencedInventory": null,
+ "RelatedEventIDs": {},
+ "Serviceable": true,
+ "Severity": "Critical",
+ "UserAction": null,
+ "VMMigrationFlag": null
+ }
+ },
+ "fileInfo": {
+ "Entity": "IBM OpenBMC",
+ "Version": "1.8.3",
+ "language": "English"
+ }
+}
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 9b7806995..e5e6f57ee 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,3 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
PACKAGECONFIG_append_ibm-ac-server = " policy-interface"
+PACKAGECONFIG_append_mihawk = " policy-interface"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/logging/mihawk-phosphor-logging-callouts-native.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/mihawk-phosphor-logging-callouts-native.bb
new file mode 100644
index 000000000..a52e93762
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/mihawk-phosphor-logging-callouts-native.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Mihawk inventory map for phosphor-ipmi-host"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit native
+inherit phosphor-logging
+
+SRC_URI += "file://callouts.yaml"
+
+PROVIDES += "virtual/phosphor-logging-callouts"
+
+S = "${WORKDIR}"
+
+do_install() {
+ DEST=${D}${callouts_datadir}
+ install -d ${DEST}
+ install callouts.yaml ${DEST}
+}
+
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/logging/mihawk-phosphor-logging-callouts/callouts.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/mihawk-phosphor-logging-callouts/callouts.yaml
new file mode 100755
index 000000000..4fd506047
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/mihawk-phosphor-logging-callouts/callouts.yaml
@@ -0,0 +1,3 @@
+/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/raw: /system/chassis/motherboard/cpu0
+/sys/devices/platform/gpio-fsi/fsi0/slave@00:00/00:00:00:0a/fsi1/slave@01:00/raw: /system/chassis/motherboard/cpu1
+
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/logging/phosphor-logging_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/phosphor-logging_%.bbappend
new file mode 100644
index 000000000..5e2dc6c20
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/logging/phosphor-logging_%.bbappend
@@ -0,0 +1 @@
+PACKAGECONFIG_append_witherspoon-128 = " openpower-pels"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/mboxd/mboxd_%.bbappend b/meta-ibm/meta-witherspoon/recipes-phosphor/mboxd/mboxd_%.bbappend
index 69c9d1d54..9ead95927 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/mboxd/mboxd_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/mboxd/mboxd_%.bbappend
@@ -1,12 +1,13 @@
MBOXD_FLASH_SIZE_ibm-ac-server = "64M"
+MBOXD_FLASH_SIZE_mihawk = "64M"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SYSTEMD_SERVICE_${PN}_append_ibm-ac-server = " check-pnor-format.service"
+SYSTEMD_SERVICE_${PN}_append_df-openpower-ubi-fs = " check-pnor-format.service"
-SRC_URI_append_ibm-ac-server = " file://check_pnor_format.sh"
+SRC_URI_append_df-openpower-ubi-fs = " file://check_pnor_format.sh"
-do_install_append_ibm-ac-server() {
+do_install_append_df-openpower-ubi-fs() {
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 cb167ee3f..fc8f6b861 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,2 @@
SYSTEMD_SERVICE_${PN}_append_ibm-ac-server = " first-boot-set-mac@eth0.service"
+SYSTEMD_SERVICE_${PN}_append_mihawk = " first-boot-set-mac@eth0.service first-boot-set-mac@eth1.service" \ No newline at end of file
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 386c1e6ec..c75c7d0f9 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,9 @@
RDEPENDS_${PN}-inventory_append_ibm-ac-server = " openpower-fru-vpd openpower-occ-control phosphor-cooling-type virtual/obmc-gpio-presence"
+RDEPENDS_${PN}-inventory_append_mihawk = " openpower-fru-vpd openpower-occ-control virtual/obmc-gpio-presence id-button phosphor-cooling-type"
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"
+RDEPENDS_${PN}-extras_append_mihawk = " phosphor-webui phosphor-image-signing"
+RDEPENDS_${PN}-extras_remove_rainier = "obmc-ikvm liberation-fonts uart-render-controller"
+RDEPENDS_${PN}-extras_remove_witherspoon-tacoma = "obmc-ikvm liberation-fonts uart-render-controller"
${PN}-software-extras_append_ibm-ac-server = " phosphor-software-manager-sync"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer.bb
index f19e02ff8..be5035eca 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer.bb
@@ -1,7 +1,7 @@
SUMMARY = "Power sequencer data definition"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml
new file mode 100644
index 000000000..d23ce58fb
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/rainier/ucd90160.yaml
@@ -0,0 +1,200 @@
+- Device:
+ index: 0
+ # Linux sysfs path for this power sequencer (0x22 8-bit address)
+ path: /sys/bus/i2c/devices/i2c-8/8-0011
+ RailNames:
+ - "12.0V"
+ - "5.0V_USB"
+ - "5.0V_DASD"
+ - "3.3VA"
+ - "3.3VB"
+ - "1.5V"
+ - "1.1V"
+ - "VDDA_DCM0"
+ - "VDDB_DCM0"
+ - "VDDA_DCM1"
+ - "VDDB_DCM1"
+ - "12.0VCS"
+ - "3.3VCS"
+ - "1.1V_Current"
+ - "5.0V_USB_Current"
+ - "5.0V_DASD_Current"
+ - "12.0VN"
+ - "12.0VP"
+ - "12.0VQ"
+ - "12.0VR"
+ - "ThermalDiode1"
+ - "ThermalDiode2"
+ - "ThermalDiode3"
+ - "ThermalDiode4"
+ GPIConfigs:
+ - name: PCIE_SLOT0
+ gpi: 1
+ pinID: 44
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT1
+ gpi: 2
+ pinID: 45
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT2
+ gpi: 3
+ pinID: 46
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT3
+ gpi: 4
+ pinID: 47
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT4
+ gpi: 5
+ pinID: 48
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT7
+ gpi: 6
+ pinID: 49
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT8
+ gpi: 7
+ pinID: 50
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT9
+ gpi: 8
+ pinID: 51
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT10
+ gpi: 9
+ pinID: 52
+ poll: false
+ analysis: none
+ - name: PCIE_SLOT11
+ gpi: 10
+ pinID: 53
+ poll: false
+ analysis: none
+ - name: SOFTWARE_PGOOD
+ gpi: 11
+ pinID: 55
+ poll: false
+ analysis: none
+ - name: PGOOD_12A
+ gpi: 12
+ pinID: 56
+ poll: false
+ analysis: none
+ - name: PGOOD_12B
+ gpi: 13
+ pinID: 57
+ poll: false
+ analysis: none
+ - name: PGOOD_12C
+ gpi: 14
+ pinID: 58
+ poll: false
+ analysis: none
+ - name: PGOOD_12D
+ gpi: 15
+ pinID: 59
+ poll: false
+ analysis: none
+ - name: PGOOD_12L
+ gpi: 16
+ pinID: 60
+ poll: false
+ analysis: none
+ - name: PGOOD_12M
+ gpi: 17
+ pinID: 61
+ poll: false
+ analysis: none
+ - name: PGOOD_12N
+ gpi: 18
+ pinID: 62
+ poll: false
+ analysis: none
+ - name: PGOOD_12P
+ gpi: 19
+ pinID: 63
+ poll: false
+ analysis: none
+ - name: PGOOD_12PCIE
+ gpi: 20
+ pinID: 64
+ poll: false
+ analysis: none
+ - name: PGOOD_12Q
+ gpi: 21
+ pinID: 65
+ poll: false
+ analysis: none
+ - name: PGOOD_12R
+ gpi: 22
+ pinID: 66
+ poll: false
+ analysis: none
+ - name: PGOOD_VDN_DCM0
+ gpi: 23
+ pinID: 72
+ poll: false
+ analysis: none
+ - name: PGOOD_VDN_DCM1
+ gpi: 24
+ pinID: 73
+ poll: false
+ analysis: none
+ - name: PGOOD_VCS_DCM0
+ gpi: 25
+ pinID: 74
+ poll: false
+ analysis: none
+ - name: PGOOD_VCS_DCM1
+ gpi: 26
+ pinID: 75
+ poll: false
+ analysis: none
+ - name: PGOOD_VIO_DCM0
+ gpi: 27
+ pinID: 76
+ poll: false
+ analysis: none
+ - name: PGOOD_VIO_DCM1
+ gpi: 28
+ pinID: 77
+ poll: false
+ analysis: none
+ - name: PGOOD_VPCIE_DCM0
+ gpi: 29
+ pinID: 78
+ poll: false
+ analysis: none
+ - name: PGOOD_VPCIE_DCM1
+ gpi: 30
+ pinID: 79
+ poll: false
+ analysis: none
+ - name: PGOOD_PSU1
+ gpi: 31
+ pinID: 80
+ poll: false
+ analysis: none
+ - name: PGOOD_PSU2
+ gpi: 32
+ pinID: 81
+ poll: false
+ analysis: none
+ - name: PGOOD_PSU3
+ gpi: 33
+ pinID: 82
+ poll: false
+ analysis: none
+ - name: PGOOD_PSU4
+ gpi: 34
+ pinID: 83
+ poll: false
+ analysis: none
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 e14640202..abb2ce326 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
@@ -1,7 +1,7 @@
- Device:
index: 0
# Linux sysfs path for this power sequencer (0xC8 8-bit address)
- path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a340.i2c-bus/i2c-8/8-0064
+ path: /sys/bus/i2c/devices/i2c-8/8-0064
RailNames:
- "12.0V"
- "3.3V"
@@ -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/1e78a340.i2c-bus/i2c-8/8-0060
+ path: /sys/bus/i2c/devices/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/1e78a340.i2c-bus/i2c-8/8-0060
+ path: /sys/bus/i2c/devices/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/1e78a380.i2c-bus/i2c-9/9-0074
+ path: /sys/bus/i2c/devices/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/1e78a3c0.i2c-bus/i2c-10/10-0074
+ path: /sys/bus/i2c/devices/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/power-sequencer/witherspoon/ucd90160.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/witherspoon/ucd90160.yaml
index bf373ea92..39ee8ed36 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/witherspoon/ucd90160.yaml
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/power-sequencer/witherspoon/ucd90160.yaml
@@ -1,7 +1,7 @@
- Device:
index: 0
# Linux sysfs path for this power sequencer (0xC8 8-bit address)
- path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-11/11-0064
+ path: /sys/bus/i2c/devices//i2c-11/11-0064
RailNames:
- "5.0VCS"
- "12.0V"
@@ -52,7 +52,7 @@
analysis: none
GPIOAnalysis:
- type: gpuPGOOD
- path: /sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a400.i2c-bus/i2c-11/11-0060
+ path: /sys/bus/i2c/devices/i2c-11/11-0060
gpio_value: low
error_function: gpuPGOODError
option_flags: none
@@ -77,7 +77,7 @@
callout: /system/chassis/motherboard/gv100card5
- type: gpuOverTemp # Extra analysis function to call for this type
# 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-11/11-0060
+ path: /sys/bus/i2c/devices/i2c-11/11-0060
gpio_value: low # What GPIO value indicates a fault/problem?
error_function: gpuOverTempError
option_flags: shutdownOnFault
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 b73d922d0..0612d62af 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
@@ -1,5 +1,5 @@
-HOMEPAGE = "https://github.com/openbmc/witherspoon-pfault-analysis"
+HOMEPAGE = "https://github.com/openbmc/phosphor-power"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-SRC_URI += "git://github.com/openbmc/witherspoon-pfault-analysis"
-SRCREV = "5b2964fa8e57c46d60c0c0d95d5668c9f9a5ce23"
+SRC_URI += "git://github.com/openbmc/phosphor-power"
+SRCREV = "b3853e2d3ac295a961e08927d177b40ddd683914"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis_git.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis_git.bb
index 802f7594a..0645eb7a7 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis_git.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-pfault-analysis_git.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Analyzes power devices for faults"
PR = "r1"
PV = "1.0+git${SRCPV}"
-inherit autotools
+inherit meson
inherit pkgconfig
inherit obmc-phosphor-systemd
inherit pythonnative
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-sync.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-sync.bb
index a2d7e8919..4f599a78c 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-sync.bb
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/power/witherspoon-power-supply-sync.bb
@@ -2,7 +2,7 @@ SUMMARY = "Power Supply Sync"
DESCRIPTION = "Synchronizes the power supplies' INPUT_HISTORY data"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@58.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@58.conf
new file mode 100644
index 000000000..61b4253bf
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@58.conf
@@ -0,0 +1,4 @@
+LABEL_in1="ps1_input_voltage"
+LABEL_in2="ps1_output_voltage"
+LABEL_curr1="ps1_output_current"
+LABEL_power1="ps1_input_power"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@5b.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@5b.conf
new file mode 100644
index 000000000..92838e1d0
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@100/power-supply@5b.conf
@@ -0,0 +1,4 @@
+LABEL_in1="ps0_input_voltage"
+LABEL_in2="ps0_output_voltage"
+LABEL_curr1="ps0_output_current"
+LABEL_power1="ps0_input_power"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf
new file mode 100644
index 000000000..3c25a4a01
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf
@@ -0,0 +1,11 @@
+LABEL_temp1 = "p0_vdd_temp"
+WARNHI_temp1 = "100000"
+WARNLO_temp1 = "0"
+CRITHI_temp1 = "105000"
+CRITLO_temp1 = "0"
+
+LABEL_temp2 = "p0_vcs_temp"
+WARNHI_temp2 = "100000"
+WARNLO_temp2 = "0"
+CRITHI_temp2 = "105000"
+CRITLO_temp2 = "0"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@72.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@72.conf
new file mode 100644
index 000000000..7f1f4d871
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@72.conf
@@ -0,0 +1,5 @@
+LABEL_temp1 = "p0_vdn_temp"
+WARNHI_temp1 = "100000"
+WARNLO_temp1 = "0"
+CRITHI_temp1 = "105000"
+CRITLO_temp1 = "0"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf
new file mode 100644
index 000000000..5f0985d7c
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf
@@ -0,0 +1,11 @@
+LABEL_temp1 = "p1_vdd_temp"
+WARNHI_temp1 = "100000"
+WARNLO_temp1 = "0"
+CRITHI_temp1 = "105000"
+CRITLO_temp1 = "0"
+
+LABEL_temp2 = "p1_vcs_temp"
+WARNHI_temp2 = "100000"
+WARNLO_temp2 = "0"
+CRITHI_temp2 = "105000"
+CRITLO_temp2 = "0" \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@72.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@72.conf
new file mode 100644
index 000000000..438372837
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@72.conf
@@ -0,0 +1,5 @@
+LABEL_temp1 = "p1_vdn_temp"
+WARNHI_temp1 = "100000"
+WARNLO_temp1 = "0"
+CRITHI_temp1 = "105000"
+CRITLO_temp1 = "0" \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/emc1403@4c.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/emc1403@4c.conf
new file mode 100644
index 000000000..7c7b24811
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/emc1403@4c.conf
@@ -0,0 +1,2 @@
+LABEL_temp2 = "ambient_temp"
+
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@48.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@48.conf
new file mode 100644
index 000000000..4f89e7f34
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@48.conf
@@ -0,0 +1,2 @@
+LABEL_temp1 = "p1_pcie_temp"
+
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@49.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@49.conf
new file mode 100644
index 000000000..959c66f9d
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@400/tmp275@49.conf
@@ -0,0 +1,2 @@
+LABEL_temp1 = "p0_pcie_temp"
+
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@440/pca9545@70/i2c@3/tmp275@48.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@440/pca9545@70/i2c@3/tmp275@48.conf
new file mode 100644
index 000000000..82f065818
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@440/pca9545@70/i2c@3/tmp275@48.conf
@@ -0,0 +1,2 @@
+LABEL_temp1 = "M2_riser_temp"
+
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf
new file mode 100644
index 000000000..5d14ebc94
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/ahb/apb/pwm-tacho-controller@1e786000.conf
@@ -0,0 +1,25 @@
+LABEL_fan1 = "fan0_0"
+LABEL_fan2 = "fan0_1"
+LABEL_fan3 = "fan1_0"
+LABEL_fan4 = "fan1_1"
+LABEL_fan5 = "fan2_0"
+LABEL_fan6 = "fan2_1"
+LABEL_fan7 = "fan3_0"
+LABEL_fan8 = "fan3_1"
+LABEL_fan9 = "fan4_0"
+LABEL_fan10 = "fan4_1"
+LABEL_fan11 = "fan5_0"
+LABEL_fan12 = "fan5_1"
+
+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" \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/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..5b347c10c
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf
@@ -0,0 +1,291 @@
+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"
+MODE_temp33 = "label"
+MODE_temp34 = "label"
+MODE_temp35 = "label"
+MODE_temp36 = "label"
+MODE_temp37 = "label"
+MODE_temp38 = "label"
+MODE_temp39 = "label"
+MODE_temp40 = "label"
+LABEL_temp17 = "p0_core0_temp"
+WARNHI_temp17 = "85000"
+WARNLO_temp17 = "0"
+CRITHI_temp17 = "90000"
+CRITLO_temp17 = "0"
+
+LABEL_temp20 = "p0_core1_temp"
+WARNHI_temp20 = "85000"
+WARNLO_temp20 = "0"
+CRITHI_temp20 = "90000"
+CRITLO_temp20 = "0"
+
+LABEL_temp23 = "p0_core2_temp"
+WARNHI_temp23 = "85000"
+WARNLO_temp23 = "0"
+CRITHI_temp23 = "90000"
+CRITLO_temp23 = "0"
+
+LABEL_temp26 = "p0_core3_temp"
+WARNHI_temp26 = "85000"
+WARNLO_temp26 = "0"
+CRITHI_temp26 = "90000"
+CRITLO_temp26 = "0"
+
+LABEL_temp29 = "p0_core4_temp"
+WARNHI_temp29 = "85000"
+WARNLO_temp29 = "0"
+CRITHI_temp29 = "90000"
+CRITLO_temp29 = "0"
+
+LABEL_temp32 = "p0_core5_temp"
+WARNHI_temp32 = "85000"
+WARNLO_temp32 = "0"
+CRITHI_temp32 = "90000"
+CRITLO_temp32 = "0"
+
+LABEL_temp35 = "p0_core6_temp"
+WARNHI_temp35 = "85000"
+WARNLO_temp35 = "0"
+CRITHI_temp35 = "90000"
+CRITLO_temp35 = "0"
+
+LABEL_temp38 = "p0_core7_temp"
+WARNHI_temp38 = "85000"
+WARNLO_temp38 = "0"
+CRITHI_temp38 = "90000"
+CRITLO_temp38 = "0"
+
+LABEL_temp41 = "p0_core8_temp"
+WARNHI_temp41 = "85000"
+WARNLO_temp41 = "0"
+CRITHI_temp41 = "90000"
+CRITLO_temp41 = "0"
+
+LABEL_temp44 = "p0_core9_temp"
+WARNHI_temp44 = "85000"
+WARNLO_temp44 = "0"
+CRITHI_temp44 = "90000"
+CRITLO_temp44 = "0"
+
+LABEL_temp47 = "p0_core10_temp"
+WARNHI_temp47 = "85000"
+WARNLO_temp47 = "0"
+CRITHI_temp47 = "90000"
+CRITLO_temp47 = "0"
+
+LABEL_temp50 = "p0_core11_temp"
+WARNHI_temp50 = "85000"
+WARNLO_temp50 = "0"
+CRITHI_temp50 = "90000"
+CRITLO_temp50 = "0"
+
+LABEL_temp53 = "p0_core12_temp"
+WARNHI_temp53 = "85000"
+WARNLO_temp53 = "0"
+CRITHI_temp53 = "90000"
+CRITLO_temp53 = "0"
+
+LABEL_temp56 = "p0_core13_temp"
+WARNHI_temp56 = "85000"
+WARNLO_temp56 = "0"
+CRITHI_temp56 = "90000"
+CRITLO_temp56 = "0"
+
+LABEL_temp59 = "p0_core14_temp"
+WARNHI_temp59 = "85000"
+WARNLO_temp59 = "0"
+CRITHI_temp59 = "90000"
+CRITLO_temp59 = "0"
+
+LABEL_temp62 = "p0_core15_temp"
+WARNHI_temp62 = "85000"
+WARNLO_temp62 = "0"
+CRITHI_temp62 = "90000"
+CRITLO_temp62 = "0"
+
+LABEL_temp65 = "p0_core16_temp"
+WARNHI_temp65 = "85000"
+WARNLO_temp65 = "0"
+CRITHI_temp65 = "90000"
+CRITLO_temp65 = "0"
+
+LABEL_temp68 = "p0_core17_temp"
+WARNHI_temp68 = "85000"
+WARNLO_temp68 = "0"
+CRITHI_temp68 = "90000"
+CRITLO_temp68 = "0"
+
+LABEL_temp71 = "p0_core18_temp"
+WARNHI_temp71 = "85000"
+WARNLO_temp71 = "0"
+CRITHI_temp71 = "90000"
+CRITLO_temp71 = "0"
+
+LABEL_temp74 = "p0_core19_temp"
+WARNHI_temp74 = "85000"
+WARNLO_temp74 = "0"
+CRITHI_temp74 = "90000"
+CRITLO_temp74 = "0"
+
+LABEL_temp77 = "p0_core20_temp"
+WARNHI_temp77 = "85000"
+WARNLO_temp77 = "0"
+CRITHI_temp77 = "90000"
+CRITLO_temp77 = "0"
+
+LABEL_temp80 = "p0_core21_temp"
+WARNHI_temp80 = "85000"
+WARNLO_temp80 = "0"
+CRITHI_temp80 = "90000"
+CRITLO_temp80 = "0"
+
+LABEL_temp83 = "p0_core22_temp"
+WARNHI_temp83 = "85000"
+WARNLO_temp83 = "0"
+CRITHI_temp83 = "90000"
+CRITLO_temp83 = "0"
+
+LABEL_temp86 = "p0_core23_temp"
+WARNHI_temp86 = "85000"
+WARNLO_temp86 = "0"
+CRITHI_temp86 = "90000"
+CRITLO_temp86 = "0"
+
+LABEL_temp165 = "dimm0_temp"
+WARNHI_temp165 = "85000"
+WARNLO_temp165 = "0"
+CRITHI_temp165 = "95000"
+CRITLO_temp165 = "0"
+
+LABEL_temp167 = "dimm1_temp"
+WARNHI_temp167 = "85000"
+WARNLO_temp167 = "0"
+CRITHI_temp167 = "95000"
+CRITLO_temp167 = "0"
+
+LABEL_temp169 = "dimm2_temp"
+WARNHI_temp169 = "85000"
+WARNLO_temp169 = "0"
+CRITHI_temp169 = "95000"
+CRITLO_temp169 = "0"
+
+LABEL_temp171 = "dimm3_temp"
+WARNHI_temp171 = "85000"
+WARNLO_temp171 = "0"
+CRITHI_temp171 = "95000"
+CRITLO_temp171 = "0"
+
+LABEL_temp173 = "dimm4_temp"
+WARNHI_temp173 = "85000"
+WARNLO_temp173 = "0"
+CRITHI_temp173 = "95000"
+CRITLO_temp173 = "0"
+
+LABEL_temp175 = "dimm5_temp"
+WARNHI_temp175 = "85000"
+WARNLO_temp175 = "0"
+CRITHI_temp175 = "95000"
+CRITLO_temp175 = "0"
+
+LABEL_temp177 = "dimm6_temp"
+WARNHI_temp177 = "85000"
+WARNLO_temp177 = "0"
+CRITHI_temp177 = "95000"
+CRITLO_temp177 = "0"
+
+LABEL_temp179 = "dimm7_temp"
+WARNHI_temp179 = "85000"
+WARNLO_temp179 = "0"
+CRITHI_temp179 = "95000"
+CRITLO_temp179 = "0"
+
+LABEL_temp197 = "dimm16_temp"
+WARNHI_temp197 = "85000"
+WARNLO_temp197 = "0"
+CRITHI_temp197 = "95000"
+CRITLO_temp197 = "0"
+
+LABEL_temp199 = "dimm17_temp"
+WARNHI_temp199 = "85000"
+WARNLO_temp199 = "0"
+CRITHI_temp199 = "95000"
+CRITLO_temp199 = "0"
+
+LABEL_temp201 = "dimm18_temp"
+WARNHI_temp201 = "85000"
+WARNLO_temp201 = "0"
+CRITHI_temp201 = "95000"
+CRITLO_temp201 = "0"
+
+LABEL_temp203 = "dimm19_temp"
+WARNHI_temp203 = "85000"
+WARNLO_temp203 = "0"
+CRITHI_temp203 = "95000"
+CRITLO_temp203 = "0"
+
+LABEL_temp205 = "dimm20_temp"
+WARNHI_temp205 = "85000"
+WARNLO_temp205 = "0"
+CRITHI_temp205 = "95000"
+CRITLO_temp205 = "0"
+
+LABEL_temp207 = "dimm21_temp"
+WARNHI_temp207 = "85000"
+WARNLO_temp207 = "0"
+CRITHI_temp207 = "95000"
+CRITLO_temp207 = "0"
+
+LABEL_temp209 = "dimm22_temp"
+WARNHI_temp209 = "85000"
+WARNLO_temp209 = "0"
+CRITHI_temp209 = "95000"
+CRITLO_temp209 = "0"
+
+LABEL_temp211 = "dimm23_temp"
+WARNHI_temp211 = "85000"
+WARNLO_temp211 = "0"
+CRITHI_temp211 = "95000"
+CRITLO_temp211 = "0"
+
+LABEL_power2 = "io_b_power"
+LABEL_power3 = "io_a_power"
+LABEL_power4 = "p1_mem_power"
+LABEL_power5 = "p1_vdd_power"
+LABEL_power6 = "p0_mem_power"
+LABEL_power7 = "p0_vdd_power"
+LABEL_power8 = "fans_power"
+LABEL_power9 = "storage_b_power"
+LABEL_power10 = "storage_a_power"
+LABEL_power11 = "gpu0_power"
+LABEL_power14 = "total_power"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/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-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/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..ba53cd95d
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/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,280 @@
+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"
+MODE_temp33 = "label"
+MODE_temp34 = "label"
+MODE_temp35 = "label"
+MODE_temp36 = "label"
+MODE_temp37 = "label"
+MODE_temp38 = "label"
+MODE_temp39 = "label"
+MODE_temp40 = "label"
+LABEL_temp91 = "p1_core0_temp"
+WARNHI_temp91 = "85000"
+WARNLO_temp91 = "0"
+CRITHI_temp91 = "90000"
+CRITLO_temp91 = "0"
+
+LABEL_temp94 = "p1_core1_temp"
+WARNHI_temp94 = "85000"
+WARNLO_temp94 = "0"
+CRITHI_temp94 = "90000"
+CRITLO_temp94 = "0"
+
+LABEL_temp97 = "p1_core2_temp"
+WARNHI_temp97 = "85000"
+WARNLO_temp97 = "0"
+CRITHI_temp97 = "90000"
+CRITLO_temp97 = "0"
+
+LABEL_temp100 = "p1_core3_temp"
+WARNHI_temp100 = "85000"
+WARNLO_temp100 = "0"
+CRITHI_temp100 = "90000"
+CRITLO_temp100 = "0"
+
+LABEL_temp103 = "p1_core4_temp"
+WARNHI_temp103 = "85000"
+WARNLO_temp103 = "0"
+CRITHI_temp103 = "90000"
+CRITLO_temp103 = "0"
+
+LABEL_temp106 = "p1_core5_temp"
+WARNHI_temp106 = "85000"
+WARNLO_temp106 = "0"
+CRITHI_temp106 = "90000"
+CRITLO_temp106 = "0"
+
+LABEL_temp109 = "p1_core6_temp"
+WARNHI_temp109 = "85000"
+WARNLO_temp109 = "0"
+CRITHI_temp109 = "90000"
+CRITLO_temp109 = "0"
+
+LABEL_temp112 = "p1_core7_temp"
+WARNHI_temp112 = "85000"
+WARNLO_temp112 = "0"
+CRITHI_temp112 = "90000"
+CRITLO_temp112 = "0"
+
+LABEL_temp115 = "p1_core8_temp"
+WARNHI_temp115 = "85000"
+WARNLO_temp115 = "0"
+CRITHI_temp115 = "90000"
+CRITLO_temp115 = "0"
+
+LABEL_temp118 = "p1_core9_temp"
+WARNHI_temp118 = "85000"
+WARNLO_temp118 = "0"
+CRITHI_temp118 = "90000"
+CRITLO_temp118 = "0"
+
+LABEL_temp121 = "p1_core10_temp"
+WARNHI_temp121 = "85000"
+WARNLO_temp121 = "0"
+CRITHI_temp121 = "90000"
+CRITLO_temp121 = "0"
+
+LABEL_temp124 = "p1_core11_temp"
+WARNHI_temp124 = "85000"
+WARNLO_temp124 = "0"
+CRITHI_temp124 = "90000"
+CRITLO_temp124 = "0"
+
+LABEL_temp127 = "p1_core12_temp"
+WARNHI_temp127 = "85000"
+WARNLO_temp127 = "0"
+CRITHI_temp127 = "90000"
+CRITLO_temp127 = "0"
+
+LABEL_temp130 = "p1_core13_temp"
+WARNHI_temp130 = "85000"
+WARNLO_temp130 = "0"
+CRITHI_temp130 = "90000"
+CRITLO_temp130 = "0"
+
+LABEL_temp133 = "p1_core14_temp"
+WARNHI_temp133 = "85000"
+WARNLO_temp133 = "0"
+CRITHI_temp133 = "90000"
+CRITLO_temp133 = "0"
+
+LABEL_temp136 = "p1_core15_temp"
+WARNHI_temp136 = "85000"
+WARNLO_temp136 = "0"
+CRITHI_temp136 = "90000"
+CRITLO_temp136 = "0"
+
+LABEL_temp139 = "p1_core16_temp"
+WARNHI_temp139 = "85000"
+WARNLO_temp139 = "0"
+CRITHI_temp139 = "90000"
+CRITLO_temp139 = "0"
+
+LABEL_temp142 = "p1_core17_temp"
+WARNHI_temp142 = "85000"
+WARNLO_temp142 = "0"
+CRITHI_temp142 = "90000"
+CRITLO_temp142 = "0"
+
+LABEL_temp145 = "p1_core18_temp"
+WARNHI_temp145 = "85000"
+WARNLO_temp145 = "0"
+CRITHI_temp145 = "90000"
+CRITLO_temp145 = "0"
+
+LABEL_temp148 = "p1_core19_temp"
+WARNHI_temp148 = "85000"
+WARNLO_temp148 = "0"
+CRITHI_temp148 = "90000"
+CRITLO_temp148 = "0"
+
+LABEL_temp151 = "p1_core20_temp"
+WARNHI_temp151 = "85000"
+WARNLO_temp151 = "0"
+CRITHI_temp151 = "90000"
+CRITLO_temp151 = "0"
+
+LABEL_temp154 = "p1_core21_temp"
+WARNHI_temp154 = "85000"
+WARNLO_temp154 = "0"
+CRITHI_temp154 = "90000"
+CRITLO_temp154 = "0"
+
+LABEL_temp157 = "p1_core22_temp"
+WARNHI_temp157 = "85000"
+WARNLO_temp157 = "0"
+CRITHI_temp157 = "90000"
+CRITLO_temp157 = "0"
+
+LABEL_temp160 = "p1_core23_temp"
+WARNHI_temp160 = "85000"
+WARNLO_temp160 = "0"
+CRITHI_temp160 = "90000"
+CRITLO_temp160 = "0"
+
+LABEL_temp181 = "dimm8_temp"
+WARNHI_temp181 = "85000"
+WARNLO_temp181 = "0"
+CRITHI_temp181 = "95000"
+CRITLO_temp181 = "0"
+
+LABEL_temp183 = "dimm9_temp"
+WARNHI_temp183 = "85000"
+WARNLO_temp183 = "0"
+CRITHI_temp183 = "95000"
+CRITLO_temp183 = "0"
+
+LABEL_temp185 = "dimm10_temp"
+WARNHI_temp185 = "85000"
+WARNLO_temp185 = "0"
+CRITHI_temp185 = "95000"
+CRITLO_temp185 = "0"
+
+LABEL_temp187 = "dimm11_temp"
+WARNHI_temp187 = "85000"
+WARNLO_temp187 = "0"
+CRITHI_temp187 = "95000"
+CRITLO_temp187 = "0"
+
+LABEL_temp189 = "dimm12_temp"
+WARNHI_temp189 = "85000"
+WARNLO_temp189 = "0"
+CRITHI_temp189 = "95000"
+CRITLO_temp189 = "0"
+
+LABEL_temp191 = "dimm13_temp"
+WARNHI_temp191 = "85000"
+WARNLO_temp191 = "0"
+CRITHI_temp191 = "95000"
+CRITLO_temp191 = "0"
+
+LABEL_temp193 = "dimm14_temp"
+WARNHI_temp193 = "85000"
+WARNLO_temp193 = "0"
+CRITHI_temp193 = "95000"
+CRITLO_temp193 = "0"
+
+LABEL_temp195 = "dimm15_temp"
+WARNHI_temp195 = "85000"
+WARNLO_temp195 = "0"
+CRITHI_temp195 = "95000"
+CRITLO_temp195 = "0"
+
+LABEL_temp213 = "dimm24_temp"
+WARNHI_temp213 = "85000"
+WARNLO_temp213 = "0"
+CRITHI_temp213 = "95000"
+CRITLO_temp213 = "0"
+
+LABEL_temp215 = "dimm25_temp"
+WARNHI_temp215 = "85000"
+WARNLO_temp215 = "0"
+CRITHI_temp215 = "95000"
+CRITLO_temp215 = "0"
+
+LABEL_temp217 = "dimm26_temp"
+WARNHI_temp217 = "85000"
+WARNLO_temp217 = "0"
+CRITHI_temp217 = "95000"
+CRITLO_temp217 = "0"
+
+LABEL_temp219 = "dimm27_temp"
+WARNHI_temp219 = "85000"
+WARNLO_temp219 = "0"
+CRITHI_temp219 = "95000"
+CRITLO_temp219 = "0"
+
+LABEL_temp221 = "dimm28_temp"
+WARNHI_temp221 = "85000"
+WARNLO_temp221 = "0"
+CRITHI_temp221 = "95000"
+CRITLO_temp221 = "0"
+
+LABEL_temp223 = "dimm29_temp"
+WARNHI_temp223 = "85000"
+WARNLO_temp223 = "0"
+CRITHI_temp223 = "95000"
+CRITLO_temp223 = "0"
+
+LABEL_temp225 = "dimm30_temp"
+WARNHI_temp225 = "85000"
+WARNLO_temp225 = "0"
+CRITHI_temp225 = "95000"
+CRITLO_temp225 = "0"
+
+LABEL_temp227 = "dimm31_temp"
+WARNHI_temp227 = "85000"
+WARNLO_temp227 = "0"
+CRITHI_temp227 = "95000"
+CRITLO_temp227 = "0"
+
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-12v.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-12v.conf
new file mode 100644
index 000000000..81d3aa519
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-12v.conf
@@ -0,0 +1,2 @@
+LABEL_in1=12V
+GAIN_in1=7.5 \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-3v.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-3v.conf
new file mode 100644
index 000000000..d7e4a92e8
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-3v.conf
@@ -0,0 +1,2 @@
+LABEL_in1=3V
+GAIN_in1=3 \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-5v.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-5v.conf
new file mode 100644
index 000000000..b9ea49ef0
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-5v.conf
@@ -0,0 +1,2 @@
+LABEL_in1=5V
+GAIN_in1=3 \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-battery.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-battery.conf
new file mode 100644
index 000000000..6f7341cd5
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-battery.conf
@@ -0,0 +1,9 @@
+LABEL_in1=vbat
+GAIN_in1=2.368
+
+# GPIOR3 needs to be pulled high for battery voltage reading
+GPIOCHIP_in1=0
+GPIO_in1=139
+
+# Read it every day so it does not impact battery life
+INTERVAL=86400000000 \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs0.conf
new file mode 100644
index 000000000..4b8261f40
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs0.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vcs0
+GAIN_in1=1
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs1.conf
new file mode 100644
index 000000000..02732c677
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vcs1.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vcs1
+GAIN_in1=1 \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd0.conf
new file mode 100644
index 000000000..f91914057
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd0.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vdd0
+GAIN_in1=1
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd1.conf
new file mode 100644
index 000000000..fe188856b
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdd1.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vdd1
+GAIN_in1=1 \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddra.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddra.conf
new file mode 100644
index 000000000..3a11fd246
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddra.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vddra
+GAIN_in1=1
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrb.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrb.conf
new file mode 100644
index 000000000..e9811cb1e
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrb.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vddrb
+GAIN_in1=1 \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrc.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrc.conf
new file mode 100644
index 000000000..1753d93a5
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrc.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vddrc
+GAIN_in1=1
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrd.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrd.conf
new file mode 100644
index 000000000..8fbfcd330
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vddrd.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vddrd
+GAIN_in1=1 \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn0.conf
new file mode 100644
index 000000000..afe6fcead
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn0.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vdn0
+GAIN_in1=1
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn1.conf
new file mode 100644
index 000000000..5141b2969
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vdn1.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vdn1
+GAIN_in1=1 \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio0.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio0.conf
new file mode 100644
index 000000000..bf8e352e5
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio0.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vio0
+GAIN_in1=1
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio1.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio1.conf
new file mode 100644
index 000000000..d81958530
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/mihawk/obmc/hwmon/iio-hwmon-vio1.conf
@@ -0,0 +1,2 @@
+LABEL_in1=vio1
+GAIN_in1=1 \ No newline at end of file
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf
index 9ae1f1ef1..c5344aeb6 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@70.conf
@@ -1,26 +1,44 @@
+#4-0070
+#VDD then VCS
+
+MODE_in1 = "label"
+MODE_in2 = "label"
+MODE_in3 = "label"
+MODE_in4 = "label"
+
+MODE_curr1 = "label"
+MODE_curr2 = "label"
+MODE_curr3 = "label"
+MODE_curr4 = "label"
+
+MODE_power1 = "label"
+MODE_power2 = "label"
+MODE_power3 = "label"
+MODE_power4 = "label"
+
LABEL_temp1 = "p0_vdd_temp"
WARNHI_temp1 = "80000"
WARNLO_temp1 = "0"
CRITHI_temp1 = "85000"
CRITLO_temp1 = "0"
-LABEL_curr2 = "p0_vdd_current"
-WARNLO_curr2 = "0"
-CRITLO_curr2 = "0"
-WARNHI_curr2 = "320000"
-CRITHI_curr2 = "360000"
+LABEL_curriout1 = "p0_vdd_current"
+WARNLO_curriout1 = "0"
+CRITLO_curriout1 = "0"
+WARNHI_curriout1 = "320000"
+CRITHI_curriout1 = "360000"
-LABEL_in2 = "p0_vdd_voltage"
-WARNLO_in2 = "0"
-CRITLO_in2 = "0"
-WARNHI_in2 = "1150"
-CRITHI_in2 = "1300"
+LABEL_invout1 = "p0_vdd_voltage"
+WARNLO_invout1 = "0"
+CRITLO_invout1 = "0"
+WARNHI_invout1 = "1150"
+CRITHI_invout1 = "1300"
-LABEL_power2 = "p0_vdd_power"
-WARNLO_power2 = "0"
-CRITLO_power2 = "0"
-WARNHI_power2 = "270000000"
-CRITHI_power2 = "290000000"
+LABEL_powerpout1 = "p0_vdd_power"
+WARNLO_powerpout1 = "0"
+CRITLO_powerpout1 = "0"
+WARNHI_powerpout1 = "270000000"
+CRITHI_powerpout1 = "290000000"
LABEL_temp2 = "p0_vcs_temp"
WARNHI_temp2 = "80000"
@@ -28,20 +46,20 @@ WARNLO_temp2 = "0"
CRITHI_temp2 = "85000"
CRITLO_temp2 = "0"
-LABEL_curr3 = "p0_vcs_current"
-WARNLO_curr3 = "0"
-CRITLO_curr3 = "0"
-WARNHI_curr3 = "20000"
-CRITHI_curr3 = "25000"
-
-LABEL_in3 = "p0_vcs_voltage"
-WARNLO_in3 = "0"
-CRITLO_in3 = "0"
-WARNHI_in3 = "1150"
-CRITHI_in3 = "1300"
-
-LABEL_power3 = "p0_vcs_power"
-WARNLO_power3 = "0"
-CRITLO_power3 = "0"
-WARNHI_power3 = "20000000"
-CRITHI_power3 = "25000000" \ No newline at end of file
+LABEL_curriout2 = "p0_vcs_current"
+WARNLO_curriout2 = "0"
+CRITLO_curriout2 = "0"
+WARNHI_curriout2 = "20000"
+CRITHI_curriout2 = "25000"
+
+LABEL_invout2 = "p0_vcs_voltage"
+WARNLO_invout2 = "0"
+CRITLO_invout2 = "0"
+WARNHI_invout2 = "1150"
+CRITHI_invout2 = "1300"
+
+LABEL_powerpout2 = "p0_vcs_power"
+WARNLO_powerpout2 = "0"
+CRITLO_powerpout2 = "0"
+WARNHI_powerpout2 = "20000000"
+CRITHI_powerpout2 = "25000000"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@71.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@71.conf
index 723a68d66..23746aa11 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@71.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@140/ir35221@71.conf
@@ -1,26 +1,44 @@
+#4-0071
+#VDN then VDDR
+
+MODE_in1 = "label"
+MODE_in2 = "label"
+MODE_in3 = "label"
+MODE_in4 = "label"
+
+MODE_curr1 = "label"
+MODE_curr2 = "label"
+MODE_curr3 = "label"
+MODE_curr4 = "label"
+
+MODE_power1 = "label"
+MODE_power2 = "label"
+MODE_power3 = "label"
+MODE_power4 = "label"
+
LABEL_temp1 = "p0_vdn_temp"
WARNHI_temp1 = "80000"
WARNLO_temp1 = "0"
CRITHI_temp1 = "85000"
CRITLO_temp1 = "0"
-LABEL_curr2 = "p0_vdn_current"
-WARNLO_curr2 = "0"
-CRITLO_curr2 = "0"
-WARNHI_curr2 = "80000"
-CRITHI_curr2 = "110000"
+LABEL_curriout1 = "p0_vdn_current"
+WARNLO_curriout1 = "0"
+CRITLO_curriout1 = "0"
+WARNHI_curriout1 = "80000"
+CRITHI_curriout1 = "110000"
-LABEL_in2 = "p0_vdn_voltage"
-WARNLO_in2 = "0"
-CRITLO_in2 = "0"
-WARNHI_in2 = "1100"
-CRITHI_in2 = "1300"
+LABEL_invout1 = "p0_vdn_voltage"
+WARNLO_invout1 = "0"
+CRITLO_invout1 = "0"
+WARNHI_invout1 = "1100"
+CRITHI_invout1 = "1300"
-LABEL_power2 = "p0_vdn_power"
-WARNLO_power2 = "0"
-CRITLO_power2 = "0"
-WARNHI_power2 = "88000000"
-CRITHI_power2 = "121000000"
+LABEL_powerpout1 = "p0_vdn_power"
+WARNLO_powerpout1 = "0"
+CRITLO_powerpout1 = "0"
+WARNHI_powerpout1 = "88000000"
+CRITHI_powerpout1 = "121000000"
LABEL_temp2 = "p0_vddr_temp"
WARNHI_temp2 = "80000"
@@ -28,20 +46,20 @@ WARNLO_temp2 = "0"
CRITHI_temp2 = "85000"
CRITLO_temp2 = "0"
-LABEL_curr3 = "p0_vddr_current"
-WARNLO_curr3 = "0"
-CRITLO_curr3 = "0"
-WARNHI_curr3 = "115000"
-CRITHI_curr3 = "130000"
-
-LABEL_in3 = "p0_vddr_voltage"
-WARNLO_in3 = "0"
-CRITLO_in3 = "0"
-WARNHI_in3 = "1280"
-CRITHI_in3 = "1350"
-
-LABEL_power3 = "p0_vddr_power"
-WARNLO_power3 = "0"
-CRITLO_power3 = "0"
-WARNHI_power3 = "139150000"
-CRITHI_power3 = "159900000" \ No newline at end of file
+LABEL_curriout2 = "p0_vddr_current"
+WARNLO_curriout2 = "0"
+CRITLO_curriout2 = "0"
+WARNHI_curriout2 = "115000"
+CRITHI_curriout2 = "130000"
+
+LABEL_invout2 = "p0_vddr_voltage"
+WARNLO_invout2 = "0"
+CRITLO_invout2 = "0"
+WARNHI_invout2 = "1280"
+CRITHI_invout2 = "1350"
+
+LABEL_powerpout2 = "p0_vddr_power"
+WARNLO_powerpout2 = "0"
+CRITLO_powerpout2 = "0"
+WARNHI_powerpout2 = "139150000"
+CRITHI_powerpout2 = "159900000"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf
index 1fa7b5a5c..e7d8aaf23 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@70.conf
@@ -1,26 +1,44 @@
+#5-0070
+#VDD then VCS
+
+MODE_in1 = "label"
+MODE_in2 = "label"
+MODE_in3 = "label"
+MODE_in4 = "label"
+
+MODE_curr1 = "label"
+MODE_curr2 = "label"
+MODE_curr3 = "label"
+MODE_curr4 = "label"
+
+MODE_power1 = "label"
+MODE_power2 = "label"
+MODE_power3 = "label"
+MODE_power4 = "label"
+
LABEL_temp1 = "p1_vdd_temp"
WARNHI_temp1 = "80000"
WARNLO_temp1 = "0"
CRITHI_temp1 = "85000"
CRITLO_temp1 = "0"
-LABEL_curr2 = "p1_vdd_current"
-WARNLO_curr2 = "0"
-CRITLO_curr2 = "0"
-WARNHI_curr2 = "320000"
-CRITHI_curr2 = "360000"
+LABEL_curriout1 = "p1_vdd_current"
+WARNLO_curriout1 = "0"
+CRITLO_curriout1 = "0"
+WARNHI_curriout1 = "320000"
+CRITHI_curriout1 = "360000"
-LABEL_in2 = "p1_vdd_voltage"
-WARNLO_in2 = "0"
-CRITLO_in2 = "0"
-WARNHI_in2 = "1150"
-CRITHI_in2 = "1300"
+LABEL_invout1 = "p1_vdd_voltage"
+WARNLO_invout1 = "0"
+CRITLO_invout1 = "0"
+WARNHI_invout1 = "1150"
+CRITHI_invout1 = "1300"
-LABEL_power2 = "p1_vdd_power"
-WARNLO_power2 = "0"
-CRITLO_power2 = "0"
-WARNHI_power2 = "270000000"
-CRITHI_power2 = "290000000"
+LABEL_powerpout1 = "p1_vdd_power"
+WARNLO_powerpout1 = "0"
+CRITLO_powerpout1 = "0"
+WARNHI_powerpout1 = "270000000"
+CRITHI_powerpout1 = "290000000"
LABEL_temp2 = "p1_vcs_temp"
WARNHI_temp2 = "80000"
@@ -28,20 +46,20 @@ WARNLO_temp2 = "0"
CRITHI_temp2 = "85000"
CRITLO_temp2 = "0"
-LABEL_curr3 = "p1_vcs_current"
-WARNLO_curr3 = "0"
-CRITLO_curr3 = "0"
-WARNHI_curr3 = "20000"
-CRITHI_curr3 = "25000"
-
-LABEL_in3 = "p1_vcs_voltage"
-WARNLO_in3 = "0"
-CRITLO_in3 = "0"
-WARNHI_in3 = "1150"
-CRITHI_in3 = "1300"
-
-LABEL_power3 = "p1_vcs_power"
-WARNLO_power3 = "0"
-CRITLO_power3 = "0"
-WARNHI_power3 = "20000000"
-CRITHI_power3 = "25000000" \ No newline at end of file
+LABEL_curriout2 = "p1_vcs_current"
+WARNLO_curriout2 = "0"
+CRITLO_curriout2 = "0"
+WARNHI_curriout2 = "20000"
+CRITHI_curriout2 = "25000"
+
+LABEL_invout2 = "p1_vcs_voltage"
+WARNLO_invout2 = "0"
+CRITLO_invout2 = "0"
+WARNHI_invout2 = "1150"
+CRITHI_invout2 = "1300"
+
+LABEL_powerpout2 = "p1_vcs_power"
+WARNLO_powerpout2 = "0"
+CRITLO_powerpout2 = "0"
+WARNHI_powerpout2 = "20000000"
+CRITHI_powerpout2 = "25000000"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@71.conf b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@71.conf
index d4e9326b2..30ec05dbb 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@71.conf
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon/witherspoon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@180/ir35221@71.conf
@@ -1,26 +1,44 @@
+#5-0071
+#VDN then VDDR
+
+MODE_in1 = "label"
+MODE_in2 = "label"
+MODE_in3 = "label"
+MODE_in4 = "label"
+
+MODE_curr1 = "label"
+MODE_curr2 = "label"
+MODE_curr3 = "label"
+MODE_curr4 = "label"
+
+MODE_power1 = "label"
+MODE_power2 = "label"
+MODE_power3 = "label"
+MODE_power4 = "label"
+
LABEL_temp1 = "p1_vdn_temp"
WARNHI_temp1 = "80000"
WARNLO_temp1 = "0"
CRITHI_temp1 = "85000"
CRITLO_temp1 = "0"
-LABEL_curr2 = "p1_vdn_current"
-WARNLO_curr2 = "0"
-CRITLO_curr2 = "0"
-WARNHI_curr2 = "80000"
-CRITHI_curr2 = "110000"
+LABEL_curriout1 = "p1_vdn_current"
+WARNLO_curriout1 = "0"
+CRITLO_curriout1 = "0"
+WARNHI_curriout1 = "80000"
+CRITHI_curriout1 = "110000"
-LABEL_in2 = "p1_vdn_voltage"
-WARNLO_in2 = "0"
-CRITLO_in2 = "0"
-WARNHI_in2 = "1100"
-CRITHI_in2 = "1300"
+LABEL_invout1 = "p1_vdn_voltage"
+WARNLO_invout1 = "0"
+CRITLO_invout1 = "0"
+WARNHI_invout1 = "1100"
+CRITHI_invout1 = "1300"
-LABEL_power2 = "p1_vdn_power"
-WARNLO_power2 = "0"
-CRITLO_power2 = "0"
-WARNHI_power2 = "88000000"
-CRITHI_power2 = "121000000"
+LABEL_powerpout1 = "p1_vdn_power"
+WARNLO_powerpout1 = "0"
+CRITLO_powerpout1 = "0"
+WARNHI_powerpout1 = "88000000"
+CRITHI_powerpout1 = "121000000"
LABEL_temp2 = "p1_vddr_temp"
WARNHI_temp2 = "80000"
@@ -28,20 +46,20 @@ WARNLO_temp2 = "0"
CRITHI_temp2 = "85000"
CRITLO_temp2 = "0"
-LABEL_curr3 = "p1_vddr_current"
-WARNLO_curr3 = "0"
-CRITLO_curr3 = "0"
-WARNHI_curr3 = "115000"
-CRITHI_curr3 = "130000"
-
-LABEL_in3 = "p1_vddr_voltage"
-WARNLO_in3 = "0"
-CRITLO_in3 = "0"
-WARNHI_in3 = "1280"
-CRITHI_in3 = "1350"
-
-LABEL_power3 = "p1_vddr_power"
-WARNLO_power3 = "0"
-CRITLO_power3 = "0"
-WARNHI_power3 = "139150000"
-CRITHI_power3 = "159900000" \ No newline at end of file
+LABEL_curriout2 = "p1_vddr_current"
+WARNLO_curriout2 = "0"
+CRITLO_curriout2 = "0"
+WARNHI_curriout2 = "115000"
+CRITHI_curriout2 = "130000"
+
+LABEL_invout2 = "p1_vddr_voltage"
+WARNLO_invout2 = "0"
+CRITLO_invout2 = "0"
+WARNHI_invout2 = "1280"
+CRITHI_invout2 = "1350"
+
+LABEL_powerpout2 = "p1_vddr_power"
+WARNLO_powerpout2 = "0"
+CRITLO_powerpout2 = "0"
+WARNHI_powerpout2 = "139150000"
+CRITHI_powerpout2 = "159900000"
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 d9d606bd2..4d60a74c2 100644
--- a/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
@@ -1,5 +1,7 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+EXTRA_OECONF_append_mihawk = " --enable-negative-errno-on-fail"
+
SRC_URI_append_ibm-ac-server = " \
file://70-hwmon.rules \
file://70-max31785-hwmon.rules \
@@ -34,9 +36,38 @@ CHIPS_append_swift = " \
bus@1e78a000/i2c-bus@3c0/ir35221@71 \
bus@1e78a000/i2c-bus@3c0/ir35221@72 \
"
+CHIPS_mihawk = " \
+ bus@1e78a000/i2c-bus@100/power-supply@58 \
+ bus@1e78a000/i2c-bus@100/power-supply@5b \
+ bus@1e78a000/i2c-bus@140/ir35221@70 \
+ bus@1e78a000/i2c-bus@140/ir35221@72 \
+ bus@1e78a000/i2c-bus@180/ir35221@70 \
+ bus@1e78a000/i2c-bus@180/ir35221@72 \
+ bus@1e78a000/i2c-bus@400/tmp275@48 \
+ bus@1e78a000/i2c-bus@400/tmp275@49 \
+ pwm-tacho-controller@1e786000 \
+ bus@1e78a000/i2c-bus@400/emc1403@4c \
+ bus@1e78a000/i2c-bus@440/pca9545@70/i2c@3/tmp275@48 \
+ "
ITEMSFMT = "ahb/apb/{0}.conf"
ITEMS = "${@compose_list(d, 'ITEMSFMT', 'CHIPS')}"
+ITEMS_append_mihawk += " iio-hwmon-vdd0.conf"
+ITEMS_append_mihawk += " iio-hwmon-vdd1.conf"
+ITEMS_append_mihawk += " iio-hwmon-vcs0.conf"
+ITEMS_append_mihawk += " iio-hwmon-vcs1.conf"
+ITEMS_append_mihawk += " iio-hwmon-vdn0.conf"
+ITEMS_append_mihawk += " iio-hwmon-vdn1.conf"
+ITEMS_append_mihawk += " iio-hwmon-vio0.conf"
+ITEMS_append_mihawk += " iio-hwmon-vio1.conf"
+ITEMS_append_mihawk += " iio-hwmon-vddra.conf"
+ITEMS_append_mihawk += " iio-hwmon-vddrb.conf"
+ITEMS_append_mihawk += " iio-hwmon-vddrc.conf"
+ITEMS_append_mihawk += " iio-hwmon-vddrd.conf"
+ITEMS_append_mihawk += " iio-hwmon-12v.conf"
+ITEMS_append_mihawk += " iio-hwmon-5v.conf"
+ITEMS_append_mihawk += " iio-hwmon-3v.conf"
+ITEMS_append_mihawk += " iio-hwmon-battery.conf"
OCCS = " \
00--00--00--06/sbefifo1-dev0/occ-hwmon.1 \
@@ -48,6 +79,8 @@ OCCITEMS = "${@compose_list(d, 'OCCSFMT', 'OCCS')}"
ENVS = "obmc/hwmon/{0}"
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_${PN}_append_mihawk = " ${@compose_list(d, 'ENVS', 'ITEMS')}"
+SYSTEMD_ENVIRONMENT_FILE_${PN}_append_mihawk = " ${@compose_list(d, 'ENVS', 'OCCITEMS')}"
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"
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 99f7ffdef..45c836cda 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,3 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI_append_ibm-ac-server = " file://TPMEnable-default-true.override.yml"
+SRC_URI_append_mihawk = " file://TPMEnable-default-true.override.yml"
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/mihawk/gpio_defs.json b/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/mihawk/gpio_defs.json
new file mode 100644
index 000000000..388ae6832
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/mihawk/gpio_defs.json
@@ -0,0 +1,74 @@
+{
+ "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": [
+ {"name": "BMC_CP0_RESET_N", "polarity": false}
+ ]
+ }
+ },
+
+ "gpio_definitions": [
+ {
+ "name": "BMC_POWER_UP",
+ "pin": "D1",
+ "direction": "out"
+ },
+ {
+ "name": "SOFTWARE_PGOOD",
+ "pin": "R1",
+ "direction": "out"
+ },
+ {
+ "name": "SYS_PWROK_BUFF",
+ "pin": "D2",
+ "direction": "in"
+ },
+ {
+ "name": "CHECKSTOP",
+ "pin": "J2",
+ "direction": "falling"
+ },
+ {
+ "name": "BMC_CP0_RESET_N",
+ "pin": "A1",
+ "direction": "out"
+ },
+ {
+ "name": "BMC_VS0_PERST_N",
+ "pin": "B6",
+ "direction": "out"
+ },
+ {
+ "name": "BMC_VS1_PERST_N",
+ "pin": "B7",
+ "direction": "out"
+ },
+ {
+ "name": "BMC_CP0_PERST_ENABLE_R",
+ "pin": "A3",
+ "direction": "out"
+ },
+ {
+ "name": "IDBTN",
+ "pin": "F1",
+ "direction": "both"
+ },
+ {
+ "name": "POWER_BUTTON",
+ "pin": "I3",
+ "direction": "both"
+ },
+ {
+ "name": "RESET_BUTTON",
+ "pin": "J1",
+ "direction": "both"
+ }
+ ]
+}
+
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/rainier/gpio_defs.json b/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/rainier/gpio_defs.json
new file mode 100644
index 000000000..828c35b29
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/rainier/gpio_defs.json
@@ -0,0 +1,38 @@
+{
+ "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": [
+ {"name": "BMC_DCM_ALL_RESET_N", "polarity": false}
+ ]
+ }
+ },
+
+ "gpio_definitions": [
+ {
+ "name": "BMC_POWER_UP",
+ "pin": "R1",
+ "direction": "out"
+ },
+ {
+ "name": "SOFTWARE_PGOOD",
+ "pin": "F1",
+ "direction": "out"
+ },
+ {
+ "name": "SYS_PWROK_BUFF",
+ "pin": "R2",
+ "direction": "in"
+ },
+ {
+ "name": "BMC_DCM_ALL_RESET_N",
+ "pin": "Q0",
+ "direction": "out"
+ }
+ ]
+}
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/witherspoon-tacoma/gpio_defs.json b/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/witherspoon-tacoma/gpio_defs.json
new file mode 100644
index 000000000..4ea152249
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/skeleton/obmc-libobmc-intf/witherspoon-tacoma/gpio_defs.json
@@ -0,0 +1,58 @@
+{
+ "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": [
+ {"name": "BMC_CP0_RESET_N", "polarity": false}
+ ]
+ }
+ },
+
+ "gpio_definitions": [
+ {
+ "name": "BMC_POWER_UP",
+ "pin": "R1",
+ "direction": "out"
+ },
+ {
+ "name": "SOFTWARE_PGOOD",
+ "pin": "H5",
+ "direction": "out"
+ },
+ {
+ "name": "SYS_PWROK_BUFF",
+ "pin": "R2",
+ "direction": "in"
+ },
+ {
+ "name": "CHECKSTOP",
+ "pin": "E3",
+ "direction": "falling"
+ },
+ {
+ "name": "BMC_CP0_RESET_N",
+ "pin": "Q0",
+ "direction": "out"
+ },
+ {
+ "name": "BMC_VS1_PERST_N",
+ "pin": "R0",
+ "direction": "out"
+ },
+ {
+ "name": "BMC_CP0_PERST_ENABLE_R",
+ "pin": "Q1",
+ "direction": "out"
+ },
+ {
+ "name": "POWER_BUTTON",
+ "pin": "E0",
+ "direction": "both"
+ }
+ ]
+}
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-inventory-native.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-inventory-native.bb
new file mode 100644
index 000000000..2edb98d3c
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-inventory-native.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Mihawk Inventory config for openpower-vpd-parser"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+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-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-inventory/inventory b/meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-inventory/inventory
new file mode 100644
index 000000000..5ae35ff9b
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-inventory/inventory
@@ -0,0 +1,3 @@
+FRUS=ETHERNET,ETHERNET1
+PATHS=/system/chassis/motherboard/bmc/eth0,/system/chassis/motherboard/bmc/eth1
+EEPROM=/sys/devices/platform/ahb/ahb:apb/ahb:apb:bus@1e78a000/1e78a340.i2c-bus/i2c-8/8-0050/eeprom
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-vpd-layout-native.bb b/meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-vpd-layout-native.bb
new file mode 100644
index 000000000..c2332d56e
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-vpd-layout-native.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Mihawk VPD layout for openpower-fru-vpd"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+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-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-vpd-layout/layout.yaml b/meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-vpd-layout/layout.yaml
new file mode 100644
index 000000000..5bceb2f72
--- /dev/null
+++ b/meta-ibm/meta-witherspoon/recipes-phosphor/vpd/mihawk-openpower-fru-vpd-layout/layout.yaml
@@ -0,0 +1,17 @@
+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:
+ VINI,B1: MACAddress
+ xyz.openbmc_project.Inventory.Item.Ethernet:
+ETHERNET1:
+ xyz.openbmc_project.Inventory.Item.NetworkInterface:
+ OPFR,B1: MACAddress
+ xyz.openbmc_project.Inventory.Item.Ethernet:
+
diff --git a/meta-ibm/recipes-phosphor/dbus/ibm-dbus-interfaces-mapper-config-native.bb b/meta-ibm/recipes-phosphor/dbus/ibm-dbus-interfaces-mapper-config-native.bb
index 381bef419..b8489d670 100644
--- a/meta-ibm/recipes-phosphor/dbus/ibm-dbus-interfaces-mapper-config-native.bb
+++ b/meta-ibm/recipes-phosphor/dbus/ibm-dbus-interfaces-mapper-config-native.bb
@@ -2,7 +2,7 @@ SUMMARY="Add /com/ibm namespace to phosphor-mapper"
DESCRIPTION="Add the /com/ibm path namespace and \
com.ibm interface prefix to the mapper watch list."
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${IBMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit phosphor-mapper
inherit native
diff --git a/meta-ibm/recipes-phosphor/interfaces/bmcweb_%.bbappend b/meta-ibm/recipes-phosphor/interfaces/bmcweb_%.bbappend
new file mode 100644
index 000000000..68b7fa2c8
--- /dev/null
+++ b/meta-ibm/recipes-phosphor/interfaces/bmcweb_%.bbappend
@@ -0,0 +1,4 @@
+inherit obmc-phosphor-discovery-service
+
+REGISTERED_SERVICES_${PN} += "obmc_redfish:tcp:443:"
+REGISTERED_SERVICES_${PN} += "obmc_rest:tcp:443:"
diff --git a/meta-ingrasys/conf/layer.conf b/meta-ingrasys/conf/layer.conf
index 8d0b76be0..2686d406b 100644
--- a/meta-ingrasys/conf/layer.conf
+++ b/meta-ingrasys/conf/layer.conf
@@ -3,7 +3,4 @@ BBPATH .= ":${LAYERDIR}"
BBFILE_COLLECTIONS += "ingrasys"
BBFILE_PATTERN_ingrasys := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_ingrasys = "thud warrior"
-
-# Provide a variable that points the base of the ingrasys layer.
-INGRASYSBASE = '${@os.path.normpath("${LAYERDIR}/")}'
+LAYERSERIES_COMPAT_ingrasys = "warrior zeus"
diff --git a/meta-ingrasys/meta-zaius/conf/layer.conf b/meta-ingrasys/meta-zaius/conf/layer.conf
index 5131c3491..d78ede1a1 100644
--- a/meta-ingrasys/meta-zaius/conf/layer.conf
+++ b/meta-ingrasys/meta-zaius/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "zaius"
BBFILE_PATTERN_zaius := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_zaius = "thud warrior"
+LAYERSERIES_COMPAT_zaius = "warrior zeus"
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/chassis/avsbus-control.bb b/meta-ingrasys/meta-zaius/recipes-phosphor/chassis/avsbus-control.bb
index 164a9e75b..dd6d6eec0 100644
--- a/meta-ingrasys/meta-zaius/recipes-phosphor/chassis/avsbus-control.bb
+++ b/meta-ingrasys/meta-zaius/recipes-phosphor/chassis/avsbus-control.bb
@@ -2,7 +2,7 @@ SUMMARY = "Zaius AVSBus control"
DESCRIPTION = "Voltage regulator module (VRM) AVSBus control for Zaius"
PR = "r0"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INGRASYSBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-ingrasys/meta-zaius/recipes-phosphor/chassis/vcs-control.bb b/meta-ingrasys/meta-zaius/recipes-phosphor/chassis/vcs-control.bb
index f33fe0dc2..597dff4ba 100644
--- a/meta-ingrasys/meta-zaius/recipes-phosphor/chassis/vcs-control.bb
+++ b/meta-ingrasys/meta-zaius/recipes-phosphor/chassis/vcs-control.bb
@@ -2,7 +2,7 @@ SUMMARY = "Zaius VCS rail control"
DESCRIPTION = "VCS voltage rail control implementation for Zaius"
PR = "r0"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INGRASYSBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
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
index 98dbc15b2..129938f37 100644
--- a/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config.bb
+++ b/meta-ingrasys/meta-zaius/recipes-phosphor/configuration/zaius-yaml-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "YAML configuration for Zaius"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INGRASYSBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
diff --git a/meta-inspur/conf/layer.conf b/meta-inspur/conf/layer.conf
index 3ba10679e..ba1464abb 100644
--- a/meta-inspur/conf/layer.conf
+++ b/meta-inspur/conf/layer.conf
@@ -7,6 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "inspur-layer"
BBFILE_PATTERN_inspur-layer = "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_inspur-layer = "thud warrior"
-
-INSPURBASE = '${@os.path.normpath("${LAYERDIR}/")}'
+LAYERSERIES_COMPAT_inspur-layer = "warrior zeus"
diff --git a/meta-inspur/meta-fp5280g2/conf/layer.conf b/meta-inspur/meta-fp5280g2/conf/layer.conf
index 56da4ba91..b855dbd29 100644
--- a/meta-inspur/meta-fp5280g2/conf/layer.conf
+++ b/meta-inspur/meta-fp5280g2/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "fp5280g2-layer"
BBFILE_PATTERN_fp5280g2-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_fp5280g2-layer = "thud warrior"
+LAYERSERIES_COMPAT_fp5280g2-layer = "warrior zeus"
diff --git a/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf b/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
index 233f6ab17..455e22a0a 100644
--- a/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
+++ b/meta-inspur/meta-fp5280g2/conf/machine/fp5280g2.conf
@@ -8,6 +8,7 @@ OBMC_POWER_SUPPLY_INSTANCES = "0 1"
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"
+PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "fp5280g2-led-manager-config-native"
require conf/machine/include/ast2500.inc
require conf/machine/include/obmc-bsp-common.inc
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/bmcweb/bmcweb_%.bbappend b/meta-inspur/meta-fp5280g2/recipes-phosphor/bmcweb/bmcweb_%.bbappend
new file mode 100644
index 000000000..934bb28dd
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/bmcweb/bmcweb_%.bbappend
@@ -0,0 +1,3 @@
+EXTRA_OECMAKE_append = " \
+ -DBMCWEB_INSECURE_ENABLE_REDFISH_FW_TFTP_UPDATE=ON \
+ "
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
index 147f30988..c10330b9b 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config.bb
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "YAML configuration for FP5280G2"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INSPURBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml
index a4eab8a6d..c44450460 100644
--- a/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/configuration/fp5280g2-yaml-config/fp5280g2-ipmi-fru-properties.yaml
@@ -17,124 +17,124 @@
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Item:
+ xyz.openbmc_project.Inventory.Item.Cpu:
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:
+ xyz.openbmc_project.Inventory.Item.Cpu:
Present: 'true'
/system/chassis/motherboard/dimm0:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Item:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
/system/chassis/motherboard/dimm1:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Item:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
/system/chassis/motherboard/dimm10:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Item:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
/system/chassis/motherboard/dimm11:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Item:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
/system/chassis/motherboard/dimm12:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Item:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
/system/chassis/motherboard/dimm13:
xyz.openbmc_project.Inventory.Decorator.Cacheable:
Cached: 'true'
xyz.openbmc_project.Inventory.Decorator.Replaceable:
FieldReplaceable: 'true'
- xyz.openbmc_project.Inventory.Item:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
/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:
+ xyz.openbmc_project.Inventory.Item.Dimm:
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:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
/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:
+ xyz.openbmc_project.Inventory.Item.Dimm:
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:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
/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:
+ xyz.openbmc_project.Inventory.Item.Dimm:
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:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
/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:
+ xyz.openbmc_project.Inventory.Item.Dimm:
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:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
/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:
+ xyz.openbmc_project.Inventory.Item.Dimm:
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:
+ xyz.openbmc_project.Inventory.Item.Dimm:
Present: 'true'
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config-native.bb b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config-native.bb
new file mode 100644
index 000000000..22aadad8e
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config-native.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Phosphor LED Group Management for fp5280g2"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit native
+
+PROVIDES += "virtual/phosphor-led-manager-config-native"
+
+SRC_URI += "file://led.yaml"
+S = "${WORKDIR}"
+
+# Overwrite the example led layout yaml file prior
+# to building the phosphor-led-manager package
+do_install() {
+ SRC=${S}
+ DEST=${D}${datadir}/phosphor-led-manager
+ install -D ${SRC}/led.yaml ${DEST}/led.yaml
+}
diff --git a/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config/led.yaml b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config/led.yaml
new file mode 100644
index 000000000..922d67bb7
--- /dev/null
+++ b/meta-inspur/meta-fp5280g2/recipes-phosphor/leds/fp5280g2-led-manager-config/led.yaml
@@ -0,0 +1,20 @@
+bmc_booted:
+ power:
+ Action: 'Blink'
+ DutyOn: 50
+ Period: 1000
+ Priority: 'On'
+ init-ok:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+
+#fp5280g2 does not use "power" and "power_on". but the led.yaml needs it, otherwise the machine won't power on.
+power_on:
+ power:
+ Action: 'On'
+ DutyOn: 50
+ Period: 0
+ Priority: 'On'
+
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
index 11c52952e..934b328c7 100644
--- 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
@@ -1 +1 @@
-SYSTEMD_SERVICE_${PN} += "first-boot-set-mac@eth1.service"
+SYSTEMD_SERVICE_${PN} += " first-boot-set-mac@eth0.service first-boot-set-mac@eth1.service"
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
index ba31df378..4cf267794 100644
--- 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
@@ -1,7 +1,7 @@
SUMMARY = "Fp5280g2 OCC Control sensor IDs"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INSPURBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-occ-control
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
index 915af76c7..f731bfe54 100644
--- 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
@@ -1,7 +1,7 @@
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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-fru-vpd
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
index 2e6b39198..c4ba3ad2c 100644
--- 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
@@ -1,3 +1,3 @@
-FRUS=BMC,ETHERNET
-PATHS=/system/chassis/motherboard/bmc,/system/chassis/motherboard/bmc/ethernet
+FRUS=BMC,ETHERNET,ETHERNET1
+PATHS=/system/chassis/motherboard/bmc,/system/chassis/motherboard/bmc/eth0,/system/chassis/motherboard/bmc/eth1
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
index 46611fa55..ba684fb88 100644
--- 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
@@ -1,7 +1,7 @@
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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-fru-vpd
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
index aab99dbe2..c26af4fdc 100644
--- 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
@@ -10,3 +10,7 @@ ETHERNET:
xyz.openbmc_project.Inventory.Item.NetworkInterface:
OPFR,B1: MACAddress
xyz.openbmc_project.Inventory.Item.Ethernet:
+ETHERNET1:
+ xyz.openbmc_project.Inventory.Item.NetworkInterface:
+ VINI,B1: MACAddress
+ xyz.openbmc_project.Inventory.Item.Ethernet:
diff --git a/meta-inspur/meta-on5263m5/conf/layer.conf b/meta-inspur/meta-on5263m5/conf/layer.conf
index b49d300bf..b2d393514 100644
--- a/meta-inspur/meta-on5263m5/conf/layer.conf
+++ b/meta-inspur/meta-on5263m5/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "on5263m5-layer"
BBFILE_PATTERN_on5263m5-layer = "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_on5263m5-layer = "thud warrior"
+LAYERSERIES_COMPAT_on5263m5-layer = "warrior zeus"
diff --git a/meta-intel/conf/layer.conf b/meta-intel/conf/layer.conf
index 99a6df061..b43594da5 100644
--- a/meta-intel/conf/layer.conf
+++ b/meta-intel/conf/layer.conf
@@ -8,7 +8,4 @@ BBFILES += "${LAYERDIR}/meta-common/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "intel"
BBFILE_PATTERN_intel = ""
LAYERVERSION_intel = "1"
-LAYERSERIES_COMPAT_intel = "thud warrior"
-
-# Provide a variable that points the base of the intel layer.
-INTELBASE = '${@os.path.normpath("${LAYERDIR}/")}'
+LAYERSERIES_COMPAT_intel = "warrior zeus"
diff --git a/meta-intel/conf/machine/include/intel.inc b/meta-intel/conf/machine/include/intel.inc
index db6b0c10e..738d103e5 100644
--- a/meta-intel/conf/machine/include/intel.inc
+++ b/meta-intel/conf/machine/include/intel.inc
@@ -19,3 +19,5 @@ PREFERRED_PROVIDER_virtual/obmc-host-ctl ?= "obmc-op-control-host"
PREFERRED_PROVIDER_virtual/obmc-inventory-data ?= "${VIRTUAL-RUNTIME_skeleton_workbook}"
PREFERRED_PROVIDER_virtual/obmc-host-ipmi-hw = "phosphor-ipmi-kcs"
#PREFERRED_PROVIDER_virtual/obmc-gpio-monitor ?= "phosphor-gpio-monitor"
+
+OVERRIDES .= ":intel"
diff --git a/meta-intel/meta-common/recipes-core/systemd/obmc-targets.bbappend b/meta-intel/meta-common/recipes-core/systemd/obmc-targets.bbappend
index 3fe1c3f38..090b40e40 100644
--- a/meta-intel/meta-common/recipes-core/systemd/obmc-targets.bbappend
+++ b/meta-intel/meta-common/recipes-core/systemd/obmc-targets.bbappend
@@ -1,9 +1,9 @@
# Remove these files since they are provided by obmc-intel-targets
-SYSTEMD_SERVICE_${PN}_remove += " obmc-host-start@.target"
-SYSTEMD_SERVICE_${PN}_remove += " obmc-host-stop@.target"
-SYSTEMD_SERVICE_${PN}_remove += " obmc-host-reboot@.target"
-SYSTEMD_SERVICE_${PN}_remove += " obmc-host-startmin@.target"
-SYSTEMD_SERVICE_${PN}_remove += " obmc-chassis-poweron@.target"
-SYSTEMD_SERVICE_${PN}_remove += " obmc-chassis-poweroff@.target"
-SYSTEMD_SERVICE_${PN}_remove += " obmc-chassis-hard-poweroff@.target"
-SYSTEMD_SERVICE_${PN}_remove += " obmc-chassis-powerreset@.target"
+SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-host-start@.target"
+SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-host-stop@.target"
+SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-host-reboot@.target"
+SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-host-startmin@.target"
+SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-chassis-poweron@.target"
+SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-chassis-poweroff@.target"
+SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-chassis-hard-poweroff@.target"
+SYSTEMD_SERVICE_${PN}_remove_intel += " obmc-chassis-powerreset@.target"
diff --git a/meta-intel/meta-common/recipes-intel/chassis/x86-power-control_git.bb b/meta-intel/meta-common/recipes-intel/chassis/x86-power-control_git.bb
index b2d8a1f9b..b04e20fed 100755
--- a/meta-intel/meta-common/recipes-intel/chassis/x86-power-control_git.bb
+++ b/meta-intel/meta-common/recipes-intel/chassis/x86-power-control_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
S = "${WORKDIR}/git"
SRC_URI += "git://github.com/openbmc/x86-power-control.git"
-SRCREV = "2c714052d62b1e8fdd19951bbd340ec41fd7ac5b"
+SRCREV = "f61ca6fdcc52beba485e014b5fad38a9e9a555ad"
inherit cmake pkgconfig pythonnative systemd
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 e448d32e4..e0f9d9867 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 = "63efafacfad59550c9a7edd926fcb162747ec2d8"
+SRCREV = "bf124d462bc5a6cb76637b3a2439e564d11a95e9"
S = "${WORKDIR}/git"
PV = "0.1+git${SRCPV}"
diff --git a/meta-intel/meta-common/recipes-intel/libtinyxml2/libtinyxml2_%.bbappend b/meta-intel/meta-common/recipes-intel/libtinyxml2/libtinyxml2_%.bbappend
deleted file mode 100644
index 60cfe5e9d..000000000
--- a/meta-intel/meta-common/recipes-intel/libtinyxml2/libtinyxml2_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-# update libtinyxml2 to version 6.0.0
-SRCREV = "8c8293ba8969a46947606a93ff0cb5a083aab47a"
-FILES_${PN}-dev += "${libdir}/cmake/tinyxml2/*"
diff --git a/meta-intel/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces-mapper-config-native.bb b/meta-intel/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces-mapper-config-native.bb
index ce95082ce..0d1d016fe 100644
--- a/meta-intel/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces-mapper-config-native.bb
+++ b/meta-intel/meta-common/recipes-phosphor/dbus/intel-dbus-interfaces-mapper-config-native.bb
@@ -2,7 +2,7 @@ SUMMARY="Add /com/intel namespace to phosphor-mapper"
DESCRIPTION="Add the /com/intel path namespace and \
com.intel interface prefix to the mapper watch list."
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit phosphor-mapper
inherit native
diff --git a/meta-intel/meta-common/recipes-phosphor/dbus/phosphor-mapper-config-native.bbappend b/meta-intel/meta-common/recipes-phosphor/dbus/phosphor-mapper-config-native.bbappend
index 435531878..ef991a58b 100644
--- a/meta-intel/meta-common/recipes-phosphor/dbus/phosphor-mapper-config-native.bbappend
+++ b/meta-intel/meta-common/recipes-phosphor/dbus/phosphor-mapper-config-native.bbappend
@@ -1 +1 @@
-PHOSPHOR_MAPPER_CONFIGS_append = " intel-dbus-interfaces-mapper-config-native"
+PHOSPHOR_MAPPER_CONFIGS_append_intel = " intel-dbus-interfaces-mapper-config-native"
diff --git a/meta-intel/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-intel/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
index 3e89746bf..4521fe8f8 100644
--- a/meta-intel/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
+++ b/meta-intel/meta-common/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
@@ -1,5 +1,5 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS_prepend_intel := "${THISDIR}/${PN}:"
inherit obmc-phosphor-systemd
-SYSTEMD_SERVICE_${PN} = "phosphor-pid-control.service"
-EXTRA_OECONF = "--enable-configure-dbus=yes"
+SYSTEMD_SERVICE_${PN}_intel = "phosphor-pid-control.service"
+EXTRA_OECONF_intel = "--enable-configure-dbus=yes"
diff --git a/meta-intel/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-intel/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
index e5f63fbda..876567f9a 100644
--- a/meta-intel/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
+++ b/meta-intel/meta-common/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -1,4 +1,4 @@
-do_install_append(){
+do_install_append_intel(){
install -d ${D}${includedir}/phosphor-ipmi-host
install -m 0644 -D ${S}/sensorhandler.hpp ${D}${includedir}/phosphor-ipmi-host
install -m 0644 -D ${S}/selutility.hpp ${D}${includedir}/phosphor-ipmi-host
diff --git a/meta-intel/meta-common/recipes-phosphor/leds/intel-led-manager-config-native.bb b/meta-intel/meta-common/recipes-phosphor/leds/intel-led-manager-config-native.bb
index 8ef3a5dfa..20df1185b 100644
--- a/meta-intel/meta-common/recipes-phosphor/leds/intel-led-manager-config-native.bb
+++ b/meta-intel/meta-common/recipes-phosphor/leds/intel-led-manager-config-native.bb
@@ -5,7 +5,7 @@ inherit native
inherit obmc-phosphor-utils
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
PROVIDES += "virtual/phosphor-led-manager-config-native"
diff --git a/meta-intel/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend b/meta-intel/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
index 4be8ddbd5..3e769e174 100644
--- a/meta-intel/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
+++ b/meta-intel/meta-common/recipes-phosphor/sel-logger/phosphor-sel-logger_%.bbappend
@@ -1,2 +1,2 @@
# Enable threshold monitoring
-EXTRA_OECMAKE += "-DSEL_LOGGER_MONITOR_THRESHOLD_EVENTS=ON"
+EXTRA_OECMAKE_intel += "-DSEL_LOGGER_MONITOR_THRESHOLD_EVENTS=ON"
diff --git a/meta-intel/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend b/meta-intel/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
index ff1bfdb09..590e9e629 100644
--- a/meta-intel/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
+++ b/meta-intel/meta-common/recipes-phosphor/webui/phosphor-webui_%.bbappend
@@ -1,8 +1,8 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS_prepend_intel := "${THISDIR}/${PN}:"
-SRC_URI_append = " file://config.json"
+SRC_URI_append_intel = " file://config.json"
-do_compile_prepend() {
+do_compile_prepend_intel() {
cp -r ${WORKDIR}/config.json ${S}/
}
diff --git a/meta-intel/meta-s2600wf/conf/layer.conf b/meta-intel/meta-s2600wf/conf/layer.conf
index 3fb9534dc..13dfe21f2 100644
--- a/meta-intel/meta-s2600wf/conf/layer.conf
+++ b/meta-intel/meta-s2600wf/conf/layer.conf
@@ -8,4 +8,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "s2600wf"
BBFILE_PATTERN_s2600wf = ""
BBFILE_PRIORITY_s2600wf = "5"
-LAYERSERIES_COMPAT_s2600wf = "thud warrior"
+LAYERSERIES_COMPAT_s2600wf = "warrior zeus"
diff --git a/meta-intel/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend b/meta-intel/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
index 72d991c7e..410b21b4a 100644
--- a/meta-intel/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
+++ b/meta-intel/meta-s2600wf/recipes-phosphor/skeleton/obmc-libobmc-intf_%.bbappend
@@ -1 +1 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS_prepend_s2600wf := "${THISDIR}/${PN}:"
diff --git a/meta-inventec/conf/layer.conf b/meta-inventec/conf/layer.conf
index 3c284f8ce..de22db1e3 100644
--- a/meta-inventec/conf/layer.conf
+++ b/meta-inventec/conf/layer.conf
@@ -3,6 +3,3 @@ BBPATH .= ":${LAYERDIR}"
BBFILE_COLLECTIONS += "inventec"
BBFILE_PATTERN_inventec = ""
-
-# Provide a variable that points the base of the inventec layer.
-INVENTECBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control.bb b/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control.bb
index 767da632e..956a62377 100644
--- a/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control.bb
+++ b/meta-inventec/meta-lanyang/recipes-phosphor/chassis/avsbus-control.bb
@@ -2,7 +2,7 @@ SUMMARY = "Lanyang AVSBus control"
DESCRIPTION = "Voltage regulator module (VRM) AVSBus control for Lanyang"
PR = "r0"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INVENTECBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map-native.bb b/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map-native.bb
index b74f8f67d..56e5dd259 100644
--- a/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map-native.bb
+++ b/meta-inventec/meta-lanyang/recipes-phosphor/ipmi/lanyang-ipmi-inventory-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Lanyang IPMI to DBus Inventory mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INVENTECBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-fru
diff --git a/meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config-native.bb b/meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config-native.bb
index b4e056065..81c6731d8 100644
--- a/meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config-native.bb
+++ b/meta-inventec/meta-lanyang/recipes-phosphor/leds/lanyang-led-manager-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor LED Group Management for Lanyang"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${INVENTECBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native.bb b/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native.bb
deleted file mode 100644
index 1ce19433c..000000000
--- a/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI += "git://github.com/Nuvoton-Israel/bingo"
-SRC_URI += "file://BootBlockAndHeader_EB.xml"
-SRC_URI += "file://UbootHeader_EB.xml"
-SRC_URI += "file://mergedBootBlockAndUboot.xml"
-
-SRCREV = "4f102ff7851da9fd11965857edd1b3046c187b7a"
-
-S = "${WORKDIR}/git"
-
-do_install () {
-
- install -d "${D}${bindir}"
- install deliverables/linux/Release/bingo ${D}${bindir}
- install ${WORKDIR}/*.xml ${D}${bindir}
-}
-
-inherit native
diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_git.bb b/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_git.bb
new file mode 100644
index 000000000..5ab1fc942
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "XML-based binary image generator"
+DESCRIPTION = "XML-based binary image generator"
+HOMEPAGE = "https://github.com/Nuvoton-Israel/bingo"
+PR = "r1"
+PV = "0.1+git${SRCPV}"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI += "git://github.com/Nuvoton-Israel/bingo"
+SRC_URI += "file://BootBlockAndHeader_EB.xml"
+SRC_URI += "file://UbootHeader_EB.xml"
+SRC_URI += "file://mergedBootBlockAndUboot.xml"
+
+SRCREV = "4f102ff7851da9fd11965857edd1b3046c187b7a"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+
+ install -d "${D}${bindir}"
+ install deliverables/linux/Release/bingo ${D}${bindir}
+ install ${WORKDIR}/*.xml ${D}${bindir}
+}
+
+inherit native
diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock.bb b/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock.bb
deleted file mode 100644
index 85b80708d..000000000
--- a/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-LICENSE = "CLOSED"
-LIC_FILES_CHKSUM = ""
-
-SRCREV = "10.09.05"
-FILENAME = "Poleg_bootblock.bin"
-
-SRC_URI = "git://github.com/Nuvoton-Israel/npcm7xx-bootblock;protocol=git"
-SRC_URI[md5sum] = "cf8daa5f4636ed1ff952618e435af028"
-
-S = "${WORKDIR}/git"
-
-inherit deploy
-
-do_deploy () {
- install -d ${DEPLOYDIR}
- install -m 644 ${FILENAME} ${DEPLOYDIR}/
-}
-
-addtask deploy before do_build after do_compile
diff --git a/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.09.05.bb b/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.09.05.bb
new file mode 100644
index 000000000..7c847f2ed
--- /dev/null
+++ b/meta-nuvoton/recipes-bsp/images/npcm7xx-bootblock_10.09.05.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Primary bootloader for NPCM7XX (Poleg) devices"
+DESCRIPTION = "Primary bootloader for NPCM7XX (Poleg) devices"
+HOMEPAGE = "https://github.com/Nuvoton-Israel/npcm7xx-bootblock"
+LICENSE = "CLOSED"
+LIC_FILES_CHKSUM = ""
+
+SRCREV = "${PV}"
+FILENAME = "Poleg_bootblock.bin"
+
+SRC_URI = "git://github.com/Nuvoton-Israel/npcm7xx-bootblock;protocol=git"
+SRC_URI[md5sum] = "cf8daa5f4636ed1ff952618e435af028"
+
+S = "${WORKDIR}/git"
+
+inherit deploy
+
+do_deploy () {
+ install -d ${DEPLOYDIR}
+ install -m 644 ${FILENAME} ${DEPLOYDIR}/
+}
+
+addtask deploy before do_build after do_compile
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 d11327d82..e049d9bd1 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
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Licenses/README;md5=30503fd321432fc713238f582193b78e"
UBRANCH = "npcm7xx-v2019.01"
SRC_URI = "git://github.com/Nuvoton-Israel/u-boot.git;branch=${UBRANCH}"
-SRCREV = "d8d75f72b9e324f47b0657dcaac9edf4433267ea"
+SRCREV = "053010cb581266c6be675b9ae4ca7bf0583e8538"
S = "${WORKDIR}/git"
diff --git a/meta-nuvoton/recipes-kernel/linux/linux-nuvoton_git.bb b/meta-nuvoton/recipes-kernel/linux/linux-nuvoton_git.bb
index aaef9bca8..0f12f7c4f 100644
--- a/meta-nuvoton/recipes-kernel/linux/linux-nuvoton_git.bb
+++ b/meta-nuvoton/recipes-kernel/linux/linux-nuvoton_git.bb
@@ -1,6 +1,6 @@
-KBRANCH ?= "dev-5.1"
-LINUX_VERSION ?= "5.1.7"
+KBRANCH ?= "dev-5.2"
+LINUX_VERSION ?= "5.2.11"
-SRCREV="a17b8ac585d7faa27799f425fa4326c7a1e7ae71"
+SRCREV="f9e04c3157234671b9d5e27bf9b7025b8b21e0d4"
require linux-nuvoton.inc
diff --git a/meta-openembedded/meta-filesystems/conf/layer.conf b/meta-openembedded/meta-filesystems/conf/layer.conf
index 5aa2b0c2d..e8bd3628f 100644
--- a/meta-openembedded/meta-filesystems/conf/layer.conf
+++ b/meta-openembedded/meta-filesystems/conf/layer.conf
@@ -15,4 +15,4 @@ LAYERVERSION_filesystems-layer = "1"
LAYERDEPENDS_filesystems-layer = "core openembedded-layer"
-LAYERSERIES_COMPAT_filesystems-layer = "thud warrior"
+LAYERSERIES_COMPAT_filesystems-layer = "thud warrior zeus"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
deleted file mode 100644
index 18fc9cd6f..000000000
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "read and write exFAT driver for FUSE"
-DESCRIPTION = "fuse-exfat is a read and write driver implementing the \
-extended file allocation table as a filesystem in userspace. A mounthelper \
-is provided under the name mount.exfat-fuse. \
-"
-HOMEPAGE = "http://code.google.com/p/exfat/"
-SECTION = "universe/otherosfs"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRC_URI = "${DEBIAN_MIRROR}/main/f/fuse-exfat/fuse-exfat_${PV}.orig.tar.gz \
-"
-DEPENDS = "fuse virtual/libc"
-RRECOMMENDS_${PN} = "util-linux-mount"
-
-inherit autotools pkgconfig
-
-SRC_URI[md5sum] = "fca71e6598f79d037a3c7c969cb5710c"
-SRC_URI[sha256sum] = "f2e06eba5a21c621aac1d6da21b12a5a324fdd1e20f9c8acd357dd463c2355d9"
-
-EXTRA_OECONF += "sbindir=${base_sbindir}"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb
new file mode 100644
index 000000000..572043079
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.3.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "read and write exFAT driver for FUSE"
+DESCRIPTION = "fuse-exfat is a read and write driver implementing the \
+extended file allocation table as a filesystem in userspace. A mounthelper \
+is provided under the name mount.exfat-fuse. \
+"
+HOMEPAGE = "https://github.com/relan/exfat"
+SECTION = "universe/otherosfs"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
+
+DEPENDS = "fuse virtual/libc"
+RRECOMMENDS_${PN} = "util-linux-mount"
+
+inherit autotools pkgconfig
+
+SRC_URI[md5sum] = "846b8c36bfa4684719f9e08e9d3a6bff"
+SRC_URI[sha256sum] = "07652136064da5e4d32df5555f88c138ffa4835a23b88a5bae2015f21006e0d3"
+
+EXTRA_OECONF += "sbindir=${base_sbindir}"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-Make-build-support-usrmerge.patch b/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-Make-build-support-usrmerge.patch
new file mode 100644
index 000000000..fce10b999
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-Make-build-support-usrmerge.patch
@@ -0,0 +1,43 @@
+From 33f678bf74367aab8ddc2858a9f7797455ea9b9f Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 29 Aug 2019 10:21:58 +0800
+Subject: [PATCH] Make build support usrmerge
+
+Upstream-Status: Inappropriate[oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ ntfsprogs/Makefile.am | 2 --
+ src/Makefile.am | 3 ---
+ 2 files changed, 5 deletions(-)
+
+diff --git a/ntfsprogs/Makefile.am b/ntfsprogs/Makefile.am
+index f4f9d1b..1f6a673 100644
+--- a/ntfsprogs/Makefile.am
++++ b/ntfsprogs/Makefile.am
+@@ -165,8 +165,6 @@ extras: libs $(EXTRA_PROGRAMS)
+
+ if ENABLE_MOUNT_HELPER
+ install-exec-hook:
+- $(INSTALL) -d $(DESTDIR)/sbin
+- $(LN_S) -f $(sbindir)/mkntfs $(DESTDIR)/sbin/mkfs.ntfs
+
+ install-data-hook:
+ $(INSTALL) -d $(DESTDIR)$(man8dir)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 8d98408..d0a6a45 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -66,9 +66,6 @@ endif
+
+ if ENABLE_MOUNT_HELPER
+ install-exec-local: install-rootbinPROGRAMS
+- $(MKDIR_P) "$(DESTDIR)/sbin"
+- $(LN_S) -f "$(rootbindir)/ntfs-3g" "$(DESTDIR)/sbin/mount.ntfs-3g"
+- $(LN_S) -f "$(rootbindir)/lowntfs-3g" "$(DESTDIR)/sbin/mount.lowntfs-3g"
+
+ install-data-local: install-man8
+ $(LN_S) -f ntfs-3g.8 "$(DESTDIR)$(man8dir)/mount.ntfs-3g.8"
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
index addb4d351..1559bfd3f 100644
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2017.3.23.bb
@@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz \
file://0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch \
+ ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-Make-build-support-usrmerge.patch','',d)} \
"
S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}"
SRC_URI[md5sum] = "d97474ae1954f772c6d2fa386a6f462c"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.10.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.10.bb
deleted file mode 100644
index 582e21846..000000000
--- a/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.10.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE"
-AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>"
-HOMEPAGE = "http://fuse.sourceforge.net/sshfs.html"
-SECTION = "console/network"
-LICENSE = "GPLv2"
-DEPENDS = "glib-2.0 fuse"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://github.com/libfuse/sshfs;branch=sshfs_2.x \
-"
-SRCREV = "42dfaf9a5bdc1ee429c7718e8788ca37a5763e0d"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-FILES_${PN} += "${libdir}/sshnodelay.so"
diff --git a/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.5.2.bb b/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.5.2.bb
new file mode 100644
index 000000000..b10c5c5ff
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_3.5.2.bb
@@ -0,0 +1,13 @@
+SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE"
+AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>"
+HOMEPAGE = "https://github.com/libfuse/sshfs"
+SECTION = "console/network"
+LICENSE = "GPLv2"
+DEPENDS = "glib-2.0 fuse3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/libfuse/sshfs"
+SRCREV = "695cd8916f0e78d28009de3ffe112b9d1a1c9e5e"
+S = "${WORKDIR}/git"
+
+inherit meson
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.6.2.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.6.2.bb
new file mode 100644
index 000000000..e65eb08e2
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.6.2.bb
@@ -0,0 +1,48 @@
+SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
+DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
+ programs to export a virtual filesystem to the Linux kernel. FUSE \
+ also aims to provide a secure method for non privileged users to \
+ create and mount their own filesystem implementations. \
+ "
+HOMEPAGE = "https://github.com/libfuse/libfuse"
+SECTION = "libs"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
+ file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66"
+
+SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \
+"
+SRC_URI[md5sum] = "1798945aa69434286723b9999a141c7a"
+SRC_URI[sha256sum] = "f45869427575e1e59ab743a67deb57addbf2cb8f9ce431199dbd40ddab71f281"
+
+S = "${WORKDIR}/fuse-${PV}"
+
+UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
+UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz"
+
+inherit meson pkgconfig
+
+DEPENDS = "udev"
+
+PACKAGES =+ "fuse3-utils"
+
+RPROVIDES_${PN}-dbg += "fuse3-utils-dbg"
+
+RRECOMMENDS_${PN}_class-target = "kernel-module-fuse fuse3-utils"
+
+FILES_${PN} += "${libdir}/libfuse3.so.*"
+FILES_${PN}-dev += "${libdir}/libfuse3*.la"
+
+EXTRA_OEMESON += " \
+ -Dexamples=false \
+"
+
+# Forbid auto-renaming to libfuse3-utils
+FILES_fuse3-utils = "${bindir} ${base_sbindir}"
+DEBIAN_NOAUTONAME_fuse3-utils = "1"
+DEBIAN_NOAUTONAME_${PN}-dbg = "1"
+
+do_install_append() {
+ rm -rf ${D}${base_prefix}/dev
+}
diff --git a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb
index c83e7f6d3..95e870691 100644
--- a/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb
+++ b/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.9.bb
@@ -54,7 +54,7 @@ do_configure_prepend() {
}
do_install_append() {
- rm -rf ${D}${base_prefix}/dev
+ rm -rf ${D}/dev
# systemd class remove the sysv_initddir only if systemd_system_unitdir
# contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES
@@ -69,4 +69,10 @@ do_install_append() {
fi
}
+do_install_append_class-nativesdk() {
+ install -d ${D}${sysconfdir}
+ mv ${D}/etc/* ${D}${sysconfdir}/
+ rmdir ${D}/etc
+}
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb b/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb
deleted file mode 100644
index 440f33618..000000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "utilities to create, check, label and dump exFAT filesystem"
-DESCRIPTION = "Utilities to manage extended file allocation table filesystem. \
-This package provides tools to create, check and label the filesystem. It \
-contains \
- - dumpexfat to dump properties of the filesystem \
- - exfatfsck / fsck.exfat to report errors found on a exFAT filesystem \
- - exfatlabel to label a exFAT filesystem \
- - mkexfatfs / mkfs.exfat to create a exFAT filesystem. \
-"
-HOMEPAGE = "http://code.google.com/p/exfat/"
-SECTION = "universe/otherosfs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
-
-DEPENDS = "virtual/libc"
-
-inherit pkgconfig autotools
-
-SRC_URI[md5sum] = "f4e564450aa8159e26dde2869563d242"
-SRC_URI[sha256sum] = "80d3b3f21242d60d36a38a4ddb05cb7cc3a7d4eef5793e8314814937b938fcea"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb
new file mode 100644
index 000000000..1f2bfa6a0
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.3.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "utilities to create, check, label and dump exFAT filesystem"
+DESCRIPTION = "Utilities to manage extended file allocation table filesystem. \
+This package provides tools to create, check and label the filesystem. It \
+contains \
+ - dumpexfat to dump properties of the filesystem \
+ - exfatfsck / fsck.exfat to report errors found on a exFAT filesystem \
+ - exfatlabel to label a exFAT filesystem \
+ - mkexfatfs / mkfs.exfat to create a exFAT filesystem. \
+"
+HOMEPAGE = "https://github.com/relan/exfat"
+SECTION = "universe/otherosfs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
+
+DEPENDS = "virtual/libc"
+
+inherit pkgconfig autotools
+
+SRC_URI[md5sum] = "f8928571b152455e828ca0bd42af8b73"
+SRC_URI[sha256sum] = "dfebd07a7b907e2d603d3a9626e6440bd43ec6c4e8c07ccfc57ce9502b724835"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb b/meta-openembedded/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb
new file mode 100644
index 000000000..208ac3c58
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/ufs-tool/ufs-tool_git.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Tool to access UFS (Universal Flash Storage) devices"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+PV = "1.3+git${SRCPV}"
+
+BRANCH ?= "dev"
+
+SRCREV = "8b00e33003b57d7071943f63863fcf8cc48d5be9"
+
+SRC_URI = "git://github.com/westerndigitalcorporation/ufs-tool.git;protocol=git;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}""
+
+do_configure() {
+ sed -i -e "s|-static$||g" ${S}/Makefile
+}
+do_install() {
+ install -d ${D}${bindir}/
+ install -c -m 755 ${S}/ufs-tool ${D}${bindir}/
+}
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch
new file mode 100644
index 000000000..04ec7b34a
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/0001-xfsdump-support-usrmerge.patch
@@ -0,0 +1,48 @@
+From 2da4cfe17b994d7f10017561ca8efe6b6bd5f3cf Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 5 Sep 2019 11:17:15 +0800
+Subject: [PATCH] xfsdump: support usrmerge
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ dump/Makefile | 4 +---
+ restore/Makefile | 4 +---
+ 2 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/dump/Makefile b/dump/Makefile
+index 97879fa..14da664 100644
+--- a/dump/Makefile
++++ b/dump/Makefile
+@@ -97,10 +97,8 @@ default: depend $(LTCOMMAND)
+ include $(BUILDRULES)
+
+ install: default
+- $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)
+- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR)
+ $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
+- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND)
++ $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
+ install-dev:
+
+ .dep: $(COMMINCL) $(COMMON) $(INVINCL) $(INVCOMMON)
+diff --git a/restore/Makefile b/restore/Makefile
+index c6f3f25..7835ecc 100644
+--- a/restore/Makefile
++++ b/restore/Makefile
+@@ -107,10 +107,8 @@ default: depend $(LTCOMMAND)
+ include $(BUILDRULES)
+
+ install: default
+- $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)
+- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR)
+ $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
+- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND)
++ $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
+ install-dev:
+
+ .dep: $(COMMINCL) $(COMMON) $(INVINCL) $(INVCOMMON)
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/work-with-new-version-of-xfsprogs.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/work-with-new-version-of-xfsprogs.patch
new file mode 100644
index 000000000..4ce23d717
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/work-with-new-version-of-xfsprogs.patch
@@ -0,0 +1,28 @@
+Make it work with xfsprogs 5.2.0.
+
+"xfs_fsop_geom_v1_t" has changed to "struct xfs_fsop_geom_v1"
+in xfsprogs since version 5.2.0.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+---
+ common/fs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/common/fs.c b/common/fs.c
+index 60cf0fd..2cc7031 100644
+--- a/common/fs.c
++++ b/common/fs.c
+@@ -204,7 +204,7 @@ fs_mounted( char *typs, char *chrs, char *mnts, uuid_t *idp )
+ int
+ fs_getid( char *mnts, uuid_t *idb )
+ {
+- xfs_fsop_geom_v1_t geo;
++ struct xfs_fsop_geom_v1 geo;
+ int fd;
+
+ fd = open( mnts, O_RDONLY );
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb
index 54ab30cbb..9c5755862 100644
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.8.bb
@@ -12,6 +12,8 @@ DEPENDS = "xfsprogs attr"
SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/${BP}.tar.xz \
file://remove-install-as-user.patch \
+ file://work-with-new-version-of-xfsprogs.patch \
+ ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-xfsdump-support-usrmerge.patch','',d)} \
"
SRC_URI[md5sum] = "84d3bc287b4a2bb5d16b2320a47049a7"
SRC_URI[sha256sum] = "ed14e67ae5b273c2698e767b43a46f033d361e540fe13feaaf9b110ee0edc585"
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch
new file mode 100644
index 000000000..84f4f88e5
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/0001-support-usrmerge.patch
@@ -0,0 +1,40 @@
+From e81633a276dd6a9f919e5e5c15481ac50a8e485d Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 30 Aug 2019 14:59:06 +0800
+Subject: [PATCH] support usrmerge
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4b7e4c8..f1afbd6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -110,8 +110,7 @@ AC_ARG_ENABLE(libicu,
+ # If the user specified a libdir ending in lib64 do not append another
+ # 64 to the library names.
+ #
+-base_libdir=`basename "$libdir"`
+-case $base_libdir in
++case `basename "$libdir"` in
+ lib64)
+ enable_lib64=no
+ esac
+@@ -125,8 +124,8 @@ esac
+ #
+ case $exec_prefix:$prefix in
+ NONE:NONE | NONE:/usr | /usr:*)
+- root_sbindir='/sbin'
+- root_libdir="/${base_libdir}"
++ root_sbindir="${base_sbindir}"
++ root_libdir="${base_libdir}"
+ ;;
+ *)
+ root_sbindir="${sbindir}"
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb
deleted file mode 100644
index 188c56680..000000000
--- a/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.0.0.bb
+++ /dev/null
@@ -1,73 +0,0 @@
-SUMMARY = "XFS Filesystem Utilities"
-HOMEPAGE = "http://oss.sgi.com/projects/xfs"
-SECTION = "base"
-LICENSE = "GPLv2 & LGPLv2.1"
-LICENSE_libhandle = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038 \
- file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
-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://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] = "b6acc4aa93a952595fc8f2e7447be6f2"
-SRC_URI[sha256sum] = "fcc2e6478aed55408a341567c0459f514e575296d8827d9004cae8aa0367dc4a"
-
-inherit autotools-brokensep
-
-PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
-
-DEPENDS += "util-linux"
-
-RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
-
-FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
-FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
-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 \
- ac_cv_lib_rt_lio_listio=yes \
-"
-
-DISABLE_STATIC = ""
-EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
-
-PACKAGECONFIG ??= "readline blkid"
-
-PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
-PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
-
-export DEBUG="-DNDEBUG"
-export BUILD_VERBOSE="1"
-export tagname="CC"
-
-EXTRA_OEMAKE = "DIST_ROOT='${D}'"
-
-do_configure () {
- export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
- # Prevent Makefile from calling configure without arguments,
- # when do_configure gets called for a second time.
- rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
- # Recreate configure script.
- oe_runmake configure
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
- oe_runconf
-}
-
-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-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb
new file mode 100644
index 000000000..5ab1d028f
--- /dev/null
+++ b/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_5.2.1.bb
@@ -0,0 +1,76 @@
+SUMMARY = "XFS Filesystem Utilities"
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE_libhandle = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038 \
+ file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
+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://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \
+ file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \
+ file://0001-support-usrmerge.patch \
+ "
+SRC_URI[md5sum] = "5ca3f79e76e3fb984a03d1b42a2e60ba"
+SRC_URI[sha256sum] = "7b500e148cebd08f99e37cf744c7843817b37e7be2a32c4dc57d6ea16e3019ae"
+
+inherit autotools-brokensep
+
+PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
+
+DEPENDS += "util-linux"
+
+RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
+
+FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
+FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
+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 \
+ ac_cv_lib_rt_lio_listio=yes \
+"
+
+DISABLE_STATIC = ""
+EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
+
+PACKAGECONFIG ??= "readline blkid"
+
+PACKAGECONFIG[readline] = "--enable-readline=yes,--enable-readline=no,readline"
+PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
+
+export DEBUG="-DNDEBUG"
+export BUILD_VERBOSE="1"
+export tagname="CC"
+
+EXTRA_OEMAKE = "DIST_ROOT='${D}'"
+
+do_configure () {
+ export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
+ # Prevent Makefile from calling configure without arguments,
+ # when do_configure gets called for a second time.
+ rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
+ # Recreate configure script.
+ oe_runmake configure
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ oe_runconf
+}
+
+do_install_append() {
+ oe_runmake 'DESTDIR=${D}' install-dev
+ rm ${D}${libdir}/*.la
+ rmdir --ignore-fail-on-non-empty ${D}${libdir}
+
+ if [ ${libdir} != ${base_libdir} ];then
+ ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a
+ ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so
+ fi
+}
diff --git a/meta-openembedded/meta-gnome/README b/meta-openembedded/meta-gnome/README
index 2a682e72d..3c5b4c5f9 100644
--- a/meta-openembedded/meta-gnome/README
+++ b/meta-openembedded/meta-gnome/README
@@ -1,23 +1,3 @@
-meta-gnome
-===========
-
-The recipe in this layer needs to have 'x11' in DISTRO_FEATURES
-to have effect. To enable them, add in configuration file the following line.
-
- DISTRO_FEATURES_append = " x11"
-
-If meta-gnome is included, but x11 is not enabled as a
-distro feature a warning is printed at parse time:
-
- You have included the meta-gnome layer, but
- 'x11' has not been enabled in your DISTRO_FEATURES.
-
-If you know what you are doing, this warning can be disabled by setting the following
-variable in your configuration:
-
- SKIP_META_GNOME_SANITY_CHECK = 1
-
-
Dependencies
------------
This layer depends on:
diff --git a/meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass b/meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass
deleted file mode 100644
index 331ea193d..000000000
--- a/meta-openembedded/meta-gnome/classes/sanity-meta-gnome.bbclass
+++ /dev/null
@@ -1,10 +0,0 @@
-addhandler gnome_bbappend_distrocheck
-gnome_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck"
-python gnome_bbappend_distrocheck() {
- skip_check = e.data.getVar('SKIP_META_GNOME_SANITY_CHECK') == "1"
- if 'x11' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check:
- bb.warn("You have included the meta-gnome layer, but \
-'x11' has not been enabled in your DISTRO_FEATURES. Some bbappend files \
-may not take effect. See the meta-gnome README for details on enabling \
-meta-gnome support.")
-}
diff --git a/meta-openembedded/meta-gnome/conf/layer.conf b/meta-openembedded/meta-gnome/conf/layer.conf
index 0b68232de..862d622ee 100644
--- a/meta-openembedded/meta-gnome/conf/layer.conf
+++ b/meta-openembedded/meta-gnome/conf/layer.conf
@@ -14,8 +14,4 @@ LAYERVERSION_gnome-layer = "1"
LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer"
-LAYERSERIES_COMPAT_gnome-layer = "thud warrior"
-
-# Sanity check for meta-gnome layer.
-# Setting SKIP_META_GNOME_SANITY_CHECK to "1" would skip the bbappend files check.
-INHERIT += "sanity-meta-gnome"
+LAYERSERIES_COMPAT_gnome-layer = "thud warrior zeus"
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
deleted file mode 100644
index 80aafc870..000000000
--- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.20.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "GTK+ applet for NetworkManager"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "gtk+3 libnotify libsecret networkmanager \
- gconf libgnome-keyring iso-codes nss \
- intltool-native \
-"
-
-GNOMEBASEBUILDCLASS = "autotools-brokensep"
-inherit distro_features_check gnomebase gsettings gtk-icon-cache gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "06aafa851762146034351aa72ebb23d4"
-SRC_URI[archive.sha256sum] = "050dbb155566c715239dc0378844d8beed10954e64e71014ecef8ca912df34ec"
-
-PACKAGECONFIG[modemmanager] = "--with-wwan,--without-wwan,modemmanager"
-PACKAGECONFIG[mobile-provider-info] = "--enable-mobile-broadband-provider-info,--disable-mobile-broadband-provider-info,mobile-broadband-provider-info,mobile-broadband-provider-info"
-PACKAGECONFIG ??= ""
-
-EXTRA_OECONF = " \
- --without-selinux \
-"
-
-do_configure_append() {
- # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror
- for i in $(find ${B} -name "Makefile") ; do
- sed -i -e s%-Werror[^[:space:]]*%%g $i
- done
-}
-
-# gobject-introspection related
-GI_DATA_ENABLED_libc-musl = "False"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/src/libnma/.libs"
-}
-
-RDEPENDS_${PN} =+ "networkmanager"
-
-FILES_${PN} += " \
- ${datadir}/nm-applet/ \
- ${datadir}/libnma/wifi.ui \
- ${datadir}/metainfo \
-"
-
-# musl builds generate gir files which otherwise go un-packaged
-FILES_${PN}-dev += " \
- ${datadir}/gir-1.0 \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.22.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.22.bb
new file mode 100644
index 000000000..37f512a73
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.8.22.bb
@@ -0,0 +1,44 @@
+SUMMARY = "GTK+ applet for NetworkManager"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "gtk+3 libnotify libsecret networkmanager \
+ libgnome-keyring iso-codes nss \
+ intltool-native \
+"
+
+GNOMEBASEBUILDCLASS = "autotools-brokensep"
+inherit distro_features_check gnomebase gsettings gtk-icon-cache gobject-introspection gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[archive.md5sum] = "e0373f4c0d0637716e6e385799a9080f"
+SRC_URI[archive.sha256sum] = "ebef1c1050ff6d94cad060e8d259f2a88ae159cf83ca75cb71d9f76867877eed"
+
+PACKAGECONFIG[modemmanager] = "--with-wwan,--without-wwan,modemmanager"
+PACKAGECONFIG[mobile-provider-info] = "--enable-mobile-broadband-provider-info,--disable-mobile-broadband-provider-info,mobile-broadband-provider-info,mobile-broadband-provider-info"
+PACKAGECONFIG ??= ""
+
+EXTRA_OECONF = " \
+ --without-selinux \
+"
+
+# gobject-introspection related
+GI_DATA_ENABLED_libc-musl = "False"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/src/libnma/.libs"
+}
+
+RDEPENDS_${PN} =+ "networkmanager"
+
+FILES_${PN} += " \
+ ${datadir}/nm-applet/ \
+ ${datadir}/libnma/wifi.ui \
+ ${datadir}/metainfo \
+"
+
+# musl builds generate gir files which otherwise go un-packaged
+FILES_${PN}-dev += " \
+ ${datadir}/gir-1.0 \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.33.0.bb b/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.33.0.bb
index a9f6993fb..de143b9c8 100644
--- a/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.33.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-extended/gparted/gparted_0.33.0.bb
@@ -15,7 +15,7 @@ SRC_URI = " \
SRC_URI[md5sum] = "2f481ad34decb7021ca04ca305e79e7d"
SRC_URI[sha256sum] = "5023b8c983f88a22e65bf6f09a12ea09369defc008981b52ee8b96a3879f81d6"
-DEPENDS = "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native"
+DEPENDS += "glib-2.0 glib-2.0-native gtkmm parted gnome-doc-utils intltool-native"
do_install_append() {
# Add a script which checks if polkit is installed.
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch b/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch
deleted file mode 100644
index 3731a23f1..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-Bug-13770-Require-C-11-from-now-on.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From f6d0dc338fe867c1b064682ae7f15bffe019b306 Mon Sep 17 00:00:00 2001
-From: Hubert Figuiere <hub@figuiere.net>
-Date: Tue, 12 Apr 2016 02:55:47 +0000
-Subject: [PATCH] Bug 13770 - Require C++11 from now on.
-
-git-svn-id: svn+ssh://svn.abisource.com/svnroot/abiword/trunk@35197 bcba8976-2d24-0410-9c9c-aab3bd5fdfd6
-
-Upstream-Status: Backport
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ax_cxx_compile_stdcxx_11.m4 | 133 +++++++++++++++++++++++++++++++++++
- configure.ac | 1 +
- src/wp/ap/gtk/ap_UnixApp.cpp | 2 +-
- 3 files changed, 135 insertions(+), 1 deletion(-)
- create mode 100644 ax_cxx_compile_stdcxx_11.m4
-
-diff --git a/ax_cxx_compile_stdcxx_11.m4 b/ax_cxx_compile_stdcxx_11.m4
-new file mode 100644
-index 0000000..af37acd
---- /dev/null
-+++ b/ax_cxx_compile_stdcxx_11.m4
-@@ -0,0 +1,133 @@
-+# ============================================================================
-+# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
-+# ============================================================================
-+#
-+# SYNOPSIS
-+#
-+# AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
-+#
-+# DESCRIPTION
-+#
-+# Check for baseline language coverage in the compiler for the C++11
-+# standard; if necessary, add switches to CXXFLAGS to enable support.
-+#
-+# The first argument, if specified, indicates whether you insist on an
-+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
-+# -std=c++11). If neither is specified, you get whatever works, with
-+# preference for an extended mode.
-+#
-+# The second argument, if specified 'mandatory' or if left unspecified,
-+# indicates that baseline C++11 support is required and that the macro
-+# should error out if no mode with that support is found. If specified
-+# 'optional', then configuration proceeds regardless, after defining
-+# HAVE_CXX11 if and only if a supporting mode is found.
-+#
-+# LICENSE
-+#
-+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
-+# Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
-+# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
-+#
-+# Copying and distribution of this file, with or without modification, are
-+# permitted in any medium without royalty provided the copyright notice
-+# and this notice are preserved. This file is offered as-is, without any
-+# warranty.
-+
-+#serial 3
-+
-+m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [
-+ template <typename T>
-+ struct check
-+ {
-+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
-+ };
-+
-+ typedef check<check<bool>> right_angle_brackets;
-+
-+ int a;
-+ decltype(a) b;
-+
-+ typedef check<int> check_type;
-+ check_type c;
-+ check_type&& cr = static_cast<check_type&&>(c);
-+
-+ auto d = a;
-+])
-+
-+AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
-+ m4_if([$1], [], [],
-+ [$1], [ext], [],
-+ [$1], [noext], [],
-+ [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
-+ m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
-+ [$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
-+ [$2], [optional], [ax_cxx_compile_cxx11_required=false],
-+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])dnl
-+ AC_LANG_PUSH([C++])dnl
-+ ac_success=no
-+ AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
-+ ax_cv_cxx_compile_cxx11,
-+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
-+ [ax_cv_cxx_compile_cxx11=yes],
-+ [ax_cv_cxx_compile_cxx11=no])])
-+ if test x$ax_cv_cxx_compile_cxx11 = xyes; then
-+ ac_success=yes
-+ fi
-+
-+ m4_if([$1], [noext], [], [dnl
-+ if test x$ac_success = xno; then
-+ for switch in -std=gnu++11 -std=gnu++0x; do
-+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
-+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
-+ $cachevar,
-+ [ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
-+ [eval $cachevar=yes],
-+ [eval $cachevar=no])
-+ CXXFLAGS="$ac_save_CXXFLAGS"])
-+ if eval test x\$$cachevar = xyes; then
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ ac_success=yes
-+ break
-+ fi
-+ done
-+ fi])
-+
-+ m4_if([$1], [ext], [], [dnl
-+ if test x$ac_success = xno; then
-+ for switch in -std=c++11 -std=c++0x; do
-+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
-+ AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
-+ $cachevar,
-+ [ac_save_CXXFLAGS="$CXXFLAGS"
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
-+ [eval $cachevar=yes],
-+ [eval $cachevar=no])
-+ CXXFLAGS="$ac_save_CXXFLAGS"])
-+ if eval test x\$$cachevar = xyes; then
-+ CXXFLAGS="$CXXFLAGS $switch"
-+ ac_success=yes
-+ break
-+ fi
-+ done
-+ fi])
-+ AC_LANG_POP([C++])
-+ if test x$ax_cxx_compile_cxx11_required = xtrue; then
-+ if test x$ac_success = xno; then
-+ AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
-+ fi
-+ else
-+ if test x$ac_success = xno; then
-+ HAVE_CXX11=0
-+ AC_MSG_NOTICE([No compiler with C++11 support was found])
-+ else
-+ HAVE_CXX11=1
-+ AC_DEFINE(HAVE_CXX11,1,
-+ [define if the compiler supports basic C++11 syntax])
-+ fi
-+
-+ AC_SUBST(HAVE_CXX11)
-+ fi
-+])
-diff --git a/configure.ac b/configure.ac
-index 48228be..f7be7de 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -131,6 +131,7 @@ win_pkgs="$enchant_req"
-
- AC_PROG_CC
- AC_PROG_CXX
-+AX_CXX_COMPILE_STDCXX_11(noext,mandatory)
- #AC_PROG_OBJC
- AC_PROG_INSTALL
- # For libtool 1.5.x compatability (AC_PROG_LIBTOOL is deprecated version of LT_INIT)
-diff --git a/src/wp/ap/gtk/ap_UnixApp.cpp b/src/wp/ap/gtk/ap_UnixApp.cpp
-index 061a304..260f8e5 100644
---- a/src/wp/ap/gtk/ap_UnixApp.cpp
-+++ b/src/wp/ap/gtk/ap_UnixApp.cpp
-@@ -863,7 +863,7 @@ static bool is_so (const char *file) {
- if (len < (strlen(G_MODULE_SUFFIX) + 2)) // this is ".so" and at least one char for the filename
- return false;
- const char *suffix = file+(len-3);
-- if(0 == strcmp (suffix, "."G_MODULE_SUFFIX))
-+ if(0 == strcmp (suffix, "." G_MODULE_SUFFIX))
- return true;
- return false;
- }
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch b/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch
deleted file mode 100644
index 0dff1411d..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword/0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From c646159ce817506131b58fdab1cdc1cd6364df7a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Sun, 7 Feb 2016 21:45:20 +0100
-Subject: [PATCH] plugins/aiksaurus/Makefile.am: remove uncomplete options
- WITH_BUILTIN_AIKSAURUS_GTK
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* with gtk2 we won't use it
-* it is missing in configure.ac causing
-
-| plugins/aiksaurus/Makefile.am:5: error: WITH_BUILTIN_AIKSAURUS_GTK does not appear in AM_CONDITIONAL
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- plugins/aiksaurus/Makefile.am | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/plugins/aiksaurus/Makefile.am b/plugins/aiksaurus/Makefile.am
-index d402c58..1034e2a 100644
---- a/plugins/aiksaurus/Makefile.am
-+++ b/plugins/aiksaurus/Makefile.am
-@@ -2,10 +2,6 @@ SUBDIRS =
-
- if TOOLKIT_GTK
-
--if WITH_BUILTIN_AIKSAURUS_GTK
--SUBDIRS += aiksaurusgtk3
--platform_lib = aiksaurusgtk3/libAiksaurusGtk3.la
--endif
-
- endif
-
---
-2.5.0
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
deleted file mode 100644
index 36b056fdd..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/abiword/abiword_3.0.2.bb
+++ /dev/null
@@ -1,142 +0,0 @@
-SUMMARY = "AbiWord is free word processing program similar to Microsoft(r) Word"
-HOMEPAGE = "http://www.abiword.org"
-SECTION = "x11/office"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ecd3ac329fca77e2d0e412bec38e1c20"
-DEPENDS = " \
- perl-native \
- gtk+ \
- gtkmathview \
- wv \
- fribidi \
- jpeg \
- libpng \
- librsvg \
- libwmf-native \
- asio \
- evolution-data-server \
- libxslt \
- ${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'redland rasqal', '', d)} \
-"
-RDEPENDS_${PN}_append_libc-glibc = " \
- glibc-gconv-ibm850 glibc-gconv-cp1252 \
- glibc-gconv-iso8859-15 glibc-gconv-iso8859-1 \
-"
-RCONFLICTS_${PN} = "${PN}-embedded"
-
-SRC_URI = "http://www.abisource.com/downloads/${BPN}/${PV}/source/${BP}.tar.gz \
- file://0001-plugins-aiksaurus-Makefile.am-remove-uncomplete-opti.patch \
- file://0001-Bug-13770-Require-C-11-from-now-on.patch \
- "
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c5edcc3ccd864b19004d14e9c1c9a26a"
-
-SRC_URI[md5sum] = "cda6dd58c747c133b421cc7eb18f5796"
-SRC_URI[sha256sum] = "afbfd458fd02989d8b0c6362ba8a4c14686d89666f54cfdb5501bd2090cf3522"
-
-#want 3.x from 3.x.y for the installation directory
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-inherit distro_features_check autotools-brokensep pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-PACKAGECONFIG ??= " \
- collab-backend-xmpp collab-backend-tcp \
- ${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'libical', '', d)} \
-"
-PACKAGECONFIG[libical] = "--with-libical,--without-libical,libical raptor2"
-PACKAGECONFIG[spell] = "--enable-spell,--disable-spell,enchant"
-PACKAGECONFIG[collab-backend-xmpp] = "--enable-collab-backend-xmpp,--disable-collab-backend-xmpp,libgsf libxml2 loudmouth"
-PACKAGECONFIG[collab-backend-tcp] = "--enable-collab-backend-tcp,--disable-collab-backend-tcp,libgsf libxml2"
-PACKAGECONFIG[collab-backend-service] = "--enable-collab-backend-service,--disable-collab-backend-service,libgsf libxml2 libsoup-2.4 gnutls"
-PACKAGECONFIG[collab-backend-telepathy] = "--enable-collab-backend-telepathy,--disable-collab-backend-telepathy,libgsf libxml2 telepathy-glib telepathy-mission-control"
-PACKAGECONFIG[collab-backend-sugar] = "--enable-collab-backend-sugar,--disable-collab-backend-sugar,libgsf libxml2 dbus-glib"
-
-EXTRA_OECONF = " --disable-static \
- --enable-plugins \
- --enable-clipart \
- --enable-templates \
- --without-gnomevfs \
- --with-gtk2 \
- --with-libwmf-config=${STAGING_DIR} \
-"
-
-LDFLAGS += "-lgmodule-2.0"
-
-do_compile() {
- cd goffice-bits2
- make goffice-paths.h
- make libgoffice.la
- cd ${B}
- oe_runmake
-}
-
-PACKAGES += " ${PN}-clipart ${PN}-strings ${PN}-systemprofiles ${PN}-templates "
-
-FILES_${PN} += " \
- ${libdir}/lib${PN}-*.so \
- ${datadir}/mime-info \
- ${datadir}/icons/* \
- ${datadir}/${PN}-${SHRT_VER}/glade \
- ${datadir}/${PN}-${SHRT_VER}/scripts \
- ${datadir}/${PN}-${SHRT_VER}/system.profile-en \
- ${datadir}/${PN}-${SHRT_VER}/system.profile-en_GB \
- ${datadir}/${PN}-${SHRT_VER}/templates/normal.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/normal.awt-en_GB \
- ${datadir}/${PN}-${SHRT_VER}/templates/Employee-Directory.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Business-Report.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Fax-Coversheet.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Resume.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Two-Columns.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Memo.awt \
- ${datadir}/${PN}-${SHRT_VER}/templates/Press-Release.awt \
- ${datadir}/${PN}-${SHRT_VER}/certs \
- ${datadir}/${PN}-${SHRT_VER}/ui \
- ${datadir}/${PN}-${SHRT_VER}/xsl* \
- ${datadir}/${PN}-${SHRT_VER}/mime-info \
- ${datadir}/${PN}-${SHRT_VER}/Pr*.xml \
-"
-
-# don't steal /usr/lib/libabiword-3.0.so from ${PN}
-# in this case it's needed in ${PN}
-FILES_${PN}-dev = " \
- ${includedir} \
- ${libdir}/pkgconfig \
- ${libdir}/${PN}*.la \
- ${libdir}/lib${PN}*.la \
- ${libdir}/${PN}-${SHRT_VER}/plugins/*.la \
-"
-FILES_${PN}-dbg += "${libdir}/${PN}-${SHRT_VER}/plugins/.debug"
-FILES_${PN}-doc += "${datadir}/${PN}-*/readme*"
-
-FILES_${PN}-strings += "${datadir}/${PN}-${SHRT_VER}/strings"
-FILES_${PN}-systemprofiles += "${datadir}/${PN}-${SHRT_VER}/system.profile*"
-FILES_${PN}-clipart += "${datadir}/${PN}-${SHRT_VER}/clipart"
-FILES_${PN}-strings += "${datadir}/${PN}-${SHRT_VER}/AbiWord/strings"
-FILES_${PN}-systemprofiles += "${datadir}/${PN}-${SHRT_VER}/AbiWord/system.profile*"
-FILES_${PN}-templates += "${datadir}/${PN}-${SHRT_VER}/templates"
-
-PACKAGES_DYNAMIC += "^${PN}-meta.* ^${PN}-plugin-.*"
-
-python populate_packages_prepend () {
- abiword_libdir = d.expand('${libdir}/${PN}-${SHRT_VER}/plugins')
- do_split_packages(d, abiword_libdir, '(.*)\.so$', 'abiword-plugin-%s', 'Abiword plugin for %s', extra_depends='')
-
- metapkg = "abiword-meta"
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- d.setVar('FILES_' + metapkg, "")
- blacklist = [ 'abiword-plugins-dbg', 'abiword-plugins', 'abiword-plugins-doc', 'abiword-plugins-dev', 'abiword-plugins-locale' ]
- metapkg_rdepends = []
- packages = d.getVar('PACKAGES').split()
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale") and not pkg.count("abiword-doc"):
- print("Modifying %s" % pkg)
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
- d.setVar('DESCRIPTION_' + metapkg, 'abiword-plugin meta package')
- packages.append(metapkg)
- d.setVar('PACKAGES', ' '.join(packages))
-}
-
-FILES_${PN}-plugin-openxml += "${datadir}/${PN}-${SHRT_VER}/omml_xslt"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch
index a821a14ab..cc9dca4ea 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch
@@ -1,7 +1,7 @@
-From 131b88a81aba3d72d566bc8a9d968941a98e0007 Mon Sep 17 00:00:00 2001
+From e32075119803f9fffbba01a31083e416cb213011 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 19 Dec 2017 16:37:20 +0100
-Subject: [PATCH] CMakeLists.txt: Remove TRY_RUN for iconv
+Subject: [PATCH 1/7] CMakeLists.txt: Remove TRY_RUN for iconv
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -13,18 +13,20 @@ Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
- CMakeLists.txt | 5 -----
- 1 file changed, 5 deletions(-)
+ CMakeLists.txt | 6 ------
+ 1 file changed, 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8d07772..a2396f2 100644
+index f9d72db..ed99904 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -521,13 +521,8 @@ if(NOT HAVE_ICONV)
- endif(NOT HAVE_ICONV)
+@@ -526,15 +526,9 @@ endif(NOT HAVE_ICONV)
set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBS})
--CHECK_C_SOURCE_RUNS("#include \"${CMAKE_SOURCE_DIR}/iconv-detect.c\"" _correct_iconv)
+ file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/" _binary_dir_with_separator)
+-CHECK_C_SOURCE_RUNS("#define ICONV_DETECT_BUILD_DIR \"${_binary_dir_with_separator}\"
+- #include \"${CMAKE_SOURCE_DIR}/iconv-detect.c\"" _correct_iconv)
+ unset(_binary_dir_with_separator)
unset(CMAKE_REQUIRED_LIBRARIES)
-if(NOT _correct_iconv)
@@ -35,5 +37,5 @@ index 8d07772..a2396f2 100644
# Backtraces for debugging
# ******************************
--
-2.14.3
+2.21.0
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch
index c8dc7e12c..23c3a96d4 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch
@@ -1,7 +1,7 @@
-From 210b204d9edd71202454ff04013cc52b23c598e4 Mon Sep 17 00:00:00 2001
+From 20bd8946a5c73290d961df151e82033171639c0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 19 Dec 2017 16:55:13 +0100
-Subject: [PATCH] CMakeLists.txt: remove CHECK_C_SOURCE_RUNS check
+Subject: [PATCH 2/7] CMakeLists.txt: remove CHECK_C_SOURCE_RUNS check
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -15,10 +15,10 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
1 file changed, 23 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a2396f2..f3b271b 100644
+index ed99904..9a2e99f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -573,29 +573,6 @@ CHECK_C_SOURCE_COMPILES("#include <langinfo.h>
+@@ -579,29 +579,6 @@ CHECK_C_SOURCE_COMPILES("#include <langinfo.h>
CHECK_C_SOURCE_COMPILES("#include <langinfo.h>
int main(void) { char *detail = nl_langinfo (_NL_ADDRESS_COUNTRY_AB2); return 0; }" HAVE__NL_ADDRESS_COUNTRY_AB2)
@@ -49,5 +49,5 @@ index a2396f2..f3b271b 100644
# system mail stuff
# ******************************
--
-2.14.3
+2.21.0
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch
index 3cdfa8b6f..c9e6f96f5 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0003-contact-Replace-the-Novell-sample-contact-with-somet.patch
@@ -1,14 +1,14 @@
-From 4df8bd8ae4258289663b27af1207027c7ee06340 Mon Sep 17 00:00:00 2001
+From d616eddf3a214a49900344f4455155879d3b82db Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sun, 4 Aug 2013 09:13:25 +0200
-Subject: [PATCH 1/5] contact: Replace the Novell sample contact with something
+Subject: [PATCH 3/7] contact: Replace the Novell sample contact with something
more appropriate
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
- src/addressbook/libedata-book/ximian-vcard.h | 179 ++++++++++++++++++-------------
- 2 files changed, 103 insertions(+), 77 deletions(-)
+ src/addressbook/libedata-book/ximian-vcard.h | 179 +++++++++++--------
+ 1 file changed, 102 insertions(+), 77 deletions(-)
diff --git a/src/addressbook/libedata-book/ximian-vcard.h b/src/addressbook/libedata-book/ximian-vcard.h
index 782d37b..5b0b250 100644
@@ -198,5 +198,5 @@ index 782d37b..5b0b250 100644
+" gQIUKE+H+C/wMGX8Ias1s6CQAAAABJRU5ErkJggg==\n" \
"END:VCARD"
--
-1.8.3.2
+2.21.0
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Add-native-suffix-to-exacutables-produced-and-run-du.patch b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Add-native-suffix-to-exacutables-produced-and-run-du.patch
new file mode 100644
index 000000000..67023df2c
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Add-native-suffix-to-exacutables-produced-and-run-du.patch
@@ -0,0 +1,50 @@
+From 30bd4ae3badb152c9f81c6d34014c586fa0cc825 Mon Sep 17 00:00:00 2001
+From: Piotr Tworek <tworaz@tworaz.net>
+Date: Mon, 12 Aug 2019 14:13:52 +0200
+Subject: [PATCH 4/7] Add native suffix to exacutables produced and run during
+ build process.
+
+CMake can't build tools for the host system when cross compiling. As
+result eds currently fails to build in OE due to some programs being
+cross compiled for the target and run on the host. To work around this
+limitation modify existing targets using build time generated binaries
+to invoke binaries suffixed with -native. We can inject such binaries
+into expected locations prior to invoking ninja in do_compile.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
+---
+ src/addressbook/libebook-contacts/CMakeLists.txt | 2 +-
+ src/camel/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/addressbook/libebook-contacts/CMakeLists.txt b/src/addressbook/libebook-contacts/CMakeLists.txt
+index e9e3259..2ae72a8 100644
+--- a/src/addressbook/libebook-contacts/CMakeLists.txt
++++ b/src/addressbook/libebook-contacts/CMakeLists.txt
+@@ -25,7 +25,7 @@ target_link_libraries(gen-western-table
+
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/e-name-western-tables.h
+- COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gen-western-table "${CMAKE_CURRENT_SOURCE_DIR}/e-name-western-tables.h.in" >${CMAKE_CURRENT_BINARY_DIR}/e-name-western-tables.h
++ COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gen-western-table-native "${CMAKE_CURRENT_SOURCE_DIR}/e-name-western-tables.h.in" >${CMAKE_CURRENT_BINARY_DIR}/e-name-western-tables.h
+ DEPENDS gen-western-table e-name-western-tables.h.in
+ )
+
+diff --git a/src/camel/CMakeLists.txt b/src/camel/CMakeLists.txt
+index be626a8..9226b2b 100644
+--- a/src/camel/CMakeLists.txt
++++ b/src/camel/CMakeLists.txt
+@@ -10,7 +10,7 @@ target_include_directories(camel-gen-tables PUBLIC
+
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/camel-mime-tables.c
+- COMMAND ${CMAKE_CURRENT_BINARY_DIR}/camel-gen-tables >${CMAKE_CURRENT_BINARY_DIR}/camel-mime-tables.c
++ COMMAND ${CMAKE_CURRENT_BINARY_DIR}/camel-gen-tables-native >${CMAKE_CURRENT_BINARY_DIR}/camel-mime-tables.c
+ DEPENDS camel-gen-tables
+ )
+
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch
deleted file mode 100644
index d3b0ac673..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0004-Use-recommended-way-to-handle-the-icu-namespace.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 698a0e104dcbe4b630df848fd4af7c59f76cdc37 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 5 May 2018 17:46:52 -0700
-Subject: [PATCH] Use recommended way to handle the icu namespace
-
-Fixes build with icu >= 61
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libedataserver/e-alphabet-index-private.cpp | 2 ++
- src/libedataserver/e-transliterator-private.cpp | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/src/libedataserver/e-alphabet-index-private.cpp b/src/libedataserver/e-alphabet-index-private.cpp
-index d3e44f4..ddffd99 100644
---- a/src/libedataserver/e-alphabet-index-private.cpp
-+++ b/src/libedataserver/e-alphabet-index-private.cpp
-@@ -33,9 +33,11 @@
-
- /* ICU headers */
- #include <unicode/alphaindex.h>
-+#include <unicode/ustring.h>
-
- using icu::AlphabeticIndex;
- using icu::Locale;
-+using U_ICU_NAMESPACE::UnicodeString;
-
- struct _EAlphabetIndex {
- AlphabeticIndex *priv;
-diff --git a/src/libedataserver/e-transliterator-private.cpp b/src/libedataserver/e-transliterator-private.cpp
-index bb15593..573446f 100644
---- a/src/libedataserver/e-transliterator-private.cpp
-+++ b/src/libedataserver/e-transliterator-private.cpp
-@@ -33,8 +33,10 @@
-
- /* ICU headers */
- #include <unicode/translit.h>
-+#include <unicode/ustring.h>
-
- using icu::Transliterator;
-+using U_ICU_NAMESPACE::UnicodeString;
-
- struct _ETransliterator {
- Transliterator *priv;
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0005-Use-LC_MESSAGES-for-address-localization-when-LC_ADD.patch b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0005-Use-LC_MESSAGES-for-address-localization-when-LC_ADD.patch
new file mode 100644
index 000000000..55ab5a7fc
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0005-Use-LC_MESSAGES-for-address-localization-when-LC_ADD.patch
@@ -0,0 +1,33 @@
+From 95425206e7317e59b7ca06d7f838ad357cdd200c Mon Sep 17 00:00:00 2001
+From: Piotr Tworek <tworaz@tworaz.net>
+Date: Wed, 14 Aug 2019 00:31:54 +0200
+Subject: [PATCH 5/7] Use LC_MESSAGES for address localization when LC_ADDRESS
+ is not available.
+
+Musl does not define LC_ADDRESS unfortunately.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
+---
+ src/addressbook/libebook-contacts/e-phone-number-private.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/addressbook/libebook-contacts/e-phone-number-private.cpp b/src/addressbook/libebook-contacts/e-phone-number-private.cpp
+index 4c5aebb..9abcebd 100644
+--- a/src/addressbook/libebook-contacts/e-phone-number-private.cpp
++++ b/src/addressbook/libebook-contacts/e-phone-number-private.cpp
+@@ -36,6 +36,10 @@
+ #include <phonenumbers/logger.h>
+ #include <phonenumbers/phonenumberutil.h>
+
++#ifndef LC_ADDRESS
++#define LC_ADDRESS LC_MESSAGES
++#endif
++
+ using i18n::phonenumbers::PhoneNumber;
+ using i18n::phonenumbers::PhoneNumberUtil;
+
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0006-Dont-add-usr-lib-to-LDFLAGS-when-linking-libphonenum.patch b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0006-Dont-add-usr-lib-to-LDFLAGS-when-linking-libphonenum.patch
new file mode 100644
index 000000000..c0c1427fd
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0006-Dont-add-usr-lib-to-LDFLAGS-when-linking-libphonenum.patch
@@ -0,0 +1,36 @@
+From fb9164bbca5b425f1cf1bb3cac51d06afe81938a Mon Sep 17 00:00:00 2001
+From: Piotr Tworek <tworaz@tworaz.net>
+Date: Wed, 14 Aug 2019 00:47:59 +0200
+Subject: [PATCH 6/7] Dont add /usr/lib to LDFLAGS when linking libphonenumber.
+
+This will refer to host lib dir which is not what we want.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
+---
+ cmake/modules/FindPhonenumber.cmake | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/cmake/modules/FindPhonenumber.cmake b/cmake/modules/FindPhonenumber.cmake
+index 04d1056..70c0c41 100644
+--- a/cmake/modules/FindPhonenumber.cmake
++++ b/cmake/modules/FindPhonenumber.cmake
+@@ -37,12 +37,10 @@ string(TOUPPER "${WITH_PHONENUMBER}" optupper)
+ if(("${optupper}" STREQUAL "ON") OR ("${substr}" STREQUAL "${CMAKE_BINARY_DIR}"))
+ set(WITH_PHONENUMBER "ON")
+ set(PHONENUMBER_INCLUDE_DIRS "${INCLUDE_INSTALL_DIR}")
+- set(PHONENUMBER_LIB_DIRS ${LIB_INSTALL_DIR})
+- set(PHONENUMBER_LDFLAGS -L${PHONENUMBER_LIB_DIRS} ${PHONENUMBER_LDFLAGS})
++ set(PHONENUMBER_LDFLAGS ${PHONENUMBER_LDFLAGS})
+ else(("${optupper}" STREQUAL "ON") OR ("${substr}" STREQUAL "${CMAKE_BINARY_DIR}"))
+ set(PHONENUMBER_INCLUDE_DIRS "${WITH_PHONENUMBER}/include")
+- set(PHONENUMBER_LIB_DIRS ${WITH_PHONENUMBER}/lib${LIB_SUFFIX})
+- set(PHONENUMBER_LDFLAGS -L${PHONENUMBER_LIB_DIRS} ${PHONENUMBER_LDFLAGS})
++ set(PHONENUMBER_LDFLAGS ${PHONENUMBER_LDFLAGS})
+ endif(("${optupper}" STREQUAL "ON") OR ("${substr}" STREQUAL "${CMAKE_BINARY_DIR}"))
+
+ unset(bindirlen)
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0007-Modify-gobject-intrispection-support-to-work-with-OE.patch b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0007-Modify-gobject-intrispection-support-to-work-with-OE.patch
new file mode 100644
index 000000000..c00082a2c
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server/0007-Modify-gobject-intrispection-support-to-work-with-OE.patch
@@ -0,0 +1,75 @@
+From d84f4fd68441e934b37be2a6917abad52c5d1bda Mon Sep 17 00:00:00 2001
+From: Piotr Tworek <tworaz@tworaz.net>
+Date: Fri, 16 Aug 2019 21:22:16 +0200
+Subject: [PATCH 7/7] Modify gobject-intrispection support to work with OE.
+
+1. Use tools provided by the recipe sysroot instread of host ones.
+2. Make sure all the required dirs make it into g-ir-scanner via
+ LDFLAGS.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Piotr Tworek <tworaz@tworaz.net>
+---
+ cmake/modules/GObjectIntrospection.cmake | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/modules/GObjectIntrospection.cmake b/cmake/modules/GObjectIntrospection.cmake
+index 5be5042..67c035a 100644
+--- a/cmake/modules/GObjectIntrospection.cmake
++++ b/cmake/modules/GObjectIntrospection.cmake
+@@ -20,6 +20,9 @@ if(ENABLE_INTROSPECTION)
+ pkg_check_variable(G_IR_SCANNER gobject-introspection-1.0 g_ir_scanner)
+ pkg_check_variable(G_IR_COMPILER gobject-introspection-1.0 g_ir_compiler)
+
++ string(CONCAT G_IR_SCANNER $ENV{PKG_CONFIG_SYSROOT_DIR} "${G_IR_SCANNER}")
++ string(CONCAT G_IR_COMPILER $ENV{PKG_CONFIG_SYSROOT_DIR} "${G_IR_COMPILER}")
++
+ if(NOT G_IR_SCANNER)
+ message(FATAL_ERROR "g-ir-scanner not provided by gobject-introspection-1.0, you can disable GObject introspection by -DENABLE_INTROSPECTION=OFF")
+ endif(NOT G_IR_SCANNER)
+@@ -116,7 +119,7 @@ macro(gir_add_introspection gir)
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${_gir_name}_files "${_gir_files}")
+
+ add_custom_command(
+- COMMAND ${CMAKE_COMMAND} -E env "CC='${CMAKE_C_COMPILER}'" LDFLAGS=
++ COMMAND ${CMAKE_COMMAND} -E env "CC='${CMAKE_C_COMPILER}'" LDFLAGS=${INTROSPECTION_SCANNER_LDFLAGS}
+ ${INTROSPECTION_SCANNER_ENV}
+ ${G_IR_SCANNER}
+ ${INTROSPECTION_SCANNER_ARGS}
+@@ -186,6 +189,7 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
+ unset(INTROSPECTION_SCANNER_ARGS)
+ unset(INTROSPECTION_SCANNER_ENV)
+ unset(INTROSPECTION_COMPILER_ARGS)
++ unset(INTROSPECTION_SCANNER_LDFLAGS)
+
+ set(${gir_vars_prefix} ${gir_library})
+ set(${gir_vars_prefix}_SCANNERFLAGS "--warn-all")
+@@ -223,12 +227,12 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
+ --add-include-path=${CMAKE_CURRENT_SOURCE_DIR}
+ --library-path=${CMAKE_BINARY_DIR}
+ --library-path=${CMAKE_BINARY_DIR}/src
++ --library-path=${CMAKE_BINARY_DIR}/src/private
+ --library-path=${CMAKE_CURRENT_BINARY_DIR}
+ ${_gir_extra_libdirs}
+ ${_gir_identifies_prefixes}
+ ${_gir_deps}
+ --add-include-path=${SHARE_INSTALL_PREFIX}/gir-1.0
+- --library-path=${LIB_INSTALL_DIR}
+ ${_extra_library_path}
+ --pkg-export ${pkg_export_prefix}-${gir_library_version}
+ --c-include=${c_include}
+@@ -279,6 +283,10 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
+ )
+ endif(UNIX)
+
++ _gir_list_prefix(_gir_scanner_ldflags ${gir_extra_libdirs_var} "-Wl,-rpath-link=")
++ string(REPLACE ";" " " _gir_scanner_ldflags "${_gir_scanner_ldflags}")
++ set(INTROSPECTION_SCANNER_LDFLAGS "${_gir_scanner_ldflags}")
++
+ set(INTROSPECTION_SCANNER_ENV
+ ${_loader_library_path_var}="${_extra_loader_library_path_native}"
+ )
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb
deleted file mode 100644
index 1949fc7fd..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.26.6.bb
+++ /dev/null
@@ -1,132 +0,0 @@
-SUMMARY = "Evolution database backend server"
-HOMEPAGE = "http://www.gnome.org/projects/evolution/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2 & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
- file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \
- file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543 \
- file://src/calendar/libecal/e-cal.h;endline=24;md5=e699ec3866f73f129f7a4ffffdcfc196"
-
-DEPENDS = " \
- intltool-native gperf-native \
- glib-2.0 gtk+3 gconf libgnome-keyring libgdata \
- dbus db virtual/libiconv zlib libsoup-2.4 libical nss libsecret \
-"
-
-inherit distro_features_check gnomebase cmake gtk-doc gettext gobject-introspection perlnative pythonnative
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
- file://0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch \
- file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \
- file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \
- file://iconv-detect.h \
- file://0004-Use-recommended-way-to-handle-the-icu-namespace.patch \
- "
-SRC_URI[archive.md5sum] = "ae7bbf543b2c3ff79af27e0edea5d472"
-SRC_URI[archive.sha256sum] = "e43aa1847ddc02965f560261ef88d18fb8704eddaa55555bf96b884a33e510ec"
-
-LKSTRFTIME = "HAVE_LKSTRFTIME=ON"
-LKSTRFTIME_libc-musl = "HAVE_LKSTRFTIME=OFF"
-
-EXTRA_OECMAKE = " \
- -DWITH_KRB5=OFF \
- -DENABLE_GOA=OFF \
- -DENABLE_UOA=OFF \
- -DENABLE_GOOGLE_AUTH=OFF \
- -DENABLE_WEATHER=OFF \
- -D${LKSTRFTIME} \
- -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
-"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap"
-
-EXTRA_OECONF = "--with-libdb=${STAGING_DIR_HOST}${prefix} \
- --disable-nntp --disable-gtk-doc"
-
-# -ldb needs this on some platforms
-LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
-
-do_configure_append () {
- cp ${WORKDIR}/iconv-detect.h ${S}/src
-
- # fix native perl shebang
- sed -i 's:${STAGING_BINDIR_NATIVE}/perl-native:${bindir}:' ${B}/src/tools/addressbook-export/csv2vcard
-}
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/camel/.libs:${B}/libedataserver/.libs"
-}
-
-
-PACKAGES =+ "libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
- libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
- libedataserver libedataserver-dev \
- libedataserverui libedataserverui-dev"
-
-FILES_${PN} =+ "${systemd_user_unitdir} \
- ${datadir}/dbus-1 \
- ${datadir}/evolution-data-server-*/ui/"
-RDEPENDS_${PN} += "perl"
-
-FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc"
-FILES_${PN}-dbg =+ "${libdir}/evolution-data-server*/camel-providers/.debug \
- ${libdir}/evolution-data-server*/calendar-backends/.debug \
- ${libdir}/evolution-data-server*/addressbook-backends/.debug \
- ${libdir}/evolution-data-server*/extensions/.debug/"
-
-RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
-
-FILES_libcamel = "${libdir}/libcamel-*.so.* \
- ${libdir}/libcamel-provider-*.so.* \
- ${libdir}/evolution-data-server*/camel-providers/*.so \
- ${libdir}/evolution-data-server*/camel-providers/*.urls"
-FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
- ${libdir}/pkgconfig/camel*pc \
- ${libdir}/evolution-data-server*/camel-providers/*.la \
- ${includedir}/evolution-data-server*/camel"
-
-FILES_libebook = "${libdir}/libebook-*.so.*"
-FILES_libebook-dev = "${libdir}/libebook-1.2.so \
- ${libdir}/pkgconfig/libebook-*.pc \
- ${includedir}/evolution-data-server*/libebook/*.h"
-RRECOMMENDS_libebook = "libedata-book"
-
-FILES_libecal = "${libdir}/libecal-*.so.* \
- ${datadir}/evolution-data-server-1.4/zoneinfo"
-FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc \
- ${includedir}/evolution-data-server*/libecal/*.h \
- ${includedir}/evolution-data-server*/libical/*.h"
-RRECOMMENDS_libecal = "libedata-cal tzdata"
-
-FILES_libedata-book = "${libexecdir}/e-addressbook-factory \
- ${datadir}/dbus-1/services/*.AddressBook.service \
- ${libdir}/libedata-book-*.so.* \
- ${libdir}/evolution-data-server-*/extensions/libebook*.so \
- ${datadir}/evolution-data-server-1.4/weather/Locations.xml"
-FILES_libedata-book-dev = "${libdir}/libedata-book-*.so \
- ${libdir}/pkgconfig/libedata-book-*.pc \
- ${libdir}/evolution-data-server-*/extensions/libebook*.la \
- ${includedir}/evolution-data-server-*/libedata-book"
-
-FILES_libedata-cal = "${libexecdir}/e-calendar-factory \
- ${datadir}/dbus-1/services/*.Calendar.service \
- ${libdir}/libedata-cal-*.so.* \
- ${libdir}/evolution-data-server-*/extensions/libecal*.so"
-FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
- ${libdir}/pkgconfig/libedata-cal-*.pc \
- ${includedir}/evolution-data-server-*/libedata-cal \
- ${libdir}/evolution-data-server-*/extensions/libecal*.la"
-
-FILES_libedataserver = "${libdir}/libedataserver-*.so.*"
-FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
- ${libdir}/pkgconfig/libedataserver-*.pc \
- ${includedir}/evolution-data-server-*/libedataserver/*.h"
-
-FILES_libedataserverui = "${libdir}/libedataserverui-*.so.* ${datadir}/evolution-data-server-1.4/glade/*.glade"
-FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
- ${libdir}/pkgconfig/libedataserverui-*.pc \
- ${includedir}/evolution-data-server-*/libedataserverui/*.h"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.32.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.32.4.bb
new file mode 100644
index 000000000..429dd53d8
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/eds/evolution-data-server_3.32.4.bb
@@ -0,0 +1,155 @@
+SUMMARY = "Evolution database backend server"
+HOMEPAGE = "http://www.gnome.org/projects/evolution/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
+ file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \
+ file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543 \
+ file://src/calendar/libecal/e-cal.h;endline=24;md5=e699ec3866f73f129f7a4ffffdcfc196"
+
+DEPENDS = " \
+ intltool-native gperf-native glib-2.0-native \
+ glib-2.0 gtk+3 libgnome-keyring libgdata libcanberra icu \
+ dbus db virtual/libiconv zlib libsoup-2.4 libical nss libsecret \
+"
+
+inherit gnomebase cmake gtk-doc gettext gobject-introspection perlnative upstream-version-is-even vala
+
+SRC_URI += "file://0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch \
+ file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \
+ file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \
+ file://0004-Add-native-suffix-to-exacutables-produced-and-run-du.patch \
+ file://0005-Use-LC_MESSAGES-for-address-localization-when-LC_ADD.patch \
+ file://0006-Dont-add-usr-lib-to-LDFLAGS-when-linking-libphonenum.patch \
+ file://0007-Modify-gobject-intrispection-support-to-work-with-OE.patch \
+ file://iconv-detect.h \
+ "
+SRC_URI[archive.md5sum] = "57820f3f88fc554e1a58665a52e12c05"
+SRC_URI[archive.sha256sum] = "83f67cb4b680e892b22b51bcde64c788b7ac63e92a99de401fb347e3794f4c7f"
+
+LKSTRFTIME = "HAVE_LKSTRFTIME=ON"
+LKSTRFTIME_libc-musl = "HAVE_LKSTRFTIME=OFF"
+
+EXTRA_OECMAKE = " \
+ -D${LKSTRFTIME} \
+ -DSYSCONF_INSTALL_DIR=${sysconfdir} \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)}"
+PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap"
+PACKAGECONFIG[oauth2] = "-DENABLE_OAUTH2=ON,-DENABLE_OAUTH2=OFF,json-glib webkitgtk"
+PACKAGECONFIG[mitkrb5] = "-DWITH_KRB5=ON,-DWITH_KRB5=OFF,krb5"
+PACKAGECONFIG[goa] = "-DENABLE_GOA=ON,-DENABLE_GOA=OFF,gnome-online-accounts"
+PACKAGECONFIG[weather] = "-DENABLE_WEATHER=ON,-DENABLE_WEATHER=OFF,libgweather"
+PACKAGECONFIG[phonenumber] = "-DWITH_PHONENUMBER=ON,-DWITH_PHONENUMBER=OFF,libphonenumber"
+PACKAGECONFIG[introspection] = "-DENABLE_INTROSPECTION=ON,-DENABLE_INTROSPECTION=OFF"
+PACKAGECONFIG[vala] = "-DENABLE_VALA_BINDINGS=ON -DVAPIGEN=${STAGING_BINDIR_NATIVE}/vapigen,-DENABLE_VALA_BINDINGS=OFF"
+
+# -ldb needs this on some platforms
+LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
+
+do_configure_append () {
+ cp ${WORKDIR}/iconv-detect.h ${S}/src
+
+ # fix native perl shebang
+ sed -i 's:${STAGING_BINDIR_NATIVE}/perl-native:${bindir}:' ${B}/src/tools/addressbook-export/csv2vcard
+}
+
+do_compile_prepend() {
+ # CMake does not support building native binaries when cross compiling. As result
+ # it always cross compiles them for the target and then aborts when they fail to run.
+ # To work around this manually build required tools and patch cmake targets to use
+ # those native binaries we built here.
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} -I${B} ${S}/src/camel/camel-gen-tables.c \
+ -o ${B}/src/camel/camel-gen-tables-native
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} -I${B} $(pkg-config-native --cflags glib-2.0) \
+ ${S}/src/addressbook/libebook-contacts/gen-western-table.c \
+ -o ${B}/src/addressbook/libebook-contacts/gen-western-table-native \
+ $(pkg-config-native --libs glib-2.0)
+}
+
+
+PACKAGES =+ "libebook-contacts libebook-contacts-dev \
+ libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
+ libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
+ libedataserver libedataserver-dev \
+ libedataserverui libedataserverui-dev"
+
+FILES_${PN} =+ "${systemd_user_unitdir} \
+ ${datadir}/dbus-1 \
+ ${datadir}/evolution-data-server-*/ui/"
+RDEPENDS_${PN} += "perl"
+
+FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc"
+FILES_${PN}-dbg =+ "${libdir}/evolution-data-server*/camel-providers/.debug \
+ ${libdir}/evolution-data-server*/calendar-backends/.debug \
+ ${libdir}/evolution-data-server*/addressbook-backends/.debug \
+ ${libdir}/evolution-data-server*/extensions/.debug/"
+
+RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
+
+FILES_libcamel = "${libdir}/libcamel-*.so.* \
+ ${libdir}/libcamel-provider-*.so.* \
+ ${libdir}/girepository-*/Camel-*.typelib \
+ ${libdir}/evolution-data-server*/camel-providers/*.so \
+ ${libdir}/evolution-data-server*/camel-providers/*.urls"
+FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
+ ${libdir}/pkgconfig/camel*pc \
+ ${includedir}/evolution-data-server*/camel \
+ ${datadir}/vala/vapi/camel-* \
+ ${datadir}/gir-*/Camel-*.gir"
+
+FILES_libebook = "${libdir}/libebook-*.so.* \
+ ${libdir}/girepository-*/EBook-*.typelib"
+FILES_libebook-dev = "${libdir}/libebook-*.so \
+ ${libdir}/pkgconfig/libebook-*.pc \
+ ${datadir}/gir-*/EBook-*.gir \
+ ${datadir}/vala/vapi/libebook-*.* \
+ ${includedir}/evolution-data-server*/libebook/*.h"
+RRECOMMENDS_libebook = "libedata-book"
+
+FILES_libebook-contacts = "${libdir}/libebook-contacts-*.so.* \
+ ${libdir}/girepository-*/EBookContacts-*.typelib"
+FILES_libebook-contacts-dev = "${libdir}/libebook-contacts-*.so \
+ ${libdir}/pkgconfig/libebook-contacts-*.pc \
+ ${datadir}/gir-*/EBookContacts-*.gir \
+ ${datadir}/vala/vapi/libebook-contacts-* \
+ ${includedir}/evolution-data-server*/libebook-contacts/*.h"
+
+FILES_libecal = "${libdir}/libecal-*.so.*"
+FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc \
+ ${includedir}/evolution-data-server*/libecal/*.h \
+ ${includedir}/evolution-data-server*/libical/*.h"
+RRECOMMENDS_libecal = "libedata-cal tzdata"
+
+FILES_libedata-book = "${libexecdir}/e-addressbook-factory \
+ ${datadir}/dbus-1/services/*.AddressBook.service \
+ ${libdir}/libedata-book-*.so.* \
+ ${libdir}/evolution-data-server-*/extensions/libebook*.so"
+FILES_libedata-book-dev = "${libdir}/libedata-book-*.so \
+ ${libdir}/pkgconfig/libedata-book-*.pc \
+ ${includedir}/evolution-data-server-*/libedata-book"
+
+FILES_libedata-cal = "${libexecdir}/e-calendar-factory \
+ ${datadir}/dbus-1/services/*.Calendar.service \
+ ${libdir}/libedata-cal-*.so.* \
+ ${libdir}/evolution-data-server-*/extensions/libecal*.so"
+FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
+ ${libdir}/pkgconfig/libedata-cal-*.pc \
+ ${includedir}/evolution-data-server-*/libedata-cal"
+
+FILES_libedataserver = "${libdir}/libedataserver-*.so.* \
+ ${libdir}/girepository-*/EDataServer-*.typelib"
+FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
+ ${libdir}/pkgconfig/libedataserver-*.pc \
+ ${datadir}/vala/vapi/libedataserver-* \
+ ${includedir}/evolution-data-server-*/libedataserver/*.h"
+
+FILES_libedataserverui = "${libdir}/libedataserverui-*.so.*"
+FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
+ ${libdir}/pkgconfig/libedataserverui-*.pc \
+ ${datadir}/gir-*/EDataServerUI-*.gir \
+ ${datadir}/vala/vapi/libedataserverui-* \
+ ${includedir}/evolution-data-server-*/libedataserverui/*.h"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb
index d2885906f..f45180e79 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_3.28.2.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=96f2f8d5ee576a2163977938ea36fa7b"
SECTION = "x11/office"
DEPENDS = "gtk+3 libsecret ${@bb.utils.contains('DISTRO_FEATURES','x11','gnome-desktop3','',d)} poppler gstreamer1.0-plugins-base orc adwaita-icon-theme intltool-native gnome-common-native"
-inherit gnome pkgconfig gtk-icon-cache gsettings gobject-introspection distro_features_check systemd
+inherit gnomebase pkgconfig gtk-icon-cache gsettings gobject-introspection distro_features_check systemd
SRC_URI = " \
${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
index ea6439d91..6e0720888 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gedit/gedit_2.30.4.bb
@@ -3,13 +3,13 @@ SECTION = "x11/gnome"
LICENSE = "GPLv2+"
PR = "r2"
-DEPENDS = "gvfs enchant gconf gnome-doc-utils glib-2.0 gtk+ \
+DEPENDS = "gvfs enchant gconf gnome-doc-utils glib-2.0 glib-2.0-native gtk+ \
gtksourceview2 iso-codes intltool-native gnome-common-native \
libice python3-six-native"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-inherit distro_features_check gnome gettext python3native
+inherit distro_features_check gnomebase gconf gettext python3native
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb
deleted file mode 100644
index 8cfd65af3..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.18.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "GNOME bluetooth manager"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
- file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
-"
-
-SECTION = "x11/gnome"
-
-DEPENDS = "udev gtk+3 libnotify libcanberra intltool-native gnome-common-native \
- ${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)} \
-"
-
-inherit gnomebase gtk-icon-cache gobject-introspection distro_features_check
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "75d09c924468ec0c687f9ab3acf7f113"
-SRC_URI[archive.sha256sum] = "d8df073c331df0f97261869fb77ffcdbf4e3e4eaf460d3c3ed2b16e03d9c5398"
-
-FILES_${PN}-dbg += "${libdir}/gnome-bluetooth/plugins/.debug/"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.32.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.32.1.bb
new file mode 100644
index 000000000..3c4438e7e
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_3.32.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "GNOME bluetooth manager"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
+ file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+"
+
+SECTION = "x11/gnome"
+
+DEPENDS = "udev gtk+3 libnotify libcanberra bluez5"
+
+GNOMEBASEBUILDCLASS = "meson"
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+inherit gnomebase gtk-icon-cache gtk-doc gobject-introspection upstream-version-is-even
+
+# gtk-icon-cache bbclass will take care of this for us.
+EXTRA_OEMESON = "-Dicon_update=false"
+
+SRC_URI[archive.md5sum] = "5b3d66f564a5067ea154750cdb6d850d"
+SRC_URI[archive.sha256sum] = "6441cafd313af94fba28b701698074f97d693b9023788a74e8e6f16f817ba1aa"
+
+RDEPENDS_${PN} += "bluez5"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.32.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.32.0.bb
deleted file mode 100644
index 0acbb2117..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.32.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "GNOME library for reading .desktop files"
-SECTION = "x11/gnome"
-LICENSE = "GPLv2 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-BPN = "gnome-desktop"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnome pkgconfig upstream-version-is-even gobject-introspection distro_features_check
-
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
-
-SRC_URI[archive.md5sum] = "e423ed6d648c6c4f9798fa9cd9ea8d99"
-SRC_URI[archive.sha256sum] = "a6393dc5fc29fc0652ac84c73b3da205d0b0168128c4cf6d27797a08f3d07b54"
-
-SRC_URI += " \
- file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \
- file://0001-meson.build-Disable-libseccomp-for-all-archs.patch \
-"
-
-DEPENDS += "itstool-native gsettings-desktop-schemas virtual/libx11 gtk+3 startup-notification xkeyboard-config iso-codes udev"
-
-inherit distro_features_check gtk-doc
-REQUIRED_DISTRO_FEATURES = "x11"
-
-GTKDOC_MESON_OPTION = "gtk_doc"
-EXTRA_OEMESON = "-Ddesktop_docs=false"
-
-PACKAGES =+ "libgnome-desktop3"
-FILES_libgnome-desktop3 = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop*/pnp.ids ${datadir}/gnome/*xml"
-
-RRECOMMENDS_libgnome-desktop3 += "gsettings-desktop-schemas"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.0.bb
new file mode 100644
index 000000000..77aa3fb61
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-desktop/gnome-desktop3_3.34.0.bb
@@ -0,0 +1,36 @@
+SUMMARY = "GNOME library for reading .desktop files"
+SECTION = "x11/gnome"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+BPN = "gnome-desktop"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase pkgconfig upstream-version-is-even gobject-introspection distro_features_check
+
+# gobject-introspection is mandatory and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+
+SRC_URI[archive.md5sum] = "3149bbd12eaf6f4420b1a999131ec470"
+SRC_URI[archive.sha256sum] = "8d331ee655c1d56b2b97562a07c7a7598ff6706a11ff1cdce97423ebc6b62426"
+
+SRC_URI += " \
+ file://gnome-desktop-thumbnail-don-t-assume-time_t-is-long.patch \
+ file://0001-meson.build-Disable-libseccomp-for-all-archs.patch \
+"
+
+DEPENDS += "itstool-native gsettings-desktop-schemas virtual/libx11 gtk+3 startup-notification xkeyboard-config iso-codes udev"
+
+inherit distro_features_check gtk-doc
+REQUIRED_DISTRO_FEATURES += "x11"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+EXTRA_OEMESON = "-Ddesktop_docs=false"
+
+PACKAGES =+ "libgnome-desktop3"
+FILES_libgnome-desktop3 = "${libdir}/lib*${SOLIBS} ${datadir}/libgnome-desktop*/pnp.ids ${datadir}/gnome/*xml"
+
+RRECOMMENDS_libgnome-desktop3 += "gsettings-desktop-schemas"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb
deleted file mode 100644
index 55640625d..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.20.0.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Password and keyring managing daemon"
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-SECTION = "x11/gnome"
-
-LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-inherit distro_features_check gnomebase remove-libtool
-
-DEPENDS = " \
- intltool-native \
- glib-2.0-native \
- gtk+3 \
- gcr \
- libgcrypt \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
-"
-
-SRC_URI[archive.md5sum] = "e09efe8021944dae404736b5a2adb98e"
-SRC_URI[archive.sha256sum] = "bc17cecd748a0e46e302171d11c3ae3d76bba5258c441fabec3786f418e7ec99"
-SRC_URI += "file://musl.patch"
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-RDEPENDS_${PN} = "libgnome-keyring glib-2.0-utils"
-
-EXTRA_OECONF = " \
- --disable-doc \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)} \
-"
-
-
-FILES_${PN} += " \
- ${datadir}/dbus-1/services \
- ${datadir}/p11-kit \
- ${base_libdir}/security/*${SOLIBSDEV} \
- ${libdir}/pkcs11/gnome-keyring-pkcs11.so \
-"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.28.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.28.2.bb
new file mode 100644
index 000000000..8dc11c85d
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_3.28.2.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Password and keyring managing daemon"
+HOMEPAGE = "http://www.gnome.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/gnome"
+
+LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit distro_features_check gnomebase remove-libtool gettext upstream-version-is-even
+
+DEPENDS = " \
+ intltool-native \
+ glib-2.0-native \
+ gtk+3 \
+ gcr \
+ libgcrypt \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} \
+"
+
+SRC_URI[archive.md5sum] = "284580f954f762caf62aed2ae7358177"
+SRC_URI[archive.sha256sum] = "81171b7d07211b216b4c9bb79bf2deb3deca18fe8d56d46dda1c4549b4a2646a"
+SRC_URI += "file://musl.patch"
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+RDEPENDS_${PN} = "libgnome-keyring glib-2.0-utils"
+
+EXTRA_OECONF = "--disable-doc \
+ ac_cv_path_SSH_AGENT=${bindir}/ssh-agent \
+ ac_cv_path_SSH_ADD=${bindir}/ssh-add"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG[pam] = "--enable-pam --with-pam-dir=${base_libdir}/security, --disable-pam"
+PACKAGECONFIG[ssh-agent] = "--enable-ssh-agent,--disable-ssh-agent,,openssh-misc"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/services \
+ ${datadir}/p11-kit \
+ ${base_libdir}/security/*${SOLIBSDEV} \
+ ${libdir}/pkcs11/gnome-keyring-pkcs11.so \
+"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.0.bb
index c2432a322..8930e1222 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_3.32.0.bb
@@ -10,13 +10,14 @@ DEPENDS = " \
gtkmm3 \
libgtop \
librsvg \
+ polkit \
"
GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gtk-icon-cache distro_features_check gettext
+inherit gnomebase gconf gtk-icon-cache distro_features_check gettext
-REQUIRED_DISTRO_FEATURES = "x11"
+REQUIRED_DISTRO_FEATURES = "x11 polkit"
SRC_URI[archive.md5sum] = "6c2c5c5bf8f15d3e6985faacbd3055dd"
SRC_URI[archive.sha256sum] = "af00c4a42dd1db17d9abe88edb11c7751b20982db1a8a2a467bab206fd8a77e3"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.10.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.10.bb
deleted file mode 100644
index d91e479d8..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.10.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Portable C library for multiline text editing"
-HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
-
-PNAME = "gtksourceview"
-
-S = "${WORKDIR}/${PNAME}-${PV}"
-
-inherit gnomebase lib_package gettext distro_features_check gtk-doc gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/${PNAME}-${PV}.tar.xz"
-SRC_URI[md5sum] = "e43337d17c40eae440a76630db76c54e"
-SRC_URI[sha256sum] = "ab5406cdd0bdcf66afcd52b1e048a2f43c0f3ab391644ee30d9ac419b93cd59b"
-
-FILES_${PN} += " ${datadir}/gtksourceview-3.0"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb
new file mode 100644
index 000000000..f7884930c
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview3_3.24.11.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Portable C library for multiline text editing"
+HOMEPAGE = "http://projects.gnome.org/gtksourceview/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+DEPENDS = "gtk+3 libxml2 intltool-native gnome-common-native glib-2.0-native"
+
+PNAME = "gtksourceview"
+
+S = "${WORKDIR}/${PNAME}-${PV}"
+
+inherit gnomebase lib_package gettext distro_features_check gtk-doc gobject-introspection upstream-version-is-even
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/${PNAME}-${PV}.tar.xz"
+SRC_URI[md5sum] = "b748da426a7d64e1304f0c532b0f2a67"
+SRC_URI[sha256sum] = "691b074a37b2a307f7f48edc5b8c7afa7301709be56378ccf9cc9735909077fd"
+
+FILES_${PN} += " ${datadir}/gtksourceview-3.0"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.0.bb
deleted file mode 100644
index 7caee2771..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.40.0.bb
+++ /dev/null
@@ -1,76 +0,0 @@
-DESCRIPTION = "gvfs is a userspace virtual filesystem"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnome bash-completion gettext upstream-version-is-even
-
-DEPENDS += "libsecret glib-2.0 gconf libgudev udisks2 polkit shadow-native"
-
-SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
-
-SRC_URI[archive.md5sum] = "96ef53ed613e4d223e0db3a7acea44f0"
-SRC_URI[archive.sha256sum] = "3739d64b79c95a9f0f9faf2c5f9e5298b4b2ebdd6431435ce656ecd19b31e2f2"
-
-
-EXTRA_OEMESON = " \
- -Dbluray=false \
- -Dgoa=false \
- -Dgoogle=false \
- -Dnfs=false \
- -Dudisks2=true \
-"
-
-PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
-
-FILES_${PN} += " \
- ${datadir}/glib-2.0 \
- ${datadir}/GConf \
- ${datadir}/dbus-1/services \
- ${libdir}/gio/modules/*.so \
- ${libdir}/tmpfiles.d \
- ${systemd_user_unitdir} \
-"
-RDEPENDS_${PN} = "udisks2"
-
-FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
-FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
-
-FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
-FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
-FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
-
-RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
-
-PACKAGECONFIG ?= "libgphoto2 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
-PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
-PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
-PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr"
-PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-2.4"
-PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
-PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
-PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2"
-PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba"
-PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
-
-# needs meta-filesystems
-PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse"
-
-# libcdio-paranoia recipe doesn't exist yet
-PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia"
-
-do_install_append() {
- # Fix up permissions on polkit rules.d to work with rpm4 constraints
- chmod 700 ${D}/${datadir}/polkit-1/rules.d
- chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
-
- # After rebuilds (not from scracth) it can happen that the executables in
- # libexec ar missing executable permission flag. Not sure but it came up
- # during transition to meson. Looked into build files and logs but could
- # not find suspicious
- for exe in `find ${D}/${libexecdir}`; do
- chmod +x $exe
- done
-}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.41.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.41.2.bb
new file mode 100644
index 000000000..27e3f92cc
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.41.2.bb
@@ -0,0 +1,82 @@
+DESCRIPTION = "gvfs is a userspace virtual filesystem"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase bash-completion gettext upstream-version-is-even
+
+DEPENDS += "libsecret glib-2.0 glib-2.0-native gconf libgudev shadow-native"
+
+SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
+
+SRC_URI[archive.md5sum] = "9a9a97a63bb9e87258d48086a6bdacaa"
+SRC_URI[archive.sha256sum] = "f311b7c5f855ebe259960c00c7d03c812e040928ecb0ec093b50a4f16b3bcf26"
+
+
+EXTRA_OEMESON = " \
+ -Dbluray=false \
+ -Dgoa=false \
+ -Dgoogle=false \
+ -Dnfs=false \
+"
+
+PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
+
+FILES_${PN} += " \
+ ${datadir}/glib-2.0 \
+ ${datadir}/GConf \
+ ${datadir}/dbus-1/services \
+ ${libdir}/gio/modules/*.so \
+ ${libdir}/tmpfiles.d \
+ ${systemd_user_unitdir} \
+"
+
+FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
+FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
+
+FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
+FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
+FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
+
+RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
+
+PACKAGECONFIG ?= "libgphoto2 \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES','polkit','udisks2','',d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES','polkit','admin','',d)} \
+ "
+
+PACKAGECONFIG[udisks2] = "-Dudisks2=true, -Dudisks2=false, udisks2, udisks2"
+PACKAGECONFIG[admin] = "-Dadmin=true, -Dadmin=false, libcap polkit"
+PACKAGECONFIG[afc] = "-Dafc=true, -Dafc=false, libimobiledevice libplist"
+PACKAGECONFIG[archive] = "-Darchive=true, -Darchive=false, libarchive"
+PACKAGECONFIG[dnssd] = "-Ddnssd=true, -Ddnssd=false, avahi"
+PACKAGECONFIG[gcr] = "-Dgcr=true, -Dgcr=false, gcr"
+PACKAGECONFIG[http] = "-Dhttp=true, -Dhttp=false, libsoup-2.4"
+PACKAGECONFIG[libmtp] = "-Dmtp=true, -Dmtp=false, libmtp"
+PACKAGECONFIG[logind] = "-Dlogind=true, -Dlogind=false, systemd"
+PACKAGECONFIG[libgphoto2] = "-Dgphoto2=true, -Dgphoto2=false, libgphoto2"
+PACKAGECONFIG[samba] = "-Dsmb=true, -Dsmb=false, samba"
+PACKAGECONFIG[systemd] = "-Dsystemduserunitdir=${systemd_user_unitdir} -Dtmpfilesdir=${libdir}/tmpfiles.d, -Dsystemduserunitdir=no -Dtmpfilesdir=no, systemd"
+
+# needs meta-filesystems
+PACKAGECONFIG[fuse] = "-Dfuse=true, -Dfuse=false, fuse"
+
+# libcdio-paranoia recipe doesn't exist yet
+PACKAGECONFIG[cdda] = "-Dcdda=true, -Dcdda=false, libcdio-paranoia"
+
+do_install_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'true', 'false', d)}; then
+ # Fix up permissions on polkit rules.d to work with rpm4 constraints
+ chmod 700 ${D}/${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+ fi
+
+ # After rebuilds (not from scracth) it can happen that the executables in
+ # libexec ar missing executable permission flag. Not sure but it came up
+ # during transition to meson. Looked into build files and logs but could
+ # not find suspicious
+ for exe in `find ${D}/${libexecdir}`; do
+ chmod +x $exe
+ done
+}
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb
deleted file mode 100644
index 80cbae39f..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.16.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "GLib-based library for accessing online service APIs using the GData protocol"
-HOMEPAGE = "http://live.gnome.org/libgdata"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
- file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \
- file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef"
-
-DEPENDS = "gnome-common-native libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr json-glib"
-
-inherit distro_features_check gnomebase pkgconfig autotools-brokensep gettext gtk-doc vala gobject-introspection
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_configure_prepend_class-target () {
- # introspection.m4 pre-packaged with upstream tarballs does not yet
- # have our fixes
- rm -f ${S}/introspection.m4
-
- # remove the pre-built gtk-doc files, as they're installed (or attempted to be installed)
- # even if gtk-doc is explicitly disabled
- rm -rf ${S}/docs/reference/html
-}
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs"
-}
-
-EXTRA_OECONF += "--disable-goa --disable-tests --disable-gtk-doc"
-
-SRC_URI[archive.md5sum] = "eb552a8a8482e4231a3d1baf7262e64d"
-SRC_URI[archive.sha256sum] = "8740e071ecb2ae0d2a4b9f180d2ae5fdf9dc4c41e7ff9dc7e057f62442800827"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.10.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.10.bb
new file mode 100644
index 000000000..7bedd87ad
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgdata/libgdata_0.17.10.bb
@@ -0,0 +1,30 @@
+SUMMARY = "GLib-based library for accessing online service APIs using the GData protocol"
+HOMEPAGE = "http://live.gnome.org/libgdata"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \
+ file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \
+ file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef"
+
+DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native liboauth gcr json-glib"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase pkgconfig gettext gtk-doc vala gobject-introspection manpages
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/gdata/.libs"
+}
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false"
+PACKAGECONFIG[goa] = "-Dgoa=enabled,-Dgoa=disabled,gnome-online-accounts"
+PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
+PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false"
+
+EXTRA_OEMESON = "-Dalways_build_tests=false"
+
+SRC_URI[archive.md5sum] = "d858d411ad394c275643b14993dfeed4"
+SRC_URI[archive.sha256sum] = "c1d3d1f303f6a0416a0dac355a195276c31157a74bb1d040772d46d1cb15b012"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb
index 3a7379f9e..d9f643106 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgnome/libgnomekbd_3.26.1.bb
@@ -6,12 +6,10 @@ SECTION = "x11/gnome/libs"
DEPENDS = "gconf glib-2.0 libxklavier gtk+3 intltool-native"
-inherit distro_features_check gnome gobject-introspection gettext
+inherit distro_features_check gnomebase gobject-introspection gettext
REQUIRED_DISTRO_FEATURES = "x11"
-GNOME_COMPRESS_TYPE = "xz"
-
SRC_URI[archive.md5sum] = "98040022484406e7ebe25f82cef93344"
SRC_URI[archive.sha256sum] = "f7ca02631576e9b88aee1b1bae37ac1488b80ee7975f20a97f29e761a7172679"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb
index e63e26e73..ac36ceb04 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.45.bb
@@ -7,15 +7,13 @@ SECTION = "libs"
DEPENDS= "libxml2 bzip2 glib-2.0 zlib intltool-native gnome-common-native"
-inherit autotools pkgconfig gnome gconf gobject-introspection
+inherit autotools pkgconfig gnomebase gobject-introspection
SRC_URI += "file://0001-configure.ac-drop-a-copy-paste-of-introspection.m4-m.patch"
SRC_URI[archive.md5sum] = "e45cc8aa9c49516d540b7d7307f755f1"
SRC_URI[archive.sha256sum] = "5cbc2c0f1dc44d202fa0c6e3a51e9f17b0c2deb8711ba650432bfde3180b69fa"
-GNOME_COMPRESS_TYPE = "xz"
-
PACKAGECONFIG ??= ""
PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
index ea4c8df53..f50b9ceb9 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libwnck/libwnck_2.31.0.bb
@@ -11,7 +11,6 @@ PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-s
inherit gnomebase gobject-introspection distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
-GNOME_COMPRESS_TYPE = "xz"
SRC_URI[archive.md5sum] = "f03e1139296e2a3a92e3b65a3080cd32"
SRC_URI[archive.sha256sum] = "83f732d20781fc88b22cdc6aaf2d4f388db6d3d4ff28d1a8fd45be9fb7743a9e"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.30.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.30.1.bb
deleted file mode 100644
index 253f7ef36..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.30.1.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SECTION = "x11/wm"
-SUMMARY = "Metacity is the boring window manager for the adult in you"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \
- file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad"
-
-PE = "1"
-
-DEPENDS = "gsettings-desktop-schemas startup-notification \
- gnome-doc-utils gdk-pixbuf-native \
- gtk+3 glib-2.0 libcanberra libgtop intltool-native"
-
-inherit autotools gettext gnomebase distro_features_check
-# depends on startup-notification which depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "git://github.com/GNOME/metacity.git;branch=master \
- file://0001-drop-zenity-detection.patch \
-"
-
-S = "${WORKDIR}/git"
-SRCREV = "d69fba052cdd0aa8348dc1bbbbb1ecbadfbebbd8"
-
-EXTRA_OECONF += "--disable-xinerama"
-
-PACKAGECONFIG ?= ""
-
-# enable as neccessary until new warnings are dealt with
-PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,,"
-
-do_configure_prepend() {
- cd ${S}
- aclocal --install || exit 1
- autoreconf --verbose --force --install -Wno-portability || exit 1
- cd -
-
-}
-
-FILES_${PN} += "${datadir}/themes ${datadir}/gnome-control-center ${datadir}/gnome"
-RDEPENDS_${PN} += "gsettings-desktop-schemas"
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.32.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.32.0.bb
new file mode 100644
index 000000000..ef6ea7946
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/metacity/metacity_3.32.0.bb
@@ -0,0 +1,41 @@
+SECTION = "x11/wm"
+SUMMARY = "Metacity is the boring window manager for the adult in you"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b4cce53560b8e619ffa7c830fb8761aa \
+ file://src/include/main.h;endline=24;md5=72148ede07a6dadd01de6a882d20a9ad"
+
+PE = "1"
+
+DEPENDS = "gsettings-desktop-schemas startup-notification \
+ gnome-doc-utils gdk-pixbuf-native \
+ gtk+3 glib-2.0 libcanberra libgtop intltool-native"
+
+inherit autotools gettext gnomebase distro_features_check
+# depends on startup-notification which depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "git://github.com/GNOME/metacity.git;branch=master \
+ file://0001-drop-zenity-detection.patch \
+"
+
+S = "${WORKDIR}/git"
+SRCREV = "bf1bfbadf47eff97703df17e95b15168e2034222"
+
+EXTRA_OECONF += "--disable-xinerama"
+
+PACKAGECONFIG ?= ""
+
+# enable as neccessary until new warnings are dealt with
+PACKAGECONFIG[werror] = "--enable-Werror,--disable-Werror,,"
+
+do_configure_prepend() {
+ cd ${S}
+ aclocal --install || exit 1
+ autoreconf --verbose --force --install -Wno-portability || exit 1
+ cd -
+
+}
+
+FILES_${PN} += "${datadir}/themes ${datadir}/gnome-control-center ${datadir}/gnome"
+RDEPENDS_${PN} += "gsettings-desktop-schemas"
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/wv/wv/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch b/meta-openembedded/meta-gnome/recipes-gnome/wv/wv/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch
deleted file mode 100644
index a8c5bc796..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/wv/wv/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From eebe1f27f4b27b05eb4b9b55f9df1124acf4d092 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 1 Aug 2014 12:25:24 +0200
-Subject: [PATCH] configure: use 'foreign' mode to avoid errors with missing
- NEWS/AUTHORS/etc
-
-Upstream-status: Pending
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 3d7eef6..1784bdd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -41,7 +41,7 @@ VERSION=$WV_VERSION
- PACKAGE=wv
-
- dnl Initialize automake stuff
--AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
-+AM_INIT_AUTOMAKE([foreign])
-
- # Specify a configuration file
- AM_CONFIG_HEADER(config.h)
---
-1.9.0
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/wv/wv/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch b/meta-openembedded/meta-gnome/recipes-gnome/wv/wv/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch
deleted file mode 100644
index 2fc3f367f..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/wv/wv/0001-wvRTF.c-Specify-print-format-in-rtf_output.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 079529b8d5e339e2211fa2f8c15543a738a627bc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Jun 2017 14:50:51 -0700
-Subject: [PATCH] wvRTF.c: Specify print format in rtf_output()
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- wvRTF.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/wvRTF.c b/wvRTF.c
-index 361d258..4f24b30 100644
---- a/wvRTF.c
-+++ b/wvRTF.c
-@@ -192,7 +192,7 @@ output_rtfUserData (rtfUserData * ud)
- rtf_output_char ('{');
-
- /* font color */
-- rtf_output (rtfColors[ud->cCol]);
-+ rtf_output ("%s", rtfColors[ud->cCol]);
-
- /* font face */
- rtf_output ("\\f%d", ud->cFont);
---
-2.13.2
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.9.bb b/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.9.bb
deleted file mode 100644
index 72b8508a2..000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/wv/wv_1.2.9.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Programs for accessing Microsoft Word documents"
-HOMEPAGE = "http://wvware.sourceforge.net/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6cbca01f1c9178aca280e8ff64d85b2f"
-
-DEPENDS = "libgsf glib-2.0 libpng"
-
-SRC_URI = "https://www.abisource.com/downloads/wv/${PV}/${BP}.tar.gz \
- file://0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch \
- file://0001-wvRTF.c-Specify-print-format-in-rtf_output.patch \
- "
-
-SRC_URI[md5sum] = "dbccf2e9f747e50c913b7e3d126b73f7"
-SRC_URI[sha256sum] = "4c730d3b325c0785450dd3a043eeb53e1518598c4f41f155558385dd2635c19d"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = ""
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity/0001-build-don-t-generate-manual.patch b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity/0001-build-don-t-generate-manual.patch
new file mode 100644
index 000000000..488548667
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity/0001-build-don-t-generate-manual.patch
@@ -0,0 +1,50 @@
+From 38eeb345fdfca0298b11427aa942b68e627ba10e Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Date: Thu, 12 Sep 2019 13:14:55 +0200
+Subject: [PATCH] build: don't generate manual
+
+We don't have yelp in yocto and even if we did it would pull in
+webkitgtk just to generate help. Just remove the manual generation
+altogether.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+---
+ Makefile.am | 3 +--
+ configure.ac | 5 -----
+ 2 files changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 81ae6a7..bd073dd 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -4,8 +4,7 @@ AM_CPPFLAGS = src
+ SUBDIRS = \
+ src \
+ po \
+- data \
+- help
++ data
+
+ EXTRA_DIST = \
+ autogen.sh \
+diff --git a/configure.ac b/configure.ac
+index 5dccdb0..f88b2c0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -115,11 +115,6 @@ GETTEXT_PACKAGE=zenity
+ AC_SUBST([GETTEXT_PACKAGE])
+ AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext domain])
+
+-# *******************************
+-# User manual
+-# *******************************
+-YELP_HELP_INIT
+-
+ # *******************************
+
+ AC_SUBST([AM_CPPFLAGS])
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb
new file mode 100644
index 000000000..295288bfb
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/zenity/zenity_3.32.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Display dialog boxes from the command line and shell scripts"
+SECTION = "x11/gnome"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+
+inherit distro_features_check gnomebase gettext
+
+DEPENDS = "gtk+3"
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV}.tar.${GNOME_COMPRESS_TYPE};name=archive \
+ file://0001-build-don-t-generate-manual.patch \
+"
+
+SRC_URI[archive.md5sum] = "ba2b2a13248773b4ec0fd323d95e6d5a"
+SRC_URI[archive.sha256sum] = "e786e733569c97372c3ef1776e71be7e7599ebe87e11e8ad67dcc2e63a82cd95"
+GNOME_COMPRESS_TYPE="xz"
+
+do_install_append() {
+ # Remove gdialog compatibility helper - we don't want to pull in perl
+ rm ${D}${bindir}/gdialog
+}
diff --git a/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch
deleted file mode 100644
index 79756b9a0..000000000
--- a/meta-openembedded/meta-gnome/recipes-support/libuser/libuser/0001-Check-for-issetugid.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From d0537cb7f2dc5877700ad78dfd191515379d4edc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 02:22:51 +0000
-Subject: [PATCH 1/2] Check for issetugid()
-
-If secure version of getenv is not there then we can use
-issetugid() as aid to call getenv()
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- configure.ac | 1 +
- lib/config.c | 12 +++++++++++-
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1ded1a2..ee19e1f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -125,6 +125,7 @@ AC_TYPE_OFF_T
- AC_TYPE_SIZE_T
-
- AC_CHECK_FUNCS([__secure_getenv secure_getenv])
-+AC_CHECK_FUNCS([issetugid])
-
- # Modify CFLAGS after all tests are run (some of them could fail because
- # of the -Werror).
-diff --git a/lib/config.c b/lib/config.c
-index 29e7120..30f9daf 100644
---- a/lib/config.c
-+++ b/lib/config.c
-@@ -44,8 +44,10 @@
- # define safe_getenv(string) secure_getenv(string)
- #elif defined(HAVE___SECURE_GETENV)
- # define safe_getenv(string) __secure_getenv(string)
-+#elif defined(HAVE_ISSETUGID)
-+# define safe_getenv(string) safe_getenv_issetugid(string)
- #else
--# error Neither secure_getenv not __secure_getenv are available
-+# error None of secure_getenv, __secure_getenv, or issetugid is available
- #endif
-
- struct config_config {
-@@ -59,6 +61,14 @@ struct config_key {
- GList *values;
- };
-
-+static const char*
-+safe_getenv_issetugid(const char* name)
-+{
-+ if (issetugid ())
-+ return 0;
-+ return getenv (name);
-+}
-+
- /* Compare two section names */
- static int
- compare_section_names(gconstpointer a, gconstpointer b)
---
-2.7.0
-
diff --git a/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb
index 7ec54eb16..74053e451 100644
--- a/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/libuser/libuser_0.62.bb
@@ -12,7 +12,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
SECTION = "base"
SRC_URI = "https://releases.pagure.org/libuser/libuser-${PV}.tar.xz \
- file://0001-Check-for-issetugid.patch \
file://0002-remove-unused-execinfo.h.patch \
file://0001-modules-files.c-parse_field-fix-string-formating-in-.patch \
"
diff --git a/meta-openembedded/meta-initramfs/conf/layer.conf b/meta-openembedded/meta-initramfs/conf/layer.conf
index 6e0b00db0..93220b120 100644
--- a/meta-openembedded/meta-initramfs/conf/layer.conf
+++ b/meta-openembedded/meta-initramfs/conf/layer.conf
@@ -16,7 +16,7 @@ BBFILE_PATTERN_meta-initramfs := "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-initramfs = "8"
LAYERDEPENDS_meta-initramfs = "core"
-LAYERSERIES_COMPAT_meta-initramfs = "thud warrior"
+LAYERSERIES_COMPAT_meta-initramfs = "thud warrior zeus"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
dracut->virtual/kernel \
diff --git a/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb b/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb
index 2573eb481..9a686f366 100644
--- a/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb
+++ b/meta-openembedded/meta-initramfs/recipes-bsp/images/initramfs-kexecboot-image.bb
@@ -1,7 +1,5 @@
SUMMARY = "Initramfs image for kexecboot kernel"
DESCRIPTION = "This image provides kexecboot (linux as bootloader) and helpers."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit image
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
index dc3a70bb5..7403cf64f 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_8.40.bb
@@ -35,6 +35,7 @@ do_install_ptest() {
sed -i 's|./grubby|grubby|' ${D}${PTEST_PATH}/test.sh
}
+RDEPENDS_${PN} += "bash"
RDEPENDS_${PN}-ptest = "util-linux-getopt bash"
COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
index 8430b7e10..7248147a5 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/grubby/grubby_git.bb
@@ -25,7 +25,7 @@ RDEPENDS_${PN} += "dracut"
inherit autotools-brokensep ptest
-EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' LIBS='${LIBS}'"
+EXTRA_OEMAKE = "-e 'CC=${CC}' 'LDFLAGS=${LDFLAGS}' LIBS='${LIBS}' 'PREFIX'=${@bb.utils.contains('DISTRO_FEATURES','usrmerge','/usr','',d)}"
LIBS_libc-musl = "-lexecinfo"
LIBS ?= ""
@@ -35,6 +35,7 @@ do_install_ptest() {
sed -i 's|./grubby|grubby|' ${D}${PTEST_PATH}/test.sh
}
+RDEPENDS_${PN} += "bash"
RDEPENDS_${PN}-ptest = "util-linux-getopt bash"
COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Fix-missing-include-in-sys-mman.h.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Fix-missing-include-in-sys-mman.h.patch
new file mode 100644
index 000000000..4bedef805
--- /dev/null
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/0001-Fix-missing-include-in-sys-mman.h.patch
@@ -0,0 +1,36 @@
+From 36360b16833400de7818151be5588b16ac4fd5bc Mon Sep 17 00:00:00 2001
+From: Barret Rhoden <brho@google.com>
+Date: Thu, 14 Mar 2019 17:30:38 -0400
+Subject: [PATCH] Fix missing include in sys/mman.h
+
+Linux commit 746c9398f5ac ("arch: move common mmap flags to
+linux/mman.h") moved a few mmap flags, particularly MAP_PRIVATE, from
+asm/mman.h to linux/mman.h. This broke klibc's build, which uses
+MAP_PRIVATE.
+
+linux/mman.h includes asm/mman.h, so this commit merely includes
+linux/mman.h instead of asm/mman.h.
+
+Signed-off-by: Barret Rhoden <brho@google.com>
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+---
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/libs/klibc/klibc.git/commit/?id=d4853d030639cf3542ae39129c18b654d8d4f020]
+ usr/include/sys/mman.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/usr/include/sys/mman.h b/usr/include/sys/mman.h
+index 56f0b65c..3fd626e7 100644
+--- a/usr/include/sys/mman.h
++++ b/usr/include/sys/mman.h
+@@ -7,7 +7,7 @@
+
+ #include <klibc/extern.h>
+ #include <sys/types.h>
+-#include <asm/mman.h>
++#include <linux/mman.h>
+
+ #define MAP_FAILED ((void *)-1)
+
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
index 07703aa53..3b7031e98 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/files/klcc-cross-accept-clang-options.patch
@@ -3,17 +3,18 @@ meta-clang passes this option to compiler defaults
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: git/klcc/klcc.in
-===================================================================
---- git.orig/klcc/klcc.in
-+++ git/klcc/klcc.in
-@@ -207,6 +207,9 @@ while ( defined($a = shift(@ARGV)) ) {
+--- a/klcc/klcc.in
++++ b/klcc/klcc.in
+@@ -207,6 +207,12 @@ while ( defined($a = shift(@ARGV)) ) {
} elsif ( $a =~ /^--([sysroot=])(.*)$/ ) {
# Override gcc encoded sysroot
push(@ccopt, $a);
+ } elsif ( $a eq '-no-integrated-as' ) {
+ # Allow clang options
+ push(@ccopt, $a);
++ } elsif ( $a =~ '--unwindlib=.*' ) {
++ # Allow clang options
++ push(@ccopt, $a);
} else {
die "$0: unknown option: $a\n";
}
diff --git a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
index 580544867..26689f87e 100644
--- a/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-openembedded/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -23,6 +23,7 @@ SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \
file://0001-klibc-add-getrandom-syscall.patch \
file://0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch \
file://0001-Define-ulocked_-fgets-fread-fwrite-aliases.patch \
+ file://0001-Fix-missing-include-in-sys-mman.h.patch \
"
ARMPATCHES ?= ""
@@ -33,6 +34,9 @@ ARMPATCHES_arm = "file://klibc-config-eabi.patch \
S = "${WORKDIR}/git"
+OPTFLAGS = "${TUNE_CCARGS} -Os"
+OPTFLAGS_append_toolchain-clang = " -fno-builtin-bcmp"
+
PARALLEL_MAKE = ""
EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'CROSS_COMPILE=${TARGET_PREFIX}' \
@@ -43,7 +47,7 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
'INSTALLDIR=${libdir}/klibc' \
'SHLIBDIR=${libdir}' \
'${KLIBCTHUMB}' \
- 'KLIBCOPTFLAGS=${TUNE_CCARGS} -Os' \
+ 'KLIBCOPTFLAGS=${OPTFLAGS}' \
V=1 \
"
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch
index 4744e7a35..34826baed 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0001-force-static-build.patch
@@ -1,4 +1,4 @@
-From d6af515cfcc8185f423860f80ff28719975b701f Mon Sep 17 00:00:00 2001
+From 2a62d7623e3d4c0eaa44434ab678274fe3a9edb1 Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:00 +0200
Subject: [PATCH] force static build
@@ -11,7 +11,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
-index 54c206f..79188d8 100644
+index fb01134..dbf1fb6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -47,7 +47,7 @@ TARGET_CFLAGS = @TARGET_CFLAGS@
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
index 1d96a2b3d..ec456f382 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0002-Adjust-the-order-of-headers-to-fix-build-for-musl.patch
@@ -1,4 +1,4 @@
-From 0976d2d5be1ed44c2324b609c7d16c1e93181c4b Mon Sep 17 00:00:00 2001
+From 6843cefb1d1d0017a714a2752bb008efd844f3e4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 13 Jul 2017 16:20:08 -0700
Subject: [PATCH] Adjust the order of headers to fix build for musl
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch
index ae9e7bbc4..32035ca12 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0003-kexec-elf-rel-use-our-elf.h.patch
@@ -1,4 +1,4 @@
-From 7f91875d65778154709e4fa0ccb23f3b2a98b0dc Mon Sep 17 00:00:00 2001
+From 7e202ea55e8dd803278d9d1eac7ffd355344d6be Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:00 +0200
Subject: [PATCH] kexec-elf-rel: use our elf.h
@@ -56,7 +56,7 @@ index 1acbd86..a60c66c 100644
#include "../../kexec-elf.h"
diff --git a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
-index 5f8e3f2..765bf6e 100644
+index 51b1354..c85f421 100644
--- a/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
+++ b/kexec/arch/ppc64/kexec-elf-rel-ppc64.c
@@ -1,5 +1,5 @@
@@ -67,7 +67,7 @@ index 5f8e3f2..765bf6e 100644
#include "../../kexec.h"
#include "../../kexec-elf.h"
diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-index 7fdde73..cd5d729 100644
+index db85b44..761a4ed 100644
--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
@@ -1,5 +1,5 @@
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch
index 1080e8bb5..27a1cc7a5 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0004-kexec-elf-exec.c-replace-with-our-err.h.patch
@@ -1,4 +1,4 @@
-From 8b9da93ac9a4ea79ae953f80f6fe6e4f080341f2 Mon Sep 17 00:00:00 2001
+From 720e24029fca7dcd8e1cd0b556f37aa1dc2b8fe8 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 17 Apr 2018 10:57:23 +0200
Subject: [PATCH] kexec-elf-exec.c: replace with our elf.h
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch
index 4f7506d44..4604c2a5b 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0005-crashdump-elf.c-work-around-for-sysconf-_SC_NPROCESS.patch
@@ -1,4 +1,4 @@
-From 1cfee75d9662c3382bb7cb8f1c952333837598ae Mon Sep 17 00:00:00 2001
+From 43fb9cec1749b337bfa252fc2c1b0288847e8fa7 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Wed, 18 Apr 2018 02:21:30 +0200
Subject: [PATCH] crashdump-elf.c: work around for _SC_NPROCESSORS_CONF
@@ -18,7 +18,7 @@ Upstream-Status: Inappropriate [klibc specific]
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
- kexec/crashdump-elf.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ kexec/crashdump-elf.c | 92 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
diff --git a/kexec/crashdump-elf.c b/kexec/crashdump-elf.c
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch
index 3020f767a..a607ce777 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0006-kexec-syscall.h-work-around-missing-syscall-wrapper.patch
@@ -1,4 +1,4 @@
-From 45a80fe7d247898d83edfeabe32b9de80a50a6be Mon Sep 17 00:00:00 2001
+From ab24f236cbc0aa8a3eadde5d71d9d7ea1d979a51 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Fri, 31 Aug 2018 11:33:51 +0200
Subject: [PATCH] kexec-syscall.h: work around missing syscall() wrapper
@@ -16,10 +16,10 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 21 insertions(+)
diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
-index 33638c2..204007d 100644
+index b96e02a..2a3794d 100644
--- a/kexec/kexec-syscall.h
+++ b/kexec/kexec-syscall.h
-@@ -74,11 +74,16 @@
+@@ -77,11 +77,16 @@
struct kexec_segment;
@@ -36,7 +36,7 @@ index 33638c2..204007d 100644
static inline int is_kexec_file_load_implemented(void) {
if (__NR_kexec_file_load != 0xffffffff)
-@@ -86,6 +91,21 @@ static inline int is_kexec_file_load_implemented(void) {
+@@ -89,6 +94,21 @@ static inline int is_kexec_file_load_implemented(void) {
return 0;
}
@@ -58,7 +58,7 @@ index 33638c2..204007d 100644
static inline long kexec_file_load(int kernel_fd, int initrd_fd,
unsigned long cmdline_len, const char *cmdline_ptr,
unsigned long flags)
-@@ -93,6 +113,7 @@ static inline long kexec_file_load(int kernel_fd, int initrd_fd,
+@@ -96,6 +116,7 @@ static inline long kexec_file_load(int kernel_fd, int initrd_fd,
return (long) syscall(__NR_kexec_file_load, kernel_fd, initrd_fd,
cmdline_len, cmdline_ptr, flags);
}
@@ -66,6 +66,3 @@ index 33638c2..204007d 100644
#define KEXEC_ON_CRASH 0x00000001
#define KEXEC_PRESERVE_CONTEXT 0x00000002
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch
index 3d4468393..0ae90016d 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0007-kexec.c-add-guard-around-ENOTSUP.patch
@@ -1,4 +1,4 @@
-From e6bd7a1bcfbd3e54efc81fbd7d60d915f9af0632 Mon Sep 17 00:00:00 2001
+From 17e9da8d3c3c69f84e11c0457bd9fb8c4ee4274b Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 17 Apr 2018 11:35:14 +0200
Subject: [PATCH] kexec.c: add guard around ENOTSUP
@@ -16,10 +16,10 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 2 insertions(+)
diff --git a/kexec/kexec.c b/kexec/kexec.c
-index 313d9fe..b5a8a1e 100644
+index 32ae56c..0764e85 100644
--- a/kexec/kexec.c
+++ b/kexec/kexec.c
-@@ -1501,6 +1501,7 @@ int main(int argc, char *argv[])
+@@ -1517,6 +1517,7 @@ int main(int argc, char *argv[])
*/
case -EINVAL:
case -ENOEXEC:
@@ -27,7 +27,7 @@ index 313d9fe..b5a8a1e 100644
/*
* ENOTSUP can be unsupported image
* type or unsupported PE signature
-@@ -1513,6 +1514,7 @@ int main(int argc, char *argv[])
+@@ -1529,6 +1530,7 @@ int main(int argc, char *argv[])
* kernel bug
*/
case -ENOTSUP:
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch
index cfc51cf7f..0ab7a1d71 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0008-kexec.c-replace-mising-BLKGETSIZE64.patch
@@ -1,4 +1,4 @@
-From 12c7b09c3152f2b3475d081691a26bd1a5633256 Mon Sep 17 00:00:00 2001
+From 30b61da180286643bea68b09b092744346011801 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 17 Apr 2018 11:38:42 +0200
Subject: [PATCH] kexec.c: replace missing BLKGETSIZE64
@@ -16,10 +16,10 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 4 insertions(+)
diff --git a/kexec/kexec.c b/kexec/kexec.c
-index b5a8a1e..7842f8b 100644
+index 0764e85..157c577 100644
--- a/kexec/kexec.c
+++ b/kexec/kexec.c
-@@ -54,6 +54,10 @@
+@@ -55,6 +55,10 @@
#define KEXEC_LOADED_PATH "/sys/kernel/kexec_loaded"
#define KEXEC_CRASH_LOADED_PATH "/sys/kernel/kexec_crash_loaded"
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch
index df980b118..8bc473cb0 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0009-vmcore-dmesg.c-work-around-missing-imaxdiv.patch
@@ -1,4 +1,4 @@
-From ad598a71ffff6f86462211f252ac0c7b5de53869 Mon Sep 17 00:00:00 2001
+From 20e2c61fc04a291250acee649c2523d2546cedea Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 17 Apr 2018 13:14:12 +0200
Subject: [PATCH] vmcore-dmesg.c: work around missing imaxdiv()
@@ -18,7 +18,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c
-index e340ef4..1b27b71 100644
+index 7972788..c63ac4f 100644
--- a/vmcore-dmesg/vmcore-dmesg.c
+++ b/vmcore-dmesg/vmcore-dmesg.c
@@ -575,8 +575,11 @@ static void dump_dmesg_structured(int fd)
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch
index cff1485e5..4652f10a6 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0010-fs2dt.c-work-around-missing-getline.patch
@@ -1,4 +1,4 @@
-From edefda702d906d472ee7a675f6b506d5cfca7ac8 Mon Sep 17 00:00:00 2001
+From 14d4dbd293c75bc81a0dde6e678f9bbefb40b6f1 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 17 Apr 2018 13:48:25 +0200
Subject: [PATCH] fs2dt.c: work around missing getline()
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
index 636151bee..5bbb178bc 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0011-purgatory-Makefile-adapt-to-klcc.patch
@@ -1,16 +1,17 @@
-From 9b6866b106eb3ad11115bd591a23e65a68dd847d Mon Sep 17 00:00:00 2001
+From b6ebe05dc389b9457e3707401411fd075230b10e Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Tue, 21 Aug 2018 16:31:44 +0200
-Subject: [PATCH 11/11] purgatory Makefile: adapt to klcc
+Subject: [PATCH] purgatory Makefile: adapt to klcc
Upstream-Status: Inappropriate [klibc specific]
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
purgatory/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/purgatory/Makefile b/purgatory/Makefile
-index 49ce80a..72eefaa 100644
+index 49ce80a..1542b3a 100644
--- a/purgatory/Makefile
+++ b/purgatory/Makefile
@@ -47,7 +47,7 @@ purgatory/sha256.o: $(srcdir)/util_lib/sha256.c
@@ -33,6 +34,3 @@ index 49ce80a..72eefaa 100644
-Wl,-Map=$(PURGATORY_MAP)
$(PURGATORY): $(PURGATORY_OBJS)
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch
index 20934da89..db0d76317 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0012-purgatory-string.c-avoid-inclusion-of-string.h.patch
@@ -1,4 +1,4 @@
-From 2d2ad16f9328a7cbb3f5b8479ae93eb923a0727f Mon Sep 17 00:00:00 2001
+From 9bb386018257e1e18ffe0e925201946515b31080 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Thu, 19 Apr 2018 00:28:14 +0200
Subject: [PATCH] purgatory/string.c: avoid inclusion of string.h
@@ -26,6 +26,3 @@ index f06c460..c5e978a 100644
size_t strnlen(const char *s, size_t max)
{
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch
index 5d1664f76..777cbcf94 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0013-sha256.h-avoid-inclusion-of-sys-types.h.patch
@@ -1,4 +1,4 @@
-From ec6000b9f287e62cb0746e26cfa4372c7ea528f4 Mon Sep 17 00:00:00 2001
+From 60098810e1c04be677794bff6a3935011af98934 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Thu, 19 Apr 2018 23:26:43 +0200
Subject: [PATCH] sha256.h: avoid inclusion of sys/types.h
@@ -31,6 +31,3 @@ index 467fb22..40fd3ed 100644
#include <stdint.h>
typedef struct
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
index ad2126698..f4d0d5d94 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0014-add-if_nameindex-from-musl.patch
@@ -1,7 +1,7 @@
-From b15e9610b4ab52c381e712241d50dea96d50d873 Mon Sep 17 00:00:00 2001
+From 04eec97b390621f2b3794b0d774b77429eb88cfd Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Wed, 2 May 2018 23:14:19 +0200
-Subject: [PATCH 14/14] add if_nameindex from musl
+Subject: [PATCH] add if_nameindex from musl
Taken from musl, minimal changes.
klibc lacks struct and func
@@ -20,10 +20,11 @@ to fix :
#define __bitwise __bitwise__
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
kexec/Makefile | 2 +-
- kexec/if_nameindex.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- kexec/if_nameindex.h | 15 ++++++++++++
+ kexec/if_nameindex.c | 64 ++++++++++++++++++++++++++++++++++++++++++++
+ kexec/if_nameindex.h | 15 +++++++++++
kexec/ifdown.c | 3 +++
4 files changed, 83 insertions(+), 1 deletion(-)
create mode 100644 kexec/if_nameindex.c
@@ -114,7 +115,7 @@ index 0000000..e586e41
+}
diff --git a/kexec/if_nameindex.h b/kexec/if_nameindex.h
new file mode 100644
-index 0000000..1725fbd
+index 0000000..cf1c061
--- /dev/null
+++ b/kexec/if_nameindex.h
@@ -0,0 +1,15 @@
@@ -147,6 +148,3 @@ index 82c6141..cc3ca9f 100644
/*
* First, we find all shaper devices and down them. Then we
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
index 0b88b94c6..9b8107aed 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/0015-vmcore-dmesg-fix-warning.patch
@@ -1,17 +1,18 @@
-From 3294266c6a875c5009065c1ae5d0b86200c4147c Mon Sep 17 00:00:00 2001
+From a2679731a56748de58a4cf0a46b7a15d75543a88 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Sun, 29 Apr 2018 00:52:31 +0200
-Subject: [PATCH 6/6] vmcore-dmesg: fix warning
+Subject: [PATCH] vmcore-dmesg: fix warning
# define __bitwise
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
vmcore-dmesg/vmcore-dmesg.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/vmcore-dmesg/vmcore-dmesg.c b/vmcore-dmesg/vmcore-dmesg.c
-index e340ef4..91e4789 100644
+index c63ac4f..a4e3014 100644
--- a/vmcore-dmesg/vmcore-dmesg.c
+++ b/vmcore-dmesg/vmcore-dmesg.c
@@ -2,6 +2,9 @@
@@ -24,6 +25,3 @@ index e340ef4..91e4789 100644
#include <endian.h>
#include <byteswap.h>
#include <stdio.h>
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch
index b3ef3c82d..bd728ccb4 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/140-mips_disable_devicetree_support.patch
@@ -1,4 +1,4 @@
-From 5ea7cd78cd252ffd3a9f3fbc8dc795d6e1596084 Mon Sep 17 00:00:00 2001
+From 7bd94a64cd5424e74ad49dbda65a15e83670268f Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Mon, 17 Dec 2018 11:25:20 +0100
Subject: [PATCH] kexec-tools: fix non-device tree devices on mips
@@ -14,6 +14,7 @@ Removed ppc change (unwanted ?)
Signed-off-by: Konstantin Kuzov <master.nosferatu@gmail.com>
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
kexec/arch/mips/include/arch/options.h | 4 +-
kexec/arch/mips/kexec-elf-mips.c | 58 ++++++++++++++------------
@@ -158,6 +159,3 @@ index 222c815..90b21c3 100644
};
extern struct memory_ranges usablemem_rgns;
---
-2.17.1
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
index 24be4dd76..c2418d8fa 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64-crashdump-arm64.c-fix-warning.patch
@@ -1,7 +1,7 @@
-From 6f69f489a442b3a192e4c08748ee8c4d31c75dae Mon Sep 17 00:00:00 2001
+From 3fd4db2ce1710f45eb297ae6b2c10726b33204f3 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Sun, 29 Apr 2018 00:46:16 +0200
-Subject: [PATCH 5/6] arm64: crashdump-arm64.c: fix warning
+Subject: [PATCH] arm64: crashdump-arm64.c: fix warning
from ../git/kexec/kexec.h:6,
from ../git/kexec/arch/arm64/crashdump-arm64.c:18:
@@ -11,6 +11,7 @@ ng: "__bitwise" redefined
# define __bitwise
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
kexec/arch/arm64/crashdump-arm64.c | 3 +++
1 file changed, 3 insertions(+)
@@ -29,6 +30,3 @@ index 4fd7aa8..890d88f 100644
#include <linux/elf.h>
#include "kexec.h"
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch
index b22ac3aca..df7b0a778 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-arm64.c-workaround-for-getrandom-syscall.patch
@@ -1,4 +1,4 @@
-From 10afeecd10499fbd64b2c68d3b076c6906df441f Mon Sep 17 00:00:00 2001
+From a99fc685214452aedabf9ac105bb99357006aa26 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Wed, 5 Sep 2018 17:07:48 +0200
Subject: [PATCH] kexec-arm64.c: workaround for getrandom() syscall
@@ -15,15 +15,15 @@ and
| ../git/kexec/arch/arm64/kexec-arm64.c:499:12: warning: implicit declaration of function 'getrandom'; did you mean 'srandom'? [-Wimplicit-function-declaration]
| result = getrandom(&fdt_val64,
-
Upstream-Status: Inappropriate [klibc specific]
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
kexec/arch/arm64/kexec-arm64.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c
-index 7a12479..8a7f5c5 100644
+index b143e86..88d4168 100644
--- a/kexec/arch/arm64/kexec-arm64.c
+++ b/kexec/arch/arm64/kexec-arm64.c
@@ -16,7 +16,11 @@
@@ -54,8 +54,5 @@ index 7a12479..8a7f5c5 100644
+ GRND_NONBLOCK);
+#endif
if(result == -1) {
- dbgprintf("%s: Reading random bytes failed.\n",
+ fprintf(stderr, "%s: Reading random bytes failed.\n",
__func__);
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch
index 7decbac4f..cdcecdf41 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm64_kexec-image-header.h-add-missing-le64toh.patch
@@ -1,7 +1,7 @@
-From af7d06a753a4c377b7ffe587da67a6ba56048bea Mon Sep 17 00:00:00 2001
+From c5e7928217ee73640d25c6471c4619601cb1ba19 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Thu, 19 Apr 2018 10:47:17 +0200
-Subject: [PATCH 2/2] kexec/arm64: image-header.h: add macro for le64toh
+Subject: [PATCH] kexec/arm64: image-header.h: add macro for le64toh
Fix
@@ -35,6 +35,3 @@ index 158d411..10ed2d6 100644
/**
* struct arm64_image_header - arm64 kernel image header.
*
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
index c6afdfae7..5323a81e6 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump-fix-buffer-align.patch
@@ -1,15 +1,16 @@
-From 06b0d43c20f7c6200902d4c6db3d33416877f71c Mon Sep 17 00:00:00 2001
+From edf186f45d543e318400195cc25175387ff3f5c4 Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Sun, 26 Aug 2018 21:40:06 +0200
-Subject: [PATCH 1/1] arm- backport from oe-core
+Subject: [PATCH] arm- backport from oe-core
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
kexec/arch/arm/crashdump-arm.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
-index 2530b29..af2600d 100644
+index daa4788..3f72b38 100644
--- a/kexec/arch/arm/crashdump-arm.c
+++ b/kexec/arch/arm/crashdump-arm.c
@@ -240,6 +240,7 @@ int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline)
@@ -39,6 +40,3 @@ index 2530b29..af2600d 100644
crash_kernel_mem.start,
crash_kernel_mem.end, -1, 0);
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch
index 95962636e..2d1d64db1 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/arm_crashdump.patch
@@ -1,4 +1,4 @@
-From 6dae4752a53973c152b3e91e8a4ca74a486dae8b Mon Sep 17 00:00:00 2001
+From 8ee92bc915d650e188caaa3df0a798ac2002f64e Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:00 +0200
Subject: [PATCH] use our elf.h header
@@ -17,7 +17,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
-index daa4788..2530b29 100644
+index 3f72b38..af2600d 100644
--- a/kexec/arch/arm/crashdump-arm.c
+++ b/kexec/arch/arm/crashdump-arm.c
@@ -21,7 +21,7 @@
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch
index 26d18eb6f..3c2594a5d 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/kexec-x32.patch
@@ -1,4 +1,10 @@
-x86_64: Add support to build kexec-tools with x32 ABI
+From fd40eee42273220fb0050fe10744b10067adc0a7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
+Date: Fri, 31 Aug 2018 17:31:50 +0200
+Subject: [PATCH] x86_64: Add support to build kexec-tools with x32 ABI
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
Summary of changes,
@@ -21,11 +27,11 @@ Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
purgatory/arch/x86_64/Makefile | 4 +++-
4 files changed, 20 insertions(+), 1 deletion(-)
-Index: kexec-tools-2.0.10/configure.ac
-===================================================================
---- kexec-tools-2.0.10.orig/configure.ac
-+++ kexec-tools-2.0.10/configure.ac
-@@ -56,6 +56,15 @@ case $target_cpu in
+diff --git a/configure.ac b/configure.ac
+index e05d601..c428146 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -54,6 +54,15 @@ case $target_cpu in
;;
ia64|x86_64|alpha|m68k )
ARCH="$target_cpu"
@@ -41,11 +47,11 @@ Index: kexec-tools-2.0.10/configure.ac
;;
* )
AC_MSG_ERROR([unsupported architecture $target_cpu])
-Index: kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-+++ kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
-@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_eh
+diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+index 761a4ed..1c0e3f8 100644
+--- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
++++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
+@@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_ehdr *ehdr)
if (ehdr->ei_data != ELFDATA2LSB) {
return 0;
}
@@ -57,10 +63,10 @@ Index: kexec-tools-2.0.10/kexec/arch/x86_64/kexec-elf-rel-x86_64.c
return 0;
}
if (ehdr->e_machine != EM_X86_64) {
-Index: kexec-tools-2.0.10/kexec/kexec-syscall.h
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/kexec-syscall.h
-+++ kexec-tools-2.0.10/kexec/kexec-syscall.h
+diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
+index 2a3794d..3e67078 100644
+--- a/kexec/kexec-syscall.h
++++ b/kexec/kexec-syscall.h
@@ -31,8 +31,12 @@
#define __NR_kexec_load 268
#endif
@@ -74,11 +80,11 @@ Index: kexec-tools-2.0.10/kexec/kexec-syscall.h
#ifdef __s390x__
#define __NR_kexec_load 277
#endif
-Index: kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
-===================================================================
---- kexec-tools-2.0.10.orig/purgatory/arch/x86_64/Makefile
-+++ kexec-tools-2.0.10/purgatory/arch/x86_64/Makefile
-@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/
+diff --git a/purgatory/arch/x86_64/Makefile b/purgatory/arch/x86_64/Makefile
+index 7300937..4af11e4 100644
+--- a/purgatory/arch/x86_64/Makefile
++++ b/purgatory/arch/x86_64/Makefile
+@@ -23,4 +23,6 @@ x86_64_PURGATORY_SRCS += purgatory/arch/i386/console-x86.c
x86_64_PURGATORY_SRCS += purgatory/arch/i386/vga.c
x86_64_PURGATORY_SRCS += purgatory/arch/i386/pic.c
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch
index be1301df6..6497fb416 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/klibc-reboot.patch
@@ -1,3 +1,13 @@
+From 9c99b0748dd0ea1aaf3836378ee75fa5af099a19 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Mar 2019 00:22:40 -0700
+
+---
+ kexec/kexec.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kexec/kexec.c b/kexec/kexec.c
+index 157c577..5da0d67 100644
--- a/kexec/kexec.c
+++ b/kexec/kexec.c
@@ -901,7 +901,7 @@ static int my_exec(void)
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch
index c3b2071bc..8fb9f443a 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc-purgatory-Makefile-remove-unknown-flags.patch
@@ -1,8 +1,7 @@
-From 709dfe457c07aa0275f3da14634cbce5cf1029dc Mon Sep 17 00:00:00 2001
+From 3683b3f3e318fa711f6018f154d950c51d5b597a Mon Sep 17 00:00:00 2001
From: Andrea Adami <andrea.adami@gmail.com>
Date: Thu, 19 Apr 2018 19:26:53 +0200
-Subject: [PATCH 3/3] powerpc/purgatory: Makefile: remove unknown flags for
- powerpc
+Subject: [PATCH] powerpc/purgatory: Makefile: remove unknown flags for powerpc
Fix
@@ -12,6 +11,7 @@ Fix
Upstream-Status: Inappropriate [klibc specific]
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+
---
purgatory/arch/ppc/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -29,6 +29,3 @@ index c85c58a..cd44a16 100644
dist += purgatory/arch/ppc/Makefile $(ppc_PURGATORY_SRCS) \
purgatory/arch/ppc/purgatory-ppc.h purgatory/arch/ppc/ppc_asm.h
---
-2.7.4
-
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch
index dc97d930e..67a3cac1f 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/powerpc_change-the-memory-size-limit.patch
@@ -1,4 +1,4 @@
-From b19b68eab567aa534cf8dec79fe18e3dc0e14043 Mon Sep 17 00:00:00 2001
+From 6fec72bd7264478c214169b0f30f649304bd39ea Mon Sep 17 00:00:00 2001
From: Quanyang Wang <quanyang.wang@windriver.com>
Date: Tue, 16 Jun 2015 12:59:57 +0800
Subject: [PATCH] powerpc: change the memory size limit
@@ -16,15 +16,16 @@ locate_hole failed
Upstream-Status: Pending
Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
+
---
kexec/arch/ppc/kexec-ppc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h
-===================================================================
---- kexec-tools-2.0.10.orig/kexec/arch/ppc/kexec-ppc.h
-+++ kexec-tools-2.0.10/kexec/arch/ppc/kexec-ppc.h
-@@ -42,7 +42,7 @@ void dol_ppc_usage(void);
+diff --git a/kexec/arch/ppc/kexec-ppc.h b/kexec/arch/ppc/kexec-ppc.h
+index 04e728e..6bae9ec 100644
+--- a/kexec/arch/ppc/kexec-ppc.h
++++ b/kexec/arch/ppc/kexec-ppc.h
+@@ -44,7 +44,7 @@ void dol_ppc_usage(void);
* During inital setup the kernel does not map the whole memory but a part of
* it. On Book-E that is 64MiB, 601 24MiB or 256MiB (if possible).
*/
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch
index 0d0ed23c9..568f19758 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_basename.patch
@@ -1,4 +1,4 @@
-From 5f47c30759684cea9a7a409646686c1a358b78ac Mon Sep 17 00:00:00 2001
+From 7823956149c78e1996c567d1965803456df090f8 Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:05 +0200
Subject: [PATCH] replace basename() with sscanf()
@@ -13,7 +13,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
-index 6c7d260..7850083 100644
+index 6cda12c..5514c1c 100644
--- a/kexec/arch/i386/x86-linux-setup.c
+++ b/kexec/arch/i386/x86-linux-setup.c
@@ -304,9 +304,9 @@ static int add_edd_entry(struct x86_linux_param_header *real_mode,
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch
index 1c471f559..ecb0d85e2 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_kexec_test.patch
@@ -1,4 +1,4 @@
-From 9de68ec5af8db2eff352f12da28145fe5e96244d Mon Sep 17 00:00:00 2001
+From e26fe77b0ac9acc2c8086586d267aa7160969d2d Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:05 +0200
Subject: [PATCH] do not build test
@@ -14,7 +14,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.in b/Makefile.in
-index fb01134..440730d 100644
+index dbf1fb6..440730d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -173,8 +173,8 @@ PSRCS:=$(foreach s, $(SRCS), $(PACKAGE_NAME)-$(PACKAGE_VERSION)/$(s))
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch
index 493f298a9..ef9a411b5 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_sys_io.patch
@@ -1,4 +1,4 @@
-From a992ee014efacdc98d5658be9930dcab0eaadfd7 Mon Sep 17 00:00:00 2001
+From 444160260a11022ecd84cd605fe8c22b316e6546 Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:04 +0200
Subject: [PATCH] i386: replace with our io.h
diff --git a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch
index 2f0ad2ea4..af8467a23 100644
--- a/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch
+++ b/meta-openembedded/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc/x86_vfscanf.patch
@@ -1,4 +1,4 @@
-From 423c3f6f41fe04f4512e2a97a130f072d53dd4cf Mon Sep 17 00:00:00 2001
+From c6934455ec2337e6da7ea9fbc3486ce9beeb5d82 Mon Sep 17 00:00:00 2001
From: OpenEmbedded <oe.patch@oe>
Date: Wed, 11 Apr 2018 22:51:05 +0200
Subject: [PATCH] x86-linux-setup.c: replace vfscanf() with vsscanf()
@@ -13,7 +13,7 @@ Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
-index 7850083..e190356 100644
+index 5514c1c..bdb28c6 100644
--- a/kexec/arch/i386/x86-linux-setup.c
+++ b/kexec/arch/i386/x86-linux-setup.c
@@ -200,6 +200,8 @@ static int file_scanf(const char *dir, const char *file, const char *scanf_line,
diff --git a/meta-openembedded/meta-multimedia/conf/layer.conf b/meta-openembedded/meta-multimedia/conf/layer.conf
index e05a65253..74dd4a1b0 100644
--- a/meta-openembedded/meta-multimedia/conf/layer.conf
+++ b/meta-openembedded/meta-multimedia/conf/layer.conf
@@ -29,6 +29,6 @@ BBFILE_PRIORITY_multimedia-layer = "6"
# cause compatibility issues with other layers
LAYERVERSION_multimedia-layer = "1"
-LAYERDEPENDS_multimedia-layer = "core"
+LAYERDEPENDS_multimedia-layer = "core meta-python"
-LAYERSERIES_COMPAT_multimedia-layer = "thud warrior"
+LAYERSERIES_COMPAT_multimedia-layer = "thud warrior zeus"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc
deleted file mode 100644
index 23f17eddf..000000000
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Resource discovery and announcement over SSDP"
-DESCRIPTION = "GSSDP implements resource discovery and announcement over SSDP (Simpe Service Discovery Protocol)."
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-DEPENDS = "glib-2.0 libsoup-2.4"
-
-inherit autotools pkgconfig gobject-introspection vala
-
-# Copy vapigen.m4 so that it doesn't get removed by vala class
-# (normally this would be the right thing to do, but in gssdp the vapigen.m4 has only a custom macro)
-do_configure_prepend() {
- cp -f ${S}/m4/vapigen.m4 ${S}/m4/vapigen-custom.m4 || true
-}
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}"
-PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+"
-
-PACKAGES =+ "gssdp-tools"
-
-FILES_gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb
index b60d1ea44..6088ef195 100644
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.0.2.bb
@@ -1,9 +1,24 @@
-require gssdp.inc
-
-inherit gtk-doc
-
-PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3"
+SUMMARY = "Resource discovery and announcement over SSDP"
+DESCRIPTION = "GSSDP implements resource discovery and announcement over SSDP (Simpe Service Discovery Protocol)."
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+DEPENDS = "glib-2.0 libsoup-2.4"
SRC_URI = "${GNOME_MIRROR}/${BPN}/1.0/${BPN}-${PV}.tar.xz"
SRC_URI[md5sum] = "b30c9a406853c6a3a012d151d6e7ad2c"
SRC_URI[sha256sum] = "a1e17c09c7e1a185b0bd84fd6ff3794045a3cd729b707c23e422ff66471535dc"
+
+inherit autotools pkgconfig gobject-introspection vala gtk-doc
+
+# Copy vapigen.m4 so that it doesn't get removed by vala class
+# (normally this would be the right thing to do, but in gssdp the vapigen.m4 has only a custom macro)
+do_configure_prepend() {
+ cp -f ${S}/m4/vapigen.m4 ${S}/m4/vapigen-custom.m4 || true
+}
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)}"
+PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3"
+
+PACKAGES =+ "gssdp-tools"
+
+FILES_gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade"
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb
index 4869d866f..0adc721d8 100644
--- a/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-connectivity/rygel/rygel_0.37.0.bb
@@ -12,7 +12,6 @@ DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstream
RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
RRECOMMENDS_${PN} = "rygel-plugin-media-export"
-GNOME_COMPRESS_TYPE = "xz"
SRC_URI[archive.md5sum] = "f897167ad82e2e741582f2c393a76843"
SRC_URI[archive.sha256sum] = "dfd3d885da3ac383ba0cfbf119995f4a0c2bca2cc8f8cfcd3df10cfec8f35cd7"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
index 234be02ca..9e1c323fe 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
@@ -5,8 +5,8 @@ LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
SRC_URI = "git://github.com/FluidSynth/fluidsynth.git"
-SRCREV = "7f11a9bf5c7304e04309a6ec9fc515ee815524bf"
+SRCREV = "f78486a50bd785200412ea16434b38edc4a45a6c"
S = "${WORKDIR}/git"
-PV = "2.0.5"
+PV = "2.0.6"
inherit cmake pkgconfig lib_package
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
index 4f600a218..ba1ef6b1f 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
@@ -20,3 +20,4 @@ PACKAGECONFIG[jack] = "-Denable-jack=ON,-Denable-jack=OFF,jack"
PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio"
PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19"
PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF"
+PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
index 4c0976e43..05134614a 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
@@ -28,7 +28,6 @@ python populate_packages_prepend () {
}
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)}"
-PACKAGECONFIG[esound] = "--enable-esd,--disable-esd,esound"
PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
FILES_${BPN}-ckport = "${libdir}/ckport"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb
index cb4b1b365..b313b110c 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mimic/mimic_1.2.0.2.bb
@@ -25,3 +25,5 @@ SRC_URI = "git://github.com/MycroftAI/mimic.git"
inherit autotools
S = "${WORKDIR}/git"
+
+CPPFLAGS_append = " -Wno-error"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb
deleted file mode 100644
index d4ebe1769..000000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.33.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "A curses client for the Music Player Daemon"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-HOMEPAGE = "https://www.musicpd.org/clients/ncmpc/"
-
-inherit meson
-
-DEPENDS += " \
- boost \
- ncurses \
- libmpdclient \
-"
-
-PACKAGECONFIG ??= "colors locale mouse nls regex help_screen library_screen search_screen song_screen key_screen lyrics_screen outputs_screen"
-
-PACKAGECONFIG[colors] = "-Dcolors=true,-Dcolors=false"
-PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc"
-PACKAGECONFIG[locale] = "-Dlocale=enabled,-Dlocale=disabled"
-PACKAGECONFIG[mini] = "-Dmini=true,-Dmini=false"
-PACKAGECONFIG[mouse] = "-Dmouse=enabled,-Dmouse=disabled"
-PACKAGECONFIG[nls] = "-Dnls=enabled,-Dnls=disabled,gettext-native"
-PACKAGECONFIG[regex] = "-Dregex=enabled,-Dregex=disabled,pcre"
-
-PACKAGECONFIG[help_screen] = "-Dhelp_screen=true,-Dhelp_screen=false"
-PACKAGECONFIG[library_screen] = "-Dlibrary_screen=true,-Dlibrary_screen=false"
-PACKAGECONFIG[search_screen] = "-Dsearch_screen=true,-Dsearch_screen=false"
-PACKAGECONFIG[song_screen] = "-Dsong_screen=true,-Dsong_screen=false"
-PACKAGECONFIG[key_screen] = "-Dkey_screen=true,-Dkey_screen=false"
-PACKAGECONFIG[lyrics_screen] = "-Dlyrics_screen=true,-Dlyrics_screen=false"
-PACKAGECONFIG[outputs_screen] = "-Doutputs_screen=true,-Doutputs_screen=false"
-PACKAGECONFIG[chat_screen] = "-Dchat_screen=true,-Dchat_screen=false"
-
-SRC_URI = " \
- git://github.com/MusicPlayerDaemon/ncmpc \
-"
-SRCREV = "8e98f89ff07b140e6357dab2a9a9f6432ae0e521"
-S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.34.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.34.bb
new file mode 100644
index 000000000..0c99c7c69
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.34.bb
@@ -0,0 +1,37 @@
+SUMMARY = "A curses client for the Music Player Daemon"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+HOMEPAGE = "https://www.musicpd.org/clients/ncmpc/"
+
+inherit meson
+
+DEPENDS += " \
+ boost \
+ ncurses \
+ libmpdclient \
+"
+
+PACKAGECONFIG ??= "colors locale mouse nls regex help_screen library_screen search_screen song_screen key_screen lyrics_screen outputs_screen"
+
+PACKAGECONFIG[colors] = "-Dcolors=true,-Dcolors=false"
+PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc"
+PACKAGECONFIG[locale] = "-Dlocale=enabled,-Dlocale=disabled"
+PACKAGECONFIG[mini] = "-Dmini=true,-Dmini=false"
+PACKAGECONFIG[mouse] = "-Dmouse=enabled,-Dmouse=disabled"
+PACKAGECONFIG[nls] = "-Dnls=enabled,-Dnls=disabled,gettext-native"
+PACKAGECONFIG[regex] = "-Dregex=enabled,-Dregex=disabled,pcre"
+
+PACKAGECONFIG[help_screen] = "-Dhelp_screen=true,-Dhelp_screen=false"
+PACKAGECONFIG[library_screen] = "-Dlibrary_screen=true,-Dlibrary_screen=false"
+PACKAGECONFIG[search_screen] = "-Dsearch_screen=true,-Dsearch_screen=false"
+PACKAGECONFIG[song_screen] = "-Dsong_screen=true,-Dsong_screen=false"
+PACKAGECONFIG[key_screen] = "-Dkey_screen=true,-Dkey_screen=false"
+PACKAGECONFIG[lyrics_screen] = "-Dlyrics_screen=true,-Dlyrics_screen=false"
+PACKAGECONFIG[outputs_screen] = "-Doutputs_screen=true,-Doutputs_screen=false"
+PACKAGECONFIG[chat_screen] = "-Dchat_screen=true,-Dchat_screen=false"
+
+SRC_URI = " \
+ git://github.com/MusicPlayerDaemon/ncmpc \
+"
+SRCREV = "79cf9905355f25bc5cc6d5a05d2846d75342f554"
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.2.3.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.2.3.bb
index becd0bf79..b03a90083 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.2.3.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.2.3.bb
@@ -64,7 +64,7 @@ RDEPENDS_${PN} += "python3-pip \
"
# Mycroft uses Alsa, PulseAudio and Flac
-RDEPENDS_${PN} += "alsa-oss alsa-utils alsa-plugins alsa-tools"
+RDEPENDS_${PN} += "alsa-utils alsa-plugins alsa-tools"
RDEPENDS_${PN} += "pulseaudio pulseaudio-misc pulseaudio-server"
RDEPENDS_${PN} += "flac"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
index a80fc10ac..cee386c2a 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
@@ -3,7 +3,7 @@ LICENSE = "CC-BY-3.0"
# http://www.bigbuckbunny.org/index.php/about/
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
-SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_1080p_surround.avi"
+SRC_URI = "http://themazzone.com/big_buck_bunny_1080p_surround.avi"
SRC_URI[md5sum] = "223991c8b33564eb77988a4c13c1c76a"
SRC_URI[sha256sum] = "69fe2cfe7154a6e752688e3a0d7d6b07b1605bbaf75b56f6470dc7b4c20c06ea"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
index 59ac4788c..d395b9206 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
@@ -3,7 +3,7 @@ LICENSE = "CC-BY-3.0"
# http://www.bigbuckbunny.org/index.php/about/
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
-SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi"
+SRC_URI = "https://archive.org/download/BigBuckBunny/big_buck_bunny_480p_surround-fix.avi"
SRC_URI[md5sum] = "ed7ed01e9aefba8ddd77c13332cec120"
SRC_URI[sha256sum] = "40d1cf5bc8e1b0e55dac7bb2e3fbc2aea05b6679444864781299b24db044634f"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
index 21b8f8f0f..20d562749 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
@@ -3,7 +3,7 @@ LICENSE = "CC-BY-3.0"
# http://www.bigbuckbunny.org/index.php/about/
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
-SRC_URI = "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_surround.avi"
+SRC_URI = "https://archive.org/download/BigBuckBunny/big_buck_bunny_720p_surround.avi"
SRC_URI[md5sum] = "0da8fe124595f5b206d64cb1400bbefc"
SRC_URI[sha256sum] = "b957d6e6212638441b52d3b620af157cc8d40c2a0342669294854a06edcd528c"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb
deleted file mode 100644
index 937894a73..000000000
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20150107.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Fixed-point decoder"
-DESCRIPTION = "tremor is a fixed point implementation of the vorbis codec."
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
- file://os.h;beginline=3;endline=14;md5=5c0af5e1bedef3ce8178c89f48cd6f1f"
-DEPENDS = "libogg"
-SRCDATE = "${PV}"
-PR = "r1"
-
-# SVN support for upstream version check isn't implemented yet
-RECIPE_UPSTREAM_VERSION = "20150107"
-RECIPE_UPSTREAM_DATE = "Jan 07, 2015"
-CHECK_DATE = "Aug 12, 2015"
-
-SRC_URI = "svn://svn.xiph.org/trunk;module=Tremor;rev=19427;protocol=http \
- file://obsolete_automake_macros.patch;striplevel=0 \
- file://tremor-arm-thumb2.patch \
-"
-
-S = "${WORKDIR}/Tremor"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-shared"
-
-ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb
new file mode 100644
index 000000000..beeb23ae2
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Fixed-point decoder"
+DESCRIPTION = "tremor is a fixed point implementation of the vorbis codec."
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
+ file://os.h;beginline=3;endline=14;md5=5c0af5e1bedef3ce8178c89f48cd6f1f"
+DEPENDS = "libogg"
+
+SRC_URI = "git://git.xiph.org/tremor.git;protocol=https \
+ file://obsolete_automake_macros.patch;striplevel=0 \
+ file://tremor-arm-thumb2.patch \
+"
+SRCREV = "7c30a66346199f3f09017a09567c6c8a3a0eedc8"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-shared"
+
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
index 9bbc6685d..7308465b1 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc.inc
@@ -6,7 +6,7 @@ LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \
- dbus dbus-glib libxml2 gnutls \
+ dbus libxml2 gnutls \
tremor faad2 ffmpeg flac fluidsynth alsa-lib \
lua-native lua libidn \
avahi jpeg xz libmodplug mpeg2dec \
@@ -51,7 +51,7 @@ inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'qmake5_paths', '', d)}
PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
-PACKAGECONFIG[live555] = "--enable-live555,--disable-live555,live555"
+PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555"
PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva"
@@ -72,7 +72,7 @@ PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394"
PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg"
PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo"
-PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+"
+PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3"
PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig"
PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype"
PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
diff --git a/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc b/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc
index 57dca9c17..c7b368de3 100644
--- a/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc
+++ b/meta-openembedded/meta-multimedia/recipes-support/libmediaart/libmediaart.inc
@@ -7,8 +7,6 @@ LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \
DEPENDS = "glib-2.0 gdk-pixbuf"
-GNOME_COMPRESS_TYPE = "xz"
-
inherit gnomebase gtk-doc gobject-introspection
EXTRA_OECONF = "--disable-qt --enable-gdkpixbuf"
diff --git a/meta-openembedded/meta-networking/classes/waf-samba.bbclass b/meta-openembedded/meta-networking/classes/waf-samba.bbclass
index 1632c3c60..9c32952f6 100644
--- a/meta-openembedded/meta-networking/classes/waf-samba.bbclass
+++ b/meta-openembedded/meta-networking/classes/waf-samba.bbclass
@@ -1,9 +1,9 @@
# waf is a build system which is used by samba related project.
# Obtain details from https://wiki.samba.org/index.php/Waf
#
-inherit qemu pythonnative
+inherit qemu python3native
-DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python"
+DEPENDS += "qemu-native libxslt-native docbook-xsl-stylesheets-native python3"
CONFIGUREOPTS = " --prefix=${prefix} \
--bindir=${bindir} \
@@ -111,7 +111,7 @@ do_configure() {
do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+"
do_compile () {
- python ./buildtools/bin/waf ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}
+ python3 ./buildtools/bin/waf ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}
}
do_install() {
diff --git a/meta-openembedded/meta-networking/conf/layer.conf b/meta-openembedded/meta-networking/conf/layer.conf
index 67f58bcc2..866bda755 100644
--- a/meta-openembedded/meta-networking/conf/layer.conf
+++ b/meta-openembedded/meta-networking/conf/layer.conf
@@ -17,10 +17,11 @@ LAYERDEPENDS_networking-layer = "core"
LAYERDEPENDS_networking-layer += "openembedded-layer"
LAYERDEPENDS_networking-layer += "meta-python"
-LAYERSERIES_COMPAT_networking-layer = "thud warrior"
+LAYERSERIES_COMPAT_networking-layer = "thud warrior zeus"
LICENSE_PATH += "${LAYERDIR}/licenses"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
wireguard-tools->wireguard-module \
+ wireless-regdb->crda \
"
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
index 1023f6aff..fc0400dfd 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64.txt
@@ -37,3 +37,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: OK
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
index 1023f6aff..fc0400dfd 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-aarch64_be.txt
@@ -37,3 +37,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: OK
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
index a5cd9981a..759afe8f9 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-arm.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
index a5cd9981a..759afe8f9 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-armeb.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
index a5cd9981a..759afe8f9 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i586.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
index a5cd9981a..759afe8f9 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-i686.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
index 3e239e727..c989f270b 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
index 82e694fda..215f57483 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64.txt
@@ -37,3 +37,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: OK
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
index 82e694fda..215f57483 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mips64el.txt
@@ -37,3 +37,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: OK
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
index 3e239e727..c989f270b 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-mipsel.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
index 27b9378a4..f1079749e 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: NO
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
index 7fd3092cb..7a443cc01 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-powerpc64.txt
@@ -38,3 +38,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: OK
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
index 1023f6aff..fc0400dfd 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-riscv64.txt
@@ -37,3 +37,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: OK
diff --git a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
index 1023f6aff..fc0400dfd 100644
--- a/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
+++ b/meta-openembedded/meta-networking/files/waf-cross-answers/cross-answers-x86_64.txt
@@ -37,3 +37,4 @@ Checking for small off_t: NO
Checking whether blkcnt_t is 32 bit: NO
Checking whether blkcnt_t is 64 bit: OK
Checking whether fcntl lock supports open file description locks: OK
+Checking for a 64-bit host to support lmdb: OK
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.8.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.8.2.bb
new file mode 100644
index 000000000..75f303068
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/adcli/adcli_0.8.2.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Active Directory enrollment"
+DESCRIPTION = "A helper library and tools for Active Directory client operations."
+
+HOMEPAGE = "http://cgit.freedesktop.org/realmd/adcli"
+SECTION = "net"
+
+SRCREV = "cc3ef52884a48863a81acbfc741735fe09cd85f7"
+
+SRC_URI = "git://gitlab.freedesktop.org/realmd/adcli;branch=master \
+ file://Fixed-build-error-on-musl.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
+
+inherit autotools xmlcatalog
+
+DEPENDS += "virtual/crypt krb5 openldap gettext libxslt xmlto libxml2-native \
+ cyrus-sasl libxslt-native xmlto-native coreutils-native\
+ "
+
+EXTRA_OECONF += "--disable-static \
+ --disable-silent-rules \
+ --disable-doc \
+ "
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/adcli/files/Fixed-build-error-on-musl.patch b/meta-openembedded/meta-networking/recipes-connectivity/adcli/files/Fixed-build-error-on-musl.patch
new file mode 100644
index 000000000..87bcdfebd
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/adcli/files/Fixed-build-error-on-musl.patch
@@ -0,0 +1,26 @@
+From 0e64782a45cba9753d1210ee7d7c9dbd42f74ceb Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Fri, 12 Jul 2019 12:46:54 +0800
+Subject: [PATCH] Fixed build error on musl.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+---
+ library/adutil.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/library/adutil.c b/library/adutil.c
+index 9b0c47f..b673edd 100644
+--- a/library/adutil.c
++++ b/library/adutil.c
+@@ -30,6 +30,7 @@
+ #include <assert.h>
+ #include <ctype.h>
+ #include <errno.h>
++#include <endian.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb
new file mode 100644
index 000000000..36de2af1d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_2.1.1.bb
@@ -0,0 +1,58 @@
+DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "bluez5 python3-pygobject python3-cython-native python3-setuptools-native intltool-native"
+
+inherit autotools systemd gsettings python3native gtk-icon-cache
+
+SRC_URI = " \
+ https://github.com/blueman-project/blueman/releases/download/${PV}/blueman-${PV}.tar.xz \
+ file://0001-Search-for-cython3.patch \
+"
+SRC_URI[md5sum] = "9de89abb31be45bdbf11f7884764a2dc"
+SRC_URI[sha256sum] = "f1eab2334e5a1587defa80900901048d14c2e8ffa8c0cff7240bc9937a61dbc3"
+
+EXTRA_OECONF = " \
+ --disable-runtime-deps-check \
+ --disable-schemas-compile \
+"
+
+SYSTEMD_SERVICE_${PN} = "${BPN}-mechanism.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+RRECOMENDS_${PN} += "adwaita-icon-theme"
+RDEPENDS_${PN} += " \
+ python3-core \
+ python3-dbus \
+ packagegroup-tools-bluetooth \
+"
+
+PACKAGECONFIG ??= "thunar"
+PACKAGECONFIG[thunar] = "--enable-thunar-sendto,--disable-thunar-sendto"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/Thunar \
+ ${systemd_user_unitdir} \
+ ${exec_prefix}${systemd_system_unitdir} \
+ ${PYTHON_SITEPACKAGES_DIR} \
+"
+
+FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/_blueman.a"
+
+# In code, path to python is a variable that is replaced with path to native version of it
+# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3.
+# Replace it with #!/usr/bin/env python3
+do_install_append() {
+ sed -i "1s/.*/#!\/usr\/bin\/env python3/" ${D}${prefix}/libexec/blueman-rfcomm-watcher \
+ ${D}${prefix}/libexec/blueman-mechanism \
+ ${D}${bindir}/blueman-tray \
+ ${D}${bindir}/blueman-services \
+ ${D}${bindir}/blueman-sendto \
+ ${D}${bindir}/blueman-report \
+ ${D}${bindir}/blueman-manager \
+ ${D}${bindir}/blueman-assistant \
+ ${D}${bindir}/blueman-applet \
+ ${D}${bindir}/blueman-adapters
+}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb b/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb
deleted file mode 100644
index 947db7836..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/blueman/blueman_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "bluez5 python3-pygobject python3-cython-native python3-setuptools-native intltool-native"
-
-inherit autotools systemd gsettings python3native gtk-icon-cache
-
-SRC_URI = " \
- git://github.com/blueman-project/blueman.git \
- file://0001-Search-for-cython3.patch \
-"
-SRCREV = "c4a03417e81e21543d4568e8e7f7de307582eb50"
-PV = "2.0.5+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF = " \
- --disable-runtime-deps-check \
- --disable-schemas-compile \
-"
-
-SYSTEMD_SERVICE_${PN} = "${BPN}-mechanism.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-RRECOMENDS_${PN} += "adwaita-icon-theme"
-RDEPENDS_${PN} += " \
- python3-dbus \
- packagegroup-tools-bluetooth \
-"
-
-PACKAGECONFIG[thunar] = "--enable-thunar-sendto,--disable-thunar-sendto,,thunar"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1 \
- ${datadir}/Thunar \
- ${systemd_user_unitdir} \
- ${exec_prefix}${systemd_system_unitdir} \
- ${PYTHON_SITEPACKAGES_DIR} \
-"
-
-FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/_blueman.a"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb
deleted file mode 100644
index 84c3db7a5..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_7.0.8.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SECTION = "console/network"
-SUMMARY = "dhcpcd - a DHCP client"
-DESCRIPTION = "dhcpcd runs on your machine and silently configures your computer to work on the attached networks without trouble and mostly without configuration."
-
-HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1e8f17e4edcccc38152ccf60374e0f89"
-
-SRC_URI = "http://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "77bbb1d73b6f30d6ddcc8b0fd3eae266"
-SRC_URI[sha256sum] = "96968e883369ab4afd11eba9dfd9bb109f5dfff65b2814ce6c432f36362dc9b5"
-
-SRC_URI += "file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch"
-
-inherit autotools-brokensep
-
-PACKAGECONFIG ?= "udev ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-
-PACKAGECONFIG[udev] = "--with-udev,--without-udev,udev,udev"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-
-EXTRA_OECONF = "--enable-ipv4"
-
-FILES_${PN}-dbg += "${libdir}/dhcpcd/dev/.debug"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.0.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.0.2.bb
new file mode 100644
index 000000000..79d1dada0
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/dhcpcd/dhcpcd_8.0.2.bb
@@ -0,0 +1,26 @@
+SECTION = "console/network"
+SUMMARY = "dhcpcd - a DHCP client"
+DESCRIPTION = "dhcpcd runs on your machine and silently configures your computer to work on the attached networks without trouble and mostly without configuration."
+
+HOMEPAGE = "http://roy.marples.name/projects/dhcpcd/"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0531457992a97ecebc6975914a874a9d"
+
+UPSTREAM_CHECK_URI = "https://roy.marples.name/downloads/dhcpcd/"
+
+SRC_URI = "http://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \
+ file://0001-remove-INCLUDEDIR-to-prevent-build-issues.patch"
+SRC_URI[md5sum] = "c0375a1f725f1c191b43af60e4f7175b"
+SRC_URI[sha256sum] = "33a26ad561546cd2cfe1e6de6352a85df72b41c37def8c7eb00e90e57c627a5c"
+
+inherit pkgconfig autotools-brokensep
+
+PACKAGECONFIG ?= "udev ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+
+PACKAGECONFIG[udev] = "--with-udev,--without-udev,udev,udev"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+
+EXTRA_OECONF = "--enable-ipv4"
+
+FILES_${PN}-dbg += "${libdir}/dhcpcd/dev/.debug"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch
deleted file mode 100644
index 3f34ff2e4..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-firewalld: fix building in a separate directory outside the source tree
-
-Upstream-Status: Submitted [https://github.com/firewalld/firewalld/pull/456]
-Signed-off-by: Dan Callaghan <dan.callaghan@opengear.com>
-
-diff --git a/config/Makefile.am b/config/Makefile.am
-index 7048d2ee..5270d408 100644
---- a/config/Makefile.am
-+++ b/config/Makefile.am
-@@ -377,11 +377,11 @@ install-config:
- $(MKDIR_P) $(DESTDIR)$(sconfdir)/zones
- $(MKDIR_P) $(DESTDIR)$(sconfdir)/helpers
- $(MKDIR_P) $(DESTDIR)$(prefixlibdir)
-- cp -r icmptypes $(DESTDIR)$(prefixlibdir)
-- cp -r ipsets $(DESTDIR)$(prefixlibdir)
-- cp -r services $(DESTDIR)$(prefixlibdir)
-- cp -r zones $(DESTDIR)$(prefixlibdir)
-- cp -r helpers $(DESTDIR)$(prefixlibdir)
-+ cp -r $(srcdir)/icmptypes $(DESTDIR)$(prefixlibdir)
-+ cp -r $(srcdir)/ipsets $(DESTDIR)$(prefixlibdir)
-+ cp -r $(srcdir)/services $(DESTDIR)$(prefixlibdir)
-+ cp -r $(srcdir)/zones $(DESTDIR)$(prefixlibdir)
-+ cp -r $(srcdir)/helpers $(DESTDIR)$(prefixlibdir)
-
- uninstall-config:
- rmdir $(DESTDIR)$(sconfdir)/icmptypes
-diff --git a/doc/xml/Makefile.am b/doc/xml/Makefile.am
-index 8c93ab9c..d0313e3e 100644
---- a/doc/xml/Makefile.am
-+++ b/doc/xml/Makefile.am
-@@ -69,7 +69,8 @@ edit = sed \
- -e 's|\@PREFIX\@|$(prefix)|' \
- -e 's|\@SYSCONFDIR\@|$(sysconfdir)|' \
- -e 's|\@PACKAGE_STRING\@|$(PACKAGE_STRING)|' \
-- -e 's|\@IFCFGDIR\@|$(IFCFGDIR)|'
-+ -e 's|\@IFCFGDIR\@|$(IFCFGDIR)|' \
-+ -e 's|@SRCDIR@|$(srcdir)|'
-
- transform-man.xsl: transform-man.xsl.in
- $(edit) $< >$@
-diff --git a/doc/xml/firewall-cmd.xml.in b/doc/xml/firewall-cmd.xml.in
-index c2606553..24d77858 100644
---- a/doc/xml/firewall-cmd.xml.in
-+++ b/doc/xml/firewall-cmd.xml.in
-@@ -1,9 +1,9 @@
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
- [
--<!ENTITY authors SYSTEM "authors.xml">
--<!ENTITY seealso SYSTEM "seealso.xml">
--<!ENTITY notes SYSTEM "notes.xml">
-+<!ENTITY authors SYSTEM "@SRCDIR@/authors.xml">
-+<!ENTITY seealso SYSTEM "@SRCDIR@/seealso.xml">
-+<!ENTITY notes SYSTEM "@SRCDIR@/notes.xml">
- <!ENTITY errorcodes SYSTEM "errorcodes.xml">
- ]>
-
-diff --git a/doc/xml/firewalld.xml.in b/doc/xml/firewalld.xml.in
-index de802059..3d319b04 100644
---- a/doc/xml/firewalld.xml.in
-+++ b/doc/xml/firewalld.xml.in
-@@ -1,9 +1,9 @@
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
- [
--<!ENTITY authors SYSTEM "authors.xml">
--<!ENTITY seealso SYSTEM "seealso.xml">
--<!ENTITY notes SYSTEM "notes.xml">
-+<!ENTITY authors SYSTEM "@SRCDIR@/authors.xml">
-+<!ENTITY seealso SYSTEM "@SRCDIR@/seealso.xml">
-+<!ENTITY notes SYSTEM "@SRCDIR@/notes.xml">
- ]>
-
- <!--
---
-2.20.1
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb
deleted file mode 100644
index e999fa7a5..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.3.bb
+++ /dev/null
@@ -1,84 +0,0 @@
-SUMMARY = "Dynamic firewall daemon with a D-Bus interface"
-HOMEPAGE = "https://firewalld.org/"
-BUGTRACKER = "https://github.com/firewalld/firewalld/issues"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://github.com/firewalld/firewalld/archive/v${PV}.tar.gz \
- file://firewalld.init \
- file://0001-fix-building-in-a-separate-directory-outside-the-sou.patch \
-"
-SRC_URI[md5sum] = "5ef954d9b6b244ffeabcd226be1867a0"
-SRC_URI[sha256sum] = "039ad56ea6d6553aadf33243ea5b39802d73519e46a89c80c648b2bd1ec78aeb"
-
-# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4
-# xmlto-native is needed to populate /etc/xml/catalog.xml in the sysroot so that xsltproc finds the docbook xslt
-DEPENDS = "intltool-native glib-2.0-native libxslt-native docbook-xsl-stylesheets-native xmlto-native"
-
-inherit gettext autotools bash-completion python3native gsettings systemd update-rc.d
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_unitdir}/system/,--disable-systemd"
-
-# iptables, ip6tables, ebtables, and ipset *should* be unnecessary
-# when the nftables backend is available, because nftables supersedes all of them.
-# However we still need iptables and ip6tables to be available otherwise any
-# application relying on "direct passthrough" rules (such as docker) will break.
-# /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by
-# the Red Hat-specific init script which we aren't using, so we disable that.
-EXTRA_OECONF = "\
- --with-nft=${sbindir}/nft \
- --without-ipset \
- --with-iptables=${sbindir}/iptables \
- --with-iptables-restore=${sbindir}/iptables-restore \
- --with-ip6tables=${sbindir}/ip6tables \
- --with-ip6tables-restore=${sbindir}/ip6tables-restore \
- --without-ebtables \
- --without-ebtables-restore \
- --disable-sysconfig \
-"
-
-INITSCRIPT_NAME = "firewalld"
-SYSTEMD_SERVICE = "firewalld.service"
-
-do_install_append() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- :
- else
- # firewalld ships an init script but it contains Red Hat-isms, replace it with our own
- rm -rf ${D}${sysconfdir}/rc.d/
- install -d ${D}${sysconfdir}/init.d
- install -m0755 ${WORKDIR}/firewalld.init ${D}${sysconfdir}/init.d/firewalld
- fi
-
- # We ran ./configure with PYTHON pointed at the binary inside $STAGING_BINDIR_NATIVE
- # so now we need to fix up any references to point at the proper path in the image.
- # This hack is also in distutils.bbclass, but firewalld doesn't use distutils/setuptools.
- if [ ${PN} != "${BPN}-native" ]; then
- sed -i -e s:${STAGING_BINDIR_NATIVE}/python3-native/python3:${bindir}/python3:g \
- ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
- fi
- sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g \
- ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
-}
-
-FILES_${PN} += "\
- ${PYTHON_SITEPACKAGES_DIR}/firewall \
- ${datadir}/polkit-1 \
- ${datadir}/metainfo \
-"
-
-RDEPENDS_${PN} = "\
- nftables \
- iptables \
- python3-core \
- python3-io \
- python3-fcntl \
- python3-shell \
- python3-syslog \
- python3-xml \
- python3-dbus \
- python3-slip-dbus \
- python3-decorator \
- python3-pygobject \
-"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.1.bb
new file mode 100644
index 000000000..fab27f1ee
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.1.bb
@@ -0,0 +1,88 @@
+SUMMARY = "Dynamic firewall daemon with a D-Bus interface"
+HOMEPAGE = "https://firewalld.org/"
+BUGTRACKER = "https://github.com/firewalld/firewalld/issues"
+UPSTREAM_CHECK_URI = "https://github.com/firewalld/firewalld/releases"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
+ file://firewalld.init \
+"
+SRC_URI[md5sum] = "32c16df3f6cc859d0df627baf5ee8401"
+SRC_URI[sha256sum] = "88bc63a011209ac046fb5d7bfc73ddcc0bc616ddf3013bbb6bf1a421cb497f76"
+
+# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4
+DEPENDS = "intltool-native glib-2.0-native libxslt-native docbook-xsl-stylesheets-native"
+
+inherit gettext autotools bash-completion python3native gsettings systemd update-rc.d
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd"
+
+PACKAGES += "${PN}-zsh-completion"
+
+# iptables, ip6tables, ebtables, and ipset *should* be unnecessary
+# when the nftables backend is available, because nftables supersedes all of them.
+# However we still need iptables and ip6tables to be available otherwise any
+# application relying on "direct passthrough" rules (such as docker) will break.
+# /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by
+# the Red Hat-specific init script which we aren't using, so we disable that.
+EXTRA_OECONF = "\
+ --with-nft=${sbindir}/nft \
+ --without-ipset \
+ --with-iptables=${sbindir}/iptables \
+ --with-iptables-restore=${sbindir}/iptables-restore \
+ --with-ip6tables=${sbindir}/ip6tables \
+ --with-ip6tables-restore=${sbindir}/ip6tables-restore \
+ --without-ebtables \
+ --without-ebtables-restore \
+ --disable-sysconfig \
+ --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog \
+"
+
+INITSCRIPT_NAME = "firewalld"
+SYSTEMD_SERVICE_${PN} = "firewalld.service"
+
+do_install_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ :
+ else
+ # firewalld ships an init script but it contains Red Hat-isms, replace it with our own
+ rm -rf ${D}${sysconfdir}/rc.d/
+ install -d ${D}${sysconfdir}/init.d
+ install -m0755 ${WORKDIR}/firewalld.init ${D}${sysconfdir}/init.d/firewalld
+ fi
+
+ # We ran ./configure with PYTHON pointed at the binary inside $STAGING_BINDIR_NATIVE
+ # so now we need to fix up any references to point at the proper path in the image.
+ # This hack is also in distutils.bbclass, but firewalld doesn't use distutils/setuptools.
+ if [ ${PN} != "${BPN}-native" ]; then
+ sed -i -e s:${STAGING_BINDIR_NATIVE}/python3-native/python3:${bindir}/python3:g \
+ ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
+ fi
+ sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g \
+ ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
+}
+
+FILES_${PN} += "\
+ ${PYTHON_SITEPACKAGES_DIR}/firewall \
+ ${datadir}/dbus-1 \
+ ${datadir}/polkit-1 \
+ ${datadir}/metainfo \
+"
+FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
+
+RDEPENDS_${PN} = "\
+ nftables \
+ iptables \
+ python3-core \
+ python3-io \
+ python3-fcntl \
+ python3-shell \
+ python3-syslog \
+ python3-xml \
+ python3-dbus \
+ python3-slip-dbus \
+ python3-decorator \
+ python3-pygobject \
+"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch
deleted file mode 100644
index 9e1f5b2ef..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/0001-freeradius-correct-version-number-of-libssl-defect.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From fecf974b63f72eeb12d3b43522e948ca2bc704d4 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 11 Oct 2018 09:45:52 +0800
-Subject: [PATCH] freeradius: correct version number of libssl defect
-
-Upstream-Status: Backport [https://github.com/FreeRADIUS/freeradius-server
- /commit/ad039347beca4ded297813a1da6eabb61fcf2ddd]
-
-upstream have refactored this part code into
-src/lib/tls/base.c, and problem also have fixed
-by commit ad039347beca
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- src/main/tls.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/main/tls.c b/src/main/tls.c
-index acbfe79..d9c91f1 100644
---- a/src/main/tls.c
-+++ b/src/main/tls.c
-@@ -72,15 +72,15 @@ typedef struct libssl_defect {
- static libssl_defect_t libssl_defects[] =
- {
- {
-- .low = 0x01010101f, /* 1.1.0a */
-- .high = 0x01010101f, /* 1.1.0a */
-+ .low = 0x01010001f, /* 1.1.0a */
-+ .high = 0x01010001f, /* 1.1.0a */
- .id = "CVE-2016-6309",
- .name = "OCSP status request extension",
- .comment = "For more information see https://www.openssl.org/news/secadv/20160926.txt"
- },
- {
-- .low = 0x01010100f, /* 1.1.0 */
-- .high = 0x01010100f, /* 1.1.0 */
-+ .low = 0x010100000f, /* 1.1.0 */
-+ .high = 0x01010000f, /* 1.1.0 */
- .id = "CVE-2016-6304",
- .name = "OCSP status request extension",
- .comment = "For more information see https://www.openssl.org/news/secadv/20160922.txt"
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch
index 71b78090c..471935872 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-configure.ac-add-option-for-libcap.patch
@@ -1,20 +1,21 @@
-From 74eed61dec8702c89f3e121d577ea9db25c961a4 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Mon, 11 Jan 2016 02:52:16 -0500
-Subject: [PATCH] configure.ac: add option for libcap
+From 98a9eff357959d1113e33a615c2178751d5b2054 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 22 Aug 2019 10:50:21 +0800
+Subject: [PATCH 2/2] configure.ac: add option for libcap
Upstream-Status: Pending
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- configure.ac | 37 ++++++++++++++++++++++++++++---------
- 1 file changed, 28 insertions(+), 9 deletions(-)
+ configure.ac | 36 +++++++++++++++++++++++++++---------
+ 1 file changed, 27 insertions(+), 9 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 066d3d7..6e4266b 100644
+index 65db61e..6486aac 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -948,6 +948,23 @@ fi
+@@ -977,6 +977,22 @@ fi
dnl Set by FR_SMART_CHECKLIB
LIBS="${old_LIBS}"
@@ -34,11 +35,10 @@ index 066d3d7..6e4266b 100644
+ esac ]
+)
+
-+
dnl Check for cap
dnl extra argument: --with-cap-lib-dir=DIR
cap_lib_dir=
-@@ -981,15 +998,17 @@ AC_ARG_WITH(cap-include-dir,
+@@ -1010,15 +1026,17 @@ AC_ARG_WITH(cap-include-dir,
;;
esac])
@@ -64,7 +64,7 @@ index 066d3d7..6e4266b 100644
+ fi
fi
- VL_LIB_READLINE
+ dnl #
--
-1.9.1
+2.7.4
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch
deleted file mode 100644
index 638d95076..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-fix-issues-related-to-m4-include-path.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From 69cb6d4bb5dd56a48695c0581a7d853e427b0ea3 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 14:54:41 +0800
-Subject: [PATCH] freeradius: Fixing issues related to m4 include path
-
-Upstream-Status: Submitted [1]
-
-[1]: https://github.com/FreeRADIUS/freeradius-server/pull/1428
-
-Submmited by: Jorge Pereira <jpereiran@gmail.com>
-
-Update to version 3.0.17
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- src/modules/rlm_example/config.h.in | 35 +++--------------------------------
- src/modules/rlm_pam/config.h.in | 3 +++
- src/modules/rlm_perl/config.h.in | 3 +++
- src/modules/rlm_perl/configure.ac | 2 +-
- src/modules/rlm_radutmp/config.h.in | 3 +++
- src/modules/rlm_ruby/configure.ac | 8 ++++----
- src/modules/rlm_smsotp/config.h.in | 3 +++
- src/modules/rlm_unix/config.h.in | 3 +++
- 8 files changed, 23 insertions(+), 37 deletions(-)
-
-diff --git a/src/modules/rlm_example/config.h.in b/src/modules/rlm_example/config.h.in
-index 2a81ef5..4dbb8f4 100644
---- a/src/modules/rlm_example/config.h.in
-+++ b/src/modules/rlm_example/config.h.in
-@@ -1,37 +1,5 @@
- /* config.h.in. Generated from configure.ac by autoheader. */
-
--/* Define to 1 if you have the <inttypes.h> header file. */
--#undef HAVE_INTTYPES_H
--
--/* Define to 1 if you have the <memory.h> header file. */
--#undef HAVE_MEMORY_H
--
--/* Define to 1 if you have the `printf' function. */
--#undef HAVE_PRINTF
--
--/* Define to 1 if you have the <stdint.h> header file. */
--#undef HAVE_STDINT_H
--
--/* Define to 1 if you have the <stdio.h> header file. */
--#undef HAVE_STDIO_H
--
--/* Define to 1 if you have the <stdlib.h> header file. */
--#undef HAVE_STDLIB_H
--
--/* Define to 1 if you have the <strings.h> header file. */
--#undef HAVE_STRINGS_H
--
--/* Define to 1 if you have the <string.h> header file. */
--#undef HAVE_STRING_H
--
--/* Define to 1 if you have the <sys/stat.h> header file. */
--#undef HAVE_SYS_STAT_H
--
--/* Define to 1 if you have the <sys/types.h> header file. */
--#undef HAVE_SYS_TYPES_H
--
--/* Define to 1 if you have the <unistd.h> header file. */
--#undef HAVE_UNISTD_H
-
- /* Define to the address where bug reports for this package should be sent. */
- #undef PACKAGE_BUGREPORT
-@@ -45,6 +13,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
-diff --git a/src/modules/rlm_pam/config.h.in b/src/modules/rlm_pam/config.h.in
-index 32ef6ff..1ad20c5 100644
---- a/src/modules/rlm_pam/config.h.in
-+++ b/src/modules/rlm_pam/config.h.in
-@@ -45,6 +45,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
-diff --git a/src/modules/rlm_perl/config.h.in b/src/modules/rlm_perl/config.h.in
-index 989ed53..f80de9c 100644
---- a/src/modules/rlm_perl/config.h.in
-+++ b/src/modules/rlm_perl/config.h.in
-@@ -12,5 +12,8 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-diff --git a/src/modules/rlm_perl/configure.ac b/src/modules/rlm_perl/configure.ac
-index 4b3ff42..69c79cb 100644
---- a/src/modules/rlm_perl/configure.ac
-+++ b/src/modules/rlm_perl/configure.ac
-@@ -3,7 +3,7 @@ AC_INIT(rlm_perl.c)
- AC_REVISION($Revision$)
- AC_DEFUN(modname,[rlm_perl])
-
--m4_include([ax_with_prog.m4])
-+m4_include([m4/ax_with_prog.m4])
-
- if test x$with_[]modname != xno; then
- AC_PROG_CC
-diff --git a/src/modules/rlm_radutmp/config.h.in b/src/modules/rlm_radutmp/config.h.in
-index 9a883cc..750b434 100644
---- a/src/modules/rlm_radutmp/config.h.in
-+++ b/src/modules/rlm_radutmp/config.h.in
-@@ -42,6 +42,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
-diff --git a/src/modules/rlm_ruby/configure.ac b/src/modules/rlm_ruby/configure.ac
-index 9306382..ae86a14 100644
---- a/src/modules/rlm_ruby/configure.ac
-+++ b/src/modules/rlm_ruby/configure.ac
-@@ -3,15 +3,15 @@ AC_INIT(rlm_ruby.c)
- AC_REVISION($Revision: 1.9 $)
- AC_DEFUN(modname,[rlm_ruby])
-
--m4_include([ax_with_prog.m4])
-+m4_include([m4/ax_with_prog.m4])
-
- AC_DEFUN([AX_WITH_RUBY],[
- AX_WITH_PROG([RUBY],[ruby],[not-found],[${PATH}:/usr/bin:/usr/local/bin])
- ])
-
--m4_include([ax_compare_version.m4])
--m4_include([ax_prog_ruby_version.m4])
--m4_include([ax_ruby_devel.m4])
-+m4_include([m4/ax_compare_version.m4])
-+m4_include([m4/ax_prog_ruby_version.m4])
-+m4_include([m4/ax_ruby_devel.m4])
-
- targetname=modname
- mod_cflags=
-diff --git a/src/modules/rlm_smsotp/config.h.in b/src/modules/rlm_smsotp/config.h.in
-index 5feaf91..9e69f85 100644
---- a/src/modules/rlm_smsotp/config.h.in
-+++ b/src/modules/rlm_smsotp/config.h.in
-@@ -42,6 +42,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
-diff --git a/src/modules/rlm_unix/config.h.in b/src/modules/rlm_unix/config.h.in
-index dcb9aa2..16107b8 100644
---- a/src/modules/rlm_unix/config.h.in
-+++ b/src/modules/rlm_unix/config.h.in
-@@ -54,6 +54,9 @@
- /* Define to the one symbol short name of this package. */
- #undef PACKAGE_TARNAME
-
-+/* Define to the home page for this package. */
-+#undef PACKAGE_URL
-+
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch
index 4eb61ff2e..4265f9d0d 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/files/freeradius-libtool-detection.patch
@@ -1,7 +1,7 @@
-From 56ef434e454bcc82c162a83d9bcb076d4fc72b7f Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 9 Jan 2014 14:30:26 +0800
-Subject: [PATCH] Fix libtool detection
+From bfe4d7ed72edc9d4ae1a0f0d2dd84367d6214886 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 22 Aug 2019 10:45:46 +0800
+Subject: [PATCH 1/2] Fix libtool detection
Upstream-Status: pending
@@ -16,18 +16,19 @@ Also patch autogen.sh so it uses autoreconf, which handles libtoolize better.
Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
autogen.sh | 5 +----
configure.ac | 36 ++++++++++++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/autogen.sh b/autogen.sh
-index 3418673..e42c3d5 100755
+index a1d08a6..959182b 100755
--- a/autogen.sh
+++ b/autogen.sh
-@@ -5,10 +5,7 @@ parentdir=`dirname $0`
- cd $parentdir
+@@ -6,10 +6,7 @@ cd $parentdir
parentdir=`pwd`
+ m4include="-I$parentdir -I$parentdir/m4 -Im4"
-libtoolize -f -c
-#aclocal
@@ -38,10 +39,10 @@ index 3418673..e42c3d5 100755
mysubdirs="$mysubdirs `find src/modules/ -name configure -print | sed 's%/configure%%'`"
mysubdirs=`echo $mysubdirs`
diff --git a/configure.ac b/configure.ac
-index e73e4ad..066d3d7 100644
+index a7abf00..65db61e 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -205,6 +205,42 @@ dnl # See if we have Git.
+@@ -220,6 +220,42 @@ dnl # See if we have Git.
dnl #
AC_CHECK_PROG(GIT, git, yes, no)
@@ -85,5 +86,5 @@ index e73e4ad..066d3d7 100644
dnl AC_ARG_WITH(disablemodulefoo,
dnl [ --without-rlm_foo Disables module compilation. Module list:]
--
-1.8.3
+2.7.4
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb
deleted file mode 100644
index 5ab9a3fb4..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.17.bb
+++ /dev/null
@@ -1,227 +0,0 @@
-DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \
-protocol, as defined in RFC 2865 (and others). It allows Network Access \
-Servers (NAS boxes) to perform authentication for dial-up users. There are \
-also RADIUS clients available for Web servers, firewalls, Unix logins, and \
-more. Using RADIUS allows authentication and authorization for a network to \
-be centralized, and minimizes the amount of re-configuration which has to be \
-done when adding or deleting new users."
-
-SUMMARY = "High-performance and highly configurable RADIUS server"
-HOMEPAGE = "http://www.freeradius.org/"
-SECTION = "System/Servers"
-LICENSE = "GPLv2 & LGPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
-DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc"
-
-SRC_URI = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${PV}.tar.bz2 \
- file://freeradius \
- file://volatiles.58_radiusd \
- file://freeradius-enble-user-in-conf.patch \
- file://freeradius-configure.ac-allow-cross-compilation.patch \
- file://freeradius-fix-issues-related-to-m4-include-path.patch \
- file://freeradius-libtool-detection.patch \
- file://freeradius-configure.ac-add-option-for-libcap.patch \
- file://freeradius-avoid-searching-host-dirs.patch \
- file://freeradius-rlm_python-add-PY_INC_DIR.patch \
- file://freeradius-libtool-do-not-use-jlibtool.patch \
- file://freeradius-fix-quoting-for-BUILT_WITH.patch \
- file://freeradius-fix-error-for-expansion-of-macro.patch \
- file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \
- file://radiusd.service \
- file://radiusd-volatiles.conf \
- file://0001-freeradius-correct-version-number-of-libssl-defect.patch \
-"
-SRC_URI[md5sum] = "1f4ad38f32101a7d50d818afa6f17339"
-SRC_URI[sha256sum] = "3f03404b6e4a4f410e1f15ea2ababfec7f8a7ae8a49836d8a0c137436d913b96"
-
-PARALLEL_MAKE = ""
-
-S = "${WORKDIR}/freeradius-server-${PV}"
-
-EXTRA_OECONF = " --enable-strict-dependencies \
- --with-docdir=${docdir}/freeradius-${PV} \
- --with-openssl-includes=${STAGING_INCDIR} \
- --with-openssl-libraries=${STAGING_LIBDIR} \
- --without-rlm_ippool \
- --without-rlm_cache_memcached \
- --without-rlm_counter \
- --without-rlm_couchbase \
- --without-rlm_dbm \
- --without-rlm_eap_tnc \
- --without-rlm_eap_ikev2 \
- --without-rlm_opendirectory \
- --without-rlm_redis \
- --without-rlm_rediswho \
- --without-rlm_sql_db2 \
- --without-rlm_sql_firebird \
- --without-rlm_sql_freetds \
- --without-rlm_sql_iodbc \
- --without-rlm_sql_oracle \
- --without-rlm_sql_sybase \
- --without-rlm_sqlhpwippool \
- ac_cv_path_PERL=${bindir}/perl \
- ax_cv_cc_builtin_choose_expr=no \
- ax_cv_cc_builtin_types_compatible_p=no \
- ax_cv_cc_builtin_bswap64=no \
- ax_cv_cc_bounded_attribute=no \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
- pcre libcap \
- openssl rlm-eap-fast rlm-eap-pwd \
-"
-
-PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5"
-PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap"
-PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5"
-PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3"
-PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc"
-PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql"
-PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
-PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl"
-PACKAGECONFIG[python] = "--with-rlm_python --with-rlm-python-bin=${STAGING_BINDIR_NATIVE}/python-native/python --with-rlm-python-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python,python-native python"
-PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c"
-PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby"
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl"
-PACKAGECONFIG[rlm-eap-fast] = "--with-rlm_eap_fast, --without-rlm_eap_fast"
-PACKAGECONFIG[rlm-eap-pwd] = "--with-rlm_eap_pwd, --without-rlm_eap_pwd"
-
-inherit useradd autotools-brokensep update-rc.d systemd
-
-# This is not a cpan or python based package, but it needs some definitions
-# from cpan-base and python-dir bbclasses for building rlm_perl and rlm_python
-# correctly.
-inherit cpan-base python-dir
-
-# The modules subdirs also need to be processed by autoreconf. Use autogen.sh
-# in order to handle the subdirs correctly.
-do_configure () {
- ./autogen.sh
-
- # the configure of rlm_perl needs this to get correct
- # mod_cflags and mod_ldflags
- if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then
- export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
- fi
-
- oe_runconf
-
- # we don't need dhcpclient
- sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk
-}
-
-INITSCRIPT_NAME = "radiusd"
-
-SYSTEMD_SERVICE_${PN} = "radiusd.service"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd"
-
-do_install() {
- rm -rf ${D}
- mkdir -p ${D}/${sysconfdir}/logrotate.d
- mkdir -p ${D}/${sysconfdir}/pam.d
- mkdir -p ${D}/${sysconfdir}/init.d
- mkdir -p ${D}/${localstatedir}/lib/radiusd
- mkdir -p ${D}${sysconfdir}/default/volatiles
-
- export LD_LIBRARY_PATH=${D}/${libdir}
- oe_runmake install R=${D} INSTALLSTRIP=""
-
- # remove unsupported config files
- rm -f ${D}/${sysconfdir}/raddb/experimental.conf
-
- # remove scripts that required Perl(DBI)
- rm -rf ${D}/${bindir}/radsqlrelay
-
- cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd
- rm -f ${D}/${sbindir}/rc.radiusd
- chmod +x ${D}/${sysconfdir}/init.d/radiusd
- rm -rf ${D}/${localstatedir}/run/
- install -m 0644 ${WORKDIR}/volatiles.58_radiusd ${D}${sysconfdir}/default/volatiles/58_radiusd
-
- chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/
- chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd
-
- # For systemd
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@STATEDIR@,${localstatedir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${systemd_unitdir}/system/radiusd.service
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d/
- install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/
- fi
-}
-
-# This is only needed when we install/update on a running target.
-#
-pkg_postinst_${PN} () {
- if [ -z "$D" ]; then
- if command -v systemd-tmpfiles >/dev/null; then
- # create /var/log/radius, /var/run/radiusd
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd-volatiles.conf
- elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
- ${sysconfdir}/init.d/populate-volatile.sh update
- fi
-
- # Fix ownership for /etc/raddb/*, /var/lib/radiusd
- chown -R radiusd:radiusd ${sysconfdir}/raddb
- chown -R radiusd:radiusd ${localstatedir}/lib/radiusd
- fi
-}
-
-# We really need the symlink :(
-INSANE_SKIP_${PN} = "dev-so"
-INSANE_SKIP_${PN}-krb5 = "dev-so"
-INSANE_SKIP_${PN}-ldap = "dev-so"
-INSANE_SKIP_${PN}-mysql = "dev-so"
-INSANE_SKIP_${PN}-perl = "dev-so"
-INSANE_SKIP_${PN}-postgresql = "dev-so"
-INSANE_SKIP_${PN}-python = "dev-so"
-INSANE_SKIP_${PN}-unixodbc = "dev-so"
-
-PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \
- ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc"
-
-FILES_${PN}-utils = "${bindir}/*"
-
-FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \
- ${sysconfdir}/raddb/mods-available/ldap \
-"
-
-FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \
- ${sysconfdir}/raddb/mods-available/krb5 \
-"
-
-FILES_${PN}-perl = "${libdir}/rlm_perl.so* \
- ${sysconfdir}/raddb/mods-config/perl \
- ${sysconfdir}/raddb/mods-available/perl \
-"
-
-FILES_${PN}-python = "${libdir}/rlm_python.so* \
- ${sysconfdir}/raddb/mods-config/python \
- ${sysconfdir}/raddb/mods-available/python \
-"
-
-FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \
- ${sysconfdir}/raddb/mods-config/sql/*/mysql \
- ${sysconfdir}/raddb/mods-available/sql \
-"
-
-FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \
- ${sysconfdir}/raddb/mods-config/sql/*/postgresql \
-"
-
-FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*"
-
-FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*"
-
-RDEPENDS_${PN} += "perl"
-RDEPENDS_${PN}-utils = "${PN}"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.19.bb b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.19.bb
new file mode 100644
index 000000000..9da15e07a
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/freeradius/freeradius_3.0.19.bb
@@ -0,0 +1,231 @@
+DESCRIPTION = "FreeRADIUS is an Internet authentication daemon, which implements the RADIUS \
+protocol, as defined in RFC 2865 (and others). It allows Network Access \
+Servers (NAS boxes) to perform authentication for dial-up users. There are \
+also RADIUS clients available for Web servers, firewalls, Unix logins, and \
+more. Using RADIUS allows authentication and authorization for a network to \
+be centralized, and minimizes the amount of re-configuration which has to be \
+done when adding or deleting new users."
+
+SUMMARY = "High-performance and highly configurable RADIUS server"
+HOMEPAGE = "http://www.freeradius.org/"
+SECTION = "System/Servers"
+LICENSE = "GPLv2 & LGPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
+DEPENDS = "openssl-native openssl libidn libtool libpcap libtalloc"
+
+SRC_URI = "git://github.com/FreeRADIUS/freeradius-server.git;branch=v3.0.x; \
+ file://freeradius \
+ file://volatiles.58_radiusd \
+ file://freeradius-enble-user-in-conf.patch \
+ file://freeradius-configure.ac-allow-cross-compilation.patch \
+ file://freeradius-libtool-detection.patch \
+ file://freeradius-configure.ac-add-option-for-libcap.patch \
+ file://freeradius-avoid-searching-host-dirs.patch \
+ file://freeradius-rlm_python-add-PY_INC_DIR.patch \
+ file://freeradius-libtool-do-not-use-jlibtool.patch \
+ file://freeradius-fix-quoting-for-BUILT_WITH.patch \
+ file://freeradius-fix-error-for-expansion-of-macro.patch \
+ file://0001-rlm_mschap-Use-includedir-instead-of-hardcoding-usr-.patch \
+ file://radiusd.service \
+ file://radiusd-volatiles.conf \
+"
+
+SRCREV = "ab4c767099f263a7cd4109bcdca80ee74210a769"
+
+PARALLEL_MAKE = ""
+
+S = "${WORKDIR}/git"
+
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_mipsarch = " -latomic"
+LDFLAGS_append_armv5 = " -latomic"
+
+EXTRA_OECONF = " --enable-strict-dependencies \
+ --with-docdir=${docdir}/freeradius-${PV} \
+ --with-openssl-includes=${STAGING_INCDIR} \
+ --with-openssl-libraries=${STAGING_LIBDIR} \
+ --without-rlm_ippool \
+ --without-rlm_cache_memcached \
+ --without-rlm_counter \
+ --without-rlm_couchbase \
+ --without-rlm_dbm \
+ --without-rlm_eap_tnc \
+ --without-rlm_eap_ikev2 \
+ --without-rlm_opendirectory \
+ --without-rlm_redis \
+ --without-rlm_rediswho \
+ --without-rlm_sql_db2 \
+ --without-rlm_sql_firebird \
+ --without-rlm_sql_freetds \
+ --without-rlm_sql_iodbc \
+ --without-rlm_sql_oracle \
+ --without-rlm_sql_sybase \
+ --without-rlm_sqlhpwippool \
+ --without-rlm_securid \
+ --without-rlm_unbound \
+ ac_cv_path_PERL=${bindir}/perl \
+ ax_cv_cc_builtin_choose_expr=no \
+ ax_cv_cc_builtin_types_compatible_p=no \
+ ax_cv_cc_builtin_bswap64=no \
+ ax_cv_cc_bounded_attribute=no \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
+ pcre libcap \
+ openssl rlm-eap-fast rlm-eap-pwd \
+"
+
+PACKAGECONFIG[krb5] = "--with-rlm_krb5,--without-rlm_krb5,krb5"
+PACKAGECONFIG[pam] = "--with-rlm_pam,--without-rlm_pam,libpam"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[ldap] = "--with-rlm_ldap,--without-rlm_ldap,openldap"
+PACKAGECONFIG[mysql] = "--with-rlm_sql_mysql,--without-rlm_sql_mysql,mysql5"
+PACKAGECONFIG[sqlite] = "--with-rlm_sql_sqlite,--without-rlm_sql_sqlite,sqlite3"
+PACKAGECONFIG[unixodbc] = "--with-rlm_sql_unixodbc,--without-rlm_sql_unixodbc,unixodbc"
+PACKAGECONFIG[postgresql] = "--with-rlm_sql_postgresql,--without-rlm_sql_postgresql,postgresql"
+PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
+PACKAGECONFIG[perl] = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl --with-rlm_perl,--without-rlm_perl,perl-native perl,perl"
+PACKAGECONFIG[python] = "--with-rlm_python --with-rlm-python-bin=${STAGING_BINDIR_NATIVE}/python-native/python --with-rlm-python-include-dir=${STAGING_INCDIR}/${PYTHON_DIR},--without-rlm_python,python-native python"
+PACKAGECONFIG[rest] = "--with-rlm_rest,--without-rlm_rest,curl json-c"
+PACKAGECONFIG[ruby] = "--with-rlm_ruby,--without-rlm_ruby,ruby"
+PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl"
+PACKAGECONFIG[rlm-eap-fast] = "--with-rlm_eap_fast, --without-rlm_eap_fast"
+PACKAGECONFIG[rlm-eap-pwd] = "--with-rlm_eap_pwd, --without-rlm_eap_pwd"
+
+inherit useradd autotools-brokensep update-rc.d systemd
+
+# This is not a cpan or python based package, but it needs some definitions
+# from cpan-base and python-dir bbclasses for building rlm_perl and rlm_python
+# correctly.
+inherit cpan-base python-dir
+
+# The modules subdirs also need to be processed by autoreconf. Use autogen.sh
+# in order to handle the subdirs correctly.
+do_configure () {
+ ./autogen.sh
+
+ # the configure of rlm_perl needs this to get correct
+ # mod_cflags and mod_ldflags
+ if ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'true', 'false', d)}; then
+ export PERL5LIB="${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
+ fi
+
+ oe_runconf
+
+ # we don't need dhcpclient
+ sed -i -e 's/dhcpclient.mk//' ${S}/src/modules/proto_dhcp/all.mk
+}
+
+INITSCRIPT_NAME = "radiusd"
+
+SYSTEMD_SERVICE_${PN} = "radiusd.service"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --user-group radiusd"
+
+do_install() {
+ rm -rf ${D}
+ mkdir -p ${D}/${sysconfdir}/logrotate.d
+ mkdir -p ${D}/${sysconfdir}/pam.d
+ mkdir -p ${D}/${sysconfdir}/init.d
+ mkdir -p ${D}/${localstatedir}/lib/radiusd
+ mkdir -p ${D}${sysconfdir}/default/volatiles
+
+ export LD_LIBRARY_PATH=${D}/${libdir}
+ oe_runmake install R=${D} INSTALLSTRIP=""
+
+ # remove unsupported config files
+ rm -f ${D}/${sysconfdir}/raddb/experimental.conf
+
+ # remove scripts that required Perl(DBI)
+ rm -rf ${D}/${bindir}/radsqlrelay
+
+ cp -f ${WORKDIR}/freeradius ${D}/etc/init.d/radiusd
+ rm -f ${D}/${sbindir}/rc.radiusd
+ chmod +x ${D}/${sysconfdir}/init.d/radiusd
+ rm -rf ${D}/${localstatedir}/run/
+ install -m 0644 ${WORKDIR}/volatiles.58_radiusd ${D}${sysconfdir}/default/volatiles/58_radiusd
+
+ chown -R radiusd:radiusd ${D}/${sysconfdir}/raddb/
+ chown -R radiusd:radiusd ${D}/${localstatedir}/lib/radiusd
+
+ # For systemd
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/radiusd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@STATEDIR@,${localstatedir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_unitdir}/system/radiusd.service
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d/
+ install -m 0644 ${WORKDIR}/radiusd-volatiles.conf ${D}${sysconfdir}/tmpfiles.d/
+ fi
+}
+
+# This is only needed when we install/update on a running target.
+#
+pkg_postinst_${PN} () {
+ if [ -z "$D" ]; then
+ if command -v systemd-tmpfiles >/dev/null; then
+ # create /var/log/radius, /var/run/radiusd
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/radiusd-volatiles.conf
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+
+ # Fix ownership for /etc/raddb/*, /var/lib/radiusd
+ chown -R radiusd:radiusd ${sysconfdir}/raddb
+ chown -R radiusd:radiusd ${localstatedir}/lib/radiusd
+ fi
+}
+
+# We really need the symlink :(
+INSANE_SKIP_${PN} = "dev-so"
+INSANE_SKIP_${PN}-krb5 = "dev-so"
+INSANE_SKIP_${PN}-ldap = "dev-so"
+INSANE_SKIP_${PN}-mysql = "dev-so"
+INSANE_SKIP_${PN}-perl = "dev-so"
+INSANE_SKIP_${PN}-postgresql = "dev-so"
+INSANE_SKIP_${PN}-python = "dev-so"
+INSANE_SKIP_${PN}-unixodbc = "dev-so"
+
+PACKAGES =+ "${PN}-utils ${PN}-ldap ${PN}-krb5 ${PN}-perl \
+ ${PN}-python ${PN}-mysql ${PN}-postgresql ${PN}-unixodbc"
+
+FILES_${PN}-utils = "${bindir}/*"
+
+FILES_${PN}-ldap = "${libdir}/rlm_ldap.so* \
+ ${sysconfdir}/raddb/mods-available/ldap \
+"
+
+FILES_${PN}-krb5 = "${libdir}/rlm_krb5.so* \
+ ${sysconfdir}/raddb/mods-available/krb5 \
+"
+
+FILES_${PN}-perl = "${libdir}/rlm_perl.so* \
+ ${sysconfdir}/raddb/mods-config/perl \
+ ${sysconfdir}/raddb/mods-available/perl \
+"
+
+FILES_${PN}-python = "${libdir}/rlm_python.so* \
+ ${sysconfdir}/raddb/mods-config/python \
+ ${sysconfdir}/raddb/mods-available/python \
+"
+
+FILES_${PN}-mysql = "${libdir}/rlm_sql_mysql.so* \
+ ${sysconfdir}/raddb/mods-config/sql/*/mysql \
+ ${sysconfdir}/raddb/mods-available/sql \
+"
+
+FILES_${PN}-postgresql = "${libdir}/rlm_sql_postgresql.so* \
+ ${sysconfdir}/raddb/mods-config/sql/*/postgresql \
+"
+
+FILES_${PN}-unixodbc = "${libdir}/rlm_sql_unixodbc.so*"
+
+FILES_${PN} =+ "${libdir}/rlm_*.so* ${libdir}/proto_*so*"
+
+RDEPENDS_${PN} += "perl"
+RDEPENDS_${PN}-utils = "${PN} perl"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch b/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch
deleted file mode 100644
index 381a3a7eb..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/kea/files/0003-Makefile.am-update-hooksdir-for-lease_cmds.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From cd902b8b588681a27d5321f1ee078a1c8f6e6935 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <Mingli.Yu@windriver.com>
-Date: Wed, 21 Mar 2018 06:01:38 +0000
-Subject: [PATCH 3/3] Makefile.am: update hooksdir for lease_cmds
-
-update hooksdir for lease_cmds
-
-Upstream-Status: Pending
-
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
-
----
- src/hooks/dhcp/lease_cmds/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/hooks/dhcp/lease_cmds/Makefile.am b/src/hooks/dhcp/lease_cmds/Makefile.am
-index cfd6779..22cc4a9 100644
---- a/src/hooks/dhcp/lease_cmds/Makefile.am
-+++ b/src/hooks/dhcp/lease_cmds/Makefile.am
-@@ -37,7 +37,7 @@ liblease_cmds_la_CXXFLAGS = $(AM_CXXFLAGS)
- liblease_cmds_la_CPPFLAGS = $(AM_CPPFLAGS)
-
- # install the shared object into $(libdir)/hooks
--lib_hooksdir = $(libdir)/hooks
-+lib_hooksdir = $(libdir)/kea/hooks
- lib_hooks_LTLIBRARIES = libdhcp_lease_cmds.la
-
- libdhcp_lease_cmds_la_SOURCES =
---
-2.18.0
-
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb
deleted file mode 100644
index fb166df60..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.5.0.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-SUMMARY = "ISC Kea DHCP Server"
-DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS."
-HOMEPAGE = "http://kea.isc.org"
-SECTION = "connectivity"
-LICENSE = "MPL-2.0 & Apache-2.0"
-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-remove-AC_TRY_RUN.patch \
- file://kea-dhcp4.service \
- file://kea-dhcp6.service \
- file://kea-dhcp-ddns.service \
-"
-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
-}
-
-do_install_append_class-target() {
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
- sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${systemd_system_unitdir}/kea-dhcp*service
-}
-
-do_install_append() {
- rm -rf "${D}${localstatedir}"
-}
-
-PACKAGECONFIG ??= "openssl log4cplus boost"
-
-PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_TARGET}${prefix},,openssl,openssl"
-PACKAGECONFIG[log4cplus] = "--with-log4cplus=${STAGING_DIR_TARGET}${prefix},,log4cplus,log4cplus"
-PACKAGECONFIG[boost] = "--with-boost-include=${STAGING_INCDIR} --with-boost-lib-dir=${STAGING_LIBDIR} --with-boost-libs=-lboost_system,,boost,boost"
-
-FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
-FILES_${PN} += "${libdir}/hooks/*.so"
-
-BBCLASSEXTEND += "native"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb
new file mode 100644
index 000000000..105ba10d7
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb
@@ -0,0 +1,63 @@
+SUMMARY = "ISC Kea DHCP Server"
+DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It supports both DHCPv4 and DHCPv6 protocols along with their extensions, e.g. prefix delegation and dynamic updates to DNS."
+HOMEPAGE = "http://kea.isc.org"
+SECTION = "connectivity"
+LICENSE = "MPL-2.0 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0e5b01c848c7736a0c9e68f9c9cd0281"
+
+DEPENDS += "kea-native"
+
+SRC_URI = "\
+ http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
+ file://0001-remove-AC_TRY_RUN.patch \
+ file://kea-dhcp4.service \
+ file://kea-dhcp6.service \
+ file://kea-dhcp-ddns.service \
+"
+SRC_URI[md5sum] = "c6406ac3d160161056d2fc36557ebd89"
+SRC_URI[sha256sum] = "173c8e893690a611bc1d1c6fbe54a5c20fcd54429399a8dc3a0d7d2eb01bf8cc"
+
+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
+}
+
+do_install_append_class-target() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${systemd_system_unitdir}/kea-dhcp*service
+}
+
+do_install_append() {
+ rm -rf "${D}${localstatedir}"
+}
+
+PACKAGECONFIG ??= "openssl log4cplus boost"
+
+PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_TARGET}${prefix},,openssl,openssl"
+PACKAGECONFIG[log4cplus] = "--with-log4cplus=${STAGING_DIR_TARGET}${prefix},,log4cplus,log4cplus"
+PACKAGECONFIG[boost] = "--with-boost-libs=-lboost_system,,boost,boost"
+
+FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a"
+FILES_${PN} += "${libdir}/hooks/*.so"
+
+BBCLASSEXTEND += "native"
+
+PARALLEL_MAKEINST = ""
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb
deleted file mode 100644
index 2e9d01e14..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.0.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Lightweight crypto and SSL/TLS library"
-DESCRIPTION = "mbedtls is a lean open source crypto library \
-for providing SSL and TLS support in your programs. It offers \
-an intuitive API and documented header files, so you can actually \
-understand what the code does. It features: \
- \
- - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \
- Camellia and XTEA \
- - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \
- - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \
- - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
- ECDSA and ECDH \
- - SSL v3 and TLS 1.0, 1.1 and 1.2 \
- - Abstraction layers for ciphers, hashes, public key operations, \
- platform abstraction and threading \
-"
-
-HOMEPAGE = "https://tls.mbed.org/"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a"
-
-SECTION = "libs"
-
-SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz"
-SRC_URI[md5sum] = "eae9cf16114f4491dbbc0fe36bb7e6c3"
-SRC_URI[sha256sum] = "e3dab56e9093c790b7d5e0f7eb19451010fe680649d25cf1dcca9d5441669ae2"
-
-inherit cmake
-
-PACKAGECONFIG ??= "shared-libs programs"
-PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-USE_SHARED_MBEDTLS_LIBRARY=OFF"
-PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF"
-
-EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
-
-PROVIDES += "polarssl"
-RPROVIDES_${PN} = "polarssl"
-
-PACKAGES =+ "${PN}-programs"
-FILES_${PN}-programs = "${bindir}/"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.2.bb
new file mode 100644
index 000000000..b0bd942ee
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.16.2.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Lightweight crypto and SSL/TLS library"
+DESCRIPTION = "mbedtls is a lean open source crypto library \
+for providing SSL and TLS support in your programs. It offers \
+an intuitive API and documented header files, so you can actually \
+understand what the code does. It features: \
+ \
+ - Symmetric algorithms, like AES, Blowfish, Triple-DES, DES, ARC4, \
+ Camellia and XTEA \
+ - Hash algorithms, like SHA-1, SHA-2, RIPEMD-160 and MD5 \
+ - Entropy pool and random generators, like CTR-DRBG and HMAC-DRBG \
+ - Public key algorithms, like RSA, Elliptic Curves, Diffie-Hellman, \
+ ECDSA and ECDH \
+ - SSL v3 and TLS 1.0, 1.1 and 1.2 \
+ - Abstraction layers for ciphers, hashes, public key operations, \
+ platform abstraction and threading \
+"
+
+HOMEPAGE = "https://tls.mbed.org/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=302d50a6369f5f22efdb674db908167a"
+
+SECTION = "libs"
+
+SRC_URI = "https://tls.mbed.org/download/mbedtls-${PV}-apache.tgz"
+SRC_URI[md5sum] = "37cdec398ae9ebdd4640df74af893c95"
+SRC_URI[sha256sum] = "a6834fcd7b7e64b83dfaaa6ee695198cb5019a929b2806cb0162e049f98206a4"
+
+inherit cmake
+
+PACKAGECONFIG ??= "shared-libs programs"
+PACKAGECONFIG[shared-libs] = "-DUSE_SHARED_MBEDTLS_LIBRARY=ON,-USE_SHARED_MBEDTLS_LIBRARY=OFF"
+PACKAGECONFIG[programs] = "-DENABLE_PROGRAMS=ON,-DENABLE_PROGRAMS=OFF"
+
+EXTRA_OECMAKE = "-DENABLE_TESTING=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
+
+PROVIDES += "polarssl"
+RPROVIDES_${PN} = "polarssl"
+
+PACKAGES =+ "${PN}-programs"
+FILES_${PN}-programs = "${bindir}/"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb
deleted file mode 100644
index d4093e511..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190210.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "Lightweight UPnP IGD daemon"
-DESCRIPTION = "The miniUPnP daemon is an UPnP IGD (internet gateway device) \
-which provide NAT traversal services to any UPnP enabled client on \
-the network."
-
-SECTION = "networking"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=91ac00c6b9f5c106e89291e196fe0234"
-
-inherit autotools gettext pkgconfig systemd
-
-DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack"
-
-SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${BP}.tar.gz;downloadfilename=${BP}.tar.gz \
- file://miniupnpd.service \
- file://0001-Add-OpenEmbedded-cross-compile-case.patch \
- "
-SRC_URI[md5sum] = "03b00c27106835e728a3b858ecf83390"
-SRC_URI[sha256sum] = "1aaecd25cf152d99557dfe80c7508af9cb06e97ecad4786ce5dafb4c958d196b"
-
-IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
-
-do_configure_prepend() {
- echo "${@d.getVar('DISTRO_VERSION')}" > ${S}/os.openembedded
-}
-
-do_compile() {
- cd ${S}
- CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux
-}
-
-do_install() {
- install -d ${D}/${sbindir}
- install ${S}/miniupnpd ${D}/${sbindir}
- install -d ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
- install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN}
- install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN}
- install -d ${D}/${sysconfdir}/init.d
- install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/miniupnpd.service ${D}${systemd_unitdir}/system/
-}
-
-SYSTEMD_SERVICE_${PN} = "miniupnpd.service"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190630.bb b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190630.bb
new file mode 100644
index 000000000..6b8fdca4c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/miniupnpd/miniupnpd_2.1.20190630.bb
@@ -0,0 +1,48 @@
+SUMMARY = "Lightweight UPnP IGD daemon"
+DESCRIPTION = "The miniUPnP daemon is an UPnP IGD (internet gateway device) \
+which provide NAT traversal services to any UPnP enabled client on \
+the network."
+
+SECTION = "networking"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a1ed15843ce66639bcf9f109cf247870"
+
+inherit autotools gettext pkgconfig systemd
+
+DEPENDS += "iptables net-tools util-linux libmnl libnetfilter-conntrack"
+
+SRC_URI = "http://miniupnp.tuxfamily.org/files/download.php?file=${BP}.tar.gz;downloadfilename=${BP}.tar.gz \
+ file://miniupnpd.service \
+ file://0001-Add-OpenEmbedded-cross-compile-case.patch \
+ "
+SRC_URI[md5sum] = "394e676f555d8047be69730d9c4d23a5"
+SRC_URI[sha256sum] = "29f49fe6868597d041ee29f511fa7b65781b9e4e85ef2569a2381c2079e1743e"
+
+IPV6 = "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '--ipv6', '', d)}"
+
+do_configure_prepend() {
+ echo "${@d.getVar('DISTRO_VERSION')}" > ${S}/os.openembedded
+}
+
+do_compile() {
+ cd ${S}
+ CONFIG_OPTIONS="${IPV6} --leasefile --vendorcfg" oe_runmake -f Makefile.linux
+}
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install ${S}/miniupnpd ${D}/${sbindir}
+ install -d ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/iptables_init.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/iptables_removeall.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/ip6tables_init.sh ${D}/${sysconfdir}/${BPN}
+ install ${S}/netfilter/ip6tables_removeall.sh ${D}/${sysconfdir}/${BPN}
+ install -m 0644 -b ${S}/miniupnpd.conf ${D}/${sysconfdir}/${BPN}
+ install -d ${D}/${sysconfdir}/init.d
+ install ${S}/linux/miniupnpd.init.d.script ${D}/${sysconfdir}/init.d/miniupnpd
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/miniupnpd.service ${D}${systemd_unitdir}/system/
+}
+
+SYSTEMD_SERVICE_${PN} = "miniupnpd.service"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb
deleted file mode 100644
index 768b5930f..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.5.8.bb
+++ /dev/null
@@ -1,93 +0,0 @@
-SUMMARY = "Open source MQTT v3.1/3.1.1 implemention"
-DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker that implements the MQ Telemetry Transport protocol version 3.1 and 3.1.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. "
-HOMEPAGE = "http://mosquitto.org/"
-SECTION = "console/network"
-LICENSE = "EPL-1.0 | EDL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \
- file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
- file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
- file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
-"
-DEPENDS = "uthash"
-
-SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
- file://mosquitto.init \
-"
-
-SRC_URI[md5sum] = "bbbcceb32db3657d9d436a8440a9db1c"
-SRC_URI[sha256sum] = "78d7e70c3794dc3a1d484b4f2f8d3addebe9c2da3f5a1cebe557f7d13beb0da4"
-
-inherit systemd update-rc.d useradd
-
-PACKAGECONFIG ??= "ssl uuid \
- ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
- "
-
-PACKAGECONFIG[dns-srv] = "WITH_SRV=yes,WITH_SRV=no,c-ares"
-PACKAGECONFIG[ssl] = "WITH_TLS=yes WITH_TLS_PSK=yes,WITH_TLS=no WITH_TLS_PSK=no,openssl"
-PACKAGECONFIG[uuid] = "WITH_UUID=yes,WITH_UUID=no,util-linux"
-PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd"
-PACKAGECONFIG[websockets] = "WITH_WEBSOCKETS=yes,WITH_WEBSOCKETS=no,libwebsockets"
-
-EXTRA_OEMAKE = " \
- prefix=${prefix} \
- mandir=${mandir} \
- localedir=${localedir} \
- ${PACKAGECONFIG_CONFARGS} \
- STRIP=/bin/true \
- WITH_DOCS=no \
- WITH_BUNDLED_DEPS=no \
-"
-
-export LIB_SUFFIX = "${@d.getVar('baselib').replace('lib', '')}"
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
-
- install -d ${D}${sysconfdir}/mosquitto
- install -m 0644 ${D}${sysconfdir}/mosquitto/mosquitto.conf.example \
- ${D}${sysconfdir}/mosquitto/mosquitto.conf
-
- install -d ${D}${sysconfdir}/init.d/
- install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
- -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${sysconfdir}/init.d/mosquitto
-}
-
-PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients"
-
-PACKAGE_BEFORE_PN = "${PN}-examples"
-
-FILES_${PN} = "${sbindir}/mosquitto \
- ${bindir}/mosquitto_passwd \
- ${sysconfdir}/mosquitto \
- ${sysconfdir}/init.d \
- ${systemd_unitdir}/system/mosquitto.service \
-"
-
-CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
-
-FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1"
-
-FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1"
-
-FILES_${PN}-clients = "${bindir}/mosquitto_pub \
- ${bindir}/mosquitto_sub \
-"
-
-FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example"
-
-SYSTEMD_SERVICE_${PN} = "mosquitto.service"
-
-INITSCRIPT_NAME = "mosquitto"
-INITSCRIPT_PARAMS = "defaults 30"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \
- --user-group mosquitto"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.6.bb b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.6.bb
new file mode 100644
index 000000000..1f2e0c602
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mosquitto/mosquitto_1.6.6.bb
@@ -0,0 +1,98 @@
+SUMMARY = "Open source MQTT implementation"
+DESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \
+that implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \
+5, providing both an MQTT broker and several command-line clients. MQTT \
+provides a lightweight method of carrying out messaging using a \
+publish/subscribe model. "
+HOMEPAGE = "http://mosquitto.org/"
+SECTION = "console/network"
+LICENSE = "EPL-1.0 | EDL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=62ddc846179e908dc0c8efec4a42ef20 \
+ file://edl-v10;md5=c09f121939f063aeb5235972be8c722c \
+ file://epl-v10;md5=8d383c379e91d20ba18a52c3e7d3a979 \
+ file://notice.html;md5=a00d6f9ab542be7babc2d8b80d5d2a4c \
+"
+DEPENDS = "uthash"
+
+SRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
+ file://mosquitto.init \
+"
+
+SRC_URI[md5sum] = "529b6de33bac18363c2db46194d8d91c"
+SRC_URI[sha256sum] = "82676bf4201ff102be1511b56b041a9450fbbfeda40b21aa28be0fee56e8de17"
+
+inherit systemd update-rc.d useradd
+
+PACKAGECONFIG ??= "ssl uuid \
+ ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
+ "
+
+PACKAGECONFIG[dns-srv] = "WITH_SRV=yes,WITH_SRV=no,c-ares"
+PACKAGECONFIG[ssl] = "WITH_TLS=yes WITH_TLS_PSK=yes,WITH_TLS=no WITH_TLS_PSK=no,openssl"
+PACKAGECONFIG[uuid] = "WITH_UUID=yes,WITH_UUID=no,util-linux"
+PACKAGECONFIG[systemd] = "WITH_SYSTEMD=yes,WITH_SYSTEMD=no,systemd"
+PACKAGECONFIG[websockets] = "WITH_WEBSOCKETS=yes,WITH_WEBSOCKETS=no,libwebsockets"
+
+EXTRA_OEMAKE = " \
+ prefix=${prefix} \
+ mandir=${mandir} \
+ localedir=${localedir} \
+ ${PACKAGECONFIG_CONFARGS} \
+ STRIP=/bin/true \
+ WITH_DOCS=no \
+ WITH_BUNDLED_DEPS=no \
+"
+
+export LIB_SUFFIX = "${@d.getVar('baselib').replace('lib', '')}"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
+
+ install -d ${D}${sysconfdir}/mosquitto
+ install -m 0644 ${D}${sysconfdir}/mosquitto/mosquitto.conf.example \
+ ${D}${sysconfdir}/mosquitto/mosquitto.conf
+
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
+ -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${D}${sysconfdir}/init.d/mosquitto
+}
+
+PACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients"
+
+PACKAGE_BEFORE_PN = "${PN}-examples"
+
+FILES_${PN} = "${sbindir}/mosquitto \
+ ${bindir}/mosquitto_passwd \
+ ${sysconfdir}/mosquitto \
+ ${sysconfdir}/init.d \
+ ${systemd_unitdir}/system/mosquitto.service \
+"
+
+CONFFILES_${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
+
+FILES_libmosquitto1 = "${libdir}/libmosquitto.so.1"
+
+FILES_libmosquittopp1 = "${libdir}/libmosquittopp.so.1"
+
+FILES_${PN}-clients = "${bindir}/mosquitto_pub \
+ ${bindir}/mosquitto_sub \
+ ${bindir}/mosquitto_rr \
+"
+
+FILES_${PN}-examples = "${sysconfdir}/mosquitto/*.example"
+
+SYSTEMD_SERVICE_${PN} = "mosquitto.service"
+
+INITSCRIPT_NAME = "mosquitto"
+INITSCRIPT_PARAMS = "defaults 30"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false \
+ --user-group mosquitto"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd
new file mode 100644
index 000000000..4fdd80d41
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd
@@ -0,0 +1,110 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: network-manager
+# Required-Start: $remote_fs dbus udev
+# Required-Stop: $remote_fs dbus udev
+# Should-Start: $syslog
+# Should-Stop: $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: network connection manager
+# Description: Daemon for automatically switching network
+# connections to the best available connection.
+### END INIT INFO
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DESC="network connection manager"
+NAME="NetworkManager"
+
+DAEMON=/usr/sbin/$NAME
+
+PIDFILE=/run/$NAME/$NAME.pid
+
+SCRIPTNAME=/etc/init.d/network-manager
+
+. /etc/init.d/functions || exit 1
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+log_daemon_msg() {
+ echo -n $*
+}
+
+log_end_msg() {
+ if [ $1 -eq 0 ]; then
+ success
+ else
+ failure
+ fi
+ echo
+}
+
+log_progress_msg () {
+ if [ -z "${1:-}" ]; then
+ return 1
+ fi
+ echo -n " $@"
+}
+
+#
+# Function that starts the daemon/service.
+#
+d_start() {
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --exec $DAEMON -- $DAEMON_OPTS
+}
+
+#
+# Function that stops the daemon/service.
+#
+d_stop() {
+ start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE \
+ --exec $DAEMON
+}
+
+d_reload() {
+ start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE \
+ --exec $DAEMON
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ d_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_progress_msg "already started"
+ log_end_msg 0 ;;
+ *) log_end_msg 1 ;;
+ esac
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ d_stop
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_progress_msg "already stopped"
+ log_end_msg 0 ;;
+ *) log_end_msg 1 ;;
+ esac
+ ;;
+ reload|force-reload)
+ log_daemon_msg "Reloading $DESC" "$NAME"
+ d_reload
+ log_end_msg $?
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ status)
+ status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb
deleted file mode 100644
index 9215a8676..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.0.bb
+++ /dev/null
@@ -1,146 +0,0 @@
-SUMMARY = "NetworkManager"
-HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
-SECTION = "net/misc"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
- file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
- file://docs/api/html/license.html;md5=233931303ef80eded167add1f60a50c1 \
-"
-
-DEPENDS = " \
- intltool-native \
- libxslt-native \
- libnl \
- libgudev \
- util-linux \
- libndp \
- libnewt \
- jansson \
- curl \
-"
-
-inherit gnomebase gettext systemd bluetooth bash-completion vala gobject-introspection gtk-doc
-
-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 \
-"
-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] = "c8c27116a8083bab5d5fcca0d03e988a"
-SRC_URI[sha256sum] = "c6e8df25e5a3c7309bc17664be8971689314884cdd08afdd6b0847d29d2a8ba6"
-
-UPSTREAM_CHECK_URI = "${GNOME_MIRROR}/NetworkManager/1.16/"
-UPSTREAM_CHECK_REGEX = "NetworkManager\-(?P<pver>1\.10(\.\d+)+).tar.xz"
-
-S = "${WORKDIR}/NetworkManager-${PV}"
-
-EXTRA_OECONF = " \
- --disable-ifcfg-rh \
- --disable-more-warnings \
- --with-iptables=${sbindir}/iptables \
- --with-tests \
- --with-nmtui=yes \
- --with-udev-dir=${nonarch_base_libdir}/udev \
-"
-
-# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template
-# avoids:
-# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'?
-#
-# and
-#
-# | In file included from ../NetworkManager-1.16.0/src/systemd/nm-sd-utils-core.c:25:
-# | ../NetworkManager-1.16.0/src/systemd/sd-adapt-core/nm-sd-adapt-core.h:68:6: error: #error neither secure_getenv nor __secure_getenv is available
-# | # error neither secure_getenv nor __secure_getenv is available
-# | ^~~~~
-CFLAGS_append_libc-musl = " \
- -DRTLD_DEEPBIND=0 \
- -DHAVE_SECURE_GETENV \
- -Dsecure_getenv=getenv \
-"
-
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
-}
-
-PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \
-"
-PACKAGECONFIG[systemd] = " \
- --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \
- --without-systemdsystemunitdir, \
-"
-PACKAGECONFIG[polkit] = "--enable-polkit --enable-polkit-agent,--disable-polkit --disable-polkit-agent,polkit"
-PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
-# consolekit is not picked by shlibs, so add it to RDEPENDS too
-PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
-PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
-PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
-# Use full featured dhcp client instead of internal one
-PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
-PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
-PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
-PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib"
-PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
-PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant"
-PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
-PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
-
-PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
- ${PN}-nmtui ${PN}-nmtui-doc \
- ${PN}-adsl \
-"
-
-FILES_libnmutil += "${libdir}/libnm-util.so.*"
-FILES_libnmglib += "${libdir}/libnm-glib.so.*"
-FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
-
-FILES_${PN}-adsl = "${libdir}/NetworkManager/libnm-device-plugin-adsl.so"
-
-FILES_${PN} += " \
- ${libexecdir} \
- ${libdir}/NetworkManager/${PV}/*.so \
- ${nonarch_libdir}/NetworkManager/VPN \
- ${nonarch_libdir}/NetworkManager/conf.d \
- ${datadir}/polkit-1 \
- ${datadir}/dbus-1 \
- ${noarch_base_libdir}/udev/* \
- ${systemd_unitdir}/system \
- ${libdir}/pppd \
-"
-
-RRECOMMENDS_${PN} += "iptables \
- ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
-"
-RCONFLICTS_${PN} = "connman"
-
-FILES_${PN}-dev += " \
- ${datadir}/NetworkManager/gdb-cmd \
- ${libdir}/pppd/*/*.la \
- ${libdir}/NetworkManager/*.la \
- ${libdir}/NetworkManager/${PV}/*.la \
-"
-
-FILES_${PN}-nmtui = " \
- ${bindir}/nmtui \
- ${bindir}/nmtui-edit \
- ${bindir}/nmtui-connect \
- ${bindir}/nmtui-hostname \
-"
-
-FILES_${PN}-nmtui-doc = " \
- ${mandir}/man1/nmtui* \
-"
-
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}"
-
-do_install_append() {
- rm -rf ${D}/run ${D}${localstatedir}/run
-}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb
new file mode 100644
index 000000000..0d6e1a0b0
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb
@@ -0,0 +1,148 @@
+SUMMARY = "NetworkManager"
+HOMEPAGE = "https://wiki.gnome.org/Projects/NetworkManager"
+SECTION = "net/misc"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b \
+ file://libnm-util/COPYING;md5=1c4fa765d6eb3cd2fbd84344a1b816cd \
+"
+
+DEPENDS = " \
+ intltool-native \
+ libxslt-native \
+ libnl \
+ libgudev \
+ util-linux \
+ libndp \
+ libnewt \
+ jansson \
+ curl \
+"
+
+inherit gnomebase gettext update-rc.d systemd bash-completion vala gobject-introspection gtk-doc update-alternatives upstream-version-is-even
+
+SRC_URI = " \
+ ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \
+ file://${BPN}.initd \
+ file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \
+ file://0002-Do-not-create-settings-settings-property-documentati.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] = "ca1e6175c6ba97ca1adf65a67861ccd9"
+SRC_URI[sha256sum] = "4dd97ca974cd1f97990746527258f551f4257cbf011fecd01d10b7d74a6fa5c3"
+
+S = "${WORKDIR}/NetworkManager-${PV}"
+
+EXTRA_OECONF = " \
+ --disable-ifcfg-rh \
+ --disable-more-warnings \
+ --with-iptables=${sbindir}/iptables \
+ --with-tests \
+ --with-nmtui=yes \
+ --with-udev-dir=${nonarch_base_libdir}/udev \
+"
+
+# stolen from https://github.com/void-linux/void-packages/blob/master/srcpkgs/NetworkManager/template
+# avoids:
+# | ../NetworkManager-1.16.0/libnm-core/nm-json.c:106:50: error: 'RTLD_DEEPBIND' undeclared (first use in this function); did you mean 'RTLD_DEFAULT'?
+CFLAGS_append_libc-musl = " \
+ -DRTLD_DEEPBIND=0 \
+"
+
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/libnm/.libs:${B}/libnm-glib/.libs:${B}/libnm-util/.libs"
+}
+
+PACKAGECONFIG ??= "nss ifupdown dhclient dnsmasq \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'wifi polkit', d)} \
+"
+PACKAGECONFIG[systemd] = " \
+ --with-systemdsystemunitdir=${systemd_unitdir}/system --with-session-tracking=systemd, \
+ --without-systemdsystemunitdir, \
+"
+PACKAGECONFIG[polkit] = "--enable-polkit --enable-polkit-agent,--disable-polkit --disable-polkit-agent,polkit"
+PACKAGECONFIG[bluez5] = "--enable-bluez5-dun,--disable-bluez5-dun,bluez5"
+# consolekit is not picked by shlibs, so add it to RDEPENDS too
+PACKAGECONFIG[consolekit] = "--with-session-tracking=consolekit,,consolekit,consolekit"
+PACKAGECONFIG[modemmanager] = "--with-modem-manager-1=yes,--with-modem-manager-1=no,modemmanager"
+PACKAGECONFIG[ppp] = "--enable-ppp,--disable-ppp,ppp,ppp"
+# Use full featured dhcp client instead of internal one
+PACKAGECONFIG[dhclient] = "--with-dhclient=${base_sbindir}/dhclient,,,dhcp-client"
+PACKAGECONFIG[dnsmasq] = "--with-dnsmasq=${bindir}/dnsmasq"
+PACKAGECONFIG[nss] = "--with-crypto=nss,,nss"
+PACKAGECONFIG[glib] = "--with-libnm-glib,,dbus-glib-native dbus-glib"
+PACKAGECONFIG[resolvconf] = "--with-resolvconf=${base_sbindir}/resolvconf,,,resolvconf"
+PACKAGECONFIG[gnutls] = "--with-crypto=gnutls,,gnutls"
+PACKAGECONFIG[wifi] = "--enable-wifi=yes,--enable-wifi=no,,wpa-supplicant"
+PACKAGECONFIG[ifupdown] = "--enable-ifupdown,--disable-ifupdown"
+PACKAGECONFIG[qt4-x11-free] = "--enable-qt,--disable-qt,qt4-x11-free"
+
+PACKAGES =+ "libnmutil libnmglib libnmglib-vpn \
+ ${PN}-nmtui ${PN}-nmtui-doc \
+ ${PN}-adsl \
+"
+
+FILES_libnmutil += "${libdir}/libnm-util.so.*"
+FILES_libnmglib += "${libdir}/libnm-glib.so.*"
+FILES_libnmglib-vpn += "${libdir}/libnm-glib-vpn.so.*"
+
+FILES_${PN}-adsl = "${libdir}/NetworkManager/${PV}/libnm-device-plugin-adsl.so"
+
+FILES_${PN} += " \
+ ${libexecdir} \
+ ${libdir}/NetworkManager/${PV}/*.so \
+ ${nonarch_libdir}/NetworkManager/VPN \
+ ${nonarch_libdir}/NetworkManager/conf.d \
+ ${datadir}/polkit-1 \
+ ${datadir}/dbus-1 \
+ ${nonarch_base_libdir}/udev/* \
+ ${systemd_unitdir}/system \
+ ${libdir}/pppd \
+"
+
+RRECOMMENDS_${PN} += "iptables \
+ ${@bb.utils.filter('PACKAGECONFIG', 'dnsmasq', d)} \
+"
+RCONFLICTS_${PN} = "connman"
+
+FILES_${PN}-dev += " \
+ ${datadir}/NetworkManager/gdb-cmd \
+ ${libdir}/pppd/*/*.la \
+ ${libdir}/NetworkManager/*.la \
+ ${libdir}/NetworkManager/${PV}/*.la \
+"
+
+FILES_${PN}-nmtui = " \
+ ${bindir}/nmtui \
+ ${bindir}/nmtui-edit \
+ ${bindir}/nmtui-connect \
+ ${bindir}/nmtui-hostname \
+"
+
+FILES_${PN}-nmtui-doc = " \
+ ${mandir}/man1/nmtui* \
+"
+
+INITSCRIPT_NAME = "network-manager"
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}"
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','resolv-conf','',d)}"
+ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv-conf.NetworkManager','',d)}"
+ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}"
+
+do_install_append() {
+ install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager
+
+ rm -rf ${D}/run ${D}${localstatedir}/run
+
+ # For read-only filesystem, do not create links during bootup
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ ln -sf ../run/NetworkManager/resolv.conf ${D}${sysconfdir}/resolv-conf.NetworkManager
+ fi
+}
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb
index 4fe6893fa..3a27c2c5b 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/rdist/rdist_6.1.5.bb
@@ -40,4 +40,4 @@ inherit autotools-brokensep
EXTRA_OEMAKE = "BIN_GROUP=root MAN_GROUP=root RDIST_MODE=755 RDISTD_MODE=755 MAN_MODE=644"
# http://errors.yoctoproject.org/Errors/Details/186972/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch
new file mode 100644
index 000000000..de7f31183
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch
@@ -0,0 +1,30 @@
+From 3a935c638605bfb392ca7780d22c08c1a0a71e71 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 5 Sep 2019 21:37:33 -0700
+Subject: [PATCH 1/2] lib/replace/wscript: Avoid generating nested main
+ function
+
+clang is not happy when it sees another main nested inside the main
+function and fails the test for prctl syscall, therefore avoid adding
+implicit main() here
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/replace/wscript | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index a7fd25d..d6767fc 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -137,6 +137,7 @@ def configure(conf):
+ }
+ ''',
+ 'HAVE_PRCTL',
++ addmain=False,
+ headers='sys/prctl.h',
+ msg='Checking for prctl syscall')
+
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch
new file mode 100644
index 000000000..fb12a10e2
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch
@@ -0,0 +1,42 @@
+From fcb8ecd530b2d151e373974741601483326f7528 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 27 Jun 2019 11:09:47 +0800
+Subject: [PATCH] samba: fix musl lib without innetgr
+
+Upstream-Status: Pending
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/util/access.c | 2 +-
+ source3/auth/user_util.c | 2 +-
+ 2 file changed, 2 insertion(+), 2 deletion(-)
+
+diff --git a/lib/util/access.c b/lib/util/access.c
+index 7da0573..b94949e 100644
+--- a/lib/util/access.c
++++ b/lib/util/access.c
+@@ -112,7 +112,7 @@ static bool string_match(const char *tok,const char *s)
+ return true;
+ }
+ } else if (tok[0] == '@') { /* netgroup: look it up */
+-#ifdef HAVE_NETGROUP
++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR)
+ DATA_BLOB tmp;
+ char *mydomain = NULL;
+ char *hostname = NULL;
+diff --git a/source3/auth/user_util.c b/source3/auth/user_util.c
+index a76b5d4..30f523d 100644
+--- a/source3/auth/user_util.c
++++ b/source3/auth/user_util.c
+@@ -148,7 +148,7 @@ static void store_map_in_gencache(TALLOC_CTX *ctx, const char *from, const char
+
+ bool user_in_netgroup(TALLOC_CTX *ctx, const char *user, const char *ngname)
+ {
+-#ifdef HAVE_NETGROUP
++#if defined(HAVE_NETGROUP) && defined(HAVE_INNETGR)
+ static char *my_yp_domain = NULL;
+ char *lowercase_user = NULL;
+
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 000000000..23b35a814
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf also upgraded
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+ args = Utils.to_list(kw.get('exec_args', []))
+ proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ """
+ color = 'PINK'
+ def run(self):
++ args = self.generator.bld.kw.get('exec_args', [])
+ if getattr(self.generator, 'rpath', None):
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+- else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++ else:
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ else:
+ env = self.env.env or {}
+ env.update(dict(os.environ))
+ for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+
+ @feature('test_exec')
+ @after_method('apply_link')
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch
new file mode 100644
index 000000000..6fc849337
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch
@@ -0,0 +1,58 @@
+From c62a6f32ab965de2ec77a614f20f04568116835b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 5 Sep 2019 21:39:05 -0700
+Subject: [PATCH 2/2] util_sec.c: Move __thread variable to global scope
+
+Make clang happy otherwise it complains about variable scope
+
+fixes
+
+source3/./lib/util_sec.c:470:4: error: '__thread' variables must have global storage
+ } __thread cache;
+ ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ source3/lib/util_sec.c | 19 +++++++++++--------
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/source3/lib/util_sec.c b/source3/lib/util_sec.c
+index 9408269..7390318 100644
+--- a/source3/lib/util_sec.c
++++ b/source3/lib/util_sec.c
+@@ -444,6 +444,17 @@ void become_user_permanently(uid_t uid, gid_t gid)
+ assert_gid(gid, gid);
+ }
+
++#ifdef HAVE___THREAD
++ struct cache_t {
++ bool active;
++ uid_t uid;
++ gid_t gid;
++ size_t setlen;
++ uintptr_t gidset;
++ };
++
++static __thread struct cache_t cache;
++#endif
+ /**********************************************************
+ Function to set thread specific credentials. Leave
+ saved-set uid/gid alone.Must be thread-safe code.
+@@ -461,14 +472,6 @@ int set_thread_credentials(uid_t uid,
+ * available.
+ */
+ #ifdef HAVE___THREAD
+- static struct {
+- bool active;
+- uid_t uid;
+- gid_t gid;
+- size_t setlen;
+- uintptr_t gidset;
+- } __thread cache;
+-
+ if (cache.active &&
+ cache.uid == uid &&
+ cache.gid == gid &&
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
index e112b3b40..3f2921ed3 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
@@ -1,21 +1,32 @@
-Some modules such as dynamic library maybe cann't be imported while cross compile,
-we just check whether does the module exist.
+From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 25 Jun 2019 14:25:08 +0800
+Subject: [PATCH] do not import target module while cross compile
+
+Some modules such as dynamic library maybe cann't be imported
+while cross compile, we just check whether does the module exist.
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
-Index: samba-4.4.2/buildtools/wafsamba/samba_bundled.py
-===================================================================
---- samba-4.4.2.orig/buildtools/wafsamba/samba_bundled.py
-+++ samba-4.4.2/buildtools/wafsamba/samba_bundled.py
-@@ -2,6 +2,7 @@
-
- import sys
- import Build, Options, Logs
-+import imp, os
- from Configure import conf
- from samba_utils import TO_LIST
+update to version 4.10.5, and switch to python3
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
+index 60ce7da..5468a36 100644
+--- a/buildtools/wafsamba/samba_bundled.py
++++ b/buildtools/wafsamba/samba_bundled.py
+@@ -4,6 +4,7 @@ import sys
+ from waflib import Build, Options, Logs
+ from waflib.Configure import conf
+ from wafsamba import samba_utils
++import importlib.util, os
-@@ -230,17 +231,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, li
+ def PRIVATE_NAME(bld, name, private_extension, private_library):
+ '''possibly rename a library to include a bundled extension'''
+@@ -249,17 +250,27 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
# versions
minversion = minimum_library_version(conf, libname, minversion)
@@ -25,34 +36,32 @@ Index: samba-4.4.2/buildtools/wafsamba/samba_bundled.py
- found = False
- else:
+ # Find module in PYTHONPATH
-+ stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]])
-+ if stuff:
++ spec = importlib.util._find_spec_from_path(modulename, [os.environ["PYTHONPATH"]])
++ if spec:
try:
- version = m.__version__
- except AttributeError:
-+ m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2])
++ module = importlib.util.module_from_spec(spec)
++ spec.loader.load_module(module)
+ except ImportError:
found = False
+
+ if conf.env.CROSS_COMPILE:
+ # Some modules such as dynamic library maybe cann't be imported
+ # while cross compile, we just check whether the module exist
-+ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1]))
++ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (spec.name))
+ found = True
else:
- found = tuplize_version(version) >= tuplize_version(minversion)
+ try:
-+ version = m.__version__
++ version = module.__version__
+ except AttributeError:
+ found = False
+ else:
+ found = tuplize_version(version) >= tuplize_version(minversion)
-+ finally:
-+ if stuff[0]:
-+ stuff[0].close()
-+ else:
-+ found = False
-+
if not found and not conf.LIB_MAY_BE_BUNDLED(libname):
Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
sys.exit(1)
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
index 6a7f8facc..46a6f0626 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
@@ -1,54 +1,40 @@
-From 9a2d6315ff206b2a47100dfd85afe3af56576995 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Thu, 10 Dec 2015 04:20:51 -0500
+From 87bc8e7eafc7d12a1d3a143ebb9e43cf5fbafb72 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 14:11:16 +0800
Subject: [PATCH] Add config option without-valgrind
Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+Update patch to version 4.10.5
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- lib/replace/wscript | 4 +++-
- source3/wscript | 5 ++++-
+ lib/replace/wscript | 5 +++--
wscript | 4 ++++
- 3 files changed, 11 insertions(+), 2 deletions(-)
+ 2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib/replace/wscript b/lib/replace/wscript
-index f0040b1..aca73af 100644
+index a7fd25d..a19ae68 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
-@@ -101,7 +101,9 @@ def configure(conf):
+@@ -110,8 +110,9 @@ def configure(conf):
conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
+- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+ if not Options.options.disable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-diff --git a/source3/wscript b/source3/wscript
-index bac3dd5..a5c51ea 100644
---- a/source3/wscript
-+++ b/source3/wscript
-@@ -1070,7 +1070,10 @@ syscall(SYS_setgroups32, 0, NULL);
- Logs.warn("--with-dnsupdate=yes but gssapi support not sufficient")
- else:
- conf.DEFINE('WITH_DNS_UPDATES', 1)
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
-+ if not Options.options.disable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
- if Options.options.developer:
- if conf.CONFIG_SET('HAVE_VALGRIND_H') or conf.CONFIG_SET('HAVE_VALGRIND_VALGRIND_H'):
- conf.DEFINE('VALGRIND', '1')
diff --git a/wscript b/wscript
-index 542a60c..22e6116 100644
+index e38a8e9..38b7230 100644
--- a/wscript
+++ b/wscript
-@@ -86,6 +86,10 @@ def set_options(opt):
+@@ -105,6 +105,10 @@ def options(opt):
help=("Disable RELRO builds"),
action="store_false", dest='enable_relro')
@@ -58,7 +44,7 @@ index 542a60c..22e6116 100644
+
gr = opt.option_group('developer options')
- opt.tool_options('python') # options for disabling pyc or pyo compilation
+ opt.load('python') # options for disabling pyc or pyo compilation
--
-1.9.1
+2.7.4
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
index 894bc8bb2..d07ec0df1 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
@@ -1,15 +1,28 @@
-Index: samba-4.6.2/ctdb/tests/src/test_mutex_raw.c
-===================================================================
---- samba-4.6.2.orig/ctdb/tests/src/test_mutex_raw.c
-+++ samba-4.6.2/ctdb/tests/src/test_mutex_raw.c
-@@ -166,8 +166,10 @@ int main(int argc, const char **argv)
- if (ret == 0) {
- pthread_mutex_unlock(mutex);
+From 062cf74b498c1d12fd76f9d9bca926ac806e0b99 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 14:15:18 +0800
+Subject: [PATCH] glibc only fix
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ ctdb/tests/src/test_mutex_raw.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ctdb/tests/src/test_mutex_raw.c b/ctdb/tests/src/test_mutex_raw.c
+index 926a525..814343f 100644
+--- a/ctdb/tests/src/test_mutex_raw.c
++++ b/ctdb/tests/src/test_mutex_raw.c
+@@ -291,8 +291,10 @@ int main(int argc, const char **argv)
+ "failed\n");
+ exit (EXIT_FAILURE);
}
+#ifdef __GLIBC__
} else if (ret == EBUSY) {
- printf("pid=%u\n", mutex->__data.__owner);
+ printf("INFO: pid=%u\n", mutex->__data.__owner);
+#endif
} else if (ret == 0) {
pthread_mutex_unlock(mutex);
}
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.8.bb
new file mode 100644
index 000000000..d824eacf9
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.10.8.bb
@@ -0,0 +1,331 @@
+HOMEPAGE = "https://www.samba.org/"
+SECTION = "console/network"
+
+LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
+ file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 "
+
+SAMBA_MIRROR = "http://samba.org/samba/ftp"
+MIRRORS += "\
+${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \
+${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
+"
+
+SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
+ file://smb.conf \
+ file://16-do-not-check-xsltproc-manpages.patch \
+ file://20-do-not-import-target-module-while-cross-compile.patch \
+ file://21-add-config-option-without-valgrind.patch \
+ file://netdb_defines.patch \
+ file://glibc_only.patch \
+ file://iconv-4.7.0.patch \
+ file://dnsserver-4.7.0.patch \
+ file://smb_conf-4.7.0.patch \
+ file://volatiles.03_samba \
+ file://0001-waf-add-support-of-cross_compile.patch \
+ file://0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch \
+ file://0002-util_sec.c-Move-__thread-variable-to-global-scope.patch \
+ "
+SRC_URI_append_libc-musl = " \
+ file://samba-pam.patch \
+ file://samba-4.3.9-remove-getpwent_r.patch \
+ file://cmocka-uintptr_t.patch \
+ file://0001-samba-fix-musl-lib-without-innetgr.patch \
+ "
+
+SRC_URI[md5sum] = "f3c722bbcd903479008fa1b529f56365"
+SRC_URI[sha256sum] = "c41f05fb567f7359998b451543501c7690a2bf6551d658a76bd6916316a410f4"
+
+UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.10(\.\d+)+).tar.gz"
+
+inherit systemd waf-samba cpan-base perlnative update-rc.d
+# remove default added RDEPENDS on perl
+RDEPENDS_${PN}_remove = "perl"
+
+DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libbsd libaio libpam libtasn1 jansson"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+DEPENDS_append_libc-musl = " libtirpc"
+CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append_libc-musl = " -ltirpc"
+
+INITSCRIPT_NAME = "samba"
+INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
+
+SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind"
+SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service"
+SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}"
+SYSTEMD_SERVICE_winbind = "winbind.service"
+
+# There are prerequisite settings to enable ad-dc, so disable the service by default.
+# Reference:
+# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
+SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable"
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+# Use krb5. Build active domain controller.
+#
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
+ acl cups ad-dc gnutls ldap mitkrb5 \
+"
+
+RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
+
+PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[sasl] = ",,cyrus-sasl"
+PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
+PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
+PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
+PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
+PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
+PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
+PACKAGECONFIG[libunwind] = ", , libunwind"
+PACKAGECONFIG[gpgme] = ",--without-gpgme,,"
+PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
+
+# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS,
+# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to:
+# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html
+# So the working combination is:
+# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable
+# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable
+#
+# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where
+# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow.
+#
+PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,,"
+PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
+
+SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
+SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
+SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
+SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
+
+# These libraries are supposed to replace others supplied by packages, but decorate the names of
+# .so files so there will not be a conflict. This is not done consistantly, so be very careful
+# when adding to this list.
+#
+SAMBA4_LIBS="heimdal,cmocka,NONE"
+
+EXTRA_OECONF += "--enable-fhs \
+ --with-piddir=/run \
+ --with-sockets-dir=/run/samba \
+ --with-modulesdir=${libdir}/samba \
+ --with-lockdir=${localstatedir}/lib/samba \
+ --with-cachedir=${localstatedir}/lib/samba \
+ --disable-rpath-install \
+ --with-shared-modules=${SAMBA4_MODULES} \
+ --bundled-libraries=${SAMBA4_LIBS} \
+ ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
+ --with-cluster-support \
+ --with-profiling-data \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix} \
+ --with-pam --with-pammodulesdir=${base_libdir}/security \
+ "
+
+LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+do_install_append() {
+ for section in 1 5 7; do
+ install -d ${D}${mandir}/man$section
+ install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
+ done
+ for section in 1 5 7 8; do
+ install -d ${D}${mandir}/man$section
+ install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
+ done
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/
+ sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
+ -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
+ -i ${D}${systemd_system_unitdir}/*.service
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then
+ rm -f ${D}${systemd_system_unitdir}/samba.service
+ fi
+
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
+ echo "d ${localstatedir}/log/samba 0755 root root -" \
+ >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba
+ sed -e 's,/opt/samba/bin,${sbindir},g' \
+ -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
+ -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
+ -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \
+ -e 's,/usr/bin,${base_bindir},g' \
+ -i ${D}${sysconfdir}/init.d/samba
+
+ install -d ${D}${sysconfdir}/samba
+ echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
+ install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf
+ install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
+
+ install -d ${D}${sysconfdir}/default
+ install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
+
+ # the items are from ctdb/tests/run_tests.sh
+ for d in onnode takeover tool eventscripts cunit simple complex; do
+ testdir=${D}${datadir}/ctdb-tests/$d
+ install -d $testdir
+ cp ${S}/ctdb/tests/$d/*.sh $testdir
+ cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true
+ done
+
+ # fix file-rdeps qa warning
+ if [ -f ${D}${bindir}/onnode ]; then
+ sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
+ fi
+
+ chmod 0750 ${D}${sysconfdir}/sudoers.d
+ rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
+
+ sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba-gpupdate
+ sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_upgradedns
+ sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_spnupdate
+ sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_kcc
+ sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${sbindir}/samba_dnsupdate
+ sed -i -e 's,${PYTHON},/usr/bin/env python3/,g' ${D}${bindir}/samba-tool
+
+}
+
+PACKAGES =+ "${PN}-python3 ${PN}-pidl \
+ ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
+ winbind \
+ ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \
+ smbclient ${PN}-client ${PN}-server ${PN}-test"
+
+python samba_populate_packages() {
+ def module_hook(file, pkg, pattern, format, basename):
+ pn = d.getVar('PN')
+ d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg)
+
+ mlprefix = d.getVar('MLPREFIX') or ''
+ pam_libdir = d.expand('${base_libdir}/security')
+ pam_pkgname = mlprefix + 'pam-plugin%s'
+ do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
+
+ libdir = d.getVar('libdir')
+ do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
+ pkglibdir = '%s/samba' % libdir
+ do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
+ moduledir = '%s/samba/auth' % libdir
+ do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
+ moduledir = '%s/samba/pdb' % libdir
+ do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
+}
+
+PACKAGESPLITFUNCS_prepend = "samba_populate_packages "
+PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
+
+RDEPENDS_${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3"
+RDEPENDS_${PN}-python3 += "pytalloc python3-tdb"
+
+FILES_${PN}-base = "${sbindir}/nmbd \
+ ${sbindir}/smbd \
+ ${sysconfdir}/init.d \
+ ${systemd_system_unitdir}/nmb.service \
+ ${systemd_system_unitdir}/smb.service"
+
+FILES_${PN}-ad-dc = "${sbindir}/samba \
+ ${systemd_system_unitdir}/samba.service \
+ ${libdir}/krb5/plugins/kdb/samba.so \
+"
+RDEPENDS_${PN}-ad-dc = "krb5-kdc"
+
+FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
+ ${bindir}/ctdb_run_cluster_tests \
+ ${sysconfdir}/ctdb/nodes \
+ ${datadir}/ctdb-tests \
+ ${datadir}/ctdb/tests \
+ ${localstatedir}/lib/ctdb \
+ "
+
+FILES_${BPN}-common = "${sysconfdir}/default \
+ ${sysconfdir}/samba \
+ ${sysconfdir}/tmpfiles.d \
+ ${localstatedir}/lib/samba \
+ ${localstatedir}/spool/samba \
+"
+
+FILES_${PN} += "${libdir}/vfs/*.so \
+ ${libdir}/charset/*.so \
+ ${libdir}/*.dat \
+ ${libdir}/auth/*.so \
+ ${datadir}/ctdb/events/* \
+"
+
+FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb"
+
+FILES_${PN}-testsuite = "${bindir}/gentest \
+ ${bindir}/locktest \
+ ${bindir}/masktest \
+ ${bindir}/ndrdump \
+ ${bindir}/smbtorture"
+
+FILES_registry-tools = "${bindir}/regdiff \
+ ${bindir}/regpatch \
+ ${bindir}/regshell \
+ ${bindir}/regtree"
+
+FILES_winbind = "${sbindir}/winbindd \
+ ${bindir}/wbinfo \
+ ${bindir}/ntlm_auth \
+ ${libdir}/samba/idmap \
+ ${libdir}/samba/nss_info \
+ ${libdir}/winbind_krb5_locator.so \
+ ${libdir}/winbind-krb5-localauth.so \
+ ${sysconfdir}/init.d/winbind \
+ ${systemd_system_unitdir}/winbind.service"
+
+FILES_${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
+
+FILES_smbclient = "${bindir}/cifsdd \
+ ${bindir}/rpcclient \
+ ${bindir}/smbcacls \
+ ${bindir}/smbclient \
+ ${bindir}/smbcquotas \
+ ${bindir}/smbget \
+ ${bindir}/smbspool \
+ ${bindir}/smbtar \
+ ${bindir}/smbtree \
+ ${libdir}/samba/smbspool_krb5_wrapper"
+
+RDEPENDS_${PN}-pidl_append = " perl"
+FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
+
+RDEPENDS_${PN}-client = "\
+ smbclient \
+ winbind \
+ registry-tools \
+ ${PN}-pidl \
+ "
+
+ALLOW_EMPTY_${PN}-client = "1"
+
+RDEPENDS_${PN}-server = "\
+ ${PN} \
+ winbind \
+ registry-tools \
+ "
+
+ALLOW_EMPTY_${PN}-server = "1"
+
+RDEPENDS_${PN}-test = "\
+ ${PN}-ctdb-tests \
+ ${PN}-testsuite \
+ "
+
+ALLOW_EMPTY_${PN}-test = "1"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb
deleted file mode 100644
index 762a5bc61..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.8.12.bb
+++ /dev/null
@@ -1,327 +0,0 @@
-HOMEPAGE = "https://www.samba.org/"
-SECTION = "console/network"
-
-LICENSE = "GPL-3.0+ & LGPL-3.0+ & GPL-2.0+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://${COREBASE}/meta/files/common-licenses/LGPL-3.0;md5=bfccfe952269fff2b407dd11f2f3083b \
- file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 "
-
-SAMBA_MIRROR = "http://samba.org/samba/ftp"
-MIRRORS += "\
-${SAMBA_MIRROR} http://mirror.internode.on.net/pub/samba \n \
-${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
-"
-
-SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
- file://smb.conf \
- file://16-do-not-check-xsltproc-manpages.patch \
- file://20-do-not-import-target-module-while-cross-compile.patch \
- file://21-add-config-option-without-valgrind.patch \
- file://netdb_defines.patch \
- file://glibc_only.patch \
- file://iconv-4.7.0.patch \
- file://dnsserver-4.7.0.patch \
- file://smb_conf-4.7.0.patch \
- file://volatiles.03_samba \
- "
-SRC_URI_append_libc-musl = " \
- file://samba-pam.patch \
- file://samba-4.3.9-remove-getpwent_r.patch \
- file://cmocka-uintptr_t.patch \
- "
-
-SRC_URI[md5sum] = "25de700c8f1148fd13973a49a51c059e"
-SRC_URI[sha256sum] = "c162d519101e15d1a1d76df063bfefe8d1656f57fb74e1ef19fe05d341a65d8f"
-
-UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.8(\.\d+)+).tar.gz"
-
-inherit systemd waf-samba cpan-base perlnative update-rc.d
-# remove default added RDEPENDS on perl
-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"
-
-DEPENDS_append_libc-musl = " libtirpc"
-CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
-LDFLAGS_append_libc-musl = " -ltirpc"
-
-INITSCRIPT_NAME = "samba"
-INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
-
-SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind"
-SYSTEMD_SERVICE_${PN}-base = "nmb.service smb.service"
-SYSTEMD_SERVICE_${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}"
-SYSTEMD_SERVICE_winbind = "winbind.service"
-
-# There are prerequisite settings to enable ad-dc, so disable the service by default.
-# Reference:
-# https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
-SYSTEMD_AUTO_ENABLE_${PN}-ad-dc = "disable"
-
-# Use krb5. Build active domain controller.
-#
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
- acl ad-dc cups gnutls ldap mitkrb5 \
-"
-
-RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
-
-PACKAGECONFIG[acl] = "--with-acl-support,--without-acl-support,acl"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
-PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[sasl] = ",,cyrus-sasl"
-PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
-PACKAGECONFIG[dmapi] = "--with-dmapi,--without-dmapi,dmapi"
-PACKAGECONFIG[zeroconf] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[valgrind] = ",--without-valgrind,valgrind,"
-PACKAGECONFIG[lttng] = "--with-lttng, --without-lttng,lttng-ust"
-PACKAGECONFIG[archive] = "--with-libarchive, --without-libarchive, libarchive"
-PACKAGECONFIG[libunwind] = ", , libunwind"
-
-# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS,
-# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to:
-# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html
-# So the working combination is:
-# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable
-# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable
-#
-# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where
-# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow.
-#
-PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,,"
-PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
-PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
-
-SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
-SAMBA4_PDB_MODULES="pdb_tdbsam,${@bb.utils.contains('PACKAGECONFIG', 'ldap', 'pdb_ldap,', '', d)}pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4"
-SAMBA4_AUTH_MODULES="auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4"
-SAMBA4_MODULES="${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MODULES}"
-
-# These libraries are supposed to replace others supplied by packages, but decorate the names of
-# .so files so there will not be a conflict. This is not done consistantly, so be very careful
-# when adding to this list.
-#
-SAMBA4_LIBS="heimdal,cmocka,ldb,pyldb-util,NONE"
-
-# interim packages: As long as ldb/pyldb-util are in SAMBA4_LIBS we need to pack
-# bundled libraries in seperate packages. Otherwise they are auto-packed in
-# package 'samba' which RDEPENDS on lots of packages not wanted e.g autostarting
-# nmbd/smbd daemons
-# Once 'ldb,pyldb-util' are removed from SAMBA4_LIBS the bundled packages can
-# be removed again.
-PACKAGES =+ "${PN}-bundled-ldb ${PN}-bundled-pyldb-util"
-FILES_${PN}-bundled-ldb = "${libdir}/samba/libldb${SOLIBS}"
-FILES_${PN}-bundled-pyldb-util = "${libdir}/samba/libpyldb-util${SOLIBS}"
-
-EXTRA_OECONF += "--enable-fhs \
- --with-piddir=/run \
- --with-sockets-dir=/run/samba \
- --with-modulesdir=${libdir}/samba \
- --with-lockdir=${localstatedir}/lib/samba \
- --with-cachedir=${localstatedir}/lib/samba \
- --disable-rpath-install \
- --with-shared-modules=${SAMBA4_MODULES} \
- --bundled-libraries=${SAMBA4_LIBS} \
- ${@oe.utils.conditional('TARGET_ARCH', 'x86_64', '', '--disable-glusterfs', d)} \
- --with-cluster-support \
- --with-profiling-data \
- --with-libiconv=${STAGING_DIR_HOST}${prefix} \
- --with-pam --with-pammodulesdir=${base_libdir}/security \
- "
-
-LDFLAGS += "-Wl,-z,relro,-z,now ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-do_install_append() {
- for section in 1 5 7; do
- install -d ${D}${mandir}/man$section
- install -m 0644 ctdb/doc/*.$section ${D}${mandir}/man$section
- done
- for section in 1 5 7 8; do
- install -d ${D}${mandir}/man$section
- install -m 0644 docs/manpages/*.$section ${D}${mandir}/man$section
- done
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/bin/default/packaging/systemd/*.service ${D}${systemd_system_unitdir}/
- sed -e 's,\(ExecReload=\).*\(/kill\),\1${base_bindir}\2,' \
- -e 's,/etc/sysconfig/samba,${sysconfdir}/default/samba,' \
- -i ${D}${systemd_system_unitdir}/*.service
-
- if [ "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'yes', 'no', d)}" = "no" ]; then
- rm -f ${D}${systemd_system_unitdir}/samba.service
- fi
-
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m644 packaging/systemd/samba.conf.tmp ${D}${sysconfdir}/tmpfiles.d/samba.conf
- echo "d ${localstatedir}/log/samba 0755 root root -" \
- >> ${D}${sysconfdir}/tmpfiles.d/samba.conf
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 packaging/sysv/samba.init ${D}${sysconfdir}/init.d/samba
- sed -e 's,/opt/samba/bin,${sbindir},g' \
- -e 's,/opt/samba/smb.conf,${sysconfdir}/samba/smb.conf,g' \
- -e 's,/opt/samba/log,${localstatedir}/log/samba,g' \
- -e 's,/etc/init.d/samba.server,${sysconfdir}/init.d/samba,g' \
- -e 's,/usr/bin,${base_bindir},g' \
- -i ${D}${sysconfdir}/init.d/samba
-
- install -d ${D}${sysconfdir}/samba
- echo "127.0.0.1 localhost" > ${D}${sysconfdir}/samba/lmhosts
- install -m644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf
- install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/03_samba
-
- install -d ${D}${sysconfdir}/default
- install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
-
- # install ctdb config file and test cases
- install -D -m 0644 ${S}/ctdb/tests/onnode/nodes ${D}${sysconfdir}/ctdb/nodes
- # the items are from ctdb/tests/run_tests.sh
- for d in onnode takeover tool eventscripts cunit simple complex; do
- testdir=${D}${datadir}/ctdb-tests/$d
- install -d $testdir
- cp ${S}/ctdb/tests/$d/*.sh $testdir
- cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true
- done
-
- # fix file-rdeps qa warning
- if [ -f ${D}${bindir}/onnode ]; then
- sed -i 's:\(#!/bin/\)bash:\1sh:' ${D}${bindir}/onnode
- fi
-
- chmod 0750 ${D}${sysconfdir}/sudoers.d
- rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
-}
-
-PACKAGES =+ "${PN}-python ${PN}-pidl \
- ${PN}-dsdb-modules ${PN}-testsuite registry-tools \
- winbind \
- ${PN}-common ${PN}-base ${PN}-ad-dc ${PN}-ctdb-tests \
- smbclient ${PN}-client ${PN}-server ${PN}-test"
-
-python samba_populate_packages() {
- def module_hook(file, pkg, pattern, format, basename):
- pn = d.getVar('PN')
- d.appendVar('RRECOMMENDS_%s-base' % pn, ' %s' % pkg)
-
- mlprefix = d.getVar('MLPREFIX') or ''
- pam_libdir = d.expand('${base_libdir}/security')
- pam_pkgname = mlprefix + 'pam-plugin%s'
- do_split_packages(d, pam_libdir, '^pam_(.*)\.so$', pam_pkgname, 'PAM plugin for %s', extra_depends='', prepend=True)
-
- libdir = d.getVar('libdir')
- do_split_packages(d, libdir, '^lib(.*)\.so\..*$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True, allow_links=True)
- pkglibdir = '%s/samba' % libdir
- do_split_packages(d, pkglibdir, '^lib(.*)\.so$', 'lib%s', 'Samba %s library', extra_depends='${PN}-common', prepend=True)
- moduledir = '%s/samba/auth' % libdir
- do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-auth-%s', 'Samba %s authentication backend', hook=module_hook, extra_depends='', prepend=True)
- moduledir = '%s/samba/pdb' % libdir
- do_split_packages(d, moduledir, '^(.*)\.so$', 'samba-pdb-%s', 'Samba %s password backend', hook=module_hook, extra_depends='', prepend=True)
-}
-
-PACKAGESPLITFUNCS_prepend = "samba_populate_packages "
-PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
-
-RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules"
-RDEPENDS_${PN}-python += "pytalloc python-tdb"
-
-FILES_${PN}-base = "${sbindir}/nmbd \
- ${sbindir}/smbd \
- ${sysconfdir}/init.d \
- ${systemd_system_unitdir}/nmb.service \
- ${systemd_system_unitdir}/smb.service"
-
-FILES_${PN}-ad-dc = "${sbindir}/samba \
- ${systemd_system_unitdir}/samba.service \
- ${libdir}/krb5/plugins/kdb/samba.so \
-"
-RDEPENDS_${PN}-ad-dc = "krb5-kdc"
-
-FILES_${PN}-ctdb-tests = "${bindir}/ctdb_run_tests \
- ${bindir}/ctdb_run_cluster_tests \
- ${sysconfdir}/ctdb/nodes \
- ${datadir}/ctdb-tests \
- ${datadir}/ctdb/tests \
- ${localstatedir}/lib/ctdb \
- "
-
-FILES_${BPN}-common = "${sysconfdir}/default \
- ${sysconfdir}/samba \
- ${sysconfdir}/tmpfiles.d \
- ${localstatedir}/lib/samba \
- ${localstatedir}/spool/samba \
-"
-
-FILES_${PN} += "${libdir}/vfs/*.so \
- ${libdir}/charset/*.so \
- ${libdir}/*.dat \
- ${libdir}/auth/*.so \
-"
-
-FILES_${PN}-dsdb-modules = "${libdir}/samba/ldb"
-
-FILES_${PN}-testsuite = "${bindir}/gentest \
- ${bindir}/locktest \
- ${bindir}/masktest \
- ${bindir}/ndrdump \
- ${bindir}/smbtorture"
-
-FILES_registry-tools = "${bindir}/regdiff \
- ${bindir}/regpatch \
- ${bindir}/regshell \
- ${bindir}/regtree"
-
-FILES_winbind = "${sbindir}/winbindd \
- ${bindir}/wbinfo \
- ${bindir}/ntlm_auth \
- ${libdir}/samba/idmap \
- ${libdir}/samba/nss_info \
- ${libdir}/winbind_krb5_locator.so \
- ${libdir}/winbind-krb5-localauth.so \
- ${sysconfdir}/init.d/winbind \
- ${systemd_system_unitdir}/winbind.service"
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-
-FILES_smbclient = "${bindir}/cifsdd \
- ${bindir}/rpcclient \
- ${bindir}/smbcacls \
- ${bindir}/smbclient \
- ${bindir}/smbcquotas \
- ${bindir}/smbget \
- ${bindir}/smbspool \
- ${bindir}/smbtar \
- ${bindir}/smbtree \
- ${libdir}/samba/smbspool_krb5_wrapper"
-
-RDEPENDS_${PN}-pidl_append = " perl"
-FILES_${PN}-pidl = "${bindir}/pidl ${datadir}/perl5/Parse"
-
-RDEPENDS_${PN}-client = "\
- smbclient \
- winbind \
- registry-tools \
- ${PN}-pidl \
- "
-
-ALLOW_EMPTY_${PN}-client = "1"
-
-RDEPENDS_${PN}-server = "\
- ${PN} \
- winbind \
- registry-tools \
- "
-
-ALLOW_EMPTY_${PN}-server = "1"
-
-RDEPENDS_${PN}-test = "\
- ${PN}-ctdb-tests \
- ${PN}-testsuite \
- "
-
-ALLOW_EMPTY_${PN}-test = "1"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb b/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb
deleted file mode 100644
index fc304fae7..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "set Linux HDLC packet radio modem driver port information"
-HOMEPAGE = "https://www.kernel.org/pub/linux/utils/net/hdlc"
-SECTION = "comm"
-LICENSE = "GPLv2 & GPLv2+ "
-LIC_FILES_CHKSUM = "file://sethdlc.c;endline=10;md5=90f936879e9f8b755a138aeb348782eb"
-
-
-SRC_URI = "https://www.kernel.org/pub/linux/utils/net/hdlc/${BPN}-1.18.tar.gz \
- file://sethdlc-fix-host-contamination.patch \
-"
-SRC_URI[md5sum] = "9016878156a5eadb06c0bae71cc5c9ab"
-SRC_URI[sha256sum] = "21b1e2e1cb0e288b0ec8fcfd9fed449914e0f8e6fc273706bd5b3d4f6ab6b04e"
-
-
-S = "${WORKDIR}/${BPN}-1.18"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-DEPENDS = "virtual/kernel"
-
-EXTRA_OEMAKE="CROSS_COMPILE=${TARGET_PREFIX} CC='${CC} ${LDFLAGS}' \
- KERNEL_DIR=${STAGING_KERNEL_DIR} "
-
-do_compile_prepend () {
- oe_runmake clean
-}
-
-
-do_install() {
- install -d ${D}/${bindir}
- install sethdlc ${D}/${bindir}/
-}
-
-FILES_${PN} += "${bindir}/sethdlc"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc_1.18.bb b/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc_1.18.bb
new file mode 100644
index 000000000..5c7180b6a
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/sethdlc/sethdlc_1.18.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "set Linux HDLC packet radio modem driver port information"
+HOMEPAGE = "https://www.kernel.org/pub/linux/utils/net/hdlc"
+SECTION = "comm"
+LICENSE = "GPLv2 & GPLv2+ "
+LIC_FILES_CHKSUM = "file://sethdlc.c;endline=10;md5=90f936879e9f8b755a138aeb348782eb"
+
+
+SRC_URI = "https://www.kernel.org/pub/linux/utils/net/hdlc/${BP}.tar.gz \
+ file://sethdlc-fix-host-contamination.patch \
+"
+SRC_URI[md5sum] = "9016878156a5eadb06c0bae71cc5c9ab"
+SRC_URI[sha256sum] = "21b1e2e1cb0e288b0ec8fcfd9fed449914e0f8e6fc273706bd5b3d4f6ab6b04e"
+
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+DEPENDS = "virtual/kernel"
+
+EXTRA_OEMAKE="CROSS_COMPILE=${TARGET_PREFIX} CC='${CC} ${LDFLAGS}' \
+ KERNEL_DIR=${STAGING_KERNEL_DIR} "
+
+do_compile_prepend () {
+ oe_runmake clean
+}
+
+
+do_install() {
+ install -d ${D}/${bindir}
+ install sethdlc ${D}/${bindir}/
+}
+
+FILES_${PN} += "${bindir}/sethdlc"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-chdeck-for-gettid-API-during-configure.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-chdeck-for-gettid-API-during-configure.patch
new file mode 100644
index 000000000..eff610de7
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/0001-chdeck-for-gettid-API-during-configure.patch
@@ -0,0 +1,48 @@
+From c45ab69f9428e4d2fc1146301a4546bb2b42c9ae Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 00:25:58 -0700
+Subject: [PATCH] chdeck for gettid API during configure
+
+glibc 2.30 added gettid syscall wrapper
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.in | 2 +-
+ src/util.h | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index 000bb91..d79e6d0 100644
+--- a/configure.in
++++ b/configure.in
+@@ -256,7 +256,7 @@ SN_CHECK_DECLS(printf fprintf syslog puts fputs fputc fopen \
+ strcasecmp strncasecmp strerror perror socket sendto \
+ vsnprintf snprintf strtoul)
+
+-AC_CHECK_FUNCS([sigaction strlcpy strlcat strerror vswprintf wprintf memrchr inet_ntop])
++AC_CHECK_FUNCS([sigaction strlcpy strlcat strerror vswprintf wprintf memrchr inet_ntop gettid])
+
+ AC_CHECK_FUNC([snprintf],[have_snprintf="yes"],[have_snprintf="no"])
+ AM_CONDITIONAL(BUILD_SNPRINTF, test "x$have_snprintf" != "xyes")
+diff --git a/src/util.h b/src/util.h
+index 6880906..c310b83 100644
+--- a/src/util.h
++++ b/src/util.h
+@@ -374,6 +374,7 @@ static inline int IsEmptyStr(const char *str)
+ return 0;
+ }
+
++#if !HAVE_GETTID
+ static inline pid_t gettid(void)
+ {
+ #if defined(LINUX) && defined(SYS_gettid)
+@@ -382,5 +383,6 @@ static inline pid_t gettid(void)
+ return getpid();
+ #endif
+ }
++#endif
+
+ #endif /*__UTIL_H__*/
+--
+2.22.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch
new file mode 100644
index 000000000..87fd05bfd
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/configure.in-disable-tirpc-checking-for-fedora.patch
@@ -0,0 +1,60 @@
+From 65463a7c5cb2514b1523a81911810effffb75a79 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Fri, 28 Jun 2019 15:05:31 +0800
+Subject: [PATCH] configure.in: disable tirpc checking for fedora
+
+The Fedora 28+ does not have inbuilt SunRPC support in glibc and is
+separately availble in tirpc package. So it enables tirpc checking for
+fedora in configure.
+
+Drop this piece of code since we had specify '-ltirpc' in LDFLAGS
+explicitly. Otherwise it will cause a compile-host-path QA issue if the
+host is Fedora 28+:
+cc1: warning: include location "/usr/include/tirpc" is unsafe for
+cross-compilation [-Wpoison-system-directories]
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ configure.in | 24 ------------------------
+ 1 file changed, 24 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 8662cdd..0ff7e27 100644
+--- a/configure.in
++++ b/configure.in
+@@ -895,30 +895,6 @@ if test "x$enable_dlclose" = "xno"; then
+ AC_DEFINE([DISABLE_DLCLOSE_FOR_VALGRIND_TESTING],[1],[Don't close opened shared objects for valgrind leak testing of dynamic libraries])
+ fi
+
+-##################################################
+-# Fedora 28+ does not have inbuilt SunRPC support#
+-# in glibc and is separately availble in tirpc #
+-# package. Make sure we've got the library and #
+-# link it #
+-##################################################
+-
+-if test -f /etc/fedora-release ; then
+- DISTRO_VERSION=$(awk '{ print $3 }' /etc/fedora-release)
+- if test $DISTRO_VERSION -ge 28 ; then
+- TIRPC=""
+- AC_CHECK_LIB(tirpc,bindresvport,, TIRPC="no")
+- echo "$TIRPC"
+- if test "x$TIRPC" = "xno"; then
+- echo
+- echo " ERROR! tirpc not found, get it by running "
+- echo " yum install libtirpc-devel "
+- exit
+- fi
+- LIBS="${LIBS} -ltirpc"
+- extra_incl="-I/usr/include/tirpc"
+- fi
+-fi
+-
+ Z_LIB=""
+ AC_CHECK_HEADERS(zlib.h,, Z_LIB="no")
+ if test "x$Z_LIB" = "xno"; then
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/volatiles.99_snort b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/volatiles.99_snort
new file mode 100644
index 000000000..acf5f61ab
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort/volatiles.99_snort
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d root root 0755 /var/log/snort none
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb
deleted file mode 100644
index 1b10dbde1..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.13.bb
+++ /dev/null
@@ -1,104 +0,0 @@
-DESCRIPTION = "snort - a free lightweight network intrusion detection system for UNIX and Windows."
-HOMEPAGE = "http://www.snort.org/"
-SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
-
-DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native libtirpc bison-native"
-
-SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \
- file://snort.init \
- file://0001-libpcap-search-sysroot-for-headers.patch \
- file://fix-host-contamination-when-enable-static-daq.patch \
- file://disable-run-test-program-while-cross-compiling.patch \
-"
-
-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"
-
-inherit autotools gettext update-rc.d pkgconfig
-
-INITSCRIPT_NAME = "snort"
-INITSCRIPT_PARAMS = "defaults"
-
-EXTRA_OECONF = " \
- --enable-gre \
- --enable-linux-smp-stats \
- --enable-reload \
- --enable-reload-error-restart \
- --enable-targetbased \
- --enable-static-daq \
- --with-dnet-includes=${STAGING_INCDIR} \
- --with-dnet-libraries=${STAGING_LIBDIR} \
- --with-libpcre-includes=${STAGING_INCDIR} \
- --with-libpcre-libraries=${STAGING_LIBDIR} \
- --with-daq-includes=${STAGING_INCDIR} \
- --with-daq-libraries=${STAGING_LIBDIR} \
-"
-
-# if you want to disable it, you need to patch configure.in first
-# AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no")
-# is called even with --without-openssl-includes
-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"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/snort/rules
- install -d ${D}${sysconfdir}/snort/preproc_rules
- install -d ${D}${sysconfdir}/init.d
- for i in map config conf dtd; do
- cp ${S}/etc/*.$i ${D}${sysconfdir}/snort/
- done
-
- # fix the hardcoded path and lib name
- # comment out the rules that are not provided
- sed -i -e 's#/usr/local/lib#${libdir}#' \
- -e 's#\.\./\(.*rules\)#${sysconfdir}/snort/\1#' \
- -e 's#\(libsf_engine.so\)#\1.0#' \
- -e 's/^\(include $RULE_PATH\)/#\1/' \
- -e 's/^\(dynamicdetection\)/#\1/' \
- -e '/preprocessor reputation/,/blacklist/ s/^/#/' \
- ${D}${sysconfdir}/snort/snort.conf
-
- cp ${S}/preproc_rules/*.rules ${D}${sysconfdir}/snort/preproc_rules/
- install -m 755 ${WORKDIR}/snort.init ${D}${sysconfdir}/init.d/snort
- mkdir -p ${D}${localstatedir}/log/snort
- install -d ${D}/var/log/snort
-
- sed -i -e 's|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
-}
-
-FILES_${PN} += " \
- ${libdir}/snort_dynamicengine/*.so.* \
- ${libdir}/snort_dynamicpreprocessor/*.so.* \
- ${libdir}/snort_dynamicrules/*.so.* \
-"
-FILES_${PN}-dbg += " \
- ${libdir}/snort_dynamicengine/.debug \
- ${libdir}/snort_dynamicpreprocessor/.debug \
- ${libdir}/snort_dynamicrules/.debug \
-"
-FILES_${PN}-staticdev += " \
- ${libdir}/snort_dynamicengine/*.a \
- ${libdir}/snort_dynamicpreprocessor/*.a \
- ${libdir}/snort_dynamicrules/*.a \
- ${libdir}/snort/dynamic_preproc/*.a \
- ${libdir}/snort/dynamic_output/*.a \
-"
-FILES_${PN}-dev += " \
- ${libdir}/snort_dynamicengine/*.la \
- ${libdir}/snort_dynamicpreprocessor/*.la \
- ${libdir}/snort_dynamicrules/*.la \
- ${libdir}/snort_dynamicengine/*.so \
- ${libdir}/snort_dynamicpreprocessor/*.so \
- ${libdir}/snort_dynamicrules/*.so \
- ${prefix}/src/snort_dynamicsrc \
-"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.14.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.14.1.bb
new file mode 100644
index 000000000..892fe4d4c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/snort/snort_2.9.14.1.bb
@@ -0,0 +1,114 @@
+DESCRIPTION = "snort - a free lightweight network intrusion detection system for UNIX and Windows."
+HOMEPAGE = "http://www.snort.org/"
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5"
+
+DEPENDS = "xz libpcap libpcre daq libdnet util-linux daq-native libtirpc bison-native"
+
+SRC_URI = "https://www.snort.org/downloads/archive/snort/${BP}.tar.gz \
+ file://snort.init \
+ file://volatiles.99_snort \
+ file://0001-libpcap-search-sysroot-for-headers.patch \
+ file://fix-host-contamination-when-enable-static-daq.patch \
+ file://disable-run-test-program-while-cross-compiling.patch \
+ file://configure.in-disable-tirpc-checking-for-fedora.patch \
+ file://0001-chdeck-for-gettid-API-during-configure.patch \
+"
+
+SRC_URI[md5sum] = "009254a9797ec93321c5936b99dcd6c8"
+SRC_URI[sha256sum] = "2472989da3aace000d1ea5931ece68f8e5cc0c511e272d65182113a2481e822d"
+
+UPSTREAM_CHECK_URI = "https://www.snort.org/downloads"
+UPSTREAM_CHECK_REGEX = "snort-(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit autotools gettext update-rc.d pkgconfig
+
+INITSCRIPT_NAME = "snort"
+INITSCRIPT_PARAMS = "defaults"
+
+EXTRA_OECONF = " \
+ --enable-gre \
+ --enable-linux-smp-stats \
+ --enable-reload \
+ --enable-reload-error-restart \
+ --enable-targetbased \
+ --enable-static-daq \
+ --with-dnet-includes=${STAGING_INCDIR} \
+ --with-dnet-libraries=${STAGING_LIBDIR} \
+ --with-libpcre-includes=${STAGING_INCDIR} \
+ --with-libpcre-libraries=${STAGING_LIBDIR} \
+ --with-daq-includes=${STAGING_INCDIR} \
+ --with-daq-libraries=${STAGING_LIBDIR} \
+"
+
+# if you want to disable it, you need to patch configure.in first
+# AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no")
+# is called even with --without-openssl-includes
+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"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/snort/rules
+ install -d ${D}${sysconfdir}/snort/preproc_rules
+ install -d ${D}${sysconfdir}/init.d
+ for i in map config conf dtd; do
+ cp ${S}/etc/*.$i ${D}${sysconfdir}/snort/
+ done
+
+ # fix the hardcoded path and lib name
+ # comment out the rules that are not provided
+ sed -i -e 's#/usr/local/lib#${libdir}#' \
+ -e 's#\.\./\(.*rules\)#${sysconfdir}/snort/\1#' \
+ -e 's#\(libsf_engine.so\)#\1.0#' \
+ -e 's/^\(include $RULE_PATH\)/#\1/' \
+ -e 's/^\(dynamicdetection\)/#\1/' \
+ -e '/preprocessor reputation/,/blacklist/ s/^/#/' \
+ ${D}${sysconfdir}/snort/snort.conf
+
+ cp ${S}/preproc_rules/*.rules ${D}${sysconfdir}/snort/preproc_rules/
+ install -m 755 ${WORKDIR}/snort.init ${D}${sysconfdir}/init.d/snort
+
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.99_snort ${D}${sysconfdir}/default/volatiles/99_snort
+
+ sed -i -e 's|-fdebug-prefix-map[^ ]*||g; s|-fmacro-prefix-map[^ ]*||g; s|${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
+}
+
+pkg_postinst_${PN}() {
+ if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+}
+
+FILES_${PN} += " \
+ ${libdir}/snort_dynamicengine/*.so.* \
+ ${libdir}/snort_dynamicpreprocessor/*.so.* \
+ ${libdir}/snort_dynamicrules/*.so.* \
+"
+FILES_${PN}-dbg += " \
+ ${libdir}/snort_dynamicengine/.debug \
+ ${libdir}/snort_dynamicpreprocessor/.debug \
+ ${libdir}/snort_dynamicrules/.debug \
+"
+FILES_${PN}-staticdev += " \
+ ${libdir}/snort_dynamicengine/*.a \
+ ${libdir}/snort_dynamicpreprocessor/*.a \
+ ${libdir}/snort_dynamicrules/*.a \
+ ${libdir}/snort/dynamic_preproc/*.a \
+ ${libdir}/snort/dynamic_output/*.a \
+"
+FILES_${PN}-dev += " \
+ ${libdir}/snort_dynamicengine/*.la \
+ ${libdir}/snort_dynamicpreprocessor/*.la \
+ ${libdir}/snort_dynamicrules/*.la \
+ ${libdir}/snort_dynamicengine/*.so \
+ ${libdir}/snort_dynamicpreprocessor/*.so \
+ ${libdir}/snort_dynamicrules/*.so \
+ ${prefix}/src/snort_dynamicsrc \
+"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.0.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.0.0.bb
deleted file mode 100644
index d8883a77f..000000000
--- a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.0.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library"
-DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \
- in C and optimized for embedded and RTOS environments. It can \
- be up to 20 times smaller than OpenSSL while still supporting \
- a full TLS client and server, up to TLS 1.3"
-HOMEPAGE = "https://www.wolfssl.com/products/wolfssl"
-BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues"
-SECTION = "libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-PROVIDES += "cyassl"
-RPROVIDES_${PN} = "cyassl"
-
-SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https"
-SRCREV = "21f2beca9f320199fcea4a96df3e19967804144b"
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.1.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.1.0.bb
new file mode 100644
index 000000000..ae379383a
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/wolfssl/wolfssl_4.1.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "wolfSSL Lightweight Embedded SSL/TLS Library"
+DESCRIPTION = "wolfSSL, formerly CyaSSL, is a lightweight SSL library written \
+ in C and optimized for embedded and RTOS environments. It can \
+ be up to 20 times smaller than OpenSSL while still supporting \
+ a full TLS client and server, up to TLS 1.3"
+HOMEPAGE = "https://www.wolfssl.com/products/wolfssl"
+BUGTRACKER = "https://github.com/wolfssl/wolfssl/issues"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+PROVIDES += "cyassl"
+RPROVIDES_${PN} = "cyassl"
+
+SRC_URI = "git://github.com/wolfSSL/wolfssl.git;protocol=https"
+SRCREV = "50fbdb961fd8c2d8123064e567ae8ec44167732d"
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+BBCLASSEXTEND += "native nativesdk"
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 bbc5e1299..f511d729e 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
@@ -37,7 +37,7 @@ RDEPENDS_packagegroup-meta-networking-connectivity = "\
mbedtls relayd snort dhcpcd rdate vlan vpnc \
inetutils wolfssl lftp miniupnpd networkmanager \
networkmanager-openvpn rdist nanomsg python-networkmanager \
- ${@bb.utils.contains("DISTRO_FEATURES", "bluez5 x11", "blueman", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth x11", "blueman", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "samba", "", d)} \
"
@@ -78,7 +78,7 @@ RDEPENDS_packagegroup-meta-networking-kernel = "\
RDEPENDS_packagegroup-meta-networking-netkit = "\
netkit-rwho-client netkit-rwho-server netkit-rsh-client netkit-rsh-server \
netkit-telnet netkit-tftp-client netkit-tftp-server \
- netkit-ftp netkit-rusers-client netkit-rusers-server netkit-rpc \
+ netkit-ftp netkit-rpc \
"
RDEPENDS_packagegroup-meta-networking-protocols = "\
@@ -95,7 +95,7 @@ RDEPENDS_packagegroup-meta-networking-support = "\
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 \
+ tunctl dovecot ipvsadm stunnel chrony spice-protocol \
usbredir ntop wireshark tnftp lksctp-tools \
cim-schema-docs cim-schema-final cim-schema-exper \
libmemcached smcroute libtevent ipcalc c-ares uftp \
diff --git a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Make-iscsid-systemd-usage-optional.patch b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Make-iscsid-systemd-usage-optional.patch
new file mode 100644
index 000000000..08248d358
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Make-iscsid-systemd-usage-optional.patch
@@ -0,0 +1,88 @@
+From 365efb2fd3062065af4b6eb3dc1661b96557dae8 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Wed, 21 Aug 2019 16:37:53 +0800
+Subject: [PATCH] Make iscsid systemd usage optional
+
+Upstream-Status: Backport[https://github.com/open-iscsi/open-iscsi
+/commit/f71581bd641dc26d330cb8b97e5ec272dd08f811]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Makefile | 5 +++++
+ usr/Makefile | 2 ++
+ usr/iscsid.c | 6 ++++++
+ 3 files changed, 13 insertions(+)
+
+diff --git a/Makefile b/Makefile
+index c533e9d..1ef0921 100644
+--- a/Makefile
++++ b/Makefile
+@@ -39,6 +39,11 @@ ifneq (,$(CFLAGS))
+ export CFLAGS
+ endif
+
++# export systemd disablement if set
++ifneq ($(NO_SYSTEMD),)
++export NO_SYSTEMD
++endif
++
+ # Random comments:
+ # using '$(MAKE)' instead of just 'make' allows make to run in parallel
+ # over multiple makefile.
+diff --git a/usr/Makefile b/usr/Makefile
+index f9445ad..0203127 100644
+--- a/usr/Makefile
++++ b/usr/Makefile
+@@ -41,7 +41,9 @@ CFLAGS += $(WARNFLAGS) -I../include -I. -D_GNU_SOURCE \
+ CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod)
+ ISCSI_LIB = -L$(TOPDIR)/libopeniscsiusr -lopeniscsiusr
+ LDFLAGS += $(shell $(PKG_CONFIG) --libs libkmod)
++ifneq ($(NO_SYSTEMD),)
+ LDFLAGS += $(shell $(PKG_CONFIG) --libs libsystemd)
++endif
+ PROGRAMS = iscsid iscsiadm iscsistart
+
+ # libc compat files
+diff --git a/usr/iscsid.c b/usr/iscsid.c
+index 0c98440..164325e 100644
+--- a/usr/iscsid.c
++++ b/usr/iscsid.c
+@@ -34,7 +34,9 @@
+ #include <sys/wait.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#ifndef NO_SYSTEMD
+ #include <systemd/sd-daemon.h>
++#endif
+
+ #include "iscsid.h"
+ #include "mgmt_ipc.h"
+@@ -339,6 +341,7 @@ static void missing_iname_warn(char *initiatorname_file)
+ /* called right before we enter the event loop */
+ static void set_state_to_ready(void)
+ {
++#ifndef NO_SYSTEMD
+ if (sessions_to_recover)
+ sd_notify(0, "READY=1\n"
+ "RELOADING=1\n"
+@@ -346,14 +349,17 @@ static void set_state_to_ready(void)
+ else
+ sd_notify(0, "READY=1\n"
+ "STATUS=Ready to process requests\n");
++#endif
+ }
+
+ /* called when recovery process has been reaped */
+ static void set_state_done_reloading(void)
+ {
++#ifndef NO_SYSTEMD
+ sessions_to_recover = 0;
+ sd_notifyf(0, "READY=1\n"
+ "STATUS=Ready to process requests\n");
++#endif
+ }
+
+ int main(int argc, char *argv[])
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch
new file mode 100644
index 000000000..37b764e85
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch
@@ -0,0 +1,92 @@
+From e9b49664e969fd5cad1abef7b8b59e1fb8d02a47 Mon Sep 17 00:00:00 2001
+From: Lee Duncan <lduncan@suse.com>
+Date: Mon, 12 Nov 2018 13:10:04 -0800
+Subject: [PATCH] Use pkg-config in Makefiles for newer libraries.
+
+These two recently-added libraries can be in different
+locations on different distros, so use pkg-config to
+added the appropriate actions in the make files.
+
+Upstream-Status: Backport[https://github.com/open-iscsi/open-iscsi/commit/
+623a81123c494f5c69dc6616bd72e838862e2f1f#diff-c4bf6688222ad28c9719cfaf88c16329]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ libopeniscsiusr/Makefile | 8 +++++++-
+ usr/Makefile | 11 ++++++++---
+ 2 files changed, 15 insertions(+), 4 deletions(-)
+
+diff --git a/libopeniscsiusr/Makefile b/libopeniscsiusr/Makefile
+index bf7c96c..a045a45 100644
+--- a/libopeniscsiusr/Makefile
++++ b/libopeniscsiusr/Makefile
+@@ -23,6 +23,8 @@ endif
+ INCLUDE_DIR ?= $(prefix)/include
+ PKGCONF_DIR ?= $(LIB_DIR)/pkgconfig
+
++PKG_CONFIG = /usr/bin/pkg-config
++
+ LIBISCSI_USR_DIR=$(TOPDIR)/libopeniscsiusr
+
+ LIBISCSI_USR_VERSION_MAJOR=0
+@@ -43,13 +45,17 @@ OBJS = context.o misc.o session.o sysfs.o iface.o idbm.o node.o default.o
+
+ CFLAGS ?= -O2 -g
+ CFLAGS += -Wall -Werror -Wextra -fvisibility=hidden -fPIC
++CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod)
++
++LDFLAGS += $(shell $(PKG_CONFIG) --libs libkmod)
+
+ LIBADD =
+
+ all: $(LIBS) $(LIBS_MAJOR) $(TESTS) doc
+
+ $(LIBS): $(OBJS)
+- $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname=$@ -o $@ $(OBJS) $(LIBADD)
++ @echo CFLAGS= $(CFLAGS)
++ $(CC) $(CFLAGS) -shared -Wl,-soname=$@ -o $@ $(OBJS) $(LDFLAGS) $(LIBADD)
+ ln -sf $@ $(DEVLIB)
+
+ $(LIBS_MAJOR): $(LIBS)
+diff --git a/usr/Makefile b/usr/Makefile
+index f9445ad..f1c35aa 100644
+--- a/usr/Makefile
++++ b/usr/Makefile
+@@ -32,11 +32,16 @@ IPC_OBJ=ioctl.o
+ endif
+ endif
+
++PKG_CONFIG = /usr/bin/pkg-config
++
+ CFLAGS ?= -O2 -g
+ WARNFLAGS ?= -Wall -Wstrict-prototypes
+ CFLAGS += $(WARNFLAGS) -I../include -I. -D_GNU_SOURCE \
+ -I$(TOPDIR)/libopeniscsiusr
++CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod)
+ ISCSI_LIB = -L$(TOPDIR)/libopeniscsiusr -lopeniscsiusr
++LDFLAGS += $(shell $(PKG_CONFIG) --libs libkmod)
++LDFLAGS += $(shell $(PKG_CONFIG) --libs libsystemd)
+ PROGRAMS = iscsid iscsiadm iscsistart
+
+ # libc compat files
+@@ -60,14 +65,14 @@ all: $(PROGRAMS)
+
+ iscsid: $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(DISCOVERY_SRCS) \
+ iscsid.o session_mgmt.o discoveryd.o mntcheck.o
+- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lisns -lcrypto -lrt -lmount $(ISCSI_LIB)
++ $(CC) $(CFLAGS) $^ -o $@ -lisns -lcrypto -lrt -lmount $(LDFLAGS) $(ISCSI_LIB)
+
+ iscsiadm: $(ISCSI_LIB_SRCS) $(DISCOVERY_SRCS) iscsiadm.o session_mgmt.o mntcheck.o
+- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lisns -lcrypto -lmount $(ISCSI_LIB)
++ $(CC) $(CFLAGS) $^ -o $@ -lisns -lcrypto -lmount $(LDFLAGS) $(ISCSI_LIB)
+
+ iscsistart: $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(FW_BOOT_SRCS) \
+ iscsistart.o statics.o
+- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lrt $(ISCSI_LIB)
++ $(CC) $(CFLAGS) $^ -o $@ -lrt $(LDFLAGS) $(ISCSI_LIB)
+ clean:
+ rm -f *.o $(PROGRAMS) .depend $(LIBSYS)
+
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb
deleted file mode 100644
index 48b0783f6..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.876.bb
+++ /dev/null
@@ -1,114 +0,0 @@
-SUMMARY = "iSCSI daemon and utility programs"
-DESCRIPTION = "Open-iSCSI project is a high performance, transport \
-independent, multi-platform implementation of RFC3720. The iscsi package \
-provides the server daemon for the iSCSI protocol, as well as the utility \
-programs used to manage it. iSCSI is a protocol for distributed \
-disk access using SCSI commands sent over Internet Protocol networks."
-HOMEPAGE = "http://www.open-iscsi.com/"
-LICENSE = "GPLv2 & LGPLv2.1"
-SECTION = "net"
-DEPENDS = "openssl flex-native bison-native open-isns util-linux"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-
-SRCREV ?= "bd79e4ed1004a6035d2538a308c5930890421a22"
-
-SRC_URI = "git://github.com/open-iscsi/open-iscsi \
- file://0001-Fix-i586-build-issues-with-string-length-overflow.patch \
- file://initd.debian \
- file://99_iscsi-initiator-utils \
- file://iscsi-initiator \
- file://iscsi-initiator.service \
- file://iscsi-initiator-targets.service \
- file://set_initiatorname \
- "
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build"
-
-PV .= "+git${SRCPV}"
-
-inherit update-rc.d systemd autotools
-
-EXTRA_OECONF = " \
- --target=${TARGET_SYS} \
- --host=${BUILD_SYS} \
-"
-
-EXTRA_OEMAKE = ' \
- OS="${TARGET_SYS}" \
- TARGET="${TARGET_OS}" \
- BASE="${prefix}" \
- MANDIR="${mandir}" \
-'
-
-do_configure () {
- cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF}
-}
-
-do_compile () {
- # Make sure we DO NOT regenerate prom_lex.c.
- if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then
- mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused
- fi
- oe_runmake -C ${S} ${EXTRA_OEMAKE} user
-}
-
-do_install () {
- #install necessary directories
- install -d ${D}${sbindir} \
- ${D}${sysconfdir}/init.d \
- ${D}${sysconfdir}/iscsi \
- ${D}${localstatedir}/lib/iscsi/nodes \
- ${D}${localstatedir}/lib/iscsi/send_targets \
- ${D}${localstatedir}/lib/iscsi/static \
- ${D}${localstatedir}/lib/iscsi/isns \
- ${D}${localstatedir}/lib/iscsi/slp \
- ${D}${localstatedir}/lib/iscsi/ifaces \
- ${D}${libdir} \
- ${D}${mandir}/man8
-
- install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \
- ${S}/utils/iscsi-iname \
- ${S}/usr/iscsistart ${D}/${sbindir}
-
- cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir}
- install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8
- install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi
- install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid
-
- sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d /run/${BPN}/lock - - - -" \
- > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf
- install -d ${D}/etc/default/
- install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/iscsi-initiator.service \
- ${WORKDIR}/iscsi-initiator-targets.service \
- ${D}${systemd_unitdir}/system/
- install -d ${D}${nonarch_libdir}/iscsi
- install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi
- else
- install -d ${D}/etc/default/volatiles
- install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles
- fi
-}
-
-pkg_postinst_${PN}() {
- if [ "x$D" = "x" ]; then
- if [ -e /etc/init.d/populate-volatile.sh ]; then
- /etc/init.d/populate-volatile.sh update
- elif command -v systemd-tmpfiles >/dev/null; then
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
- fi
- fi
-}
-
-SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service "
-INITSCRIPT_NAME = "iscsid"
-INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ."
-
-FILES_${PN} += "${nonarch_libdir}/iscsi"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.877.bb b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.877.bb
new file mode 100644
index 000000000..3cef70f5e
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.877.bb
@@ -0,0 +1,119 @@
+SUMMARY = "iSCSI daemon and utility programs"
+DESCRIPTION = "Open-iSCSI project is a high performance, transport \
+independent, multi-platform implementation of RFC3720. The iscsi package \
+provides the server daemon for the iSCSI protocol, as well as the utility \
+programs used to manage it. iSCSI is a protocol for distributed \
+disk access using SCSI commands sent over Internet Protocol networks."
+HOMEPAGE = "http://www.open-iscsi.com/"
+LICENSE = "GPLv2 & LGPLv2.1"
+SECTION = "net"
+DEPENDS = "openssl flex-native bison-native open-isns util-linux kmod"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV ?= "120ac127654c4644d46a74799fffe527ab1f4f42"
+
+SRC_URI = "git://github.com/open-iscsi/open-iscsi \
+ file://0001-Fix-i586-build-issues-with-string-length-overflow.patch \
+ file://initd.debian \
+ file://99_iscsi-initiator-utils \
+ file://iscsi-initiator \
+ file://iscsi-initiator.service \
+ file://iscsi-initiator-targets.service \
+ file://set_initiatorname \
+ file://0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch \
+ file://0001-Make-iscsid-systemd-usage-optional.patch \
+ "
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build"
+
+PV .= "+git${SRCPV}"
+
+inherit update-rc.d systemd autotools pkgconfig
+
+EXTRA_OECONF = " \
+ --target=${TARGET_SYS} \
+ --host=${BUILD_SYS} \
+"
+
+EXTRA_OEMAKE = ' \
+ OS="${TARGET_SYS}" \
+ TARGET="${TARGET_OS}" \
+ BASE="${prefix}" \
+ MANDIR="${mandir}" \
+ OPTFLAGS="-DNO_SYSTEMD ${CFLAGS}" \
+ PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \
+ NO_SYSTEMD=1 \
+'
+
+do_configure () {
+ cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF}
+}
+
+do_compile () {
+ # Make sure we DO NOT regenerate prom_lex.c.
+ if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then
+ mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused
+ fi
+ oe_runmake -C ${S} ${EXTRA_OEMAKE} user
+}
+
+do_install () {
+ #install necessary directories
+ install -d ${D}${sbindir} \
+ ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/iscsi \
+ ${D}${localstatedir}/lib/iscsi/nodes \
+ ${D}${localstatedir}/lib/iscsi/send_targets \
+ ${D}${localstatedir}/lib/iscsi/static \
+ ${D}${localstatedir}/lib/iscsi/isns \
+ ${D}${localstatedir}/lib/iscsi/slp \
+ ${D}${localstatedir}/lib/iscsi/ifaces \
+ ${D}${libdir} \
+ ${D}${mandir}/man8
+
+ install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \
+ ${S}/utils/iscsi-iname \
+ ${S}/usr/iscsistart ${D}/${sbindir}
+
+ cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir}
+ install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8
+ install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi
+ install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid
+
+ sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/${BPN}/lock - - - -" \
+ > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf
+ install -d ${D}/etc/default/
+ install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/iscsi-initiator.service \
+ ${WORKDIR}/iscsi-initiator-targets.service \
+ ${D}${systemd_unitdir}/system/
+ install -d ${D}${nonarch_libdir}/iscsi
+ install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi
+ else
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles
+ fi
+}
+
+pkg_postinst_${PN}() {
+ if [ "x$D" = "x" ]; then
+ if [ -e /etc/init.d/populate-volatile.sh ]; then
+ /etc/init.d/populate-volatile.sh update
+ elif command -v systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
+ fi
+ fi
+}
+
+SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service "
+INITSCRIPT_NAME = "iscsid"
+INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ."
+
+FILES_${PN} += "${nonarch_libdir}/iscsi"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.15.bb b/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.15.bb
deleted file mode 100644
index 9a20e02db..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.15.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "High Availability monitor built upon LVS, VRRP and service pollers"
-DESCRIPTION = "Keepalived is a routing software written in C. The main goal \
-of this project is to provide simple and robust facilities for loadbalancing \
-and high-availability to Linux system and Linux based infrastructures. \
-Loadbalancing framework relies on well-known and widely used Linux Virtual \
-Server (IPVS) kernel module providing Layer4 loadbalancing \
-"
-HOMEPAGE = "http://www.keepalived.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz"
-SRC_URI[md5sum] = "68413d76fc23191ddd66246d498e19b5"
-SRC_URI[sha256sum] = "933ee01bc6346aa573453b998f87510d3cce4aba4537c9642b24e6dbfba5c6f4"
-
-DEPENDS = "libnfnetlink openssl"
-
-inherit autotools pkgconfig systemd
-
-PACKAGECONFIG ??= "libnl snmp \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
-"
-PACKAGECONFIG[libnl] = "--enable-libnl,--disable-libnl,libnl"
-PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
-PACKAGECONFIG[systemd] = "--with-init=systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--with-init=SYSV,systemd"
-
-EXTRA_OECONF = "--disable-libiptc"
-EXTRA_OEMAKE = "initdir=${sysconfdir}/init.d"
-
-do_install_append() {
- if [ -f ${D}${sysconfdir}/init.d/${BPN} ]; then
- chmod 0755 ${D}${sysconfdir}/init.d/${BPN}
- sed -i 's#rc.d/##' ${D}${sysconfdir}/init.d/${BPN}
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -D -m 0644 ${B}/${BPN}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
- fi
-}
-
-FILES_${PN} += "${datadir}/snmp/mibs/KEEPALIVED-MIB.txt"
-
-SYSTEMD_SERVICE_${PN} = "keepalived.service"
-SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.16.bb b/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.16.bb
new file mode 100644
index 000000000..5257c5cfe
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/keepalived/keepalived_2.0.16.bb
@@ -0,0 +1,45 @@
+SUMMARY = "High Availability monitor built upon LVS, VRRP and service pollers"
+DESCRIPTION = "Keepalived is a routing software written in C. The main goal \
+of this project is to provide simple and robust facilities for loadbalancing \
+and high-availability to Linux system and Linux based infrastructures. \
+Loadbalancing framework relies on well-known and widely used Linux Virtual \
+Server (IPVS) kernel module providing Layer4 loadbalancing \
+"
+HOMEPAGE = "http://www.keepalived.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://www.keepalived.org/software/${BP}.tar.gz"
+SRC_URI[md5sum] = "03f202eace2ad392c61ced15bb710e24"
+SRC_URI[sha256sum] = "f0c7dc86147a286913c1c2c918f557735016285d25779d4d2fce5732fcb888df"
+
+DEPENDS = "libnfnetlink openssl"
+
+inherit autotools pkgconfig systemd
+
+PACKAGECONFIG ??= "libnl snmp \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
+PACKAGECONFIG[libnl] = "--enable-libnl,--disable-libnl,libnl"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
+PACKAGECONFIG[systemd] = "--with-init=systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--with-init=SYSV,systemd"
+
+EXTRA_OECONF = "--disable-libiptc"
+EXTRA_OEMAKE = "initdir=${sysconfdir}/init.d"
+
+do_install_append() {
+ if [ -f ${D}${sysconfdir}/init.d/${BPN} ]; then
+ chmod 0755 ${D}${sysconfdir}/init.d/${BPN}
+ sed -i 's#rc.d/##' ${D}${sysconfdir}/init.d/${BPN}
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -D -m 0644 ${B}/${BPN}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
+ fi
+}
+
+FILES_${PN} += "${datadir}/snmp/mibs/KEEPALIVED-MIB.txt"
+
+SYSTEMD_SERVICE_${PN} = "keepalived.service"
+SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb b/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb
index affd0aae0..008a7ac9a 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.0.1.bb
@@ -24,7 +24,7 @@ do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install() {
- install -D -m 0755 ${S}/networkd-dispatcher ${D}${sbindir}/networkd-dispatcher
+ install -D -m 0755 ${S}/networkd-dispatcher ${D}${bindir}/networkd-dispatcher
install -D -m 0644 ${S}/networkd-dispatcher.service ${D}/${systemd_system_unitdir}/networkd-dispatcher.service
install -D -m 0644 ${S}/networkd-dispatcher.conf ${D}/${sysconfdir}/conf.d/networkd-dispatcher.conf
}
diff --git a/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb b/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
index e3a0c2eb6..b47d59e2d 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/openhpi/openhpi_3.8.0.bb
@@ -85,6 +85,21 @@ do_install_append () {
do_compile_ptest () {
for x in `find ${B} -name Makefile -exec grep -l buildtest-TESTS {} \;`; do
dir=`dirname ${x}`
+ case $dir in
+ *cpp/t) ;;
+ *snmp_bc/t) if ${@bb.utils.contains('PACKAGECONFIG','snmp-bc','true','false',d)}
+ then
+ oe_runmake -C ${dir} buildtest-TESTS
+ fi
+ ;;
+ *) oe_runmake -C ${dir} buildtest-TESTS ;;
+ esac
+ done
+}
+
+ack_do_compile_ptest () {
+ for x in `find ${B} -name Makefile -exec grep -l buildtest-TESTS {} \;`; do
+ dir=`dirname ${x}`
upper=`dirname ${dir}`
if [ `basename ${upper}` != "cpp" ]; then
oe_runmake -C ${dir} buildtest-TESTS
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch
new file mode 100644
index 000000000..2b03b1800
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-Add-configure-time-check-for-gettid-API.patch
@@ -0,0 +1,67 @@
+From 91c7362834ccd88d1432b3e6c5c51748b72b10ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 07:21:16 -0700
+Subject: [PATCH] Add configure time check for gettid API
+
+glibc 2.30 has added syscalls wrapper for gettid
+it should now be checked during configure if C library provides
+this API then do not define local function
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 ++++
+ src/base/logtrace.cc | 3 +++
+ src/osaf/config.h.in | 3 +++
+ 3 files changed, 10 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 22ab936..90f3da4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -480,6 +480,10 @@ fi
+
+ AC_SUBST([localstatedir])
+
++#############################################
++# Checks for functions.
++#############################################
++AC_CHECK_FUNCS([ gettid ])
+
+ #############################################
+ # Checks for programs.
+diff --git a/src/base/logtrace.cc b/src/base/logtrace.cc
+index 8908c1f..fe87e8d 100644
+--- a/src/base/logtrace.cc
++++ b/src/base/logtrace.cc
+@@ -31,6 +31,7 @@
+ #include "base/logtrace_client.h"
+ #include "base/logtrace_buffer.h"
+ #include "base/ncsgl_defs.h"
++#include "osaf/config.h"
+
+ namespace global {
+
+@@ -58,7 +59,9 @@ std::once_flag init_flag;
+ thread_local LogTraceBuffer gl_thread_buffer{gl_local_thread_trace,
+ global::thread_trace_buffer_size};
+
++#ifndef HAVE_GETTID
+ static pid_t gettid() { return syscall(SYS_gettid); }
++#endif
+
+ /**
+ * USR2 signal handler to enable/disable trace (toggle)
+diff --git a/src/osaf/config.h.in b/src/osaf/config.h.in
+index d1f6d1a..0a3f27d 100644
+--- a/src/osaf/config.h.in
++++ b/src/osaf/config.h.in
+@@ -18,6 +18,9 @@
+ /* Define if experimental code is enabled */
+ #undef HAVE_EXPERIMENTAL
+
++/* Define to 1 if you have the `gettid' function. */
++#undef HAVE_GETTID
++
+ /* SAHPI_INTERFACE_VERSION == A01 */
+ #undef HAVE_HPI_A01
+
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch
new file mode 100644
index 000000000..21abcf75b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf/0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch
@@ -0,0 +1,23 @@
+From 300fd3e27e71a91fc52d3f985ed4fde548852853 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 27 Sep 2019 12:50:11 -0700
+Subject: [PATCH] create_empty_library: Use CC variable intead of hardcoding
+ gcc
+
+This ensures that cross-compiles can succeed, otherwise we get wrong
+architecture on these stub libraries
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scripts/create_empty_library | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/scripts/create_empty_library
++++ b/scripts/create_empty_library
+@@ -66,4 +66,4 @@ for s in $symbols; do
+ echo "SaAisErrorT $s() { return SA_AIS_ERR_UNAVAILABLE; }" >> "$tmpdir/lib.c"
+ done
+ rm -f "$1"
+-gcc -O2 -shared -fPIC "$tmpdir/lib.c" -Wl,-version-script="$2" -Wl,-soname="$libbase.so.$version1" -o "$1"
++$CC -O2 -shared -fPIC "$tmpdir/lib.c" -Wl,-version-script="$2" -Wl,-soname="$libbase.so.$version1" -o "$1" $LDFLAGS
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb
deleted file mode 100644
index 0cccebdfc..000000000
--- a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.03.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification"
-DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \
-middleware consistent with Service Availability Forum (SA Forum) \
-specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \
-established by leading Communications and Enterprise Computing Companies to \
-facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \
-code base in commercial products. \
-The OpenSAF project was launched in mid 2007 and has been under development by \
-an informal group of supporters of the OpenSAF initiative. The OpenSAF \
-Foundation was founded on January 22nd 2008 with Emerson Network Power, \
-Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members."
-HOMEPAGE = "http://www.opensaf.org"
-SECTION = "admin"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
-
-DEPENDS = "libxml2 python"
-TOOLCHAIN = "gcc"
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
- file://0001-configure-Pass-linker-specific-options-with-Wl.patch \
- 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 \
- "
-SRC_URI[md5sum] = "4dd1497ccd82d275735853bf0db5c510"
-SRC_URI[sha256sum] = "de42c8dd850990716ca494ca598165cc7a23b5b7f2bc21af5d71a3d971ddd595"
-
-inherit autotools useradd systemd pkgconfig
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-f -r opensaf"
-USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf"
-
-SYSTEMD_SERVICE_${PN} += "opensafd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-PACKAGECONFIG[systemd] = ",,systemd"
-PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03,,openhpi"
-PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi"
-
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}"
-
-PKGLIBDIR="${libdir}"
-CPPFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation"
-CXXFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation -Wno-error=format-truncation="
-LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
-
-do_install_append() {
- cp -av --no-preserve=ownership ${B}/lib/.libs/*.so* ${D}${libdir}
- rm -fr "${D}${localstatedir}/lock"
- rm -fr "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
- rmdir --ignore-fail-on-non-empty "${D}${datadir}/java"
- if [ ! -d "${D}${sysconfdir}/init.d" ]; then
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/
- fi
-}
-
-FILES_${PN} += "${systemd_unitdir}/system/*.service"
-FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a"
-
-INSANE_SKIP_${PN} = "dev-so"
-
-RDEPENDS_${PN} += "bash python"
-
-# http://errors.yoctoproject.org/Errors/Details/186970/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.07.bb b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.07.bb
new file mode 100644
index 000000000..efa2bf5eb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/opensaf/opensaf_5.19.07.bb
@@ -0,0 +1,74 @@
+SUMMARY = "OpenSAF is an open source implementation of the SAF AIS specification"
+DESCRIPTION = "OpenSAF is an open source project established to develop a base platform \
+middleware consistent with Service Availability Forum (SA Forum) \
+specifications, under the LGPLv2.1 license. The OpenSAF Foundation was \
+established by leading Communications and Enterprise Computing Companies to \
+facilitate the OpenSAF Project and to accelerate the adoption of the OpenSAF \
+code base in commercial products. \
+The OpenSAF project was launched in mid 2007 and has been under development by \
+an informal group of supporters of the OpenSAF initiative. The OpenSAF \
+Foundation was founded on January 22nd 2008 with Emerson Network Power, \
+Ericsson, Nokia Siemens Networks, HP and Sun Microsystems as founding members."
+HOMEPAGE = "http://www.opensaf.org"
+SECTION = "admin"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a916467b91076e631dd8edb7424769c7"
+
+DEPENDS = "libxml2 python"
+TOOLCHAIN = "gcc"
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/releases/${BPN}-${PV}.tar.gz \
+ file://0001-configure-Pass-linker-specific-options-with-Wl.patch \
+ 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-Add-configure-time-check-for-gettid-API.patch \
+ file://0001-create_empty_library-Use-CC-variable-intead-of-hardc.patch \
+ "
+SRC_URI[md5sum] = "e9ae9de803a99b7ab33757a49858542f"
+SRC_URI[sha256sum] = "caed672d03ab1fe3f27d333429c7ca03022714e7c6350500208b7bd7349f03ce"
+
+inherit autotools useradd systemd pkgconfig
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "-f -r opensaf"
+USERADD_PARAM_${PN} = "-r -g opensaf -d ${datadir}/opensaf/ -s ${sbindir}/nologin -c \"OpenSAF\" opensaf"
+
+SYSTEMD_SERVICE_${PN} += "opensafd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+PACKAGECONFIG[systemd] = ",,systemd"
+PACKAGECONFIG[openhpi] = "--with-hpi-interface=B03,,openhpi"
+PACKAGECONFIG[plm] = "--enable-ais-plm,--disable-ais-plm,libvirt openhpi"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)}"
+
+CPPFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation"
+CXXFLAGS += "-Wno-error=stringop-overflow= -Wno-error=stringop-truncation -Wno-error=format-truncation="
+LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
+
+do_install_append() {
+ rm -fr "${D}${localstatedir}/lock"
+ rm -fr "${D}${localstatedir}/run"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+ rmdir --ignore-fail-on-non-empty "${D}${datadir}/java"
+ if [ ! -d "${D}${sysconfdir}/init.d" ]; then
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${B}/osaf/services/infrastructure/nid/scripts/opensafd ${D}${sysconfdir}/init.d/
+ fi
+}
+
+FILES_${PN} += "${libdir}/libSa*.so ${systemd_unitdir}/system/*.service"
+FILES_${PN}-dev += "${libdir}/libopensaf_core.so"
+FILES_${PN}-staticdev += "${PKGLIBDIR}/*.a"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+RDEPENDS_${PN} += "bash python"
+
+# http://errors.yoctoproject.org/Errors/Details/186970/
+COMPATIBLE_HOST_libc-musl = 'null'
+
+FILES_SOLIBSDEV = ""
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-Fixed-build-failure-with-glibc-2.30-due-to-dropped-R.patch b/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-Fixed-build-failure-with-glibc-2.30-due-to-dropped-R.patch
new file mode 100644
index 000000000..22adaff72
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/files/0001-Fixed-build-failure-with-glibc-2.30-due-to-dropped-R.patch
@@ -0,0 +1,37 @@
+From 8b3792830f4930fee7fbb00c854d9766f2b74dca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 11:35:38 -0700
+Subject: [PATCH] Fixed build failure with glibc 2.30 due to dropped
+ RES_INSECURE1/2 macros
+
+see [1]
+
+[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=333221862ecbebde60dd16e7ca17d26444e62f50
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/dns/dns_str_resflags.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/dns/dns_str_resflags.c b/src/dns/dns_str_resflags.c
+index 5f2cce5..df32345 100644
+--- a/src/dns/dns_str_resflags.c
++++ b/src/dns/dns_str_resflags.c
+@@ -60,10 +60,16 @@ static const LONG_NAME_MASK resflag_table[] = {
+ "RES_DEFNAMES", RES_DEFNAMES,
+ "RES_STAYOPEN", RES_STAYOPEN,
+ "RES_DNSRCH", RES_DNSRCH,
++#ifdef RES_INSECURE1
+ "RES_INSECURE1", RES_INSECURE1,
++#endif
++#ifdef RES_INSECURE2
+ "RES_INSECURE2", RES_INSECURE2,
++#endif
+ "RES_NOALIASES", RES_NOALIASES,
++#ifdef RES_USE_INET6
+ "RES_USE_INET6", RES_USE_INET6,
++#endif
+ #ifdef RES_ROTATE
+ "RES_ROTATE", RES_ROTATE,
+ #endif
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
index 3d4f1df43..778100533 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix.inc
@@ -14,17 +14,6 @@ DEPENDS = "db icu libpcre libnsl2 openssl postfix-native \
LICENSE = "IPL-1.0 | EPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b181651ad99a7dc4cc8c4ce2f491ed1a"
-SRC_URI = "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
- file://makedefs.patch \
- file://install.patch \
- file://main.cf \
- file://postfix \
- file://internal_recipient \
- file://postfix.service \
- file://aliasesdb \
- file://check_hostname.sh \
-"
-
S = "${WORKDIR}/postfix-${PV}"
CLEANBROKEN = "1"
@@ -196,11 +185,15 @@ do_install_append_class-native() {
ln -sf ../sbin/sendmail.postfix ${D}${bindir}/mailq
}
-ALTERNATIVE_${PN} += "sendmail mailq newaliases"
+ALTERNATIVE_${PN} = "sendmail mailq newaliases"
+# /usr/lib/sendmial is required by LSB core test
+ALTERNATIVE_${PN}_linuxstdbase = "sendmail mailq newaliases usr-lib-sendmail"
ALTERNATIVE_TARGET[mailq] = "${bindir}/mailq"
ALTERNATIVE_TARGET[newaliases] = "${bindir}/newaliases"
ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix"
ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
+ALTERNATIVE_TARGET[usr-lib-sendmail] = "${sbindir}/sendmail.postfix"
+ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail"
ALTERNATIVE_PRIORITY = "120"
@@ -219,11 +212,6 @@ pkg_postinst_${PN} () {
touch /etc/postfix/virtual_alias
postmap /etc/postfix/virtual_alias
else
- if ${@'true' if 'linuxstdbase' in d.getVar('DISTROOVERRIDES', False) else 'false'}; then
- # /usr/lib/sendmail is required by LSB core test
- [ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/
- fi
-
touch $D/etc/aliases
# This can fail depending on host setup
if ! newaliases -C $D/etc/postfix/main.cf -oA$D/etc/aliases; then
diff --git a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.5.bb b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.5.bb
index 3ce805553..189baea5c 100644
--- a/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.5.bb
+++ b/meta-openembedded/meta-networking/recipes-daemons/postfix/postfix_3.4.5.bb
@@ -1,9 +1,19 @@
require postfix.inc
-SRC_URI += "file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
- file://postfix-install.patch \
- file://icu-config.patch \
- file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \
+SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${PV}.tar.gz \
+ file://makedefs.patch \
+ file://install.patch \
+ file://main.cf \
+ file://postfix \
+ file://internal_recipient \
+ file://postfix.service \
+ file://aliasesdb \
+ file://check_hostname.sh \
+ file://0001-makedefs-Use-native-compiler-to-build-makedefs.test.patch \
+ file://postfix-install.patch \
+ file://icu-config.patch \
+ file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \
+ file://0001-Fixed-build-failure-with-glibc-2.30-due-to-dropped-R.patch \
"
SRC_URI[md5sum] = "093109941095390562166de766d4720d"
SRC_URI[sha256sum] = "8b2ba54f9d2a049582a0ed3ee2dbe96ba57e278feea9cb4f80e1a61844e6319f"
diff --git a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
index 54e0b99a4..6cad53396 100644
--- a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
+++ b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch
@@ -1,8 +1,7 @@
From 6d606f1101c1a172fb6d738d6f1865aa61849e68 Mon Sep 17 00:00:00 2001
From: Alexey Firago <alexey_firago@mentor.com>
Date: Fri, 20 Oct 2017 00:04:19 +0300
-Subject: [PATCH] CMakeLists.txt: Fix grpc_cpp_plugin path during
- cross-compiling or native build
+Subject: [PATCH] CMakeLists.txt: Fix grpc_cpp_plugin path during cross-compiling or native build
Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
Signed-off-by: Hiram Lew <lew@avast.com>
@@ -12,11 +11,9 @@ Signed-off-by: Jan Kaisrlik <jan.kaisrlik@avast.com>
templates/CMakeLists.txt.template | 9 ++++++++-
2 files changed, 16 insertions(+), 2 deletions(-)
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a59fd81..cd90424 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -160,6 +160,13 @@ function(protobuf_generate_grpc_cpp)
+@@ -193,6 +193,13 @@ function(protobuf_generate_grpc_cpp)
return()
endif()
@@ -30,20 +27,9 @@ index a59fd81..cd90424 100644
set(_protobuf_include_path -I . -I ${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR})
foreach(FIL ${ARGN})
get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
-@@ -177,7 +184,7 @@ function(protobuf_generate_grpc_cpp)
- COMMAND ${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}
- ARGS --grpc_out=generate_mock_code=true:${_gRPC_PROTO_GENS_DIR}
- --cpp_out=${_gRPC_PROTO_GENS_DIR}
-- --plugin=protoc-gen-grpc=$<TARGET_FILE:grpc_cpp_plugin>
-+ --plugin=protoc-gen-grpc=${gRPC_CPP_PLUGIN}
- ${_protobuf_include_path}
- ${REL_FIL}
- DEPENDS ${ABS_FIL} ${_gRPC_PROTOBUF_PROTOC} grpc_cpp_plugin
-diff --git a/templates/CMakeLists.txt.template b/templates/CMakeLists.txt.template
-index de13d02..b22bd5c 100644
--- a/templates/CMakeLists.txt.template
+++ b/templates/CMakeLists.txt.template
-@@ -209,6 +209,13 @@
+@@ -233,6 +233,13 @@
return()
endif()
@@ -57,15 +43,3 @@ index de13d02..b22bd5c 100644
set(_protobuf_include_path -I . -I <%text>${_gRPC_PROTOBUF_WELLKNOWN_INCLUDE_DIR}</%text>)
foreach(FIL <%text>${ARGN}</%text>)
get_filename_component(ABS_FIL <%text>${FIL}</%text> ABSOLUTE)
-@@ -226,7 +233,7 @@
- COMMAND <%text>${_gRPC_PROTOBUF_PROTOC_EXECUTABLE}</%text>
- ARGS --grpc_out=<%text>generate_mock_code=true:${_gRPC_PROTO_GENS_DIR}</%text>
- --cpp_out=<%text>${_gRPC_PROTO_GENS_DIR}</%text>
-- --plugin=protoc-gen-grpc=$<TARGET_FILE:grpc_cpp_plugin>
-+ --plugin=protoc-gen-grpc=${gRPC_CPP_PLUGIN}
- <%text>${_protobuf_include_path}</%text>
- <%text>${REL_FIL}</%text>
- DEPENDS <%text>${ABS_FIL}</%text> <%text>${_gRPC_PROTOBUF_PROTOC}</%text> grpc_cpp_plugin
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
index 459dc45a4..e517355d3 100644
--- a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
+++ b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc/0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
@@ -7,16 +7,13 @@ Subject: [PATCH] CMakeLists.txt: Fix libraries installation for Linux
Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
-%% original patch: 0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch
---
CMakeLists.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a59fd818e3..5066f44a32 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -30,6 +30,15 @@ set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}")
+@@ -30,6 +30,15 @@ set(PACKAGE_TARNAME "${PACKAGE_NAME}-$
set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/")
project(${PACKAGE_NAME} C CXX)
@@ -32,7 +29,7 @@ index a59fd818e3..5066f44a32 100644
set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables")
set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries")
set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers")
-@@ -702,6 +711,10 @@ if(WIN32 AND MSVC)
+@@ -777,6 +786,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -43,7 +40,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(address_sorting
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -825,6 +838,10 @@ if(WIN32 AND MSVC)
+@@ -903,6 +916,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -54,7 +51,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(gpr
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -1259,6 +1276,10 @@ if(WIN32 AND MSVC)
+@@ -1367,6 +1384,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -65,7 +62,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -1633,6 +1654,10 @@ if(WIN32 AND MSVC)
+@@ -1782,6 +1803,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -76,7 +73,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc_cronet
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -2575,6 +2600,10 @@ if(WIN32 AND MSVC)
+@@ -2869,6 +2894,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -87,7 +84,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc_unsecure
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -2791,6 +2820,10 @@ if(WIN32 AND MSVC)
+@@ -3206,6 +3235,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -98,18 +95,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc++
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -3357,6 +3390,10 @@ if(WIN32 AND MSVC)
- endif()
- endif()
-
-+if(_gRPC_PLATFORM_LINUX)
-+ set_property(TARGET grpc++_cronet PROPERTY VERSION ${CPP_VERSION})
-+ set_property(TARGET grpc++_cronet PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
-+endif()
-
- target_include_directories(grpc++_cronet
- PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -3630,6 +3667,11 @@ protobuf_generate_grpc_cpp(
+@@ -3589,6 +3622,11 @@ protobuf_generate_grpc_cpp(
src/proto/grpc/status/status.proto
)
@@ -121,7 +107,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc++_error_details
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
-@@ -3762,6 +3804,11 @@ protobuf_generate_grpc_cpp(
+@@ -3727,6 +3765,11 @@ protobuf_generate_grpc_cpp(
src/proto/grpc/reflection/v1alpha/reflection.proto
)
@@ -133,7 +119,18 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc++_reflection
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
-@@ -4265,6 +4312,10 @@ if(WIN32 AND MSVC)
+@@ -3816,6 +3859,10 @@ target_link_libraries(grpc++_test_config
+ ${_gRPC_GFLAGS_LIBRARIES}
+ )
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpc++_cronet PROPERTY VERSION ${CPP_VERSION})
++ set_property(TARGET grpc++_cronet PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
+
+ endif (gRPC_BUILD_TESTS)
+ if (gRPC_BUILD_TESTS)
+@@ -4307,6 +4354,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -144,7 +141,7 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc++_unsecure
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -4649,6 +4700,10 @@ if(WIN32 AND MSVC)
+@@ -4745,6 +4796,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -155,7 +152,19 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc_plugin_support
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-@@ -5184,6 +5239,10 @@ if(WIN32 AND MSVC)
+@@ -4813,6 +4868,11 @@ protobuf_generate_grpc_cpp(
+ src/proto/grpc/channelz/channelz.proto
+ )
+
++if(_gRPC_PLATFORM_LINUX)
++ set_property(TARGET grpcpp_channelz PROPERTY VERSION ${CPP_VERSION})
++ set_property(TARGET grpcpp_channelz PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
++endif()
++
+ target_include_directories(grpcpp_channelz
+ PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
+@@ -5367,6 +5427,10 @@ if(WIN32 AND MSVC)
endif()
endif()
@@ -166,6 +175,3 @@ index a59fd818e3..5066f44a32 100644
target_include_directories(grpc_csharp_ext
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
---
-2.17.1
-
diff --git a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb
deleted file mode 100644
index d23671432..000000000
--- a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.14.1.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
-Provides gRPC libraries for multiple languages written on top of shared C core library \
-(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
-HOMEPAGE = "https://github.com/grpc/grpc"
-SECTION = "libs"
-LICENSE = "Apache-2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl"
-DEPENDS_append_class-target = " gtest grpc-native "
-DEPENDS_append_class-nativesdk = " grpc-native "
-
-S = "${WORKDIR}/git"
-SRCREV = "d8020cb6daa87f1a3bb3b0c299bc081c4a3de1e8"
-BRANCH = "v1.14.x"
-SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;branch=${BRANCH} \
- file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \
- "
-SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
-SRC_URI_append_class-nativesdk = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
-
-# Fixes build with older compilers 4.8 especially on ubuntu 14.04
-CXXFLAGS_append_class-native = " -Wl,--no-as-needed"
-
-inherit cmake
-
-EXTRA_OECMAKE = " \
- -DgRPC_CARES_PROVIDER=package \
- -DgRPC_ZLIB_PROVIDER=package \
- -DgRPC_SSL_PROVIDER=package \
- -DgRPC_PROTOBUF_PROVIDER=package \
- -DgRPC_GFLAGS_PROVIDER=package \
- -DgRPC_INSTALL=ON \
- -DCMAKE_CROSSCOMPILING=ON \
- -DBUILD_SHARED_LIBS=ON \
- "
-
-BBCLASSEXTEND = "native nativesdk"
-
-SYSROOT_DIRS_BLACKLIST_append_class-target = "${libdir}/cmake/grpc"
-
-FILES_${PN}-dev += "${bindir}"
diff --git a/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.1.bb b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.1.bb
new file mode 100644
index 000000000..5cfa3aa82
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-devtools/grpc/grpc_1.24.1.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
+Provides gRPC libraries for multiple languages written on top of shared C core library \
+(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
+HOMEPAGE = "https://github.com/grpc/grpc"
+SECTION = "libs"
+LICENSE = "Apache-2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "gflags c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl"
+DEPENDS_append_class-target = " googletest grpc-native "
+DEPENDS_append_class-nativesdk = " grpc-native "
+
+S = "${WORKDIR}/git"
+SRCREV_grpc = "fe494ff4104b6f6a78117ab2da71d29c93053267"
+SRCREV_upb = "9effcbcb27f0a665f9f345030188c0b291e32482"
+BRANCH = "v1.24.x"
+SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
+ git://github.com/protocolbuffers/upb;name=upb;destsuffix=git/third_party/upb \
+ file://0001-CMakeLists.txt-Fix-libraries-installation-for-Linux.patch \
+ "
+SRC_URI_append_class-target = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch \
+ "
+SRC_URI_append_class-nativesdk = " file://0001-CMakeLists.txt-Fix-grpc_cpp_plugin-path-during-cross.patch"
+
+# Fixes build with older compilers 4.8 especially on ubuntu 14.04
+CXXFLAGS_append_class-native = " -Wl,--no-as-needed"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = " \
+ -DgRPC_CARES_PROVIDER=package \
+ -DgRPC_ZLIB_PROVIDER=package \
+ -DgRPC_SSL_PROVIDER=package \
+ -DgRPC_PROTOBUF_PROVIDER=package \
+ -DgRPC_GFLAGS_PROVIDER=package \
+ -DgRPC_INSTALL=ON \
+ -DCMAKE_CROSSCOMPILING=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ "
+
+do_configure_prepend_mipsarch() {
+ sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+SYSROOT_DIRS_BLACKLIST_append_class-target = "${libdir}/cmake/grpc"
+
+FILES_${PN}-dev += "${bindir}"
diff --git a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb
index 23a3d147f..e2ab25b10 100644
--- a/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb
+++ b/meta-openembedded/meta-networking/recipes-extended/corosync/corosync_2.4.4.bb
@@ -36,7 +36,7 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
PACKAGECONFIG[qdevice] = "--enable-qdevices,--disable-qdevices"
PACKAGECONFIG[qnetd] = "--enable-qnetd,--disable-qnetd"
-PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma"
+PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma,librdmacm"
PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp"
PACKAGECONFIG[systemd] = "--enable-systemd --with-systemddir=${systemd_system_unitdir},--disable-systemd --without-systemddir,systemd"
diff --git a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch
index 0a2f31d55..f56359a47 100644
--- a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch
+++ b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch
@@ -1,12 +1,12 @@
-From 9107f3bd68aef6ae456a3cad664223b4f3d00131 Mon Sep 17 00:00:00 2001
+From ad207a6f83dac390b2d95e3a8262d27292921863 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 17:04:39 +0800
+Date: Wed, 26 Jun 2019 11:49:33 +0800
Subject: [PATCH] dlm: fix compile error since xml2-config should not be used
xml2-config is disabled, so change Makefile to use pkgconfig
to find libxml2.
-Upstream-Status: Inappropriate
+Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
@@ -14,21 +14,21 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fence/Makefile b/fence/Makefile
-index 77bf0fd..cca0b2c 100644
+index b927879..6e16078 100644
--- a/fence/Makefile
+++ b/fence/Makefile
-@@ -30,11 +30,11 @@ BIN_CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
- -fdiagnostics-show-option \
+@@ -18,11 +18,11 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
+ -fstack-clash-protection -Wl,-z,now
- BIN_CFLAGS += -fPIE -DPIE
--BIN_CFLAGS += `xml2-config --cflags`
-+BIN_CFLAGS += `pkg-config libxml-2.0 --cflags`
- BIN_CFLAGS += -I../include
+ CFLAGS += -fPIE -DPIE
+-CFLAGS += `xml2-config --cflags`
++CFLAGS += `pkg-config libxml-2.0 --cflags`
+ CFLAGS += -I../include
- BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
--BIN_LDFLAGS += `xml2-config --libs`
-+BIN_LDFLAGS += `pkg-config libxml-2.0 --libs`
- BIN_LDFLAGS += -ldl
+ LDFLAGS += -Wl,-z,relro -pie
+-LDFLAGS += `xml2-config --libs`
++LDFLAGS += `pkg-config libxml-2.0 --libs`
+ LDFLAGS += -ldl
all: $(BIN_TARGET)
--
diff --git a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch
deleted file mode 100644
index 6f01b2177..000000000
--- a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm/respect-ldflags-also-from-bin_ldflags.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 34a9182814ae565d6f430f85cfe80c05fa9f2dda Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 17:55:32 +0800
-Subject: [PATCH] respect-ldflags-also-from-bin_ldflags
-
-Upstream-Status: Inappropriate[oe-specific]
-
-update original patch to version 4.0.7
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- dlm_controld/Makefile | 4 ++--
- dlm_tool/Makefile | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile
-index cf556c9..3381730 100644
---- a/dlm_controld/Makefile
-+++ b/dlm_controld/Makefile
-@@ -55,11 +55,11 @@ BIN_CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
- BIN_CFLAGS += -fPIE -DPIE
- BIN_CFLAGS += -I../include -I../libdlm
-
--BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
-+BIN_LDFLAGS += $(LDFLAGS) -Wl,-z,now -Wl,-z,relro -pie
- BIN_LDFLAGS += -lpthread -lrt -lcpg -lcmap -lcfg -lquorum
-
- LIB_CFLAGS += $(BIN_CFLAGS)
--LIB_LDFLAGS += -Wl,-z,relro -pie
-+LIB_LDFLAGS += $(LDFLAGS) -Wl,-z,relro -pie
-
- ifeq ($(USE_SD_NOTIFY),yes)
- BIN_CFLAGS += $(shell pkg-config --cflags libsystemd) \
-diff --git a/dlm_tool/Makefile b/dlm_tool/Makefile
-index c16d8f5..a48a26f 100644
---- a/dlm_tool/Makefile
-+++ b/dlm_tool/Makefile
-@@ -32,7 +32,7 @@ BIN_CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
- BIN_CFLAGS += -fPIE -DPIE
- BIN_CFLAGS += -I../include -I../libdlm -I../dlm_controld
-
--BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
-+BIN_LDFLAGS += $(LDFLAGS) -Wl,-z,now -Wl,-z,relro -pie
- BIN_LDFLAGS += -L../libdlm -L../dlm_controld
- BIN_LDFLAGS += -lpthread -ldlm -ldlmcontrol
-
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.7.bb b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.7.bb
deleted file mode 100644
index 027864a1a..000000000
--- a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.7.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-DESCRIPTION = "dlm control daemon and tool"
-
-SECTION = "utils"
-HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage"
-
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-SRC_URI = "https://releases.pagure.org/dlm/${BP}.tar.gz \
- file://respect-ldflags-also-from-bin_ldflags.patch \
- file://0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch \
- file://0001-dlm-fix-package-qa-error.patch \
- file://0001-Include-sys-sysmacros.h-for-major-minor-macros-in-gl.patch \
- "
-
-SRC_URI[md5sum] = "aa604a10d5ac2d3414eb89ec6984cd12"
-SRC_URI[sha256sum] = "639ddfc82369272a68d56816689736c00b8f1b6b2869a6b66b7dbf6dad86469a"
-
-UPSTREAM_CHECK_URI = "https://pagure.io/dlm/releases"
-UPSTREAM_CHECK_REGEX = "dlm-(?P<pver>\d+(\.\d+)+)"
-
-LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
-LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d"
-
-DEPENDS = "corosync systemd"
-
-inherit pkgconfig systemd distro_features_check
-
-PACKAGECONFIG ??= ""
-
-PACKAGECONFIG[pacemaker] = ",,pacemaker"
-
-SYSTEMD_SERVICE_${PN} = "dlm.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-export EXTRA_OEMAKE = ""
-
-DONTBUILD = "${@bb.utils.contains('PACKAGECONFIG', 'pacemaker', '', 'fence', d)}"
-
-do_compile_prepend() {
- sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile
- sed -i -e "s/ ${DONTBUILD}//g" ${S}/Makefile
-}
-
-do_compile () {
- oe_runmake 'CC=${CC}'
-}
-
-do_install_append (){
- install -d ${D}${sysconfdir}/sysconfig/
- install -d ${D}${sysconfdir}/init.d/
- install -m 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm
- install -m 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm
-
- # install systemd unit files
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system
- fi
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} LIBDIR=${libdir}
-}
-
diff --git a/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb
new file mode 100644
index 000000000..876462d2f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-extended/dlm/dlm_4.0.9.bb
@@ -0,0 +1,64 @@
+DESCRIPTION = "dlm control daemon and tool"
+
+SECTION = "utils"
+HOMEPAGE = "https://fedorahosted.org/cluster/wiki/HomePage"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SRC_URI = "https://pagure.io/dlm/archive/dlm-${PV}/dlm-dlm-${PV}.tar.gz \
+ file://0001-dlm-fix-compile-error-since-xml2-config-should-not-b.patch \
+ file://0001-Include-sys-sysmacros.h-for-major-minor-macros-in-gl.patch \
+ "
+
+SRC_URI[md5sum] = "4c57a941a15547859cd38fd55f66388e"
+SRC_URI[sha256sum] = "d59142e067cbd603aaf66151a04e9fa34330219680b8827c953d20821b951991"
+
+UPSTREAM_CHECK_URI = "https://pagure.io/dlm/releases"
+UPSTREAM_CHECK_REGEX = "dlm-(?P<pver>\d+(\.\d+)+)"
+
+LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://README.license;md5=8f0bbcdd678df1bce9863492b6c8832d"
+
+S = "${WORKDIR}/dlm-dlm-${PV}"
+
+DEPENDS = "corosync systemd"
+
+inherit pkgconfig systemd distro_features_check
+
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[pacemaker] = ",,pacemaker"
+
+SYSTEMD_SERVICE_${PN} = "dlm.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+export EXTRA_OEMAKE = ""
+
+DONTBUILD = "${@bb.utils.contains('PACKAGECONFIG', 'pacemaker', '', 'fence', d)}"
+
+do_compile_prepend() {
+ sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile
+ sed -i -e "s/ ${DONTBUILD}//g" ${S}/Makefile
+}
+
+do_compile () {
+ oe_runmake 'CC=${CC}'
+}
+
+do_install_append (){
+ install -d ${D}${sysconfdir}/sysconfig/
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0644 ${S}/init/dlm.sysconfig ${D}${sysconfdir}/sysconfig/dlm
+ install -m 0644 ${S}/init/dlm.init ${D}${sysconfdir}/init.d/dlm
+
+ # install systemd unit files
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system
+ fi
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} LIBDIR=${libdir}
+}
+
diff --git a/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb b/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb
index 040c53f5c..60aae2145 100644
--- a/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/arno-iptables-firewall/arno-iptables-firewall_2.0.3.bb
@@ -4,11 +4,10 @@ HOMEPAGE = "http://rocky.eld.leidenuniv.nl/joomla/index.php?option=com_content&v
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://gpl_license.txt;md5=11c7b65c4a4acb9d5175f7e9bf99c403"
-SRC_URI = "https://github.com/arno-iptables-firewall/aif/archive/${PV}.tar.gz"
-SRC_URI[md5sum] = "71271c08299aacd45ceb9c9400082d03"
-SRC_URI[sha256sum] = "e2c4fb88a25f0cae8308a3b2bb922b5e2f52f24d8309b24e15a527a6b326e703"
+SRCREV = "ffcb86c30779df58ee057dfe9a3b078adccc1513"
+SRC_URI = "git://github.com/arno-iptables-firewall/aif"
-S = "${WORKDIR}/aif-${PV}"
+S = "${WORKDIR}/git"
inherit systemd
diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch
index 995fd59a5..699d0d922 100644
--- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch
+++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0001-Move-exports-before-symbol-definition.patch
@@ -1,4 +1,4 @@
-From 21eb59fbd071ebffb8495232766824944fb521a0 Mon Sep 17 00:00:00 2001
+From 6b76c76e6b3f93c422d666f49ee68df9d5426078 Mon Sep 17 00:00:00 2001
From: Alex Kiernan <alex.kiernan@gmail.com>
Date: Wed, 7 Nov 2018 21:19:53 +0000
Subject: [PATCH] Move exports before symbol definition
@@ -10,11 +10,11 @@ clang.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
- src/flowtable.c | 54 +++++++++++++++++++++++++++---------------------------
+ src/flowtable.c | 54 ++++++++++++++++++++++++-------------------------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/src/flowtable.c b/src/flowtable.c
-index c1ddae4..d7434e3 100644
+index 1f7ba30..80de952 100644
--- a/src/flowtable.c
+++ b/src/flowtable.c
@@ -34,12 +34,13 @@ struct nftnl_flowtable {
@@ -49,7 +49,7 @@ index c1ddae4..d7434e3 100644
void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr)
{
int i;
-@@ -96,7 +97,6 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr)
+@@ -95,7 +96,6 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr)
c->flags &= ~(1 << attr);
}
@@ -57,7 +57,7 @@ index c1ddae4..d7434e3 100644
static uint32_t nftnl_flowtable_validate[NFTNL_FLOWTABLE_MAX + 1] = {
[NFTNL_FLOWTABLE_HOOKNUM] = sizeof(uint32_t),
-@@ -105,6 +105,7 @@ static uint32_t nftnl_flowtable_validate[NFTNL_FLOWTABLE_MAX + 1] = {
+@@ -104,6 +104,7 @@ static uint32_t nftnl_flowtable_validate[NFTNL_FLOWTABLE_MAX + 1] = {
[NFTNL_FLOWTABLE_FLAGS] = sizeof(uint32_t),
};
@@ -65,7 +65,7 @@ index c1ddae4..d7434e3 100644
int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr,
const void *data, uint32_t data_len)
{
-@@ -170,32 +171,32 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr,
+@@ -169,32 +170,32 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr,
c->flags |= (1 << attr);
return 0;
}
@@ -103,7 +103,7 @@ index c1ddae4..d7434e3 100644
const void *nftnl_flowtable_get_data(const struct nftnl_flowtable *c,
uint16_t attr, uint32_t *data_len)
{
-@@ -229,21 +230,21 @@ const void *nftnl_flowtable_get_data(const struct nftnl_flowtable *c,
+@@ -228,21 +229,21 @@ const void *nftnl_flowtable_get_data(const struct nftnl_flowtable *c,
}
return NULL;
}
@@ -127,8 +127,8 @@ index c1ddae4..d7434e3 100644
+EXPORT_SYMBOL(nftnl_flowtable_get_u32);
uint32_t nftnl_flowtable_get_u32(const struct nftnl_flowtable *c, uint16_t attr)
{
- uint32_t data_len;
-@@ -253,8 +254,8 @@ uint32_t nftnl_flowtable_get_u32(const struct nftnl_flowtable *c, uint16_t attr)
+ uint32_t data_len = 0;
+@@ -252,8 +253,8 @@ uint32_t nftnl_flowtable_get_u32(const struct nftnl_flowtable *c, uint16_t attr)
return val ? *val : 0;
}
@@ -137,8 +137,8 @@ index c1ddae4..d7434e3 100644
+EXPORT_SYMBOL(nftnl_flowtable_get_s32);
int32_t nftnl_flowtable_get_s32(const struct nftnl_flowtable *c, uint16_t attr)
{
- uint32_t data_len;
-@@ -264,8 +265,8 @@ int32_t nftnl_flowtable_get_s32(const struct nftnl_flowtable *c, uint16_t attr)
+ uint32_t data_len = 0;
+@@ -263,8 +264,8 @@ int32_t nftnl_flowtable_get_s32(const struct nftnl_flowtable *c, uint16_t attr)
return val ? *val : 0;
}
@@ -148,7 +148,7 @@ index c1ddae4..d7434e3 100644
void nftnl_flowtable_nlmsg_build_payload(struct nlmsghdr *nlh,
const struct nftnl_flowtable *c)
{
-@@ -301,7 +302,6 @@ void nftnl_flowtable_nlmsg_build_payload(struct nlmsghdr *nlh,
+@@ -300,7 +301,6 @@ void nftnl_flowtable_nlmsg_build_payload(struct nlmsghdr *nlh,
if (c->flags & (1 << NFTNL_FLOWTABLE_SIZE))
mnl_attr_put_u32(nlh, NFTA_FLOWTABLE_SIZE, htonl(c->size));
}
@@ -156,7 +156,7 @@ index c1ddae4..d7434e3 100644
static int nftnl_flowtable_parse_attr_cb(const struct nlattr *attr, void *data)
{
-@@ -412,6 +412,7 @@ static int nftnl_flowtable_parse_hook(struct nlattr *attr, struct nftnl_flowtabl
+@@ -415,6 +415,7 @@ static int nftnl_flowtable_parse_hook(struct nlattr *attr, struct nftnl_flowtabl
return 0;
}
@@ -164,7 +164,7 @@ index c1ddae4..d7434e3 100644
int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtable *c)
{
struct nlattr *tb[NFTA_FLOWTABLE_MAX + 1] = {};
-@@ -460,7 +461,6 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab
+@@ -463,7 +464,6 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab
return ret;
}
@@ -172,15 +172,16 @@ index c1ddae4..d7434e3 100644
static const char *nftnl_hooknum2str(int family, int hooknum)
{
-@@ -612,20 +612,20 @@ static int nftnl_flowtable_do_parse(struct nftnl_flowtable *c,
- return ret;
+@@ -516,14 +516,15 @@ static inline int nftnl_str2hooknum(int family, const char *hook)
+ return -1;
}
+EXPORT_SYMBOL(nftnl_flowtable_parse);
int nftnl_flowtable_parse(struct nftnl_flowtable *c, enum nftnl_parse_type type,
const char *data, struct nftnl_parse_err *err)
{
- return nftnl_flowtable_do_parse(c, type, data, err, NFTNL_PARSE_BUFFER);
+ errno = EOPNOTSUPP;
+ return -1;
}
-EXPORT_SYMBOL(nftnl_flowtable_parse);
@@ -188,14 +189,15 @@ index c1ddae4..d7434e3 100644
int nftnl_flowtable_parse_file(struct nftnl_flowtable *c,
enum nftnl_parse_type type,
FILE *fp, struct nftnl_parse_err *err)
- {
- return nftnl_flowtable_do_parse(c, type, fp, err, NFTNL_PARSE_FILE);
+@@ -531,7 +532,6 @@ int nftnl_flowtable_parse_file(struct nftnl_flowtable *c,
+ errno = EOPNOTSUPP;
+ return -1;
}
-EXPORT_SYMBOL(nftnl_flowtable_parse_file);
- static int nftnl_flowtable_export(char *buf, size_t size,
- const struct nftnl_flowtable *c, int type)
-@@ -720,6 +720,7 @@ static int nftnl_flowtable_cmd_snprintf(char *buf, size_t size,
+ static int nftnl_flowtable_snprintf_default(char *buf, size_t size,
+ const struct nftnl_flowtable *c)
+@@ -587,6 +587,7 @@ static int nftnl_flowtable_cmd_snprintf(char *buf, size_t size,
return offset;
}
@@ -203,7 +205,7 @@ index c1ddae4..d7434e3 100644
int nftnl_flowtable_snprintf(char *buf, size_t size, const struct nftnl_flowtable *c,
uint32_t type, uint32_t flags)
{
-@@ -729,7 +730,6 @@ int nftnl_flowtable_snprintf(char *buf, size_t size, const struct nftnl_flowtabl
+@@ -596,7 +597,6 @@ int nftnl_flowtable_snprintf(char *buf, size_t size, const struct nftnl_flowtabl
return nftnl_flowtable_cmd_snprintf(buf, size, c, nftnl_flag2cmd(flags),
type, flags);
}
@@ -211,7 +213,7 @@ index c1ddae4..d7434e3 100644
static int nftnl_flowtable_do_snprintf(char *buf, size_t size, const void *c,
uint32_t cmd, uint32_t type, uint32_t flags)
-@@ -737,18 +737,19 @@ static int nftnl_flowtable_do_snprintf(char *buf, size_t size, const void *c,
+@@ -604,18 +604,19 @@ static int nftnl_flowtable_do_snprintf(char *buf, size_t size, const void *c,
return nftnl_flowtable_snprintf(buf, size, c, type, flags);
}
@@ -232,7 +234,7 @@ index c1ddae4..d7434e3 100644
struct nftnl_flowtable_list *nftnl_flowtable_list_alloc(void)
{
struct nftnl_flowtable_list *list;
-@@ -761,8 +762,8 @@ struct nftnl_flowtable_list *nftnl_flowtable_list_alloc(void)
+@@ -628,8 +629,8 @@ struct nftnl_flowtable_list *nftnl_flowtable_list_alloc(void)
return list;
}
@@ -242,7 +244,7 @@ index c1ddae4..d7434e3 100644
void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list)
{
struct nftnl_flowtable *s, *tmp;
-@@ -773,34 +774,34 @@ void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list)
+@@ -640,34 +641,34 @@ void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list)
}
xfree(list);
}
@@ -282,8 +284,11 @@ index c1ddae4..d7434e3 100644
int nftnl_flowtable_list_foreach(struct nftnl_flowtable_list *flowtable_list,
int (*cb)(struct nftnl_flowtable *t, void *data), void *data)
{
-@@ -814,4 +815,3 @@ int nftnl_flowtable_list_foreach(struct nftnl_flowtable_list *flowtable_list,
+@@ -681,4 +682,3 @@ int nftnl_flowtable_list_foreach(struct nftnl_flowtable_list *flowtable_list,
}
return 0;
}
-EXPORT_SYMBOL(nftnl_flowtable_list_foreach);
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch
index e7e8f6fe9..e64091b50 100644
--- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch
+++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl/0002-avoid-naming-local-function-as-one-of-printf-family.patch
@@ -1,6 +1,6 @@
-From 5ea9fa9d345005f2f53b1b598edb85f5f24ca9da Mon Sep 17 00:00:00 2001
-From: Alex Kiernan <alex.kiernan@gmail.com>
-Date: Wed, 7 Nov 2018 19:41:54 +0000
+From 373e13e28e34b4d415fc096e1c7175f4ecfbf0da Mon Sep 17 00:00:00 2001
+From: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+Date: Wed, 21 Aug 2019 11:18:56 +0900
Subject: [PATCH] avoid naming local function as one of printf family
Fixes build issues with clang
@@ -8,6 +8,8 @@ error: no member named '__builtin___snprintf_chk' in 'struct expr_ops'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+
+Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
---
include/expr_ops.h | 2 +-
include/obj.h | 2 +-
@@ -35,6 +37,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
src/expr/nat.c | 2 +-
src/expr/numgen.c | 2 +-
src/expr/objref.c | 2 +-
+ src/expr/osf.c | 2 +-
src/expr/payload.c | 2 +-
src/expr/queue.c | 2 +-
src/expr/quota.c | 2 +-
@@ -43,45 +46,53 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
src/expr/reject.c | 2 +-
src/expr/rt.c | 2 +-
src/expr/socket.c | 2 +-
+ src/expr/synproxy.c | 2 +-
src/expr/target.c | 2 +-
+ src/expr/tproxy.c | 2 +-
+ src/expr/tunnel.c | 2 +-
+ src/expr/xfrm.c | 2 +-
src/obj/counter.c | 2 +-
+ src/obj/ct_expect.c | 2 +-
src/obj/ct_helper.c | 2 +-
+ src/obj/ct_timeout.c | 2 +-
src/obj/limit.c | 2 +-
src/obj/quota.c | 2 +-
- src/object.c | 4 ++--
- 40 files changed, 42 insertions(+), 42 deletions(-)
+ src/obj/secmark.c | 2 +-
+ src/obj/tunnel.c | 2 +-
+ src/object.c | 2 +-
+ 49 files changed, 50 insertions(+), 50 deletions(-)
diff --git a/include/expr_ops.h b/include/expr_ops.h
-index e639390..c4fe050 100644
+index a7f1b9a..d2946de 100644
--- a/include/expr_ops.h
+++ b/include/expr_ops.h
-@@ -18,7 +18,7 @@ struct expr_ops {
+@@ -17,7 +17,7 @@ struct expr_ops {
const void *(*get)(const struct nftnl_expr *e, uint16_t type, uint32_t *data_len);
int (*parse)(struct nftnl_expr *e, struct nlattr *attr);
void (*build)(struct nlmsghdr *nlh, const struct nftnl_expr *e);
- int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_expr *e);
+ int (*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_expr *e);
- int (*json_parse)(struct nftnl_expr *e, json_t *data,
- struct nftnl_parse_err *err);
};
+
+ struct expr_ops *nftnl_expr_ops_lookup(const char *name);
diff --git a/include/obj.h b/include/obj.h
-index 4a728c8..4c20bd1 100644
+index 9394d79..08610d7 100644
--- a/include/obj.h
+++ b/include/obj.h
-@@ -55,7 +55,7 @@ struct obj_ops {
+@@ -99,7 +99,7 @@ struct obj_ops {
const void *(*get)(const struct nftnl_obj *e, uint16_t type, uint32_t *data_len);
int (*parse)(struct nftnl_obj *e, struct nlattr *attr);
void (*build)(struct nlmsghdr *nlh, const struct nftnl_obj *e);
- int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_obj *e);
+ int (*snprintf_)(char *buf, size_t len, uint32_t type, uint32_t flags, const struct nftnl_obj *e);
- int (*json_parse)(struct nftnl_obj *e, json_t *data,
- struct nftnl_parse_err *err);
};
+
+ extern struct obj_ops obj_ops_counter;
diff --git a/src/expr.c b/src/expr.c
-index 62565e0..2489c30 100644
+index 80c4c36..b698a60 100644
--- a/src/expr.c
+++ b/src/expr.c
-@@ -285,10 +285,10 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr,
+@@ -275,10 +275,10 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr,
if (size)
buf[0] = '\0';
@@ -95,450 +106,505 @@ index 62565e0..2489c30 100644
return offset;
diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c
-index a89734b..f8360b1 100644
+index c9d40df..27d644b 100644
--- a/src/expr/bitwise.c
+++ b/src/expr/bitwise.c
-@@ -299,6 +299,6 @@ struct expr_ops expr_ops_bitwise = {
+@@ -219,5 +219,5 @@ struct expr_ops expr_ops_bitwise = {
.get = nftnl_expr_bitwise_get,
.parse = nftnl_expr_bitwise_parse,
.build = nftnl_expr_bitwise_build,
- .snprintf = nftnl_expr_bitwise_snprintf,
+ .snprintf_ = nftnl_expr_bitwise_snprintf,
- .json_parse = nftnl_expr_bitwise_json_parse,
};
diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c
-index 47c04cf..61f733f 100644
+index efdfa2b..7ae9dfb 100644
--- a/src/expr/byteorder.c
+++ b/src/expr/byteorder.c
-@@ -314,6 +314,6 @@ struct expr_ops expr_ops_byteorder = {
+@@ -234,5 +234,5 @@ struct expr_ops expr_ops_byteorder = {
.get = nftnl_expr_byteorder_get,
.parse = nftnl_expr_byteorder_parse,
.build = nftnl_expr_byteorder_build,
- .snprintf = nftnl_expr_byteorder_snprintf,
+ .snprintf_ = nftnl_expr_byteorder_snprintf,
- .json_parse = nftnl_expr_byteorder_json_parse,
};
diff --git a/src/expr/cmp.c b/src/expr/cmp.c
-index b26d0eb..522c7be 100644
+index 86d7842..e3be442 100644
--- a/src/expr/cmp.c
+++ b/src/expr/cmp.c
-@@ -284,6 +284,6 @@ struct expr_ops expr_ops_cmp = {
+@@ -216,5 +216,5 @@ struct expr_ops expr_ops_cmp = {
.get = nftnl_expr_cmp_get,
.parse = nftnl_expr_cmp_parse,
.build = nftnl_expr_cmp_build,
- .snprintf = nftnl_expr_cmp_snprintf,
+ .snprintf_ = nftnl_expr_cmp_snprintf,
- .json_parse = nftnl_expr_cmp_json_parse,
};
diff --git a/src/expr/connlimit.c b/src/expr/connlimit.c
-index 60965b5..4e41866 100644
+index 53af93b..6c8bc40 100644
--- a/src/expr/connlimit.c
+++ b/src/expr/connlimit.c
-@@ -202,6 +202,6 @@ struct expr_ops expr_ops_connlimit = {
+@@ -149,5 +149,5 @@ struct expr_ops expr_ops_connlimit = {
.get = nftnl_expr_connlimit_get,
.parse = nftnl_expr_connlimit_parse,
.build = nftnl_expr_connlimit_build,
- .snprintf = nftnl_expr_connlimit_snprintf,
-+ .snprintf_ = nftnl_expr_connlimit_snprintf,
- .json_parse = nftnl_expr_connlimit_json_parse,
++ .snprintf_ = nftnl_expr_connlimit_snprintf,
};
diff --git a/src/expr/counter.c b/src/expr/counter.c
-index 21901e8..9fd7655 100644
+index 89a602e..a32a69e 100644
--- a/src/expr/counter.c
+++ b/src/expr/counter.c
-@@ -200,6 +200,6 @@ struct expr_ops expr_ops_counter = {
+@@ -147,5 +147,5 @@ struct expr_ops expr_ops_counter = {
.get = nftnl_expr_counter_get,
.parse = nftnl_expr_counter_parse,
.build = nftnl_expr_counter_build,
- .snprintf = nftnl_expr_counter_snprintf,
+ .snprintf_ = nftnl_expr_counter_snprintf,
- .json_parse = nftnl_expr_counter_json_parse,
};
diff --git a/src/expr/ct.c b/src/expr/ct.c
-index 39e9be6..b363f7c 100644
+index 124de9d..7bde179 100644
--- a/src/expr/ct.c
+++ b/src/expr/ct.c
-@@ -357,6 +357,6 @@ struct expr_ops expr_ops_ct = {
+@@ -273,5 +273,5 @@ struct expr_ops expr_ops_ct = {
.get = nftnl_expr_ct_get,
.parse = nftnl_expr_ct_parse,
.build = nftnl_expr_ct_build,
- .snprintf = nftnl_expr_ct_snprintf,
+ .snprintf_ = nftnl_expr_ct_snprintf,
- .json_parse = nftnl_expr_ct_json_parse,
};
diff --git a/src/expr/dup.c b/src/expr/dup.c
-index ed8e620..8d603e3 100644
+index 2bb35e5..d9bd4b1 100644
--- a/src/expr/dup.c
+++ b/src/expr/dup.c
-@@ -206,6 +206,6 @@ struct expr_ops expr_ops_dup = {
+@@ -154,5 +154,5 @@ struct expr_ops expr_ops_dup = {
.get = nftnl_expr_dup_get,
.parse = nftnl_expr_dup_parse,
.build = nftnl_expr_dup_build,
- .snprintf = nftnl_expr_dup_snprintf,
+ .snprintf_ = nftnl_expr_dup_snprintf,
- .json_parse = nftnl_expr_dup_json_parse,
};
diff --git a/src/expr/dynset.c b/src/expr/dynset.c
-index 160d0e1..a43f4da 100644
+index 68115ba..6e43bb4 100644
--- a/src/expr/dynset.c
+++ b/src/expr/dynset.c
-@@ -368,6 +368,6 @@ struct expr_ops expr_ops_dynset = {
+@@ -288,5 +288,5 @@ struct expr_ops expr_ops_dynset = {
.get = nftnl_expr_dynset_get,
.parse = nftnl_expr_dynset_parse,
.build = nftnl_expr_dynset_build,
- .snprintf = nftnl_expr_dynset_snprintf,
+ .snprintf_ = nftnl_expr_dynset_snprintf,
- .json_parse = nftnl_expr_dynset_json_parse,
};
diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c
-index 75cafbc..89ea7f5 100644
+index e5f714b..e68792b 100644
--- a/src/expr/exthdr.c
+++ b/src/expr/exthdr.c
-@@ -385,6 +385,6 @@ struct expr_ops expr_ops_exthdr = {
+@@ -276,5 +276,5 @@ struct expr_ops expr_ops_exthdr = {
.get = nftnl_expr_exthdr_get,
.parse = nftnl_expr_exthdr_parse,
.build = nftnl_expr_exthdr_build,
- .snprintf = nftnl_expr_exthdr_snprintf,
+ .snprintf_ = nftnl_expr_exthdr_snprintf,
- .json_parse = nftnl_expr_exthdr_json_parse,
};
diff --git a/src/expr/fib.c b/src/expr/fib.c
-index b922b26..ece4645 100644
+index 9475af4..8e7090d 100644
--- a/src/expr/fib.c
+++ b/src/expr/fib.c
-@@ -274,6 +274,6 @@ struct expr_ops expr_ops_fib = {
+@@ -213,5 +213,5 @@ struct expr_ops expr_ops_fib = {
.get = nftnl_expr_fib_get,
.parse = nftnl_expr_fib_parse,
.build = nftnl_expr_fib_build,
- .snprintf = nftnl_expr_fib_snprintf,
+ .snprintf_ = nftnl_expr_fib_snprintf,
- .json_parse = nftnl_expr_fib_json_parse,
};
diff --git a/src/expr/flow_offload.c b/src/expr/flow_offload.c
-index a2001c9..9cdbc21 100644
+index 6ccec9a..c2f2478 100644
--- a/src/expr/flow_offload.c
+++ b/src/expr/flow_offload.c
-@@ -179,6 +179,6 @@ struct expr_ops expr_ops_flow = {
+@@ -134,5 +134,5 @@ struct expr_ops expr_ops_flow = {
.get = nftnl_expr_flow_get,
.parse = nftnl_expr_flow_parse,
.build = nftnl_expr_flow_build,
- .snprintf = nftnl_expr_flow_snprintf,
+ .snprintf_ = nftnl_expr_flow_snprintf,
- .json_parse = nftnl_expr_flow_json_parse,
};
diff --git a/src/expr/fwd.c b/src/expr/fwd.c
-index 9021606..7178f43 100644
+index cff8235..bcd7d3f 100644
--- a/src/expr/fwd.c
+++ b/src/expr/fwd.c
-@@ -233,6 +233,6 @@ struct expr_ops expr_ops_fwd = {
+@@ -174,5 +174,5 @@ struct expr_ops expr_ops_fwd = {
.get = nftnl_expr_fwd_get,
.parse = nftnl_expr_fwd_parse,
.build = nftnl_expr_fwd_build,
- .snprintf = nftnl_expr_fwd_snprintf,
+ .snprintf_ = nftnl_expr_fwd_snprintf,
- .json_parse = nftnl_expr_fwd_json_parse,
};
diff --git a/src/expr/hash.c b/src/expr/hash.c
-index 415537e..186c5b0 100644
+index 2c801d2..a9f6e7e 100644
--- a/src/expr/hash.c
+++ b/src/expr/hash.c
-@@ -383,6 +383,6 @@ struct expr_ops expr_ops_hash = {
+@@ -241,5 +241,5 @@ struct expr_ops expr_ops_hash = {
.get = nftnl_expr_hash_get,
.parse = nftnl_expr_hash_parse,
.build = nftnl_expr_hash_build,
- .snprintf = nftnl_expr_hash_snprintf,
+ .snprintf_ = nftnl_expr_hash_snprintf,
- .json_parse = nftnl_expr_hash_json_parse,
};
diff --git a/src/expr/immediate.c b/src/expr/immediate.c
-index b0570bd..91ccbdc 100644
+index 47106ae..ea86c88 100644
--- a/src/expr/immediate.c
+++ b/src/expr/immediate.c
-@@ -316,6 +316,6 @@ struct expr_ops expr_ops_immediate = {
+@@ -235,5 +235,5 @@ struct expr_ops expr_ops_immediate = {
.get = nftnl_expr_immediate_get,
.parse = nftnl_expr_immediate_parse,
.build = nftnl_expr_immediate_build,
- .snprintf = nftnl_expr_immediate_snprintf,
+ .snprintf_ = nftnl_expr_immediate_snprintf,
- .json_parse = nftnl_expr_immediate_json_parse,
};
diff --git a/src/expr/limit.c b/src/expr/limit.c
-index 856ab18..e71fc2f 100644
+index 5872e27..0ce482f 100644
--- a/src/expr/limit.c
+++ b/src/expr/limit.c
-@@ -285,6 +285,6 @@ struct expr_ops expr_ops_limit = {
+@@ -216,5 +216,5 @@ struct expr_ops expr_ops_limit = {
.get = nftnl_expr_limit_get,
.parse = nftnl_expr_limit_parse,
.build = nftnl_expr_limit_build,
- .snprintf = nftnl_expr_limit_snprintf,
+ .snprintf_ = nftnl_expr_limit_snprintf,
- .json_parse = nftnl_expr_limit_json_parse,
};
diff --git a/src/expr/log.c b/src/expr/log.c
-index 86d9651..5769c1c 100644
+index bbe43d2..5506bc2 100644
--- a/src/expr/log.c
+++ b/src/expr/log.c
-@@ -353,6 +353,6 @@ struct expr_ops expr_ops_log = {
+@@ -267,5 +267,5 @@ struct expr_ops expr_ops_log = {
.get = nftnl_expr_log_get,
.parse = nftnl_expr_log_parse,
.build = nftnl_expr_log_build,
- .snprintf = nftnl_expr_log_snprintf,
+ .snprintf_ = nftnl_expr_log_snprintf,
- .json_parse = nftnl_expr_log_json_parse,
};
diff --git a/src/expr/lookup.c b/src/expr/lookup.c
-index 5fcb81f..b2f0dd6 100644
+index a495ac0..678868c 100644
--- a/src/expr/lookup.c
+++ b/src/expr/lookup.c
-@@ -292,6 +292,6 @@ struct expr_ops expr_ops_lookup = {
+@@ -221,5 +221,5 @@ struct expr_ops expr_ops_lookup = {
.get = nftnl_expr_lookup_get,
.parse = nftnl_expr_lookup_parse,
.build = nftnl_expr_lookup_build,
- .snprintf = nftnl_expr_lookup_snprintf,
+ .snprintf_ = nftnl_expr_lookup_snprintf,
- .json_parse = nftnl_expr_lookup_json_parse,
};
diff --git a/src/expr/masq.c b/src/expr/masq.c
-index 7c235d3..adec325 100644
+index f6f3ceb..88292a6 100644
--- a/src/expr/masq.c
+++ b/src/expr/masq.c
-@@ -228,6 +228,6 @@ struct expr_ops expr_ops_masq = {
+@@ -169,5 +169,5 @@ struct expr_ops expr_ops_masq = {
.get = nftnl_expr_masq_get,
.parse = nftnl_expr_masq_parse,
.build = nftnl_expr_masq_build,
- .snprintf = nftnl_expr_masq_snprintf,
+ .snprintf_ = nftnl_expr_masq_snprintf,
- .json_parse = nftnl_expr_masq_json_parse,
};
diff --git a/src/expr/match.c b/src/expr/match.c
-index dd09e1e..f0d8868 100644
+index 4fa74b2..249c6b5 100644
--- a/src/expr/match.c
+++ b/src/expr/match.c
-@@ -249,6 +249,6 @@ struct expr_ops expr_ops_match = {
+@@ -198,5 +198,5 @@ struct expr_ops expr_ops_match = {
.get = nftnl_expr_match_get,
.parse = nftnl_expr_match_parse,
.build = nftnl_expr_match_build,
- .snprintf = nftnl_expr_match_snprintf,
+ .snprintf_ = nftnl_expr_match_snprintf,
- .json_parse = nftnl_expr_match_json_parse,
};
diff --git a/src/expr/meta.c b/src/expr/meta.c
-index de82105..91f1ebb 100644
+index 73f6efa..35d5ec5 100644
--- a/src/expr/meta.c
+++ b/src/expr/meta.c
-@@ -291,6 +291,6 @@ struct expr_ops expr_ops_meta = {
+@@ -226,5 +226,5 @@ struct expr_ops expr_ops_meta = {
.get = nftnl_expr_meta_get,
.parse = nftnl_expr_meta_parse,
.build = nftnl_expr_meta_build,
- .snprintf = nftnl_expr_meta_snprintf,
+ .snprintf_ = nftnl_expr_meta_snprintf,
- .json_parse = nftnl_expr_meta_json_parse,
};
diff --git a/src/expr/nat.c b/src/expr/nat.c
-index 9271303..427c282 100644
+index 6b7d50e..be4a579 100644
--- a/src/expr/nat.c
+++ b/src/expr/nat.c
-@@ -384,6 +384,6 @@ struct expr_ops expr_ops_nat = {
+@@ -279,5 +279,5 @@ struct expr_ops expr_ops_nat = {
.get = nftnl_expr_nat_get,
.parse = nftnl_expr_nat_parse,
.build = nftnl_expr_nat_build,
- .snprintf = nftnl_expr_nat_snprintf,
+ .snprintf_ = nftnl_expr_nat_snprintf,
- .json_parse = nftnl_expr_nat_json_parse,
};
diff --git a/src/expr/numgen.c b/src/expr/numgen.c
-index 5336fde..8e0479a 100644
+index 4e0d541..5995ee3 100644
--- a/src/expr/numgen.c
+++ b/src/expr/numgen.c
-@@ -313,6 +313,6 @@ struct expr_ops expr_ops_ng = {
+@@ -195,5 +195,5 @@ struct expr_ops expr_ops_ng = {
.get = nftnl_expr_ng_get,
.parse = nftnl_expr_ng_parse,
.build = nftnl_expr_ng_build,
- .snprintf = nftnl_expr_ng_snprintf,
+ .snprintf_ = nftnl_expr_ng_snprintf,
- .json_parse = nftnl_expr_ng_json_parse,
};
diff --git a/src/expr/objref.c b/src/expr/objref.c
-index 64ee863..4504488 100644
+index 7388b18..e673ffd 100644
--- a/src/expr/objref.c
+++ b/src/expr/objref.c
-@@ -278,6 +278,6 @@ struct expr_ops expr_ops_objref = {
+@@ -210,5 +210,5 @@ struct expr_ops expr_ops_objref = {
.get = nftnl_expr_objref_get,
.parse = nftnl_expr_objref_parse,
.build = nftnl_expr_objref_build,
- .snprintf = nftnl_expr_objref_snprintf,
+ .snprintf_ = nftnl_expr_objref_snprintf,
- .json_parse = nftnl_expr_objref_json_parse,
+ };
+diff --git a/src/expr/osf.c b/src/expr/osf.c
+index 98d0df9..618b46e 100644
+--- a/src/expr/osf.c
++++ b/src/expr/osf.c
+@@ -161,5 +161,5 @@ struct expr_ops expr_ops_osf = {
+ .get = nftnl_expr_osf_get,
+ .parse = nftnl_expr_osf_parse,
+ .build = nftnl_expr_osf_build,
+- .snprintf = nftnl_expr_osf_snprintf,
++ .snprintf_ = nftnl_expr_osf_snprintf,
};
diff --git a/src/expr/payload.c b/src/expr/payload.c
-index 91e1587..894ac08 100644
+index 2192dad..37aacc4 100644
--- a/src/expr/payload.c
+++ b/src/expr/payload.c
-@@ -348,6 +348,6 @@ struct expr_ops expr_ops_payload = {
+@@ -266,5 +266,5 @@ struct expr_ops expr_ops_payload = {
.get = nftnl_expr_payload_get,
.parse = nftnl_expr_payload_parse,
.build = nftnl_expr_payload_build,
- .snprintf = nftnl_expr_payload_snprintf,
+ .snprintf_ = nftnl_expr_payload_snprintf,
- .json_parse = nftnl_expr_payload_json_parse,
};
diff --git a/src/expr/queue.c b/src/expr/queue.c
-index a392a27..ee26c10 100644
+index 051ef71..b06feff 100644
--- a/src/expr/queue.c
+++ b/src/expr/queue.c
-@@ -275,6 +275,6 @@ struct expr_ops expr_ops_queue = {
+@@ -207,5 +207,5 @@ struct expr_ops expr_ops_queue = {
.get = nftnl_expr_queue_get,
.parse = nftnl_expr_queue_parse,
.build = nftnl_expr_queue_build,
- .snprintf = nftnl_expr_queue_snprintf,
+ .snprintf_ = nftnl_expr_queue_snprintf,
- .json_parse = nftnl_expr_queue_json_parse,
};
diff --git a/src/expr/quota.c b/src/expr/quota.c
-index 667e6e1..ff5d182 100644
+index 39a92e6..41797be 100644
--- a/src/expr/quota.c
+++ b/src/expr/quota.c
-@@ -203,6 +203,6 @@ struct expr_ops expr_ops_quota = {
+@@ -161,5 +161,5 @@ struct expr_ops expr_ops_quota = {
.get = nftnl_expr_quota_get,
.parse = nftnl_expr_quota_parse,
.build = nftnl_expr_quota_build,
- .snprintf = nftnl_expr_quota_snprintf,
+ .snprintf_ = nftnl_expr_quota_snprintf,
- .json_parse = nftnl_expr_quota_json_parse,
};
diff --git a/src/expr/range.c b/src/expr/range.c
-index b2789ff..8910f8a 100644
+index d1d5083..b619cdf 100644
--- a/src/expr/range.c
+++ b/src/expr/range.c
-@@ -283,6 +283,6 @@ struct expr_ops expr_ops_range = {
+@@ -227,5 +227,5 @@ struct expr_ops expr_ops_range = {
.get = nftnl_expr_range_get,
.parse = nftnl_expr_range_parse,
.build = nftnl_expr_range_build,
- .snprintf = nftnl_expr_range_snprintf,
+ .snprintf_ = nftnl_expr_range_snprintf,
- .json_parse = nftnl_expr_range_json_parse,
};
diff --git a/src/expr/redir.c b/src/expr/redir.c
-index b2aa345..41b77ab 100644
+index 477659a..5c4ebeb 100644
--- a/src/expr/redir.c
+++ b/src/expr/redir.c
-@@ -242,6 +242,6 @@ struct expr_ops expr_ops_redir = {
+@@ -181,5 +181,5 @@ struct expr_ops expr_ops_redir = {
.get = nftnl_expr_redir_get,
.parse = nftnl_expr_redir_parse,
.build = nftnl_expr_redir_build,
- .snprintf = nftnl_expr_redir_snprintf,
+ .snprintf_ = nftnl_expr_redir_snprintf,
- .json_parse = nftnl_expr_redir_json_parse,
};
diff --git a/src/expr/reject.c b/src/expr/reject.c
-index 11d8b20..b10e729 100644
+index 141942e..a98990d 100644
--- a/src/expr/reject.c
+++ b/src/expr/reject.c
-@@ -200,6 +200,6 @@ struct expr_ops expr_ops_reject = {
+@@ -148,5 +148,5 @@ struct expr_ops expr_ops_reject = {
.get = nftnl_expr_reject_get,
.parse = nftnl_expr_reject_parse,
.build = nftnl_expr_reject_build,
- .snprintf = nftnl_expr_reject_snprintf,
+ .snprintf_ = nftnl_expr_reject_snprintf,
- .json_parse = nftnl_expr_reject_json_parse,
};
diff --git a/src/expr/rt.c b/src/expr/rt.c
-index c3c92c7..688a042 100644
+index 0fce72d..32ace19 100644
--- a/src/expr/rt.c
+++ b/src/expr/rt.c
-@@ -235,6 +235,6 @@ struct expr_ops expr_ops_rt = {
+@@ -177,5 +177,5 @@ struct expr_ops expr_ops_rt = {
.get = nftnl_expr_rt_get,
.parse = nftnl_expr_rt_parse,
.build = nftnl_expr_rt_build,
- .snprintf = nftnl_expr_rt_snprintf,
+ .snprintf_ = nftnl_expr_rt_snprintf,
- .json_parse = nftnl_expr_rt_json_parse,
};
diff --git a/src/expr/socket.c b/src/expr/socket.c
-index db160a1..4c50011 100644
+index 96550d5..2394dbf 100644
--- a/src/expr/socket.c
+++ b/src/expr/socket.c
-@@ -204,5 +204,5 @@ struct expr_ops expr_ops_socket = {
+@@ -174,5 +174,5 @@ struct expr_ops expr_ops_socket = {
.get = nftnl_expr_socket_get,
.parse = nftnl_expr_socket_parse,
.build = nftnl_expr_socket_build,
- .snprintf = nftnl_expr_socket_snprintf,
+ .snprintf_ = nftnl_expr_socket_snprintf,
};
+diff --git a/src/expr/synproxy.c b/src/expr/synproxy.c
+index 245f4fb..9721029 100644
+--- a/src/expr/synproxy.c
++++ b/src/expr/synproxy.c
+@@ -166,5 +166,5 @@ struct expr_ops expr_ops_synproxy = {
+ .get = nftnl_expr_synproxy_get,
+ .parse = nftnl_expr_synproxy_parse,
+ .build = nftnl_expr_synproxy_build,
+- .snprintf = nftnl_expr_synproxy_snprintf,
++ .snprintf_ = nftnl_expr_synproxy_snprintf,
+ };
diff --git a/src/expr/target.c b/src/expr/target.c
-index ed4bf7d..2ef4078 100644
+index 9100038..7180085 100644
--- a/src/expr/target.c
+++ b/src/expr/target.c
-@@ -249,6 +249,6 @@ struct expr_ops expr_ops_target = {
+@@ -198,5 +198,5 @@ struct expr_ops expr_ops_target = {
.get = nftnl_expr_target_get,
.parse = nftnl_expr_target_parse,
.build = nftnl_expr_target_build,
- .snprintf = nftnl_expr_target_snprintf,
+ .snprintf_ = nftnl_expr_target_snprintf,
- .json_parse = nftnl_expr_target_json_parse,
+ };
+diff --git a/src/expr/tproxy.c b/src/expr/tproxy.c
+index 3827b75..feabbbe 100644
+--- a/src/expr/tproxy.c
++++ b/src/expr/tproxy.c
+@@ -183,5 +183,5 @@ struct expr_ops expr_ops_tproxy = {
+ .get = nftnl_expr_tproxy_get,
+ .parse = nftnl_expr_tproxy_parse,
+ .build = nftnl_expr_tproxy_build,
+- .snprintf = nftnl_expr_tproxy_snprintf,
++ .snprintf_ = nftnl_expr_tproxy_snprintf,
+ };
+diff --git a/src/expr/tunnel.c b/src/expr/tunnel.c
+index b2b8d72..1ed46d3 100644
+--- a/src/expr/tunnel.c
++++ b/src/expr/tunnel.c
+@@ -173,5 +173,5 @@ struct expr_ops expr_ops_tunnel = {
+ .get = nftnl_expr_tunnel_get,
+ .parse = nftnl_expr_tunnel_parse,
+ .build = nftnl_expr_tunnel_build,
+- .snprintf = nftnl_expr_tunnel_snprintf,
++ .snprintf_ = nftnl_expr_tunnel_snprintf,
+ };
+diff --git a/src/expr/xfrm.c b/src/expr/xfrm.c
+index 8fe5438..b6b2772 100644
+--- a/src/expr/xfrm.c
++++ b/src/expr/xfrm.c
+@@ -239,5 +239,5 @@ struct expr_ops expr_ops_xfrm = {
+ .get = nftnl_expr_xfrm_get,
+ .parse = nftnl_expr_xfrm_parse,
+ .build = nftnl_expr_xfrm_build,
+- .snprintf = nftnl_expr_xfrm_snprintf,
++ .snprintf_ = nftnl_expr_xfrm_snprintf,
};
diff --git a/src/obj/counter.c b/src/obj/counter.c
-index 332bb2b..edeb7be 100644
+index 1baba4e..3710bce 100644
--- a/src/obj/counter.c
+++ b/src/obj/counter.c
-@@ -182,6 +182,6 @@ struct obj_ops obj_ops_counter = {
+@@ -145,5 +145,5 @@ struct obj_ops obj_ops_counter = {
.get = nftnl_obj_counter_get,
.parse = nftnl_obj_counter_parse,
.build = nftnl_obj_counter_build,
- .snprintf = nftnl_obj_counter_snprintf,
+ .snprintf_ = nftnl_obj_counter_snprintf,
- .json_parse = nftnl_obj_counter_json_parse,
+ };
+diff --git a/src/obj/ct_expect.c b/src/obj/ct_expect.c
+index c0bb5ba..953c08c 100644
+--- a/src/obj/ct_expect.c
++++ b/src/obj/ct_expect.c
+@@ -209,5 +209,5 @@ struct obj_ops obj_ops_ct_expect = {
+ .get = nftnl_obj_ct_expect_get,
+ .parse = nftnl_obj_ct_expect_parse,
+ .build = nftnl_obj_ct_expect_build,
+- .snprintf = nftnl_obj_ct_expect_snprintf,
++ .snprintf_ = nftnl_obj_ct_expect_snprintf,
};
diff --git a/src/obj/ct_helper.c b/src/obj/ct_helper.c
-index 62569fe..69757ff 100644
+index d91f636..2037461 100644
--- a/src/obj/ct_helper.c
+++ b/src/obj/ct_helper.c
-@@ -208,6 +208,6 @@ struct obj_ops obj_ops_ct_helper = {
+@@ -166,5 +166,5 @@ struct obj_ops obj_ops_ct_helper = {
.get = nftnl_obj_ct_helper_get,
.parse = nftnl_obj_ct_helper_parse,
.build = nftnl_obj_ct_helper_build,
- .snprintf = nftnl_obj_ct_helper_snprintf,
+ .snprintf_ = nftnl_obj_ct_helper_snprintf,
- .json_parse = nftnl_obj_quota_json_parse,
+ };
+diff --git a/src/obj/ct_timeout.c b/src/obj/ct_timeout.c
+index e2e9991..a4f2dd2 100644
+--- a/src/obj/ct_timeout.c
++++ b/src/obj/ct_timeout.c
+@@ -330,5 +330,5 @@ struct obj_ops obj_ops_ct_timeout = {
+ .get = nftnl_obj_ct_timeout_get,
+ .parse = nftnl_obj_ct_timeout_parse,
+ .build = nftnl_obj_ct_timeout_build,
+- .snprintf = nftnl_obj_ct_timeout_snprintf,
++ .snprintf_ = nftnl_obj_ct_timeout_snprintf,
};
diff --git a/src/obj/limit.c b/src/obj/limit.c
-index 7f8bcf7..25018b6 100644
+index 60b0159..538f37a 100644
--- a/src/obj/limit.c
+++ b/src/obj/limit.c
-@@ -236,6 +236,6 @@ struct obj_ops obj_ops_limit = {
+@@ -185,5 +185,5 @@ struct obj_ops obj_ops_limit = {
.get = nftnl_obj_limit_get,
.parse = nftnl_obj_limit_parse,
.build = nftnl_obj_limit_build,
- .snprintf = nftnl_obj_limit_snprintf,
+ .snprintf_ = nftnl_obj_limit_snprintf,
- .json_parse = nftnl_obj_limit_json_parse,
};
diff --git a/src/obj/quota.c b/src/obj/quota.c
-index 6d36784..ecaa8b1 100644
+index 1914037..585a088 100644
--- a/src/obj/quota.c
+++ b/src/obj/quota.c
-@@ -203,6 +203,6 @@ struct obj_ops obj_ops_quota = {
+@@ -161,5 +161,5 @@ struct obj_ops obj_ops_quota = {
.get = nftnl_obj_quota_get,
.parse = nftnl_obj_quota_parse,
.build = nftnl_obj_quota_build,
- .snprintf = nftnl_obj_quota_snprintf,
+ .snprintf_ = nftnl_obj_quota_snprintf,
- .json_parse = nftnl_obj_quota_json_parse,
+ };
+diff --git a/src/obj/secmark.c b/src/obj/secmark.c
+index e27b5fa..6241bee 100644
+--- a/src/obj/secmark.c
++++ b/src/obj/secmark.c
+@@ -133,5 +133,5 @@ struct obj_ops obj_ops_secmark = {
+ .get = nftnl_obj_secmark_get,
+ .parse = nftnl_obj_secmark_parse,
+ .build = nftnl_obj_secmark_build,
+- .snprintf = nftnl_obj_secmark_snprintf,
++ .snprintf_ = nftnl_obj_secmark_snprintf,
+ };
+diff --git a/src/obj/tunnel.c b/src/obj/tunnel.c
+index 7ffade8..800eb3e 100644
+--- a/src/obj/tunnel.c
++++ b/src/obj/tunnel.c
+@@ -564,5 +564,5 @@ struct obj_ops obj_ops_tunnel = {
+ .get = nftnl_obj_tunnel_get,
+ .parse = nftnl_obj_tunnel_parse,
+ .build = nftnl_obj_tunnel_build,
+- .snprintf = nftnl_obj_tunnel_snprintf,
++ .snprintf_ = nftnl_obj_tunnel_snprintf,
};
diff --git a/src/object.c b/src/object.c
-index d8278f3..9654b7b 100644
+index d8c87ee..5307d7e 100644
--- a/src/object.c
+++ b/src/object.c
-@@ -429,7 +429,7 @@ static int nftnl_obj_export(char *buf, size_t size,
- nftnl_buf_u64(&b, type, obj->handle, HANDLE);
-
- if (obj->ops)
-- ret = obj->ops->snprintf(buf + b.len, size - b.len, type,
-+ ret = obj->ops->snprintf_(buf + b.len, size - b.len, type,
- flags, obj);
-
- b.len += ret;
-@@ -450,7 +450,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size,
+@@ -370,7 +370,7 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size,
SNPRINTF_BUFFER_SIZE(ret, remain, offset);
if (obj->ops) {
@@ -547,3 +613,6 @@ index d8278f3..9654b7b 100644
obj);
SNPRINTF_BUFFER_SIZE(ret, remain, offset);
}
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb
deleted file mode 100644
index 77959a730..000000000
--- a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26"
-SECTION = "libs"
-DEPENDS = "libmnl"
-PV .= "+git${SRCPV}"
-SRCREV = "d379dfcb6c94dcb93a8f16896572d6e162138e0f"
-SRC_URI = "git://git.netfilter.org/libnftnl \
- file://0001-Move-exports-before-symbol-definition.patch \
- file://0002-avoid-naming-local-function-as-one-of-printf-family.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.4.bb b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.4.bb
new file mode 100644
index 000000000..705b6a6c3
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-filter/libnftnl/libnftnl_1.1.4.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Library for low-level interaction with nftables Netlink's API over libmnl"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=79808397c3355f163c012616125c9e26"
+SECTION = "libs"
+DEPENDS = "libmnl"
+
+SRCREV = "7c19dc01a88dbcf9a45fa791cd27a51b563bcf29"
+SRC_URI = "git://git.netfilter.org/libnftnl \
+ file://0001-Move-exports-before-symbol-definition.patch \
+ file://0002-avoid-naming-local-function-as-one-of-printf-family.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb
deleted file mode 100644
index 3ff9583fc..000000000
--- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Netfilter Tables userspace utillites"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79"
-
-DEPENDS = "libmnl libnftnl readline gmp bison-native"
-
-UPSTREAM_CHECK_URI = "https://www.netfilter.org/projects/nftables/files/"
-
-SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2 \
- "
-SRC_URI[md5sum] = "d4dcb61df80aa544b2e142e91d937635"
-SRC_URI[sha256sum] = "ad8181b5fcb9ca572f444bed54018749588522ee97e4c21922648bb78d7e7e91"
-
-inherit autotools manpages pkgconfig
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[man] = "--enable--man-doc, --disable-man-doc"
-
-ASNEEDED = ""
-
-RRECOMMENDS_${PN} += "kernel-module-nf-tables"
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.2.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.2.bb
new file mode 100644
index 000000000..98e8050b8
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_0.9.2.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Netfilter Tables userspace utillites"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d1a78fdd879a263a5e0b42d1fc565e79"
+
+DEPENDS = "libmnl libnftnl readline gmp bison-native"
+
+UPSTREAM_CHECK_URI = "https://www.netfilter.org/projects/nftables/files/"
+
+SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.bz2"
+SRC_URI[md5sum] = "dfe130724d7c998eb26b56447e932899"
+SRC_URI[sha256sum] = "5cb66180143e6bfc774f4eb316206d40ac1cb6df269a90882404cbf7165513f5"
+
+inherit autotools manpages pkgconfig
+
+PACKAGECONFIG ?= "python"
+PACKAGECONFIG[man] = "--enable--man-doc, --disable-man-doc"
+PACKAGECONFIG[python] = "--with-python-bin=${PYTHON}, --with-python-bin="", python3"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)}
+
+ASNEEDED = ""
+
+RRECOMMENDS_${PN} += "kernel-module-nf-tables"
+
+PACKAGES =+ "${PN}-python"
+FILES_${PN}-python = "${libdir_native}/${PYTHON_DIR}"
+RDEPENDS_${PN}-python = "python3-core python3-json"
diff --git a/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.3.bb b/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.3.bb
deleted file mode 100644
index b7d46af6f..000000000
--- a/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.3.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "ZNC, an advanced IRC bouncer"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-DEPENDS = "openssl zlib icu"
-
-SRC_URI = "git://github.com/znc/znc.git;name=znc \
- git://github.com/jimloco/Csocket.git;destsuffix=git/third_party/Csocket;name=Csocket \
- "
-SRCREV_znc = "be1b6bcd4cafbc57ebc298d89a5402ae7df55a8a"
-SRCREV_Csocket = "e8d9e0bb248c521c2c7fa01e1c6a116d929c41b4"
-
-# This constructs a composite revision based on multiple SRCREV's.
-#
-SRCREV_FORMAT = "znc_Csocket"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep pkgconfig
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
-# ZNC has a custom autogen.sh that states that this command is needed *and* expected to fail
-do_configure_prepend() {
- automake --add-missing || true
-}
-
-do_install_append() {
- sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
-}
diff --git a/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.4.bb b/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.4.bb
new file mode 100644
index 000000000..75860073a
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-irc/znc/znc_1.7.4.bb
@@ -0,0 +1,32 @@
+SUMMARY = "ZNC, an advanced IRC bouncer"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "openssl zlib icu"
+
+SRC_URI = "git://github.com/znc/znc.git;name=znc \
+ git://github.com/jimloco/Csocket.git;destsuffix=git/third_party/Csocket;name=Csocket \
+ "
+SRCREV_znc = "e661cdf9a394e2afd1b97517efa21fa2fa757e22"
+SRCREV_Csocket = "e8d9e0bb248c521c2c7fa01e1c6a116d929c41b4"
+
+# This constructs a composite revision based on multiple SRCREV's.
+#
+SRCREV_FORMAT = "znc_Csocket"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+# ZNC has a custom autogen.sh that states that this command is needed *and* expected to fail
+do_configure_prepend() {
+ automake --add-missing || true
+}
+
+do_install_append() {
+ sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
+}
diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190406.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190913.bb
index badc97a97..badc97a97 100644
--- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190406.bb
+++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20190913.bb
diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190406.bb b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190913.bb
index c4ddbcb0e..c4ddbcb0e 100644
--- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190406.bb
+++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20190913.bb
diff --git a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
index 5cf745e9a..b0b48d0dd 100644
--- a/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
+++ b/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
@@ -11,7 +11,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz"
-SRC_URI[md5sum] = "c11254fe48695e61c145a7e82756ecba"
-SRC_URI[sha256sum] = "2f06f3adf70b95e74a7736a22dcf6e9ef623b311a15b7d55b5474e57c3d0415b"
+SRC_URI[md5sum] = "ec2345dfc8ffc61ccd7529d5d19b2602"
+SRC_URI[sha256sum] = "997327185d2d1b597dc118f737c0c165e2a2c21453387ea02659f1159d148518"
S = "${WORKDIR}/WireGuard-${PV}/src/"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
index 6f203c5a8..a6716d06c 100644
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
+++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-rsh/netkit-rsh_0.17.bb
@@ -103,6 +103,3 @@ RPROVIDES_${PN}-server = "rshd"
RDEPENDS_${PN}-server = "xinetd"
RDEPENDS_${PN}-server += "tcp-wrappers"
-
-# http://errors.yoctoproject.org/Errors/Details/186963/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch b/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch
index 55926468d..3655a5716 100644
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch
+++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers/0001-Link-with-libtirpc.patch
@@ -13,21 +13,69 @@ Upstream-Status: Pending
rup/rup.c | 2 +-
4 files changed, 4 insertions(+), 13 deletions(-)
-diff --git a/configure b/configure
-index 85f6ca6..2d2d4b7 100755
--- a/configure
+++ b/configure
-@@ -147,7 +147,7 @@ else
+@@ -92,7 +92,6 @@ else
+ echo -n 'Checking if C compiler works... '
+ if (
+ $CC __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo 'yes'
+ else
+@@ -146,8 +145,7 @@ else
+
fi
- LDFLAGS=
+-LDFLAGS=
-LIBS=
-+LIBS="-ltirpc"
++LIBS="$LIBS -ltirpc"
rm -f __conftest*
-diff --git a/rpc.rusersd/rusers_proc.c b/rpc.rusersd/rusers_proc.c
-index 9ae6306..f9e237c 100644
+@@ -172,13 +170,11 @@ int main() {
+ EOF
+ if (
+ $CC $CFLAGS __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo 'yes'
+ else
+ if (
+ $CC $CFLAGS -D__USE_BSD_SIGNAL __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo '-D__USE_BSD_SIGNAL'
+ CFLAGS="$CFLAGS -D__USE_BSD_SIGNAL"
+@@ -231,7 +227,6 @@ if (
+ else
+ if (
+ $CC $CFLAGS -D_GNU_SOURCE __conftest.c -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo '-D_GNU_SOURCE'
+ CFLAGS="$CFLAGS -D_GNU_SOURCE"
+@@ -262,20 +257,17 @@ int main() {
+ EOF
+ if (
+ $CC $CFLAGS __conftest.c $LIBBSD -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo 'ok'
+ else
+ if (
+ $CC $CFLAGS __conftest.c -lsnprintf $LIBBSD -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo '-lsnprintf'
+ LIBS="$LIBS -lsnprintf"
+ else
+ if (
+ $CC $CFLAGS __conftest.c -ldb $LIBBSD -o __conftest || exit 1
+- ./__conftest || exit 1
+ ) >/dev/null 2>&1; then
+ echo '-ldb'
+ LIBS="$LIBS -ldb"
--- a/rpc.rusersd/rusers_proc.c
+++ b/rpc.rusersd/rusers_proc.c
@@ -57,12 +57,7 @@ char rp_rcsid[] =
@@ -44,8 +92,6 @@ index 9ae6306..f9e237c 100644
void rusers_service(struct svc_req *rqstp, SVCXPRT *transp);
-diff --git a/rpc.rusersd/rusersd.c b/rpc.rusersd/rusersd.c
-index 762be9b..dd355ac 100644
--- a/rpc.rusersd/rusersd.c
+++ b/rpc.rusersd/rusersd.c
@@ -38,11 +38,7 @@ char rusersd_rcsid[] =
@@ -61,11 +107,9 @@ index 762be9b..dd355ac 100644
#include "../version.h"
-diff --git a/rup/rup.c b/rup/rup.c
-index e5669ff..887f89d 100644
--- a/rup/rup.c
+++ b/rup/rup.c
-@@ -48,7 +48,7 @@ char rcsid[] = "$Id: rup.c,v 1.8 2000/07/22 19:51:40 dholland Exp $";
+@@ -48,7 +48,7 @@ char rcsid[] = "$Id: rup.c,v 1.8 2000/07
#undef FSHIFT /* Use protocol's shift and scale values */
#undef FSCALE
@@ -74,6 +118,3 @@ index e5669ff..887f89d 100644
#include "../version.h"
---
-2.17.0
-
diff --git a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb b/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
index 9b8af27f8..ba1ad3f7f 100644
--- a/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
+++ b/meta-openembedded/meta-networking/recipes-netkit/netkit-rusers/netkit-rusers_0.17.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "ftp://ftp.uk.linux.org/pub/linux/Networking/netkit"
SECTION = "net"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://rusers/rusers.c;beginline=2;endline=3;md5=f4fc634a4ce8c569911196b72b10770e"
-DEPENDS = " tcp-wrappers libtirpc rpcbind"
+DEPENDS = " tcp-wrappers libtirpc rpcbind rpcsvc-proto rpcsvc-proto-native"
SRC_URI = "http://http.debian.net/debian/pool/main/n/${BPN}/${BPN}_${PV}.orig.tar.gz;name=archive \
http://http.debian.net/debian/pool/main/n/${BPN}/${BPN}_${PV}-8.diff.gz;name=patch8 \
@@ -17,16 +17,12 @@ SRC_URI[archive.sha256sum] = "f00138651865ad2dcfec5dedda0cda403cb80c4ab68efcc3bb
SRC_URI[patch8.md5sum] = "1ff498113e0f920d92088092e5570bdc"
SRC_URI[patch8.sha256sum] = "14882dbdda4e37baa84d55b54b46c7e063a20fc9e04d1be1a2807643cd0f3067"
-inherit autotools-brokensep
-
CFLAGS += "-I${STAGING_INCDIR}/tirpc"
-LIBS += "-ltirpc"
+
+EXTRA_OEMAKE = "RUSERSX=${STAGING_INCDIR}/rpcsvc/rusers.x"
do_configure () {
- ./configure --prefix=${prefix}
- echo "LDFLAGS=${LDFLAGS}" >> MCONFIG
- echo "USE_GLIBC=1" >> MCONFIG
- echo "LIBS=${LIBS}" >> MCONFIG
+ ./configure --prefix=${prefix} --installroot=${D} --with-c-compiler="${CC}"
}
do_install () {
@@ -62,9 +58,6 @@ EOF
install rusersd.conf ${D}/${sysconfdir}/xinetd.d/rusersd
}
-
-INSANE_SKIP_${PN} = "already-stripped"
-
PACKAGES = "${PN}-client ${PN}-server ${PN}-doc ${BPN}-dbg"
FILES_${PN}-client = "${bindir}/*"
FILES_${PN}-server = "${sbindir}/* ${sysconfdir}"
@@ -72,7 +65,8 @@ FILES_${PN}-doc = "${mandir}"
FILES_${PN}-dbg = "${prefix}/src/debug \
${bindir}/.debug ${sbindir}/.debug"
-RDEPENDS_${PN}-server = "tcp-wrappers xinetd rpcbind"
+RDEPENDS_${PN}-server += "tcp-wrappers xinetd rpcbind"
# http://errors.yoctoproject.org/Errors/Details/186962/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
+COMPATIBLE_HOST_libc-musl = 'null'
+PNBLACKLIST[netkit-rusers] = "Fails to build rup.c:51:10: fatal error: rstat.h: No such file or directory"
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 4b035af36..a8d98c940 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
@@ -62,5 +62,5 @@ SRC_URI[sha256sum] = "9c80d5c7838361a328fb6b60016d503def9ce53ad3c589f3b08ff71a2b
FILES_${PN} += "${sbindir}/in.* ${libdir}/* ${sysconfdir}/xinetd.d/*"
# http://errors.yoctoproject.org/Errors/Details/186954/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
+COMPATIBLE_HOST_libc-musl = 'null'
RCONFLICTS_${PN} = "inetutils-telnetd"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb b/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb
deleted file mode 100644
index b8818fa6c..000000000
--- a/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.2.1.bb
+++ /dev/null
@@ -1,139 +0,0 @@
-SUMMARY = "An open source implementation of the diameter protocol"
-DESCRIPTION = "\
-freeDiameter is an open source Diameter protocol implementation \
-(RFC3588). It provides an extensible platform for deploying a \
-Diameter network for your Authentication, Authorization and \
-Accounting needs."
-
-HOMEPAGE = "http://www.freediameter.net"
-
-DEPENDS = "flex bison cmake-native libgcrypt gnutls libidn lksctp-tools virtual/kernel bison-native"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-fd_pkgname = "freeDiameter"
-
-SRC_URI = "\
- http://www.freediameter.net/hg/${fd_pkgname}/archive/${PV}.tar.gz;downloadfilename=${fd_pkgname}-${PV}.tar.gz \
- file://Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch \
- file://freediameter.service \
- file://freediameter.init \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://pass-ptest-env.patch', '', d)} \
- file://freeDiameter.conf \
- file://0001-libfdcore-sctp.c-update-the-old-sctp-api-check.patch \
- "
-
-SRC_URI[md5sum] = "61b1062aa144b5f12eed514611e6d697"
-SRC_URI[sha256sum] = "bd7f105542e9903e776aa006c6931c1f5d3d477cb59af33a9162422efa477097"
-
-S = "${WORKDIR}/${fd_pkgname}-${PV}"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=892b2ed6ae815488a08416ff7ee74a35"
-
-PTEST_PATH = "${libdir}/${fd_pkgname}/ptest"
-
-inherit cmake pkgconfig update-rc.d ptest systemd
-
-EXTRA_OECMAKE = " \
- -DDEFAULT_CONF_PATH:PATH=${sysconfdir}/${fd_pkgname} \
- -DBUILD_DBG_MONITOR:BOOL=ON \
- -DBUILD_TEST_APP:BOOL=ON \
- -DBUILD_TESTING:BOOL=ON \
- -DBUILD_APP_RADGW:BOOL=ON \
- -DBUILD_APP_REDIRECT:BOOL=ON \
- -DBUILD_TEST_ACCT:BOOL=ON \
- -DBUILD_TEST_NETEMUL:BOOL=ON \
- -DBUILD_TEST_RT_ANY:BOOL=ON \
- -DINSTALL_LIBRARY_SUFFIX:PATH=${baselib} \
- -DINSTALL_EXTENSIONS_SUFFIX:PATH=${baselib}/${fd_pkgname} \
- -DINSTALL_TEST_SUFFIX:PATH=${PTEST_PATH}-tests \
- -DCMAKE_SKIP_RPATH:BOOL=ON \
-"
-# INSTALL_LIBRARY_SUFFIX is relative to CMAKE_INSTALL_PREFIX
-# specify it on cmd line will fix the SET bug in CMakeList.txt
-
-# -DBUILD_APP_ACCT:BOOL=ON This needs POSTGRESQL support
-
-# -DBUILD_APP_DIAMEAP:BOOL=ON -DBUILD_APP_SIP:BOOL=ON -DBUILD_TEST_SIP:BOOL=ON
-# These need MySQL support
-
-# -DBUILD_DBG_INTERACTIVE:BOOL=ON This needs SWIG support
-
-# -DALL_EXTENSIONS=ON will enable all
-
-FD_KEY ?="${BPN}.key"
-FD_PEM ?= "${BPN}.pem"
-FD_CA ?= "${BPN}.pem"
-FD_DH_PEM ?= "${BPN}-dh.pem"
-FD_HOSTNAME ?= "${MACHINE}"
-FD_REALM ?= "openembedded.org"
-
-do_install_append() {
- # install the sample configuration files
- install -d -m 0755 ${D}${sysconfdir}/${fd_pkgname}
- for i in ${S}/doc/*.conf.sample; do
- install -m 0644 $i ${D}${sysconfdir}/${fd_pkgname}/
- done
- mv ${D}${sysconfdir}/${fd_pkgname}/freediameter.conf.sample \
- ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf.sample
- install -d ${D}${sysconfdir}/freeDiameter
- install ${WORKDIR}/freeDiameter.conf ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf
-
- # install daemon init related files
- install -d -m 0755 ${D}${sysconfdir}/default
- install -d -m 0755 ${D}${sysconfdir}/init.d
- install -m 0644 ${S}/contrib/debian/freediameter-daemon.default \
- ${D}${sysconfdir}/default/${BPN}
- install -m 0755 ${WORKDIR}/freediameter.init ${D}${sysconfdir}/init.d/${BPN}
-
- # install for systemd
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/freediameter.service ${D}${systemd_system_unitdir}
- sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/*.service
-
- cat >> ${D}${sysconfdir}/freeDiameter/freeDiameter.conf <<EOF
-## OE specific ##
-#Identity="${FD_HOSTNAME}";
-Identity = "${FD_HOSTNAME}.${FD_REALM}";
-Realm = "${FD_REALM}";
-Port = 30868;
-SecPort = 30869;
-TLS_Cred = "/etc/freeDiameter/${FD_PEM}" , "/etc/freeDiameter/${FD_KEY}";
-TLS_CA = "/etc/freeDiameter/${FD_CA}";
-TLS_DH_File = "/etc/freeDiameter/${FD_DH_PEM}";
-EOF
-
- # create self cert
- openssl req -x509 -config ${STAGING_DIR_NATIVE}/etc/ssl/openssl.cnf -newkey rsa:4096 -sha256 -nodes -out ${D}${sysconfdir}/freeDiameter/${FD_PEM} -keyout ${D}${sysconfdir}/freeDiameter/${FD_KEY} -days 3650 -subj '/CN=${FD_HOSTNAME}.${FD_REALM}'
- openssl dhparam -out ${D}${sysconfdir}/freeDiameter/${FD_DH_PEM} 1024
-
-}
-
-do_install_ptest() {
- sed -i "s#\(EXTENSIONS_DIR=\).*\$#\1${libdir}/${fd_pkgname}/#" ${D}${PTEST_PATH}/run-ptest
- mv ${D}${PTEST_PATH}-tests/* ${D}${PTEST_PATH}/
- rmdir ${D}${PTEST_PATH}-tests
- install -m 0644 ${B}/tests/CTestTestfile.cmake ${D}${PTEST_PATH}/
-}
-
-FILES_${PN}-dbg += "${libdir}/${fd_pkgname}/.debug/*"
-
-# include the extensions in main package
-FILES_${PN} += "${libdir}/${fd_pkgname}/*"
-
-RDEPENDS_${PN} = "glib-2.0 gnutls libidn"
-RDEPENDS_${PN} += "openssl openssl-conf openssl-engines"
-RRECOMMENDS_${PN} += "kernel-module-tipc kernel-module-sctp"
-RRECOMMENDS_${PN} += "kernel-module-udp-tunnel kernel-module-ipip"
-RDEPENDS_${PN}-ptest = "cmake"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "${BPN}"
-INITSCRIPT_PARAMS$_${PN} = "start 30 . stop 70 0 1 2 3 4 5 6 ."
-
-SYSTEMD_SERVICE_${PN} = "freediameter.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-CONFFILES_${PN} = "${sysconfdir}/freediameter.conf"
-
diff --git a/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb b/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb
new file mode 100644
index 000000000..8e928c989
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/freediameter/freediameter_1.3.2.bb
@@ -0,0 +1,139 @@
+SUMMARY = "An open source implementation of the diameter protocol"
+DESCRIPTION = "\
+freeDiameter is an open source Diameter protocol implementation \
+(RFC3588). It provides an extensible platform for deploying a \
+Diameter network for your Authentication, Authorization and \
+Accounting needs."
+
+HOMEPAGE = "http://www.freediameter.net"
+
+DEPENDS = "flex bison cmake-native libgcrypt gnutls libidn lksctp-tools virtual/kernel bison-native"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+fd_pkgname = "freeDiameter"
+
+SRC_URI = "\
+ http://www.freediameter.net/hg/${fd_pkgname}/archive/${PV}.tar.gz;downloadfilename=${fd_pkgname}-${PV}.tar.gz \
+ file://Replace-murmurhash-algorithm-with-Robert-Jenkin-s-ha.patch \
+ file://freediameter.service \
+ file://freediameter.init \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://install_test.patch file://run-ptest file://pass-ptest-env.patch', '', d)} \
+ file://freeDiameter.conf \
+ file://0001-libfdcore-sctp.c-update-the-old-sctp-api-check.patch \
+ "
+
+SRC_URI[md5sum] = "73ce230b4789f9f28fff77cbc83c65af"
+SRC_URI[sha256sum] = "ce05b4bf2a04cd2f472e77ba4b86fbfca690bfc83e51da8ce0e575804b763eda"
+
+S = "${WORKDIR}/${fd_pkgname}-${PV}"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=69bdc1d97648a2d35914563fcbbb361a"
+
+PTEST_PATH = "${libdir}/${fd_pkgname}/ptest"
+
+inherit cmake pkgconfig update-rc.d ptest systemd
+
+EXTRA_OECMAKE = " \
+ -DDEFAULT_CONF_PATH:PATH=${sysconfdir}/${fd_pkgname} \
+ -DBUILD_DBG_MONITOR:BOOL=ON \
+ -DBUILD_TEST_APP:BOOL=ON \
+ -DBUILD_TESTING:BOOL=ON \
+ -DBUILD_APP_RADGW:BOOL=ON \
+ -DBUILD_APP_REDIRECT:BOOL=ON \
+ -DBUILD_TEST_ACCT:BOOL=ON \
+ -DBUILD_TEST_NETEMUL:BOOL=ON \
+ -DBUILD_TEST_RT_ANY:BOOL=ON \
+ -DINSTALL_LIBRARY_SUFFIX:PATH=${baselib} \
+ -DINSTALL_EXTENSIONS_SUFFIX:PATH=${baselib}/${fd_pkgname} \
+ -DINSTALL_TEST_SUFFIX:PATH=${PTEST_PATH}-tests \
+ -DCMAKE_SKIP_RPATH:BOOL=ON \
+"
+# INSTALL_LIBRARY_SUFFIX is relative to CMAKE_INSTALL_PREFIX
+# specify it on cmd line will fix the SET bug in CMakeList.txt
+
+# -DBUILD_APP_ACCT:BOOL=ON This needs POSTGRESQL support
+
+# -DBUILD_APP_DIAMEAP:BOOL=ON -DBUILD_APP_SIP:BOOL=ON -DBUILD_TEST_SIP:BOOL=ON
+# These need MySQL support
+
+# -DBUILD_DBG_INTERACTIVE:BOOL=ON This needs SWIG support
+
+# -DALL_EXTENSIONS=ON will enable all
+
+FD_KEY ?="${BPN}.key"
+FD_PEM ?= "${BPN}.pem"
+FD_CA ?= "${BPN}.pem"
+FD_DH_PEM ?= "${BPN}-dh.pem"
+FD_HOSTNAME ?= "${MACHINE}"
+FD_REALM ?= "openembedded.org"
+
+do_install_append() {
+ # install the sample configuration files
+ install -d -m 0755 ${D}${sysconfdir}/${fd_pkgname}
+ for i in ${S}/doc/*.conf.sample; do
+ install -m 0644 $i ${D}${sysconfdir}/${fd_pkgname}/
+ done
+ mv ${D}${sysconfdir}/${fd_pkgname}/freediameter.conf.sample \
+ ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf.sample
+ install -d ${D}${sysconfdir}/freeDiameter
+ install ${WORKDIR}/freeDiameter.conf ${D}${sysconfdir}/${fd_pkgname}/freeDiameter.conf
+
+ # install daemon init related files
+ install -d -m 0755 ${D}${sysconfdir}/default
+ install -d -m 0755 ${D}${sysconfdir}/init.d
+ install -m 0644 ${S}/contrib/debian/freediameter-daemon.default \
+ ${D}${sysconfdir}/default/${BPN}
+ install -m 0755 ${WORKDIR}/freediameter.init ${D}${sysconfdir}/init.d/${BPN}
+
+ # install for systemd
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/freediameter.service ${D}${systemd_system_unitdir}
+ sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/*.service
+
+ cat >> ${D}${sysconfdir}/freeDiameter/freeDiameter.conf <<EOF
+## OE specific ##
+#Identity="${FD_HOSTNAME}";
+Identity = "${FD_HOSTNAME}.${FD_REALM}";
+Realm = "${FD_REALM}";
+Port = 30868;
+SecPort = 30869;
+TLS_Cred = "/etc/freeDiameter/${FD_PEM}" , "/etc/freeDiameter/${FD_KEY}";
+TLS_CA = "/etc/freeDiameter/${FD_CA}";
+TLS_DH_File = "/etc/freeDiameter/${FD_DH_PEM}";
+EOF
+
+ # create self cert
+ openssl req -x509 -config ${STAGING_DIR_NATIVE}/etc/ssl/openssl.cnf -newkey rsa:4096 -sha256 -nodes -out ${D}${sysconfdir}/freeDiameter/${FD_PEM} -keyout ${D}${sysconfdir}/freeDiameter/${FD_KEY} -days 3650 -subj '/CN=${FD_HOSTNAME}.${FD_REALM}'
+ openssl dhparam -out ${D}${sysconfdir}/freeDiameter/${FD_DH_PEM} 1024
+
+}
+
+do_install_ptest() {
+ sed -i "s#\(EXTENSIONS_DIR=\).*\$#\1${libdir}/${fd_pkgname}/#" ${D}${PTEST_PATH}/run-ptest
+ mv ${D}${PTEST_PATH}-tests/* ${D}${PTEST_PATH}/
+ rmdir ${D}${PTEST_PATH}-tests
+ install -m 0644 ${B}/tests/CTestTestfile.cmake ${D}${PTEST_PATH}/
+}
+
+FILES_${PN}-dbg += "${libdir}/${fd_pkgname}/.debug/*"
+
+# include the extensions in main package
+FILES_${PN} += "${libdir}/${fd_pkgname}/*"
+
+RDEPENDS_${PN} = "glib-2.0 gnutls libidn"
+RDEPENDS_${PN} += "openssl openssl-conf openssl-engines"
+RRECOMMENDS_${PN} += "kernel-module-tipc kernel-module-sctp"
+RRECOMMENDS_${PN} += "kernel-module-udp-tunnel kernel-module-ipip"
+RDEPENDS_${PN}-ptest = "cmake"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "${BPN}"
+INITSCRIPT_PARAMS$_${PN} = "start 30 . stop 70 0 1 2 3 4 5 6 ."
+
+SYSTEMD_SERVICE_${PN} = "freediameter.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+CONFFILES_${PN} = "${sysconfdir}/freediameter.conf"
+
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 f0acaa801..192b6b506 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
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9d100a395a38584f2ec18a8275261687"
DEPENDS = "openssl libnl pciutils"
-SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \
+SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
file://init \
file://snmpd.conf \
file://snmptrapd.conf \
@@ -28,8 +28,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \
file://reproducibility-accept-configure-options-from-env.patch \
file://0001-net-snmp-fix-compile-error-disable-des.patch \
"
-SRC_URI[md5sum] = "6aae5948df7efde626613d6a4b3cd9d4"
-SRC_URI[sha256sum] = "c6291385b8ed84f05890fe4197005daf7e7ee7b082c2e390fa114a9477a56042"
+SRC_URI[md5sum] = "63bfc65fbb86cdb616598df1aff6458a"
+SRC_URI[sha256sum] = "b2fc3500840ebe532734c4786b0da4ef0a5f67e51ef4c86b3345d697e4976adf"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/net-snmp/files/net-snmp/"
UPSTREAM_CHECK_REGEX = "/net-snmp/(?P<pver>\d+(\.\d+)+)/"
@@ -50,7 +50,7 @@ PACKAGECONFIG[libnl] = "--with-nl, --without-nl, libnl"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,,"
PACKAGECONFIG[perl] = "--enable-embedded-perl --with-perl-modules=yes, --disable-embedded-perl --with-perl-modules=no,\
- perl, perl perl-lib"
+ perl,"
PACKAGECONFIG[des] = "--enable-des,--disable-des"
EXTRA_OECONF = "--enable-shared \
@@ -88,8 +88,8 @@ do_configure_prepend() {
if [ "${HAS_PERL}" = "1" ]; then
# this may need to be changed when package perl has any change.
- cp -f ${STAGING_DIR_TARGET}/usr/lib*/perl/*/Config.pm ${WORKDIR}/
- cp -f ${STAGING_DIR_TARGET}/usr/lib*/perl/*/Config_heavy.pl ${WORKDIR}/
+ cp -f ${STAGING_DIR_TARGET}/usr/lib*/perl?/*/Config.pm ${WORKDIR}/
+ cp -f ${STAGING_DIR_TARGET}/usr/lib*/perl?/*/*/Config_heavy.pl ${WORKDIR}/
sed -e "s@libpth => '/usr/lib.*@libpth => '${STAGING_DIR_TARGET}/${libdir} ${STAGING_DIR_TARGET}/${base_libdir}',@g" \
-e "s@privlibexp => '/usr@privlibexp => '${STAGING_DIR_TARGET}/usr@g" \
-e "s@scriptdir => '/usr@scriptdir => '${STAGING_DIR_TARGET}/usr@g" \
@@ -190,7 +190,8 @@ ALLOW_EMPTY_${PN} = "1"
ALLOW_EMPTY_${PN}-server = "1"
ALLOW_EMPTY_${PN}-libs = "1"
-FILES_${PN}-perl-modules = "${libdir}/perl/*"
+FILES_${PN}-perl-modules = "${libdir}/perl?/*"
+RDEPENDS_${PN}-perl-modules = "perl"
FILES_${PN}-libs = ""
FILES_${PN}-mibs = "${datadir}/snmp/mibs"
diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
index 9f943cdce..187898a6e 100644
--- a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
+++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
@@ -1,7 +1,7 @@
-From 9ca48a6fef1da1bb0dd67ab94256c7e240da1834 Mon Sep 17 00:00:00 2001
+From f35e07aceb4a16121d83b47ee77990018bec98ea Mon Sep 17 00:00:00 2001
From: Joe Slater <jslater@windriver.com>
Date: Thu, 9 Mar 2017 10:58:06 -0800
-Subject: [PATCH] chrony: fix build failure for arma9
+Subject: [PATCH] chrony: fix build failure for arma9
Eliminate references to syscalls not available
for ARM_EABI. Also add a dependency on libseccomp
@@ -18,16 +18,15 @@ Subject: [PATCH] chrony: fix build failure for arma9
Refresh patch for new upstream version.
Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
-
---
- sys_linux.c | 19 +++++++++++++------
- 1 file changed, 13 insertions(+), 6 deletions(-)
+ sys_linux.c | 20 ++++++++++++++------
+ 1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/sys_linux.c b/sys_linux.c
-index f4b532d..d05fa24 100644
+index 898dc7a..b268ad1 100644
--- a/sys_linux.c
+++ b/sys_linux.c
-@@ -482,14 +482,14 @@ SYS_Linux_EnableSystemCallFilter(int level)
+@@ -479,14 +479,14 @@ SYS_Linux_EnableSystemCallFilter(int level)
const int syscalls[] = {
/* Clock */
SCMP_SYS(adjtimex), SCMP_SYS(clock_gettime), SCMP_SYS(gettimeofday),
@@ -38,24 +37,24 @@ index f4b532d..d05fa24 100644
- SCMP_SYS(getrlimit), SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn),
+ SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn),
SCMP_SYS(rt_sigprocmask), SCMP_SYS(set_tid_address), SCMP_SYS(sigreturn),
- SCMP_SYS(wait4),
+ SCMP_SYS(wait4), SCMP_SYS(waitpid),
/* Memory */
- SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap), SCMP_SYS(mmap2),
+ SCMP_SYS(brk), SCMP_SYS(madvise), SCMP_SYS(mmap2),
SCMP_SYS(mprotect), SCMP_SYS(mremap), SCMP_SYS(munmap), SCMP_SYS(shmdt),
/* Filesystem */
- SCMP_SYS(access), SCMP_SYS(chmod), SCMP_SYS(chown), SCMP_SYS(chown32),
-@@ -500,14 +500,21 @@ SYS_Linux_EnableSystemCallFilter(int level)
+ SCMP_SYS(_llseek), SCMP_SYS(access), SCMP_SYS(chmod), SCMP_SYS(chown),
+@@ -499,14 +499,22 @@ SYS_Linux_EnableSystemCallFilter(int level)
SCMP_SYS(bind), SCMP_SYS(connect), SCMP_SYS(getsockname), SCMP_SYS(getsockopt),
- SCMP_SYS(recvfrom), SCMP_SYS(recvmmsg), SCMP_SYS(recvmsg),
- SCMP_SYS(sendmmsg), SCMP_SYS(sendmsg), SCMP_SYS(sendto),
+ SCMP_SYS(recv), SCMP_SYS(recvfrom), SCMP_SYS(recvmmsg), SCMP_SYS(recvmsg),
+ SCMP_SYS(send), SCMP_SYS(sendmmsg), SCMP_SYS(sendmsg), SCMP_SYS(sendto),
- /* TODO: check socketcall arguments */
- SCMP_SYS(socketcall),
/* General I/O */
SCMP_SYS(_newselect), SCMP_SYS(close), SCMP_SYS(open), SCMP_SYS(openat), SCMP_SYS(pipe),
-- SCMP_SYS(poll), SCMP_SYS(read), SCMP_SYS(futex), SCMP_SYS(select),
-+ SCMP_SYS(poll), SCMP_SYS(read), SCMP_SYS(futex),
- SCMP_SYS(set_robust_list), SCMP_SYS(write),
+ SCMP_SYS(pipe2), SCMP_SYS(poll), SCMP_SYS(ppoll), SCMP_SYS(pselect6), SCMP_SYS(read),
+- SCMP_SYS(futex), SCMP_SYS(select), SCMP_SYS(set_robust_list), SCMP_SYS(write),
++ SCMP_SYS(futex), SCMP_SYS(set_robust_list), SCMP_SYS(write),
/* Miscellaneous */
SCMP_SYS(getrandom), SCMP_SYS(sysinfo), SCMP_SYS(uname),
+ /* not always available */
@@ -67,6 +66,10 @@ index f4b532d..d05fa24 100644
+ /* TODO: check socketcall arguments */
+ SCMP_SYS(socketcall),
+#endif
++
};
const int socket_domains[] = {
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.4.bb b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.4.bb
deleted file mode 100644
index f6898c0b7..000000000
--- a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.4.bb
+++ /dev/null
@@ -1,139 +0,0 @@
-SUMMARY = "Versatile implementation of the Network Time Protocol"
-DESCRIPTION = "Chrony can synchronize the system clock with NTP \
-servers, reference clocks (e.g. GPS receiver), and manual input using \
-wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) \
-server and peer to provide a time service to other computers in the \
-network. \
-\
-It is designed to perform well in a wide range of conditions, \
-including intermittent network connections, heavily congested \
-networks, changing temperatures (ordinary computer clocks are \
-sensitive to temperature), and systems that do not run continuously, or \
-run on a virtual machine. \
-\
-Typical accuracy between two machines on a LAN is in tens, or a few \
-hundreds, of microseconds; over the Internet, accuracy is typically \
-within a few milliseconds. With a good hardware reference clock \
-sub-microsecond accuracy is possible. \
-\
-Two programs are included in chrony: chronyd is a daemon that can be \
-started at boot time and chronyc is a command-line interface program \
-which can be used to monitor chronyd's performance and to change \
-various operating parameters whilst it is running. \
-\
-This recipe produces two binary packages: 'chrony' which contains chronyd, \
-the configuration file and the init script, and 'chronyc' which contains \
-the client program only."
-
-HOMEPAGE = "https://chrony.tuxfamily.org/"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \
- file://chrony.conf \
- file://chronyd \
- file://arm_eabi.patch \
-"
-
-SRC_URI_append_libc-musl = " \
- file://0001-Fix-compilation-with-musl.patch \
-"
-
-SRC_URI[md5sum] = "7170e750469c198fc6784047d6f71144"
-SRC_URI[sha256sum] = "af77e47c2610a7e55c8af5b89a8aeff52d9a867dd5983d848b52d374bc0e6b9f"
-
-DEPENDS = "pps-tools"
-
-# Note: Despite being built via './configure; make; make install',
-# chrony does not use GNU Autotools.
-inherit update-rc.d systemd
-
-# Configuration options:
-# - For command line editing support in chronyc, you may specify either
-# 'editline' or 'readline' but not both. editline is smaller, but
-# many systems already have readline for other purposes so you might want
-# to choose that instead. However, beware license incompatibility
-# since chrony is GPLv2 and readline versions after 6.0 are GPLv3+.
-# You can of course choose neither, but if you're that tight on space
-# consider dropping chronyc entirely (you can use it remotely with
-# appropriate chrony.conf options).
-# - Security-related:
-# - 'sechash' is omitted by default because it pulls in nss which is huge.
-# - 'privdrop' allows chronyd to run as non-root; would need changes to
-# chrony.conf and init script.
-# - 'scfilter' enables support for system call filtering, but requires the
-# kernel to have CONFIG_SECCOMP enabled.
-PACKAGECONFIG ??= "editline \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline"
-PACKAGECONFIG[editline] = ",--without-editline,libedit"
-PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss"
-PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap"
-PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp"
-PACKAGECONFIG[ipv6] = ",--disable-ipv6,"
-PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-
-# --disable-static isn't supported by chrony's configure script.
-DISABLE_STATIC = ""
-
-do_configure() {
- ./configure --sysconfdir=${sysconfdir} --bindir=${bindir} --sbindir=${sbindir} \
- --localstatedir=${localstatedir} --datarootdir=${datadir} \
- ${PACKAGECONFIG_CONFARGS}
-}
-
-do_install() {
- # Binaries
- install -d ${D}${bindir}
- install -m 0755 ${S}/chronyc ${D}${bindir}
- install -d ${D}${sbindir}
- install -m 0755 ${S}/chronyd ${D}${sbindir}
-
- # Config file
- install -d ${D}${sysconfdir}
- install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir}
-
- # System V init script
- install -d ${D}${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/chronyd ${D}${sysconfdir}/init.d
-
- # systemd unit configuration file
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/examples/chronyd.service ${D}${systemd_unitdir}/system/
-
- # Variable data (for drift and/or rtc file)
- install -d ${D}${localstatedir}/lib/chrony
-
- # Log files
- install -d ${D}${localstatedir}/log/chrony
-
- # Fix hard-coded paths in config files and init scripts
- sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \
- -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \
- ${D}${sysconfdir}/chrony.conf \
- ${D}${sysconfdir}/init.d/chronyd \
- ${D}${systemd_unitdir}/system/chronyd.service
- sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd
- sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service
-}
-
-FILES_${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}"
-CONFFILES_${PN} = "${sysconfdir}/chrony.conf"
-INITSCRIPT_NAME = "chronyd"
-INITSCRIPT_PARAMS = "defaults"
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "chronyd.service"
-
-# It's probably a bad idea to run chrony and another time daemon on
-# the same system. systemd includes the SNTP client 'timesyncd', which
-# will be disabled by chronyd.service, however it will remain on the rootfs
-# wasting 150 kB unless you put 'PACKAGECONFIG_remove_pn-systemd = "timesyncd"'
-# in a conf file or bbappend somewhere.
-RCONFLICTS_${PN} = "ntp ntimed"
-
-# Separate the client program into its own package
-PACKAGES =+ "chronyc"
-FILES_chronyc = "${bindir}/chronyc"
diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.5.bb b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.5.bb
new file mode 100644
index 000000000..7c6356d26
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_3.5.bb
@@ -0,0 +1,138 @@
+SUMMARY = "Versatile implementation of the Network Time Protocol"
+DESCRIPTION = "Chrony can synchronize the system clock with NTP \
+servers, reference clocks (e.g. GPS receiver), and manual input using \
+wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) \
+server and peer to provide a time service to other computers in the \
+network. \
+\
+It is designed to perform well in a wide range of conditions, \
+including intermittent network connections, heavily congested \
+networks, changing temperatures (ordinary computer clocks are \
+sensitive to temperature), and systems that do not run continuously, or \
+run on a virtual machine. \
+\
+Typical accuracy between two machines on a LAN is in tens, or a few \
+hundreds, of microseconds; over the Internet, accuracy is typically \
+within a few milliseconds. With a good hardware reference clock \
+sub-microsecond accuracy is possible. \
+\
+Two programs are included in chrony: chronyd is a daemon that can be \
+started at boot time and chronyc is a command-line interface program \
+which can be used to monitor chronyd's performance and to change \
+various operating parameters whilst it is running. \
+\
+This recipe produces two binary packages: 'chrony' which contains chronyd, \
+the configuration file and the init script, and 'chronyc' which contains \
+the client program only."
+
+HOMEPAGE = "https://chrony.tuxfamily.org/"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "https://download.tuxfamily.org/chrony/chrony-${PV}.tar.gz \
+ file://chrony.conf \
+ file://chronyd \
+ file://arm_eabi.patch \
+"
+
+SRC_URI_append_libc-musl = " \
+ file://0001-Fix-compilation-with-musl.patch \
+"
+SRC_URI[md5sum] = "5f66338bc940a9b51eede8f391e7bed3"
+SRC_URI[sha256sum] = "4e02795b1260a4ec51e6ace84149036305cc9fc340e65edb9f8452aa611339b5"
+
+DEPENDS = "pps-tools"
+
+# Note: Despite being built via './configure; make; make install',
+# chrony does not use GNU Autotools.
+inherit update-rc.d systemd
+
+# Configuration options:
+# - For command line editing support in chronyc, you may specify either
+# 'editline' or 'readline' but not both. editline is smaller, but
+# many systems already have readline for other purposes so you might want
+# to choose that instead. However, beware license incompatibility
+# since chrony is GPLv2 and readline versions after 6.0 are GPLv3+.
+# You can of course choose neither, but if you're that tight on space
+# consider dropping chronyc entirely (you can use it remotely with
+# appropriate chrony.conf options).
+# - Security-related:
+# - 'sechash' is omitted by default because it pulls in nss which is huge.
+# - 'privdrop' allows chronyd to run as non-root; would need changes to
+# chrony.conf and init script.
+# - 'scfilter' enables support for system call filtering, but requires the
+# kernel to have CONFIG_SECCOMP enabled.
+PACKAGECONFIG ??= "editline \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG[readline] = "--without-editline,--without-readline,readline"
+PACKAGECONFIG[editline] = ",--without-editline,libedit"
+PACKAGECONFIG[sechash] = "--without-tomcrypt,--disable-sechash,nss"
+PACKAGECONFIG[privdrop] = ",--disable-privdrop,libcap"
+PACKAGECONFIG[scfilter] = "--enable-scfilter,--without-seccomp,libseccomp"
+PACKAGECONFIG[ipv6] = ",--disable-ipv6,"
+PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+
+# --disable-static isn't supported by chrony's configure script.
+DISABLE_STATIC = ""
+
+do_configure() {
+ ./configure --sysconfdir=${sysconfdir} --bindir=${bindir} --sbindir=${sbindir} \
+ --localstatedir=${localstatedir} --datarootdir=${datadir} \
+ ${PACKAGECONFIG_CONFARGS}
+}
+
+do_install() {
+ # Binaries
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/chronyc ${D}${bindir}
+ install -d ${D}${sbindir}
+ install -m 0755 ${S}/chronyd ${D}${sbindir}
+
+ # Config file
+ install -d ${D}${sysconfdir}
+ install -m 644 ${WORKDIR}/chrony.conf ${D}${sysconfdir}
+
+ # System V init script
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/chronyd ${D}${sysconfdir}/init.d
+
+ # systemd unit configuration file
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/examples/chronyd.service ${D}${systemd_unitdir}/system/
+
+ # Variable data (for drift and/or rtc file)
+ install -d ${D}${localstatedir}/lib/chrony
+
+ # Log files
+ install -d ${D}${localstatedir}/log/chrony
+
+ # Fix hard-coded paths in config files and init scripts
+ sed -i -e 's!/var/!${localstatedir}/!g' -e 's!/etc/!${sysconfdir}/!g' \
+ -e 's!/usr/sbin/!${sbindir}/!g' -e 's!/usr/bin/!${bindir}/!g' \
+ ${D}${sysconfdir}/chrony.conf \
+ ${D}${sysconfdir}/init.d/chronyd \
+ ${D}${systemd_unitdir}/system/chronyd.service
+ sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/chronyd
+ sed -i 's!^EnvironmentFile=.*!EnvironmentFile=-${sysconfdir}/default/chronyd!' ${D}${systemd_unitdir}/system/chronyd.service
+}
+
+FILES_${PN} = "${sbindir}/chronyd ${sysconfdir} ${localstatedir}"
+CONFFILES_${PN} = "${sysconfdir}/chrony.conf"
+INITSCRIPT_NAME = "chronyd"
+INITSCRIPT_PARAMS = "defaults"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "chronyd.service"
+
+# It's probably a bad idea to run chrony and another time daemon on
+# the same system. systemd includes the SNTP client 'timesyncd', which
+# will be disabled by chronyd.service, however it will remain on the rootfs
+# wasting 150 kB unless you put 'PACKAGECONFIG_remove_pn-systemd = "timesyncd"'
+# in a conf file or bbappend somewhere.
+RCONFLICTS_${PN} = "ntp ntimed"
+
+# Separate the client program into its own package
+PACKAGES =+ "chronyc"
+FILES_chronyc = "${bindir}/chronyc"
diff --git a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/0001-dnsmasq-fix-build-against-5.2-headers.patch b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/0001-dnsmasq-fix-build-against-5.2-headers.patch
new file mode 100644
index 000000000..844a70985
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq/0001-dnsmasq-fix-build-against-5.2-headers.patch
@@ -0,0 +1,31 @@
+From 52f4b58c14a2788ca08b7d8884d586724d86fc66 Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <bruce.ashfield@gmail.com>
+Date: Mon, 19 Aug 2019 14:46:02 +0000
+Subject: [PATCH] dnsmasq: fix build against 5.2 headers
+
+Upstream linux y2038 work has moved some definitions SIOCGSTAMP is
+defined in linux/sockios.h, not asm/sockios.h now. So we need to
+add that include to fix the build.
+
+Upstream-status: backport of http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=3052ce208acf602f0163166dcefb7330d537cedb
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+---
+ a/src/dnsmasq.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/build/tmp/work/core2-64-poky-linux/dnsmasq/2.80-r0/dnsmasq-2.80/src/dnsmasq.h b/build/tmp/work/core2-64-poky-linux/dnsmasq/2.80-r0/dnsmasq-2.80/src/dnsmasq.h
+index f53e9a5be6..d9225ea473 100644
+--- a/src/dnsmasq.h
++++ b/src/dnsmasq.h
+@@ -138,6 +138,7 @@ typedef unsigned long long u64;
+ #endif
+
+ #if defined(HAVE_LINUX_NETWORK)
++#include <linux/sockios.h>
+ #include <linux/capability.h>
+ /* There doesn't seem to be a universally-available
+ userspace header for these. */
+--
+2.19.1
+
diff --git a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb
index fdbdefbad..6f3d5daa6 100644
--- a/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb
+++ b/meta-openembedded/meta-networking/recipes-support/dnsmasq/dnsmasq_2.80.bb
@@ -4,5 +4,6 @@ SRC_URI[dnsmasq-2.80.md5sum] = "1f071fd11454e1cffea73bdadcf70b21"
SRC_URI[dnsmasq-2.80.sha256sum] = "9e4a58f816ce0033ce383c549b7d4058ad9b823968d352d2b76614f83ea39adc"
SRC_URI += "\
file://lua.patch \
+ file://0001-dnsmasq-fix-build-against-5.2-headers.patch \
"
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
new file mode 100644
index 000000000..5e128727d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils/0001-drbd-utils-support-usrmerge.patch
@@ -0,0 +1,108 @@
+From 642b5823abeee27a0fdc2d12d0e1235461ace9ed Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 5 Sep 2019 18:57:39 +0800
+Subject: [PATCH] drbd-utils: support usrmerge
+
+Upstream-Status: Inappropriate[oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 2 +-
+ scripts/Makefile.in | 4 ++--
+ user/v83/Makefile.in | 14 +++++++-------
+ user/v84/Makefile.in | 14 +++++++-------
+ 4 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4df1b4d..c4ef1bc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -176,7 +176,7 @@ AC_ARG_WITH(tmpfilesdir,
+ AC_SUBST(tmpfilesdir)
+
+ # set default early
+-default_udevdir=/lib/udev
++default_udevdir=${prefix}/lib/udev
+ if test x"$with_udev" = x || \
+ test x"$with_udev" = xyes ; then
+ if test x"$PKG_CONFIG" != x; then
+diff --git a/scripts/Makefile.in b/scripts/Makefile.in
+index fbb0beb..da701a1 100644
+--- a/scripts/Makefile.in
++++ b/scripts/Makefile.in
+@@ -75,8 +75,8 @@ endif
+ ifeq ($(subst both,systemd,$(initscripttype)),systemd)
+ install -d $(DESTDIR)$(systemdunitdir)
+ install -m 644 drbd.service $(DESTDIR)$(systemdunitdir)/
+- install -d $(DESTDIR)/lib/drbd/
+- install -m 755 drbd $(DESTDIR)/lib/drbd/
++ install -d $(DESTDIR)/${nonarch_libdir}/drbd
++ install -m 755 drbd $(DESTDIR)/${nonarch_libdir}/drbd
+ install -d $(DESTDIR)$(tmpfilesdir)/
+ install -m 444 drbd.tmpfiles.conf $(DESTDIR)$(tmpfilesdir)/drbd.conf
+ endif
+diff --git a/user/v83/Makefile.in b/user/v83/Makefile.in
+index 27516de..b301376 100644
+--- a/user/v83/Makefile.in
++++ b/user/v83/Makefile.in
+@@ -96,19 +96,19 @@ install:
+ ifeq ($(WITH_83_SUPPORT),yes)
+ install -d $(DESTDIR)$(localstatedir)/lib/drbd
+ install -d $(DESTDIR)$(localstatedir)/lock
+- install -d $(DESTDIR)/lib/drbd/
++ install -d $(DESTDIR)/${nonarch_libdir}/drbd/
+ if getent group haclient > /dev/null 2> /dev/null ; then \
+- install -g haclient -m 4750 drbdsetup-83 $(DESTDIR)/lib/drbd/ ; \
+- install -m 755 drbdadm-83 $(DESTDIR)/lib/drbd/ ; \
++ install -g haclient -m 4750 drbdsetup-83 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
++ install -m 755 drbdadm-83 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
+ else \
+- install -m 755 drbdsetup-83 $(DESTDIR)/lib/drbd/ ; \
+- install -m 755 drbdadm-83 $(DESTDIR)/lib/drbd/ ; \
++ install -m 755 drbdsetup-83 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
++ install -m 755 drbdadm-83 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
+ fi
+ endif
+
+ uninstall:
+- rm -f $(DESTDIR)/lib/drbd/drbdsetup-83
+- rm -f $(DESTDIR)/lib/drbd/drbdadm-83
++ rm -f $(DESTDIR)/${nonarch_libdir}/drbd/drbdsetup-83
++ rm -f $(DESTDIR)/${nonarch_libdir}/drbd/drbdadm-83
+
+ .PHONY: install uninstall clean distclean
+ ../../configure:
+diff --git a/user/v84/Makefile.in b/user/v84/Makefile.in
+index 38977c6..05ef060 100644
+--- a/user/v84/Makefile.in
++++ b/user/v84/Makefile.in
+@@ -109,19 +109,19 @@ ifeq ($(WITH_84_SUPPORT),yes)
+ install -d $(DESTDIR)$(localstatedir)/lib/drbd
+ install -d $(DESTDIR)$(localstatedir)/run/drbd
+ install -d $(DESTDIR)$(localstatedir)/lock
+- install -d $(DESTDIR)/lib/drbd/
++ install -d $(DESTDIR)/${nonarch_libdir}/drbd/
+ if getent group haclient > /dev/null 2> /dev/null ; then \
+- install -g haclient -m 4750 drbdsetup-84 $(DESTDIR)/lib/drbd/ ; \
+- install -m 755 drbdadm-84 $(DESTDIR)/lib/drbd/ ; \
++ install -g haclient -m 4750 drbdsetup-84 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
++ install -m 755 drbdadm-84 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
+ else \
+- install -m 755 drbdsetup-84 $(DESTDIR)/lib/drbd/ ; \
+- install -m 755 drbdadm-84 $(DESTDIR)/lib/drbd/ ; \
++ install -m 755 drbdsetup-84 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
++ install -m 755 drbdadm-84 $(DESTDIR)/${nonarch_libdir}/drbd/ ; \
+ fi
+ endif
+
+ uninstall:
+- rm -f $(DESTDIR)/lib/drbd/drbdsetup-84
+- rm -f $(DESTDIR)/lib/drbd/drbdadm-84
++ rm -f $(DESTDIR)/${nonarch_libdir}/drbd/drbdsetup-84
++ rm -f $(DESTDIR)/${nonarch_libdir}/drbd/drbdadm-84
+
+ spell:
+ for f in drbdadm_adjust.c drbdadm_main.c drbdadm_parser.c drbdadm_usage_cnt.c drbdsetup.c drbdtool_common.c; do \
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.10.0.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.10.0.bb
new file mode 100644
index 000000000..0e14ae73f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.10.0.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Distributed block device driver for Linux"
+DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\
+DRBD mirrors a block device over the network to another machine.\
+Think of it as networked raid 1. It is a building block for\
+setting up high availability (HA) clusters."
+HOMEPAGE = "http://www.drbd.org/"
+SECTION = "admin"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+
+SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils \
+ git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers \
+ ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \
+ "
+# v9.10.0
+SRCREV_drbd-utils = "859151b228d3b3aacefb09d06d515a2589c22e35"
+SRCREV_drbd-headers = "0955b3423f08f8e11ff05092bc1b766609fd804b"
+
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_URI = "https://github.com/LINBIT/drbd-utils/releases"
+
+SYSTEMD_SERVICE_${PN} = "drbd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+inherit autotools-brokensep systemd
+
+EXTRA_OECONF = " \
+ --with-initdir=/etc/init.d \
+ --without-pacemaker \
+ --without-rgmanager \
+ --without-bashcompletion \
+ --with-distro debian \
+ --with-initscripttype=both \
+ --with-systemdunitdir=${systemd_unitdir}/system \
+ --without-manual \
+ "
+
+# If we have inherited reproducible_build, we want to use it.
+export WANT_DRBD_REPRODUCIBLE_BUILD = "yes"
+
+do_install_append() {
+ # don't install empty /var/lock and /var/run to avoid conflict with base-files
+ rm -rf ${D}${localstatedir}/lock
+ rm -rf ${D}${localstatedir}/run
+}
+
+RDEPENDS_${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy"
+
+# The drbd items are explicitly put under /lib when installed.
+#
+FILES_${PN} += "/run"
+FILES_${PN} += "${nonarch_base_libdir}/drbd \
+ ${nonarch_libdir}/drbd \
+ ${nonarch_libdir}/tmpfiles.d"
+FILES_${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug"
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.8.0.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.8.0.bb
deleted file mode 100644
index 70e04b943..000000000
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd-utils_9.8.0.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Distributed block device driver for Linux"
-DESCRIPTION = "DRBD mirrors a block device over the network to another machine.\
-DRBD mirrors a block device over the network to another machine.\
-Think of it as networked raid 1. It is a building block for\
-setting up high availability (HA) clusters."
-HOMEPAGE = "http://www.drbd.org/"
-SECTION = "admin"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
-
-SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils \
- git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=git/drbd-headers \
- "
-# v9.8.0
-SRCREV_drbd-utils = "c30216b49330216bf8a567b7727da6e24f099f08"
-SRCREV_drbd-headers = "2357a11fb49bcbadf6b490e6d4cfe982a3d24813"
-
-S = "${WORKDIR}/git"
-
-UPSTREAM_CHECK_URI = "https://github.com/LINBIT/drbd-utils/releases"
-
-SYSTEMD_SERVICE_${PN} = "drbd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-inherit autotools-brokensep systemd
-
-EXTRA_OECONF = " \
- --with-initdir=/etc/init.d \
- --without-pacemaker \
- --without-rgmanager \
- --without-bashcompletion \
- --with-distro debian \
- --with-initscripttype=both \
- --with-systemdunitdir=${systemd_unitdir}/system \
- --without-manual \
- "
-
-do_configure_prepend() {
- # move the the file under folder /lib/drbd/ to /usr/lib/drbd when usrmerge enabled
- if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
- for m_file in `find ${S} -name 'Makefile.in'`; do
- sed -i -e "s;\$(DESTDIR)\/lib\/drbd;\$(DESTDIR)\${nonarch_libdir}\/drbd;g" $m_file
- done
- # move the the file under folder /lib/udev/ to /usr/lib/udev when usrmerge enabled
- sed -i -e "s;default_udevdir=/lib/udev;default_udevdir=\${prefix}/lib/udev;g" ${S}/configure.ac
- fi
-
-}
-do_install_append() {
- # don't install empty /var/lock and /var/run to avoid conflict with base-files
- rm -rf ${D}${localstatedir}/lock
- rm -rf ${D}${localstatedir}/run
-}
-
-RDEPENDS_${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy"
-
-# The drbd items are explicitly put under /lib when installed.
-#
-FILES_${PN} += "/run"
-FILES_${PN} += "${nonarch_base_libdir}/drbd \
- ${nonarch_libdir}/drbd \
- ${nonarch_libdir}/tmpfiles.d"
-FILES_${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug"
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch b/meta-openembedded/meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch
deleted file mode 100644
index fbf94d513..000000000
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd/0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-Upstream-Status: Backport [https://github.com/LINBIT/drbd-9.0/commit/46e8e3f]
-
-Backport patch to fix compile errors:
-
-| LD [M] /home/kkang/buildarea/Yocto/build/tmp/work/qemux86_64-poky-linux/drbd/9.0.17-1-r0/drbd-9.0.17-1/drbd/drbd.o
-| x86_64-poky-linux-ld.bfd: cannot find .../tmp/work/qemux86_64-poky-linux/drbd/9.0.17-1-r0/drbd-9.0.17-1/drbd/drbd_bitmap.o: No such file or directory
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-From 46e8e3fc31b651fb56ea38134dcf14382fc43000 Mon Sep 17 00:00:00 2001
-From: Lars Ellenberg <lars.ellenberg@linbit.com>
-Date: Wed, 3 Apr 2019 10:57:46 +0200
-Subject: [PATCH] drbd: kbuild fix: use M=; don't forget addprefix $(obj)
-
-Kernel build started to warn about using SUBDIRS instead of M,
-and we don't support "very old" kernels anymore anyways.
-
-Our list of dependencies for drbd_buildtag.c needs to depend on the
-actual files $(obj)/*.o resulting from the build,
-not on just the list of *.o names.
-
-This apparently also fixes a build failure in opensuse build service for
-tumbleweed when using make-4.2.1-7.5 against kernel 5.0.5-something.
----
- drbd/Kbuild | 11 +++++------
- drbd/Makefile | 4 +---
- 2 files changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/drbd/Kbuild b/drbd/Kbuild
-index 285f7a81..99228029 100644
---- a/drbd/Kbuild
-+++ b/drbd/Kbuild
-@@ -1,4 +1,5 @@
--obj-m := drbd.o drbd_transport_tcp.o
-+obj-m += drbd.o drbd_transport_tcp.o
-+# obj-$(CONFIG_BLK_DEV_DRBD) += drbd.o drbd_transport_tcp.o
-
- clean-files := compat.h $(wildcard .config.$(KERNELVERSION).timestamp)
-
-@@ -56,10 +57,8 @@ ifndef DISABLE_KREF_DEBUGGING_HERE
- drbd-y += kref_debug.o drbd_kref_debug.o
- endif
-
--$(patsubst %,$(obj)/%,$(drbd-y)): $(obj)/compat.h
--$(patsubst %,$(obj)/%,drbd_transport_tcp.o): $(obj)/compat.h
--
--obj-$(CONFIG_BLK_DEV_DRBD) += drbd.o
-+$(addprefix $(obj)/,$(drbd-y)): $(obj)/compat.h
-+$(obj)/drbd_transport_tcp.o: $(obj)/compat.h
-
- # ======================================================================
-
-@@ -124,7 +123,7 @@ endif
- # and not in e.g. dash. I'm too lazy to fix it to be compatible.
- SHELL=/bin/bash
-
--$(obj)/drbd_buildtag.c: $(filter-out drbd_buildtag.o,$(drbd-y))
-+$(obj)/drbd_buildtag.c: $(addprefix $(obj)/,$(filter-out drbd_buildtag.o,$(drbd-y)))
- @$(kecho) ' GEN $@ $(echo-why)'
- @set -e; exec > $@.new; \
- echo -e "/* automatically generated. DO NOT EDIT. */"; \
-diff --git a/drbd/Makefile b/drbd/Makefile
-index 5f768fc6..f9e8792a 100644
---- a/drbd/Makefile
-+++ b/drbd/Makefile
-@@ -102,9 +102,7 @@ else
-
- kbuild:
- @rm -f .drbd_kernelrelease*
-- # previous to 2.6.6 (suse: 2.6.5-dunno), this should be:
-- $(MAKE) -C $(KDIR) $(if $(O),O=$(O),) SUBDIRS=$(DRBDSRC) $(ARCH_UM) modules
--# $(MAKE) -C $(KDIR) M=$(DRBDSRC) $(ARCH_UM) modules
-+ $(MAKE) -C $(KDIR) $(if $(O),O=$(O),) M=$(DRBDSRC) $(ARCH_UM) modules
- -mv .drbd_kernelrelease.new .drbd_kernelrelease
- @echo -n "Memorizing module configuration ... "
- @config=$$( (for x in $(KDIR)/.config $(O)/.config ; do \
---
-2.20.0
-
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb
deleted file mode 100644
index 1eada269c..000000000
--- a/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.17-1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Distributed block device driver for Linux"
-DESCRIPTION = "DRBD is a block device which is designed to build high \
- availability clusters. This is done by mirroring a whole \
- block device via (a dedicated) network. You could see \
- it as a network raid-1."
-HOMEPAGE = "http://oss.linbit.com/drbd/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
-DEPENDS = "virtual/kernel"
-
-SRC_URI = "http://www.linbit.com/downloads/drbd/9.0/drbd-${PV}.tar.gz \
- file://check_existence_of_modules_before_installing.patch \
- file://0001-drbd-kbuild-fix-use-M-don-t-forget-addprefix-obj.patch \
- "
-
-SRC_URI[md5sum] = "ae8d5030760b2820a4b3e250447890a0"
-SRC_URI[sha256sum] = "86dd6cc0fdc8123056a3bb67a634cd7ba62a7b05b23caab9995cce7730891da8"
-
-inherit module
-
-EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'"
-
-do_install () {
- oe_runmake install DESTDIR="${D}"
-}
diff --git a/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.19-1.bb b/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.19-1.bb
new file mode 100644
index 000000000..23fe2021b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/drbd/drbd_9.0.19-1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Distributed block device driver for Linux"
+DESCRIPTION = "DRBD is a block device which is designed to build high \
+ availability clusters. This is done by mirroring a whole \
+ block device via (a dedicated) network. You could see \
+ it as a network raid-1."
+HOMEPAGE = "http://oss.linbit.com/drbd/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+DEPENDS = "virtual/kernel"
+
+SRC_URI = "http://www.linbit.com/downloads/drbd/9.0/drbd-${PV}.tar.gz \
+ file://check_existence_of_modules_before_installing.patch \
+ "
+SRC_URI[md5sum] = "bd1202eaaf81641752d0c9b003b10f6c"
+SRC_URI[sha256sum] = "5b3d2bcb99542940e40af903dea783cf04524e9f41cc530e210d2c15ef84fa58"
+
+inherit module
+
+EXTRA_OEMAKE += "KDIR='${STAGING_KERNEL_DIR}'"
+
+do_install () {
+ oe_runmake install DESTDIR="${D}"
+}
+
+PNBLACKLIST[drbd] = "Kernel module Needs forward porting to kernel 5.2+"
diff --git a/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb b/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
index 663161a9b..972d5aa73 100644
--- a/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/esmtp/esmtp_1.2.bb
@@ -18,11 +18,15 @@ EXTRA_OECONF = "--with-libesmtp=${STAGING_EXECPREFIXDIR}"
inherit autotools update-alternatives
-ALTERNATIVE_${PN} += "sendmail mailq newaliases"
+ALTERNATIVE_${PN} = "sendmail mailq newaliases"
+# /usr/lib/sendmial is required by LSB core test
+ALTERNATIVE_${PN}_linuxstdbase = "sendmail mailq newaliases usr-lib-sendmail"
ALTERNATIVE_TARGET[mailq] = "${bindir}/mailq"
ALTERNATIVE_TARGET[newaliases] = "${bindir}/newaliases"
ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
ALTERNATIVE_TARGET[sendmail] = "${bindir}/esmtp"
+ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail"
+ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/esmtp"
ALTERNATIVE_PRIORITY = "10"
@@ -39,9 +43,4 @@ do_install_append() {
rm -rf ${D}${libdir}
}
-pkg_postinst_${PN}_linuxstdbase () {
- # /usr/lib/sendmial is required by LSB core test
- [ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/
-}
-
FILES_${PN} += "${libdir}/"
diff --git a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.0.bb b/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.0.bb
deleted file mode 100644
index eb6787846..000000000
--- a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.0.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "HTTP based time synchronization tool"
-
-DESCRIPTION = "The HTTP Time Protocol (HTP) is used to synchronize a computer's time with\
- web servers as reference time source. This program can be used instead\
- ntpdate or similar, in networks that has a firewall blocking the NTP port.\
- Htpdate will synchronize the computer time to Greenwich Mean Time (GMT),\
- using the timestamps from HTTP headers found in web servers response (the\
- HEAD method will be used to get the information).\
- Htpdate works through proxy servers. Accuracy of htpdate will be usually\
- within 0.5 seconds (better with multiple servers).\
-"
-
-HOMEPAGE = "http://www.vervest.org/htp/"
-
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "file://htpdate.c;beginline=26;endline=30;md5=d7018a4d2c5a6eab392709a05e5e168a"
-
-SRC_URI = "http://www.vervest.org/htp/archive/c/htpdate-${PV}.tar.xz \
- file://0001-Make-environment-variables-assignments-to-be-weak.patch \
- file://0001-Replace-ntp_adjtime-with-adjtimex.patch \
- "
-SRC_URI[md5sum] = "9d5ca69be06edf5d535b52b5f790da4e"
-SRC_URI[sha256sum] = "22b2cf3ec45b0eedecddd3ad2a3d754ac57942ae7dcbac410d254935f0bdbc03"
-
-do_configure () {
- :
-}
-
-do_compile () {
- oe_runmake
-}
-
-do_install () {
- oe_runmake install 'INSTALL=install' 'STRIP=echo' 'DESTDIR=${D}'
-}
-
diff --git a/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.1.bb b/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.1.bb
new file mode 100644
index 000000000..d4fd73e3d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/htpdate/htpdate_1.2.1.bb
@@ -0,0 +1,39 @@
+# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "HTTP based time synchronization tool"
+
+DESCRIPTION = "The HTTP Time Protocol (HTP) is used to synchronize a computer's time with\
+ web servers as reference time source. This program can be used instead\
+ ntpdate or similar, in networks that has a firewall blocking the NTP port.\
+ Htpdate will synchronize the computer time to Greenwich Mean Time (GMT),\
+ using the timestamps from HTTP headers found in web servers response (the\
+ HEAD method will be used to get the information).\
+ Htpdate works through proxy servers. Accuracy of htpdate will be usually\
+ within 0.5 seconds (better with multiple servers).\
+"
+
+HOMEPAGE = "http://www.vervest.org/htp/"
+
+LICENSE = "GPL-2.0+"
+LIC_FILES_CHKSUM = "file://htpdate.c;beginline=26;endline=30;md5=d7018a4d2c5a6eab392709a05e5e168a"
+
+SRC_URI = "http://www.vervest.org/htp/archive/c/htpdate-${PV}.tar.xz \
+ file://0001-Make-environment-variables-assignments-to-be-weak.patch \
+ file://0001-Replace-ntp_adjtime-with-adjtimex.patch \
+ "
+SRC_URI[md5sum] = "cab01ddcb62bd84154670a37a7a0c31c"
+SRC_URI[sha256sum] = "186c69509ba68178e2894cb8900e240bb688870ec25de2ac4676724e1e1d1cbf"
+
+do_configure () {
+ :
+}
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ oe_runmake install 'INSTALL=install' 'STRIP=echo' 'DESTDIR=${D}'
+}
+
diff --git a/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.8_typo.patch b/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.8_typo.patch
new file mode 100644
index 000000000..246910036
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.8_typo.patch
@@ -0,0 +1,15 @@
+Description: Correct typo: s/ommited/omitted/
+Author: Michael Shuler <michael@pbandjelly.org>
+Index: ifmetric/man/ifmetric.8
+===================================================================
+--- ifmetric.orig/man/ifmetric.8
++++ ifmetric/man/ifmetric.8
+@@ -9,7 +9,7 @@ ifmetric is a Linux tool for setting the
+
+ ifmetric uses the Linux NETLINK interface to manipulate the routes. Because of that it is compatible with routes created with the new iproute2 utility.
+ .SH OPTIONS
+-You should specify the interface name as first parameter. The second parameter should be the new metric. If ommited the metric 0 (highest) is used.
++You should specify the interface name as first parameter. The second parameter should be the new metric. If omitted the metric 0 (highest) is used.
+ .SH RETURN VALUES
+ \fI0\f1 Success
+
diff --git a/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_netlink-invalid-arg.patch b/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_netlink-invalid-arg.patch
new file mode 100644
index 000000000..374135d4f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_netlink-invalid-arg.patch
@@ -0,0 +1,16 @@
+Description: Fix "NETLINK: Error: Invalid argument" for links that are down, in kernel 4.4+
+Author: Jim Paris <jim@jtan.com>
+Bug-Debian: http://bugs.debian.org/864889
+Index: ifmetric/src/nlrequest.c
+===================================================================
+--- a/src/ifmetric.c
++++ b/src/ifmetric.c
+@@ -97,6 +97,8 @@
+ l = NLMSG_PAYLOAD(n, sizeof(struct rtmsg));
+ a = RTM_RTA(r);
+
++ r->rtm_flags &= ~(RTNH_F_DEAD | RTNH_F_LINKDOWN);
++
+ while(RTA_OK(a, l)) {
+ switch(a->rta_type) {
+ case RTA_PRIORITY:
diff --git a/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_typo.patch b/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_typo.patch
new file mode 100644
index 000000000..992f7d2fb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/ifmetric.c_typo.patch
@@ -0,0 +1,24 @@
+Description: Correct spelling-error-in-binary s/Recieved/Received/
+Author: Michael Shuler <michael@pbandjelly.org>
+Index: ifmetric/src/ifmetric.c
+===================================================================
+--- ifmetric.orig/src/ifmetric.c 2013-09-04 18:37:59.000000000 -0500
++++ ifmetric/src/ifmetric.c 2013-09-04 19:08:38.539750778 -0500
+@@ -38,7 +38,7 @@
+ case RTA_OIF:
+
+ if (RTA_PAYLOAD(a) != sizeof(int)) {
+- fprintf(stderr, "NETLINK: Recieved corrupt RTA_OIF payload.\n");
++ fprintf(stderr, "NETLINK: Received corrupt RTA_OIF payload.\n");
+ return -1;
+ }
+
+@@ -102,7 +102,7 @@
+ case RTA_PRIORITY:
+
+ if (RTA_PAYLOAD(a) != sizeof(int)) {
+- fprintf(stderr, "NETLINK: Recieved corrupt RTA_PRIORITY payload.\n");
++ fprintf(stderr, "NETLINK: Received corrupt RTA_PRIORITY payload.\n");
+ return NULL;
+ }
+
diff --git a/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/nlrequest.c_packet-too-small_fix.patch b/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/nlrequest.c_packet-too-small_fix.patch
new file mode 100644
index 000000000..15b310333
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric/nlrequest.c_packet-too-small_fix.patch
@@ -0,0 +1,16 @@
+Description: Fix "NETLINK: Packet too small or truncated!" error.
+Author: Benedek László <benedekl@gmail.com>
+Bug-Debian: http://bugs.debian.org/514197
+Index: ifmetric/src/nlrequest.c
+===================================================================
+--- ifmetric.orig/src/nlrequest.c 2013-09-05 14:10:42.000000000 -0500
++++ ifmetric/src/nlrequest.c 2013-09-05 14:19:06.573420862 -0500
+@@ -44,7 +44,7 @@
+
+ for (;;) {
+ int bytes;
+- char replybuf[2048];
++ char replybuf[4096];
+ struct nlmsghdr *p = (struct nlmsghdr *) replybuf;
+
+ if ((bytes = recv(s, &replybuf, sizeof(replybuf), 0)) < 0) {
diff --git a/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric_0.3.bb b/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric_0.3.bb
new file mode 100644
index 000000000..4ee7c42a3
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/ifmetric/ifmetric_0.3.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Set routing metrics for a network interface"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "http://0pointer.de/lennart/projects/ifmetric/ifmetric-${PV}.tar.gz \
+ file://ifmetric.8_typo.patch \
+ file://ifmetric.c_netlink-invalid-arg.patch \
+ file://ifmetric.c_typo.patch \
+ file://nlrequest.c_packet-too-small_fix.patch"
+SRC_URI[md5sum] = "74aa3f5ee8aca16a87e124ddcc64fa36"
+SRC_URI[sha256sum] = "0fa8510a4e34e555f136f9df81d26618313f2d69a4880c0fb5967f19502f1aec"
+
+inherit autotools
+
+# disable lynx support for now
+EXTRA_OECONF = "--disable-lynx"
diff --git a/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.29.bb b/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.29.bb
deleted file mode 100644
index 4f3c16dc3..000000000
--- a/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.29.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Linux Virtual Server administration Utility"
-HOMEPAGE = "http://www.linux-vs.org/software/index.html"
-DESCRIPTION = "Ipvsadm is used to set up, maintain or inspect the virtual server \
-table in the Linux kernel. The Linux Virtual Server can be used to \
-build scalable network services based on a cluster of two or more nodes. \
-The active node of the cluster redirects service requests to a \
-collection of server hosts that will actually perform the services. \
-Supported features include two protocols (TCP and UDP), three packet-forwarding \
-methods (NAT, tunneling, and direct routing), and eight load balancing algorithms \
-(round robin, weighted round robin, least-connec-tion, weighted least-connection, \
-locality-based least-connection, locality-based least-connection with replication, \
-destination-hashing, and source-hashing)."
-SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://README;beginline=40;endline=56;md5=b4e40069f15598d0e3fe2aa177e5ec77"
-
-DEPENDS += "libnl popt"
-
-SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/utils/kernel/ipvsadm/${BP}.tar.gz \
- file://0001-Modify-the-Makefile-for-cross-compile.patch \
- file://0003-ipvsadm-remove-dependency-on-bash.patch \
- file://makefile-add-ldflags.patch \
-"
-
-SRC_URI[md5sum] = "88b35030b4766b3e44ad15aacdef65c4"
-SRC_URI[sha256sum] = "297f5cd459c3eef81ed0ca32e53bf320ed6b132fe7ed6ea5e44aa6b1fbd2a7de"
-
-UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/ipvsadm"
-
-do_compile() {
- oe_runmake \
- CC="${CC} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/libnl3 -L${STAGING_LIBDIR}" \
- all
-}
-
-do_install() {
- sed -i -e "s;SBIN\t\t= \$(BUILD_ROOT)/sbin;SBIN\t\t= \$(BUILD_ROOT)/$base_sbindir;" ${S}/Makefile
- oe_runmake 'BUILD_ROOT=${D}' install
-}
-
-inherit pkgconfig
diff --git a/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.30.bb b/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.30.bb
new file mode 100644
index 000000000..22cb88ac1
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/ipvsadm/ipvsadm_1.30.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Linux Virtual Server administration Utility"
+HOMEPAGE = "http://www.linux-vs.org/software/index.html"
+DESCRIPTION = "Ipvsadm is used to set up, maintain or inspect the virtual server \
+table in the Linux kernel. The Linux Virtual Server can be used to \
+build scalable network services based on a cluster of two or more nodes. \
+The active node of the cluster redirects service requests to a \
+collection of server hosts that will actually perform the services. \
+Supported features include two protocols (TCP and UDP), three packet-forwarding \
+methods (NAT, tunneling, and direct routing), and eight load balancing algorithms \
+(round robin, weighted round robin, least-connec-tion, weighted least-connection, \
+locality-based least-connection, locality-based least-connection with replication, \
+destination-hashing, and source-hashing)."
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://README;beginline=40;endline=56;md5=b4e40069f15598d0e3fe2aa177e5ec77"
+
+DEPENDS += "libnl popt"
+
+SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/utils/kernel/ipvsadm/${BP}.tar.xz \
+ file://0001-Modify-the-Makefile-for-cross-compile.patch \
+ file://0003-ipvsadm-remove-dependency-on-bash.patch \
+ file://makefile-add-ldflags.patch \
+"
+
+SRC_URI[md5sum] = "97f11b6af1920fde5a9d9eac0d7f9e50"
+SRC_URI[sha256sum] = "95573d70df473c9f63fc4ac496c044c69e3a6de7ccac119922210c0b44cd7a0c"
+
+UPSTREAM_CHECK_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/ipvsadm"
+
+do_compile() {
+ oe_runmake \
+ CC="${CC} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/libnl3 -L${STAGING_LIBDIR}" \
+ all
+}
+
+do_install() {
+ sed -i -e "s;SBIN\t\t= \$(BUILD_ROOT)/sbin;SBIN\t\t= \$(BUILD_ROOT)/$base_sbindir;" ${S}/Makefile
+ oe_runmake 'BUILD_ROOT=${D}' install
+}
+
+inherit pkgconfig
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
deleted file mode 100644
index 5818d57f7..000000000
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-libldb-fix-config-error.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From bc4ff7e37ce120c257e52a81fe3475499dfd2573 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 10:10:24 +0800
-Subject: [PATCH] libldb: fix config error
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- wscript | 58 +++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 29 insertions(+), 29 deletions(-)
-
-diff --git a/wscript b/wscript
-index b0af7b6..8ad9f96 100644
---- a/wscript
-+++ b/wscript
-@@ -115,40 +115,40 @@ def configure(conf):
- onlyif='talloc tdb tevent pyldb-util',
- implied_deps='replace talloc tdb tevent'):
- conf.define('USING_SYSTEM_LDB', 1)
-+ if not Options.options.without_ldb_lmdb:
-+ if not conf.CHECK_CODE('return !(sizeof(size_t) >= 8)',
-+ "HAVE_64_BIT_SIZE_T_FOR_LMDB",
-+ execute=True,
-+ msg='Checking for a 64-bit host to '
-+ 'support lmdb'):
-+ Logs.warn("--without-ldb-lmdb implied as this "
-+ "host is not 64-bit")
-+
-+ if not conf.env.standalone_ldb and \
-+ not Options.options.without_ad_dc and \
-+ conf.CONFIG_GET('ENABLE_SELFTEST'):
-+ Logs.warn("NOTE: Some AD DC parts of selftest will fail")
-
-- if not conf.CHECK_CODE('return !(sizeof(size_t) >= 8)',
-- "HAVE_64_BIT_SIZE_T_FOR_LMDB",
-- execute=True,
-- msg='Checking for a 64-bit host to '
-- 'support lmdb'):
-- Logs.warn("--without-ldb-lmdb implied as this "
-- "host is not 64-bit")
--
-- if not conf.env.standalone_ldb and \
-- not Options.options.without_ad_dc and \
-- conf.CONFIG_GET('ENABLE_SELFTEST'):
-- Logs.warn("NOTE: Some AD DC parts of selftest will fail")
--
-- conf.env.REQUIRE_LMDB = False
-- else:
-- if conf.env.standalone_ldb:
-- if Options.options.without_ldb_lmdb:
-- conf.env.REQUIRE_LMDB = False
-- else:
-- conf.env.REQUIRE_LMDB = True
-- elif Options.options.without_ad_dc:
- conf.env.REQUIRE_LMDB = False
- else:
-- if Options.options.without_ldb_lmdb:
-- if not Options.options.without_ad_dc and \
-- conf.CONFIG_GET('ENABLE_SELFTEST'):
-- raise Utils.WafError('--without-ldb-lmdb conflicts '
-- 'with --enable-selftest while '
-- 'building the AD DC')
--
-+ if conf.env.standalone_ldb:
-+ if Options.options.without_ldb_lmdb:
-+ conf.env.REQUIRE_LMDB = False
-+ else:
-+ conf.env.REQUIRE_LMDB = True
-+ elif Options.options.without_ad_dc:
- conf.env.REQUIRE_LMDB = False
- else:
-- conf.env.REQUIRE_LMDB = True
-+ if Options.options.without_ldb_lmdb:
-+ if not Options.options.without_ad_dc and \
-+ conf.CONFIG_GET('ENABLE_SELFTEST'):
-+ raise Utils.WafError('--without-ldb-lmdb conflicts '
-+ 'with --enable-selftest while '
-+ 'building the AD DC')
-+
-+ conf.env.REQUIRE_LMDB = False
-+ else:
-+ conf.env.REQUIRE_LMDB = True
-
-
- if conf.CONFIG_SET('USING_SYSTEM_LDB'):
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 000000000..45c5acabb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf build system also upgraded.
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+ args = Utils.to_list(kw.get('exec_args', []))
+ proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ """
+ color = 'PINK'
+ def run(self):
++ args = self.generator.bld.kw.get('exec_args', [])
+ if getattr(self.generator, 'rpath', None):
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+- else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++ else:
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ else:
+ env = self.env.env or {}
+ env.update(dict(os.environ))
+ for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+
+ @feature('test_exec')
+ @after_method('apply_link')
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
index ee4936a5a..3f2921ed3 100644
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
@@ -1,30 +1,32 @@
-From f4cda3a71311e4496b725bc5f46af93413ec7a1c Mon Sep 17 00:00:00 2001
-From: Bian Naimeng <biannm@cn.fujitsu.com>
-Date: Fri, 17 Jul 2015 11:58:49 +0800
-Subject: [PATCH] libldb: add new recipe
+From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 25 Jun 2019 14:25:08 +0800
+Subject: [PATCH] do not import target module while cross compile
-Some modules such as dynamic library maybe cann't be imported while cross compile,
-we just check whether does the module exist.
+Some modules such as dynamic library maybe cann't be imported
+while cross compile, we just check whether does the module exist.
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
+update to version 4.10.5, and switch to python3
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- buildtools/wafsamba/samba_bundled.py | 32 ++++++++++++++++++++++++--------
- 1 file changed, 24 insertions(+), 8 deletions(-)
+ buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++--------
+ 1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
-index 253d604..398cc6a 100644
+index 60ce7da..5468a36 100644
--- a/buildtools/wafsamba/samba_bundled.py
+++ b/buildtools/wafsamba/samba_bundled.py
-@@ -2,6 +2,7 @@
+@@ -4,6 +4,7 @@ import sys
+ from waflib import Build, Options, Logs
+ from waflib.Configure import conf
+ from wafsamba import samba_utils
++import importlib.util, os
- import sys
- import Build, Options, Logs
-+import imp, os
- from Configure import conf
- from samba_utils import TO_LIST
-
-@@ -249,17 +250,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
+ def PRIVATE_NAME(bld, name, private_extension, private_library):
+ '''possibly rename a library to include a bundled extension'''
+@@ -249,17 +250,27 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, libname, modulename, minversion='0.0.0'):
# versions
minversion = minimum_library_version(conf, libname, minversion)
@@ -34,34 +36,32 @@ index 253d604..398cc6a 100644
- found = False
- else:
+ # Find module in PYTHONPATH
-+ stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]])
-+ if stuff:
++ spec = importlib.util._find_spec_from_path(modulename, [os.environ["PYTHONPATH"]])
++ if spec:
try:
- version = m.__version__
- except AttributeError:
-+ m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2])
++ module = importlib.util.module_from_spec(spec)
++ spec.loader.load_module(module)
+ except ImportError:
found = False
+
+ if conf.env.CROSS_COMPILE:
+ # Some modules such as dynamic library maybe cann't be imported
+ # while cross compile, we just check whether the module exist
-+ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1]))
++ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (spec.name))
+ found = True
else:
- found = tuplize_version(version) >= tuplize_version(minversion)
+ try:
-+ version = m.__version__
++ version = module.__version__
+ except AttributeError:
+ found = False
+ else:
+ found = tuplize_version(version) >= tuplize_version(minversion)
-+ finally:
-+ if stuff[0]:
-+ stuff[0].close()
-+ else:
-+ found = False
-+
if not found and not conf.LIB_MAY_BE_BUNDLED(libname):
Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
sys.exit(1)
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch
deleted file mode 100644
index 357afbea5..000000000
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.4.1.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From ffffd29bc6303d60b3d77048fbbf6776f6fbbe01 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 19 Jul 2018 16:40:31 +0800
-Subject: [PATCH] ldb: Add configure options for packages
-
-Add configure options for the following packages:
- - acl
- - attr
- - libaio
- - libbsd
- - libcap
- - valgrind
-
-Upstream-Status: Inappropriate [oe deterministic build specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-Update to version 1.4.1, and fix one configure error
-
-Cross answers file cross-answers-i586.txt is incomplete with
-"Checking for a 64-bit host to support lmdb: UNKNOWN"
-
-we don't support lmdb, so only check when lmdb is support
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- lib/replace/wscript | 94 ++++++++++++++++++++++++++++++++++++++++-------------
- wscript | 6 ++++
- 2 files changed, 77 insertions(+), 23 deletions(-)
-
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index fd00a42..434192e 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
- opt.PRIVATE_EXTENSION_DEFAULT('')
- opt.RECURSE('buildtools/wafsamba')
-
-+ opt.add_option('--with-acl',
-+ help=("Enable use of acl"),
-+ action="store_true", dest='enable_acl')
-+ opt.add_option('--without-acl',
-+ help=("Disable use of acl"),
-+ action="store_false", dest='enable_acl', default=False)
-+
-+ opt.add_option('--with-attr',
-+ help=("Enable use of attr"),
-+ action="store_true", dest='enable_attr')
-+ opt.add_option('--without-attr',
-+ help=("Disable use of attr"),
-+ action="store_false", dest='enable_attr', default=False)
-+
-+ opt.add_option('--with-libaio',
-+ help=("Enable use of libaio"),
-+ action="store_true", dest='enable_libaio')
-+ opt.add_option('--without-libaio',
-+ help=("Disable use of libaio"),
-+ action="store_false", dest='enable_libaio', default=False)
-+
-+ opt.add_option('--with-libbsd',
-+ help=("Enable use of libbsd"),
-+ action="store_true", dest='enable_libbsd')
-+ opt.add_option('--without-libbsd',
-+ help=("Disable use of libbsd"),
-+ action="store_false", dest='enable_libbsd', default=False)
-+
-+ opt.add_option('--with-libcap',
-+ help=("Enable use of libcap"),
-+ action="store_true", dest='enable_libcap')
-+ opt.add_option('--without-libcap',
-+ help=("Disable use of libcap"),
-+ action="store_false", dest='enable_libcap', default=False)
-+
- @Utils.run_once
- def configure(conf):
- conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
- conf.DEFINE('HAVE_LIBREPLACE', 1)
- conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
-
-- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
-- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
-+ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
-+ conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
- conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
-- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
-- conf.CHECK_HEADERS('shadow.h sys/acl.h')
-- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-+ conf.CHECK_HEADERS('shadow.h')
-+ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
-+
-+ if Options.options.enable_acl:
-+ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
-+
-+ if Options.options.enable_attr:
-+ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
-+
-+ if Options.options.enable_libaio:
-+ conf.CHECK_HEADERS('libaio.h')
-+
-+ if Options.options.enable_libcap:
-+ conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_HEADERS('port.h')
- conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
- conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -108,7 +156,9 @@ def configure(conf):
- conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
- conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
-
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+ if Options.options.enable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
- conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
- conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -340,22 +390,20 @@ def configure(conf):
-
- conf.CHECK_FUNCS('prctl dirname basename')
-
-- strlcpy_in_bsd = False
--
-- # libbsd on some platforms provides strlcpy and strlcat
-- if not conf.CHECK_FUNCS('strlcpy strlcat'):
-- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-- checklibc=True):
-- strlcpy_in_bsd = True
-- if not conf.CHECK_FUNCS('getpeereid'):
-- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS('setproctitle_init'):
-- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
--
-- if not conf.CHECK_FUNCS('closefrom'):
-- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+ if Options.options.enable_libbsd:
-+ # libbsd on some platforms provides strlcpy and strlcat
-+ if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+ conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+ checklibc=True)
-+ if not conf.CHECK_FUNCS('getpeereid'):
-+ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-+ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS('setproctitle_init'):
-+ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
-+
-+ if not conf.CHECK_FUNCS('closefrom'):
-+ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-
- conf.CHECK_CODE('''
- struct ucred cred;
-@@ -699,7 +747,7 @@ def configure(conf):
- # look for a method of finding the list of network interfaces
- for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
- bsd_for_strlcpy = ''
-- if strlcpy_in_bsd:
-+ if Options.options.enable_libbsd:
- bsd_for_strlcpy = ' bsd'
- if conf.CHECK_CODE('''
- #define %s 1
-diff --git a/wscript b/wscript
-index ad91bc6..2d20fee 100644
---- a/wscript
-+++ b/wscript
-@@ -36,6 +36,12 @@ def set_options(opt):
- help='disable new LMDB backend for LDB',
- action='store_true', dest='without_ldb_lmdb', default=False)
-
-+ opt.add_option('--with-valgrind',
-+ help=("enable use of valgrind"),
-+ action="store_true", dest='enable_valgrind')
-+ opt.add_option('--without-valgrind',
-+ help=("disable use of valgrind"),
-+ action="store_false", dest='enable_valgrind', default=False)
-
- def configure(conf):
- conf.RECURSE('lib/tdb')
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
new file mode 100644
index 000000000..bffd0653b
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb/options-1.5.4.patch
@@ -0,0 +1,171 @@
+From 0841c3ed69c388251c1aeae63f2c3813555a54f6 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 1 Jul 2019 16:14:16 +0800
+Subject: [PATCH] ldb: Add configure options for packages
+
+Add configure options for the following packages:
+ - acl
+ - attr
+ - libaio
+ - libbsd
+ - libcap
+ - valgrind
+
+Upstream-Status: Inappropriate [oe deterministic build specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+upgrade to version 1.5.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/replace/wscript | 92 +++++++++++++++++++++++++++++++++++++++++------------
+ wscript | 8 +++++
+ 2 files changed, 79 insertions(+), 21 deletions(-)
+
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index a7fd25d..ad26041 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -24,6 +24,41 @@ def options(opt):
+ opt.BUILTIN_DEFAULT('NONE')
+ opt.PRIVATE_EXTENSION_DEFAULT('')
+ opt.RECURSE('buildtools/wafsamba')
++
++ opt.add_option('--with-acl',
++ help=("Enable use of acl"),
++ action="store_true", dest='enable_acl')
++ opt.add_option('--without-acl',
++ help=("Disable use of acl"),
++ action="store_false", dest='enable_acl', default=False)
++
++ opt.add_option('--with-attr',
++ help=("Enable use of attr"),
++ action="store_true", dest='enable_attr')
++ opt.add_option('--without-attr',
++ help=("Disable use of attr"),
++ action="store_false", dest='enable_attr', default=False)
++
++ opt.add_option('--with-libaio',
++ help=("Enable use of libaio"),
++ action="store_true", dest='enable_libaio')
++ opt.add_option('--without-libaio',
++ help=("Disable use of libaio"),
++ action="store_false", dest='enable_libaio', default=False)
++
++ opt.add_option('--with-libbsd',
++ help=("Enable use of libbsd"),
++ action="store_true", dest='enable_libbsd')
++ opt.add_option('--without-libbsd',
++ help=("Disable use of libbsd"),
++ action="store_false", dest='enable_libbsd', default=False)
++
++ opt.add_option('--with-libcap',
++ help=("Enable use of libcap"),
++ action="store_true", dest='enable_libcap')
++ opt.add_option('--without-libcap',
++ help=("Disable use of libcap"),
++ action="store_false", dest='enable_libcap', default=False)
+
+ @Utils.run_once
+ def configure(conf):
+@@ -34,12 +69,25 @@ def configure(conf):
+ conf.DEFINE('HAVE_LIBREPLACE', 1)
+ conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
+
+- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
+- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
++ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
++ conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
+ conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+- conf.CHECK_HEADERS('shadow.h sys/acl.h')
+- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
++ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
++ conf.CHECK_HEADERS('shadow.h')
++ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
++
++ if Options.options.enable_acl:
++ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
++
++ if Options.options.enable_attr:
++ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
++
++ if Options.options.enable_libaio:
++ conf.CHECK_HEADERS('libaio.h')
++
++ if Options.options.enable_libcap:
++ conf.CHECK_HEADERS('sys/capability.h')
++
+ conf.CHECK_HEADERS('port.h')
+ conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+ conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
+@@ -110,8 +158,9 @@ def configure(conf):
+ conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
+ conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
+
+- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
++ if Options.options.enable_valgrind:
++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+ conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+ conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
+ conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
+@@ -380,20 +429,21 @@ def configure(conf):
+
+ strlcpy_in_bsd = False
+
+- # libbsd on some platforms provides strlcpy and strlcat
+- if not conf.CHECK_FUNCS('strlcpy strlcat'):
+- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
+- checklibc=True):
+- strlcpy_in_bsd = True
+- if not conf.CHECK_FUNCS('getpeereid'):
+- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS('setproctitle_init'):
+- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+-
+- if not conf.CHECK_FUNCS('closefrom'):
+- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++ if Options.options.enable_libbsd:
++ # libbsd on some platforms provides strlcpy and strlcat
++ if not conf.CHECK_FUNCS('strlcpy strlcat'):
++ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++ checklibc=True):
++ strlcpy_in_bsd = True
++ if not conf.CHECK_FUNCS('getpeereid'):
++ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
++ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS('setproctitle_init'):
++ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
++
++ if not conf.CHECK_FUNCS('closefrom'):
++ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
+
+ conf.CHECK_CODE('''
+ struct ucred cred;
+diff --git a/wscript b/wscript
+index d3402a7..d4e0ce1 100644
+--- a/wscript
++++ b/wscript
+@@ -38,6 +38,14 @@ def options(opt):
+ help='disable new LMDB backend for LDB',
+ action='store_true', dest='without_ldb_lmdb', default=False)
+
++ opt.add_option('--with-valgrind',
++ help=("enable use of valgrind"),
++ action="store_true", dest='enable_valgrind')
++ opt.add_option('--without-valgrind',
++ help=("disable use of valgrind"),
++ action="store_false", dest='enable_valgrind', default=False)
++
++
+
+ def configure(conf):
+ conf.RECURSE('lib/tdb')
+--
+2.7.4
+
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
deleted file mode 100644
index f3608c6ab..000000000
--- a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.4.1.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://ldb.samba.org"
-SECTION = "libs"
-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 \
- file://options-1.4.1.patch \
- file://0001-libldb-fix-config-error.patch \
- file://libldb-fix-musl-libc-unkown-type-error.patch \
- file://libldb-fix-musl-libc-conflict-type-error.patch \
- "
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[ldap] = ",,openldap"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
-
-LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \
- file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
- file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
-
-SRC_URI[md5sum] = "159a1b1a56dcccf410d1bba911be6076"
-SRC_URI[sha256sum] = "2df13aa25b376b314ce24182c37691959019523de3cc5356c40c1a333b0890a2"
-
-inherit waf-samba distro_features_check
-REQUIRED_DISTRO_FEATURES = "pam"
-
-S = "${WORKDIR}/ldb-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
- --disable-rpath-install \
- --bundled-libraries=cmocka \
- --builtin-libraries=replace \
- --with-modulesdir=${libdir}/ldb/modules \
- --with-privatelibdir=${libdir}/ldb \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- --without-ldb-lmdb \
- "
-
-PACKAGES =+ "pyldb pyldb-dbg pyldb-dev"
-
-NOAUTOPACKAGEDEBUG = "1"
-
-FILES_${PN} += "${libdir}/ldb/*"
-FILES_${PN}-dbg += "${bindir}/.debug/* \
- ${libdir}/.debug/* \
- ${libdir}/ldb/.debug/* \
- ${libdir}/ldb/modules/ldb/.debug/*"
-
-FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
- ${libdir}/libpyldb-util.so.* \
- "
-FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
- ${libdir}/.debug/libpyldb-util.so.*"
-FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
diff --git a/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.5.bb b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.5.bb
new file mode 100644
index 000000000..b19c964d8
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libldb/libldb_1.5.5.bb
@@ -0,0 +1,72 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://ldb.samba.org"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
+
+DEPENDS += "libtdb libtalloc libtevent popt"
+RDEPENDS_pyldb += "python3"
+
+SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
+ file://do-not-import-target-module-while-cross-compile.patch \
+ file://libldb-fix-musl-libc-unkown-type-error.patch \
+ file://libldb-fix-musl-libc-conflict-type-error.patch \
+ file://0001-waf-add-support-of-cross_compile.patch \
+ file://options-1.5.4.patch \
+ "
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[ldap] = ",,openldap"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
+
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
+
+LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \
+ file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
+ file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
+
+SRC_URI[md5sum] = "339a41ac9efaec680e6d1469dd9aa35b"
+SRC_URI[sha256sum] = "199f5861aa863f538ec66d5fa95ecc13254a2030c53daf0e47363fa9ba235c68"
+
+inherit waf-samba distro_features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+S = "${WORKDIR}/ldb-${PV}"
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+EXTRA_OECONF += "--disable-rpath \
+ --disable-rpath-install \
+ --bundled-libraries=cmocka \
+ --builtin-libraries=replace \
+ --with-modulesdir=${libdir}/ldb/modules \
+ --with-privatelibdir=${libdir}/ldb \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ "
+
+PACKAGES =+ "pyldb pyldb-dbg pyldb-dev"
+
+NOAUTOPACKAGEDEBUG = "1"
+
+FILES_${PN} += "${libdir}/ldb/*"
+FILES_${PN}-dbg += "${bindir}/.debug/* \
+ ${libdir}/.debug/* \
+ ${libdir}/ldb/.debug/* \
+ ${libdir}/ldb/modules/ldb/.debug/*"
+
+FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
+ ${libdir}/libpyldb-util.*.so.* \
+ "
+FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
+ ${libdir}/.debug/libpyldb-util.*.so.*"
+FILES_pyldb-dev = "${libdir}/libpyldb-util.*.so"
diff --git a/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch b/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 000000000..e58339afb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf also upgraded
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+ args = Utils.to_list(kw.get('exec_args', []))
+ proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ """
+ color = 'PINK'
+ def run(self):
++ args = self.generator.bld.kw.get('exec_args', [])
+ if getattr(self.generator, 'rpath', None):
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+- else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++ else:
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ else:
+ env = self.env.env or {}
+ env.update(dict(os.environ))
+ for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+
+ @feature('test_exec')
+ @after_method('apply_link')
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch b/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch
deleted file mode 100644
index df45d36e9..000000000
--- a/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.1.14.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From 319a2a1bb46ae35fa9d66878cb08285035f0bd5f Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 19 Jul 2018 15:41:31 +0800
-Subject: [PATCH] talloc: Add configure options for packages
-
-Add configure options for the following packages:
- - acl
- - attr
- - libaio
- - libbsd
- - libcap
- - valgrind
-
-Upstream-Status: Inappropriate [oe deterministic build specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-Modified to apply to version 2.1.10.
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Modified tp apply to version 2.1.14
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- lib/replace/wscript | 90 +++++++++++++++++++++++++++++++++++++++++------------
- wscript | 7 +++++
- 2 files changed, 77 insertions(+), 20 deletions(-)
-
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index fd00a42..a77c058 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -22,6 +22,41 @@ def set_options(opt):
- opt.BUILTIN_DEFAULT('NONE')
- opt.PRIVATE_EXTENSION_DEFAULT('')
- opt.RECURSE('buildtools/wafsamba')
-+
-+ opt.add_option('--with-acl',
-+ help=("Enable use of acl"),
-+ action="store_true", dest='enable_acl')
-+ opt.add_option('--without-acl',
-+ help=("Disable use of acl"),
-+ action="store_false", dest='enable_acl', default=False)
-+
-+ opt.add_option('--with-attr',
-+ help=("Enable use of attr"),
-+ action="store_true", dest='enable_attr')
-+ opt.add_option('--without-attr',
-+ help=("Disable use of attr"),
-+ action="store_false", dest='enable_attr', default=False)
-+
-+ opt.add_option('--with-libaio',
-+ help=("Enable use of libaio"),
-+ action="store_true", dest='enable_libaio')
-+ opt.add_option('--without-libaio',
-+ help=("Disable use of libaio"),
-+ action="store_false", dest='enable_libaio', default=False)
-+
-+ opt.add_option('--with-libbsd',
-+ help=("Enable use of libbsd"),
-+ action="store_true", dest='enable_libbsd')
-+ opt.add_option('--without-libbsd',
-+ help=("Disable use of libbsd"),
-+ action="store_false", dest='enable_libbsd', default=False)
-+
-+ opt.add_option('--with-libcap',
-+ help=("Enable use of libcap"),
-+ action="store_true", dest='enable_libcap')
-+ opt.add_option('--without-libcap',
-+ help=("Disable use of libcap"),
-+ action="store_false", dest='enable_libcap', default=False)
-
- @Utils.run_once
- def configure(conf):
-@@ -32,12 +67,25 @@ def configure(conf):
- conf.DEFINE('HAVE_LIBREPLACE', 1)
- conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
-
-- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
-- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
-+ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
-+ conf.CHECK_HEADERS('attr/xattr.h compat.h ctype.h dustat.h')
- conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
-- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
-- conf.CHECK_HEADERS('shadow.h sys/acl.h')
-- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-+ conf.CHECK_HEADERS('shadow.h')
-+ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
-+
-+ if Options.options.enable_acl:
-+ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
-+
-+ if Options.options.enable_attr:
-+ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
-+
-+ if Options.options.enable_libaio:
-+ conf.CHECK_HEADERS('libaio.h')
-+
-+ if Options.options.enable_libcap:
-+ conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_HEADERS('port.h')
- conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
- conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -108,7 +156,9 @@ def configure(conf):
- conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
- conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
-
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+ if Options.options.enable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
- conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
- conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -342,20 +392,20 @@ def configure(conf):
-
- strlcpy_in_bsd = False
-
-- # libbsd on some platforms provides strlcpy and strlcat
-- if not conf.CHECK_FUNCS('strlcpy strlcat'):
-- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-- checklibc=True):
-- strlcpy_in_bsd = True
-- if not conf.CHECK_FUNCS('getpeereid'):
-- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS('setproctitle_init'):
-- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
--
-- if not conf.CHECK_FUNCS('closefrom'):
-- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+ if Options.options.enable_libbsd:
-+ # libbsd on some platforms provides strlcpy and strlcat
-+ if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+ checklibc=True):
-+ strlcpy_in_bsd = True
-+ if not conf.CHECK_FUNCS('getpeereid'):
-+ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-+ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS('setproctitle_init'):
-+ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS('closefrom'):
-+ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-
- conf.CHECK_CODE('''
- struct ucred cred;
-diff --git a/wscript b/wscript
-index 18f726e..fed8ab9 100644
---- a/wscript
-+++ b/wscript
-@@ -32,6 +32,13 @@ def set_options(opt):
- opt.add_option('--enable-talloc-compat1',
- help=("Build talloc 1.x.x compat library [False]"),
- action="store_true", dest='TALLOC_COMPAT1', default=False)
-+ opt.add_option('--with-valgrind',
-+ help=("enable use of valgrind"),
-+ action="store_true", dest='enable_valgrind')
-+ opt.add_option('--without-valgrind',
-+ help=("disable use of valgrind"),
-+ action="store_false", dest='enable_valgrind', default=False)
-+
-
-
- def configure(conf):
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch b/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch
new file mode 100644
index 000000000..3847b013e
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc/options-2.2.0.patch
@@ -0,0 +1,173 @@
+From c6d76c8ade57b996a8123b1c1a3a28ba4666e9c6 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 10:57:06 +0800
+Subject: [PATCH] talloc: Add configure options for packages
+
+Add configure options for the following packages:
+ - acl
+ - attr
+ - libaio
+ - libbsd
+ - libcap
+ - valgrind
+
+Upstream-Status: Inappropriate [oe deterministic build specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Modified to apply to version 2.1.10.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+Modified tp apply to version 2.2.0
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/replace/wscript | 91 ++++++++++++++++++++++++++++++++++++++++-------------
+ wscript | 7 ++++-
+ 2 files changed, 76 insertions(+), 22 deletions(-)
+
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index 1d01e1e..7bc7666 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -25,6 +25,41 @@ def options(opt):
+ opt.PRIVATE_EXTENSION_DEFAULT('')
+ opt.RECURSE('buildtools/wafsamba')
+
++ opt.add_option('--with-acl',
++ help=("Enable use of acl"),
++ action="store_true", dest='enable_acl')
++ opt.add_option('--without-acl',
++ help=("Disable use of acl"),
++ action="store_false", dest='enable_acl', default=False)
++
++ opt.add_option('--with-attr',
++ help=("Enable use of attr"),
++ action="store_true", dest='enable_attr')
++ opt.add_option('--without-attr',
++ help=("Disable use of attr"),
++ action="store_false", dest='enable_attr', default=False)
++
++ opt.add_option('--with-libaio',
++ help=("Enable use of libaio"),
++ action="store_true", dest='enable_libaio')
++ opt.add_option('--without-libaio',
++ help=("Disable use of libaio"),
++ action="store_false", dest='enable_libaio', default=False)
++
++ opt.add_option('--with-libbsd',
++ help=("Enable use of libbsd"),
++ action="store_true", dest='enable_libbsd')
++ opt.add_option('--without-libbsd',
++ help=("Disable use of libbsd"),
++ action="store_false", dest='enable_libbsd', default=False)
++
++ opt.add_option('--with-libcap',
++ help=("Enable use of libcap"),
++ action="store_true", dest='enable_libcap')
++ opt.add_option('--without-libcap',
++ help=("Disable use of libcap"),
++ action="store_false", dest='enable_libcap', default=False)
++
+ @Utils.run_once
+ def configure(conf):
+ conf.RECURSE('buildtools/wafsamba')
+@@ -34,12 +69,25 @@ def configure(conf):
+ conf.DEFINE('HAVE_LIBREPLACE', 1)
+ conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
+
+- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
+- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
++ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
++ conf.CHECK_HEADERS('attr/xattr.h compat.h ctype.h dustat.h')
+ conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+- conf.CHECK_HEADERS('shadow.h sys/acl.h')
+- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
++ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
++ conf.CHECK_HEADERS('shadow.h')
++ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
++
++ if Options.options.enable_acl:
++ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
++
++ if Options.options.enable_attr:
++ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
++
++ if Options.options.enable_libaio:
++ conf.CHECK_HEADERS('libaio.h')
++
++ if Options.options.enable_libcap:
++ conf.CHECK_HEADERS('sys/capability.h')
++
+ conf.CHECK_HEADERS('port.h')
+ conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
+ conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
+@@ -110,8 +158,9 @@ def configure(conf):
+ conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
+ conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
+
+- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
++ if Options.options.enable_valgrind:
++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+ conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+ conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
+ conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
+@@ -380,20 +429,20 @@ def configure(conf):
+
+ strlcpy_in_bsd = False
+
+- # libbsd on some platforms provides strlcpy and strlcat
+- if not conf.CHECK_FUNCS('strlcpy strlcat'):
+- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
+- checklibc=True):
+- strlcpy_in_bsd = True
+- if not conf.CHECK_FUNCS('getpeereid'):
+- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS('setproctitle_init'):
+- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+-
+- if not conf.CHECK_FUNCS('closefrom'):
+- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++ if Options.options.enable_libbsd:
++ # libbsd on some platforms provides strlcpy and strlcat
++ if not conf.CHECK_FUNCS('strlcpy strlcat'):
++ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++ checklibc=True):
++ strlcpy_in_bsd = True
++ if not conf.CHECK_FUNCS('getpeereid'):
++ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
++ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS('setproctitle_init'):
++ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS('closefrom'):
++ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
+
+ conf.CHECK_CODE('''
+ struct ucred cred;
+diff --git a/wscript b/wscript
+index e402069..9976f4c 100644
+--- a/wscript
++++ b/wscript
+@@ -31,7 +31,12 @@ def options(opt):
+ opt.add_option('--enable-talloc-compat1',
+ help=("Build talloc 1.x.x compat library [False]"),
+ action="store_true", dest='TALLOC_COMPAT1', default=False)
+-
++ opt.add_option('--with-valgrind',
++ help=("enable use of valgrind"),
++ action="store_true", dest='enable_valgrind')
++ opt.add_option('--without-valgrind',
++ help=("disable use of valgrind"),
++ action="store_false", dest='enable_valgrind', default=False)
+
+ def configure(conf):
+ conf.RECURSE('lib/replace')
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb b/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb
deleted file mode 100644
index 9a463a6dc..000000000
--- a/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.1.14.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://talloc.samba.org"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & GPL-3.0+"
-LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6d5228bfa7825249 \
- file://pytalloc.h;beginline=1;endline=18;md5=2c498cc6f2263672483237b20f46b43d"
-
-
-SRC_URI = "https://samba.org/ftp/talloc/talloc-${PV}.tar.gz \
- file://options-2.1.14.patch \
-"
-SRC_URI[md5sum] = "7478da02e309316231a497a9f17a980d"
-SRC_URI[sha256sum] = "b185602756a628bac507fa8af8b9df92ace69d27c0add5dab93190ad7c3367ce"
-
-inherit waf-samba
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
-
-S = "${WORKDIR}/talloc-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
- --disable-rpath-install \
- --bundled-libraries=NONE \
- --builtin-libraries=replace \
- --disable-silent-rules \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- "
-
-PACKAGES += "pytalloc pytalloc-dev"
-
-RPROVIDES_${PN}-dbg += "pytalloc-dbg"
-
-FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
- ${libdir}/libpytalloc-util.so.2 \
- ${libdir}/libpytalloc-util.so.2.1.1 \
- "
-FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
-RDEPENDS_pytalloc = "python"
diff --git a/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.3.0.bb b/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.3.0.bb
new file mode 100644
index 000000000..9f8ebcc41
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtalloc/libtalloc_2.3.0.bb
@@ -0,0 +1,54 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://talloc.samba.org"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & GPL-3.0+"
+LIC_FILES_CHKSUM = "file://talloc.h;beginline=3;endline=27;md5=a301712782cad6dd6d5228bfa7825249 \
+ file://pytalloc.h;beginline=1;endline=18;md5=2c498cc6f2263672483237b20f46b43d"
+
+
+SRC_URI = "https://samba.org/ftp/talloc/talloc-${PV}.tar.gz \
+ file://options-2.2.0.patch \
+ file://0001-waf-add-support-of-cross_compile.patch \
+"
+SRC_URI[md5sum] = "8416b153547add81cd1a4d24e598c890"
+SRC_URI[sha256sum] = "75d5bcb34482545a82ffb06da8f6c797f963a0da450d0830c669267b14992fc6"
+
+inherit waf-samba
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
+
+S = "${WORKDIR}/talloc-${PV}"
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+EXTRA_OECONF += "--disable-rpath \
+ --disable-rpath-install \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace \
+ --disable-silent-rules \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ "
+
+PACKAGES += "pytalloc pytalloc-dev"
+
+RPROVIDES_${PN}-dbg += "pytalloc-dbg"
+
+FILES_pytalloc = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
+ ${libdir}/libpytalloc-util.so.2 \
+ ${libdir}/libpytalloc-util.so.2.1.1 \
+ "
+FILES_pytalloc-dev = "${libdir}/libpytalloc-util.so"
+RDEPENDS_pytalloc = "python3"
diff --git a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch
deleted file mode 100644
index 10f2ef84d..000000000
--- a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/0001-Makefile-fix-problem-that-waf-cannot-found.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 7205761d654636a6c1fad03a3ca40d38e253e192 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 25 Jan 2019 16:01:07 +0800
-Subject: [PATCH] Makefile: fix problem that waf cannot found
-
-tdb is subfolder of samba, but it can also build independently.
-so both path need to be added into PATH
-
-Upsteam-Status: Inappropriate [oe specific]
-
-Fix reject by upstream since upsteam need to support both python2/3,
-so drop add append PATH. refer link:
-https://gitlab.com/samba-team/samba/merge_requests/209
-https://gitlab.com/samba-team/samba/merge_requests/211
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 3e70146..64bb393 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,6 +1,6 @@
- # simple makefile wrapper to run waf
-
--WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf
-+WAF_BINARY=PATH=buildtools/bin:../../buildtools/bin:$$PATH waf
- WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
-
- all:
---
-2.7.4
-
diff --git a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch
deleted file mode 100644
index bcc45c9fc..000000000
--- a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/do-not-check-xsltproc-manpages.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Don't check manpages for xsltproc.
-
-Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
-
---- tdb-1.3.0.orig/wscript 2015-04-22 09:52:32.366000222 +0900
-+++ tdb-1.3.0/wscript 2015-04-22 09:51:57.720000205 +0900
-@@ -90,7 +90,7 @@ def configure(conf):
- not conf.env.disable_tdb_mutex_locking):
- conf.define('USE_TDB_MUTEX_LOCKING', 1)
-
-- conf.CHECK_XSLTPROC_MANPAGES()
-+ conf.find_program('xsltproc', var='XSLTPROC')
-
- if not conf.env.disable_python:
- # also disable if we don't have the python libs installed
diff --git a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
index e6e10238f..481fd68a4 100644
--- a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
+++ b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb/tdb-Add-configure-options-for-packages.patch
@@ -1,6 +1,6 @@
-From 13bbc851d9fd7396f087758e614abba60eeb2aad Mon Sep 17 00:00:00 2001
+From 71a10c176c34da898c0169371b3c1b032d2f88b1 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 23 Jan 2019 10:14:05 +0800
+Date: Wed, 19 Jun 2019 17:53:34 +0800
Subject: [PATCH] tdb: Add configure options for packages
Add configure options for the following packages:
@@ -15,22 +15,16 @@ Upstream-Status: Inappropriate [oe deterministic build specific]
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-Update for libtdb_1.3.14.
+Update to 1.4.0
-Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
-
-Update for libtdb_1.3.16
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-Update for libtdb_1.3.17
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- lib/replace/wscript | 95 ++++++++++++++++++++++++++++++++++++++++-------------
+ lib/replace/wscript | 94 ++++++++++++++++++++++++++++++++++++++++-------------
wscript | 6 ++++
- 2 files changed, 79 insertions(+), 22 deletions(-)
+ 2 files changed, 78 insertions(+), 22 deletions(-)
diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 6cbae93..7aeaf46 100644
+index 1d01e1e..2336dc3 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
@@ -25,6 +25,41 @@ def options(opt):
@@ -104,26 +98,26 @@ index 6cbae93..7aeaf46 100644
+ conf.CHECK_HEADERS('sys/capability.h')
+
conf.CHECK_HEADERS('port.h')
- conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
+ conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -110,8 +158,10 @@ def configure(conf):
+@@ -110,9 +158,10 @@ def configure(conf):
conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+ if Options.options.enable_valgrind:
+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+
- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -379,21 +429,22 @@ def configure(conf):
- conf.CHECK_FUNCS('prctl dirname basename')
+ conf.CHECK_HEADERS('syscall.h sys/syscall.h inttypes.h')
+@@ -380,20 +429,21 @@ def configure(conf):
strlcpy_in_bsd = False
--
+
- # libbsd on some platforms provides strlcpy and strlcat
- if not conf.CHECK_FUNCS('strlcpy strlcat'):
- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
@@ -138,7 +132,6 @@ index 6cbae93..7aeaf46 100644
-
- if not conf.CHECK_FUNCS('closefrom'):
- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+
+ if Options.options.enable_libbsd:
+ # libbsd on some platforms provides strlcpy and strlcat
+ if not conf.CHECK_FUNCS('strlcpy strlcat'):
@@ -158,7 +151,7 @@ index 6cbae93..7aeaf46 100644
conf.CHECK_CODE('''
struct ucred cred;
diff --git a/wscript b/wscript
-index bc5ee26..9ac10b6 100644
+index 5598d02..8d47244 100644
--- a/wscript
+++ b/wscript
@@ -69,6 +69,12 @@ def options(opt):
diff --git a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb
deleted file mode 100644
index 4c7755cba..000000000
--- a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.3.17.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "The tdb library"
-HOMEPAGE = "http://tdb.samba.org/"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & GPL-3.0+"
-
-LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c98f48018c4 \
- file://include/tdb.h;endline=27;md5=f5bb544641d3081821bcc1dd58310be6"
-
-SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
- file://do-not-check-xsltproc-manpages.patch \
- file://tdb-Add-configure-options-for-packages.patch \
- file://0001-waf-add-support-of-cross_compile.patch \
- file://0001-Makefile-fix-problem-that-waf-cannot-found.patch \
-"
-
-SRC_URI[md5sum] = "519d373ac72a66b0a2739dbb495de127"
-SRC_URI[sha256sum] = "1cb4399394c60a773430ca54848359adcf54fb6f136afdcfcbbe62b5f4245614"
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-S = "${WORKDIR}/tdb-${PV}"
-
-inherit waf-samba
-
-#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
-#to cross Popen
-export WAF_NO_PREFORK="yes"
-
-EXTRA_OECONF += "--disable-rpath \
- --bundled-libraries=NONE \
- --builtin-libraries=replace \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- "
-
-PACKAGES += "tdb-tools python-tdb"
-
-RPROVIDES_${PN}-dbg += "python-tdb-dbg"
-
-FILES_${PN} = "${libdir}/*.so.*"
-FILES_tdb-tools = "${bindir}/*"
-FILES_python-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-RDEPENDS_python-tdb = "python"
diff --git a/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.2.bb b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.2.bb
new file mode 100644
index 000000000..4973e80ca
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtdb/libtdb_1.4.2.bb
@@ -0,0 +1,57 @@
+SUMMARY = "The tdb library"
+HOMEPAGE = "http://tdb.samba.org/"
+SECTION = "libs"
+LICENSE = "LGPL-3.0+ & GPL-3.0+"
+
+LIC_FILES_CHKSUM = "file://tools/tdbdump.c;endline=18;md5=b59cd45aa8624578126a8c98f48018c4 \
+ file://include/tdb.h;endline=27;md5=f5bb544641d3081821bcc1dd58310be6"
+
+SRC_URI = "https://samba.org/ftp/tdb/tdb-${PV}.tar.gz \
+ file://tdb-Add-configure-options-for-packages.patch \
+ file://0001-waf-add-support-of-cross_compile.patch \
+"
+
+SRC_URI[md5sum] = "b2c05ad68334368d3258a63db709f254"
+SRC_URI[sha256sum] = "9040b2cce4028e392f063f91bbe76b8b28fecc2b7c0c6071c67b5eb3168e004a"
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+S = "${WORKDIR}/tdb-${PV}"
+
+inherit waf-samba
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+EXTRA_OECONF += "--disable-rpath \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ "
+
+do_install_append() {
+ # add this link for cross check python module existence. eg: on x86-64 host, check python module
+ # under recipe-sysroot which is mips64.
+ cd ${D}${PYTHON_SITEPACKAGES_DIR}; ln -s tdb.*.so tdb.so
+}
+
+PACKAGES += "tdb-tools python3-tdb"
+
+RPROVIDES_${PN}-dbg += "python3-tdb-dbg"
+
+FILES_${PN} = "${libdir}/*.so.*"
+FILES_tdb-tools = "${bindir}/*"
+FILES_python3-tdb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+RDEPENDS_python3-tdb = "python3"
+INSANE_SKIP_${MLPREFIX}python3-tdb = "dev-so"
diff --git a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch
new file mode 100644
index 000000000..a717f1bbb
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/0001-waf-add-support-of-cross_compile.patch
@@ -0,0 +1,62 @@
+From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 25 Jan 2019 15:00:59 +0800
+Subject: [PATCH] waf: add support of cross_compile
+
+After upgrade, waf also upgraded.
+
+on 1.5.19, for cross_compile, subprocess.Popen is set to be
+samba_cross.cross_Popen, which will not execute testprog on
+host, but only read result from cross-answers.txt which is
+passed by option --cross-answer
+
+part of old code:
+ args = Utils.to_list(kw.get('exec_args', []))
+ proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
+
+but on new version, exec_args is not used and cause do_configure
+failed with Exec format error
+
+fixed by append cross anser related args to cmd
+
+Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
+index 7608215..767cf33 100644
+--- a/third_party/waf/waflib/Tools/c_config.py
++++ b/third_party/waf/waflib/Tools/c_config.py
+@@ -660,20 +660,21 @@ class test_exec(Task.Task):
+ """
+ color = 'PINK'
+ def run(self):
++ args = self.generator.bld.kw.get('exec_args', [])
+ if getattr(self.generator, 'rpath', None):
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
+- else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
++ else:
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
+ else:
+ env = self.env.env or {}
+ env.update(dict(os.environ))
+ for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
+ env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
+ if getattr(self.generator, 'define_ret', False):
+- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
+ else:
+- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
++ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
+
+ @feature('test_exec')
+ @after_method('apply_link')
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch
new file mode 100644
index 000000000..882af0644
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.10.0.patch
@@ -0,0 +1,170 @@
+From b2b19aa9968258b22cf31db0b9dba6bcf96046cf Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 20 Jun 2019 13:55:44 +0800
+Subject: [PATCH] Add configure options for packages
+
+Add configure options for the following packages:
+ - acl
+ - attr
+ - libaio
+ - libbsd
+ - libcap
+ - valgrind
+
+Upstream-Status: Inappropriate [oe deterministic build specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+Modified to apply to version 0.9.33.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+Update patch to version 0.10.0
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ lib/replace/wscript | 89 ++++++++++++++++++++++++++++++++++++++++-------------
+ wscript | 6 ++++
+ 2 files changed, 74 insertions(+), 21 deletions(-)
+
+diff --git a/lib/replace/wscript b/lib/replace/wscript
+index 1d01e1e..5cf444a 100644
+--- a/lib/replace/wscript
++++ b/lib/replace/wscript
+@@ -25,6 +25,41 @@ def options(opt):
+ opt.PRIVATE_EXTENSION_DEFAULT('')
+ opt.RECURSE('buildtools/wafsamba')
+
++ opt.add_option('--with-acl',
++ help=("Enable use of acl"),
++ action="store_true", dest='enable_acl')
++ opt.add_option('--without-acl',
++ help=("Disable use of acl"),
++ action="store_false", dest='enable_acl', default=False)
++
++ opt.add_option('--with-attr',
++ help=("Enable use of attr"),
++ action="store_true", dest='enable_attr')
++ opt.add_option('--without-attr',
++ help=("Disable use of attr"),
++ action="store_false", dest='enable_attr', default=False)
++
++ opt.add_option('--with-libaio',
++ help=("Enable use of libaio"),
++ action="store_true", dest='enable_libaio')
++ opt.add_option('--without-libaio',
++ help=("Disable use of libaio"),
++ action="store_false", dest='enable_libaio', default=False)
++
++ opt.add_option('--with-libbsd',
++ help=("Enable use of libbsd"),
++ action="store_true", dest='enable_libbsd')
++ opt.add_option('--without-libbsd',
++ help=("Disable use of libbsd"),
++ action="store_false", dest='enable_libbsd', default=False)
++
++ opt.add_option('--with-libcap',
++ help=("Enable use of libcap"),
++ action="store_true", dest='enable_libcap')
++ opt.add_option('--without-libcap',
++ help=("Disable use of libcap"),
++ action="store_false", dest='enable_libcap', default=False)
++
+ @Utils.run_once
+ def configure(conf):
+ conf.RECURSE('buildtools/wafsamba')
+@@ -34,12 +69,25 @@ def configure(conf):
+ conf.DEFINE('HAVE_LIBREPLACE', 1)
+ conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
+
+- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
+- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
++ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
++ conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
+ conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
+- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
+- conf.CHECK_HEADERS('shadow.h sys/acl.h')
+- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
++ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
++ conf.CHECK_HEADERS('shadow.h')
++ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
++
++ if Options.options.enable_acl:
++ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
++
++ if Options.options.enable_attr:
++ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
++
++ if Options.options.enable_libaio:
++ conf.CHECK_HEADERS('libaio.h')
++
++ if Options.options.enable_libcap:
++ conf.CHECK_HEADERS('sys/capability.h')
++
+ conf.CHECK_HEADERS('port.h')
+ conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h')
+ conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
+@@ -110,8 +158,9 @@ def configure(conf):
+ conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
+ conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
+
+- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
+- conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
++ if Options.options.enable_valgrind:
++ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h')
++ conf.CHECK_HEADERS('valgrind/memcheck.h valgrind/helgrind.h')
+ conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
+ conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
+ conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
+@@ -380,20 +429,18 @@ def configure(conf):
+
+ strlcpy_in_bsd = False
+
+- # libbsd on some platforms provides strlcpy and strlcat
+- if not conf.CHECK_FUNCS('strlcpy strlcat'):
+- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
+- checklibc=True):
+- strlcpy_in_bsd = True
+- if not conf.CHECK_FUNCS('getpeereid'):
+- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
+- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
+- if not conf.CHECK_FUNCS('setproctitle_init'):
+- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
+-
+- if not conf.CHECK_FUNCS('closefrom'):
+- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
++ if Options.options.enable_libbsd:
++ # libbsd on some platforms provides strlcpy and strlcat
++ if not conf.CHECK_FUNCS('strlcpy strlcat'):
++ conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
++ checklibc=True)
++ if not conf.CHECK_FUNCS('getpeereid'):
++ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
++ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
++ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
++
++ if not conf.CHECK_FUNCS('closefrom'):
++ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
+
+ conf.CHECK_CODE('''
+ struct ucred cred;
+diff --git a/wscript b/wscript
+index ded182a..824a6dd 100644
+--- a/wscript
++++ b/wscript
+@@ -25,6 +25,12 @@ def options(opt):
+ opt.RECURSE('lib/replace')
+ opt.RECURSE('lib/talloc')
+
++ opt.add_option('--with-valgrind',
++ help=("enable use of valgrind"),
++ action="store_true", dest='enable_valgrind')
++ opt.add_option('--without-valgrind',
++ help=("disable use of valgrind"),
++ action="store_false", dest='enable_valgrind', default=False)
+
+ def configure(conf):
+ conf.RECURSE('lib/replace')
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch
deleted file mode 100644
index 363c5867c..000000000
--- a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent/options-0.9.36.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From c3e2e4f89cf37b27609fd02ad67eb02d0015cc1e Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 21 Sep 2016 09:57:49 +0800
-Subject: [PATCH 1/1] tevent: Add configure options for packages
-
-Add configure options for the following packages:
- - acl
- - attr
- - libaio
- - libbsd
- - libcap
- - valgrind
-
-Upstream-Status: Inappropriate [oe deterministic build specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-Modified to apply to version 0.9.33.
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
----
- lib/replace/wscript | 89 ++++++++++++++++++++++++++++++++++++++++-------------
- wscript | 7 ++++-
- 2 files changed, 73 insertions(+), 23 deletions(-)
-
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 2c638b7..079761d 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
- opt.PRIVATE_EXTENSION_DEFAULT('')
- opt.RECURSE('buildtools/wafsamba')
-
-+ opt.add_option('--with-acl',
-+ help=("Enable use of acl"),
-+ action="store_true", dest='enable_acl')
-+ opt.add_option('--without-acl',
-+ help=("Disable use of acl"),
-+ action="store_false", dest='enable_acl', default=False)
-+
-+ opt.add_option('--with-attr',
-+ help=("Enable use of attr"),
-+ action="store_true", dest='enable_attr')
-+ opt.add_option('--without-attr',
-+ help=("Disable use of attr"),
-+ action="store_false", dest='enable_attr', default=False)
-+
-+ opt.add_option('--with-libaio',
-+ help=("Enable use of libaio"),
-+ action="store_true", dest='enable_libaio')
-+ opt.add_option('--without-libaio',
-+ help=("Disable use of libaio"),
-+ action="store_false", dest='enable_libaio', default=False)
-+
-+ opt.add_option('--with-libbsd',
-+ help=("Enable use of libbsd"),
-+ action="store_true", dest='enable_libbsd')
-+ opt.add_option('--without-libbsd',
-+ help=("Disable use of libbsd"),
-+ action="store_false", dest='enable_libbsd', default=False)
-+
-+ opt.add_option('--with-libcap',
-+ help=("Enable use of libcap"),
-+ action="store_true", dest='enable_libcap')
-+ opt.add_option('--without-libcap',
-+ help=("Disable use of libcap"),
-+ action="store_false", dest='enable_libcap', default=False)
-+
- @Utils.run_once
- def configure(conf):
- conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
- conf.DEFINE('HAVE_LIBREPLACE', 1)
- conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
-
-- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
-- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
-+ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
-+ conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
- conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
-- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
-- conf.CHECK_HEADERS('shadow.h sys/acl.h')
-- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-+ conf.CHECK_HEADERS('shadow.h')
-+ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
-+
-+ if Options.options.enable_acl:
-+ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
-+
-+ if Options.options.enable_attr:
-+ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
-+
-+ if Options.options.enable_libaio:
-+ conf.CHECK_HEADERS('libaio.h')
-+
-+ if Options.options.enable_libcap:
-+ conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_HEADERS('port.h')
- conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
- conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -101,7 +149,8 @@ def configure(conf):
- conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
- conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
-
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+ if Options.options.enable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
- conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
- conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -294,22 +343,18 @@ def configure(conf):
-
- conf.CHECK_FUNCS('prctl dirname basename')
-
-- strlcpy_in_bsd = False
--
-- # libbsd on some platforms provides strlcpy and strlcat
-- if not conf.CHECK_FUNCS('strlcpy strlcat'):
-- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-- checklibc=True):
-- strlcpy_in_bsd = True
-- if not conf.CHECK_FUNCS('getpeereid'):
-- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS('setproctitle_init'):
-- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if Options.options.enable_libbsd:
-+ # libbsd on some platforms provides strlcpy and strlcat
-+ if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+ conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+ checklibc=True)
-+ if not conf.CHECK_FUNCS('getpeereid'):
-+ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-+ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-
-- if not conf.CHECK_FUNCS('closefrom'):
-- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+ if not conf.CHECK_FUNCS('closefrom'):
-+ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-
- conf.CHECK_CODE('''
- struct ucred cred;
-@@ -660,7 +705,7 @@ removeea setea
- # look for a method of finding the list of network interfaces
- for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
- bsd_for_strlcpy = ''
-- if strlcpy_in_bsd:
-+ if Options.options.enable_libbsd:
- bsd_for_strlcpy = ' bsd'
- if conf.CHECK_CODE('''
- #define %s 1
-diff --git a/wscript b/wscript
-index 94d190f..742f779 100644
---- a/wscript
-+++ b/wscript
-@@ -22,7 +22,12 @@ def set_options(opt):
- opt.PRIVATE_EXTENSION_DEFAULT('tevent', noextension='tevent')
- opt.RECURSE('lib/replace')
- opt.RECURSE('lib/talloc')
--
-+ opt.add_option('--with-valgrind',
-+ help=("enable use of valgrind"),
-+ action="store_true", dest='enable_valgrind')
-+ opt.add_option('--without-valgrind',
-+ help=("disable use of valgrind"),
-+ action="store_false", dest='enable_valgrind', default=False)
-
- def configure(conf):
- conf.RECURSE('lib/replace')
---
-2.16.2
-
diff --git a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.1.bb b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.1.bb
new file mode 100644
index 000000000..f1b170daf
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.10.1.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
+HOMEPAGE = "http://tevent.samba.org"
+SECTION = "libs"
+LICENSE = "LGPLv3+"
+
+DEPENDS += "libtalloc libtirpc"
+RDEPENDS_python3-tevent = "python3"
+
+SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
+ file://options-0.10.0.patch \
+ file://0001-libtevent-fix-musl-libc-compile-error.patch \
+ file://0001-waf-add-support-of-cross_compile.patch \
+"
+LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b85a"
+
+SRC_URI[md5sum] = "1060eb69d6994a847eecb73c4d391ced"
+SRC_URI[sha256sum] = "79a4da68b38b86ac71d8ac824ee3605ab22a6a91cfa83033a7db73f3dd6910b6"
+
+inherit waf-samba
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
+"
+PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
+PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
+PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
+
+S = "${WORKDIR}/tevent-${PV}"
+
+#cross_compile cannot use preforked process, since fork process earlier than point subproces.popen
+#to cross Popen
+export WAF_NO_PREFORK="yes"
+
+EXTRA_OECONF += "--disable-rpath \
+ --bundled-libraries=NONE \
+ --builtin-libraries=replace \
+ --with-libiconv=${STAGING_DIR_HOST}${prefix}\
+ --without-gettext \
+ "
+do_install_append() {
+ # add this link for cross check python module existence. eg: on x86-64 host, check python module
+ # under recipe-sysroot which is mips64.
+ cd ${D}${PYTHON_SITEPACKAGES_DIR}; ln -s _tevent.*.so _tevent.so
+}
+
+PACKAGES += "python3-tevent"
+
+RPROVIDES_${PN}-dbg += "python3-tevent-dbg"
+
+FILES_python3-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
+
+INSANE_SKIP_${MLPREFIX}python3-tevent = "dev-so"
diff --git a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb b/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb
deleted file mode 100644
index 4df251c7f..000000000
--- a/meta-openembedded/meta-networking/recipes-support/libtevent/libtevent_0.9.37.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://tevent.samba.org"
-SECTION = "libs"
-LICENSE = "LGPLv3+"
-
-DEPENDS += "libtalloc libtirpc"
-RDEPENDS_python-tevent = "python"
-
-SRC_URI = "https://samba.org/ftp/tevent/tevent-${PV}.tar.gz \
- file://options-0.9.36.patch \
- file://0001-libtevent-fix-musl-libc-compile-error.patch \
-"
-LIC_FILES_CHKSUM = "file://tevent.h;endline=26;md5=4e458d658cb25e21efc16f720e78b85a"
-
-SRC_URI[md5sum] = "6859cd4081fdb2a76b1cb4bf1c803a59"
-SRC_URI[sha256sum] = "168345ed65eac03785cf77b95238e7dc66cbb473a42811693a6b0916e5dae7e0"
-
-inherit waf-samba
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'attr', '', 'file://avoid-attr-unless-wanted.patch', d)}"
-
-S = "${WORKDIR}/tevent-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
- --bundled-libraries=NONE \
- --builtin-libraries=replace \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- --without-gettext \
- "
-
-PACKAGES += "python-tevent"
-
-RPROVIDES_${PN}-dbg += "python-tevent-dbg"
-
-FILES_python-tevent = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
diff --git a/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch
new file mode 100644
index 000000000..a54869db8
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm/0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch
@@ -0,0 +1,59 @@
+From 4456e13880803a300e4b6f263ad22a37481b5df5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 09:33:43 -0700
+Subject: [PATCH] saaldump,atmdump: Include linux/sockios.h for SIOCGSTAMP
+
+In linux kernel commit 0768e17073dc527ccd18ed5f96ce85f9985e9115
+the asm-generic/sockios.h header no longer defines SIOCGSTAMP.
+Instead it provides only SIOCGSTAMP_OLD.
+
+The linux/sockios.h header now defines SIOCGSTAMP using either
+SIOCGSTAMP_OLD or SIOCGSTAMP_NEW as appropriate. This linux only
+header file is not pulled so we get a build failure.
+
+Fixes
+../../../linux-atm-2.5.2/src/maint/atmdump.c:142:18: error: use of undeclared identifier 'SIOCGSTAMP'
+ if (ioctl(s,SIOCGSTAMP,&stamp) < 0) {
+ ^
+1 error generated.
+make[3]: *** [Makefile:623: atmdump.o] Error 1
+make[3]: *** Waiting for unfinished jobs....
+../../../linux-atm-2.5.2/src/maint/saaldump.c:169:14: error: use of undeclared identifier 'SIOCGSTAMP'
+ if (ioctl(s,SIOCGSTAMP,&stamp) < 0) {
+ ^
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/maint/atmdump.c | 2 +-
+ src/maint/saaldump.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/maint/atmdump.c b/src/maint/atmdump.c
+index 8b17826..9e4853b 100644
+--- a/src/maint/atmdump.c
++++ b/src/maint/atmdump.c
+@@ -5,7 +5,7 @@
+ #if HAVE_CONFIG_H
+ #include <config.h>
+ #endif
+-
++#include <linux/sockios.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <unistd.h>
+diff --git a/src/maint/saaldump.c b/src/maint/saaldump.c
+index 83bdde9..69429a8 100644
+--- a/src/maint/saaldump.c
++++ b/src/maint/saaldump.c
+@@ -5,7 +5,7 @@
+ #if HAVE_CONFIG_H
+ #include <config.h>
+ #endif
+-
++#include <linux/sockios.h>
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <stdio.h>
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
index 9ed7ca613..e594906c3 100644
--- a/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/linux-atm/linux-atm_2.5.2.bb
@@ -12,6 +12,7 @@ SRC_URI = "http://nchc.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BPN}-${P
file://0001-ttcp-Add-printf-format-string.patch \
file://0003-mpoad-Drop-old-hack-to-compile-with-very-old-glibc.patch \
file://0001-IFNAMSIZ-is-defined-in-net-if.h.patch \
+ file://0001-saaldump-atmdump-Include-linux-sockios.h-for-SIOCGST.patch \
"
SRC_URI_append_libc-musl = " file://musl-no-on_exit.patch"
diff --git a/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb b/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb
index a4a9c91c6..c57e7d471 100644
--- a/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb
+++ b/meta-openembedded/meta-networking/recipes-support/netcf/netcf_0.2.8.bb
@@ -14,7 +14,9 @@ SRC_URI = "git://pagure.io/netcf.git;protocol=https \
UPSTREAM_CHECK_GITTAGREGEX = "release-(?P<pver>(\d+(\.\d+)+))"
-DEPENDS += "augeas libnl libxslt libxml2 gnulib"
+DEPENDS += "augeas libnl libxslt libxml2"
+
+do_configure[depends] += "${MLPREFIX}gnulib:do_populate_sysroot"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.38.0.bb b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.38.0.bb
deleted file mode 100644
index 42b437933..000000000
--- a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.38.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "HTTP/2 C Library and tools"
-HOMEPAGE = "https://nghttp2.org/"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec"
-
-SRC_URI = "https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz"
-SRC_URI[md5sum] = "45b47086ee6da8171e11887c1665f275"
-SRC_URI[sha256sum] = "ef75c761858241c6b4372fa6397aa0481a984b84b7b07c4ec7dc2d7b9eee87f8"
-
-DEPENDS = "libxml2 openssl zlib jansson cunit c-ares"
-
-inherit cmake pythonnative python-dir
diff --git a/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.39.1.bb b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.39.1.bb
new file mode 100644
index 000000000..6077daf76
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/nghttp2/nghttp2_1.39.1.bb
@@ -0,0 +1,15 @@
+SUMMARY = "HTTP/2 C Library and tools"
+HOMEPAGE = "https://nghttp2.org/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=764abdf30b2eadd37ce47dcbce0ea1ec"
+
++UPSTREAM_CHECK_URI = "https://github.com/nghttp2/nghttp2/releases"
+
+SRC_URI = "https://github.com/nghttp2/nghttp2/releases/download/v${PV}/nghttp2-${PV}.tar.xz"
+SRC_URI[md5sum] = "02b015cb178c46f27dd87228e33db35f"
+SRC_URI[sha256sum] = "679160766401f474731fd60c3aca095f88451e3cc4709b72306e4c34cf981448"
+
+DEPENDS = "libxml2 openssl zlib jansson cunit c-ares"
+
+inherit cmake pythonnative python-dir
diff --git a/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch b/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch
new file mode 100644
index 000000000..9484d0b00
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt/0001-Add-configure-time-check-for-gettid-API.patch
@@ -0,0 +1,45 @@
+From 25d5daf30aa2dc451ba528712f668036d8506054 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 07:50:26 -0700
+Subject: [PATCH] Add configure time check for gettid API
+
+glibc 2.30 has added this syscalls wrapper
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 +
+ src/log_msg.c | 2 ++
+ 2 files changed, 3 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 9e32a4a..6d1067b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,6 +33,7 @@ if test -n "$TIRPC_LIBS"; then
+ AC_DEFINE(HAVE_TIRPC, 1, [Define to 1 if TIRPC is available])
+ fi
+
++AC_CHECK_FUNCS(gettid)
+ dnl The difficult part: could we reconfigure NSS or must we use DNS ?
+ AC_CHECK_FUNCS(__nss_configure_lookup)
+ if eval "test \"`echo '$ac_cv_func___nss_configure_lookup'`\" != yes"; then
+diff --git a/src/log_msg.c b/src/log_msg.c
+index 49f0905..37da311 100644
+--- a/src/log_msg.c
++++ b/src/log_msg.c
+@@ -26,6 +26,7 @@
+ #include "log_msg.h"
+
+ #include <sys/syscall.h>
++#if !HAVE_GETTID
+ #ifdef __NR_gettid
+ static pid_t
+ gettid (void)
+@@ -39,6 +40,7 @@ gettid (void)
+ return getpid ();
+ }
+ #endif
++#endif
+
+ int debug_flag = 0;
+ int logfile_flag = 0;
diff --git a/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb b/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb
index 1a64e6c2e..4f7f8aa3e 100644
--- a/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb
+++ b/meta-openembedded/meta-networking/recipes-support/nis/ypbind-mt_2.6.bb
@@ -32,6 +32,7 @@ SRC_URI = "https://github.com/thkukuk/ypbind-mt/releases/download/v${PV}/${BPN}-
file://ypbind.init \
file://ypbind.service \
file://0001-dns_hosts-Fix-build-with-musl.patch \
+ file://0001-Add-configure-time-check-for-gettid-API.patch \
"
SRC_URI[md5sum] = "7cf89641fdc128d0919207e4b7caaf1d"
SRC_URI[sha256sum] = "0696c0263c4fd48a4ff2ce6c109f05f37aab0f71646d81cb22c7c28591bf80eb"
diff --git a/meta-openembedded/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch b/meta-openembedded/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch
new file mode 100644
index 000000000..e627e59a5
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/ntop/ntop/fix-missing-return-from-non-void-function.patch
@@ -0,0 +1,19 @@
+Fix following error:
+
+netflowPlugin.c: In function 'netflowUtilsLoop':
+netflowPlugin.c:2144:1: error: no return statement in function returning non-void [-Werror=return-type]
+ 2144 | }
+ | ^
+
+Return NULL like netflowMainLoop does.
+
+--- ntop-5.0.1.orig/plugins/netflowPlugin.c 2012-03-09 17:44:17.000000000 +0000
++++ ntop-5.0.1/plugins/netflowPlugin.c 2019-08-09 10:25:40.878799852 +0000
+@@ -2141,6 +2141,7 @@
+ waitCondvar(&myGlobals.device[deviceId].netflowGlobals->ifStatsQueueCondvar);
+ }
+ }
++ return(NULL);
+ }
+ #endif
+
diff --git a/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb b/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
index 2a7a7f2cb..80f009b7c 100644
--- a/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ntop/ntop_5.0.1.bb
@@ -18,6 +18,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/ntop/ntop-${PV}.tar.gz \
file://use-static-inline.patch \
file://0001-nDPI-Include-sys-types.h.patch \
file://0001-plugins-Makefile.am-fix-for-automake-1.16.1.patch \
+ file://fix-missing-return-from-non-void-function.patch \
"
SRC_URI[md5sum] = "01710b6925a8a5ffe1a41b8b512ebd69"
SRC_URI[sha256sum] = "7e8e84cb14d2173beaca4d4cb991a14d84a4bef84ec37b2276bc363f45c52ef8"
diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb
index dc18a602a..9b327ba2f 100644
--- a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p13.bb
@@ -136,9 +136,9 @@ RCONFLICTS_ntpdate += "ntpdate-systemd"
RSUGGESTS_${PN} = "iana-etc"
-FILES_${PN} = "${sbindir}/ntpd.ntp ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd ${libdir} \
+FILES_${PN} = "${sbindir}/ntpd.ntp ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd \
${NTP_USER_HOME} \
- ${systemd_unitdir}/ntp-units.d/60-ntpd.list ${libexecdir}\
+ ${systemd_unitdir}/ntp-units.d/60-ntpd.list \
"
FILES_${PN}-tickadj = "${sbindir}/tickadj"
FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib"
diff --git a/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp.socket b/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp.socket
new file mode 100644
index 000000000..a8ae74fb8
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Network Performance Testing Server Activation Socket
+
+[Socket]
+ListenStream=5000
+Accept=true
+
+[Install]
+WantedBy=sockets.target
diff --git a/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp@.service b/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp@.service
new file mode 100644
index 000000000..b778e8552
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp/nuttcp@.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Network Performance Testing Server
+After=local-fs.target
+
+[Service]
+User=nobody
+ExecStart=/usr/bin/nuttcp -S
+StandardInput=socket
diff --git a/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb b/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb
index 2fd563123..193caf3cf 100644
--- a/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/nuttcp/nuttcp_8.2.2.bb
@@ -12,7 +12,9 @@ LIC_FILES_CHKSUM = "file://${BP}.c;beginline=4;endline=30;md5=496a7c0bb83c07ff52
UPSTREAM_CHECK_URI = "https://www.nuttcp.net/nuttcp/beta/"
-SRC_URI = "http://nuttcp.net/${BPN}/beta/${BP}.c"
+SRC_URI = "http://nuttcp.net/${BPN}/beta/${BP}.c \
+ file://nuttcp@.service \
+ file://nuttcp.socket"
SRC_URI[md5sum] = "d3c92c4d2f261221193c3726c1b9a42f"
SRC_URI[sha256sum] = "8c5595bcd27c2fd66831be74c390df078cfb1870aa427f2511ac2586d236c8a1"
@@ -24,5 +26,13 @@ do_compile () {
do_install () {
install -d ${D}${bindir}
+ install -d ${D}${systemd_system_unitdir}
install -m 0755 nuttcp ${D}${bindir}
+ install -m 0644 ${WORKDIR}/nuttcp@.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/nuttcp.socket ${D}${systemd_system_unitdir}
}
+
+FILES_${PN} += " \
+ ${bindir} \
+ ${systemd_system_unitdir} \
+"
diff --git a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb
index 51cc25689..f09278039 100644
--- a/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb
+++ b/meta-openembedded/meta-networking/recipes-support/openipmi/openipmi_2.0.27.bb
@@ -51,6 +51,7 @@ PACKAGECONFIG ??= "gdbm"
PACKAGECONFIG[gdbm] = "ac_cv_header_gdbm_h=yes,ac_cv_header_gdbm_h=no,gdbm,"
PACKAGES += "${PN}-perl ${PN}-python"
+PRIVATE_LIBS_${PN}-perl = "libOpenIPMI.so.0"
FILES_${PN}-perl = " \
${libdir}/perl/vendor_perl/*/OpenIPMI.pm \
diff --git a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn
index a3cd6a2f4..e5af4b230 100755
--- a/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn
+++ b/meta-openembedded/meta-networking/recipes-support/openvpn/openvpn/openvpn
@@ -4,6 +4,7 @@
# <rob@mars.org>, edited by iwj and cs
# Modified for openvpn by Alberto Gonzalez Iniesta <agi@agi.as>
# Modified for restarting / starting / stopping single tunnels by Richard Mueller <mueller@teamix.net>
+# Modified for respecting pid file on service start by Fabian Klemp <fabian.klemp@axino-group.com>
test $DEBIAN_SCRIPT_DEBUG && set -v -x
@@ -14,10 +15,17 @@ test -d $CONFIG_DIR || exit 0
start_vpn () {
modprobe tun >/dev/null 2>&1 || true
- $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \
- --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->"
+ start-stop-daemon --start --quiet --pidfile /var/run/openvpn.$NAME.pid \
+ --exec $DAEMON -- \
+ --daemon --writepid /var/run/openvpn.$NAME.pid \
+ --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || rc="$?"
+ case $rc in
+ 1) echo -n " ALREADY STARTED->";;
+ 3) echo -n " FAILED->";;
+ esac
echo -n " $NAME"
}
+
stop_vpn () {
kill `cat $PIDFILE` || true
rm $PIDFILE
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 552f81df0..06a79c500 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
@@ -37,7 +37,7 @@ 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"
+CFLAGS_append = " -Wno-error"
PACKAGECONFIG_class-native = ""
PACKAGECONFIG_class-nativesdk = ""
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch b/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
index 00178c84a..2d17507b1 100644
--- a/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
+++ b/meta-openembedded/meta-networking/recipes-support/strongswan/files/0001-memory.h-Include-stdint.h-for-uintptr_t.patch
@@ -9,13 +9,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
src/libstrongswan/utils/utils/memory.h | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/src/libstrongswan/utils/utils/memory.h b/src/libstrongswan/utils/utils/memory.h
-index e840330..8a356a8 100644
--- a/src/libstrongswan/utils/utils/memory.h
+++ b/src/libstrongswan/utils/utils/memory.h
-@@ -22,6 +22,8 @@
- #ifndef MEMORY_H_
- #define MEMORY_H_
+@@ -26,6 +26,8 @@
+ #include <string.h>
+ #endif
+#include <stdint.h>
+
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb
deleted file mode 100644
index 5a4e2d36f..000000000
--- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.7.1.bb
+++ /dev/null
@@ -1,134 +0,0 @@
-DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \
-Linux operating system."
-SUMMARY = "strongSwan is an OpenSource IPsec implementation"
-HOMEPAGE = "http://www.strongswan.org"
-SECTION = "net"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gmp openssl flex-native flex bison-native"
-
-SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
- file://fix-funtion-parameter.patch \
- file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \
- "
-
-SRC_URI[md5sum] = "86b7e9321cde075cf382268fd282e0b0"
-SRC_URI[sha256sum] = "006f9c9126e2a2f4e7a874b5e1bd2abec1bbbb193c8b3b3a4c6ccd8c2d454bec"
-
-UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar"
-
-EXTRA_OECONF = " \
- --without-lib-prefix \
-"
-
-EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
-
-
-PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \
-"
-PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni"
-PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl"
-PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl"
-PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient,"
-PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup"
-PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite"
-PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke"
-PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc"
-
-# requires swanctl
-PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd,"
-
-inherit autotools systemd pkgconfig
-
-RRECOMMENDS_${PN} = "kernel-module-ipsec"
-
-FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}"
-FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
-FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la"
-FILES_${PN}-staticdev += "${libdir}/ipsec/*.a"
-
-CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf"
-
-PACKAGES += "${PN}-plugins"
-ALLOW_EMPTY_${PN}-plugins = "1"
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*$"
-NOAUTOPACKAGEDEBUG = "1"
-
-python split_strongswan_plugins () {
- sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon')
- libdir = d.expand('${libdir}/ipsec/plugins')
- dbglibdir = os.path.join(libdir, '.debug')
-
- def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename):
- dvar = d.getVar('PKGD')
- oldfiles = d.getVar('CONFFILES_' + pkg)
- newfile = '/' + os.path.relpath(f, dvar)
-
- if not oldfiles:
- d.setVar('CONFFILES_' + pkg, newfile)
- else:
- d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile)
-
- split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True)
- do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf)
-
- split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg')
- split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev')
- split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev')
-
- if split_packages:
- pn = d.getVar('PN')
- d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages))
- d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages))
- d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages))
- d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages))
-}
-
-PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins "
-
-# Install some default plugins based on default strongSwan ./configure options
-# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
-RDEPENDS_${PN} += "\
- ${PN}-plugin-aes \
- ${PN}-plugin-attr \
- ${PN}-plugin-cmac \
- ${PN}-plugin-constraints \
- ${PN}-plugin-des \
- ${PN}-plugin-dnskey \
- ${PN}-plugin-hmac \
- ${PN}-plugin-kernel-netlink \
- ${PN}-plugin-md5 \
- ${PN}-plugin-nonce \
- ${PN}-plugin-pem \
- ${PN}-plugin-pgp \
- ${PN}-plugin-pkcs1 \
- ${PN}-plugin-pkcs7 \
- ${PN}-plugin-pkcs8 \
- ${PN}-plugin-pkcs12 \
- ${PN}-plugin-pubkey \
- ${PN}-plugin-random \
- ${PN}-plugin-rc2 \
- ${PN}-plugin-resolve \
- ${PN}-plugin-revocation \
- ${PN}-plugin-sha1 \
- ${PN}-plugin-sha2 \
- ${PN}-plugin-socket-default \
- ${PN}-plugin-sshkey \
- ${PN}-plugin-updown \
- ${PN}-plugin-vici \
- ${PN}-plugin-x509 \
- ${PN}-plugin-xauth-generic \
- ${PN}-plugin-xcbc \
- ${PN}-plugin-curve25519 \
- "
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}-swanctl.service', '${BPN}.service', d)}"
diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb
new file mode 100644
index 000000000..5408eed27
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb
@@ -0,0 +1,134 @@
+DESCRIPTION = "strongSwan is an OpenSource IPsec implementation for the \
+Linux operating system."
+SUMMARY = "strongSwan is an OpenSource IPsec implementation"
+HOMEPAGE = "http://www.strongswan.org"
+SECTION = "net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "gmp openssl flex-native flex bison-native"
+
+SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \
+ file://fix-funtion-parameter.patch \
+ file://0001-memory.h-Include-stdint.h-for-uintptr_t.patch \
+ "
+
+SRC_URI[md5sum] = "5a6b9980cd1ac4fad3c24b55ed960ac9"
+SRC_URI[sha256sum] = "d9af70acea5c054952ad1584916c1bf231b064eb6c8a9791dcb6ae90a769990c"
+
+UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar"
+
+EXTRA_OECONF = " \
+ --without-lib-prefix \
+ --with-dev-headers=${includedir}/strongswan \
+"
+
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}"
+
+PACKAGECONFIG ??= "charon curl gmp openssl stroke sqlite3 \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ldap', d)} \
+"
+PACKAGECONFIG[aesni] = "--enable-aesni,--disable-aesni,,${PN}-plugin-aesni"
+PACKAGECONFIG[charon] = "--enable-charon,--disable-charon,"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,${PN}-plugin-curl"
+PACKAGECONFIG[gmp] = "--enable-gmp,--disable-gmp,gmp,${PN}-plugin-gmp"
+PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap,${PN}-plugin-ldap"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,${PN}-plugin-mysql"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,${PN}-plugin-openssl"
+PACKAGECONFIG[scep] = "--enable-scepclient,--disable-scepclient,"
+PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4,${PN}-plugin-soup"
+PACKAGECONFIG[sqlite3] = "--enable-sqlite,--disable-sqlite,sqlite3,${PN}-plugin-sqlite"
+PACKAGECONFIG[stroke] = "--enable-stroke,--disable-stroke,,${PN}-plugin-stroke"
+PACKAGECONFIG[swanctl] = "--enable-swanctl,--disable-swanctl,,libgcc"
+
+# requires swanctl
+PACKAGECONFIG[systemd-charon] = "--enable-systemd,--disable-systemd,systemd,"
+
+inherit autotools systemd pkgconfig
+
+RRECOMMENDS_${PN} = "kernel-module-ipsec"
+
+FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}"
+FILES_${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
+FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h"
+FILES_${PN}-staticdev += "${libdir}/ipsec/*.a"
+
+CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf"
+
+PACKAGES += "${PN}-plugins"
+ALLOW_EMPTY_${PN}-plugins = "1"
+
+PACKAGES_DYNAMIC += "^${PN}-plugin-.*$"
+NOAUTOPACKAGEDEBUG = "1"
+
+python split_strongswan_plugins () {
+ sysconfdir = d.expand('${sysconfdir}/strongswan.d/charon')
+ libdir = d.expand('${libdir}/ipsec/plugins')
+ dbglibdir = os.path.join(libdir, '.debug')
+
+ def add_plugin_conf(f, pkg, file_regex, output_pattern, modulename):
+ dvar = d.getVar('PKGD')
+ oldfiles = d.getVar('CONFFILES_' + pkg)
+ newfile = '/' + os.path.relpath(f, dvar)
+
+ if not oldfiles:
+ d.setVar('CONFFILES_' + pkg, newfile)
+ else:
+ d.setVar('CONFFILES_' + pkg, oldfiles + " " + newfile)
+
+ split_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True)
+ do_split_packages(d, sysconfdir, '(.*)\.conf', '${PN}-plugin-%s', 'strongSwan %s plugin', prepend=True, hook=add_plugin_conf)
+
+ split_dbg_packages = do_split_packages(d, dbglibdir, 'libstrongswan-(.*)\.so', '${PN}-plugin-%s-dbg', 'strongSwan %s plugin - Debugging files', prepend=True, extra_depends='${PN}-dbg')
+ split_dev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.la', '${PN}-plugin-%s-dev', 'strongSwan %s plugin - Development files', prepend=True, extra_depends='${PN}-dev')
+ split_staticdev_packages = do_split_packages(d, libdir, 'libstrongswan-(.*)\.a', '${PN}-plugin-%s-staticdev', 'strongSwan %s plugin - Development files (Static Libraries)', prepend=True, extra_depends='${PN}-staticdev')
+
+ if split_packages:
+ pn = d.getVar('PN')
+ d.setVar('RRECOMMENDS_' + pn + '-plugins', ' '.join(split_packages))
+ d.appendVar('RRECOMMENDS_' + pn + '-dbg', ' ' + ' '.join(split_dbg_packages))
+ d.appendVar('RRECOMMENDS_' + pn + '-dev', ' ' + ' '.join(split_dev_packages))
+ d.appendVar('RRECOMMENDS_' + pn + '-staticdev', ' ' + ' '.join(split_staticdev_packages))
+}
+
+PACKAGESPLITFUNCS_prepend = "split_strongswan_plugins "
+
+# Install some default plugins based on default strongSwan ./configure options
+# See https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist
+RDEPENDS_${PN} += "\
+ ${PN}-plugin-aes \
+ ${PN}-plugin-attr \
+ ${PN}-plugin-cmac \
+ ${PN}-plugin-constraints \
+ ${PN}-plugin-des \
+ ${PN}-plugin-dnskey \
+ ${PN}-plugin-hmac \
+ ${PN}-plugin-kernel-netlink \
+ ${PN}-plugin-md5 \
+ ${PN}-plugin-nonce \
+ ${PN}-plugin-pem \
+ ${PN}-plugin-pgp \
+ ${PN}-plugin-pkcs1 \
+ ${PN}-plugin-pkcs7 \
+ ${PN}-plugin-pkcs8 \
+ ${PN}-plugin-pkcs12 \
+ ${PN}-plugin-pubkey \
+ ${PN}-plugin-random \
+ ${PN}-plugin-rc2 \
+ ${PN}-plugin-resolve \
+ ${PN}-plugin-revocation \
+ ${PN}-plugin-sha1 \
+ ${PN}-plugin-sha2 \
+ ${PN}-plugin-socket-default \
+ ${PN}-plugin-sshkey \
+ ${PN}-plugin-updown \
+ ${PN}-plugin-vici \
+ ${PN}-plugin-x509 \
+ ${PN}-plugin-xauth-generic \
+ ${PN}-plugin-xcbc \
+ ${PN}-plugin-curve25519 \
+ "
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'swanctl', '${BPN}.service', '', d)} ${BPN}-starter.service"
diff --git a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.51.bb b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.51.bb
deleted file mode 100644
index 61be9be61..000000000
--- a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.51.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Program for providing universal TLS/SSL tunneling service"
-DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server."
-HOMEPAGE = "https://www.stunnel.org/"
-SECTION = "net"
-# Note: Linking stunnel statically or dynamically with other modules is making
-# a combined work based on stunnel. Thus, the terms and conditions of the GNU
-# General Public License cover the whole combination.
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c7acb24399f540ea323acb0366aecdbe"
-
-DEPENDS = "autoconf-archive libnsl2 openssl"
-
-SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \
- file://fix-openssl-no-des.patch \
-"
-
-SRC_URI[md5sum] = "57040c64f4b95e35a756e53e1c496728"
-SRC_URI[sha256sum] = "77437cdd1aef1a621824bb3607e966534642fe90c69f4d2279a9da9fa36c3253"
-
-inherit autotools
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} libwrap"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
-
-EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips"
-
-# When cross compiling, configure defaults to nobody, but provides no option to change it.
-EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'"
-
-# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline
-# syntax with stunnel >= 4.05
-PACKAGES =+ "stunnel3"
-FILES_stunnel3 = "${bindir}/stunnel3"
-RDEPENDS_stunnel3 += "${PN} perl"
diff --git a/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.55.bb b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.55.bb
new file mode 100644
index 000000000..df455dbe3
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/stunnel/stunnel_5.55.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Program for providing universal TLS/SSL tunneling service"
+DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-startable) or remote server."
+HOMEPAGE = "https://www.stunnel.org/"
+SECTION = "net"
+# Note: Linking stunnel statically or dynamically with other modules is making
+# a combined work based on stunnel. Thus, the terms and conditions of the GNU
+# General Public License cover the whole combination.
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c7acb24399f540ea323acb0366aecdbe"
+
+DEPENDS = "autoconf-archive libnsl2 openssl"
+
+SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \
+ file://fix-openssl-no-des.patch \
+"
+
+SRC_URI[md5sum] = "7b41592034ede114e8c4e058fc8c238b"
+SRC_URI[sha256sum] = "90de69f41c58342549e74c82503555a6426961b29af3ed92f878192727074c62"
+
+inherit autotools
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} libwrap"
+
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[libwrap] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+
+EXTRA_OECONF += "--with-ssl='${STAGING_EXECPREFIXDIR}' --disable-fips"
+
+# When cross compiling, configure defaults to nobody, but provides no option to change it.
+EXTRA_OEMAKE += "DEFAULT_GROUP='nogroup'"
+
+# stunnel3 is a Perl wrapper to allow use of the legacy stunnel 3.x commandline
+# syntax with stunnel >= 4.05
+PACKAGES =+ "stunnel3"
+FILES_stunnel3 = "${bindir}/stunnel3"
+RDEPENDS_stunnel3 += "${PN} perl"
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch
new file mode 100644
index 000000000..919f2b009
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/0001-CVE-2017-16808-AoE-Add-a-missing-bounds-check.patch
@@ -0,0 +1,61 @@
+From c45443a0d3e16b92622bea6b589e5930e8f0d815 Mon Sep 17 00:00:00 2001
+From: Peiran Hong <peiran.hong@windriver.com>
+Date: Fri, 13 Sep 2019 17:02:57 -0400
+Subject: [PATCH] CVE-2017-16808/AoE: Add a missing bounds check.
+
+---
+ netdissect.h | 12 ++++++++++++
+ print-aoe.c | 1 +
+ 2 files changed, 13 insertions(+)
+
+diff --git a/netdissect.h b/netdissect.h
+index 089b0406..cd05fdb9 100644
+--- a/netdissect.h
++++ b/netdissect.h
+@@ -69,6 +69,11 @@ typedef struct {
+ typedef unsigned char nd_uint8_t;
+ typedef signed char nd_int8_t;
+
++/*
++ * Use this for MAC addresses.
++ */
++#define MAC_ADDR_LEN 6 /* length of MAC addresses */
++
+ /* snprintf et al */
+
+ #include <stdarg.h>
+@@ -309,12 +314,19 @@ struct netdissect_options {
+ ((uintptr_t)ndo->ndo_snapend - (l) <= (uintptr_t)ndo->ndo_snapend && \
+ (uintptr_t)&(var) <= (uintptr_t)ndo->ndo_snapend - (l)))
+
++#define ND_TTEST_LEN(p, l) \
++ (IS_NOT_NEGATIVE(l) && \
++ ((uintptr_t)ndo->ndo_snapend - (l) <= (uintptr_t)ndo->ndo_snapend && \
++ (uintptr_t)(p) <= (uintptr_t)ndo->ndo_snapend - (l)))
++
+ /* True if "var" was captured */
+ #define ND_TTEST(var) ND_TTEST2(var, sizeof(var))
+
+ /* Bail if "l" bytes of "var" were not captured */
+ #define ND_TCHECK2(var, l) if (!ND_TTEST2(var, l)) goto trunc
+
++#define ND_TCHECK_LEN(p, l) if (!ND_TTEST_LEN(p, l)) goto trunc
++
+ /* Bail if "var" was not captured */
+ #define ND_TCHECK(var) ND_TCHECK2(var, sizeof(var))
+
+diff --git a/print-aoe.c b/print-aoe.c
+index 97e93df2..ac097a04 100644
+--- a/print-aoe.c
++++ b/print-aoe.c
+@@ -325,6 +325,7 @@ aoev1_reserve_print(netdissect_options *ndo,
+ goto invalid;
+ /* addresses */
+ for (i = 0; i < nmacs; i++) {
++ ND_TCHECK_LEN(cp, MAC_ADDR_LEN);
+ ND_PRINT((ndo, "\n\tEthernet Address %u: %s", i, etheraddr_string(ndo, cp)));
+ cp += ETHER_ADDR_LEN;
+ }
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch
index b71435a04..f8ff354fe 100644
--- a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch
+++ b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/add-ptest.patch
@@ -1,18 +1,19 @@
-From 8ee1ab1ac89557d48ac1ab7ddcc3c51be9b734ad Mon Sep 17 00:00:00 2001
+From 8c9c728757f89ebe6c4019114b83a63c63596f69 Mon Sep 17 00:00:00 2001
From: "Hongjun.Yang" <hongjun.yang@windriver.com>
-Date: Wed, 22 Oct 2014 10:02:48 +0800
+Date: Wed, 2 Oct 2019 16:57:06 -0400
Subject: [PATCH] Add ptest for tcpdump
Upstream-Status: Pending
Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com>
+Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
---
Makefile.in | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
-index 0941f0e..3ce40c6 100644
+index 3b589184..7b10e38c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -437,9 +437,17 @@ distclean:
@@ -23,7 +24,7 @@ index 0941f0e..3ce40c6 100644
+buildtest-TESTS: tcpdump
+
+runtest-PTEST:
- (cd tests && ./TESTrun.sh)
+ (mkdir -p tests && SRCDIR=`cd ${srcdir}; pwd` && export SRCDIR && $$SRCDIR/tests/TESTrun.sh )
+install-ptest:
+ cp -r tests $(DESTDIR)
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch
index d82c16053..977ab95b7 100644
--- a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch
+++ b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/avoid-absolute-path-when-searching-for-libdlpi.patch
@@ -1,6 +1,6 @@
-From a2bfd28034d9aa48d8ff109c1314e53bc9779752 Mon Sep 17 00:00:00 2001
+From 02085028cdaf075943c27ebc02bb6de0289ec1d3 Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
-Date: Wed, 24 Oct 2018 22:26:08 -0700
+Date: Wed, 2 Oct 2019 16:43:48 -0400
Subject: [PATCH] avoid absolute path when searching for libdlpi
Let the build environment control library search paths.
@@ -8,15 +8,16 @@ Let the build environment control library search paths.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
---
- configure.in | 2 +-
+ configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/configure.in b/configure.in
-index c882909..52aefd6 100644
---- a/configure.in
-+++ b/configure.in
-@@ -542,7 +542,7 @@ don't.])
+diff --git a/configure.ac b/configure.ac
+index 3401a7a3..6a52485a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -528,7 +528,7 @@ don't.])
fi
# libdlpi is needed for Solaris 11 and later.
@@ -26,5 +27,5 @@ index c882909..52aefd6 100644
dnl
dnl Check for "pcap_list_datalinks()", "pcap_set_datalink()",
--
-1.9.1
+2.17.1
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/run-ptest b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/run-ptest
index c03a8b8ef..2bfb2267d 100755
--- a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/run-ptest
+++ b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/run-ptest
@@ -1,5 +1,5 @@
#!/bin/sh
make -k runtest-PTEST | sed -e '/: passed/ s/^/PASS: /g' \
- -e '/: failed/ s/^/FAIL: /g' \
+ -e '/: TEST FAILED.*/ s/^/FAIL: /g' \
-e 's/: passed//g' \
- -e 's/: failed//g'
+ -e 's/: TEST FAILED.*//g'
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
index 69d68baac..8793bf7a3 100644
--- a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
+++ b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump/unnecessary-to-check-libpcap.patch
@@ -15,15 +15,16 @@ Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
---
- configure.in | 4 +++-
+ configure.ac | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
-diff --git a/configure.in b/configure.in
-index b2305a5..c882909 100644
---- a/configure.in
-+++ b/configure.in
-@@ -418,7 +418,9 @@ dnl Some platforms may need -lnsl for getrpcbynumber.
+diff --git a/configure.ac b/configure.ac
+index 56e2a624..3401a7a3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -404,7 +404,9 @@ dnl Some platforms may need -lnsl for getrpcbynumber.
AC_SEARCH_LIBS(getrpcbynumber, nsl,
AC_DEFINE(HAVE_GETRPCBYNUMBER, 1, [define if you have getrpcbynumber()]))
@@ -35,5 +36,5 @@ index b2305a5..c882909 100644
#
# Check for these after AC_LBL_LIBPCAP, so we link with the appropriate
--
-1.9.1
+2.17.1
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
deleted file mode 100644
index 038c1617f..000000000
--- a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.2.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "A sophisticated network protocol analyzer"
-HOMEPAGE = "http://www.tcpdump.org/"
-SECTION = "net"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867"
-
-DEPENDS = "libpcap"
-
-SRC_URI = " \
- http://www.tcpdump.org/release/${BP}.tar.gz \
- file://unnecessary-to-check-libpcap.patch \
- file://avoid-absolute-path-when-searching-for-libdlpi.patch \
- file://add-ptest.patch \
- file://run-ptest \
-"
-
-SRC_URI[md5sum] = "9bbc1ee33dab61302411b02dd0515576"
-SRC_URI[sha256sum] = "798b3536a29832ce0cbb07fafb1ce5097c95e308a6f592d14052e1ef1505fe79"
-
-inherit autotools-brokensep ptest
-
-PACKAGECONFIG ?= "openssl"
-
-PACKAGECONFIG[libcap-ng] = "--with-cap-ng,--without-cap-ng,libcap-ng"
-PACKAGECONFIG[openssl] = "--with-crypto,--without-openssl --without-crypto,openssl"
-PACKAGECONFIG[smi] = "--with-smi,--without-smi,libsmi"
-
-EXTRA_AUTORECONF += "-I m4"
-
-do_configure_prepend() {
- mkdir -p ${S}/m4
- if [ -f aclocal.m4 ]; then
- mv aclocal.m4 ${S}/m4
- fi
-}
-
-do_install_append() {
- # make install installs an unneeded extra copy of the tcpdump binary
- rm -f ${D}${sbindir}/tcpdump.${PV}
-}
-
-do_compile_ptest() {
- oe_runmake buildtest-TESTS
-}
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb
new file mode 100644
index 000000000..3cd12aee7
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/tcpdump/tcpdump_4.9.3.bb
@@ -0,0 +1,51 @@
+SUMMARY = "A sophisticated network protocol analyzer"
+HOMEPAGE = "http://www.tcpdump.org/"
+SECTION = "net"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867"
+
+DEPENDS = "libpcap"
+
+RDEPENDS_${PN}-ptest += " make perl \
+ perl-module-file-basename \
+ perl-module-posix \
+ perl-module-carp"
+
+SRC_URI = " \
+ http://www.tcpdump.org/release/${BP}.tar.gz \
+ file://unnecessary-to-check-libpcap.patch \
+ file://avoid-absolute-path-when-searching-for-libdlpi.patch \
+ file://add-ptest.patch \
+ file://run-ptest \
+"
+
+SRC_URI[md5sum] = "a4ead41d371f91aa0a2287f589958bae"
+SRC_URI[sha256sum] = "2cd47cb3d460b6ff75f4a9940f594317ad456cfbf2bd2c8e5151e16559db6410"
+
+inherit autotools-brokensep ptest
+
+PACKAGECONFIG ?= "openssl"
+
+PACKAGECONFIG[libcap-ng] = "--with-cap-ng,--without-cap-ng,libcap-ng"
+PACKAGECONFIG[openssl] = "--with-crypto,--without-openssl --without-crypto,openssl"
+PACKAGECONFIG[smi] = "--with-smi,--without-smi,libsmi"
+# Note: CVE-2018-10103 (SMB - partially fixed, but SMB printing disabled)
+PACKAGECONFIG[smb] = "--enable-smb,--disable-smb"
+
+EXTRA_AUTORECONF += "-I m4"
+
+do_configure_prepend() {
+ mkdir -p ${S}/m4
+ if [ -f aclocal.m4 ]; then
+ mv aclocal.m4 ${S}/m4
+ fi
+}
+
+do_install_append() {
+ # make install installs an unneeded extra copy of the tcpdump binary
+ rm -f ${D}${sbindir}/tcpdump.${PV}
+}
+
+do_compile_ptest() {
+ oe_runmake buildtest-TESTS
+}
diff --git a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.bb b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.bb
new file mode 100644
index 000000000..86c0c222c
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.10.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Encrypted UDP based FTP with multicast"
+HOMEPAGE = "https://sourceforge.net/projects/uftp-multicast"
+SECTION = "libs/network"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504"
+
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/uftp-multicast/files/source-tar/"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz"
+SRC_URI[md5sum] = "df6407af3a0067b881431b3dad149ef3"
+SRC_URI[sha256sum] = "91ba8aae80c7c9ccaf04600b628cbeca4699ed48268fe43d2bf539a41083f292"
+
+DEPENDS = "openssl"
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
diff --git a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.9.bb b/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.9.bb
deleted file mode 100644
index a64d081cf..000000000
--- a/meta-openembedded/meta-networking/recipes-support/uftp/uftp_4.9.9.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Encrypted UDP based FTP with multicast"
-HOMEPAGE = "https://sourceforge.net/projects/uftp-multicast"
-SECTION = "libs/network"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504"
-
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/uftp-multicast/files/source-tar/"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/uftp-multicast/source-tar/uftp-${PV}.tar.gz"
-SRC_URI[md5sum] = "154e2c82a33fd4999040f8836e2dca2c"
-SRC_URI[sha256sum] = "c04bc75a88fc3d57504269f260be4d0b1bc440508b5a5ca587df6c16b771aa48"
-
-DEPENDS = "openssl"
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-startup-scripts.patch b/meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-startup-scripts.patch
new file mode 100644
index 000000000..46f6a7b3f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-startup-scripts.patch
@@ -0,0 +1,78 @@
+From 186ac39de8eb9aedcf3d87cdbe389d10cde03d66 Mon Sep 17 00:00:00 2001
+From: Beniamin Sandu <beniaminsandu@gmail.com>
+Date: Tue, 16 Jul 2019 19:59:23 +0300
+Subject: [PATCH] contrib: add yocto compatible startup scripts
+
+Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
+---
+ contrib/unbound.init | 10 +++++-----
+ contrib/unbound.service.in | 4 ++--
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+ mode change 100644 => 100755 contrib/unbound.init
+
+diff --git a/contrib/unbound.init b/contrib/unbound.init
+old mode 100644
+new mode 100755
+index cccadecc..4eba752b
+--- a/contrib/unbound.init
++++ b/contrib/unbound.init
+@@ -19,11 +19,11 @@
+ ### END INIT INFO
+
+ # Source function library.
+-. /etc/rc.d/init.d/functions
++. /etc/init.d/functions
+
+ exec="/usr/sbin/unbound"
+ prog="unbound"
+-config="/var/unbound/unbound.conf"
++config="/etc/unbound/unbound.conf"
+ pidfile="/var/unbound/unbound.pid"
+ rootdir="/var/unbound"
+
+@@ -61,7 +61,7 @@ start() {
+ fi;
+
+ # if not running, start it up here
+- daemon $exec
++ daemonize $exec
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch $lockfile
+@@ -71,7 +71,7 @@ start() {
+ stop() {
+ echo -n $"Stopping $prog: "
+ # stop it here, often "killproc $prog"
+- killproc -p $pidfile $prog
++ killproc $prog
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f $lockfile
+@@ -99,7 +99,7 @@ force_reload() {
+
+ rh_status() {
+ # run checks to determine if the service is running or use generic status
+- status -p $pidfile $prog
++ status $prog
+ }
+
+ rh_status_q() {
+diff --git a/contrib/unbound.service.in b/contrib/unbound.service.in
+index 95976dd9..0e7f79a9 100644
+--- a/contrib/unbound.service.in
++++ b/contrib/unbound.service.in
+@@ -10,9 +10,9 @@ WantedBy=multi-user.target
+
+ [Service]
+ ExecReload=/bin/kill -HUP $MAINPID
+-ExecStart=@UNBOUND_SBIN_DIR@/unbound
++ExecStart=@UNBOUND_SBIN_DIR@/unbound -d
+ NotifyAccess=main
+-Type=notify
++Type=simple
+ CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_SYS_RESOURCE
+ MemoryDenyWriteExecute=true
+ NoNewPrivileges=true
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.2.bb b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.2.bb
new file mode 100644
index 000000000..0607c9d77
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.9.2.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Unbound is a validating, recursive, and caching DNS resolver"
+DESCRIPTION = "Unbound's design is a set of modular components which incorporate \
+ features including enhanced security (DNSSEC) validation, Internet Protocol \
+ Version 6 (IPv6), and a client resolver library API as an integral part of the \
+ architecture"
+
+HOMEPAGE = "https://www.unbound.net/"
+SECTION = "net"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5308494bc0590c0cb036afd781d78f06"
+
+SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=http;branch=master \
+ file://0001-contrib-add-yocto-compatible-startup-scripts.patch \
+"
+SRCREV="ee06aaaad99dc4d6b73f915d98f05c506885b98a"
+
+inherit autotools pkgconfig systemd update-rc.d
+
+DEPENDS = "openssl libevent libtool-native bison-native expat"
+RDEPENDS_${PN} = "bash openssl-bin daemonize"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = "--with-libexpat=${STAGING_EXECPREFIXDIR} \
+ --with-ssl=${STAGING_EXECPREFIXDIR} \
+ libtool=${TARGET_PREFIX}libtool \
+"
+
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile systemd', d)}"
+PACKAGECONFIG[dnscrypt] = "--enable-dnscrypt, --disable-dnscrypt, libsodium"
+PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+
+do_install_append() {
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${B}/contrib/unbound.service ${D}${systemd_unitdir}/system
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${S}/contrib/unbound.init ${D}${sysconfdir}/init.d/unbound
+}
+
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+INITSCRIPT_NAME = "unbound"
+INITSCRIPT_PARAMS = "defaults"
diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.1.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.1.bb
deleted file mode 100644
index 572dc1a45..000000000
--- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.1.bb
+++ /dev/null
@@ -1,81 +0,0 @@
-DESCRIPTION = "wireshark - a popular network protocol analyzer"
-HOMEPAGE = "http://www.wireshark.org"
-SECTION = "net"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77"
-
-DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native"
-
-DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native "
-
-SRC_URI = "https://1.eu.dl.wireshark.org/src/wireshark-${PV}.tar.xz"
-
-UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
-
-SRC_URI[md5sum] = "370a113e1c8ec240c4621cfb5abb0c52"
-SRC_URI[sha256sum] = "86864c3d0f6c2311992a98d8ea7dfd429097fe62dae2e5516e1a2f6bef2ac08c"
-
-PE = "1"
-
-inherit cmake pkgconfig python3native perlnative upstream-version-is-even
-
-ARM_INSTRUCTION_SET = "arm"
-
-PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc"
-
-PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh"
-
-PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap"
-PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap"
-PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi"
-PACKAGECONFIG[libnl] = ",,libnl"
-PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19"
-PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls"
-PACKAGECONFIG[ssl] = ",,openssl"
-PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5"
-PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua"
-PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib"
-PACKAGECONFIG[geoip] = ",, geoip"
-PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF"
-PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc"
-PACKAGECONFIG[libssh] = ",,libssh2"
-PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4"
-
-# these next two options require addional layers
-PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares"
-PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qtbase"
-
-EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \
- -DBUILD_mmdbresolve=OFF \
- -DBUILD_randpktdump=OFF \
- -DBUILD_androiddump=OFF \
- -DBUILD_dcerpcidl2wrs=OFF \
- -DM_INCLUDE_DIR=${includedir} \
- -DM_LIBRARY=${libdir} \
- "
-CFLAGS_append = " -lm"
-
-do_install_append_class-native() {
- install -d ${D}${bindir}
- for f in lemon
- do
- install -m 0755 ${B}/run/$f ${D}${bindir}
- done
-}
-
-do_install_append_class-target() {
- for f in `find ${D}${libdir} ${D}${bindir} -type f -executable`
- do
- chrpath --delete $f
- done
-}
-
-PACKAGE_BEFORE_PN += "tshark"
-
-FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*"
-
-FILES_${PN} += "${datadir}*"
-
-RDEPENDS_tshark = "wireshark"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.3.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.3.bb
new file mode 100644
index 000000000..a3c0b4998
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.3.bb
@@ -0,0 +1,81 @@
+DESCRIPTION = "wireshark - a popular network protocol analyzer"
+HOMEPAGE = "http://www.wireshark.org"
+SECTION = "net"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77"
+
+DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native"
+
+DEPENDS_append_class-target = " wireshark-native chrpath-replacement-native "
+
+SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz"
+
+UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
+
+SRC_URI[md5sum] = "e945d76a57db2c3e6cf776f95da2cf0e"
+SRC_URI[sha256sum] = "af92729c781d870110885c31ebcbe4c4224ed51bb580d00c896fe9746994211c"
+
+PE = "1"
+
+inherit cmake pkgconfig python3native perlnative upstream-version-is-even
+
+PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}"
+
+PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh"
+
+PACKAGECONFIG[libcap] = "-DENABLE_CAP=ON,-DENABLE_CAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON, libcap"
+PACKAGECONFIG[libpcap] = "-DENABLE_PCAP=ON,-DENABLE_PCAP=OFF -DENABLE_PCAP_NG_DEFAULT=ON , libpcap"
+PACKAGECONFIG[libsmi] = "-DENABLE_SMI=ON,-DENABLE_SMI=OFF,libsmi"
+PACKAGECONFIG[libnl] = ",,libnl"
+PACKAGECONFIG[portaudio] = "-DENABLE_PORTAUDIO=ON,-DENABLE_PORTAUDIO=OFF, portaudio-v19"
+PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF, gnutls"
+PACKAGECONFIG[ssl] = ",,openssl"
+PACKAGECONFIG[krb5] = "-DENABLE_KRB5=ON,-DENABLE_KRB5=OFF, krb5"
+PACKAGECONFIG[lua] = "-DENABLE_LUA=ON,-DENABLE_LUA=OFF, lua"
+PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib"
+PACKAGECONFIG[geoip] = ",, geoip"
+PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF"
+PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc"
+PACKAGECONFIG[libssh] = ",,libssh2"
+PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4"
+
+# these next two options require addional layers
+PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares"
+PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
+
+EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \
+ -DBUILD_mmdbresolve=OFF \
+ -DBUILD_randpktdump=OFF \
+ -DBUILD_androiddump=OFF \
+ -DBUILD_dcerpcidl2wrs=OFF \
+ -DM_INCLUDE_DIR=${includedir} \
+ -DM_LIBRARY=${libdir} \
+ "
+CFLAGS_append = " -lm"
+
+do_install_append_class-native() {
+ install -d ${D}${bindir}
+ for f in lemon
+ do
+ install -m 0755 ${B}/run/$f ${D}${bindir}
+ done
+}
+
+do_install_append_class-target() {
+ for f in `find ${D}${libdir} ${D}${bindir} -type f -executable`
+ do
+ chrpath --delete $f
+ done
+}
+
+PACKAGE_BEFORE_PN += "tshark"
+
+FILES_tshark = "${bindir}/tshark ${mandir}/man1/tshark.*"
+
+FILES_${PN} += "${datadir}*"
+
+RDEPENDS_tshark = "wireshark"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/README b/meta-openembedded/meta-oe/README
index 0e9f8423b..347816b0d 100644
--- a/meta-openembedded/meta-oe/README
+++ b/meta-openembedded/meta-oe/README
@@ -7,6 +7,13 @@ URI: git://github.com/openembedded/openembedded-core.git
branch: master
revision: HEAD
+luajit recipe requires host compiler to be able to generate 32bit code when target is 32bit
+e.g. arm, so ensure that $CC -m32 is functional on build host, if building this recipe, needed
+packages to fullfit this might have different names on different host distributions
+e.g. on archlinux based distributions install prerequisites like below
+
+pacman -S lib32-gcc-libs lib32-glibc
+
Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe]' in the subject'
When sending single patches, please use something like:
diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index 31f2f17fc..2a17eef30 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -29,10 +29,12 @@ LAYERVERSION_openembedded-layer = "1"
LAYERDEPENDS_openembedded-layer = "core"
-LAYERSERIES_COMPAT_openembedded-layer = "thud warrior"
+LAYERSERIES_COMPAT_openembedded-layer = "thud warrior zeus"
LICENSE_PATH += "${LAYERDIR}/licenses"
+PREFERRED_RPROVIDER_libdevmapper = "lvm2"
+
SIGGEN_EXCLUDERECIPES_ABISAFE += " \
mplayer-common \
fbset-modes \
@@ -49,6 +51,9 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
phoronix-test-suite->bash \
phoronix-test-suite->python \
phoronix-test-suite->php \
+ phoronix-test-suite->lsb-release \
+ phoronix-test-suite->util-linux \
+ phoronix-test-suite->busybox \
"
# ttf.inc inherits fontcache which adds fontconfig-utils to RDEPENDS
diff --git a/meta-openembedded/meta-oe/licenses/OFL-1.0 b/meta-openembedded/meta-oe/licenses/OFL-1.0
new file mode 100644
index 000000000..2a36aea25
--- /dev/null
+++ b/meta-openembedded/meta-oe/licenses/OFL-1.0
@@ -0,0 +1,99 @@
+This Font Software is Copyright (c) 2003-2005, SIL International (http://scripts.sil.org/).
+All Rights Reserved.
+
+"Gentium" is a Reserved Font Name for this Font Software.
+"SIL" is a Reserved Font Name for this Font Software.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.0.
+No modification of the license is permitted, only verbatim copy is allowed.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.0 - 22 November 2005
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of cooperative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide an open
+framework in which fonts may be shared and improved in partnership with
+others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and sold with any software provided that the font
+names of derivative works are changed. The fonts and derivatives,
+however, cannot be released under any other type of license.
+
+DEFINITIONS
+"Font Software" refers to any and all of the following:
+ - font files
+ - data files
+ - source code
+ - build scripts
+ - documentation
+
+"Reserved Font Name" refers to the Font Software name as seen by
+users and any other names as specified after the copyright statement.
+
+"Standard Version" refers to the collection of Font Software
+components as distributed by the Copyright Holder.
+
+"Modified Version" refers to any derivative font software made by
+adding to, deleting, or substituting -- in part or in whole --
+any of the components of the Standard Version, by changing formats
+or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Standard or Modified Versions, may be sold by itself.
+
+2) Standard or Modified Versions of the Font Software may be bundled,
+redistributed and sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s), in part or in whole, unless explicit written permission is
+granted by the Copyright Holder. This restriction applies to all
+references stored in the Font Software, such as the font menu name and
+other font description fields, which are used to differentiate the
+font from others.
+
+4) The name(s) of the Copyright Holder or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed using this license, and may not be distributed
+under any other license.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_5.3.bb b/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_5.3.bb
deleted file mode 100644
index 451671dda..000000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_5.3.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Analyze Suspend"
-DESCRIPTION = "analyze-suspend is a tool for system developers to visualize \
-the activity between suspend and resume, allowing them to identify \
-inefficiencies and bottlenecks."
-HOMEPAGE = "https://01.org/suspendresume"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
-
-# Apart from the listed RDEPENDS, analyze-suspend depends on some features
-# provided by the kernel. These options are:
-# - CONFIG_PM_DEBUG=y
-# - CONFIG_PM_SLEEP_DEBUG=y
-# - CONFIG_FTRACE=y
-# - CONFIG_FUNCTION_TRACER=y
-# - CONFIG_FUNCTION_GRAPH_TRACER=y
-
-RDEPENDS_${PN} += "python-core python-datetime python-stringold"
-
-SRC_URI = "git://github.com/01org/suspendresume.git;protocol=https"
-SRCREV = "5be9a16547234cef5aca8bfaccd920490ea1cfa7"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- install -Dm 0755 analyze_suspend.py ${D}${bindir}/analyze_suspend.py
- install -Dm 0644 README ${D}${docdir}/analyze-suspend/README
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_5.5.bb b/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_5.5.bb
new file mode 100644
index 000000000..bb0aad341
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/analyze-suspend/analyze-suspend_5.5.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Analyze Suspend"
+DESCRIPTION = "analyze-suspend is a tool for system developers to visualize \
+the activity between suspend and resume, allowing them to identify \
+inefficiencies and bottlenecks."
+HOMEPAGE = "https://01.org/suspendresume"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
+
+# Apart from the listed RDEPENDS, analyze-suspend depends on some features
+# provided by the kernel. These options are:
+# - CONFIG_PM_DEBUG=y
+# - CONFIG_PM_SLEEP_DEBUG=y
+# - CONFIG_FTRACE=y
+# - CONFIG_FUNCTION_TRACER=y
+# - CONFIG_FUNCTION_GRAPH_TRACER=y
+
+RDEPENDS_${PN} += "python-core python-datetime python-stringold"
+
+SRC_URI = "git://github.com/01org/suspendresume.git;protocol=https"
+SRCREV = "cf59527dc24fdd2f314ae4dcaeb3d68a117988f6"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -Dm 0755 analyze_suspend.py ${D}${bindir}/analyze_suspend.py
+ install -Dm 0644 README ${D}${docdir}/analyze-suspend/README
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-arch-arm-Consider-armv7ve-arch-as-well.patch b/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-arch-arm-Consider-armv7ve-arch-as-well.patch
new file mode 100644
index 000000000..983a76fb6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/files/0001-arch-arm-Consider-armv7ve-arch-as-well.patch
@@ -0,0 +1,28 @@
+From 2af58909cd9f2862d1dc07836e201361a2cd8d5d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 5 Oct 2019 08:53:22 -0700
+Subject: [PATCH] arch-arm: Consider armv7ve arch as well
+
+Upstream-Status: Submitted []
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ arch/arch-arm.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arch-arm.h b/arch/arch-arm.h
+index 78cb2ebe..4f722967 100644
+--- a/arch/arch-arm.h
++++ b/arch/arch-arm.h
+@@ -11,7 +11,7 @@
+ #define nop __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t")
+ #define read_barrier() __asm__ __volatile__ ("" : : : "memory")
+ #define write_barrier() __asm__ __volatile__ ("" : : : "memory")
+-#elif defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_8A__)
++#elif defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_8A__) || defined(__ARM_ARCH_7VE__)
+ #define nop __asm__ __volatile__ ("nop")
+ #define read_barrier() __sync_synchronize()
+ #define write_barrier() __sync_synchronize()
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.12.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.12.bb
deleted file mode 100644
index e85e7c709..000000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.12.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Filesystem and hardware benchmark and stress tool"
-DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
-stress/hardware verification. It has support for a number of I/O engines, \
-I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
-and much more. It can work on block devices as well as files. fio accepts \
-job descriptions in a simple-to-understand text format. Several example job \
-files are included. fio displays all sorts of I/O performance information."
-HOMEPAGE = "http://freecode.com/projects/fio"
-SECTION = "console/tests"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "libaio zlib"
-RDEPENDS_${PN} = "python bash"
-
-PACKAGECONFIG_NUMA = "numa"
-# ARM does not currently support NUMA
-PACKAGECONFIG_NUMA_arm = ""
-PACKAGECONFIG_NUMA_armeb = ""
-
-PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
-PACKAGECONFIG[numa] = ",--disable-numa,numactl"
-
-# rev for v3.8
-SRCREV = "16500b5a0b03ee0142d592bb74a46943a223b06e"
-SRC_URI = "git://git.kernel.dk/fio.git \
- file://0001-update-the-interpreter-paths.patch \
-"
-
-S = "${WORKDIR}/git"
-
-# avoids build breaks when using no-static-libs.inc
-DISABLE_STATIC = ""
-
-EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
-EXTRA_OECONF = "--disable-optimizations"
-
-do_configure() {
- ./configure ${EXTRA_OECONF}
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
- install -d ${D}/${docdir}/${PN}
- cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
-}
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.16.bb b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.16.bb
new file mode 100644
index 000000000..adab61878
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/fio/fio_3.16.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Filesystem and hardware benchmark and stress tool"
+DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
+stress/hardware verification. It has support for a number of I/O engines, \
+I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
+and much more. It can work on block devices as well as files. fio accepts \
+job descriptions in a simple-to-understand text format. Several example job \
+files are included. fio displays all sorts of I/O performance information."
+HOMEPAGE = "http://freecode.com/projects/fio"
+SECTION = "console/tests"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "libaio zlib coreutils-native"
+RDEPENDS_${PN} = "python bash"
+
+PACKAGECONFIG_NUMA = "numa"
+# ARM does not currently support NUMA
+PACKAGECONFIG_NUMA_arm = ""
+PACKAGECONFIG_NUMA_armeb = ""
+
+PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
+PACKAGECONFIG[numa] = ",--disable-numa,numactl"
+
+SRCREV = "92f75708b530989fdb13b50be6604f44b80d038d"
+SRC_URI = "git://git.kernel.dk/fio.git \
+ file://0001-update-the-interpreter-paths.patch \
+ file://0001-arch-arm-Consider-armv7ve-arch-as-well.patch \
+"
+
+S = "${WORKDIR}/git"
+
+# avoids build breaks when using no-static-libs.inc
+DISABLE_STATIC = ""
+
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
+EXTRA_OECONF = "--disable-optimizations"
+
+do_configure() {
+ ./configure ${EXTRA_OECONF}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
+ install -d ${D}/${docdir}/${PN}
+ cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index 7ed5cd028..605417634 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -15,7 +15,7 @@ PV = "20190205+${SRCPV}"
COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '.*-linux*', 'null', d)}"
SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https"
-SRCREV = "0c90dd48df43a6b0db1d9aabca6298240f4968f7"
+SRCREV = "c17fd14505f30d9e4dbad276f7aa956fd21a637b"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch b/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch
new file mode 100644
index 000000000..45c69ca06
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch
@@ -0,0 +1,58 @@
+From 6df092a4153c6c37cfaddcabf2cd25a910a7f6e1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 2 Sep 2019 15:40:52 -0700
+Subject: [PATCH] Detect bool definition considering stdbool.h being present
+
+This helps in defining the value correctly on different platforms e.g.
+clang/libc++ depends on the definition coming from stdbool.h
+current builds fail to compile therefore
+
+TMPDIR/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/iperf2/2.0.13-r0/recipe-sysroot/usr/include/c++/v1/type_traits:742:29: error: redefinition of '__libcpp_is_integral<int>'
+template <> struct __libcpp_is_integral<int> : public true_type {};
+ ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ m4/dast.m4 | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/m4/dast.m4
++++ b/m4/dast.m4
+@@ -11,7 +11,12 @@ AH_TEMPLATE([false])
+
+ AC_DEFUN(DAST_CHECK_BOOL, [
+
+-AC_CHECK_SIZEOF(bool)
++if test "$ac_cv_header_stdbool_h" = yes; then
++ AC_CHECK_SIZEOF(bool,,[#include <stdbool.h>])
++else
++ AC_CHECK_SIZEOF(bool)
++fi
++
+ if test "$ac_cv_sizeof_bool" = 0 ; then
+ AC_DEFINE(bool, int)
+ fi
+--- a/configure.ac
++++ b/configure.ac
+@@ -113,7 +113,7 @@ AC_SEARCH_LIBS([socket], [socket], [],
+
+ dnl Checks for header files.
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS([arpa/inet.h libintl.h net/ethernet.h net/if.h linux/ip.h linux/udp.h linux/if_packet.h linux/filter.h netdb.h netinet/in.h stdlib.h string.h strings.h sys/socket.h sys/time.h syslog.h unistd.h signal.h ifaddrs.h])
++AC_CHECK_HEADERS([arpa/inet.h libintl.h net/ethernet.h net/if.h linux/ip.h linux/udp.h linux/if_packet.h linux/filter.h netdb.h netinet/in.h stdbool.h stdlib.h string.h strings.h sys/socket.h sys/time.h syslog.h unistd.h signal.h ifaddrs.h])
+
+ dnl ===================================================================
+ dnl Checks for typedefs, structures
+--- a/include/util.h
++++ b/include/util.h
+@@ -56,7 +56,9 @@
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+-
++#ifdef HAVE_STDBOOL_H
++# include <stdbool.h>
++#endif
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb
deleted file mode 100644
index 1322d0788..000000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.10.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics"
-HOMEPAGE = "https://sourceforge.net/projects/iperf2/"
-SECTION = "console/network"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e136a7b2560d80bcbf0d9b3e1356ecff"
-
-SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf2/iperf-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "097cf0754bc1afa165975c06a91e6906"
-SRC_URI[sha256sum] = "7fe4348dcca313b74e0aa9c34a8ccd713b84a5615b8578f4aa94cedce9891ef2"
-
-S = "${WORKDIR}/iperf-${PV}"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb
new file mode 100644
index 000000000..4a520e3be
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics"
+HOMEPAGE = "https://sourceforge.net/projects/iperf2/"
+SECTION = "console/network"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e136a7b2560d80bcbf0d9b3e1356ecff"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/iperf-${PV}.tar.gz \
+ file://0001-Detect-bool-definition-considering-stdbool.h-being-p.patch \
+"
+
+SRC_URI[md5sum] = "31ea1c6d5cbf80b16ff3abe4288dad5e"
+SRC_URI[sha256sum] = "c88adec966096a81136dda91b4bd19c27aae06df4d45a7f547a8e50d723778ad"
+
+S = "${WORKDIR}/iperf-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
index 06eb41ac0..959e29389 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
@@ -1,31 +1,32 @@
-From 6db0e28f906bc3784019dfb5bb011237a8034fda Mon Sep 17 00:00:00 2001
+From 3ae408402635ea21ad90cd722c99ae3334376c91 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 14 Jul 2017 13:00:16 -0700
-Subject: [PATCH 2/2] Remove -pg from profile_CFLAGS
+Subject: [PATCH] Remove -pg from profile_CFLAGS
musl fails to link with missing gcrt1.o
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
src/Makefile.am | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
-index 23b0c72..6268145 100644
+index 5be8562..3881aa6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
-@@ -49,9 +49,9 @@ iperf3_LDFLAGS = -g
+@@ -58,9 +58,9 @@ if ENABLE_PROFILING
iperf3_profile_SOURCES = main.c \
- $(libiperf_la_SOURCES)
+ $(libiperf_la_SOURCES)
-iperf3_profile_CFLAGS = -pg -g
+iperf3_profile_CFLAGS = -g
iperf3_profile_LDADD = libiperf.la
-iperf3_profile_LDFLAGS = -pg -g
+iperf3_profile_LDFLAGS = -g
+ endif
# Specify the sources and various flags for the test cases
- t_timer_SOURCES = t_timer.c
--
-2.13.3
+2.21.0
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch
deleted file mode 100644
index 06c394e5c..000000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3/automake-foreign.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Pass the 'foreign' option to automake to enable iperf3 to build.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Chunrong Guo <b40290@freescale.com>
-
---- a/configure.ac 2015-10-19 02:49:30.471867352 -0500
-+++ b/configure.ac 2015-10-19 02:46:36.207873572 -0500
-@@ -33,7 +33,7 @@
-
-
- # Initialize the automake system
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
- AM_MAINTAINER_MODE
- AM_CONFIG_HEADER(src/iperf_config.h)
-
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.6.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.6.bb
deleted file mode 100644
index 4e11d8233..000000000
--- a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.6.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Network benchmark tool"
-DESCRIPTION = "\
-iperf is a tool for active measurements of the maximum achievable bandwidth \
-on IP networks. It supports tuning of various parameters related to timing, \
-protocols, and buffers. For each test it reports the bandwidth, loss, and \
-other parameters."
-HOMEPAGE = "http://software.es.net/iperf/"
-SECTION = "console/network"
-BUGTRACKER = "https://github.com/esnet/iperf/issues"
-AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a9a036136b748453e839c0eb8906ef2e"
-
-DEPENDS = "openssl"
-
-SRC_URI = "git://github.com/esnet/iperf.git \
- file://automake-foreign.patch \
- file://0002-Remove-pg-from-profile_CFLAGS.patch \
- "
-
-SRCREV = "88f3ad87f38762081a6d7127890ff5c3a052b06a"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-EXTRA_OECONF = "--with-openssl=${RECIPE_SYSROOT}${prefix}"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
new file mode 100644
index 000000000..d5296d733
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-benchmark/iperf3/iperf3_3.7.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Network benchmark tool"
+DESCRIPTION = "\
+iperf is a tool for active measurements of the maximum achievable bandwidth \
+on IP networks. It supports tuning of various parameters related to timing, \
+protocols, and buffers. For each test it reports the bandwidth, loss, and \
+other parameters."
+HOMEPAGE = "http://software.es.net/iperf/"
+SECTION = "console/network"
+BUGTRACKER = "https://github.com/esnet/iperf/issues"
+AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f9088fe7ffdccd042f7645f1012d7f70"
+
+DEPENDS = "openssl"
+
+SRC_URI = "git://github.com/esnet/iperf.git \
+ file://0002-Remove-pg-from-profile_CFLAGS.patch \
+ "
+
+SRCREV = "dfcea9f6a09ead01089a3c9d20c7032f2c0af2c1"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+EXTRA_OECONF = "--with-openssl=${RECIPE_SYSROOT}${prefix}"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run b/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run
index e904c75e4..2716bf935 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run
+++ b/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench-run
@@ -4,7 +4,6 @@
# Javier Fernandez-Sanguino.
# Distributed under the GPL
SHAREDIR=/usr/share/lmbench/
-BINDIR=/usr/lib/lmbench/
SCRIPTSDIR=$SHAREDIR/scripts
RESULTSDIR=$SHAREDIR/results
CONFIG=/var/lib/lmbench/config/`$SCRIPTSDIR/config`
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
index 8e6e803a8..7e20b7da6 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -54,7 +54,7 @@ do_compile () {
do_install () {
install -d ${D}${sysconfdir}/default/volatiles \
- ${D}${bindir} ${D}${mandir} ${D}${libdir}/lmbench \
+ ${D}${bindir} ${D}${mandir} \
${D}${datadir}/lmbench/scripts
echo "d root root 0755 ${localstatedir}/run/${BPN} none" \
@@ -71,7 +71,6 @@ do_install () {
mv ${D}${bindir}/line ${D}${bindir}/lm_line
install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/
sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${BPN},;' \
- -e 's,^BINDIR=.*$,BINDIR=${libdir}/${BPN},;' \
-e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \
${D}${bindir}/lmbench-run
install -m 0755 ${S}/scripts/lmbench ${D}${bindir}
@@ -89,4 +88,4 @@ pkg_postinst_${PN} () {
}
RDEPENDS_${PN} = "perl"
-FILES_${PN} += "${datadir}/lmbench ${libdir}/lmbench"
+FILES_${PN} += "${datadir}/lmbench"
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb
index 873384496..c4df1a90b 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_8.8.1.bb
@@ -29,7 +29,7 @@ do_install() {
SYSTEMD_AUTO_ENABLE = "disable"
SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service"
-RDEPENDS_${PN} += "bash python php-cli util-linux-lscpu os-release lsb"
+RDEPENDS_${PN} += "bash python php-cli util-linux-lscpu os-release lsb-release"
FILES_${PN} += " \
${datadir}/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 741142c50..8c49b4674 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 = "8d22ab8a4cc1484622c47ac9c5944fb9a61a5c0f"
-PV = "3.4"
+SRCREV = "3b9eef2259a70f412ab02fbe6b3a4d313d09c38a"
+PV = "3.5"
SRC_URI = "git://github.com/Algodev-github/S.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb b/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
index 2c0914d30..09e738488 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
@@ -31,7 +31,11 @@ RDEPENDS_${PN}_aarch64 = "dmidecode"
RDEPENDS_${PN}_powerpc = "dmidecode"
RDEPENDS_${PN}_powerpc64 = "dmidecode"
RDEPENDS_${PN}_append = " \
- perl-module-file-basename perl-module-file-find perl-module-getopt-long perl-module-posix \
+ perl \
+ perl-module-file-basename \
+ perl-module-file-find \
+ perl-module-getopt-long \
+ perl-module-posix \
perl-module-overload \
perl-module-overloading \
perl-module-file-glob \
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
index b0091d657..b55bd5161 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
@@ -14,6 +14,9 @@ SRC_URI = "file://fancontrol \
"
S = "${WORKDIR}"
+PACKAGECONFIG ??= "sensord"
+PACKAGECONFIG[sensord] = ",,"
+
RDEPENDS_${PN}-dev = ""
do_install() {
@@ -25,27 +28,29 @@ do_install() {
install -d ${D}${sysconfdir}/sensors.d
install -m 0644 ${WORKDIR}/sensors.conf ${D}${sysconfdir}/sensors.d
- # Install sensord configuration file
- install -m 0644 ${WORKDIR}/sensord.conf ${D}${sysconfdir}
+ if ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ # Install sensord configuration file
+ install -m 0644 ${WORKDIR}/sensord.conf ${D}${sysconfdir}
- # Install sensord.cgi script and create world-writable
- # web-accessible sensord directory
- install -d ${D}/www/pages/cgi-bin
- install -m 0755 ${WORKDIR}/sensord.cgi ${D}/www/pages/cgi-bin
- install -d -m a=rwxs ${D}/www/pages/sensord
+ # Install sensord.cgi script and create world-writable
+ # web-accessible sensord directory
+ install -d ${D}/www/pages/cgi-bin
+ install -m 0755 ${WORKDIR}/sensord.cgi ${D}/www/pages/cgi-bin
+ install -d -m a=rwxs ${D}/www/pages/sensord
+ fi
}
# libsensors configuration
PACKAGES =+ "${PN}-libsensors"
# sensord logging daemon configuration
-PACKAGES =+ "${PN}-sensord"
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)}"
# fancontrol script configuration
PACKAGES =+ "${PN}-fancontrol"
# sensord web cgi support
-PACKAGES =+ "${PN}-cgi"
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-cgi', '', d)}"
RRECOMMENDS_${PN}-cgi = "lighttpd lighttpd-module-cgi"
RDEPENDS_${PN}-cgi = "${PN}-sensord rrdtool"
FILES_${PN}-cgi = "/www/*"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb
index c8e4565c1..ffafd17f8 100644
--- a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb
+++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.5.0.bb
@@ -23,14 +23,26 @@ inherit update-rc.d systemd
RDEPENDS_${PN}-dev = ""
-INITSCRIPT_PACKAGES = "${PN}-fancontrol ${PN}-sensord"
+PACKAGECONFIG ??= "sensord"
+PACKAGECONFIG[sensord] = "sensord,,rrdtool"
+
+INITSCRIPT_PACKAGES = "\
+ ${PN}-fancontrol \
+ ${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)} \
+ "
INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol"
INITSCRIPT_NAME_${PN}-sensord = "sensord"
INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66"
INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67"
-SYSTEMD_PACKAGES = "${PN}-sensord"
-SYSTEMD_SERVICE_${PN}-sensord = "sensord.service lm_sensors.service fancontrol.service"
+SYSTEMD_PACKAGES = "\
+ ${PN} \
+ ${PN}-fancontrol \
+ ${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)} \
+ "
+SYSTEMD_SERVICE_${PN} = "lm_sensors.service"
+SYSTEMD_SERVICE_${PN}-fancontrol = "fancontrol.service"
+SYSTEMD_SERVICE_${PN}-sensord = "sensord.service"
SYSTEMD_AUTO_ENABLE = "disable"
S = "${WORKDIR}/git"
@@ -46,13 +58,15 @@ do_compile() {
sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile
sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \
${S}/lib/Module.mk
- oe_runmake user PROG_EXTRA="sensors sensord"
+ oe_runmake user PROG_EXTRA="sensors ${PACKAGECONFIG_CONFARGS}"
}
do_install() {
oe_runmake user_install DESTDIR=${D}
- install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir}
- install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8
+ if ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir}
+ install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8
+ fi
# Install directory
install -d ${D}${INIT_D_DIR}
@@ -60,16 +74,33 @@ do_install() {
# Install fancontrol init script
install -m 0755 ${WORKDIR}/fancontrol.init ${D}${INIT_D_DIR}/fancontrol
- # Install sensord init script
- install -m 0755 ${WORKDIR}/sensord.init ${D}${INIT_D_DIR}/sensord
+ if ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ # Install sensord init script
+ install -m 0755 ${WORKDIR}/sensord.init ${D}${INIT_D_DIR}/sensord
+ fi
# Insall sensord service script
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/prog/init/*.service ${D}${systemd_system_unitdir}
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/prog/init/*.service ${D}${systemd_unitdir}/system
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'sensord', 'true', 'false', d)}; then
+ rm ${D}${systemd_system_unitdir}/sensord.service
+ fi
}
RPROVIDES_${PN}-dbg += "${PN}-libsensors-dbg ${PN}-sensors-dbg ${PN}-sensord-dbg ${PN}-isatools-dbg"
+ALLOW_EMPTY_${PN} = "1"
+RDEPENDS_${PN} += " \
+ ${PN}-libsensors \
+ ${PN}-sensors \
+ ${PN}-sensord \
+ ${PN}-fancontrol \
+ ${PN}-sensorsdetect \
+ ${PN}-sensorsconfconvert \
+ ${PN}-pwmconfig \
+ ${PN}-isatools \
+"
+
# libsensors packages
PACKAGES =+ "${PN}-libsensors ${PN}-libsensors-dev ${PN}-libsensors-staticdev ${PN}-libsensors-doc"
@@ -77,7 +108,7 @@ PACKAGES =+ "${PN}-libsensors ${PN}-libsensors-dev ${PN}-libsensors-staticdev ${
PACKAGES =+ "${PN}-sensors ${PN}-sensors-doc"
# sensord logging daemon
-PACKAGES =+ "${PN}-sensord ${PN}-sensord-doc"
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord ${PN}-sensord-doc', '', d)}"
# fancontrol script
PACKAGES =+ "${PN}-fancontrol ${PN}-fancontrol-doc"
@@ -132,7 +163,7 @@ RDEPENDS_${PN}-sensorsconfconvert = "${PN}-sensors perl perl-modules"
# pwmconfig script files
FILES_${PN}-pwmconfig = "${sbindir}/pwmconfig"
FILES_${PN}-pwmconfig-doc = "${mandir}/man8/pwmconfig.8"
-RDEPENDS_${PN}-pwmconfig = "${PN}-fancontrol"
+RDEPENDS_${PN}-pwmconfig = "${PN}-fancontrol bash"
# isadump and isaset helper program files
FILES_${PN}-isatools = "${sbindir}/isa*"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/files/0001-Makefile-fix-bash-completion-install-path.patch b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/files/0001-Makefile-fix-bash-completion-install-path.patch
deleted file mode 100644
index 154e1401a..000000000
--- a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/files/0001-Makefile-fix-bash-completion-install-path.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ef64032b34190079aab591c64a25f7535a977390 Mon Sep 17 00:00:00 2001
-From: Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>
-Date: Tue, 9 Oct 2018 11:26:34 +0200
-Subject: [PATCH] Makefile: fix bash completion install path
-
-Change path to bash-completion upstream recommendation used by most
-distributions.
-
-Upstream-Status: Accepted
-
-Signed-off-by: Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index fa587dd..433bc41 100644
---- a/Makefile
-+++ b/Makefile
-@@ -69,8 +69,8 @@ install-bin: default
- $(INSTALL) -m 755 nvme $(DESTDIR)$(SBINDIR)
-
- install-bash-completion:
-- $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/bash_completion.d
-- $(INSTALL) -m 644 -T ./completions/bash-nvme-completion.sh $(DESTDIR)$(PREFIX)/share/bash_completion.d/nvme
-+ $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/bash-completion/completions
-+ $(INSTALL) -m 644 -T ./completions/bash-nvme-completion.sh $(DESTDIR)$(PREFIX)/share/bash-completion/completions/nvme
-
- install: install-bin install-man install-bash-completion
-
---
-1.9.1
-
diff --git a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.6.bb b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.6.bb
deleted file mode 100644
index 9b7e6cd4d..000000000
--- a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "NVMe management command line interface"
-AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
-HOMEPAGE = "https://github.com/linux-nvme/nvme-cli"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022"
-DEPENDS = "util-linux"
-PV .= "+git${SRCPV}"
-
-SRC_URI = "git://github.com/linux-nvme/nvme-cli.git \
- file://0001-Makefile-fix-bash-completion-install-path.patch \
- "
-SRCREV = "642d426faf8a67ed01e90f7c35c0d967f8cc52a3"
-
-S = "${WORKDIR}/git"
-
-inherit bash-completion
-
-do_install() {
- oe_runmake PREFIX=${prefix} DESTDIR=${D} install
-}
diff --git a/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.9.bb b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.9.bb
new file mode 100644
index 000000000..256d83f03
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.9.bb
@@ -0,0 +1,29 @@
+SUMMARY = "NVMe management command line interface"
+AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
+HOMEPAGE = "https://github.com/linux-nvme/nvme-cli"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022"
+DEPENDS = "util-linux util-linux-native"
+PV .= "+git${SRCPV}"
+
+SRC_URI = "git://github.com/linux-nvme/nvme-cli.git"
+SRCREV = "977e7d4cf59c3c7f89e9c093c91f991b07292e45"
+
+S = "${WORKDIR}/git"
+
+inherit bash-completion systemd
+
+do_install() {
+ oe_runmake install DESTDIR=${D} PREFIX=${prefix} \
+ UDEVDIR=${nonarch_base_libdir}/udev SYSTEMDDIR=${systemd_unitdir}
+}
+
+pkg_postinst_ontarget_${PN}() {
+ ${sbindir}/nvme gen-hostnqn > ${sysconfdir}/nvme/hostnqn
+}
+
+PACKAGES =+ "${PN}-dracut ${PN}-zsh-completion"
+
+FILES_${PN}-dracut = "${libdir}/dracut/dracut.conf.d"
+FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
diff --git a/meta-openembedded/meta-oe/recipes-bsp/rwmem/rwmem_1.2.bb b/meta-openembedded/meta-oe/recipes-bsp/rwmem/rwmem_1.2.bb
new file mode 100644
index 000000000..0a15134df
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/rwmem/rwmem_1.2.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A small tool to read/write memory"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS += "python3 python3-pybind11"
+
+PV .= "+git${SRCPV}"
+
+SRCREV_rwmem = "cc296c5366a35a4c4271cfa3cc9831f6f34bfd9d"
+SRCREV_inih = "4b10c654051a86556dfdb634c891b6c3224c4109"
+
+SRCREV_FORMAT = "rwmem_inih"
+
+SRC_URI = " \
+ git://github.com/tomba/rwmem.git;protocol=https;name=rwmem \
+ git://github.com/benhoyt/inih.git;protocol=https;name=inih;nobranch=1;destsuffix=git/ext/inih \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+do_install() {
+ install -D -m 0755 ${B}/bin/rwmem ${D}${bindir}/rwmem
+ install -D -m 0644 ${B}/lib/librwmem.a ${D}${libdir}/librwmem.a
+}
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.8.bb b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.8.bb
deleted file mode 100644
index 15884d0d0..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.8.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "User space daemon for extended IEEE 802.11 management"
-HOMEPAGE = "http://w1.fi/hostapd/"
-SECTION = "kernel/userland"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://hostapd/README;md5=1ec986bec88070e2a59c68c95d763f89"
-
-DEPENDS = "libnl openssl"
-
-SRC_URI = " \
- http://w1.fi/releases/hostapd-${PV}.tar.gz \
- file://defconfig \
- file://init \
- file://hostapd.service \
-"
-
-SRC_URI[md5sum] = "ed2c254e5f400838cb9d8e7b6e43b86c"
-SRC_URI[sha256sum] = "929f522be6eeec38c53147e7bc084df028f65f148a3f7e4fa6c4c3f955cee4b0"
-
-S = "${WORKDIR}/hostapd-${PV}"
-B = "${WORKDIR}/hostapd-${PV}/hostapd"
-
-inherit update-rc.d systemd pkgconfig distro_features_check
-
-CONFLICT_DISTRO_FEATURES = "openssl-no-weak-ciphers"
-
-INITSCRIPT_NAME = "hostapd"
-
-SYSTEMD_SERVICE_${PN} = "hostapd.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-do_configure_append() {
- install -m 0644 ${WORKDIR}/defconfig ${B}/.config
-}
-
-do_compile() {
- export CFLAGS="-MMD -O2 -Wall -g"
- export EXTRA_CFLAGS="${CFLAGS}"
- make V=1
-}
-
-do_install() {
- install -d ${D}${sbindir} ${D}${sysconfdir}/init.d ${D}${systemd_unitdir}/system/
- install -m 0644 ${B}/hostapd.conf ${D}${sysconfdir}
- install -m 0755 ${B}/hostapd ${D}${sbindir}
- install -m 0755 ${B}/hostapd_cli ${D}${sbindir}
- install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd
- install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/hostapd.service
-}
-
-CONFFILES_${PN} += "${sysconfdir}/hostapd.conf"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
new file mode 100644
index 000000000..e26a6ff86
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
@@ -0,0 +1,51 @@
+SUMMARY = "User space daemon for extended IEEE 802.11 management"
+HOMEPAGE = "http://w1.fi/hostapd/"
+SECTION = "kernel/userland"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://hostapd/README;md5=1ec986bec88070e2a59c68c95d763f89"
+
+DEPENDS = "libnl openssl"
+
+SRC_URI = " \
+ http://w1.fi/releases/hostapd-${PV}.tar.gz \
+ file://defconfig \
+ file://init \
+ file://hostapd.service \
+"
+
+SRC_URI[md5sum] = "f188fc53a495fe7af3b6d77d3c31dee8"
+SRC_URI[sha256sum] = "881d7d6a90b2428479288d64233151448f8990ab4958e0ecaca7eeb3c9db2bd7"
+
+S = "${WORKDIR}/hostapd-${PV}"
+B = "${WORKDIR}/hostapd-${PV}/hostapd"
+
+inherit update-rc.d systemd pkgconfig distro_features_check
+
+CONFLICT_DISTRO_FEATURES = "openssl-no-weak-ciphers"
+
+INITSCRIPT_NAME = "hostapd"
+
+SYSTEMD_SERVICE_${PN} = "hostapd.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+do_configure_append() {
+ install -m 0644 ${WORKDIR}/defconfig ${B}/.config
+}
+
+do_compile() {
+ export CFLAGS="-MMD -O2 -Wall -g"
+ export EXTRA_CFLAGS="${CFLAGS}"
+ make V=1
+}
+
+do_install() {
+ install -d ${D}${sbindir} ${D}${sysconfdir}/init.d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${B}/hostapd.conf ${D}${sysconfdir}
+ install -m 0755 ${B}/hostapd ${D}${sbindir}
+ install -m 0755 ${B}/hostapd_cli ${D}${sbindir}
+ install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd
+ install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/hostapd.service
+}
+
+CONFFILES_${PN} += "${sysconfdir}/hostapd.conf"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.14.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.14.bb
deleted file mode 100644
index 1dfbed9fd..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.14.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "Wireless daemon for Linux"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
-
-inherit autotools pkgconfig systemd
-
-DEPENDS = "ell readline dbus"
-
-SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git"
-SRCREV = "f87159964cf8fd9f85b0699d50e4a051d4f7c948"
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[wired] = "--enable-wired,--disable-wired"
-PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono"
-PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd"
-
-EXTRA_OECONF += "--enable-external-ell"
-
-do_configure_prepend () {
- mkdir -p ${S}/build-aux
-}
-
-do_install_append() {
- mkdir --parents ${D}${docdir}/${BPN}
- install -m644 ${S}/doc/*.txt ${D}${docdir}/${BPN}
-}
-
-FILES_${PN} += "${datadir}/dbus-1"
-
-SYSTEMD_SERVICE_${PN} = "iwd.service ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.20.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.20.bb
new file mode 100644
index 000000000..42205034c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_0.20.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "Wireless daemon for Linux"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
+
+inherit autotools pkgconfig systemd
+
+DEPENDS = "ell readline dbus"
+
+SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git"
+SRCREV = "00f0039232cc73bbcf7a1875f8f9aae464d90a8f"
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[wired] = "--enable-wired,--disable-wired"
+PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono"
+PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd"
+
+EXTRA_OECONF += "--enable-external-ell"
+
+do_configure_prepend () {
+ mkdir -p ${S}/build-aux
+}
+
+do_install_append() {
+ mkdir --parents ${D}${docdir}/${BPN}
+ install -m644 ${S}/doc/*.txt ${D}${docdir}/${BPN}
+}
+
+FILES_${PN} += "${datadir}/dbus-1 ${libdir}/modules-load.d"
+
+SYSTEMD_SERVICE_${PN} = "iwd.service ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)}"
+
+RRECOMMENDS_${PN} = "\
+ kernel-module-pkcs7-message \
+ kernel-module-pkcs8-key-parser \
+ kernel-module-x509-key-parser \
+"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.25.bb b/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.25.bb
deleted file mode 100644
index 9456e51f1..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.25.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A full-featured and high-performance event loop that is loosely \
-modelled after libevent."
-HOMEPAGE = "http://software.schmorp.de/pkg/libev.html"
-LICENSE = "BSD-2-Clause | GPL-2.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d6ad416afd040c90698edcdf1cbee347"
-
-SRC_URI = "http://dist.schmorp.de/libev/Attic/${BP}.tar.gz"
-SRC_URI[md5sum] = "911daf566534f745726015736a04f04a"
-SRC_URI[sha256sum] = "78757e1c27778d2f3795251d9fe09715d51ce0422416da4abb34af3929c02589"
-
-inherit autotools
-
-EXTRA_OECONF += "--with-pic"
-
-do_install_append() {
- # Avoid conflicting with libevent. The provided compatibility layer is
- # still basic so drop it for now.
- rm ${D}${includedir}/event.h
-}
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.27.bb b/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.27.bb
new file mode 100644
index 000000000..b72b7af4f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libev/libev_4.27.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A full-featured and high-performance event loop that is loosely \
+modelled after libevent."
+HOMEPAGE = "http://software.schmorp.de/pkg/libev.html"
+LICENSE = "BSD-2-Clause | GPL-2.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d6ad416afd040c90698edcdf1cbee347"
+
+SRC_URI = "http://dist.schmorp.de/libev/Attic/${BP}.tar.gz"
+SRC_URI[md5sum] = "d38925fbc030153fe674c4e0e864a69a"
+SRC_URI[sha256sum] = "2d5526fc8da4f072dd5c73e18fbb1666f5ef8ed78b73bba12e195cfdd810344e"
+
+inherit autotools
+
+EXTRA_OECONF += "--with-pic"
+
+do_install_append() {
+ # Avoid conflicting with libevent. The provided compatibility layer is
+ # still basic so drop it for now.
+ rm ${D}${includedir}/event.h
+}
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
deleted file mode 100644
index 7a3429b9d..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi/0001-Detect-clang.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 4cfb728804157e8f3c69e11ba4df449d8f76388f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 20 Oct 2016 04:42:26 +0000
-Subject: [PATCH] Detect clang
-
-Check for clang compiler since we need to disable
-unused-function warning for clang, at same time
-pass werror when checking for compiler options if
-werror is enabled so spurious options do not get
-enabled. Only the ones that are supported by given
-compiler are accepted.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
----
- m4/compiler-warnings.m4 | 29 +++++++++++++++++++++++++----
- 1 file changed, 25 insertions(+), 4 deletions(-)
-
-diff --git a/m4/compiler-warnings.m4 b/m4/compiler-warnings.m4
-index de4a8b0..e4ba718 100644
---- a/m4/compiler-warnings.m4
-+++ b/m4/compiler-warnings.m4
-@@ -2,10 +2,30 @@ AC_DEFUN([LIBQMI_COMPILER_WARNINGS],
- [AC_ARG_ENABLE(more-warnings,
- AS_HELP_STRING([--enable-more-warnings], [Possible values: no/yes/error]),
- set_more_warnings="$enableval",set_more_warnings=error)
-+
-+# Clang throws a lot of warnings when it does not understand a flag. Disable
-+# this warning for now so other warnings are visible.
-+AC_MSG_CHECKING([if compiling with clang])
-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
-+#ifndef __clang__
-+ not clang
-+#endif
-+ ]])],
-+ [CLANG=yes],
-+ [CLANG=no]
-+)
-+AC_MSG_RESULT([$CLANG])
-+AS_IF([test "x$CLANG" = "xyes"], [CLANG_FLAGS=-Wno-error=unused-function])
-+CFLAGS="$CFLAGS $CLANG_FLAGS"
-+LDFLAGS="$LDFLAGS $CLANG_FLAGS"
-+
- AC_MSG_CHECKING(for more warnings)
- if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
- AC_MSG_RESULT(yes)
- CFLAGS="-Wall -std=gnu89 $CFLAGS"
-+ if test "x$set_more_warnings" = xerror; then
-+ WERROR="-Werror"
-+ fi
-
- for option in -Wmissing-declarations -Wmissing-prototypes \
- -Wdeclaration-after-statement -Wstrict-prototypes \
-@@ -17,22 +37,23 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
- -Wmissing-include-dirs -Waggregate-return \
- -Wformat-security -Wtype-limits; do
- SAVE_CFLAGS="$CFLAGS"
-- CFLAGS="$CFLAGS $option"
-+ CFLAGS="$CFLAGS $option $WERROR"
- AC_MSG_CHECKING([whether gcc understands $option])
- AC_TRY_COMPILE([], [],
- has_option=yes,
- has_option=no,)
- if test $has_option = no; then
- CFLAGS="$SAVE_CFLAGS"
-+ else
-+ CFLAGS="$SAVE_CFLAGS $option"
- fi
- AC_MSG_RESULT($has_option)
- unset has_option
- unset SAVE_CFLAGS
- done
-+ CFLAGS="$CFLAGS $WERROR"
- unset option
-- if test "x$set_more_warnings" = xerror; then
-- CFLAGS="$CFLAGS -Werror"
-- fi
-+ unset WERROR
- else
- AC_MSG_RESULT(no)
- fi
---
-1.9.1
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.22.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.22.2.bb
deleted file mode 100644
index da13286b4..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.22.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
-DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = "glib-2.0 glib-2.0-native"
-
-inherit autotools pkgconfig bash-completion
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
- file://0001-Detect-clang.patch \
- "
-SRC_URI[md5sum] = "3fd831c1b0de4a4432be628432a960ff"
-SRC_URI[sha256sum] = "f1f1e514a89b1dcba05cf7274895e7301a2da4c947b7c2f17acb84fc74038227"
-
-PACKAGECONFIG ??= "udev mbim"
-PACKAGECONFIG[udev] = ",--without-udev,libgudev"
-PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.0.bb
new file mode 100644
index 000000000..9b89e1dd8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libqmi/libqmi_1.24.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
+DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 glib-2.0-native"
+
+inherit autotools pkgconfig bash-completion
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
+ "
+
+SRC_URI[md5sum] = "4b181c0a8b933226ce3dce09565fe8f8"
+SRC_URI[sha256sum] = "aeb69f90c273467cce246176cba0967c6413f1995a976992770a597c4fe28c79"
+
+PACKAGECONFIG ??= "udev mbim"
+PACKAGECONFIG[udev] = ",--without-udev,libgudev"
+PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"
+
+EXTRA_OECONF_append_toolchain-clang = " --enable-more-warnings=no"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.27.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.27.0.bb
deleted file mode 100644
index c8239443c..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.27.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A multi-platform support library with a focus on asynchronous I/O"
-HOMEPAGE = "https://github.com/libuv/libuv"
-BUGTRACKER = "https://github.com/libuv/libuv/issues"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a68902a430e32200263d182d44924d47"
-
-SRC_URI = "https://github.com/libuv/libuv/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "cc2cf259442fbe85404e75691e8244e1"
-SRC_URI[sha256sum] = "4afcdc84cd315b77c8e532e7b3fde43d536af0e2e835eafbd0e75518ed26dbed"
-
-inherit autotools
-
-do_configure() {
- ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh"
- oe_runconf
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.32.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.32.0.bb
new file mode 100644
index 000000000..c7fa3c10f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libuv/libuv_1.32.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A multi-platform support library with a focus on asynchronous I/O"
+HOMEPAGE = "https://github.com/libuv/libuv"
+BUGTRACKER = "https://github.com/libuv/libuv/issues"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a68902a430e32200263d182d44924d47"
+
+SRCREV = "697bea87b3a0b0e9b4e5ff86b39d1dedb70ee46d"
+SRC_URI = "git://github.com/libuv/libuv;branch=v1.x"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+do_configure() {
+ ${S}/autogen.sh || bbnote "${PN} failed to autogen.sh"
+ oe_runconf
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.1.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.1.0.bb
deleted file mode 100644
index 50620d99e..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.1.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Canonical libwebsockets.org websocket library"
-HOMEPAGE = "https://libwebsockets.org/"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4ce87f3facb6f911c142c8bef9bfb380"
-
-DEPENDS = "zlib"
-
-S = "${WORKDIR}/git"
-SRCREV = "89eedcaa94e1c8a97ea3af10642fd224bcea068f"
-SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;"
-
-inherit cmake pkgconfig
-
-PACKAGECONFIG ?= "libuv client server http2 ssl"
-PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON,"
-PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF,"
-PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF,"
-PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev"
-PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv"
-PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON,"
-PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl"
-PACKAGECONFIG[testapps] = "-DLWS_WITHOUT_TESTAPPS=OFF,-DLWS_WITHOUT_TESTAPPS=ON,"
-
-EXTRA_OECMAKE += " \
- -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
-"
-
-PACKAGES =+ "${PN}-testapps"
-
-FILES_${PN}-testapps += "${datadir}/libwebsockets-test-server/*"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.2.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.2.0.bb
new file mode 100644
index 000000000..9c5503357
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_3.2.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Canonical libwebsockets.org websocket library"
+HOMEPAGE = "https://libwebsockets.org/"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4ce87f3facb6f911c142c8bef9bfb380"
+
+DEPENDS = "zlib"
+
+S = "${WORKDIR}/git"
+SRCREV = "94931cad003faf9d316e698b557bbb6d245f1f91"
+SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v3.2-stable"
+
+inherit cmake pkgconfig
+
+PACKAGECONFIG ?= "libuv client server http2 ssl"
+PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON,"
+PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF,"
+PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF,"
+PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev"
+PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv"
+PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON,"
+PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl"
+PACKAGECONFIG[testapps] = "-DLWS_WITHOUT_TESTAPPS=OFF,-DLWS_WITHOUT_TESTAPPS=ON,"
+
+EXTRA_OECMAKE += " \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+"
+
+PACKAGES =+ "${PN}-testapps"
+
+FILES_${PN}-testapps += "${datadir}/libwebsockets-test-server/*"
+
+CFLAGS_append = " -Wno-error"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch
deleted file mode 100644
index dcbe01d5e..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager/0001-Do-not-set-Wno-unused-but-set-variable.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d4f73b037d11d20f080e74c05df28853fb833075 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 7 Dec 2018 22:59:47 -0800
-Subject: [PATCH] Do not set Wno-unused-but-set-variable
-
-This is gcc specific warning, not implemented by pretending to be gcc
-like compilers e.g. clang.
-
-We will pass this option from recipe
-
-Upstream-Status: Inappropriate [OE-Specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- m4/compiler_warnings.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/m4/compiler_warnings.m4 b/m4/compiler_warnings.m4
-index f498a28..e65e97f 100644
---- a/m4/compiler_warnings.m4
-+++ b/m4/compiler_warnings.m4
-@@ -11,7 +11,7 @@ if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
- -Wdeclaration-after-statement -Wstrict-prototypes \
- -Wno-unused-parameter -Wno-sign-compare \
- -Wno-deprecated-declarations \
-- -Wno-unused-but-set-variable -Wformat-security; do
-+ -Wno-unused -Wformat-security; do
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $option"
- AC_MSG_CHECKING([whether gcc understands $option])
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb
deleted file mode 100644
index 8254a85fc..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.0.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
-DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
-LICENSE = "GPL-2.0 & LGPL-2.1"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-inherit gnomebase gettext systemd vala gobject-introspection bash-completion
-
-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 \
- "
-SRC_URI[md5sum] = "92d25176d0cc9d588ca29700b33c7d98"
-SRC_URI[sha256sum] = "fd0f39996025dac96995daea8a58ec7dd571582f7563a8ae0d5f65b571b76ee2"
-
-S = "${WORKDIR}/ModemManager-${PV}"
-
-PACKAGECONFIG ??= "mbim qmi \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
-"
-
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
-PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
-# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
-PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim"
-# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
-PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
-
-EXTRA_OECONF = " \
- --with-udev-base-dir=${nonarch_base_libdir}/udev \
-"
-CFLAGS_append_toolchain-gcc = " -Wno-unused-but-set-variable"
-
-FILES_${PN} += " \
- ${datadir}/icons \
- ${datadir}/polkit-1 \
- ${datadir}/dbus-1 \
- ${libdir}/ModemManager \
- ${systemd_unitdir}/system \
-"
-
-FILES_${PN}-dev += " \
- ${libdir}/ModemManager/*.la \
-"
-
-FILES_${PN}-staticdev += " \
- ${libdir}/ModemManager/*.a \
-"
-
-FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
-
-SYSTEMD_SERVICE_${PN} = "ModemManager.service"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.6.bb
new file mode 100644
index 000000000..92d4fe0f4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.10.6.bb
@@ -0,0 +1,57 @@
+SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
+DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
+LICENSE = "GPL-2.0 & LGPL-2.1"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit gnomebase gettext systemd vala gobject-introspection bash-completion
+
+DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native"
+
+SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz \
+ "
+
+SRC_URI[md5sum] = "7452a94f0d1ca361ae51ff1d287c53f5"
+SRC_URI[sha256sum] = "3c2ca73782215664141042422759899ca9846440fc26d6223c7cf7ea4dd3c996"
+
+S = "${WORKDIR}/ModemManager-${PV}"
+
+PACKAGECONFIG ??= "mbim qmi \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
+"
+
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
+PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
+# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
+PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim"
+# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
+PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
+
+EXTRA_OECONF = " \
+ --with-udev-base-dir=${nonarch_base_libdir}/udev \
+"
+EXTRA_OECONF_append_toolchain-clang = " --enable-more-warnings=no"
+
+FILES_${PN} += " \
+ ${datadir}/icons \
+ ${datadir}/polkit-1 \
+ ${datadir}/dbus-1 \
+ ${datadir}/ModemManager \
+ ${libdir}/ModemManager \
+ ${systemd_unitdir}/system \
+"
+
+FILES_${PN}-dev += " \
+ ${libdir}/ModemManager/*.la \
+"
+
+FILES_${PN}-staticdev += " \
+ ${libdir}/ModemManager/*.a \
+"
+
+FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
+
+SYSTEMD_SERVICE_${PN} = "ModemManager.service"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
index 715b02352..c201c8651 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
@@ -2,8 +2,7 @@ DESCRIPTION = "obex-data-server is a D-Bus service providing high-level OBEX cli
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+ dbus-glib dbus-glib-native imagemagick openobex"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
+DEPENDS = "gtk+ dbus-glib dbus-glib-native imagemagick openobex bluez5"
SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz \
file://obex-data-server-0.4.6-build-fixes-1.patch \
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
index 3fb8cb190..879072396 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
"
DEPENDS = "virtual/libusb0"
-DEPENDS_append_class-target = " ${@bb.utils.contains('DISTRO_FEATURES','bluez5','bluez5','bluez4',d)}"
+DEPENDS_append_class-target = " bluez5"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}-Source.tar.gz \
"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb b/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
index 913e31111..efa3467a7 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
@@ -6,19 +6,12 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SUMMARY = "Set of Bluetooth related tools for inclusion in images"
-DESCRIPTION = "Includes bluetooth specific tools for this version of BlueZ.\
-These tools are used at runtime. \
-Supports BlueZ4 and BlueZ5."
+DESCRIPTION = "Includes bluetooth specific tools for BlueZ.\
+These tools are used at runtime."
inherit packagegroup
-inherit bluetooth
-RDEPENDS_bluez4 = " \
- obexftp \
- ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'libasound-module-bluez', '', d)} \
-"
-
-RDEPENDS_bluez5 = " \
+RDEPENDS_${PN} = " \
bluez5-noinst-tools \
bluez5-obex \
bluez5-testtools \
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.0.bb
index 79a8f43d7..f3086315d 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.0.bb
@@ -26,3 +26,5 @@ do_install_append() {
rm -rf ${D}${prefix}/samples
find ${D}${prefix} -maxdepth 1 -type f -delete
}
+
+EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb b/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb
deleted file mode 100644
index 01c6e3781..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Telepathy Framework glib-base helper library"
-DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection managers"
-HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
-DEPENDS = "glib-2.0 dbus hostpython-runtime-native dbus-native dbus-glib libxslt-native"
-LICENSE = "LGPLv2.1+"
-
-SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BP}.tar.gz"
-SRC_URI[md5sum] = "93c429e37750b25dcf8de86bb514664f"
-SRC_URI[sha256sum] = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
-
-inherit autotools pkgconfig gettext gobject-introspection
-
-FILES_${PN} += "${datadir}/telepathy \
- ${datadir}/dbus-1"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
new file mode 100644
index 000000000..2b05c61a0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Telepathy Framework glib-base helper library"
+DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection managers"
+HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
+DEPENDS = "glib-2.0 dbus hostpython-runtime-native dbus-native dbus-glib libxslt-native"
+LICENSE = "LGPLv2.1+"
+
+SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BP}.tar.gz"
+SRC_URI[md5sum] = "cbeb0a24acc26e7f095be281c324da69"
+SRC_URI[sha256sum] = "9e0df1d8f857e0270cf0b32e2d1ca5a24aa7282873361785d573f72ad7f7d5eb"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
+
+inherit autotools pkgconfig gettext gobject-introspection vala
+
+EXTRA_OECONF = "--enable-vala-bindings"
+
+FILES_${PN} += "${datadir}/telepathy \
+ ${datadir}/dbus-1"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial/musl-support.patch b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial/musl-support.patch
new file mode 100644
index 000000000..b5ad4823a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial/musl-support.patch
@@ -0,0 +1,25 @@
+Drop support for glibc < 2.10, in master we are at 2.28
+in process get it working with musl as well.
+
+Upstream-Status: Inappropriate [No upstream]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/wvmodemscan.cc
++++ b/wvmodemscan.cc
+@@ -495,16 +495,8 @@ static int fileselect(const struct diren
+ // (no internal ISDN support) || !strncmp(e->d_name, "ttyI", 4);
+ }
+
+-#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 10)
+ static int filesort(const dirent **e1, const dirent **e2)
+-#else
+-static int filesort(const void *_e1, const void *_e2)
+-#endif
+ {
+-#if !(defined(__GLIBC__) && __GLIBC_PREREQ(2, 10))
+- dirent const * const *e1 = (dirent const * const *)_e1;
+- dirent const * const *e2 = (dirent const * const *)_e2;
+-#endif
+ const char *p1, *p2;
+ int diff;
+
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
index 515420817..36580952f 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
@@ -11,8 +11,8 @@ RDEPENDS_${PN} = "ppp"
SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.bz2 \
file://typo_pon.wvdial.1.patch \
+ file://musl-support.patch \
"
-
SRC_URI[md5sum] = "37e9a2d664effe4efd44c0e1a20136de"
SRC_URI[sha256sum] = "99906d9560cbdbc97e1855e7b0a7169f1e11983be3ac539140423f09debced82"
@@ -21,8 +21,6 @@ export WVLINK="${LD}"
PARALLEL_MAKE = ""
-BUILD_CPPFLAGS += "-I${STAGING_INCDIR}/wvstreams"
-
do_configure() {
sed -i 's/LDFLAGS+=-luniconf/LIBS+=-luniconf/' ${S}/Makefile
}
@@ -30,5 +28,3 @@ do_configure() {
do_install() {
oe_runmake prefix=${D}/usr PPPDIR=${D}/etc/ppp/peers install
}
-# http://errors.yoctoproject.org/Errors/Details/186959/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb
deleted file mode 100644
index bab5a6ae6..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb
+++ /dev/null
@@ -1,75 +0,0 @@
-SUMMARY = "Open-source monitoring solution for your IT infrastructure"
-DESCRIPTION = "\
-ZABBIX is software that monitors numerous parameters of a network and the \
-health and integrity of servers. ZABBIX uses a flexible notification \
-mechanism that allows users to configure e-mail based alerts for virtually \
-any event. This allows a fast reaction to server problems. ZABBIX offers \
-excellent reporting and data visualisation features based on the stored \
-data. This makes ZABBIX ideal for capacity planning. \
-\
-ZABBIX supports both polling and trapping. All ZABBIX reports and \
-statistics, as well as configuration parameters are accessed through a \
-web-based front end. A web-based front end ensures that the status of \
-your network and the health of your servers can be assessed from any \
-location. Properly configured, ZABBIX can play an important role in \
-monitoring IT infrastructure. This is equally true for small \
-organisations with a few servers and for large companies with a \
-multitude of servers."
-HOMEPAGE = "http://www.zabbix.com/"
-SECTION = "Applications/Internet"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e"
-DEPENDS = "openldap virtual/libiconv"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-SRC_URI = "http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/${PV}/${BPN}-${PV}.tar.gz \
- file://0001-Fix-configure.ac.patch \
- file://zabbix-agent.service \
-"
-
-SRC_URI[md5sum] = "489d21b464277c0d412155c7e5611a8f"
-SRC_URI[sha256sum] = "4445f26c025009681c29c9b350aa6c4ee7b124ddcaf1609ae36c55997bcb8cf2"
-
-inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "zabbix-agent.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-r zabbix"
-USERADD_PARAM_${PN} = "-r -g zabbix -d /var/lib/zabbix \
- -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \
-"
-
-KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}"
-
-EXTRA_OECONF = " \
- --enable-dependency-tracking \
- --enable-agent \
- --enable-ipv6 \
- --with-net-snmp \
- --with-ldap=${STAGING_EXECPREFIXDIR} \
- --with-jabber \
- --with-unixodbc \
- --with-ssh2 \
- --with-sqlite3 \
-"
-CFLAGS_append = " -lldap -llber"
-
-do_configure_prepend() {
- export KERNEL_VERSION="${KERNEL_VERSION}"
-}
-
-do_install_append() {
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/
- sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service
- fi
-}
-
-FILES_${PN} += "${libdir}"
-
-RDEPENDS_${PN} = "logrotate"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.2.6.bb b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.2.6.bb
new file mode 100644
index 000000000..33c0a82b8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.2.6.bb
@@ -0,0 +1,79 @@
+SUMMARY = "Open-source monitoring solution for your IT infrastructure"
+DESCRIPTION = "\
+ZABBIX is software that monitors numerous parameters of a network and the \
+health and integrity of servers. ZABBIX uses a flexible notification \
+mechanism that allows users to configure e-mail based alerts for virtually \
+any event. This allows a fast reaction to server problems. ZABBIX offers \
+excellent reporting and data visualisation features based on the stored \
+data. This makes ZABBIX ideal for capacity planning. \
+\
+ZABBIX supports both polling and trapping. All ZABBIX reports and \
+statistics, as well as configuration parameters are accessed through a \
+web-based front end. A web-based front end ensures that the status of \
+your network and the health of your servers can be assessed from any \
+location. Properly configured, ZABBIX can play an important role in \
+monitoring IT infrastructure. This is equally true for small \
+organisations with a few servers and for large companies with a \
+multitude of servers."
+HOMEPAGE = "http://www.zabbix.com/"
+SECTION = "Applications/Internet"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e"
+DEPENDS = "libevent libpcre openldap virtual/libiconv zlib"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRC_URI = "http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/${PV}/${BPN}-${PV}.tar.gz \
+ file://0001-Fix-configure.ac.patch \
+ file://zabbix-agent.service \
+"
+
+SRC_URI[md5sum] = "6cd55cd743d416d9ffbf2e6fdee680ee"
+SRC_URI[sha256sum] = "646b1f29a768e3123a00a9afadf382b4d0dfd54e20fb31023f0d6da066da0864"
+
+inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "zabbix-agent.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "-r zabbix"
+USERADD_PARAM_${PN} = "-r -g zabbix -d /var/lib/zabbix \
+ -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \
+"
+
+KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}"
+
+EXTRA_OECONF = " \
+ --enable-dependency-tracking \
+ --enable-agent \
+ --enable-ipv6 \
+ --with-net-snmp \
+ --with-ldap=${STAGING_EXECPREFIXDIR} \
+ --with-jabber \
+ --with-unixodbc \
+ --with-ssh2 \
+ --with-sqlite3 \
+ --with-zlib \
+ --with-libpthread \
+ --with-libevent \
+ --with-libpcre \
+"
+CFLAGS_append = " -lldap -llber -pthread"
+
+do_configure_prepend() {
+ export KERNEL_VERSION="${KERNEL_VERSION}"
+}
+
+do_install_append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service
+ fi
+}
+
+FILES_${PN} += "${libdir}"
+
+RDEPENDS_${PN} = "logrotate"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
index 11ea3be95..cdd2f78cc 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
@@ -4,8 +4,8 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94"
DEPENDS = "zeromq"
-SRCREV = "213da0b04ae3b4d846c9abc46bab87f86bfb9cf4"
-PV = "4.3.0"
+SRCREV = "f5b36e563598d48fcc0d82e589d3596afef945ae"
+PV = "4.4.1"
SRC_URI = "git://github.com/zeromq/cppzmq.git"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.1.bb
deleted file mode 100644
index 6e1337646..000000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
-HOMEPAGE = "http://www.zeromq.org"
-LICENSE = "LGPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
-
-PACKAGECONFIG ??= "libsodium"
-PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium"
-
-SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
- file://run-ptest \
-"
-SRC_URI[md5sum] = "64cbf3577afdbfda30358bc757a6ac83"
-SRC_URI[sha256sum] = "bcbabe1e2c7d0eec4ed612e10b94b112dd5f06fcefa994a0c79a45d835cd21eb"
-
-inherit cmake ptest pkgconfig
-
-EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTS=ON', '-DBUILD_TESTS=OFF', d)} \
- -DCMAKE_SKIP_RPATH=ON \
-"
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- install -m 0755 ${B}/bin/test_* ${D}${PTEST_PATH}/tests
-}
-
-FILES_${PN}-doc += "${datadir}/zmq/*.txt"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb
new file mode 100644
index 000000000..adf2c7ba5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.2.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
+HOMEPAGE = "http://www.zeromq.org"
+LICENSE = "LGPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
+
+PACKAGECONFIG ??= "libsodium"
+PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium"
+
+SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
+ file://run-ptest \
+"
+SRC_URI[md5sum] = "2047e917c2cc93505e2579bcba67a573"
+SRC_URI[sha256sum] = "ebd7b5c830d6428956b67a0454a7f8cbed1de74b3b01e5c33c5378e22740f763"
+
+inherit cmake ptest pkgconfig
+
+EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTS=ON', '-DBUILD_TESTS=OFF', d)} \
+ -DCMAKE_SKIP_RPATH=ON \
+"
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/bin/test_* ${D}${PTEST_PATH}/tests
+}
+
+FILES_${PN}-doc += "${datadir}/zmq/*.txt"
diff --git a/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch b/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch
deleted file mode 100644
index abd7ff416..000000000
--- a/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/gtk-doc.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: eggdbus-0.6/docs/eggdbus/Makefile.am
-===================================================================
---- eggdbus-0.6.orig/docs/eggdbus/Makefile.am
-+++ eggdbus-0.6/docs/eggdbus/Makefile.am
-@@ -87,11 +87,7 @@ HTML_IMAGES = \
- # Extra options to supply to gtkdoc-fixref
- FIXXREF_OPTIONS=
-
--if ENABLE_GTK_DOC
--include $(top_srcdir)/gtk-doc.make
--else
- CLEANFILES =
--endif
-
- CLEANFILES += *~ \
- eggdbus-scan.* \
-Index: eggdbus-0.6/docs/tests/Makefile.am
-===================================================================
---- eggdbus-0.6.orig/docs/tests/Makefile.am
-+++ eggdbus-0.6/docs/tests/Makefile.am
-@@ -65,11 +65,7 @@ HTML_IMAGES = \
- # Extra options to supply to gtkdoc-fixref
- FIXXREF_OPTIONS=
-
--if ENABLE_GTK_DOC
--include $(top_srcdir)/gtk-doc.make
--else
- CLEANFILES =
--endif
-
- CLEANFILES += *~ \
- tests-scan.* \
diff --git a/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch b/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch
deleted file mode 100644
index a605a34c8..000000000
--- a/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus/marshal.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: eggdbus-0.6/src/eggdbus/Makefile.am
-===================================================================
---- eggdbus-0.6.orig/src/eggdbus/Makefile.am
-+++ eggdbus-0.6/src/eggdbus/Makefile.am
-@@ -130,7 +130,7 @@ BUILT_SOURCES = \
- $(NULL)
-
- eggdbus-built-sources.stamp : eggdbus-binding-tool Makefile.am org.freedesktop.DBus.xml org.freedesktop.DBus.Peer.xml org.freedesktop.DBus.Properties.xml org.freedesktop.DBus.Introspectable.xml eggdbus-glib-genmarshal
-- EGG_DBUS_GENMARSHAL=$(top_builddir)/src/eggdbus/eggdbus-glib-genmarshal $(top_builddir)/src/eggdbus/eggdbus-binding-tool \
-+ EGG_DBUS_GENMARSHAL=eggdbus-glib-genmarshal eggdbus-binding-tool \
- --namespace EggDBus \
- --dbus-namespace org.freedesktop.DBus \
- --interfaces-only \
-Index: eggdbus-0.6/src/tests/Makefile.am
-===================================================================
---- eggdbus-0.6.orig/src/tests/Makefile.am
-+++ eggdbus-0.6/src/tests/Makefile.am
-@@ -25,7 +25,7 @@ BUILT_SOURCES = \
- $(NULL)
-
- test-built-sources.stamp : Makefile.am $(top_builddir)/src/eggdbus/eggdbus-binding-tool com.example.Frob.xml com.example.Tweak.xml com.example.Twiddle.xml
-- EGG_DBUS_GENMARSHAL=$(top_builddir)/src/eggdbus/eggdbus-glib-genmarshal $(top_builddir)/src/eggdbus/eggdbus-binding-tool \
-+ EGG_DBUS_GENMARSHAL=eggdbus-glib-genmarshal eggdbus-binding-tool \
- --namespace "Test" \
- --dbus-namespace "com.example" \
- --include-header testtypes.h \
diff --git a/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb b/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb
deleted file mode 100644
index cc28ec77c..000000000
--- a/meta-openembedded/meta-oe/recipes-core/eggdbus/eggdbus_0.6.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "An alternative to dbug-glib."
-DESCRIPTION = "An alternative to dbus-glib. It is designed specifically to \
-make it comfortable to work with very large and potentially \
-complex D-Bus services like e.g. DeviceKit-disks"
-
-HOMEPAGE = "http://cgit.freedesktop.org/~david/eggdbus"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
- file://src/eggdbus/eggdbus.h;md5=6b312aef57ed8d738b3f131ad037d6c2"
-
-DEPENDS = "dbus glib-2.0 dbus-glib eggdbus-native"
-DEPENDS_class-native = "dbus-native glib-2.0-native dbus-glib-native"
-
-SRC_URI = "http://cgit.freedesktop.org/~david/${BPN}/snapshot/${BPN}-${PV}.tar.bz2 \
- file://gtk-doc.patch \
-"
-SRC_URI_append_class-target = "file://marshal.patch"
-SRC_URI[md5sum] = "0a111faa54dfba2cf432c2c8e8a76e06"
-SRC_URI[sha256sum] = "3ad26e271c1a879bafcd181e065fe0ed53b542299a773c3188c9edb25b895ed1"
-
-inherit autotools gtk-doc
-
-EXTRA_OECONF = " --disable-man-pages "
-
-BBCLASSEXTEND = "native"
-
-PARALLEL_MAKE = ""
-
-do_configure_prepend() {
- # Create ChangeLog to walk around automake error.
- # " Makefile.am: error: required file './ChangeLog' not found "
- touch ${S}/ChangeLog
-}
diff --git a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.58.1.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.58.1.bb
deleted file mode 100644
index 87ab0cbc5..000000000
--- a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.58.1.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "C++ bindings for the glib library"
-HOMEPAGE = "http://www.gtkmm.org/"
-SECTION = "libs"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
-inherit autotools pkgconfig
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI = " \
- ftp://ftp.gnome.org/pub/GNOME/sources/glibmm/${SHRT_VER}/glibmm-${PV}.tar.xz \
- file://remove-examples.patch \
-"
-SRC_URI[md5sum] = "77f1016cbb27e15d4e04a2b7bfdb4cae"
-SRC_URI[sha256sum] = "6e5fe03bdf1e220eeffd543e017fd2fb15bcec9235f0ffd50674aff9362a85f0"
-
-do_install_append() {
- install -d ${D}${datadir}/glibmm-2.4
- install -d ${D}${datadir}/aclocal
-
- install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
- install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
-
- for i in generate_wrap_init.pl gmmproc; do
- sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.4/proc/$i
- done
-}
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
-
-RDEPENDS_${PN}-dev = "perl"
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.60.0.bb b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.60.0.bb
new file mode 100644
index 000000000..7163212b5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/glib-2.0/glibmm_2.60.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "C++ bindings for the glib library"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
+inherit gnomebase
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI += " \
+ file://remove-examples.patch \
+"
+SRC_URI[archive.md5sum] = "0f6180d185c067bdb2aa30d035f9b867"
+SRC_URI[archive.sha256sum] = "a3a1b1c9805479a16c0018acd84b3bfff23a122aee9e3c5013bb81231aeef2bc"
+
+do_install_append() {
+ install -d ${D}${datadir}/glibmm-2.4
+ install -d ${D}${datadir}/aclocal
+
+ install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
+ install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
+
+ for i in generate_wrap_init.pl gmmproc; do
+ sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.4/proc/$i
+ done
+}
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
+
+RDEPENDS_${PN}-dev = "perl"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.1.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.1.bb
deleted file mode 100644
index 62054a116..000000000
--- a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "A library for loose coupling of C++ method calls"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-
-DEPENDS = "mm-common"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.10/libsigc++-${PV}.tar.xz"
-SRC_URI[md5sum] = "549cffbdb72fa105b782756f2713ffc7"
-SRC_URI[sha256sum] = "c9a25f26178c6cbb147f9904d8c533b5a5c5111a41ac2eb781eb734eea446003"
-
-S = "${WORKDIR}/libsigc++-${PV}"
-
-inherit autotools
-
-EXTRA_AUTORECONF = "--exclude=autoheader"
-
-FILES_${PN}-dev += "${libdir}/sigc++-*/"
-FILES_${PN}-doc += "${datadir}/devhelp"
-
-BBCLASSEXTEND = "native"
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.2.bb b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.2.bb
new file mode 100644
index 000000000..0e5b9ceeb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A library for loose coupling of C++ method calls"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+DEPENDS = "mm-common"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.10/libsigc++-${PV}.tar.xz"
+SRC_URI[md5sum] = "1b067bfae0b502e6a5127336cb09d2dd"
+SRC_URI[sha256sum] = "b1ca0253379596f9c19f070c83d362b12dfd39c0a3ea1dd813e8e21c1a097a98"
+
+S = "${WORKDIR}/libsigc++-${PV}"
+
+inherit autotools
+
+FILES_${PN}-dev += "${libdir}/sigc++-*/"
+FILES_${PN}-doc += "${datadir}/devhelp"
+
+BBCLASSEXTEND = "native"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb
deleted file mode 100644
index 2f299b1ba..000000000
--- a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v63.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "libnvdimm utility library"
-DESCRIPTION = "Utility library for managing the libnvdimm \
-(non-volatile memory device) sub-system in the Linux kernel. \
-The LIBNVDIMM subsystem provides support for three types of \
-NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \
-simultaneously support both PMEM and BLK mode access."
-HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e66651809cac5da60c8b80e9e4e79e08"
-
-inherit autotools-brokensep pkgconfig bash-completion systemd
-
-SRCREV = "cb2d678dd6d286dd96d31548c32449a8b883ae32"
-SRC_URI = "git://github.com/pmem/ndctl.git"
-
-DEPENDS = "kmod udev json-c"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF += "--enable-test --enable-destructive --disable-docs"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
-PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd, systemd"
-
-do_configure_prepend() {
- ${S}/autogen.sh
-}
-
-SYSTEMD_SERVICE_${PN} = "ndctl-monitor.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
diff --git a/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v65.bb b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v65.bb
new file mode 100644
index 000000000..69ee1d476
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/ndctl/ndctl_v65.bb
@@ -0,0 +1,32 @@
+SUMMARY = "libnvdimm utility library"
+DESCRIPTION = "Utility library for managing the libnvdimm \
+(non-volatile memory device) sub-system in the Linux kernel. \
+The LIBNVDIMM subsystem provides support for three types of \
+NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \
+simultaneously support both PMEM and BLK mode access."
+HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e66651809cac5da60c8b80e9e4e79e08"
+
+inherit autotools-brokensep pkgconfig bash-completion systemd
+
+SRCREV = "ed17fd14608d8de072c8c090ffc5fcf78c4f48ff"
+SRC_URI = "git://github.com/pmem/ndctl.git"
+
+DEPENDS = "kmod udev json-c keyutils"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--enable-test --enable-destructive --disable-docs"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
+PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd, systemd"
+
+do_configure_prepend() {
+ ${S}/autogen.sh
+}
+
+SYSTEMD_SERVICE_${PN} = "ndctl-monitor.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+FILES_${PN} += "${datadir}/daxctl/daxctl.conf"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
index b12183b3a..2da9118af 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
@@ -2,14 +2,11 @@
# Please communicate your use cases and suggestions to the mailinglist(s)
SUMMARY = "Basic task to get a device online"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r13"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
-inherit bluetooth
# Poke extra recomendations into the list using your machine.conf
#
@@ -46,7 +43,7 @@ RRECOMMENDS_${PN} = "\
${@bb.utils.contains("MACHINE_FEATURES", "alsa", "alsa-utils-alsamixer", "", d)} \
${@bb.utils.contains("MACHINE_FEATURES", "usbgadget", "kernel-module-g-ether kernel-module-g-serial kernel-module-g-mass-storage", "", d)} \
\
- ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "${BLUEZ}", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "bluez5", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "wifi", "iw wpa-supplicant", "", d)} \
\
tzdata \
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
index 3ae7a49fe..b5e7b99cc 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
@@ -1,6 +1,4 @@
SUMMARY = "Basic task to get a device booting"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r58"
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 e34cce4eb..5bb0beb7a 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
@@ -68,13 +68,13 @@ RDEPENDS_packagegroup-meta-oe-connectivity ="\
ser2net smstools3 telepathy-glib telepathy-idle thrift \
usbmuxd wvstreams zabbix zeromq \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "obex-data-server", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "pulseadio bluez4", "libmikmod", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "bluez4", "obexftp openobex libnet wvdial", "", d)} \
+ libmikmod \
+ obexftp openobex libnet wvdial \
"
# dracut needs dracut
RDEPENDS_packagegroup-meta-oe-core ="\
- dbus-daemon-proxy libdbus-c++ eggdbus \
+ dbus-daemon-proxy libdbus-c++ \
ell glibmm libsigc++-2.0 libxml++ distro-feed-configs \
mm-common opencl-headers opencl-icd-loader \
proxy-libintl usleep \
@@ -99,13 +99,12 @@ RDEPENDS_packagegroup-meta-oe-dbs ="\
leveldb libdbi mariadb mariadb-native \
mysql-python postgresql psqlodbc rocksdb soci \
sqlite \
- ${@bb.utils.contains("DISTRO_FEATURES", "bluez4", "mongodb", "", d)} \
"
RDEPENDS_packagegroup-meta-oe-devtools ="\
android-tools android-tools-conf bootchart breakpad \
capnproto cgdb cscope ctags \
- debootstrap dejagnu dmalloc flatbuffers \
+ debootstrap dmalloc flatbuffers \
giflib icon-slicer iptraf-ng jq jsoncpp jsonrpc json-spirit \
kconfig-frontends lemon libedit libgee libsombok3 \
libubox log4cplus lshw ltrace lua mcpp memstat mercurial \
@@ -139,11 +138,11 @@ RDEPENDS_packagegroup-meta-oe-extended ="\
p7zip p8platform libfile-fnmatch-perl \
rarpd redis rrdtool libfastjson librelp rsyslog sanlock \
sblim-cmpi-devel sblim-sfc-common sblim-sfcc \
- scsirastools sgpio smartmontools snappy can-isotp \
+ scsirastools sgpio smartmontools snappy \
can-utils libsocketcan tipcutils tiptop \
tmux uml-utilities upm vlock volume-key wipe zlog zram \
${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "boinc-client", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", " libgxim t1lib gnuplot libwmf gtkmathview", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", " libgxim gnuplot libwmf", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "bluez", "collectd", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-plugin-ccreds pam-plugin-ldapdb", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-ssh-agent-auth openwsman sblim-sfcb ", "", d)} \
@@ -182,22 +181,22 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
"
RDEPENDS_packagegroup-meta-oe-kernel ="\
- agent-proxy bpftool broadcom-bt-firmware cpupower \
+ agent-proxy broadcom-bt-firmware cpupower \
crash ipmitool minicoredumper oprofile \
"
-RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "bpftool crash minicoredumper"
+RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "crash minicoredumper"
RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64 = "crash"
RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64el = "crash"
RDEPENDS_packagegroup-meta-oe-multimedia ="\
- alsa-oss audiofile cdrkit esound id3lib \
+ alsa-oss audiofile cdrkit id3lib \
a2jmidid jack libass libburn libcdio libcdio-paranoia \
libdvdread libmms libmodplug libopus live555 \
mplayer-common opus-tools \
sound-theme-freedesktop v4l-utils yavta wavpack libvpx \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "xpext pavucontrol xsp", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "pulseadio bluez4", "libmikmod", "", d)} \
+ libmikmod \
${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libmad faad2 mpv", "", d)} \
"
RDEPENDS_packagegroup-meta-oe-multimedia_remove_libc-musl = "alsa-oss"
@@ -249,10 +248,10 @@ RDEPENDS_packagegroup-meta-oe-support ="\
vim vim-tiny websocketpp wmiconfig xdelta3 xdg-user-dirs xmlstarlet \
zbar zile \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "geis toscoterm uim synergy utouch-mtview links-x11 fltk pidgin-otr", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "pulseadio bluez4", "libcanberra", "", d)} \
+ libcanberra \
${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "xorgxrdp xrdp", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "bluez4", "procmail", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "udisks udisks2 upower", "", d)} \
+ procmail \
+ ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "udisks2 upower", "", d)} \
${NE10} \
"
@@ -265,7 +264,7 @@ RDEPENDS_packagegroup-meta-oe-support-egl ="\
RDEPENDS_packagegroup-meta-oe-test ="\
catch2 cppunit cunit cxxtest evtest fb-test \
- fwts gtest pm-qa stress-ng testfloat \
+ fwts googletest pm-qa stress-ng testfloat \
"
RDEPENDS_packagegroup-meta-oe-test_remove_libc-musl = "pm-qa"
RDEPENDS_packagegroup-meta-oe-test_remove_arm = "fwts"
diff --git a/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb b/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
index f11ae7e4d..68dc80424 100644
--- a/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
+++ b/meta-openembedded/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
@@ -8,7 +8,7 @@ PR = "r1"
PROVIDES = "virtual/libintl"
SRC_URI = " \
- http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/${PN}-dev_${PV}_win32.zip \
+ http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/${BPN}-dev_${PV}_win32.zip \
"
SRC_URI[md5sum] = "aef407c2b97ee829383aadd867c61d1e"
SRC_URI[sha256sum] = "291ac350cc5eb4a01b0d651ca99fae64cee8a1c06b2005277fab5a4356f9ae91"
diff --git a/meta-openembedded/meta-oe/recipes-core/safec/safec/0001-memrchr-Use-_ISOC11_SOURCE-only-with-glibc.patch b/meta-openembedded/meta-oe/recipes-core/safec/safec/0001-memrchr-Use-_ISOC11_SOURCE-only-with-glibc.patch
new file mode 100644
index 000000000..8f18f4872
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/safec/safec/0001-memrchr-Use-_ISOC11_SOURCE-only-with-glibc.patch
@@ -0,0 +1,30 @@
+From 57456b5d034c8965b11eceed1bf861c98a18c324 Mon Sep 17 00:00:00 2001
+From: "jenkins@kwaj" <jenkins@kwaj>
+Date: Wed, 11 Sep 2019 13:43:45 -0700
+Subject: [PATCH] memrchr: Use _ISOC11_SOURCE only with glibc
+
+this is a glibc feature test macro which is not available
+on other libraries e.g. musl
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/extmem/memrchr_s.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/extmem/memrchr_s.c b/src/extmem/memrchr_s.c
+index 8d10a7b9..e73d3579 100644
+--- a/src/extmem/memrchr_s.c
++++ b/src/extmem/memrchr_s.c
+@@ -36,7 +36,7 @@
+ #endif
+
+ #ifdef HAVE_MEMRCHR
+-#ifndef _ISOC11_SOURCE
++#if defined (__GLIBC__) && !defined(_ISOC11_SOURCE)
+ extern void *memrchr(const void *, int, size_t);
+ #endif
+ #endif
+--
+2.17.1
+
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
deleted file mode 100644
index d55d081f3..000000000
--- a/meta-openembedded/meta-oe/recipes-core/safec/safec_3.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-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-core/safec/safec_3.5.bb b/meta-openembedded/meta-oe/recipes-core/safec/safec_3.5.bb
new file mode 100644
index 000000000..c9ace3b0b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-core/safec/safec_3.5.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Safe C Library"
+
+LICENSE = "safec"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6d0eb7dfc57806a006fcbc4e389cf164"
+SECTION = "lib"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+SRCREV = "a99a052a56da409638c9fe7e096a5ae6661ca7cb"
+SRC_URI = "git://github.com/rurban/safeclib.git \
+ file://0001-memrchr-Use-_ISOC11_SOURCE-only-with-glibc.patch \
+"
+
+CPPFLAGS_append_libc-musl = " -D_GNU_SOURCE"
+
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm).*-linux'
+
+RDEPENDS_${PN} = "perl"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.11.0.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.11.0.bb
new file mode 100644
index 000000000..c2d644b41
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.11.0.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Crypto and TLS for C++11"
+HOMEPAGE = "https://botan.randombit.net"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://license.txt;md5=f4c145d4d70a3244a053c9f90d4841fc"
+SECTION = "libs"
+
+SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz"
+SRC_URI[md5sum] = "2dba13b0d25d0e9d2a6f9867c62c9f2e"
+SRC_URI[sha256sum] = "f7874da2aeb8c018fd77df40b2137879bf90b66f5589490c991e83fb3e8094be"
+
+S = "${WORKDIR}/Botan-${PV}"
+
+inherit python3native siteinfo lib_package
+
+CPU ?= "${TARGET_ARCH}"
+CPU_x86 = "x86_32"
+CPU_armv7a = "armv7"
+CPU_armv7ve = "armv7"
+
+do_configure() {
+ python3 ${S}/configure.py \
+ --prefix="${D}${prefix}" \
+ --cpu="${CPU}" \
+ --cc-bin="${CXX}" \
+ --cxxflags="${CXXFLAGS}" \
+ --ldflags="${LDFLAGS}" \
+ --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
+ ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \
+ --with-sysroot-dir=${STAGING_DIR_TARGET} \
+ --with-build-dir="${B}" \
+ --optimize-for-size \
+ --with-stack-protector \
+ --enable-shared-library \
+ --with-python-versions=3 \
+ ${EXTRA_OECONF}
+}
+
+do_compile() {
+ oe_runmake
+}
+do_install() {
+ oe_runmake install
+ sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-2.pc
+}
+
+PACKAGES += "${PN}-python3"
+
+FILES_${PN}-python3 = "${libdir}/python3"
+
+RDEPENDS_${PN}-python3 += "python3"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.9.0.bb b/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.9.0.bb
deleted file mode 100644
index a7d25d567..000000000
--- a/meta-openembedded/meta-oe/recipes-crypto/botan/botan_2.9.0.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "Crypto and TLS for C++11"
-HOMEPAGE = "https://botan.randombit.net"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://license.txt;md5=f4c145d4d70a3244a053c9f90d4841fc"
-SECTION = "libs"
-
-SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tgz"
-SRC_URI[md5sum] = "db8403d6a2f10c20fde3f3c76be9a045"
-SRC_URI[sha256sum] = "305564352334dd63ae63db039077d96ae52dfa57a3248871081719b6a9f2d119"
-
-S = "${WORKDIR}/Botan-${PV}"
-
-inherit python3native siteinfo lib_package
-
-CPU ?= "${TARGET_ARCH}"
-CPU_x86 = "x86_32"
-CPU_armv7a = "armv7"
-CPU_armv7ve = "armv7"
-
-do_configure() {
- python3 ${S}/configure.py \
- --prefix="${D}${prefix}" \
- --cpu="${CPU}" \
- --cc-bin="${CXX}" \
- --cxxflags="${CXXFLAGS}" \
- --ldflags="${LDFLAGS}" \
- --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
- ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \
- --with-sysroot-dir=${STAGING_DIR_TARGET} \
- --with-build-dir="${B}" \
- --optimize-for-size \
- --with-stack-protector \
- --enable-shared-library \
- --with-python-versions=3 \
- ${EXTRA_OECONF}
-}
-
-do_compile() {
- oe_runmake
-}
-do_install() {
- oe_runmake install
- sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-2.pc
-}
-
-PACKAGES += "${PN}-python3"
-
-FILES_${PN}-python3 = "${libdir}/python3"
-
-RDEPENDS_${PN}-python3 += "python3"
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
deleted file mode 100644
index 51cecf5d2..000000000
--- a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.1.0.bb
+++ /dev/null
@@ -1,85 +0,0 @@
-SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
-DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
-device-mapper mappings. These include plain dm-crypt volumes and \
-LUKS volumes. The difference is that LUKS uses a metadata header \
-and can hence offer more features than plain dm-crypt. On the other \
-hand, the header is visible and vulnerable to damage."
-HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup"
-SECTION = "console"
-LICENSE = "GPL-2.0-with-OpenSSL-exception"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
-
-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"
-SRC_URI[sha256sum] = "a3eeb2741f8f3376d16585191f3c60e067dd987e096c3c4b073fab7748b1c897"
-
-inherit autotools gettext pkgconfig
-
-# Use openssl because libgcrypt drops root privileges
-# if libgcrypt is linked with libcap support
-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 \
- kernel-module-md5 \
- kernel-module-cbc \
- kernel-module-sha256-generic \
- kernel-module-xts \
-"
-
-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)}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.2.1.bb b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.2.1.bb
new file mode 100644
index 000000000..ae5988b57
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.2.1.bb
@@ -0,0 +1,92 @@
+SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
+DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
+device-mapper mappings. These include plain dm-crypt volumes and \
+LUKS volumes. The difference is that LUKS uses a metadata header \
+and can hence offer more features than plain dm-crypt. On the other \
+hand, the header is visible and vulnerable to damage."
+HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup"
+SECTION = "console"
+LICENSE = "GPL-2.0-with-OpenSSL-exception"
+LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
+
+DEPENDS = " \
+ json-c \
+ libdevmapper \
+ popt \
+ util-linux \
+"
+
+RDEPENDS_${PN} = " \
+ libdevmapper \
+"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
+SRC_URI[md5sum] = "1654c8d2aa0dac51c8d1d755df61ae6c"
+SRC_URI[sha256sum] = "94e79a31ed38bdb0acd9af7ccca1605a2ac62ca850ed640202876b1ee11c1c61"
+
+inherit autotools gettext pkgconfig
+
+# Use openssl because libgcrypt drops root privileges
+# if libgcrypt is linked with libcap support
+PACKAGECONFIG ??= " \
+ keyring \
+ cryptsetup \
+ veritysetup \
+ cryptsetup-reencrypt \
+ integritysetup \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
+ kernel_crypto \
+ internal-argon2 \
+ blkid \
+ luks-adjust-xts-keysize \
+ openssl \
+"
+PACKAGECONFIG_append_class-target = " \
+ udev \
+"
+
+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"
+PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1"
+
+RRECOMMENDS_${PN} = "kernel-module-aes-generic \
+ kernel-module-dm-crypt \
+ kernel-module-md5 \
+ kernel-module-cbc \
+ kernel-module-sha256-generic \
+ kernel-module-xts \
+"
+
+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)}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
index 46c66a1b2..799070972 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb
@@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14d5a68b28755c04ebdba226e888b157"
DEPENDS = "libtool"
S = "${WORKDIR}/git"
-SRCREV = "3c56934f44a8f5a1257c342942e6e034fc6f20be"
-PV = "1.1.4+git${SRCPV}"
+SRCREV = "5649050d201856bf06c8738b5d2aa1710c86ac2f"
+PV = "1.1.5"
SRC_URI = " \
git://github.com/smuellerDD/libkcapi.git \
"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.17.bb b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.17.bb
deleted file mode 100644
index 8d9302f30..000000000
--- a/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.17.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "The Sodium crypto library"
-HOMEPAGE = "http://libsodium.org/"
-BUGTRACKER = "https://github.com/jedisct1/libsodium/issues"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=47203c753972e855179dfffe15188bee"
-
-SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "0f71e2680187a1558b5461e6879342c5"
-SRC_URI[sha256sum] = "0cc3dae33e642cc187b5ceb467e0ad0e1b51dcba577de1190e9ffa17766ac2b1"
-
-inherit autotools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb
new file mode 100644
index 000000000..53b3ddc26
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb
@@ -0,0 +1,13 @@
+SUMMARY = "The Sodium crypto library"
+HOMEPAGE = "http://libsodium.org/"
+BUGTRACKER = "https://github.com/jedisct1/libsodium/issues"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=47203c753972e855179dfffe15188bee"
+
+SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "3ca9ebc13b6b4735acae0a6a4c4f9a95"
+SRC_URI[sha256sum] = "6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1"
+
+inherit autotools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
index 4d7ac3aa5..e636adc55 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
@@ -1,7 +1,7 @@
-From fbfceebce2121831904f2f7115252dd03b413a6d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 19 Sep 2017 18:52:53 -0700
-Subject: [PATCH] IntelRDFPMathLib20U1: Check for __DEFINED_wchar_t
+From 97914aeab52b4d0ea0ab9e5ff985a1c5cddb0fa1 Mon Sep 17 00:00:00 2001
+From: Vincent Prince <vincent.prince.fr@gmail.com>
+Date: Mon, 16 Sep 2019 13:41:39 +0200
+Subject: [PATCH 06/10] IntelRDFPMathLib20U1: Check for __DEFINED_wchar_t
This is defined by musl if wchar_t is already defined
@@ -12,16 +12,15 @@ src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h:46:15: error: t
typedef int wchar_t;
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
---
-Upstream-Status: Pending
-
src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: git/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
-===================================================================
---- git.orig/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
-+++ git/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
+diff --git a/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h b/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
+index 56775bc..be96a85 100755
+--- a/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
++++ b/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
@@ -43,7 +43,7 @@
#if 0 // MongoDB Modification -- just `#include <stddef.h>`
@@ -31,3 +30,6 @@ Index: git/src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h
typedef int wchar_t;
#endif
#else
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch
new file mode 100644
index 000000000..5337fcdbf
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch
@@ -0,0 +1,31 @@
+From ca004968b8d2149f72d4edcfe029489a8c5e10ca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Sep 2019 12:31:31 -0700
+Subject: [PATCH] Mark one of strerror_r implementation glibc specific
+
+glibc has two incompatible strerror_r definitions, one of them is
+specific to glibc, mark this one so
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/util/errno_util.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mongo/util/errno_util.cpp b/src/mongo/util/errno_util.cpp
+index 564c0071ea..4f7e1d3a38 100644
+--- a/src/mongo/util/errno_util.cpp
++++ b/src/mongo/util/errno_util.cpp
+@@ -61,7 +61,7 @@ std::string errnoWithDescription(int errNumber) {
+ char buf[kBuflen];
+ char* msg{nullptr};
+
+-#if defined(__GNUC__) && defined(_GNU_SOURCE) && \
++#if defined(__GNUC__) && defined(_GNU_SOURCE) && defined(__GLIBC__) && \
+ (!defined(__ANDROID_API__) || !(__ANDROID_API__ <= 22)) && !defined(EMSCRIPTEN)
+ msg = strerror_r(errNumber, buf, kBuflen);
+ #elif defined(_WIN32)
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch
index 070411ab9..3d949c873 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Support-deprecated-resolver-functions.patch
@@ -1,7 +1,7 @@
-From 5994023a03634dfc0318976c293e7391fe6aa060 Mon Sep 17 00:00:00 2001
+From 8d035e84c2edb44461ef4df9cdef0a6dfce0a1d7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 24 Aug 2018 12:56:22 -0700
-Subject: [PATCH 1/2] Support deprecated resolver functions
+Subject: [PATCH 07/10] Support deprecated resolver functions
Needed for musl libc
@@ -12,10 +12,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 6 insertions(+)
diff --git a/src/mongo/util/dns_query_posix-impl.h b/src/mongo/util/dns_query_posix-impl.h
-index d19958010c..bbca3309ed 100644
+index a5e3629..fb29d2d 100644
--- a/src/mongo/util/dns_query_posix-impl.h
+++ b/src/mongo/util/dns_query_posix-impl.h
-@@ -53,6 +53,12 @@
+@@ -54,6 +54,12 @@
#include <boost/noncopyable.hpp>
@@ -29,5 +29,5 @@ index d19958010c..bbca3309ed 100644
namespace dns {
// The anonymous namespace is safe, in this header, as it is not really a header. It is only used
--
-2.18.0
+2.7.4
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
index a6d721ac5..190884624 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
@@ -1,19 +1,20 @@
-From 53368d3f4adc09dd84234a9af31771bcd8ca2757 Mon Sep 17 00:00:00 2001
-From: Sven Ebenfeld <sven.ebenfeld@gmail.com>
-Date: Fri, 15 Jan 2016 22:41:28 +0100
-Subject: [PATCH] Tell scons to use build settings from environment variables
+From 1b2e24e14ee72e54e466be2512c78272f62d60b4 Mon Sep 17 00:00:00 2001
+From: Vincent Prince <vincent.prince.fr@gmail.com>
+Date: Mon, 16 Sep 2019 13:21:44 +0200
+Subject: [PATCH 01/10] Tell scons to use build settings from environment
+ variables
Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com>
+Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
---
SConstruct | 8 ++++++--
- src/mongo/util/SConscript | 2 ++
- 2 files changed, 8 insertions(+), 2 deletions(-)
+ 1 files changed, 8 insertions(+), 2 deletions(-)
-Index: git/SConstruct
-===================================================================
---- git.orig/SConstruct
-+++ git/SConstruct
-@@ -564,6 +564,7 @@ def variable_arch_converter(val):
+diff --git a/SConstruct b/SConstruct
+index 7ebbcbc..e63cf15 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -608,6 +608,7 @@ def variable_arch_converter(val):
'amd64': 'x86_64',
'emt64': 'x86_64',
'x86': 'i386',
@@ -21,7 +22,7 @@ Index: git/SConstruct
}
val = val.lower()
-@@ -652,7 +653,8 @@ env_vars.Add(
+@@ -695,7 +696,8 @@ env_vars.Add(
)
env_vars.Add('CC',
@@ -31,7 +32,7 @@ Index: git/SConstruct
env_vars.Add('CCFLAGS',
help='Sets flags for the C and C++ compiler',
-@@ -672,7 +674,8 @@ env_vars.Add('CPPPATH',
+@@ -715,7 +717,8 @@ env_vars.Add('CPPPATH',
converter=variable_shlex_converter)
env_vars.Add('CXX',
@@ -41,24 +42,15 @@ Index: git/SConstruct
env_vars.Add('CXXFLAGS',
help='Sets flags for the C++ compiler',
-@@ -961,6 +964,7 @@ envDict = dict(BUILD_ROOT=buildDir,
+@@ -1018,6 +1021,7 @@ envDict = dict(BUILD_ROOT=buildDir,
)
env = Environment(variables=env_vars, **envDict)
+env.PrependENVPath('PATH', os.getenv('PATH'))
del envDict
- env.AddMethod(mongo_platform.env_os_is_wrapper, 'TargetOSIs')
-Index: git/src/mongo/util/SConscript
-===================================================================
---- git.orig/src/mongo/util/SConscript
-+++ git/src/mongo/util/SConscript
-@@ -329,6 +329,8 @@ if env['MONGO_ALLOCATOR'] == 'tcmalloc':
- 'MONGO_HAVE_GPERFTOOLS_SIZE_CLASS_STATS'
- ]
- )
-+ if not use_system_version_of_library('valgrind'):
-+ tcmspEnv.InjectThirdPartyIncludePaths('valgrind')
+ for var in ['CC', 'CXX']:
- if not use_system_version_of_library('valgrind'):
- # Include valgrind since tcmalloc disables itself while running under valgrind
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
index c17ebf1e7..d98fa56cb 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
@@ -1,18 +1,18 @@
-From 3eed8388b49d5d3cbc2db74fee1b017eb4b40d0a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Sep 2017 10:06:24 -0700
-Subject: [PATCH] Use __GLIBC__ to control use of gnu_get_libc_version
+From d701ceeb15662038435b80ba556a80c17f76d2dc Mon Sep 17 00:00:00 2001
+From: Vincent Prince <vincent.prince.fr@gmail.com>
+Date: Mon, 16 Sep 2019 13:30:13 +0200
+Subject: [PATCH 03/10] Use __GLIBC__ to control use of gnu_get_libc_version
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
---
-Upstream-Status: Pending
- src/mongo/util/processinfo_linux.cpp | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
+ src/mongo/util/processinfo_linux.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
-Index: git/src/mongo/util/processinfo_linux.cpp
-===================================================================
---- git.orig/src/mongo/util/processinfo_linux.cpp
-+++ git/src/mongo/util/processinfo_linux.cpp
+diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp
+index cccb91c..45c4b7d 100644
+--- a/src/mongo/util/processinfo_linux.cpp
++++ b/src/mongo/util/processinfo_linux.cpp
@@ -44,10 +44,10 @@
#include <unistd.h>
#ifdef __BIONIC__
@@ -27,8 +27,8 @@ Index: git/src/mongo/util/processinfo_linux.cpp
#endif
#include <boost/filesystem.hpp>
-@@ -503,7 +503,7 @@ void ProcessInfo::SystemInfo::collectSys
- stringstream ss;
+@@ -546,7 +546,7 @@ void ProcessInfo::SystemInfo::collectSystemInfo() {
+ std::stringstream ss;
ss << "uClibc-" << __UCLIBC_MAJOR__ << "." << __UCLIBC_MINOR__ << "." << __UCLIBC_SUBLEVEL__;
bExtra.append("libcVersion", ss.str());
-#else
@@ -36,3 +36,6 @@ Index: git/src/mongo/util/processinfo_linux.cpp
bExtra.append("libcVersion", gnu_get_libc_version());
#endif
if (!verSig.empty())
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
index 99edad3c4..b9c670407 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
@@ -1,7 +1,7 @@
-From a4951489d649c2b609cbb80f6cfb49fdcad8bd43 Mon Sep 17 00:00:00 2001
+From 20fcbf2a05ee6542aba942f6006d149db70fb9ce Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Sep 2017 10:03:37 -0700
-Subject: [PATCH] Use long long instead of int64_t
+Subject: [PATCH 02/10] Use long long instead of int64_t
Fixes
error: call to member function 'appendNumber' is ambiguous
@@ -9,15 +9,14 @@ since this function expects long long as parameter and not int64_t
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
-Upstream-Status: Pending
src/mongo/util/procparser.cpp | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
-Index: git/src/mongo/util/procparser.cpp
-===================================================================
---- git.orig/src/mongo/util/procparser.cpp
-+++ git/src/mongo/util/procparser.cpp
-@@ -260,7 +260,7 @@ Status parseProcStat(const std::vector<S
+diff --git a/src/mongo/util/procparser.cpp b/src/mongo/util/procparser.cpp
+index c574a3f..5ea66b7 100644
+--- a/src/mongo/util/procparser.cpp
++++ b/src/mongo/util/procparser.cpp
+@@ -261,7 +261,7 @@ Status parseProcStat(const std::vector<StringData>& keys,
StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
@@ -26,7 +25,7 @@ Index: git/src/mongo/util/procparser.cpp
if (!parseNumberFromString(stringValue, &value).isOK()) {
value = 0;
-@@ -272,7 +272,7 @@ Status parseProcStat(const std::vector<S
+@@ -273,7 +273,7 @@ Status parseProcStat(const std::vector<StringData>& keys,
} else {
StringData stringValue((*partIt).begin(), (*partIt).end() - (*partIt).begin());
@@ -35,7 +34,7 @@ Index: git/src/mongo/util/procparser.cpp
if (!parseNumberFromString(stringValue, &value).isOK()) {
value = 0;
-@@ -365,7 +365,7 @@ Status parseProcMemInfo(const std::vecto
+@@ -366,7 +366,7 @@ Status parseProcMemInfo(const std::vector<StringData>& keys,
StringData stringValue((*partIt).begin(), (*partIt).end());
@@ -44,7 +43,7 @@ Index: git/src/mongo/util/procparser.cpp
if (!parseNumberFromString(stringValue, &value).isOK()) {
value = 0;
-@@ -522,7 +522,7 @@ Status parseProcDiskStats(const std::vec
+@@ -522,7 +522,7 @@ Status parseProcDiskStats(const std::vector<StringData>& disks,
StringData data,
BSONObjBuilder* builder) {
bool foundKeys = false;
@@ -53,7 +52,7 @@ Index: git/src/mongo/util/procparser.cpp
stats.reserve(kDiskFieldCount);
using string_split_iterator = boost::split_iterator<StringData::const_iterator>;
-@@ -597,7 +597,7 @@ Status parseProcDiskStats(const std::vec
+@@ -597,7 +597,7 @@ Status parseProcDiskStats(const std::vector<StringData>& disks,
StringData stringValue((*partIt).begin(), (*partIt).end());
@@ -62,3 +61,6 @@ Index: git/src/mongo/util/procparser.cpp
if (!parseNumberFromString(stringValue, &value).isOK()) {
value = 0;
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
index b597422e4..e726933f5 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
@@ -1,28 +1,29 @@
-From 31ca5c563f1d9a3f70258be3dd2b1e547a65a550 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 5 Feb 2019 00:21:12 -0800
-Subject: [PATCH] asio: Dont use experimental with clang
+From 097e8a66930cfa28ac8bfa35f62d0a9ee3b74488 Mon Sep 17 00:00:00 2001
+From: Vincent Prince <vincent.prince.fr@gmail.com>
+Date: Mon, 16 Sep 2019 13:46:52 +0200
+Subject: [PATCH 10/10] asio: Dont use experimental with clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
---
- .../asio-master/asio/include/asio/detail/string_view.hpp | 4 ++--
+ src/third_party/asio-master/asio/include/asio/detail/string_view.hpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp b/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp
-index 222c02186d..3bf7494529 100644
+index f09cebc..fa307b5 100644
--- a/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp
+++ b/src/third_party/asio-master/asio/include/asio/detail/string_view.hpp
-@@ -28,8 +28,8 @@
- namespace asio {
-
- #if defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
+@@ -33,8 +33,8 @@ namespace asio {
+ using std::basic_string_view;
+ using std::string_view;
+ #elif defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
-using std::experimental::basic_string_view;
-using std::experimental::string_view;
+using std::basic_string_view;
+using std::string_view;
- #else // defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
- using std::basic_string_view;
- using std::string_view;
+ #endif // defined(ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW)
+
+ } // namespace asio
--
-2.20.1
+2.7.4
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
index 098306f50..869d2849d 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
@@ -1,7 +1,7 @@
-From df7ef16afcc6ab55daa686e4f15c16e3d1280337 Mon Sep 17 00:00:00 2001
+From 73c6374ceb0c062e91210cc9ef3e0e9fa30ee514 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Sep 2017 12:42:30 -0700
-Subject: [PATCH 2/4] Add a definition for the macro __ELF_NATIVE_CLASS
+Subject: [PATCH 04/10] Add a definition for the macro __ELF_NATIVE_CLASS
It depends on the native arch's word size.
@@ -11,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 9 insertions(+)
diff --git a/src/mongo/util/stacktrace_posix.cpp b/src/mongo/util/stacktrace_posix.cpp
-index 53ab85f56f..7c458e7ef2 100644
+index 1d7b3d7..f81e329 100644
--- a/src/mongo/util/stacktrace_posix.cpp
+++ b/src/mongo/util/stacktrace_posix.cpp
-@@ -37,6 +37,15 @@
+@@ -39,6 +39,15 @@
#include <string>
#include <sys/utsname.h>
@@ -31,5 +31,5 @@ index 53ab85f56f..7c458e7ef2 100644
#include "mongo/config.h"
#include "mongo/db/jsobj.h"
--
-2.14.1
+2.7.4
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch
index 085fa50d9..59066b260 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0002-Fix-default-stack-size-to-256K.patch
@@ -1,7 +1,7 @@
-From 98543889f7ba38c02eb7cd9822f45e27d619edd6 Mon Sep 17 00:00:00 2001
+From ffe6045b190b735601cd209d3e7ac121604c5a4e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 24 Aug 2018 13:07:01 -0700
-Subject: [PATCH 2/2] Fix default stack size to 256K
+Subject: [PATCH 08/10] Fix default stack size to 256K
On musl default stack size is ~80K which is too low
for mongodb
@@ -10,14 +10,14 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- .../platform/stack_locator_pthread_getattr_np.cpp | 10 ++++++++++
+ src/mongo/platform/stack_locator_pthread_getattr_np.cpp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/mongo/platform/stack_locator_pthread_getattr_np.cpp b/src/mongo/platform/stack_locator_pthread_getattr_np.cpp
-index 648d26a41c..6e398f00c9 100644
+index 4f3044c..68e47e3 100644
--- a/src/mongo/platform/stack_locator_pthread_getattr_np.cpp
+++ b/src/mongo/platform/stack_locator_pthread_getattr_np.cpp
-@@ -35,6 +35,16 @@
+@@ -36,6 +36,16 @@
#include "mongo/util/assert_util.h"
#include "mongo/util/scopeguard.h"
@@ -35,5 +35,5 @@ index 648d26a41c..6e398f00c9 100644
StackLocator::StackLocator() {
--
-2.18.0
+2.7.4
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch
new file mode 100644
index 000000000..3a27aacfe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch
@@ -0,0 +1,19 @@
+Index: git/SConstruct
+===================================================================
+--- git.orig/SConstruct
++++ git/SConstruct
+@@ -884,6 +884,14 @@ env_vars.Add('WINDOWS_OPENSSL_BIN',
+ help='Sets the path to the openssl binaries for packaging',
+ default='c:/openssl/bin')
+
++env_vars.Add('PREFIX',
++ help='installation prefix')
++
++env_vars.Add('prefix',
++ help='installation prefix')
++
++
++
+ # -- Validate user provided options --
+
+ # A dummy environment that should *only* have the variables we have set. In practice it has
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
index a2e1f795b..2cea9bc31 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
@@ -1,17 +1,17 @@
-From a1c77702926eb8546ff96b00b5b994f7478dabae Mon Sep 17 00:00:00 2001
+From cc95a8878fa581b164dee8fb1f07b05b9d919ef0 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 2 Sep 2017 13:13:15 -0700
-Subject: [PATCH 4/4] wiredtiger: Disable strtouq on musl
+Subject: [PATCH 09/10] wiredtiger: Disable strtouq on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/third_party/wiredtiger/build_linux/wiredtiger_config.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: git/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
-===================================================================
---- git.orig/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
-+++ git/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
+diff --git a/src/third_party/wiredtiger/build_linux/wiredtiger_config.h b/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
+index 82e9994..0399a67 100644
+--- a/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
++++ b/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
@@ -104,7 +104,7 @@
#define HAVE_STRING_H 1
@@ -21,3 +21,6 @@ Index: git/src/third_party/wiredtiger/build_linux/wiredtiger_config.h
/* Define to 1 if you have the `sync_file_range' function. */
/* #undef HAVE_SYNC_FILE_RANGE */
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch
index c06898758..15bd7da70 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb/arm64-support.patch
@@ -1,25 +1,33 @@
-Add alises for arm64 which is same as aarch64
+From c9fc9e9a44b0fb764ce86a5e57f17d3c5bbfd8cd Mon Sep 17 00:00:00 2001
+From: Vincent Prince <vincent.prince.fr@gmail.com>
+Date: Mon, 16 Sep 2019 13:37:10 +0200
+Subject: [PATCH 05/10] Add alises for arm64 which is same as aarch64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
+Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+---
+ SConstruct | 1 +
+ src/third_party/IntelRDFPMathLib20U1/SConscript | 2 +-
+ src/third_party/wiredtiger/SConscript | 2 +-
+ 3 files changed, 3 insertions(+), 2 deletions(-)
-Index: git/SConstruct
-===================================================================
---- git.orig/SConstruct
-+++ git/SConstruct
-@@ -1055,6 +1055,7 @@ elif endian == "big":
+diff --git a/SConstruct b/SConstruct
+index e63cf15..5593c78 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1129,6 +1129,7 @@ elif endian == "big":
processor_macros = {
- 'arm' : { 'endian': 'little', 'defines': ('__arm__',) },
- 'aarch64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
-+ 'arm64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
- 'i386' : { 'endian': 'little', 'defines': ('__i386', '_M_IX86')},
- 'ppc64le' : { 'endian': 'little', 'defines': ('__powerpc64__',)},
- 's390x' : { 'endian': 'big', 'defines': ('__s390x__',)},
-Index: git/src/third_party/IntelRDFPMathLib20U1/SConscript
-===================================================================
---- git.orig/src/third_party/IntelRDFPMathLib20U1/SConscript
-+++ git/src/third_party/IntelRDFPMathLib20U1/SConscript
-@@ -308,7 +308,7 @@ if processor == 'i386':
+ 'arm' : { 'endian': 'little', 'defines': ('__arm__',) },
+ 'aarch64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
++ 'arm64' : { 'endian': 'little', 'defines': ('__arm64__', '__aarch64__')},
+ 'i386' : { 'endian': 'little', 'defines': ('__i386', '_M_IX86')},
+ 'ppc64le' : { 'endian': 'little', 'defines': ('__powerpc64__',)},
+ 's390x' : { 'endian': 'big', 'defines': ('__s390x__',)},
+diff --git a/src/third_party/IntelRDFPMathLib20U1/SConscript b/src/third_party/IntelRDFPMathLib20U1/SConscript
+index f23c071..fb82cd6 100644
+--- a/src/third_party/IntelRDFPMathLib20U1/SConscript
++++ b/src/third_party/IntelRDFPMathLib20U1/SConscript
+@@ -308,7 +308,7 @@ if processor == 'i386' or processor == 'emscripten':
elif processor == 'arm':
cpp_defines['IA32'] = '1'
cpp_defines['ia32'] = '1'
@@ -28,11 +36,11 @@ Index: git/src/third_party/IntelRDFPMathLib20U1/SConscript
cpp_defines['efi2'] = '1'
cpp_defines['EFI2'] = '1'
# Using 64 bit little endian
-Index: git/src/third_party/wiredtiger/SConscript
-===================================================================
---- git.orig/src/third_party/wiredtiger/SConscript
-+++ git/src/third_party/wiredtiger/SConscript
-@@ -151,7 +151,7 @@ condition_map = {
+diff --git a/src/third_party/wiredtiger/SConscript b/src/third_party/wiredtiger/SConscript
+index cdd090b..97a1b3b 100644
+--- a/src/third_party/wiredtiger/SConscript
++++ b/src/third_party/wiredtiger/SConscript
+@@ -152,7 +152,7 @@ condition_map = {
'POSIX_HOST' : not env.TargetOSIs('windows'),
'WINDOWS_HOST' : env.TargetOSIs('windows'),
@@ -41,3 +49,6 @@ Index: git/src/third_party/wiredtiger/SConscript
'POWERPC_HOST' : env['TARGET_ARCH'] == 'ppc64le',
'X86_HOST' : env['TARGET_ARCH'] == 'x86_64',
'ZSERIES_HOST' : env['TARGET_ARCH'] == 's390x',
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
index 0f9000359..cd8ccdc8a 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/mongodb/mongodb_git.bb
@@ -3,17 +3,18 @@ LICENSE = "SSPL-1 & Apache-2.0 & Zlib"
LIC_FILES_CHKSUM = "file://LICENSE-Community.txt;md5=3a865f27f11f43ecbe542d9ea387dcf1 \
file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-DEPENDS = "openssl libpcre libpcap zlib boost curl python \
- python-setuptools-native python-typing-native \
- python-pyyaml-native python-cheetah-native \
+DEPENDS = "openssl libpcap zlib boost curl python3 \
+ python3-setuptools-native \
+ python3-pyyaml-native python3-cheetah-native \
+ python3-psutil-native python3-regex-native \
"
-inherit scons dos2unix siteinfo pythonnative
+inherit scons dos2unix siteinfo python3native
-PV = "4.0.6+git${SRCPV}"
-#v4.0.6
-SRCREV = "caa42a1f75a56c7643d0b68d3880444375ec42e3"
-SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.0 \
+PV = "4.2.0+git${SRCPV}"
+#v4.2.0
+SRCREV = "18ce5c9f56a01f2c933a720d64707f3456f81c8b"
+SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.2 \
file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \
file://0001-Use-long-long-instead-of-int64_t.patch \
file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \
@@ -21,8 +22,10 @@ SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.0 \
file://arm64-support.patch \
file://0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch \
file://0001-Support-deprecated-resolver-functions.patch \
+ file://0003-Fix-unknown-prefix-env.patch \
"
SRC_URI_append_libc-musl ="\
+ file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \
file://0002-Fix-default-stack-size-to-256K.patch \
file://0004-wiredtiger-Disable-strtouq-on-musl.patch \
"
@@ -33,18 +36,17 @@ SRC_URI_append_toolchain-clang = "\
S = "${WORKDIR}/git"
-COMPATIBLE_HOST ?= '(x86_64|i.86|powerpc64|arm|aarch64).*-linux'
+COMPATIBLE_HOST ?= '(x86_64|powerpc64|aarch64).*-linux'
-COMPATIBLE_HOST_arm = "null"
-COMPATIBLE_HOST_libc-musl_x86 = "null"
-
-PACKAGECONFIG ??= "tcmalloc"
+PACKAGECONFIG ??= "tcmalloc system-pcre"
# gperftools compilation fails for arm below v7 because of missing support of
# dmb operation. So we use system-allocator instead of tcmalloc
PACKAGECONFIG_remove_armv6 = "tcmalloc"
PACKAGECONFIG_remove_libc-musl = "tcmalloc"
PACKAGECONFIG[tcmalloc] = "--use-system-tcmalloc,--allocator=system,gperftools,"
+PACKAGECONFIG[shell] = ",--js-engine=none,,"
+PACKAGECONFIG[system-pcre] = "--use-system-pcre,,libpcre,"
EXTRA_OESCONS = "--prefix=${D}${prefix} \
LIBPATH=${STAGING_LIBDIR} \
@@ -53,19 +55,13 @@ EXTRA_OESCONS = "--prefix=${D}${prefix} \
TARGET_ARCH=${TARGET_ARCH} \
--ssl \
--disable-warnings-as-errors \
- --use-system-pcre \
--use-system-zlib \
- --js-engine=none \
--nostrip \
--endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
--wiredtiger=${@['off','on'][d.getVar('SITEINFO_BITS') != '32']} \
${PACKAGECONFIG_CONFARGS} \
- mongod mongos"
+ core"
-do_configure_prepend() {
- # tests use hex floats, not supported in plain C++
- sed -e 's|-std=c++11|-std=gnu++11|g' -i ${S}/SConstruct
-}
scons_do_compile() {
${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} || \
die "scons build execution failed."
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 9a398b308..f1c71feeb 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -4,7 +4,7 @@ SECTION = "libs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b1becf0cfa3366e0f4d854d1d264f311"
-SRC_URI = "https://downloads.mariadb.com/MariaDB/${BPN}-${PV}/source/${BPN}-${PV}.tar.gz \
+SRC_URI = "http://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
file://my.cnf \
file://mysqld.service \
file://install_db.service \
@@ -28,7 +28,9 @@ S = "${WORKDIR}/mariadb-${PV}"
BINCONFIG_GLOB = "mysql_config"
-inherit cmake gettext binconfig update-rc.d useradd systemd
+inherit cmake gettext binconfig update-rc.d useradd systemd multilib_script
+
+MULTILIB_SCRIPTS = "${PN}-server:${bindir}/mysql_install_db ${PN}-server:${bindir}/mysqld_safe"
INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb"
INITSCRIPT_NAME_${PN}-server = "mysqld"
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
deleted file mode 100644
index a18eca320..000000000
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.3.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require postgresql.inc
-
-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"
-SRC_URI[sha256sum] = "2a85e082fc225944821dfd23990e32dfcd2284c19060864b0ad4ca537d30522d"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.5.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.5.bb
new file mode 100644
index 000000000..fd4200a73
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_11.5.bb
@@ -0,0 +1,12 @@
+require postgresql.inc
+
+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] = "580da94f6d85046ff2a228785ab2cc89"
+SRC_URI[sha256sum] = "7fdf23060bfc715144cbf2696cf05b0fa284ad3eb21f0c378591c6bca99ad180"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch
new file mode 100644
index 000000000..8524517cb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch
@@ -0,0 +1,52 @@
+From f4f9d24860e1b5cd4f6a014f3fda7cd33ebe5be7 Mon Sep 17 00:00:00 2001
+From: Petr Lautrbach <plautrba@redhat.com>
+Date: Sat, 27 Jul 2019 08:20:20 -0700
+Subject: [PATCH] libselinux: Do not define gettid() if glibc >= 2.30 is used
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Since version 2.30 glibc implements gettid() system call wrapper, see
+https://sourceware.org/bugzilla/show_bug.cgi?id=6399
+
+Fixes:
+cc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -I../include -D_GNU_SOURCE -DNO_ANDROID_BACKEND -c -o procattr.o procattr.c
+procattr.c:28:14: error: static declaration of ‘gettid’ follows non-static declaration
+ 28 | static pid_t gettid(void)
+ | ^~~~~~
+In file included from /usr/include/unistd.h:1170,
+ from procattr.c:2:
+/usr/include/bits/unistd_ext.h:34:16: note: previous declaration of ‘gettid’ was here
+ 34 | extern __pid_t gettid (void) __THROW;
+ | ^~~~~~
+
+Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
+Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/procattr.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+--- a/src/procattr.c
++++ b/src/procattr.c
+@@ -8,7 +8,19 @@
+ #include "selinux_internal.h"
+ #include "policy.h"
+
+-#ifndef __BIONIC__
++/* Bionic and glibc >= 2.30 declare gettid() system call wrapper in unistd.h and
++ * has a definition for it */
++#ifdef __BIONIC__
++ #define OVERRIDE_GETTID 0
++#elif !defined(__GLIBC_PREREQ)
++ #define OVERRIDE_GETTID 1
++#elif !__GLIBC_PREREQ(2,29)
++ #define OVERRIDE_GETTID 1
++#else
++ #define OVERRIDE_GETTID 0
++#endif
++
++#if OVERRIDE_GETTID
+ static pid_t gettid(void)
+ {
+ return syscall(__NR_gettid);
diff --git a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index e09cd829d..c0d08db17 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -4,7 +4,7 @@ LICENSE = "Apache-2.0 & GPL-2.0 & BSD-2-Clause & BSD-3-Clause"
LIC_FILES_CHKSUM = " \
file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \
file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
- file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=8bef8e6712b1be5aa76af1ebde9d6378 \
+ file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=cb641bc04cda31daea161b1bc15da69f \
file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \
"
DEPENDS = "libbsd libpcre zlib libcap"
@@ -41,6 +41,7 @@ SRC_URI = " \
file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \
file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \
file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \
+ file://libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch;patchdir=external/libselinux \
file://android-tools-adbd.service \
file://gitignore \
file://adb.mk;subdir=${BPN} \
@@ -101,7 +102,7 @@ do_compile() {
powerpc|powerpc64)
export android_arch=linux-ppc
;;
- i586|x86_64)
+ i586|i686|x86_64)
export android_arch=linux-x86
;;
esac
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch
index b1c37fc8e..edf903552 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad/dont-clobber-rsp.patch
@@ -1,3 +1,8 @@
+From d1d7b616219fd47736c804ff4c2f393d7184a75b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 23 Dec 2018 16:58:04 -0800
+Subject: [PATCH] chromium: stack pointer clobber
+
Do not add stack pointer to clobber list
it was being ignored until gcc 9.0 became capable
@@ -7,9 +12,23 @@ of flagging this silent ignoring via [1]
Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/linux-syscall-support/+/1390160]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/third_party/lss/linux_syscall_support.h | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+Index: b/src/third_party/lss/linux_syscall_support.h
+===================================================================
--- a/src/third_party/lss/linux_syscall_support.h
+++ b/src/third_party/lss/linux_syscall_support.h
+@@ -1957,7 +1957,7 @@ struct kernel_statfs {
+ LSS_ENTRYPOINT \
+ "pop %%ebx" \
+ args \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res)
+ #undef _syscall0
+ #define _syscall0(type,name) \
@@ -1966,7 +1966,7 @@ struct kernel_statfs {
__asm__ volatile(LSS_ENTRYPOINT \
: "=a" (__res) \
@@ -19,6 +38,33 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
LSS_RETURN(type,__res); \
}
#undef _syscall1
+@@ -2014,7 +2014,7 @@ struct kernel_statfs {
+ : "i" (__NR_##name), "ri" ((long)(arg1)), \
+ "c" ((long)(arg2)), "d" ((long)(arg3)), \
+ "S" ((long)(arg4)), "D" ((long)(arg5)) \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res); \
+ }
+ #undef _syscall6
+@@ -2036,7 +2036,7 @@ struct kernel_statfs {
+ : "i" (__NR_##name), "0" ((long)(&__s)), \
+ "c" ((long)(arg2)), "d" ((long)(arg3)), \
+ "S" ((long)(arg4)), "D" ((long)(arg5)) \
+- : "esp", "memory"); \
++ : "memory"); \
+ LSS_RETURN(type,__res); \
+ }
+ LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack,
+@@ -2122,7 +2122,7 @@ struct kernel_statfs {
+ : "0"(-EINVAL), "i"(__NR_clone),
+ "m"(fn), "m"(child_stack), "m"(flags), "m"(arg),
+ "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr)
+- : "esp", "memory", "ecx", "edx", "esi", "edi");
++ : "memory", "ecx", "edx", "esi", "edi");
+ LSS_RETURN(int, __res);
+ }
+
@@ -2407,7 +2407,7 @@ struct kernel_statfs {
"d"(LSS_SYSCALL_ARG(parent_tidptr)),
"r"(LSS_SYSCALL_ARG(newtls)),
diff --git a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
index 5f9a72e0a..06f3ee87d 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
@@ -42,7 +42,7 @@ SRC_URI = "git://github.com/google/breakpad;name=breakpad \
file://0001-disable-calls-to-getcontext-with-musl.patch \
file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \
file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \
- file://dont-clobber-rsp.patch \
+ file://dont-clobber-rsp.patch;patchdir=src/third_party/lss;striplevel=4 \
"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb
deleted file mode 100644
index 6ca3613db..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.6.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Cap'n Proto serialization/RPC system"
-DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. "
-HOMEPAGE = "https://github.com/sandstorm-io/capnproto"
-SECTION = "console/tools"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=0a5b5b742baf10cc1c158579eba7fb1d"
-
-SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV}"
-SRCREV = "c949a18da5f041a36cc218c5c4b79c7705999b4f"
-
-S = "${WORKDIR}/git/c++"
-
-inherit cmake
-
-EXTRA_OECMAKE += "\
- -DBUILD_TESTING=OFF \
-"
-
-FILES_${PN}-compiler = "${bindir}"
-
-PACKAGE_BEFORE_PN = "${PN}-compiler"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb
new file mode 100644
index 000000000..c6bab5ec2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/capnproto/capnproto_0.7.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Cap'n Proto serialization/RPC system"
+DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. "
+HOMEPAGE = "https://github.com/sandstorm-io/capnproto"
+SECTION = "console/tools"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
+
+SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV}"
+SRCREV = "3f44c6db0f0f6c0cab0633f15f15d0a2acd01d19"
+
+S = "${WORKDIR}/git/c++"
+
+inherit cmake
+
+EXTRA_OECMAKE += "\
+ -DBUILD_TESTING=OFF \
+"
+
+FILES_${PN}-compiler = "${bindir}"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch b/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch
deleted file mode 100644
index 2eb8af713..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Index: dejagnu-1.4.4/configure.in
-===================================================================
---- dejagnu-1.4.4.orig/configure.in 2014-07-18 07:05:49.997481207 +0000
-+++ dejagnu-1.4.4/configure.in 2014-07-18 07:05:50.085481210 +0000
-@@ -1,10 +1,10 @@
- dnl Process this file with autoconf to produce a configure script.
- AC_PREREQ(2.13)
--AC_INIT(runtest.exp)
-+AC_INIT(dejagnu, 1.4.4)
- dnl AC_CONFIG_AUX_DIR(..)
-
- dnl These are required by automake
--AM_INIT_AUTOMAKE(dejagnu, 1.4.4)
-+AM_INIT_AUTOMAKE([foreign])
- AM_MAINTAINER_MODE
- AC_PROG_MAKE_SET
-
-Index: dejagnu-1.4.4/example/calc/configure.in
-===================================================================
---- dejagnu-1.4.4.orig/example/calc/configure.in 2002-04-26 03:32:40.000000000 +0000
-+++ dejagnu-1.4.4/example/calc/configure.in 2014-07-18 07:11:59.085491266 +0000
-@@ -1,8 +1,8 @@
- dnl Process this file with autoconf to produce a configure script.
- AC_PREREQ(2.5)
--AC_INIT(calc.c)
-+AC_INIT(calc, 1.1)
- AM_CONFIG_HEADER(calc.h)
--AM_INIT_AUTOMAKE(calc, 1.1)
-+AM_INIT_AUTOMAKE([foreign])
-
- AC_PROG_CC
- AC_PROG_INSTALL
-Index: dejagnu-1.4.4/example/hello/configure.in
-===================================================================
---- dejagnu-1.4.4.orig/example/hello/configure.in 2002-08-31 05:46:16.000000000 +0000
-+++ dejagnu-1.4.4/example/hello/configure.in 2014-07-18 07:12:23.721491937 +0000
-@@ -25,7 +25,7 @@
- # ------------------------------------------------------------------------
-
- AC_INIT(helloworld, demo-version, philip.wilsey@ieee.org)
--AM_INIT_AUTOMAKE(helloworld, demo-version)
-+AM_INIT_AUTOMAKE([foreign])
-
- #AC_CONFIG_SRCDIR([hello.cc])
- #AC_CONFIG_HEADER([config.h])
diff --git a/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb b/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
deleted file mode 100644
index 63726b232..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "GNU unit testing framework, written in Expect and Tcl"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-SECTION = "devel"
-
-inherit autotools
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
- file://configure.patch"
-
-SRC_URI[md5sum] = "053f18fd5d00873de365413cab17a666"
-SRC_URI[sha256sum] = "d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
new file mode 100644
index 000000000..a8367b5d9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
@@ -0,0 +1,39 @@
+SUMMARY = "A text-based user interface plugin of dnf for user to manage packages. "
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master "
+SRCREV = "31d6866d5eda02be9a6bfb1fca9e9095b12eecd1"
+PV = "1.0"
+
+SRC_URI_append_class-target = "file://oe-remote.repo.sample"
+
+inherit distutils3-base
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ install -d ${D}${datadir}/dnf
+ install -m 0755 ${S}/samples/* ${D}${datadir}/dnf
+ install -d ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg
+ install -m 0755 ${S}/dnf-plugins/mkimg/* ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg
+ for file in $(ls ${S}/dnf-plugins/ | grep -v mkimg); do
+ install -m 0755 ${S}/dnf-plugins/$file ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins
+ done
+}
+
+do_install_append_class-target() {
+ install -d ${D}${sysconfdir}/yum.repos.d
+ install -m 0644 ${WORKDIR}/oe-remote.repo.sample ${D}${sysconfdir}/yum.repos.d
+}
+
+FILES_${PN} += "${datadir}/dnf"
+
+RDEPENDS_${PN} += " \
+ bash \
+ dnf \
+ libnewt-python \
+"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample
new file mode 100644
index 000000000..6c4502e17
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/dnf-plugin-tui/files/oe-remote.repo.sample
@@ -0,0 +1,5 @@
+[base]
+name=myrepo
+baseurl=http://127.0.0.1/oe_repo/
+enabled=1
+gpgcheck=0
diff --git a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb
index 6c1c1535e..84adc7abe 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/geany/geany-plugins_1.34.bb
@@ -29,7 +29,7 @@ inherit distro_features_check autotools pkgconfig gtk-icon-cache
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = " \
- http://plugins.geany.org/${PN}/${PN}-${PV}.tar.bz2 \
+ http://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
file://0001-Use-pkg-config-to-find-gpgme.patch \
"
SRC_URI[md5sum] = "bf5fdd50727ad8bbbfe00027ccf2dac5"
@@ -40,7 +40,7 @@ do_configure_prepend() {
}
FILES_${PN} += "${datadir}/icons"
-FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${PN}/*/*.la"
+FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${BPN}/*/*.la"
PLUGINS += "${PN}-addons"
LIC_FILES_CHKSUM += "file://addons/COPYING;md5=4325afd396febcb659c36b49533135d4"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.2.0.bb b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.2.0.bb
new file mode 100644
index 000000000..b23775708
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.2.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "C++ framework for json-rpc 1.0 and 2.0"
+DESCRIPTION = "JsonRpc-Cpp is an OpenSource implementation of JSON-RPC \
+ protocol in C++. JSON-RPC is a lightweight remote procedure \
+ call protocol similar to XML-RPC."
+HOMEPAGE = "https://github.com/cinemast/libjson-rpc-cpp"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4e728c5b36018f6c383b4b9efd9c8840"
+SECTION = "libs"
+
+DEPENDS = "curl jsoncpp libmicrohttpd hiredis"
+
+SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp"
+SRCREV = "4ed5b00dcc409405a19e6d8c6478f703153430e1"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO \
+ -DBUILD_SHARED_LIBS=YES -DBUILD_STATIC_LIBS=YES \
+ -DCMAKE_LIBRARY_PATH=${libdir} \
+"
+
+FILES_${PN}-dev += "${libdir}/libjson-rpc-cpp/cmake"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_git.bb b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_git.bb
deleted file mode 100644
index aea11b082..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_git.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "C++ framework for json-rpc 1.0 and 2.0"
-DESCRIPTION = "JsonRpc-Cpp is an OpenSource implementation of JSON-RPC \
- protocol in C++. JSON-RPC is a lightweight remote procedure \
- call protocol similar to XML-RPC."
-HOMEPAGE = "https://github.com/cinemast/libjson-rpc-cpp"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4e728c5b36018f6c383b4b9efd9c8840"
-SECTION = "libs"
-DEPENDS = "curl jsoncpp libmicrohttpd hiredis"
-
-PV = "1.1.1+git${SRCPV}"
-# v1.1.1
-SRCREV = "319783c635cf8cabcc1a980495c99a88f9ebbd97"
-
-SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp \
- "
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO \
- -DBUILD_SHARED_LIBS=YES -DBUILD_STATIC_LIBS=YES \
- -DCMAKE_LIBRARY_PATH=${libdir} \
-"
-
-FILES_${PN}-dev += "${libdir}/libjson-rpc-cpp/cmake"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20190324-3.1.bb b/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20190324-3.1.bb
deleted file mode 100644
index 9d333e7aa..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20190324-3.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "BSD replacement for libreadline"
-DESCRIPTION = "Command line editor library providing generic line editing, \
-history, and tokenization functions"
-HOMEPAGE = "http://www.thrysoee.dk/editline/"
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533"
-
-DEPENDS = "ncurses"
-
-inherit autotools
-
-# upstream site does not allow wget's User-Agent
-FETCHCMD_wget += "-U bitbake"
-SRC_URI = "http://www.thrysoee.dk/editline/${BPN}-${PV}.tar.gz \
- file://stdc-predef.patch \
- "
-SRC_URI[md5sum] = "bec755c8044ad84b752dfe49a0b371d8"
-SRC_URI[sha256sum] = "ac8f0f51c1cf65492e4d1e3ed2be360bda41e54633444666422fbf393bba1bae"
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.1.bb b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.1.bb
deleted file mode 100644
index 190e5dd4e..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
-and classes for commonly used data structures."
-HOMEPAGE = "http://live.gnome.org/Libgee"
-SECTION = "libs"
-DEPENDS = "glib-2.0"
-
-BBCLASSEXTEND = "native"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-PE = "1"
-
-inherit autotools vala pkgconfig gobject-introspection
-do_configure_prepend() {
- MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
- for i in ${MACROS}; do
- rm -f m4/$i
- done
-}
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgee/${SHRT_VER}/${BP}.tar.xz"
-SRC_URI[md5sum] = "d224dca55bb909f6730f40cc267337be"
-SRC_URI[sha256sum] = "bb2802d29a518e8c6d2992884691f06ccfcc25792a5686178575c7111fea4630"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.2.bb b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.2.bb
new file mode 100644
index 000000000..a048e4832
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.20.2.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
+and classes for commonly used data structures."
+HOMEPAGE = "http://live.gnome.org/Libgee"
+SECTION = "libs"
+DEPENDS = "glib-2.0"
+
+BBCLASSEXTEND = "native"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+PE = "1"
+inherit gnomebase vala gobject-introspection
+
+do_configure_prepend() {
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+ for i in ${MACROS}; do
+ rm -f m4/$i
+ done
+}
+
+SRC_URI[archive.md5sum] = "45db478f2b300ada8e039ebc6c9458de"
+SRC_URI[archive.sha256sum] = "9e035c4b755f46bfae70ba81cdcf8328b03f554373cec8c816e8b5680f85353c"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch b/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch
deleted file mode 100644
index 560c3a6d7..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Add-CMake-build-files.patch
+++ /dev/null
@@ -1,302 +0,0 @@
-From 613297214d78ee10111e74e90e025166ebbcad9f Mon Sep 17 00:00:00 2001
-From: Peter Liu <peter.x.liu@external.atlascopco.com>
-Date: Sun, 5 Mar 2017 16:15:40 +0100
-Subject: [PATCH] Add CMake build files
-
-Upstream-Status: Pending
-
-Signed-off-by: Peter Liu <peter.x.liu@external.atlascopco.com>
----
- CMakeLists.txt | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- FindLibRcf.cmake | 63 +++++++++++++++++++++++
- VERSION.cmake | 21 ++++++++
- src/CMakeLists.txt | 25 +++++++++
- 4 files changed, 256 insertions(+)
- create mode 100644 CMakeLists.txt
- create mode 100644 FindLibRcf.cmake
- create mode 100644 VERSION.cmake
- create mode 100755 src/CMakeLists.txt
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-new file mode 100644
-index 0000000..f6e24be
---- /dev/null
-+++ b/CMakeLists.txt
-@@ -0,0 +1,147 @@
-+PROJECT (librcf)
-+
-+CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
-+
-+####################################################################
-+# OPTION #
-+####################################################################
-+OPTION (LIBRCF_USE_OPENSSL "Build with OpenSSL support?" OFF)
-+OPTION (LIBRCF_OPENSSL_STATIC "Enable static linking to OpenSSL?" OFF)
-+OPTION (LIBRCF_USE_ZLIB "Build with zlib support?" OFF)
-+OPTION (LIBRCF_ZLIB_STATIC "Enable static linking to zlib?" OFF)
-+OPTION (LIBRCF_USE_SF_SERIALIZATION "Build with SF serialization support?" ON)
-+OPTION (LIBRCF_USE_BOOST_SERIALIZATION "Build with Boost.Serialization support?" OFF)
-+OPTION (LIBRCF_USE_BOOST_FILESYSTEM "Build with Boost.Filesystem support (required for file transfer support)?" OFF)
-+OPTION (LIBRCF_USE_BOOST_ASIO "Build with Boost asio support?" ON)
-+OPTION (LIBRCF_USE_PROTOBUF "Build with Protocol Buffer support?" OFF)
-+OPTION (LIBRCF_USE_JSON "Build with JSON Spirit (required for JSON-RPC support)?" OFF)
-+OPTION (LIBRCF_USE_IPV6 "Build with IPv6 support?" OFF)
-+OPTION (LIBRCF_USE_CUSTOM_ALLOCATOR "Build with custom allocator support?" OFF)
-+OPTION (LIBRCF_BUILD_DLL "Build a DLL exporting RCF?" OFF)
-+OPTION (LIBRCF_AUTO_INIT_DEINIT "Enable automatic RCF initialization and deinitialization?" OFF)
-+OPTION (LIBRCF_BUILD_STATIC_LIBS "Build the static library?" ON)
-+OPTION (LIBRCF_BUILD_SHARED_LIBS "Build the shared library?" ON)
-+OPTION (LIBRCF_BUILD_DEMOS "Build demo programs?" ON)
-+
-+####################################################################
-+# CONFIGURATION #
-+####################################################################
-+INCLUDE (${CMAKE_SOURCE_DIR}/VERSION.cmake)
-+
-+SET (LIBRCF_LIBRARIES "-lpthread -ldl -latomic")
-+INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/include)
-+
-+IF (LIBRCF_USE_OPENSSL)
-+ IF (NOT OPENSSL_FOUND)
-+ FIND_PACKAGE (OpenSSL REQUIRED)
-+ ENDIF (NOT OPENSSL_FOUND)
-+ INCLUDE_DIRECTORIES (${OPENSSL_INCLUDE_DIR})
-+ ADD_DEFINITIONS (-DRCF_USE_OPENSSL)
-+ENDIF (LIBRCF_USE_OPENSSL)
-+
-+IF (LIBRCF_OPENSSL_STATIC)
-+ LIST (APPEND LIBRCF_LIBRARIES ${OPENSSL_LIBRARIES})
-+ ADD_DEFINITIONS (-DRCF_OPENSSL_STATIC)
-+ENDIF (LIBRCF_OPENSSL_STATIC)
-+
-+IF (LIBRCF_USE_ZLIB)
-+ IF (NOT ZLIB_FOUND)
-+ FIND_PACKAGE (ZLIB REQUIRED)
-+ ENDIF (NOT ZLIB_FOUND)
-+ INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIR})
-+ ADD_DEFINITIONS (-DRCF_USE_ZLIB)
-+ENDIF (LIBRCF_USE_ZLIB)
-+
-+IF (LIBRCF_ZLIB_STATIC)
-+ LIST (APPEND LIBRCF_LIBRARIES ${ZLIB_LIBRARIES})
-+ ADD_DEFINITIONS (-DRCF_ZLIB_STATIC)
-+ENDIF (LIBRCF_ZLIB_STATIC)
-+
-+IF (LIBRCF_USE_SF_SERIALIZATION)
-+ IF (NOT Boost_SYSTEM_FOUND)
-+ FIND_PACKAGE (Boost REQUIRED COMPONENTS system)
-+ ENDIF (NOT Boost_SYSTEM_FOUND)
-+ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR})
-+ LIST (APPEND LIBRCF_LIBRARIES ${Boost_SYSTEM_LIBRARY})
-+ ADD_DEFINITIONS (-DRCF_USE_SF_SERIALIZATION)
-+ENDIF (LIBRCF_USE_SF_SERIALIZATION)
-+
-+IF (LIBRCF_USE_BOOST_SERIALIZATION)
-+ IF (NOT Boost_SERIALIZATION_FOUND)
-+ FIND_PACKAGE (Boost REQUIRED COMPONENTS serialization)
-+ ENDIF (NOT Boost_SERIALIZATION_FOUND)
-+ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR})
-+ LIST (APPEND LIBRCF_LIBRARIES ${Boost_SERIALIZATION_LIBRARY})
-+ ADD_DEFINITIONS (-DRCF_USE_BOOST_SERIALIZATION)
-+ENDIF (LIBRCF_USE_BOOST_SERIALIZATION)
-+
-+IF (LIBRCF_USE_BOOST_FILESYSTEM)
-+ IF (NOT Boost_FILESYSTEM_FOUND)
-+ FIND_PACKAGE (Boost REQUIRED COMPONENTS filesystem system)
-+ ENDIF (NOT Boost_FILESYSTEM_FOUND)
-+ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR})
-+ LIST (APPEND LIBRCF_LIBRARIES ${Boost_FILESYSTEM_LIBRARY})
-+ LIST (APPEND LIBRCF_LIBRARIES ${Boost_SYSTEM_LIBRARY})
-+ ADD_DEFINITIONS (-DRCF_USE_BOOST_FILESYSTEM)
-+ENDIF (LIBRCF_USE_BOOST_FILESYSTEM)
-+
-+IF (LIBRCF_USE_BOOST_ASIO)
-+ IF (NOT Boost_FOUND)
-+ FIND_PACKAGE (Boost REQUIRED)
-+ ENDIF (NOT Boost_FOUND)
-+ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIR})
-+ ADD_DEFINITIONS (-DRCF_USE_BOOST_ASIO)
-+ENDIF (LIBRCF_USE_BOOST_ASIO)
-+
-+IF (LIBRCF_USE_PROTOBUF)
-+ IF(NOT Protobuf_FOUND)
-+ FIND_PACKAGE (Protobuf REQUIRED)
-+ ENDIF (NOT Protobuf_FOUND)
-+ INCLUDE_DIRECTORIES (${Protobuf_INCLUDE_DIR})
-+ LIST (APPEND LIBRCF_LIBRARIES ${Protobuf_LIBRARIES})
-+ ADD_DEFINITIONS (-DRCF_USE_PROTOBUF)
-+ENDIF (LIBRCF_USE_PROTOBUF)
-+
-+IF (LIBRCF_USE_JSON)
-+ IF (NOT LibJsonSpirit_FOUND)
-+ FIND_PACKAGE (LibJsonSpirit REQUIRED)
-+ ENDIF (NOT LibJsonSpirit_FOUND)
-+ INCLUDE_DIRECTORIES (${LibJsonSpirit_INCLUDE_DIR})
-+ LIST (APPEND LIBRCF_LIBRARIES ${LibJsonSpirit_LIBRARIES})
-+ ADD_DEFINITIONS (-DRCF_USE_JSON)
-+ENDIF (LIBRCF_USE_JSON)
-+
-+IF (LIBRCF_USE_IPV6)
-+ ADD_DEFINITIONS (-DRCF_USE_IPV6)
-+ENDIF (LIBRCF_USE_IPV6)
-+
-+IF (LIBRCF_USE_CUSTOM_ALLOCATOR)
-+ ADD_DEFINITIONS (-DRCF_USE_CUSTOM_ALLOCATOR)
-+ENDIF (LIBRCF_USE_CUSTOM_ALLOCATOR)
-+
-+IF (LIBRCF_BUILD_DLL)
-+ ADD_DEFINITIONS (-DRCF_BUILD_DLL)
-+ENDIF (LIBRCF_BUILD_DLL)
-+
-+IF (LIBRCF_AUTO_INIT_DEINIT)
-+ ADD_DEFINITIONS (-DRCF_AUTO_INIT_DEINIT)
-+ENDIF (LIBRCF_AUTO_INIT_DEINIT)
-+
-+####################################################################
-+# SUBDIRECTORY #
-+####################################################################
-+ADD_SUBDIRECTORY (src)
-+
-+IF (LIBRCF_BUILD_DEMOS)
-+ # Server
-+ ADD_EXECUTABLE (RcfServer demo/Server.cpp)
-+ TARGET_LINK_LIBRARIES (RcfServer rcf ${LIBRCF_LIBRARIES})
-+ INSTALL (TARGETS RcfServer DESTINATION ${CMAKE_INSTALL_BINDIR})
-+
-+ # Client
-+ ADD_EXECUTABLE (RcfClient demo/Client.cpp)
-+ TARGET_LINK_LIBRARIES (RcfClient rcf ${LIBRCF_LIBRARIES})
-+ INSTALL (TARGETS RcfClient DESTINATION ${CMAKE_INSTALL_BINDIR})
-+ENDIF (LIBRCF_BUILD_DEMOS)
-+
-+INSTALL (FILES ${CMAKE_SOURCE_DIR}/FindLibRcf.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/Modules)
-diff --git a/FindLibRcf.cmake b/FindLibRcf.cmake
-new file mode 100644
-index 0000000..9d7d8cd
---- /dev/null
-+++ b/FindLibRcf.cmake
-@@ -0,0 +1,63 @@
-+# FindLibRcf - Find librcf headers and libraries.
-+#
-+# Sample:
-+#
-+# SET( LibRcf_USE_STATIC_LIBS OFF )
-+# FIND_PACKAGE( LibRcf REQUIRED )
-+# IF( LibRcf_FOUND )
-+# INCLUDE_DIRECTORIES( ${LibRcf_INCLUDE_DIRS} )
-+# TARGET_LINK_LIBRARIES( ... ${LibRcf_LIBRARIES} )
-+# ENDIF()
-+#
-+# Variables used by this module need to be set before calling find_package
-+#
-+# LibRcf_USE_STATIC_LIBS Can be set to ON to force the use of the static
-+# librcf libraries. Defaults to OFF.
-+#
-+# Variables provided by this module:
-+#
-+# LibRcf_FOUND Include dir, librcf libraries.
-+#
-+# LibRcf_LIBRARIES Link to these to use all the libraries you specified.
-+#
-+# LibRcf_INCLUDE_DIRS Include directories.
-+#
-+# For each component you specify in find_package(), the following (UPPER-CASE)
-+# variables are set to pick and choose components instead of just using LibRcf_LIBRARIES:
-+#
-+# LIBRCF_FOUND TRUE if librcf was found
-+# LIBRCF_LIBRARY librcf libraries
-+#
-+
-+# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
-+IF(LibRcf_USE_STATIC_LIBS)
-+ SET( _ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
-+ SET(CMAKE_FIND_LIBRARY_SUFFIXES .a )
-+ENDIF()
-+
-+# Look for the header files
-+UNSET(LibRcf_INCLUDE_DIRS CACHE)
-+FIND_PATH(LibRcf_INCLUDE_DIRS NAMES RCF/RcfClient.hpp)
-+
-+# Look for the core library
-+UNSET(LIBRCF_LIBRARY CACHE)
-+FIND_LIBRARY(LIBRCF_LIBRARY NAMES rcf)
-+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibRcf DEFAULT_MSG LIBRCF_LIBRARY LibRcf_INCLUDE_DIRS)
-+MARK_AS_ADVANCED(
-+ LIBRCF_FOUND
-+ LIBRCF_LIBRARY
-+)
-+
-+# Prepare return values and collectiong more components
-+SET(LibRcf_FOUND ${LIBRCF_FOUND})
-+SET(LibRcf_LIBRARIES ${LIBRCF_LIBRARY})
-+MARK_AS_ADVANCED(
-+ LibRcf_FOUND
-+ LibRcf_LIBRARIES
-+ LibRcf_INCLUDE_DIRS
-+)
-+
-+# Restore CMAKE_FIND_LIBRARY_SUFFIXES
-+IF(LibRcf_USE_STATIC_LIBS)
-+ SET(CMAKE_FIND_LIBRARY_SUFFIXES ${_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES} )
-+ENDIF()
-diff --git a/VERSION.cmake b/VERSION.cmake
-new file mode 100644
-index 0000000..8b4bcdc
---- /dev/null
-+++ b/VERSION.cmake
-@@ -0,0 +1,21 @@
-+# ==================================================
-+# Versioning
-+# ==========
-+#
-+# MAJOR Major number for this branch.
-+#
-+# MINOR The most recent interface number this
-+# library implements.
-+#
-+# COMPATMINOR The latest binary compatible minor number
-+# this library implements.
-+#
-+# PATCH The implementation number of the current interface.
-+#
-+#
-+# - The package VERSION will be MAJOR.MINOR.PATCH.
-+#
-+
-+SET (LIBRCF_SOVERSION_MAJOR "2")
-+SET (LIBRCF_SOVERSION_MINOR "2")
-+SET (LIBRCF_SOVERSION_PATCH "0")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-new file mode 100755
-index 0000000..c227901
---- /dev/null
-+++ b/src/CMakeLists.txt
-@@ -0,0 +1,25 @@
-+IF (NOT LIBRCF_BUILD_SHARED_LIBS)
-+ ADD_LIBRARY (rcf STATIC RCF/RCF.cpp)
-+ELSE (NOT LIBRCF_BUILD_SHARED_LIBS)
-+ ADD_LIBRARY (rcf SHARED RCF/RCF.cpp)
-+ TARGET_LINK_LIBRARIES (rcf ${LIBRCF_LIBRARIES})
-+ SET_TARGET_PROPERTIES (rcf PROPERTIES COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
-+ SET_TARGET_PROPERTIES (rcf PROPERTIES VERSION ${LIBRCF_SOVERSION_MAJOR}.${LIBRCF_SOVERSION_MINOR}.${LIBRCF_SOVERSION_PATCH})
-+ENDIF (NOT LIBRCF_BUILD_SHARED_LIBS)
-+
-+SET_TARGET_PROPERTIES (rcf PROPERTIES PROJECT_LABEL "RCF Library")
-+SET_TARGET_PROPERTIES (rcf PROPERTIES OUTPUT_NAME "rcf")
-+SET_TARGET_PROPERTIES (rcf PROPERTIES SOVERSION ${LIBRCF_SOVERSION_MAJOR})
-+SET_TARGET_PROPERTIES (rcf PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
-+
-+INSTALL (DIRECTORY "${CMAKE_SOURCE_DIR}/include/RCF" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+INSTALL (DIRECTORY "${CMAKE_SOURCE_DIR}/include/SF" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+INSTALL (TARGETS rcf LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+
-+IF (LIBRCF_BUILD_STATIC_LIBS AND LIBRCF_BUILD_SHARED_LIBS)
-+ ADD_LIBRARY (rcf_static STATIC RCF/RCF.cpp)
-+ SET_TARGET_PROPERTIES (rcf_static PROPERTIES PROJECT_LABEL "RCF Static Library")
-+ SET_TARGET_PROPERTIES (rcf_static PROPERTIES OUTPUT_NAME "rcf")
-+ SET_TARGET_PROPERTIES (rcf_static PROPERTIES SOVERSION ${LIBRCF_SOVERSION_MAJOR})
-+ INSTALL (TARGETS rcf_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+ENDIF (LIBRCF_BUILD_STATIC_LIBS AND LIBRCF_BUILD_SHARED_LIBS)
---
-1.9.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch b/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch
deleted file mode 100644
index d91accf1d..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-Check-for-__powerpc__-define.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From ac7316679e30f7013604b19aa0949a0744e91d2f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 1 Jul 2017 13:06:30 -0700
-Subject: [PATCH] Check for __powerpc__ define
-
-Also check for gcc's internal define for ppc platform
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/RCF/ByteOrdering.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/RCF/ByteOrdering.cpp b/src/RCF/ByteOrdering.cpp
-index 278ca80..9f9c446 100755
---- a/src/RCF/ByteOrdering.cpp
-+++ b/src/RCF/ByteOrdering.cpp
-@@ -36,7 +36,7 @@ namespace RCF {
-
- const ByteOrder MachineByteOrder = BigEndian;
-
--#elif defined( __ppc__ )
-+#elif defined( __ppc__ ) || defined( __powerpc__ )
-
- const ByteOrder MachineByteOrder = BigEndian;
-
---
-2.13.2
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch b/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch
deleted file mode 100644
index e949dee40..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From d78851b6f87f2472f041102d7b3726ffc009bfad Mon Sep 17 00:00:00 2001
-From: Ming Liu <peter.x.liu@external.atlascopco.com>
-Date: Tue, 6 Jun 2017 05:54:20 +0200
-Subject: [PATCH] ClientStub.hpp: fix a clang compiling issue
-
-A error was observed with clang compiler, as follows:
-| src/RCF/RCF.cpp:49:
-| src/RCF/ClientStub.cpp:28:
-| include/RCF/Future.hpp:49:26: error: 'enrol' is a private member of 'RCF::ClientStub'
-
-it can be fixed by declaring Future as a friend class of ClientStub.
-
-Upstream-Status: Pending
-
-Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
----
- include/RCF/ClientStub.hpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/include/RCF/ClientStub.hpp b/include/RCF/ClientStub.hpp
-index 9882cf4..8465625 100755
---- a/include/RCF/ClientStub.hpp
-+++ b/include/RCF/ClientStub.hpp
-@@ -372,6 +372,8 @@ namespace RCF {
-
- private:
-
-+ template<typename U>
-+ friend class Future;
- friend class FutureImplBase;
-
- template<
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch b/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch
deleted file mode 100644
index e08efb92f..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/aarch64-support.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp
-===================================================================
---- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp
-+++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp
-@@ -60,7 +60,7 @@ namespace RCF {
-
- const ByteOrder MachineByteOrder = LittleEndian;
-
--#elif defined(__arm__)
-+#elif defined(__arm__) || defined(__aarch64__)
-
- const ByteOrder MachineByteOrder = LittleEndian;
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch b/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch
deleted file mode 100644
index 4a327f78e..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf/mips-support.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: RCF-2.2.0.0/src/RCF/ByteOrdering.cpp
-===================================================================
---- RCF-2.2.0.0.orig/src/RCF/ByteOrdering.cpp
-+++ RCF-2.2.0.0/src/RCF/ByteOrdering.cpp
-@@ -64,6 +64,14 @@ namespace RCF {
-
- const ByteOrder MachineByteOrder = LittleEndian;
-
-+#elif defined(__mipsel__) || defined(__mips64el__)
-+
-+ const ByteOrder MachineByteOrder = LittleEndian;
-+
-+#elif defined( __mips__ ) || defined(__mips64__)
-+
-+ const ByteOrder MachineByteOrder = BigEndian;
-+
- #elif defined(__bfin__)
-
- const ByteOrder MachineByteOrder = LittleEndian;
diff --git a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb b/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
deleted file mode 100644
index dcd47a4e6..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/librcf/librcf_2.2.0.0.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "RCF (Remote Call Framework) is a cross-platform interprocess communication framework for C++"
-DESCRIPTION = "Unlike other communication frameworks, RCF doesn't use a separate \
-IDL (Interface Definition Language). RCF interfaces are defined directly in C++, \
-and serialization for user-defined data types likewise is implemented in C++. \
-Instead of a separate IDL compiler tool, RCF uses the C++ compiler to generate \
-client and server stubs."
-HOMEPAGE = "http://www.deltavsoft.com/"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://license.txt;md5=7586a312b9e978f9d6fac9a5780d1f84"
-
-SRC_URI = "http://www.deltavsoft.com/downloads/RCF-${PV}.tar.gz \
- file://0001-Add-CMake-build-files.patch \
- file://aarch64-support.patch \
- file://0001-ClientStub.hpp-fix-a-clang-compiling-issue.patch \
- file://mips-support.patch \
- file://0001-Check-for-__powerpc__-define.patch \
- "
-
-SRC_URI[md5sum] = "7ecb3c73f7eb66dba8790b659374f690"
-SRC_URI[sha256sum] = "bbfcc88de502c39604878c395f516b03fff4eac63eb4f7f44c07d433839712dd"
-
-S = "${WORKDIR}/RCF-${PV}"
-
-inherit cmake dos2unix
-
-PACKAGECONFIG ?= "zlib openssl sf-serialization boost-filesystem boost-asio protobuf json dll static shared demos"
-PACKAGECONFIG[zlib] = "-DLIBRCF_USE_ZLIB=ON,-DLIBRCF_USE_ZLIB=OFF,zlib,zlib"
-PACKAGECONFIG[zlib-static] = "-DLIBRCF_USE_ZLIB=ON -DLIBRCF_ZLIB_STATIC=ON,-DLIBRCF_ZLIB_STATIC=OFF,zlib,"
-PACKAGECONFIG[openssl] = "-DLIBRCF_USE_OPENSSL=ON,-DLIBRCF_USE_OPENSSL=OFF,openssl,libssl libcrypto"
-PACKAGECONFIG[openssl-static] = "-DLIBRCF_USE_OPENSSL=ON -DLIBRCF_OPENSSL_STATIC=ON,-DLIBRCF_OPENSSL_STATIC=OFF,openssl,"
-PACKAGECONFIG[sf-serialization] = "-DLIBRCF_USE_SF_SERIALIZATION=ON,-DLIBRCF_USE_SF_SERIALIZATION=OFF,boost,"
-PACKAGECONFIG[boost-serialization] = "-DLIBRCF_USE_BOOST_SERIALIZATION=ON,-DLIBRCF_USE_BOOST_SERIALIZATION=OFF,boost,"
-PACKAGECONFIG[boost-filesystem] = "-DLIBRCF_USE_BOOST_FILESYSTEM=ON,-DLIBRCF_USE_BOOST_FILESYSTEM=OFF,boost,"
-PACKAGECONFIG[boost-asio] = "-DLIBRCF_USE_BOOST_ASIO=ON,-DLIBRCF_USE_BOOST_ASIO=OFF,boost,"
-PACKAGECONFIG[protobuf] = "-DLIBRCF_USE_PROTOBUF=ON,-DLIBRCF_USE_PROTOBUF=OFF,protobuf,protobuf"
-PACKAGECONFIG[json] = "-DLIBRCF_USE_JSON=ON,-DLIBRCF_USE_JSON=OFF,json-spirit,json-spirit"
-PACKAGECONFIG[ipv6] = "-DLIBRCF_USE_IPV6=ON,-DLIBRCF_USE_IPV6=OFF,"
-PACKAGECONFIG[custom-allocator] = "-DLIBRCF_USE_CUSTOM_ALLOCATOR=ON,-DLIBRCF_USE_CUSTOM_ALLOCATOR=OFF,"
-PACKAGECONFIG[dll] = "-DLIBRCF_BUILD_DLL=ON,-DLIBRCF_BUILD_DLL=OFF,"
-PACKAGECONFIG[auto-init-deinit] = "-DLIBRCF_AUTO_INIT_DEINIT=ON,-DLIBRCF_AUTO_INIT_DEINIT=OFF,"
-PACKAGECONFIG[static] = "-DLIBRCF_BUILD_STATIC_LIBS=ON,-DLIBRCF_BUILD_STATIC_LIBS=OFF,"
-PACKAGECONFIG[shared] = "-DLIBRCF_BUILD_SHARED_LIBS=ON,-DLIBRCF_BUILD_SHARED_LIBS=OFF,"
-PACKAGECONFIG[demos] = "-DLIBRCF_BUILD_DEMOS=ON,-DLIBRCF_BUILD_DEMOS=OFF,"
-
-PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'demos', '${PN}-demos', '', d)}"
-
-FILES_${PN}-demos = "${bindir}/*"
-
-BBCLASSEXTEND = "nativesdk"
-
-PNBLACKLIST[librcf] = " error: invalid use of incomplete type 'RCF::AsioIoService {aka class boost::asio::io_service}; among others?"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus/0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus/0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch
new file mode 100644
index 000000000..44a835c35
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus/0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch
@@ -0,0 +1,40 @@
+From da5338e68f146efadab7c221291ba4c949d8f12f Mon Sep 17 00:00:00 2001
+From: Vaclav Haisman <vhaisman@gmail.com>
+Date: Sun, 21 Jul 2019 23:23:16 -0700
+Subject: [PATCH] Remove log4cplus version entry from ELF .comment section
+
+Reverts
+https://github.com/log4cplus/log4cplus/commit/9cb0d4ade619da4e40628c9b95ff51de3df29f1b
+
+Upstream-Status: Backport [https://github.com/log4cplus/log4cplus/commit/7e6addc70dffd2e30e902efd18eb845c5d5dd7bb]
+
+Suggested-by: Adrian Bunk <bunk@stusta.de>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/version.cxx | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/src/version.cxx b/src/version.cxx
+index ce18212..e002de9 100644
+--- a/src/version.cxx
++++ b/src/version.cxx
+@@ -34,16 +34,4 @@ namespace log4cplus
+ unsigned const version = LOG4CPLUS_VERSION;
+ char const versionStr[] = LOG4CPLUS_VERSION_STR LOG4CPLUS_VERSION_STR_SUFFIX;
+
+-namespace
+-{
+-
+-#if defined (__ELF__) && (defined (__GNUC__) || defined (__clang__))
+-char const versionStrComment[]
+- __attribute__ ((__used__, __section__ ((".comment"))))
+- = "log4cplus " LOG4CPLUS_VERSION_STR LOG4CPLUS_VERSION_STR_SUFFIX;
+-#endif
+-
+-
+-} // namespace
+-
+ } // namespace log4cplus
+--
+2.22.0
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb
deleted file mode 100644
index 56c62f1f2..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.3.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "log4cplus provides a simple C++ logging API for log management"
-SECTION = "libs"
-HOMEPAGE = "http://sourceforge.net/projects/log4cplus/"
-BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/"
-
-LICENSE = "Apache-2.0 & BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz"
-SRC_URI[md5sum] = "20a87090cd8ec34ea11b3e59954234cb"
-SRC_URI[sha256sum] = "2d8f627aa6417e6c6a100bc09dc407684ca4605c929defc1690ee7d6a575ce6a"
-
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/"
-UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P<pver>\d+(\.\d+)+)/"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.4.bb b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.4.bb
new file mode 100644
index 000000000..566de2853
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_2.0.4.bb
@@ -0,0 +1,20 @@
+SUMMARY = "log4cplus provides a simple C++ logging API for log management"
+SECTION = "libs"
+HOMEPAGE = "http://sourceforge.net/projects/log4cplus/"
+BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/"
+
+LICENSE = "Apache-2.0 & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=41e8e060c26822886b592ab4765c756b"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz \
+ file://0001-Remove-log4cplus-version-entry-from-ELF-.comment-sec.patch \
+ "
+SRC_URI[md5sum] = "2b5b7bc294698bf30a315a259ef9eec2"
+SRC_URI[sha256sum] = "196eedbc7f2dd792dae721b1159c7ac132255bb368226353c24d4d5fa7c7797a"
+
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/"
+UPSTREAM_CHECK_REGEX = "log4cplus-stable/(?P<pver>\d+(\.\d+)+)/"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch
new file mode 100644
index 000000000..e4490bbb9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch
@@ -0,0 +1,30 @@
+kernel headers have restructured mips syscall generation in kernel
+in recent versions, however, ltrace still has logic to define the
+syscall numbers based on old logic, this patch includes the legacy
+UAPI headers to get these defines
+
+Fixes errors e.g.
+../../../../git/sysdeps/linux-gnu/mips/trace.c:138:29: error: '__NR_O32_Linux' undeclared (first use in this function)
+ const int syscallbase[] = {__NR_O32_Linux, __NR_N32_Linux,
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/sysdeps/linux-gnu/mips/trace.c
++++ b/sysdeps/linux-gnu/mips/trace.c
+@@ -34,6 +34,16 @@
+ #include <assert.h>
+ #include <asm/unistd.h>
+
++#ifndef __NR_O32_Linux
++#include <asm/unistd_nr_o32.h>
++#endif
++#ifndef __NR_N32_Linux
++#include <asm/unistd_nr_n64.h>
++#endif
++#ifndef __NR_N64_Linux
++#include <asm/unistd_nr_n32.h>
++#endif
++
+ #include "backend.h"
+ #include "common.h"
+ #include "debug.h"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index 3dc269c80..ead637cb7 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -27,6 +27,7 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http
file://0001-mips-plt.c-Delete-include-error.h.patch \
file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \
file://0001-hook-Do-not-append-int-to-std-string.patch \
+ file://include_unistd_nr.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb
deleted file mode 100644
index d2e77ea0d..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.15.3.bb
+++ /dev/null
@@ -1,105 +0,0 @@
-DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
-HOMEPAGE = "http://nodejs.org"
-LICENSE = "MIT & BSD & Artistic-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9ceeba79eb2ea1067b7b3ed16fff8bab"
-
-DEPENDS = "openssl zlib icu"
-DEPENDS_append_class-target = " nodejs-native"
-
-inherit pkgconfig
-
-COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
-COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
-COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
-
-SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
- file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
- file://0003-Crypto-reduce-memory-usage-of-SignFinal.patch \
- file://0004-Make-compatibility-with-gcc-4.8.patch \
- file://0005-Link-atomic-library.patch \
- file://0006-Use-target-ldflags.patch \
- "
-SRC_URI_append_class-target = " \
- file://0002-Using-native-torque.patch \
- "
-
-SRC_URI[md5sum] = "d76210a6ae1ea73d10254947684836fb"
-SRC_URI[sha256sum] = "4e22d926f054150002055474e452ed6cbb85860aa7dc5422213a2002ed9791d5"
-
-S = "${WORKDIR}/node-v${PV}"
-
-# v8 errors out if you have set CCACHE
-CCACHE = ""
-
-def map_nodejs_arch(a, d):
- import re
-
- if re.match('i.86$', a): return 'ia32'
- elif re.match('x86_64$', a): return 'x64'
- elif re.match('aarch64$', a): return 'arm64'
- elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64'
- elif re.match('powerpc$', a): return 'ppc'
- return a
-
-ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
- ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
- bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
- bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
- '--with-arm-fpu=vfp', d), d), d)}"
-GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
-ARCHFLAGS ?= ""
-
-# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
-do_configure () {
- rm -rf ${S}/deps/openssl
- export LD="${CXX}"
- GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
- # $TARGET_ARCH settings don't match --dest-cpu settings
- ./configure --prefix=${prefix} --with-intl=system-icu --without-snapshot --shared-openssl --shared-zlib \
- --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
- --dest-os=linux \
- ${ARCHFLAGS}
-}
-
-do_compile () {
- export LD="${CXX}"
- oe_runmake BUILDTYPE=Release
-}
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
-
-do_install_append_class-native() {
- # use node from PATH instead of absolute path to sysroot
- # node-v0.10.25/tools/install.py is using:
- # shebang = os.path.join(node_prefix, 'bin/node')
- # update_shebang(link_path, shebang)
- # and node_prefix can be very long path to bindir in native sysroot and
- # when it exceeds 128 character shebang limit it's stripped to incorrect path
- # and npm fails to execute like in this case with 133 characters show in log.do_install:
- # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node
- # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js
- # use sed on npm-cli.js because otherwise symlink is replaced with normal file and
- # npm-cli.js continues to use old shebang
- sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
-
- # Install the native torque to provide it within sysroot for the target compilation
- install -d ${D}${bindir}
- install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque
-}
-
-do_install_append_class-target() {
- sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
-}
-
-PACKAGES =+ "${PN}-npm"
-FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx"
-RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils \
- python-compiler python-misc python-multiprocessing"
-
-PACKAGES =+ "${PN}-systemtap"
-FILES_${PN}-systemtap = "${datadir}/systemtap"
-
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb
new file mode 100644
index 000000000..a978eebe4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb
@@ -0,0 +1,113 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=be980eb7ccafe287cb438076a65e888c"
+
+DEPENDS = "openssl"
+DEPENDS_append_class-target = " nodejs-native"
+
+inherit pkgconfig
+
+COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
+COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
+
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
+ file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
+ file://0003-Crypto-reduce-memory-usage-of-SignFinal.patch \
+ file://0004-Make-compatibility-with-gcc-4.8.patch \
+ file://0005-Link-atomic-library.patch \
+ file://0006-Use-target-ldflags.patch \
+ "
+SRC_URI_append_class-target = " \
+ file://0002-Using-native-torque.patch \
+ "
+
+SRC_URI[md5sum] = "b41275a018e670947c1950b12f050a2f"
+SRC_URI[sha256sum] = "7bf1123d7415964775b8f81fe6ec6dd5c3c08abb42bb71dfe4409dbeeba26bbd"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+def map_nodejs_arch(a, d):
+ import re
+
+ if re.match('i.86$', a): return 'ia32'
+ elif re.match('x86_64$', a): return 'x64'
+ elif re.match('aarch64$', a): return 'arm64'
+ elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64'
+ elif re.match('powerpc$', a): return 'ppc'
+ return a
+
+ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
+ ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
+ bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
+ bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
+ '--with-arm-fpu=vfp', d), d), d)}"
+GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
+ARCHFLAGS ?= ""
+
+PACKAGECONFIG ??= "zlib icu"
+PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
+PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
+
+# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
+do_configure () {
+ rm -rf ${S}/deps/openssl
+ export LD="${CXX}"
+ GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+ # $TARGET_ARCH settings don't match --dest-cpu settings
+ ./configure --prefix=${prefix} --without-snapshot --shared-openssl \
+ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
+ --dest-os=linux \
+ ${ARCHFLAGS} \
+ ${PACKAGECONFIG_CONFARGS}
+}
+
+do_compile () {
+ export LD="${CXX}"
+ oe_runmake BUILDTYPE=Release
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+do_install_append_class-native() {
+ # use node from PATH instead of absolute path to sysroot
+ # node-v0.10.25/tools/install.py is using:
+ # shebang = os.path.join(node_prefix, 'bin/node')
+ # update_shebang(link_path, shebang)
+ # and node_prefix can be very long path to bindir in native sysroot and
+ # when it exceeds 128 character shebang limit it's stripped to incorrect path
+ # and npm fails to execute like in this case with 133 characters show in log.do_install:
+ # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node
+ # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js
+ # use sed on npm-cli.js because otherwise symlink is replaced with normal file and
+ # npm-cli.js continues to use old shebang
+ sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
+
+ # Install the native torque to provide it within sysroot for the target compilation
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque
+}
+
+do_install_append_class-target() {
+ sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
+}
+
+PACKAGES =+ "${PN}-npm"
+FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx"
+RDEPENDS_${PN}-npm = "bash python-core python-shell python-datetime python-subprocess python-textutils \
+ python-compiler python-misc python-multiprocessing"
+
+PACKAGES =+ "${PN}-systemtap"
+FILES_${PN}-systemtap = "${datadir}/systemtap"
+
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb b/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
index 1ec32ce89..71d24504f 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
@@ -11,7 +11,7 @@ inherit autotools pkgconfig texinfo gettext
EXTRA_OECONF = "--disable-java --disable-docs"
-SRC_URI = "https://ftp.gnu.org/gnu/octave/${PN}-${PV}.tar.gz \
+SRC_URI = "${GNU_MIRROR}/octave/${PN}-${PV}.tar.gz \
file://fix-blas-library-integer-size.patch \
"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch
new file mode 100644
index 000000000..618ce2689
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd/0001-Do-not-include-syscrtl.h-with-glibc.patch
@@ -0,0 +1,33 @@
+From a763610719e7d7f6cdc45569b6fbfdb91bb7c87b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 14:30:08 -0700
+Subject: [PATCH] Do not include syscrtl.h with glibc
+
+glibc 2.30 has deprecated it see [1]
+Fixes
+sys/sysctl.h:21:2: error: "The <sys/sysctl.h> header is deprecated and will be removed." [-Werror,-W#warnings]
+
+[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=744e829637162bb7d5029632aacf341c64b86990
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/helper/options.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/helper/options.c b/src/helper/options.c
+index 12755e010..4007e37f6 100644
+--- a/src/helper/options.c
++++ b/src/helper/options.c
+@@ -34,7 +34,7 @@
+ #if IS_DARWIN
+ #include <libproc.h>
+ #endif
+-#ifdef HAVE_SYS_SYSCTL_H
++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ #endif
+ #if IS_WIN32 && !IS_CYGWIN
+--
+2.22.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 b50c3acf4..241b4baa3 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -10,6 +10,7 @@ SRC_URI = " \
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 \
+ file://0001-Do-not-include-syscrtl.h-with-glibc.patch \
"
SRCREV_FORMAT = "openocd"
@@ -25,7 +26,7 @@ inherit pkgconfig autotools-brokensep gettext
BBCLASSEXTEND += "nativesdk"
-EXTRA_OECONF = "--enable-ftdi --disable-doxygen-html"
+EXTRA_OECONF = "--enable-ftdi --disable-doxygen-html --disable-werror"
do_configure() {
./bootstrap nosubmodule
diff --git a/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
index 53fc159c8..4bd9a1255 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
@@ -1,6 +1,4 @@
SUMMARY = "Packages required for a target (on-device) SDK"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r1"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb
index ff4a9d061..7532b3fa2 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perl/libdbi-perl_1.642.bb
@@ -7,13 +7,6 @@ database interface independent of the actual database being used. \
HOMEPAGE = "http://search.cpan.org/dist/DBI/"
SECTION = "libs"
LICENSE = "Artistic-1.0 | GPL-1.0+"
-RDEPENDS_${PN}_class-target = " \
- perl-module-carp \
- perl-module-exporter \
- perl-module-exporter-heavy \
- perl-module-dynaloader \
-"
-
LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5"
SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz"
@@ -34,4 +27,36 @@ do_install_prepend() {
rm -rf ${B}/t/z*.t
}
+RDEPENDS_${PN}_class-target = " \
+ perl \
+ perl-module-carp \
+ perl-module-exporter \
+ perl-module-exporter-heavy \
+ perl-module-dynaloader \
+ perl-module-io-dir \
+ perl-module-scalar-util \
+ perl-module-universal \
+"
+
+RDEPENDS_${PN}-ptest = " \
+ ${PN} \
+ perl-module-b \
+ perl-module-benchmark \
+ perl-module-cwd \
+ perl-module-data-dumper \
+ perl-module-encode \
+ perl-module-encode-byte \
+ perl-module-encode-encoding \
+ perl-module-file-copy \
+ perl-module-file-path \
+ perl-module-lib \
+ perl-module-perlio \
+ perl-module-perlio-scalar \
+ perl-module-perlio-via \
+ perl-module-sdbm-file \
+ perl-module-storable \
+ perl-module-test-more \
+ perl-module-utf8 \
+ "
+
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php.inc b/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
index 785c2f5ac..3d537e5b6 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
@@ -47,7 +47,7 @@ EXTRA_OECONF = "--enable-mbstring \
--enable-fpm \
--with-libdir=${baselib} \
--with-gettext=${STAGING_LIBDIR}/.. \
- --with-libzip=${STAGING_LIBDIR}/.. \
+ --with-zlib=${STAGING_LIBDIR}/.. \
--with-iconv=${STAGING_LIBDIR}/.. \
--with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
--with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
@@ -56,6 +56,9 @@ EXTRA_OECONF = "--enable-mbstring \
${COMMON_EXTRA_OECONF} \
"
+EXTRA_OECONF_append_riscv64 = " --with-pcre-jit=no"
+EXTRA_OECONF_append_riscv32 = " --with-pcre-jit=no"
+
CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes"
EXTRA_OECONF_class-native = " \
@@ -69,10 +72,11 @@ PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \
"
PACKAGECONFIG_class-native = ""
-PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \
- --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
- --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
- ,--without-mysql --without-mysqli --without-pdo-mysql \
+PACKAGECONFIG[zip] = "--enable-zip --with-libzip=${STAGING_EXECPREFIXDIR},,libzip"
+
+PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \
+ --with-pdo-mysql=mysqlnd \
+ ,--without-mysqli --without-pdo-mysql \
,mysql5"
PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
@@ -90,11 +94,11 @@ PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache"
PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
+PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind"
export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2"
-CFLAGS_append_aarch64 = " -O2"
EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
@@ -170,12 +174,10 @@ do_install_append_class-target() {
done
if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
- install -d ${D}${libdir}/apache2/modules
install -d ${D}${sysconfdir}/apache2/modules.d
install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}
- install -m 755 libs/libphp${PHP_MAJOR_VERSION}.so ${D}${libdir}/apache2/modules
install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d
- sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf
+ sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf
cat ${S}/php.ini-production | \
sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \
> ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini
@@ -209,12 +211,12 @@ INITSCRIPT_PACKAGES = "${PN}-fpm"
inherit update-rc.d
FILES_${PN}-dbg =+ "${bindir}/.debug \
- ${libdir}/apache2/modules/.debug"
+ ${libexecdir}/apache2/modules/.debug"
FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc"
FILES_${PN}-cli = "${bindir}/php"
FILES_${PN}-phar = "${bindir}/phar*"
FILES_${PN}-cgi = "${bindir}/php-cgi"
-FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service"
+FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service ${sysconfdir}/php-fpm.d/www.conf.default"
FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf"
CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
@@ -235,7 +237,7 @@ FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \
FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a"
FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}"
FILES_${PN} = "${PHP_LIBDIR}/php"
-FILES_${PN} += "${bindir}"
+FILES_${PN} += "${bindir} ${libexecdir}/apache2"
SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server"
FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch
deleted file mode 100644
index f70e550ff..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From ed0a954983d50267c2fc0bc13aba929ea0cad971 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Tue, 2 May 2017 06:34:40 +0000
-Subject: [PATCH] Add -lpthread to link
-
-When building the php-5.6.26, the following errors occured:
-
- ld: TSRM/.libs/TSRM.o: undefined reference to symbol
- 'pthread_sigmask@@GLIBC_2.2.5'
-
- error adding symbols: DSO missing from command line
-
-This is because no pthread to link, so we should add it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- configure.in | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/configure.in b/configure.in
-index a467dff1..9afef652 100644
---- a/configure.in
-+++ b/configure.in
-@@ -1058,7 +1058,8 @@ case $php_sapi_module in
- ;;
- esac
-
--EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS"
-+PTHREAD_LIBS="-lpthread"
-+EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS $PTHREAD_LIBS"
-
- dnl this has to be here to prevent the openssl crypt() from
- dnl overriding the system provided crypt().
---
-2.11.0
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch
deleted file mode 100644
index ac8365b8e..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-PHP-5.6-LibSSL-1.1-compatibility.patch
+++ /dev/null
@@ -1,1285 +0,0 @@
-Subject: [PATCH] PHP 5.6 - LibSSL 1.1 compatibility
-
-This patch does not try to backport the 7.1 openssl module, it is the
-improved version of the 5.6 original openssl module.
-
-https://github.com/oerdnj/deb.sury.org/issues/566
-http://zettasystem.com/PHP-5.6.31-OpenSSL-1.1.0-compatibility-20170801.patch
-
-Upstream-Status: Deny [https://github.com/php/php-src/pull/2667]
-Reason: As PHP 5.6 is no longer actively supported only security fixes
-may land on this branch. As this change does not fall in this category,
-I'm closing this PR. (All higher versions of PHP already have OpenSSL
-1.1 support.)
-
-Author: zsalab@github https://github.com/zsalab
-
-Only port source modification, do not include the test case
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- ext/openssl/openssl.c | 683 +++++++++++++++++++++++++++++++++++++-------------
- ext/openssl/xp_ssl.c | 18 +-
- ext/phar/util.c | 13 +-
- 3 files changed, 527 insertions(+), 187 deletions(-)
-
-diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
-index a78a8fb..b53114c 100644
---- a/ext/openssl/openssl.c
-+++ b/ext/openssl/openssl.c
-@@ -42,6 +42,12 @@
-
- /* OpenSSL includes */
- #include <openssl/evp.h>
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+#include <openssl/bn.h>
-+#include <openssl/rsa.h>
-+#include <openssl/dsa.h>
-+#include <openssl/dh.h>
-+#endif
- #include <openssl/x509.h>
- #include <openssl/x509v3.h>
- #include <openssl/crypto.h>
-@@ -531,6 +537,133 @@ zend_module_entry openssl_module_entry = {
- ZEND_GET_MODULE(openssl)
- #endif
-
-+/* {{{ OpenSSL compatibility functions and macros */
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
-+#define EVP_PKEY_get0_RSA(_pkey) _pkey->pkey.rsa
-+#define EVP_PKEY_get0_DH(_pkey) _pkey->pkey.dh
-+#define EVP_PKEY_get0_DSA(_pkey) _pkey->pkey.dsa
-+#define EVP_PKEY_get0_EC_KEY(_pkey) _pkey->pkey.ec
-+
-+static int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
-+{
-+ r->n = n;
-+ r->e = e;
-+ r->d = d;
-+
-+ return 1;
-+}
-+
-+static int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q)
-+{
-+ r->p = p;
-+ r->q = q;
-+
-+ return 1;
-+}
-+
-+static int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp)
-+{
-+ r->dmp1 = dmp1;
-+ r->dmq1 = dmq1;
-+ r->iqmp = iqmp;
-+
-+ return 1;
-+}
-+
-+static void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
-+{
-+ *n = r->n;
-+ *e = r->e;
-+ *d = r->d;
-+}
-+
-+static void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q)
-+{
-+ *p = r->p;
-+ *q = r->q;
-+}
-+
-+static void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp)
-+{
-+ *dmp1 = r->dmp1;
-+ *dmq1 = r->dmq1;
-+ *iqmp = r->iqmp;
-+}
-+
-+static void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
-+{
-+ *p = dh->p;
-+ *q = dh->q;
-+ *g = dh->g;
-+}
-+
-+static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+ dh->p = p;
-+ dh->q = q;
-+ dh->g = g;
-+
-+ return 1;
-+}
-+
-+static void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ *pub_key = dh->pub_key;
-+ *priv_key = dh->priv_key;
-+}
-+
-+static int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
-+{
-+ dh->pub_key = pub_key;
-+ dh->priv_key = priv_key;
-+
-+ return 1;
-+}
-+
-+static void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
-+{
-+ *p = d->p;
-+ *q = d->q;
-+ *g = d->g;
-+}
-+
-+int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g)
-+{
-+ d->p = p;
-+ d->q = q;
-+ d->g = g;
-+
-+ return 1;
-+}
-+
-+static void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ *pub_key = d->pub_key;
-+ *priv_key = d->priv_key;
-+}
-+
-+int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key)
-+{
-+ d->pub_key = pub_key;
-+ d->priv_key = priv_key;
-+
-+ return 1;
-+}
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined (LIBRESSL_VERSION_NUMBER)
-+#define EVP_PKEY_id(_pkey) _pkey->type
-+#define EVP_PKEY_base_id(_key) EVP_PKEY_type(_key->type)
-+
-+static int X509_get_signature_nid(const X509 *x)
-+{
-+ return OBJ_obj2nid(x->sig_alg->algorithm);
-+}
-+
-+#endif
-+
-+#endif
-+/* }}} */
-+
- static int le_key;
- static int le_x509;
- static int le_csr;
-@@ -825,7 +958,7 @@ static int add_oid_section(struct php_x509_request * req TSRMLS_DC) /* {{{ */
- }
- for (i = 0; i < sk_CONF_VALUE_num(sktmp); i++) {
- cnf = sk_CONF_VALUE_value(sktmp, i);
-- if (OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) {
-+ if (OBJ_sn2nid(cnf->name) == NID_undef && OBJ_ln2nid(cnf->name) == NID_undef && OBJ_create(cnf->value, cnf->name, cnf->name) == NID_undef) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "problem creating object %s=%s", cnf->name, cnf->value);
- return FAILURE;
- }
-@@ -967,7 +1100,7 @@ static void php_openssl_dispose_config(struct php_x509_request * req TSRMLS_DC)
- }
- /* }}} */
-
--#ifdef PHP_WIN32
-+#if defined(PHP_WIN32) || (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER))
- #define PHP_OPENSSL_RAND_ADD_TIME() ((void) 0)
- #else
- #define PHP_OPENSSL_RAND_ADD_TIME() php_openssl_rand_add_timeval()
-@@ -1053,9 +1186,11 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(long algo) { /* {{{ */
- mdtype = (EVP_MD *) EVP_md2();
- break;
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
- case OPENSSL_ALGO_DSS1:
- mdtype = (EVP_MD *) EVP_dss1();
- break;
-+#endif
- #if OPENSSL_VERSION_NUMBER >= 0x0090708fL
- case OPENSSL_ALGO_SHA224:
- mdtype = (EVP_MD *) EVP_sha224();
-@@ -1146,6 +1281,12 @@ PHP_MINIT_FUNCTION(openssl)
- OpenSSL_add_all_digests();
- OpenSSL_add_all_algorithms();
-
-+#if !defined(OPENSSL_NO_AES) && defined(EVP_CIPH_CCM_MODE) && OPENSSL_VERSION_NUMBER < 0x100020000
-+ EVP_add_cipher(EVP_aes_128_ccm());
-+ EVP_add_cipher(EVP_aes_192_ccm());
-+ EVP_add_cipher(EVP_aes_256_ccm());
-+#endif
-+
- SSL_load_error_strings();
-
- /* register a resource id number with OpenSSL so that we can map SSL -> stream structures in
-@@ -1173,7 +1314,9 @@ PHP_MINIT_FUNCTION(openssl)
- #ifdef HAVE_OPENSSL_MD2_H
- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT);
- #endif
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_DSS1", OPENSSL_ALGO_DSS1, CONST_CS|CONST_PERSISTENT);
-+#endif
- #if OPENSSL_VERSION_NUMBER >= 0x0090708fL
- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA224", OPENSSL_ALGO_SHA224, CONST_CS|CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_CS|CONST_PERSISTENT);
-@@ -1251,7 +1394,9 @@ PHP_MINIT_FUNCTION(openssl)
- }
-
- php_stream_xport_register("ssl", php_openssl_ssl_socket_factory TSRMLS_CC);
-+#ifndef OPENSSL_NO_SSL3
- php_stream_xport_register("sslv3", php_openssl_ssl_socket_factory TSRMLS_CC);
-+#endif
- #ifndef OPENSSL_NO_SSL2
- php_stream_xport_register("sslv2", php_openssl_ssl_socket_factory TSRMLS_CC);
- #endif
-@@ -1308,7 +1453,9 @@ PHP_MSHUTDOWN_FUNCTION(openssl)
- #ifndef OPENSSL_NO_SSL2
- php_stream_xport_unregister("sslv2" TSRMLS_CC);
- #endif
-+#ifndef OPENSSL_NO_SSL3
- php_stream_xport_unregister("sslv3" TSRMLS_CC);
-+#endif
- php_stream_xport_unregister("tls" TSRMLS_CC);
- php_stream_xport_unregister("tlsv1.0" TSRMLS_CC);
- #if OPENSSL_VERSION_NUMBER >= 0x10001001L
-@@ -1893,6 +2040,7 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension)
- {
- GENERAL_NAMES *names;
- const X509V3_EXT_METHOD *method = NULL;
-+ ASN1_OCTET_STRING *extension_data;
- long i, length, num;
- const unsigned char *p;
-
-@@ -1901,8 +2049,9 @@ static int openssl_x509v3_subjectAltName(BIO *bio, X509_EXTENSION *extension)
- return -1;
- }
-
-- p = extension->value->data;
-- length = extension->value->length;
-+ extension_data = X509_EXTENSION_get_data(extension);
-+ p = extension_data->data;
-+ length = extension_data->length;
- if (method->it) {
- names = (GENERAL_NAMES*)(ASN1_item_d2i(NULL, &p, length,
- ASN1_ITEM_ptr(method->it)));
-@@ -1965,6 +2114,8 @@ PHP_FUNCTION(openssl_x509_parse)
- char * tmpstr;
- zval * subitem;
- X509_EXTENSION *extension;
-+ X509_NAME *subject_name;
-+ char *cert_name;
- char *extname;
- BIO *bio_out;
- BUF_MEM *bio_buf;
-@@ -1979,10 +2130,10 @@ PHP_FUNCTION(openssl_x509_parse)
- }
- array_init(return_value);
-
-- if (cert->name) {
-- add_assoc_string(return_value, "name", cert->name, 1);
-- }
--/* add_assoc_bool(return_value, "valid", cert->valid); */
-+ subject_name = X509_get_subject_name(cert);
-+ cert_name = X509_NAME_oneline(subject_name, NULL, 0);
-+ add_assoc_string(return_value, "name", cert_name, 1);
-+ OPENSSL_free(cert_name);
-
- add_assoc_name_entry(return_value, "subject", X509_get_subject_name(cert), useshortnames TSRMLS_CC);
- /* hash as used in CA directories to lookup cert by subject name */
-@@ -2008,7 +2159,7 @@ PHP_FUNCTION(openssl_x509_parse)
- add_assoc_string(return_value, "alias", tmpstr, 1);
- }
-
-- sig_nid = OBJ_obj2nid((cert)->sig_alg->algorithm);
-+ sig_nid = X509_get_signature_nid(cert);
- add_assoc_string(return_value, "signatureTypeSN", (char*)OBJ_nid2sn(sig_nid), 1);
- add_assoc_string(return_value, "signatureTypeLN", (char*)OBJ_nid2ln(sig_nid), 1);
- add_assoc_long(return_value, "signatureTypeNID", sig_nid);
-@@ -3217,7 +3368,21 @@ PHP_FUNCTION(openssl_csr_get_public_key)
- RETURN_FALSE;
- }
-
-- tpubkey=X509_REQ_get_pubkey(csr);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+ /* Due to changes in OpenSSL 1.1 related to locking when decoding CSR,
-+ * the pub key is not changed after assigning. It means if we pass
-+ * a private key, it will be returned including the private part.
-+ * If we duplicate it, then we get just the public part which is
-+ * the same behavior as for OpenSSL 1.0 */
-+ csr = X509_REQ_dup(csr);
-+#endif
-+ /* Retrieve the public key from the CSR */
-+ tpubkey = X509_REQ_get_pubkey(csr);
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+ /* We need to free the CSR as it was duplicated */
-+ X509_REQ_free(csr);
-+#endif
- RETVAL_RESOURCE(zend_list_insert(tpubkey, le_key TSRMLS_CC));
- return;
- }
-@@ -3482,13 +3647,20 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
- {
- assert(pkey != NULL);
-
-- switch (pkey->type) {
-+ switch (EVP_PKEY_id(pkey)) {
- #ifndef NO_RSA
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
-- assert(pkey->pkey.rsa != NULL);
-- if (pkey->pkey.rsa != NULL && (NULL == pkey->pkey.rsa->p || NULL == pkey->pkey.rsa->q)) {
-- return 0;
-+ {
-+ RSA *rsa = EVP_PKEY_get0_RSA(pkey);
-+ if (rsa != NULL) {
-+ const BIGNUM *p, *q;
-+
-+ RSA_get0_factors(rsa, &p, &q);
-+ if (p == NULL || q == NULL) {
-+ return 0;
-+ }
-+ }
- }
- break;
- #endif
-@@ -3498,28 +3670,51 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
- case EVP_PKEY_DSA2:
- case EVP_PKEY_DSA3:
- case EVP_PKEY_DSA4:
-- assert(pkey->pkey.dsa != NULL);
--
-- if (NULL == pkey->pkey.dsa->p || NULL == pkey->pkey.dsa->q || NULL == pkey->pkey.dsa->priv_key){
-- return 0;
-+ {
-+ DSA *dsa = EVP_PKEY_get0_DSA(pkey);
-+ if (dsa != NULL) {
-+ const BIGNUM *p, *q, *g, *pub_key, *priv_key;
-+
-+ DSA_get0_pqg(dsa, &p, &q, &g);
-+ if (p == NULL || q == NULL) {
-+ return 0;
-+ }
-+
-+ DSA_get0_key(dsa, &pub_key, &priv_key);
-+ if (priv_key == NULL) {
-+ return 0;
-+ }
-+ }
- }
- break;
- #endif
- #ifndef NO_DH
- case EVP_PKEY_DH:
-- assert(pkey->pkey.dh != NULL);
--
-- if (NULL == pkey->pkey.dh->p || NULL == pkey->pkey.dh->priv_key) {
-- return 0;
-+ {
-+ DH *dh = EVP_PKEY_get0_DH(pkey);
-+ if (dh != NULL) {
-+ const BIGNUM *p, *q, *g, *pub_key, *priv_key;
-+
-+ DH_get0_pqg(dh, &p, &q, &g);
-+ if (p == NULL) {
-+ return 0;
-+ }
-+
-+ DH_get0_key(dh, &pub_key, &priv_key);
-+ if (priv_key == NULL) {
-+ return 0;
-+ }
-+ }
- }
- break;
- #endif
- #ifdef HAVE_EVP_PKEY_EC
- case EVP_PKEY_EC:
-- assert(pkey->pkey.ec != NULL);
--
-- if ( NULL == EC_KEY_get0_private_key(pkey->pkey.ec)) {
-- return 0;
-+ {
-+ EC_KEY *ec = EVP_PKEY_get0_EC_KEY(pkey);
-+ if (ec != NULL && NULL == EC_KEY_get0_private_key(ec)) {
-+ return 0;
-+ }
- }
- break;
- #endif
-@@ -3531,34 +3726,80 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
- }
- /* }}} */
-
--#define OPENSSL_PKEY_GET_BN(_type, _name) do { \
-- if (pkey->pkey._type->_name != NULL) { \
-- int len = BN_num_bytes(pkey->pkey._type->_name); \
-- char *str = emalloc(len + 1); \
-- BN_bn2bin(pkey->pkey._type->_name, (unsigned char*)str); \
-- str[len] = 0; \
-- add_assoc_stringl(_type, #_name, str, len, 0); \
-- } \
-- } while (0)
--
--#define OPENSSL_PKEY_SET_BN(_ht, _type, _name) do { \
-- zval **bn; \
-- if (zend_hash_find(_ht, #_name, sizeof(#_name), (void**)&bn) == SUCCESS && \
-- Z_TYPE_PP(bn) == IS_STRING) { \
-- _type->_name = BN_bin2bn( \
-- (unsigned char*)Z_STRVAL_PP(bn), \
-- Z_STRLEN_PP(bn), NULL); \
-- } \
-+#define OPENSSL_GET_BN(_array, _bn, _name) do { \
-+ if (_bn != NULL) { \
-+ int len = BN_num_bytes(_bn); \
-+ char *str = emalloc(len + 1); \
-+ BN_bn2bin(_bn, (unsigned char*)str); \
-+ str[len] = 0; \
-+ add_assoc_stringl(_array, #_name, str, len, 0); \
-+ } \
- } while (0);
-
-+#define OPENSSL_PKEY_GET_BN(_type, _name) OPENSSL_GET_BN(_type, _name, _name)
-+
-+#define OPENSSL_PKEY_SET_BN(_data, _name) do { \
-+ zval **bn; \
-+ if (zend_hash_find(Z_ARRVAL_P(_data), #_name, sizeof(#_name),(void**)&bn) == SUCCESS && \
-+ Z_TYPE_PP(bn) == IS_STRING) { \
-+ _name = BN_bin2bn( \
-+ (unsigned char*)Z_STRVAL_PP(bn), \
-+ Z_STRLEN_PP(bn), NULL); \
-+ } else { \
-+ _name = NULL; \
-+ } \
-+ } while (0);
-+
-+/* {{{ php_openssl_pkey_init_rsa */
-+zend_bool php_openssl_pkey_init_and_assign_rsa(EVP_PKEY *pkey, RSA *rsa, zval *data)
-+{
-+ BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp;
-+
-+ OPENSSL_PKEY_SET_BN(data, n);
-+ OPENSSL_PKEY_SET_BN(data, e);
-+ OPENSSL_PKEY_SET_BN(data, d);
-+ if (!n || !d || !RSA_set0_key(rsa, n, e, d)) {
-+ return 0;
-+ }
-+
-+ OPENSSL_PKEY_SET_BN(data, p);
-+ OPENSSL_PKEY_SET_BN(data, q);
-+ if ((p || q) && !RSA_set0_factors(rsa, p, q)) {
-+ return 0;
-+ }
-+
-+ OPENSSL_PKEY_SET_BN(data, dmp1);
-+ OPENSSL_PKEY_SET_BN(data, dmq1);
-+ OPENSSL_PKEY_SET_BN(data, iqmp);
-+ if ((dmp1 || dmq1 || iqmp) && !RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp)) {
-+ return 0;
-+ }
-+
-+ if (!EVP_PKEY_assign_RSA(pkey, rsa)) {
-+ return 0;
-+ }
-+
-+ return 1;
-+}
-+/* }}} */
-+
- /* {{{ php_openssl_pkey_init_dsa */
--zend_bool php_openssl_pkey_init_dsa(DSA *dsa)
-+zend_bool php_openssl_pkey_init_dsa(DSA *dsa, zval *data)
- {
-- if (!dsa->p || !dsa->q || !dsa->g) {
-+ BIGNUM *p, *q, *g, *priv_key, *pub_key;
-+ const BIGNUM *priv_key_const, *pub_key_const;
-+
-+ OPENSSL_PKEY_SET_BN(data, p);
-+ OPENSSL_PKEY_SET_BN(data, q);
-+ OPENSSL_PKEY_SET_BN(data, g);
-+ if (!p || !q || !g || !DSA_set0_pqg(dsa, p, q, g)) {
- return 0;
- }
-- if (dsa->priv_key || dsa->pub_key) {
-- return 1;
-+
-+ OPENSSL_PKEY_SET_BN(data, pub_key);
-+ OPENSSL_PKEY_SET_BN(data, priv_key);
-+ if (pub_key) {
-+ return DSA_set0_key(dsa, pub_key, priv_key);
- }
- PHP_OPENSSL_RAND_ADD_TIME();
- if (!DSA_generate_key(dsa)) {
-@@ -3566,7 +3807,8 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa)
- }
- /* if BN_mod_exp return -1, then DSA_generate_key succeed for failed key
- * so we need to double check that public key is created */
-- if (!dsa->pub_key || BN_is_zero(dsa->pub_key)) {
-+ DSA_get0_key(dsa, &pub_key_const, &priv_key_const);
-+ if (!pub_key_const || BN_is_zero(pub_key_const)) {
- return 0;
- }
- /* all good */
-@@ -3574,14 +3816,66 @@ zend_bool php_openssl_pkey_init_dsa(DSA *dsa)
- }
- /* }}} */
-
-+/* {{{ php_openssl_dh_pub_from_priv */
-+static BIGNUM *php_openssl_dh_pub_from_priv(BIGNUM *priv_key, BIGNUM *g, BIGNUM *p)
-+{
-+ BIGNUM *pub_key, *priv_key_const_time;
-+ BN_CTX *ctx;
-+
-+ pub_key = BN_new();
-+ if (pub_key == NULL) {
-+ return NULL;
-+ }
-+
-+ priv_key_const_time = BN_new();
-+ if (priv_key_const_time == NULL) {
-+ BN_free(pub_key);
-+ return NULL;
-+ }
-+ ctx = BN_CTX_new();
-+ if (ctx == NULL) {
-+ BN_free(pub_key);
-+ BN_free(priv_key_const_time);
-+ return NULL;
-+ }
-+
-+ BN_with_flags(priv_key_const_time, priv_key, BN_FLG_CONSTTIME);
-+
-+ if (!BN_mod_exp_mont(pub_key, g, priv_key_const_time, p, ctx, NULL)) {
-+ BN_free(pub_key);
-+ pub_key = NULL;
-+ }
-+
-+ BN_free(priv_key_const_time);
-+ BN_CTX_free(ctx);
-+
-+ return pub_key;
-+}
-+/* }}} */
-+
- /* {{{ php_openssl_pkey_init_dh */
--zend_bool php_openssl_pkey_init_dh(DH *dh)
-+zend_bool php_openssl_pkey_init_dh(DH *dh, zval *data)
- {
-- if (!dh->p || !dh->g) {
-+ BIGNUM *p, *q, *g, *priv_key, *pub_key;
-+
-+ OPENSSL_PKEY_SET_BN(data, p);
-+ OPENSSL_PKEY_SET_BN(data, q);
-+ OPENSSL_PKEY_SET_BN(data, g);
-+ if (!p || !g || !DH_set0_pqg(dh, p, q, g)) {
- return 0;
- }
-- if (dh->pub_key) {
-- return 1;
-+
-+ OPENSSL_PKEY_SET_BN(data, priv_key);
-+ OPENSSL_PKEY_SET_BN(data, pub_key);
-+ if (pub_key) {
-+ return DH_set0_key(dh, pub_key, priv_key);
-+ }
-+ if (priv_key) {
-+ pub_key = php_openssl_dh_pub_from_priv(priv_key, g, p);
-+ if (pub_key == NULL) {
-+ return 0;
-+ }
-+ return DH_set0_key(dh, pub_key, priv_key);
- }
- PHP_OPENSSL_RAND_ADD_TIME();
- if (!DH_generate_key(dh)) {
-@@ -3614,18 +3908,8 @@ PHP_FUNCTION(openssl_pkey_new)
- if (pkey) {
- RSA *rsa = RSA_new();
- if (rsa) {
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, n);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, e);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, d);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, p);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, q);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmp1);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, dmq1);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), rsa, iqmp);
-- if (rsa->n && rsa->d) {
-- if (EVP_PKEY_assign_RSA(pkey, rsa)) {
-- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC));
-- }
-+ if (php_openssl_pkey_init_and_assign_rsa(pkey, rsa, *data)) {
-+ RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC));
- }
- RSA_free(rsa);
- }
-@@ -3638,12 +3922,7 @@ PHP_FUNCTION(openssl_pkey_new)
- if (pkey) {
- DSA *dsa = DSA_new();
- if (dsa) {
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, p);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, q);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, g);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, priv_key);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dsa, pub_key);
-- if (php_openssl_pkey_init_dsa(dsa)) {
-+ if (php_openssl_pkey_init_dsa(dsa, *data)) {
- if (EVP_PKEY_assign_DSA(pkey, dsa)) {
- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC));
- }
-@@ -3659,11 +3938,7 @@ PHP_FUNCTION(openssl_pkey_new)
- if (pkey) {
- DH *dh = DH_new();
- if (dh) {
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, p);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, g);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, priv_key);
-- OPENSSL_PKEY_SET_BN(Z_ARRVAL_PP(data), dh, pub_key);
-- if (php_openssl_pkey_init_dh(dh)) {
-+ if (php_openssl_pkey_init_dh(dh, *data)) {
- if (EVP_PKEY_assign_DH(pkey, dh)) {
- RETURN_RESOURCE(zend_list_insert(pkey, le_key TSRMLS_CC));
- }
-@@ -3738,10 +4013,10 @@ PHP_FUNCTION(openssl_pkey_export_to_file)
- cipher = NULL;
- }
-
-- switch (EVP_PKEY_type(key->type)) {
-+ switch (EVP_PKEY_base_id(key)) {
- #ifdef HAVE_EVP_PKEY_EC
- case EVP_PKEY_EC:
-- pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL);
-+ pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get0_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL);
- break;
- #endif
- default:
-@@ -3807,7 +4082,7 @@ PHP_FUNCTION(openssl_pkey_export)
- cipher = NULL;
- }
-
-- switch (EVP_PKEY_type(key->type)) {
-+ switch (EVP_PKEY_base_id(key)) {
- #ifdef HAVE_EVP_PKEY_EC
- case EVP_PKEY_EC:
- pem_write = PEM_write_bio_ECPrivateKey(bio_out, EVP_PKEY_get1_EC_KEY(key), cipher, (unsigned char *)passphrase, passphrase_len, NULL, NULL);
-@@ -3928,25 +4203,33 @@ PHP_FUNCTION(openssl_pkey_get_details)
- /*TODO: Use the real values once the openssl constants are used
- * See the enum at the top of this file
- */
-- switch (EVP_PKEY_type(pkey->type)) {
-+ switch (EVP_PKEY_base_id(pkey)) {
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
-- ktype = OPENSSL_KEYTYPE_RSA;
--
-- if (pkey->pkey.rsa != NULL) {
-- zval *rsa;
--
-- ALLOC_INIT_ZVAL(rsa);
-- array_init(rsa);
-- OPENSSL_PKEY_GET_BN(rsa, n);
-- OPENSSL_PKEY_GET_BN(rsa, e);
-- OPENSSL_PKEY_GET_BN(rsa, d);
-- OPENSSL_PKEY_GET_BN(rsa, p);
-- OPENSSL_PKEY_GET_BN(rsa, q);
-- OPENSSL_PKEY_GET_BN(rsa, dmp1);
-- OPENSSL_PKEY_GET_BN(rsa, dmq1);
-- OPENSSL_PKEY_GET_BN(rsa, iqmp);
-- add_assoc_zval(return_value, "rsa", rsa);
-+ {
-+ RSA *rsa = EVP_PKEY_get0_RSA(pkey);
-+ ktype = OPENSSL_KEYTYPE_RSA;
-+
-+ if (rsa != NULL) {
-+ zval *z_rsa;
-+ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp;
-+
-+ RSA_get0_key(rsa, &n, &e, &d);
-+ RSA_get0_factors(rsa, &p, &q);
-+ RSA_get0_crt_params(rsa, &dmp1, &dmq1, &iqmp);
-+
-+ ALLOC_INIT_ZVAL(z_rsa);
-+ array_init(z_rsa);
-+ OPENSSL_PKEY_GET_BN(z_rsa, n);
-+ OPENSSL_PKEY_GET_BN(z_rsa, e);
-+ OPENSSL_PKEY_GET_BN(z_rsa, d);
-+ OPENSSL_PKEY_GET_BN(z_rsa, p);
-+ OPENSSL_PKEY_GET_BN(z_rsa, q);
-+ OPENSSL_PKEY_GET_BN(z_rsa, dmp1);
-+ OPENSSL_PKEY_GET_BN(z_rsa, dmq1);
-+ OPENSSL_PKEY_GET_BN(z_rsa, iqmp);
-+ add_assoc_zval(return_value, "rsa", z_rsa);
-+ }
- }
-
- break;
-@@ -3954,42 +4237,55 @@ PHP_FUNCTION(openssl_pkey_get_details)
- case EVP_PKEY_DSA2:
- case EVP_PKEY_DSA3:
- case EVP_PKEY_DSA4:
-- ktype = OPENSSL_KEYTYPE_DSA;
--
-- if (pkey->pkey.dsa != NULL) {
-- zval *dsa;
--
-- ALLOC_INIT_ZVAL(dsa);
-- array_init(dsa);
-- OPENSSL_PKEY_GET_BN(dsa, p);
-- OPENSSL_PKEY_GET_BN(dsa, q);
-- OPENSSL_PKEY_GET_BN(dsa, g);
-- OPENSSL_PKEY_GET_BN(dsa, priv_key);
-- OPENSSL_PKEY_GET_BN(dsa, pub_key);
-- add_assoc_zval(return_value, "dsa", dsa);
-+ {
-+ DSA *dsa = EVP_PKEY_get0_DSA(pkey);
-+ ktype = OPENSSL_KEYTYPE_DSA;
-+
-+ if (dsa != NULL) {
-+ zval *z_dsa;
-+ const BIGNUM *p, *q, *g, *priv_key, *pub_key;
-+
-+ DSA_get0_pqg(dsa, &p, &q, &g);
-+ DSA_get0_key(dsa, &pub_key, &priv_key);
-+
-+ ALLOC_INIT_ZVAL(z_dsa);
-+ array_init(z_dsa);
-+ OPENSSL_PKEY_GET_BN(z_dsa, p);
-+ OPENSSL_PKEY_GET_BN(z_dsa, q);
-+ OPENSSL_PKEY_GET_BN(z_dsa, g);
-+ OPENSSL_PKEY_GET_BN(z_dsa, priv_key);
-+ OPENSSL_PKEY_GET_BN(z_dsa, pub_key);
-+ add_assoc_zval(return_value, "dsa", z_dsa);
-+ }
- }
- break;
- case EVP_PKEY_DH:
--
-- ktype = OPENSSL_KEYTYPE_DH;
--
-- if (pkey->pkey.dh != NULL) {
-- zval *dh;
--
-- ALLOC_INIT_ZVAL(dh);
-- array_init(dh);
-- OPENSSL_PKEY_GET_BN(dh, p);
-- OPENSSL_PKEY_GET_BN(dh, g);
-- OPENSSL_PKEY_GET_BN(dh, priv_key);
-- OPENSSL_PKEY_GET_BN(dh, pub_key);
-- add_assoc_zval(return_value, "dh", dh);
-+ {
-+ DH *dh = EVP_PKEY_get0_DH(pkey);
-+ ktype = OPENSSL_KEYTYPE_DH;
-+
-+ if (dh != NULL) {
-+ zval *z_dh;
-+ const BIGNUM *p, *q, *g, *priv_key, *pub_key;
-+
-+ DH_get0_pqg(dh, &p, &q, &g);
-+ DH_get0_key(dh, &pub_key, &priv_key);
-+
-+ ALLOC_INIT_ZVAL(z_dh);
-+ array_init(z_dh);
-+ OPENSSL_PKEY_GET_BN(z_dh, p);
-+ OPENSSL_PKEY_GET_BN(z_dh, g);
-+ OPENSSL_PKEY_GET_BN(z_dh, priv_key);
-+ OPENSSL_PKEY_GET_BN(z_dh, pub_key);
-+ add_assoc_zval(return_value, "dh", z_dh);
-+ }
- }
-
- break;
- #ifdef HAVE_EVP_PKEY_EC
- case EVP_PKEY_EC:
- ktype = OPENSSL_KEYTYPE_EC;
-- if (pkey->pkey.ec != NULL) {
-+ if (EVP_PKEY_get0_EC_KEY(pkey) != NULL) {
- zval *ec;
- const EC_GROUP *ec_group;
- int nid;
-@@ -4546,13 +4842,13 @@ PHP_FUNCTION(openssl_private_encrypt)
- cryptedlen = EVP_PKEY_size(pkey);
- cryptedbuf = emalloc(cryptedlen + 1);
-
-- switch (pkey->type) {
-+ switch (EVP_PKEY_id(pkey)) {
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
- successful = (RSA_private_encrypt(data_len,
- (unsigned char *)data,
- cryptedbuf,
-- pkey->pkey.rsa,
-+ EVP_PKEY_get0_RSA(pkey),
- padding) == cryptedlen);
- break;
- default:
-@@ -4604,13 +4900,13 @@ PHP_FUNCTION(openssl_private_decrypt)
- cryptedlen = EVP_PKEY_size(pkey);
- crypttemp = emalloc(cryptedlen + 1);
-
-- switch (pkey->type) {
-+ switch (EVP_PKEY_id(pkey)) {
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
- cryptedlen = RSA_private_decrypt(data_len,
- (unsigned char *)data,
- crypttemp,
-- pkey->pkey.rsa,
-+ EVP_PKEY_get0_RSA(pkey),
- padding);
- if (cryptedlen != -1) {
- cryptedbuf = emalloc(cryptedlen + 1);
-@@ -4669,13 +4965,13 @@ PHP_FUNCTION(openssl_public_encrypt)
- cryptedlen = EVP_PKEY_size(pkey);
- cryptedbuf = emalloc(cryptedlen + 1);
-
-- switch (pkey->type) {
-+ switch (EVP_PKEY_id(pkey)) {
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
- successful = (RSA_public_encrypt(data_len,
- (unsigned char *)data,
- cryptedbuf,
-- pkey->pkey.rsa,
-+ EVP_PKEY_get0_RSA(pkey),
- padding) == cryptedlen);
- break;
- default:
-@@ -4728,13 +5024,13 @@ PHP_FUNCTION(openssl_public_decrypt)
- cryptedlen = EVP_PKEY_size(pkey);
- crypttemp = emalloc(cryptedlen + 1);
-
-- switch (pkey->type) {
-+ switch (EVP_PKEY_id(pkey)) {
- case EVP_PKEY_RSA:
- case EVP_PKEY_RSA2:
- cryptedlen = RSA_public_decrypt(data_len,
- (unsigned char *)data,
- crypttemp,
-- pkey->pkey.rsa,
-+ EVP_PKEY_get0_RSA(pkey),
- padding);
- if (cryptedlen != -1) {
- cryptedbuf = emalloc(cryptedlen + 1);
-@@ -4798,7 +5094,7 @@ PHP_FUNCTION(openssl_sign)
- long keyresource = -1;
- char * data;
- int data_len;
-- EVP_MD_CTX md_ctx;
-+ EVP_MD_CTX *md_ctx;
- zval *method = NULL;
- long signature_algo = OPENSSL_ALGO_SHA1;
- const EVP_MD *mdtype;
-@@ -4831,9 +5127,10 @@ PHP_FUNCTION(openssl_sign)
- siglen = EVP_PKEY_size(pkey);
- sigbuf = emalloc(siglen + 1);
-
-- EVP_SignInit(&md_ctx, mdtype);
-- EVP_SignUpdate(&md_ctx, data, data_len);
-- if (EVP_SignFinal (&md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) {
-+ md_ctx = EVP_MD_CTX_create();
-+ EVP_SignInit(md_ctx, mdtype);
-+ EVP_SignUpdate(md_ctx, data, data_len);
-+ if (EVP_SignFinal (md_ctx, sigbuf,(unsigned int *)&siglen, pkey)) {
- zval_dtor(signature);
- sigbuf[siglen] = '\0';
- ZVAL_STRINGL(signature, (char *)sigbuf, siglen, 0);
-@@ -4842,7 +5139,7 @@ PHP_FUNCTION(openssl_sign)
- efree(sigbuf);
- RETVAL_FALSE;
- }
-- EVP_MD_CTX_cleanup(&md_ctx);
-+ EVP_MD_CTX_destroy(md_ctx);
- if (keyresource == -1) {
- EVP_PKEY_free(pkey);
- }
-@@ -4856,7 +5153,7 @@ PHP_FUNCTION(openssl_verify)
- zval **key;
- EVP_PKEY *pkey;
- int err;
-- EVP_MD_CTX md_ctx;
-+ EVP_MD_CTX *md_ctx;
- const EVP_MD *mdtype;
- long keyresource = -1;
- char * data; int data_len;
-@@ -4890,10 +5187,11 @@ PHP_FUNCTION(openssl_verify)
- RETURN_FALSE;
- }
-
-- EVP_VerifyInit (&md_ctx, mdtype);
-- EVP_VerifyUpdate (&md_ctx, data, data_len);
-- err = EVP_VerifyFinal (&md_ctx, (unsigned char *)signature, signature_len, pkey);
-- EVP_MD_CTX_cleanup(&md_ctx);
-+ md_ctx = EVP_MD_CTX_create();
-+ EVP_VerifyInit (md_ctx, mdtype);
-+ EVP_VerifyUpdate (md_ctx, data, data_len);
-+ err = EVP_VerifyFinal (md_ctx, (unsigned char *)signature, signature_len, pkey);
-+ EVP_MD_CTX_destroy(md_ctx);
-
- if (keyresource == -1) {
- EVP_PKEY_free(pkey);
-@@ -4917,7 +5215,7 @@ PHP_FUNCTION(openssl_seal)
- char *method =NULL;
- int method_len = 0;
- const EVP_CIPHER *cipher;
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "szza/|s", &data, &data_len, &sealdata, &ekeys, &pubkeys, &method, &method_len) == FAILURE) {
- return;
-@@ -4950,6 +5248,7 @@ PHP_FUNCTION(openssl_seal)
- memset(eks, 0, sizeof(*eks) * nkeys);
- key_resources = safe_emalloc(nkeys, sizeof(long), 0);
- memset(key_resources, 0, sizeof(*key_resources) * nkeys);
-+ memset(pkeys, 0, sizeof(*pkeys) * nkeys);
-
- /* get the public keys we are using to seal this data */
- zend_hash_internal_pointer_reset_ex(pubkeysht, &pos);
-@@ -4967,27 +5266,28 @@ PHP_FUNCTION(openssl_seal)
- i++;
- }
-
-- if (!EVP_EncryptInit(&ctx,cipher,NULL,NULL)) {
-+ ctx = EVP_CIPHER_CTX_new();
-+ if (ctx == NULL || !EVP_EncryptInit(ctx,cipher,NULL,NULL)) {
- RETVAL_FALSE;
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ EVP_CIPHER_CTX_free(ctx);
- goto clean_exit;
- }
-
- #if 0
- /* Need this if allow ciphers that require initialization vector */
-- ivlen = EVP_CIPHER_CTX_iv_length(&ctx);
-+ ivlen = EVP_CIPHER_CTX_iv_length(ctx);
- iv = ivlen ? emalloc(ivlen + 1) : NULL;
- #endif
- /* allocate one byte extra to make room for \0 */
-- buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(&ctx));
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ buf = emalloc(data_len + EVP_CIPHER_CTX_block_size(ctx));
-+ EVP_CIPHER_CTX_cleanup(ctx);
-
-- if (EVP_SealInit(&ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 ||
-- !EVP_SealUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len) ||
-- !EVP_SealFinal(&ctx, buf + len1, &len2)) {
-+ if (EVP_SealInit(ctx, cipher, eks, eksl, NULL, pkeys, nkeys) <= 0 ||
-+ !EVP_SealUpdate(ctx, buf, &len1, (unsigned char *)data, data_len) ||
-+ !EVP_SealFinal(ctx, buf + len1, &len2)) {
- RETVAL_FALSE;
- efree(buf);
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ EVP_CIPHER_CTX_free(ctx);
- goto clean_exit;
- }
-
-@@ -5018,7 +5318,7 @@ PHP_FUNCTION(openssl_seal)
- efree(buf);
- }
- RETVAL_LONG(len1 + len2);
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ EVP_CIPHER_CTX_free(ctx);
-
- clean_exit:
- for (i=0; i<nkeys; i++) {
-@@ -5045,7 +5345,7 @@ PHP_FUNCTION(openssl_open)
- int len1, len2;
- unsigned char *buf;
- long keyresource = -1;
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
- char * data; int data_len;
- char * ekey; int ekey_len;
- char *method =NULL;
-@@ -5074,8 +5374,9 @@ PHP_FUNCTION(openssl_open)
-
- buf = emalloc(data_len + 1);
-
-- if (EVP_OpenInit(&ctx, cipher, (unsigned char *)ekey, ekey_len, NULL, pkey) && EVP_OpenUpdate(&ctx, buf, &len1, (unsigned char *)data, data_len)) {
-- if (!EVP_OpenFinal(&ctx, buf + len1, &len2) || (len1 + len2 == 0)) {
-+ ctx = EVP_CIPHER_CTX_new();
-+ if (EVP_OpenInit(ctx, cipher, (unsigned char *)ekey, ekey_len, NULL, pkey) && EVP_OpenUpdate(ctx, buf, &len1, (unsigned char *)data, data_len)) {
-+ if (!EVP_OpenFinal(ctx, buf + len1, &len2) || (len1 + len2 == 0)) {
- efree(buf);
- RETVAL_FALSE;
- } else {
-@@ -5091,7 +5392,7 @@ PHP_FUNCTION(openssl_open)
- if (keyresource == -1) {
- EVP_PKEY_free(pkey);
- }
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+ EVP_CIPHER_CTX_free(ctx);
- }
- /* }}} */
-
-@@ -5151,7 +5452,7 @@ PHP_FUNCTION(openssl_digest)
- char *data, *method;
- int data_len, method_len;
- const EVP_MD *mdtype;
-- EVP_MD_CTX md_ctx;
-+ EVP_MD_CTX *md_ctx;
- int siglen;
- unsigned char *sigbuf;
-
-@@ -5167,9 +5468,10 @@ PHP_FUNCTION(openssl_digest)
- siglen = EVP_MD_size(mdtype);
- sigbuf = emalloc(siglen + 1);
-
-- EVP_DigestInit(&md_ctx, mdtype);
-- EVP_DigestUpdate(&md_ctx, (unsigned char *)data, data_len);
-- if (EVP_DigestFinal (&md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) {
-+ md_ctx = EVP_MD_CTX_create();
-+ EVP_DigestInit(md_ctx, mdtype);
-+ EVP_DigestUpdate(md_ctx, (unsigned char *)data, data_len);
-+ if (EVP_DigestFinal (md_ctx, (unsigned char *)sigbuf, (unsigned int *)&siglen)) {
- if (raw_output) {
- sigbuf[siglen] = '\0';
- RETVAL_STRINGL((char *)sigbuf, siglen, 0);
-@@ -5185,6 +5487,8 @@ PHP_FUNCTION(openssl_digest)
- efree(sigbuf);
- RETVAL_FALSE;
- }
-+
-+ EVP_MD_CTX_destroy(md_ctx);
- }
- /* }}} */
-
-@@ -5230,7 +5534,7 @@ PHP_FUNCTION(openssl_encrypt)
- char *data, *method, *password, *iv = "";
- int data_len, method_len, password_len, iv_len = 0, max_iv_len;
- const EVP_CIPHER *cipher_type;
-- EVP_CIPHER_CTX cipher_ctx;
-+ EVP_CIPHER_CTX *cipher_ctx;
- int i=0, outlen, keylen;
- unsigned char *outbuf, *key;
- zend_bool free_iv;
-@@ -5262,19 +5566,24 @@ PHP_FUNCTION(openssl_encrypt)
- outlen = data_len + EVP_CIPHER_block_size(cipher_type);
- outbuf = safe_emalloc(outlen, 1, 1);
-
-- EVP_EncryptInit(&cipher_ctx, cipher_type, NULL, NULL);
-+ cipher_ctx = EVP_CIPHER_CTX_new();
-+ if (!cipher_ctx) {
-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context");
-+ RETURN_FALSE;
-+ }
-+ EVP_EncryptInit(cipher_ctx, cipher_type, NULL, NULL);
- if (password_len > keylen) {
-- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len);
-+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len);
- }
-- EVP_EncryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv);
-+ EVP_EncryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv);
- if (options & OPENSSL_ZERO_PADDING) {
-- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0);
-+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0);
- }
- if (data_len > 0) {
-- EVP_EncryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
-+ EVP_EncryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
- }
- outlen = i;
-- if (EVP_EncryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) {
-+ if (EVP_EncryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) {
- outlen += i;
- if (options & OPENSSL_RAW_DATA) {
- outbuf[outlen] = '\0';
-@@ -5301,7 +5610,8 @@ PHP_FUNCTION(openssl_encrypt)
- if (free_iv) {
- efree(iv);
- }
-- EVP_CIPHER_CTX_cleanup(&cipher_ctx);
-+ EVP_CIPHER_CTX_cleanup(cipher_ctx);
-+ EVP_CIPHER_CTX_free(cipher_ctx);
- }
- /* }}} */
-
-@@ -5313,7 +5623,7 @@ PHP_FUNCTION(openssl_decrypt)
- char *data, *method, *password, *iv = "";
- int data_len, method_len, password_len, iv_len = 0;
- const EVP_CIPHER *cipher_type;
-- EVP_CIPHER_CTX cipher_ctx;
-+ EVP_CIPHER_CTX *cipher_ctx;
- int i, outlen, keylen;
- unsigned char *outbuf, *key;
- int base64_str_len;
-@@ -5359,17 +5669,23 @@ PHP_FUNCTION(openssl_decrypt)
- outlen = data_len + EVP_CIPHER_block_size(cipher_type);
- outbuf = emalloc(outlen + 1);
-
-- EVP_DecryptInit(&cipher_ctx, cipher_type, NULL, NULL);
-+ cipher_ctx = EVP_CIPHER_CTX_new();
-+ if (!cipher_ctx) {
-+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to create cipher context");
-+ RETURN_FALSE;
-+ }
-+
-+ EVP_DecryptInit(cipher_ctx, cipher_type, NULL, NULL);
- if (password_len > keylen) {
-- EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len);
-+ EVP_CIPHER_CTX_set_key_length(cipher_ctx, password_len);
- }
-- EVP_DecryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv);
-+ EVP_DecryptInit_ex(cipher_ctx, NULL, NULL, key, (unsigned char *)iv);
- if (options & OPENSSL_ZERO_PADDING) {
-- EVP_CIPHER_CTX_set_padding(&cipher_ctx, 0);
-+ EVP_CIPHER_CTX_set_padding(cipher_ctx, 0);
- }
-- EVP_DecryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
-+ EVP_DecryptUpdate(cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
- outlen = i;
-- if (EVP_DecryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) {
-+ if (EVP_DecryptFinal(cipher_ctx, (unsigned char *)outbuf + i, &i)) {
- outlen += i;
- outbuf[outlen] = '\0';
- RETVAL_STRINGL((char *)outbuf, outlen, 0);
-@@ -5386,7 +5702,8 @@ PHP_FUNCTION(openssl_decrypt)
- if (base64_str) {
- efree(base64_str);
- }
-- EVP_CIPHER_CTX_cleanup(&cipher_ctx);
-+ EVP_CIPHER_CTX_cleanup(cipher_ctx);
-+ EVP_CIPHER_CTX_free(cipher_ctx);
- }
- /* }}} */
-
-@@ -5424,6 +5741,7 @@ PHP_FUNCTION(openssl_dh_compute_key)
- zval *key;
- char *pub_str;
- int pub_len;
-+ DH *dh;
- EVP_PKEY *pkey;
- BIGNUM *pub;
- char *data;
-@@ -5433,14 +5751,21 @@ PHP_FUNCTION(openssl_dh_compute_key)
- return;
- }
- ZEND_FETCH_RESOURCE(pkey, EVP_PKEY *, &key, -1, "OpenSSL key", le_key);
-- if (!pkey || EVP_PKEY_type(pkey->type) != EVP_PKEY_DH || !pkey->pkey.dh) {
-+ if (pkey == NULL) {
-+ RETURN_FALSE;
-+ }
-+ if (EVP_PKEY_base_id(pkey) != EVP_PKEY_DH) {
-+ RETURN_FALSE;
-+ }
-+ dh = EVP_PKEY_get0_DH(pkey);
-+ if (dh == NULL) {
- RETURN_FALSE;
- }
-
- pub = BN_bin2bn((unsigned char*)pub_str, pub_len, NULL);
-
-- data = emalloc(DH_size(pkey->pkey.dh) + 1);
-- len = DH_compute_key((unsigned char*)data, pub, pkey->pkey.dh);
-+ data = emalloc(DH_size(dh) + 1);
-+ len = DH_compute_key((unsigned char*)data, pub, dh);
-
- if (len >= 0) {
- data[len] = 0;
-diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c
-index d549033..c2d477c 100644
---- a/ext/openssl/xp_ssl.c
-+++ b/ext/openssl/xp_ssl.c
-@@ -935,7 +935,7 @@ static int set_local_cert(SSL_CTX *ctx, php_stream *stream TSRMLS_DC) /* {{{ */
- static const SSL_METHOD *php_select_crypto_method(long method_value, int is_client TSRMLS_DC) /* {{{ */
- {
- if (method_value == STREAM_CRYPTO_METHOD_SSLv2) {
--#ifndef OPENSSL_NO_SSL2
-+#if !defined(OPENSSL_NO_SSL2) && OPENSSL_VERSION_NUMBER < 0x10100000L
- return is_client ? SSLv2_client_method() : SSLv2_server_method();
- #else
- php_error_docref(NULL TSRMLS_CC, E_WARNING,
-@@ -1588,12 +1588,26 @@ int php_openssl_setup_crypto(php_stream *stream,
- }
- /* }}} */
-
-+#define PHP_SSL_MAX_VERSION_LEN 32
-+
-+static char *php_ssl_cipher_get_version(const SSL_CIPHER *c, char *buffer, size_t max_len) /* {{{ */
-+{
-+ const char *version = SSL_CIPHER_get_version(c);
-+ strncpy(buffer, version, max_len);
-+ if (max_len <= strlen(version)) {
-+ buffer[max_len - 1] = 0;
-+ }
-+ return buffer;
-+}
-+/* }}} */
-+
- static zval *capture_session_meta(SSL *ssl_handle) /* {{{ */
- {
- zval *meta_arr;
- char *proto_str;
- long proto = SSL_version(ssl_handle);
- const SSL_CIPHER *cipher = SSL_get_current_cipher(ssl_handle);
-+ char version_str[PHP_SSL_MAX_VERSION_LEN];
-
- switch (proto) {
- #if OPENSSL_VERSION_NUMBER >= 0x10001001L
-@@ -1611,7 +1625,7 @@ static zval *capture_session_meta(SSL *ssl_handle) /* {{{ */
- add_assoc_string(meta_arr, "protocol", proto_str, 1);
- add_assoc_string(meta_arr, "cipher_name", (char *) SSL_CIPHER_get_name(cipher), 1);
- add_assoc_long(meta_arr, "cipher_bits", SSL_CIPHER_get_bits(cipher, NULL));
-- add_assoc_string(meta_arr, "cipher_version", SSL_CIPHER_get_version(cipher), 1);
-+ add_assoc_string(meta_arr, "cipher_version", php_ssl_cipher_get_version(cipher, version_str, PHP_SSL_MAX_VERSION_LEN), 1);
-
- return meta_arr;
- }
-diff --git a/ext/phar/util.c b/ext/phar/util.c
-index 828be8f..06e4e55 100644
---- a/ext/phar/util.c
-+++ b/ext/phar/util.c
-@@ -1531,7 +1531,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
- BIO *in;
- EVP_PKEY *key;
- EVP_MD *mdtype = (EVP_MD *) EVP_sha1();
-- EVP_MD_CTX md_ctx;
-+ EVP_MD_CTX *md_ctx;
- #else
- int tempsig;
- #endif
-@@ -1608,7 +1608,8 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
- return FAILURE;
- }
-
-- EVP_VerifyInit(&md_ctx, mdtype);
-+ md_ctx = EVP_MD_CTX_create();
-+ EVP_VerifyInit(md_ctx, mdtype);
- read_len = end_of_phar;
-
- if (read_len > sizeof(buf)) {
-@@ -1620,7 +1621,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
- php_stream_seek(fp, 0, SEEK_SET);
-
- while (read_size && (len = php_stream_read(fp, (char*)buf, read_size)) > 0) {
-- EVP_VerifyUpdate (&md_ctx, buf, len);
-+ EVP_VerifyUpdate (md_ctx, buf, len);
- read_len -= (off_t)len;
-
- if (read_len < read_size) {
-@@ -1628,9 +1629,9 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
- }
- }
-
-- if (EVP_VerifyFinal(&md_ctx, (unsigned char *)sig, sig_len, key) != 1) {
-+ if (EVP_VerifyFinal(md_ctx, (unsigned char *)sig, sig_len, key) != 1) {
- /* 1: signature verified, 0: signature does not match, -1: failed signature operation */
-- EVP_MD_CTX_cleanup(&md_ctx);
-+ EVP_MD_CTX_destroy(md_ctx);
-
- if (error) {
- spprintf(error, 0, "broken openssl signature");
-@@ -1639,7 +1640,7 @@ int phar_verify_signature(php_stream *fp, size_t end_of_phar, php_uint32 sig_typ
- return FAILURE;
- }
-
-- EVP_MD_CTX_cleanup(&md_ctx);
-+ EVP_MD_CTX_destroy(md_ctx);
- #endif
-
- *signature_len = phar_hex_str((const char*)sig, sig_len, signature TSRMLS_CC);
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
deleted file mode 100644
index e7d326d7e..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 003c9feaae6ed5c173edcea51193e49bc94ac39a Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen.kooi@linaro.org>
-Date: Tue, 17 Jun 2014 09:53:00 +0200
-Subject: [PATCH 3/8] acinclude: use pkgconfig for libxml2 config
-
-Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
-Upstream-Status: Pending
----
- acinclude.m4 | 63 ++++++++++++++++++++++--------------------------------------
- 1 file changed, 23 insertions(+), 40 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 206fcbf..a6c0d84 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2530,48 +2530,31 @@ dnl
- dnl Common setup macro for libxml
- dnl
- AC_DEFUN([PHP_SETUP_LIBXML], [
--AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
--[
--
-- ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
--
-+PKG_CHECK_MODULES([LIBXML], [libxml-2.0 > 2.6.11], [
-+ PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
-+ PHP_EVAL_INCLINE($LIBXML_CFLAGS)
-+
-+ dnl Check that build works with given libs
-+ AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
-+ PHP_TEST_BUILD(xmlInitParser,
-+ [
-+ php_cv_libxml_build_works=yes
-+ AC_MSG_RESULT(yes)
-+ ], [
-+ AC_MSG_RESULT(no)
-+ AC_MSG_ERROR([build test failed. Please check the config.log for details.])
-+ ], [
-+ [$]$1
-+ ])
-+ ])
-+ if test "$php_cv_libxml_build_works" = "yes"; then
-+ AC_DEFINE(HAVE_LIBXML, 1, [ ])
-+ fi
-+ $2
-+], [
-+ AC_MSG_ERROR([$LIBXML_PKG_ERRORS])
- ])
-
-- if test -x "$ac_cv_php_xml2_config_path"; then
-- XML2_CONFIG="$ac_cv_php_xml2_config_path"
-- libxml_full_version=`$XML2_CONFIG --version`
-- ac_IFS=$IFS
-- IFS="."
-- set $libxml_full_version
-- IFS=$ac_IFS
-- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
-- if test "$LIBXML_VERSION" -ge "2006011"; then
-- LIBXML_LIBS=`$XML2_CONFIG --libs`
-- LIBXML_INCS=`$XML2_CONFIG --cflags`
-- PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
-- PHP_EVAL_INCLINE($LIBXML_INCS)
--
-- dnl Check that build works with given libs
-- AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
-- PHP_TEST_BUILD(xmlInitParser,
-- [
-- php_cv_libxml_build_works=yes
-- ], [
-- AC_MSG_RESULT(no)
-- AC_MSG_ERROR([build test failed. Please check the config.log for details.])
-- ], [
-- [$]$1
-- ])
-- ])
-- if test "$php_cv_libxml_build_works" = "yes"; then
-- AC_DEFINE(HAVE_LIBXML, 1, [ ])
-- fi
-- $2
-- else
-- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
-- fi
--ifelse([$3],[],,[else $3])
-- fi
- ])
-
- dnl -------------------------------------------------------------------------
---
-1.9.3
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch
new file mode 100644
index 000000000..b7cdfd964
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch
@@ -0,0 +1,192 @@
+From 089f7c0bc28d399b0420aa6ef058e4c1c120b2ae Mon Sep 17 00:00:00 2001
+From: "Christoph M. Becker" <cmbecker69@gmx.de>
+Date: Sat, 19 Jan 2019 10:35:39 +0100
+Subject: [PATCH] Sync with upstream
+
+Even though libgd/libgd#492 is not a relevant bug fix for PHP, since
+the binding doesn't use the `gdImage*Ptr()` functions at all, we're
+porting the fix to stay in sync here.
+---
+ ext/gd/libgd/gd_gif_out.c | 20 +++++++++++++++++---
+ ext/gd/libgd/gd_jpeg.c | 17 ++++++++++++++---
+ ext/gd/libgd/gd_wbmp.c | 18 +++++++++++++++---
+ 3 files changed, 46 insertions(+), 9 deletions(-)
+
+Upstream-Status: Backport [http://git.php.net/?p=php-src.git;a=commit;h=089f7c0bc28d399b0420aa6ef058e4c1c120b2ae]
+CVE: CVE-2019-6978
+
+Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
+
+diff --git a/ext/gd/libgd/gd_gif_out.c b/ext/gd/libgd/gd_gif_out.c
+index 1f2a6b936a..2e1f38af70 100644
+--- a/ext/gd/libgd/gd_gif_out.c
++++ b/ext/gd/libgd/gd_gif_out.c
+@@ -97,12 +97,18 @@ static void cl_hash (register count_int chsize, GifCtx *ctx);
+ static void char_init (GifCtx *ctx);
+ static void char_out (int c, GifCtx *ctx);
+ static void flush_char (GifCtx *ctx);
++
++static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out);
++
+ void * gdImageGifPtr (gdImagePtr im, int *size)
+ {
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx (2048, NULL);
+- gdImageGifCtx (im, out);
+- rv = gdDPExtractData (out, size);
++ if (!_gdImageGifCtx(im, out)) {
++ rv = gdDPExtractData(out, size);
++ } else {
++ rv = NULL;
++ }
+ out->gd_free (out);
+ return rv;
+ }
+@@ -115,6 +121,12 @@ void gdImageGif (gdImagePtr im, FILE * outFile)
+ }
+
+ void gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
++{
++ _gdImageGifCtx(im, out);
++}
++
++/* returns 0 on success, 1 on failure */
++static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
+ {
+ gdImagePtr pim = 0, tim = im;
+ int interlace, BitsPerPixel;
+@@ -125,7 +137,7 @@ void gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
+ based temporary image. */
+ pim = gdImageCreatePaletteFromTrueColor(im, 1, 256);
+ if (!pim) {
+- return;
++ return 1;
+ }
+ tim = pim;
+ }
+@@ -138,6 +150,8 @@ void gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
+ /* Destroy palette based temporary image. */
+ gdImageDestroy( pim);
+ }
++
++ return 0;
+ }
+
+ static int
+diff --git a/ext/gd/libgd/gd_jpeg.c b/ext/gd/libgd/gd_jpeg.c
+index 8cf71fcbc9..ef46c4a22c 100644
+--- a/ext/gd/libgd/gd_jpeg.c
++++ b/ext/gd/libgd/gd_jpeg.c
+@@ -132,6 +132,7 @@ const char * gdJpegGetVersionString()
+ }
+ }
+
++static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality);
+
+ /*
+ * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality
+@@ -153,8 +154,11 @@ void *gdImageJpegPtr (gdImagePtr im, int *size, int quality)
+ {
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx (2048, NULL);
+- gdImageJpegCtx (im, out, quality);
+- rv = gdDPExtractData (out, size);
++ if (!_gdImageJpegCtx(im, out, quality)) {
++ rv = gdDPExtractData(out, size);
++ } else {
++ rv = NULL;
++ }
+ out->gd_free (out);
+
+ return rv;
+@@ -163,6 +167,12 @@ void *gdImageJpegPtr (gdImagePtr im, int *size, int quality)
+ void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile);
+
+ void gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
++{
++ _gdImageJpegCtx(im, outfile, quality);
++}
++
++/* returns 0 on success, 1 on failure */
++static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
+ {
+ struct jpeg_compress_struct cinfo;
+ struct jpeg_error_mgr jerr;
+@@ -184,7 +194,7 @@ void gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
+ if (row) {
+ gdFree (row);
+ }
+- return;
++ return 1;
+ }
+
+ cinfo.err->error_exit = fatal_jpeg_error;
+@@ -277,6 +287,7 @@ void gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality)
+ jpeg_finish_compress (&cinfo);
+ jpeg_destroy_compress (&cinfo);
+ gdFree (row);
++ return 0;
+ }
+
+ gdImagePtr gdImageCreateFromJpeg (FILE * inFile)
+diff --git a/ext/gd/libgd/gd_wbmp.c b/ext/gd/libgd/gd_wbmp.c
+index 55ced3443d..fd9edad2ca 100644
+--- a/ext/gd/libgd/gd_wbmp.c
++++ b/ext/gd/libgd/gd_wbmp.c
+@@ -82,6 +82,7 @@ int gd_getin (void *in)
+ return (gdGetC((gdIOCtx *) in));
+ }
+
++static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out);
+
+ /* gdImageWBMPCtx
+ ** --------------
+@@ -93,6 +94,12 @@ int gd_getin (void *in)
+ ** out: the stream where to write
+ */
+ void gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out)
++{
++ _gdImageWBMPCtx(image, fg, out);
++}
++
++/* returns 0 on success, 1 on failure */
++static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
+ {
+ int x, y, pos;
+ Wbmp *wbmp;
+@@ -100,7 +107,7 @@ void gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out)
+ /* create the WBMP */
+ if ((wbmp = createwbmp (gdImageSX (image), gdImageSY (image), WBMP_WHITE)) == NULL) {
+ gd_error("Could not create WBMP");
+- return;
++ return 1;
+ }
+
+ /* fill up the WBMP structure */
+@@ -116,7 +123,9 @@ void gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out)
+
+ /* write the WBMP to a gd file descriptor */
+ if (writewbmp (wbmp, &gd_putout, out)) {
++ freewbmp(wbmp);
+ gd_error("Could not save WBMP");
++ return 1;
+ }
+ /* des submitted this bugfix: gdFree the memory. */
+ freewbmp(wbmp);
+@@ -204,8 +213,11 @@ void * gdImageWBMPPtr (gdImagePtr im, int *size, int fg)
+ {
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
+- gdImageWBMPCtx(im, fg, out);
+- rv = gdDPExtractData(out, size);
++ if (!_gdImageWBMPCtx(im, fg, out)) {
++ rv = gdDPExtractData(out, size);
++ } else {
++ rv = NULL;
++ }
+ out->gd_free(out);
+
+ return rv;
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
deleted file mode 100644
index d0831669f..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Upstream-Status: Pending
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 4fd452e..206fcbf 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -2532,12 +2532,9 @@ dnl
- AC_DEFUN([PHP_SETUP_LIBXML], [
- AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
- [
-- for i in $PHP_LIBXML_DIR /usr/local /usr; do
-- if test -x "$i/bin/xml2-config"; then
-- ac_cv_php_xml2_config_path="$i/bin/xml2-config"
-- break
-- fi
-- done
-+
-+ ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
-+
- ])
-
- if test -x "$ac_cv_php_xml2_config_path"; then
---
-1.9.3
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch
new file mode 100755
index 000000000..21050f760
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch
@@ -0,0 +1,31 @@
+php: remove host specific info from header file
+
+https://sources.debian.org/data/main/p/php7.3/7.3.6-1/debian/patches/
+ 0036-php-5.4.9-fixheader.patch
+
+Upstream-Status: Inappropriate [not author]
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+---
+From: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org>
+Date: Sat, 2 May 2015 10:26:56 +0200
+Subject: php-5.4.9-fixheader
+
+Make generated php_config.h constant across rebuilds.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 433d7e6..41893d7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1357,7 +1357,7 @@ PHP_BUILD_DATE=`date -u +%Y-%m-%d`
+ fi
+ AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date])
+
+-PHP_UNAME=`uname -a | xargs`
++PHP_UNAME=`uname | xargs`
+ AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
+ PHP_OS=`uname | xargs`
+ AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])
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 ef79a0cc9..f7f46d205 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 /usr/lib/apache2/modules/mod_proxy.so
-LoadModule proxy_fcgi_module /usr/lib/apache2/modules/mod_proxy_fcgi.so
+LoadModule proxy_module /usr/libexec/apache2/modules/mod_proxy.so
+LoadModule proxy_fcgi_module /usr/libexec/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/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch
deleted file mode 100644
index 72ad554a1..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-acinclude.m4-don-t-unset-cache-variables.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 1fb5a3b3e6c9cf0002ff76988de72f011b642005 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 12 Feb 2019 16:25:37 +0800
-Subject: [PATCH] acinclude.m4: don't unset cache variables
-
-Unsetting prevents cache variable from being passed to configure.
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
-update patch to version 5.6.40
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- acinclude.m4 | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index b188eee..ed32fc5 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -1897,8 +1897,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,]))
- dnl
- AC_DEFUN([PHP_CHECK_FUNC_LIB],[
- ifelse($2,,:,[
-- unset ac_cv_lib_$2[]_$1
-- unset ac_cv_lib_$2[]___$1
- unset found
- AC_CHECK_LIB($2, $1, [found=yes], [
- AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
-@@ -1930,8 +1928,6 @@ dnl in the default libraries and as a fall back in the specified library.
- dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS.
- dnl
- AC_DEFUN([PHP_CHECK_FUNC],[
-- unset ac_cv_func_$1
-- unset ac_cv_func___$1
- unset found
-
- AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ])
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch
deleted file mode 100644
index 7be67ea94..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-0001-opcache-config.m4-enable-opcache.patch
+++ /dev/null
@@ -1,387 +0,0 @@
-From fafcfac0933c17e1bf551600080eb0541186caf5 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Mon, 2 Apr 2018 17:54:52 +0800
-Subject: [PATCH] opcache/config.m4: enable opcache
-
-We can't use AC_TRY_RUN to run programs in a cross compile environment. Set
-the variables directly instead since we know that we'd be running on latest
-enough linux kernel.
-
-Upstream-Status: Inappropriate [Configuration]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
-%% original patch: php5-0001-opcache-config.m4-enable-opcache.patch
----
- ext/opcache/config.m4 | 349 ++------------------------------------------------
- 1 file changed, 8 insertions(+), 341 deletions(-)
-
-diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
-index 5a8b86c..6e87fa5 100644
---- a/ext/opcache/config.m4
-+++ b/ext/opcache/config.m4
-@@ -11,353 +11,20 @@ if test "$PHP_OPCACHE" != "no"; then
- AC_DEFINE(HAVE_MPROTECT, 1, [Define if you have mprotect() function])
- ])
-
-- AC_MSG_CHECKING(for sysvipc shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/ipc.h>
--#include <sys/shm.h>
--#include <unistd.h>
--#include <string.h>
-+ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
-
--int main() {
-- pid_t pid;
-- int status;
-- int ipc_id;
-- char *shm;
-- struct shmid_ds shmbuf;
-+ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
-
-- ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W));
-- if (ipc_id == -1) {
-- return 1;
-- }
-+ AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
-
-- shm = shmat(ipc_id, NULL, 0);
-- if (shm == (void *)-1) {
-- shmctl(ipc_id, IPC_RMID, NULL);
-- return 2;
-- }
--
-- if (shmctl(ipc_id, IPC_STAT, &shmbuf) != 0) {
-- shmdt(shm);
-- shmctl(ipc_id, IPC_RMID, NULL);
-- return 3;
-- }
--
-- shmbuf.shm_perm.uid = getuid();
-- shmbuf.shm_perm.gid = getgid();
-- shmbuf.shm_perm.mode = 0600;
--
-- if (shmctl(ipc_id, IPC_SET, &shmbuf) != 0) {
-- shmdt(shm);
-- shmctl(ipc_id, IPC_RMID, NULL);
-- return 4;
-- }
--
-- shmctl(ipc_id, IPC_RMID, NULL);
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
--
-- AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <unistd.h>
--#include <string.h>
--
--#ifndef MAP_ANON
--# ifdef MAP_ANONYMOUS
--# define MAP_ANON MAP_ANONYMOUS
--# endif
--#endif
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- char *shm;
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
-- if (shm == MAP_FAILED) {
-- return 1;
-- }
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
--
-- AC_MSG_CHECKING(for mmap() using /dev/zero shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
--
-- fd = open("/dev/zero", O_RDWR, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 1;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 2;
-- }
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_MMAP_ZERO, 1, [Define if you have mmap("/dev/zero") SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
--
-- AC_MSG_CHECKING(for mmap() using shm_open() shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--#include <stdlib.h>
--#include <stdio.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
-- char tmpname[4096];
--
-- sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
-- if (mktemp(tmpname) == NULL) {
-- return 1;
-- }
-- fd = shm_open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 2;
-- }
-- if (ftruncate(fd, 4096) < 0) {
-- close(fd);
-- shm_unlink(tmpname);
-- return 3;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 4;
-- }
-- shm_unlink(tmpname);
-- close(fd);
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
-+ AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
-
- AC_MSG_CHECKING(for mmap() using regular file shared memory support)
-- AC_TRY_RUN([
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--#include <stdlib.h>
--#include <stdio.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
-- char tmpname[4096];
--
-- sprintf(tmpname,"test.shm.%dXXXXXX", getpid());
-- if (mktemp(tmpname) == NULL) {
-- return 1;
-- }
-- fd = open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 2;
-- }
-- if (ftruncate(fd, 4096) < 0) {
-- close(fd);
-- unlink(tmpname);
-- return 3;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 4;
-- }
-- unlink(tmpname);
-- close(fd);
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--],dnl
-- AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
-- msg=yes,msg=no,msg=no)
-- AC_MSG_RESULT([$msg])
--
--flock_type=unknown
--AC_MSG_CHECKING("whether flock struct is linux ordered")
--AC_TRY_RUN([
-- #include <fcntl.h>
-- struct flock lock = { 1, 2, 3, 4, 5 };
-- int main() {
-- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) {
-- return 0;
-- }
-- return 1;
-- }
--], [
-- flock_type=linux
-- AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
-- AC_MSG_RESULT("yes")
--], AC_MSG_RESULT("no") )
-+
-+ AC_DEFINE(HAVE_SHM_MMAP_FILE, 1, [Define if you have mmap() SHM support])
-
--AC_MSG_CHECKING("whether flock struct is BSD ordered")
--AC_TRY_RUN([
-- #include <fcntl.h>
-- struct flock lock = { 1, 2, 3, 4, 5 };
-- int main() {
-- if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) {
-- return 0;
-- }
-- return 1;
-- }
--], [
-- flock_type=bsd
-- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type])
-- AC_MSG_RESULT("yes")
--], AC_MSG_RESULT("no") )
-+ flock_type=linux
-+ AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type])
-
- if test "$flock_type" = "unknown"; then
- AC_MSG_ERROR([Don't know how to define struct flock on this system[,] set --enable-opcache=no])
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch
deleted file mode 100644
index 1d21f8c56..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 5f49987e88dfcbdb84be6e0c9025432fbd998709 Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Thu, 20 Aug 2015 16:29:35 +0800
-Subject: [PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK
-
-Upstream-Status: Pending
-
-AC_TRY_RUN is not suitable for cross-compile
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-
-%% original patch: change-AC_TRY_RUN-to-AC_TRY_LINK.patch
-
-%% original patch: php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch
----
- ext/fileinfo/config.m4 | 31 ++++++-------------------------
- 1 file changed, 6 insertions(+), 25 deletions(-)
-
-diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4
-index 7e98d62..8a8ea0e 100644
---- a/ext/fileinfo/config.m4
-+++ b/ext/fileinfo/config.m4
-@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then
- libmagic/readcdf.c libmagic/softmagic.c"
-
- AC_MSG_CHECKING([for strcasestr])
-- AC_TRY_RUN([
--#include <string.h>
--#include <strings.h>
--#include <stdlib.h>
--
--int main(void)
--{
-- char *s0, *s1, *ret;
--
-- s0 = (char *) malloc(42);
-- s1 = (char *) malloc(8);
--
-- memset(s0, 'X', 42);
-- s0[24] = 'Y';
-- s0[26] = 'Z';
-- s0[41] = '\0';
-- memset(s1, 'x', 8);
-- s1[0] = 'y';
-- s1[2] = 'Z';
-- s1[7] = '\0';
--
-- ret = strcasestr(s0, s1);
--
-- return !(NULL != ret);
--}
-+ AC_TRY_COMPILE([
-+ #include <string.h>
-+ #include <strings.h>
-+ #include <stdlib.h>
-+ ],[
-+ strcasestr(NULL, NULL);
- ],[
- dnl using the platform implementation
- AC_MSG_RESULT(yes)
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch
deleted file mode 100644
index 997430309..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-pear-makefile.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 79725e82d5981fc94eb657f0f46a499dbfc1cc40 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Upstream-Status: Pending
-
-%% original patch: php5-pear-makefile.patch
----
- pear/Makefile.frag | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pear/Makefile.frag b/pear/Makefile.frag
-index 00bacae..739eeca 100644
---- a/pear/Makefile.frag
-+++ b/pear/Makefile.frag
-@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix}
- PEAR_SUFFIX = -ds a$(program_suffix)
-
- install-pear-installer: $(SAPI_CLI_PATH)
-- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
-+ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
-
- install-pear:
- @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/"
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch
deleted file mode 100644
index 4e1efd40c..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/php5-phar-makefile.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 3ea626a8d081f56b01004b7992534d4e6b81a9cc Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Fix phar packaging
-
-Inherited from OE-Classic, with some additions to fix host paths leaking
-into the target package.
-
-Upstream-Status: Inappropriate [config]
-
-%% original patch: php5-phar-makefile.patch
----
- ext/phar/Makefile.frag | 17 +++--------------
- 1 file changed, 3 insertions(+), 14 deletions(-)
-
-diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
-index b8b1b42..1005b2d 100644
---- a/ext/phar/Makefile.frag
-+++ b/ext/phar/Makefile.frag
-@@ -5,20 +5,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
-
- PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
- PHP_PHARCMD_EXECUTABLE = ` \
-- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
-- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
-- if test "x$(PHP_MODULES)" != "x"; then \
-- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
-- for i in bz2 zlib phar; do \
-- if test -f "$(top_builddir)/modules/$$i.la"; then \
-- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
-- fi; \
-- done; \
-- fi; \
-- else \
-- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
-- fi;`
--PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
-+ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
-+
-+PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
-
- $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
- -@test -d $(builddir)/phar || mkdir $(builddir)/phar
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch
deleted file mode 100644
index 0c564cd88..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d8067ceacbf54e79c9c6b68675332c09eaa0b55d Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Mon, 8 Apr 2013 14:29:51 +0800
-Subject: [PATCH] pthread-check
-
-Enable pthreads support when cross-compiling
-
-Upstream-Status: Inapproprate [config]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- TSRM/threads.m4 | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/TSRM/threads.m4 b/TSRM/threads.m4
-index 38494ce..15d9454 100644
---- a/TSRM/threads.m4
-+++ b/TSRM/threads.m4
-@@ -86,7 +86,7 @@ int main() {
- pthreads_working=no
- ], [
- dnl For cross compiling running this test is of no use. NetWare supports pthreads
-- pthreads_working=no
-+ pthreads_working=yes
- case $host_alias in
- *netware*)
- pthreads_working=yes
---
-1.7.4.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb
deleted file mode 100644
index 9f5bac7e2..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.40.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
-
-SRC_URI += "file://php5-change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
- file://pthread-check-threads-m4.patch \
- file://0001-Add-lpthread-to-link.patch \
- file://acinclude-xml2-config.patch \
- file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \
- file://0001-PHP-5.6-LibSSL-1.1-compatibility.patch \
- file://php5-0001-acinclude.m4-don-t-unset-cache-variables.patch \
- "
-
-SRC_URI_append_class-target = " \
- file://php5-pear-makefile.patch \
- file://php5-phar-makefile.patch \
- file://php5-0001-opcache-config.m4-enable-opcache.patch \
- "
-
-SRC_URI[md5sum] = "44633604d2fece1f53f508bc16751b74"
-SRC_URI[sha256sum] = "ffd025d34623553ab2f7fd8fb21d0c9e6f9fa30dc565ca03a1d7b763023fba00"
-
-DEPENDS += "libmcrypt"
-EXTRA_OECONF += "--with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
- "
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb
deleted file mode 100644
index b1cac1c07..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.6.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-require php.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fb07bfc51f6d5e0c30b65d9701233b2e"
-
-SRC_URI += "file://0001-acinclude.m4-don-t-unset-cache-variables.patch \
- file://0048-Use-pkg-config-for-FreeType2-detection.patch \
- file://0049-ext-intl-Use-pkg-config-to-detect-icu.patch \
- file://0001-Use-pkg-config-for-libxml2-detection.patch \
- "
-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] = "bde9a912fb311182cd460dad1abbc247"
-SRC_URI[sha256sum] = "1e5ac8700154835c0910e3a814517da9b87bb4a82cc7011fea1a82096b6f6f77"
-
-PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \
- --with-pdo-mysql=mysqlnd \
- ,--without-mysqli --without-pdo-mysql \
- ,mysql5"
-PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind"
-
-FILES_${PN}-fpm += "${sysconfdir}/php-fpm.d/www.conf.default"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.9.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.9.bb
new file mode 100644
index 000000000..a5c7b9b6b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.9.bb
@@ -0,0 +1,20 @@
+require php.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fb07bfc51f6d5e0c30b65d9701233b2e"
+
+SRC_URI += "file://0001-acinclude.m4-don-t-unset-cache-variables.patch \
+ file://0048-Use-pkg-config-for-FreeType2-detection.patch \
+ file://0049-ext-intl-Use-pkg-config-to-detect-icu.patch \
+ file://0001-Use-pkg-config-for-libxml2-detection.patch \
+ file://debian-php-fixheader.patch \
+ file://CVE-2019-6978.patch \
+ "
+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] = "bcc37749815009c9201e4c126e1ab8ee"
+SRC_URI[sha256sum] = "a39c9709a8c9eb7ea8ac4933ef7a78b92f7e5735a405c8b8e42ee39541d963c4"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch
new file mode 100644
index 000000000..4fc7703d8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch
@@ -0,0 +1,36 @@
+From 216e31260b618ec73862f9f5336597f391444dac Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Sun, 29 Sep 2019 17:20:42 +0800
+Subject: [PATCH] avoid race condition
+
+It's possible that the cxx-generate-packed-data.cc is compiled
+while the t/test-full.pb.h is being generated. This will result
+the following error.
+
+ DEBUG: ./t/test-full.pb.h:4:0: error: unterminated #ifndef
+ ./t/test-full.pb.h:4:0: error: unterminated #ifndef
+
+Add a dependency to avoid such problem.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index b0cb065..1608ae0 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -156,6 +156,7 @@ noinst_PROGRAMS += \
+ t_generated_code2_cxx_generate_packed_data_SOURCES = \
+ t/generated-code2/cxx-generate-packed-data.cc \
+ t/test-full.pb.cc
++t/generated-code2/cxx-generate-packed-data.cc: t/test-full.pb.h
+ $(t_generated_code2_cxx_generate_packed_data_OBJECTS): t/test-full.pb.h
+ t_generated_code2_cxx_generate_packed_data_CXXFLAGS = \
+ $(AM_CXXFLAGS) \
+--
+2.17.1
+
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
deleted file mode 100644
index 35914952d..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c/protobuf3-compatibility.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-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
deleted file mode 100644
index 1d1782306..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.1.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
-DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \
-serialization format. It includes libprotobuf-c, a pure C library that \
-implements protobuf encoding and decoding, and protoc-c, a code generator that \
-converts Protocol Buffer .proto files to C descriptor code, based on the \
-original protoc. protobuf-c formerly included an RPC implementation; that code \
-has been split out into the protobuf-c-rpc project."
-HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
-SECTION = "console/tools"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558"
-
-DEPENDS = "protobuf-native protobuf"
-
-PV .= "+git${SRCPV}"
-SRCREV = "269771b4b45d3aba04e59569f53600003db8d9ff"
-
-SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \
- file://protobuf3-compatibility.patch \
- "
-
-S = "${WORKDIR}/git"
-
-#make sure c++11 is used
-CXXFLAGS += "-std=c++11"
-BUILD_CXXFLAGS += "-std=c++11"
-
-inherit autotools pkgconfig
-
-PACKAGE_BEFORE_PN = "${PN}-compiler"
-
-FILES_${PN}-compiler = "${bindir}"
-
-RDEPENDS_${PN}-compiler = "protobuf-compiler"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb
new file mode 100644
index 000000000..b92f82dec
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.2.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
+DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \
+serialization format. It includes libprotobuf-c, a pure C library that \
+implements protobuf encoding and decoding, and protoc-c, a code generator that \
+converts Protocol Buffer .proto files to C descriptor code, based on the \
+original protoc. protobuf-c formerly included an RPC implementation; that code \
+has been split out into the protobuf-c-rpc project."
+HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
+SECTION = "console/tools"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558"
+
+DEPENDS = "protobuf-native protobuf"
+
+SRCREV = "1390409f4ee4e26d0635310995b516eb702c3f9e"
+
+SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \
+ file://0001-avoid-race-condition.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+#make sure c++11 is used
+CXXFLAGS += "-std=c++11"
+BUILD_CXXFLAGS += "-std=c++11"
+
+inherit autotools pkgconfig
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
+FILES_${PN}-compiler = "${bindir}"
+
+RDEPENDS_${PN}-compiler = "protobuf-compiler"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+
+BBCLASSEXTEND = "native nativesdk"
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
deleted file mode 100644
index a160e5e97..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Added-stubs-map_util.h-to-list-of-installed-headers.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-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/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
new file mode 100644
index 000000000..fc7286122
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
@@ -0,0 +1,28 @@
+From 321709837f412e2f590e36e3fe33571bb40036a7 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 27 Jun 2019 13:27:18 +0000
+Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building libprotoc.so
+
+* otherwise plugin.pb.o has undefined symbol scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto
+ and build with gold fails with:
+ core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `descriptor_table_google_2fprotobuf_2fdescriptor_2eproto'
+ core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto'
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index be18ba761..57e3daec1 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -313,6 +313,7 @@ libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map
+ EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map
+ endif
+ libprotoc_la_SOURCES = \
++ google/protobuf/descriptor.pb.cc \
+ google/protobuf/compiler/code_generator.cc \
+ google/protobuf/compiler/command_line_interface.cc \
+ google/protobuf/compiler/plugin.cc \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
new file mode 100644
index 000000000..0a2e5e2df
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
@@ -0,0 +1,56 @@
+From a28e15092a298e0c73c6fc1ded0913275cf27cb0 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Fri, 28 Jun 2019 13:50:52 +0000
+Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build
+ with gold
+
+* move pkg-config call to separate variable, so that the final version
+ of the whole command so it's shown in log.do_compile_ptest_base
+* add ../src/google/protobuf/.libs/timestamp.pb.o when linking
+ add_person_cpp otherwise it fails to link with gold:
+ i686-oe-linux-g++ -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
+ /tmp/cccjSJQs.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
+ /tmp/cccjSJQs.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
+ collect2: error: ld returned 1 exit status
+ Makefile:43: recipe for target 'add_person_cpp' failed
+
+* and the same with list_people_cpp this time with pkg-config already through the variable:
+ i686-oe-linux-g++ -m32 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -pthread -Icore2-32-oe-linux/protobuf/3.8.0-r0/git/src -Lcore2-32-oe-linux/protobuf/3.8.0-r0/git/src/.libs -Lcore2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot/usr/lib -lprotobuf list_people.cc addressbook.pb.cc -o list_people_cpp
+ /tmp/ccpaI5Su.o:addressbook.pb.cc:scc_info_Person_addressbook_2eproto: error: undefined reference to 'scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto'
+ /tmp/ccpaI5Su.o:addressbook.pb.cc:descriptor_table_addressbook_2eproto_deps: error: undefined reference to 'descriptor_table_google_2fprotobuf_2ftimestamp_2eproto'
+ collect2: error: ld returned 1 exit status
+ Makefile:49: recipe for target 'list_people_cpp' failed
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ examples/Makefile | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/examples/Makefile b/examples/Makefile
+index 4ad605641..31d887639 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -2,6 +2,8 @@
+
+ .PHONY: all cpp java python clean
+
++PROTOBUF := $(shell pkg-config --cflags --libs protobuf)
++
+ all: cpp java python
+
+ cpp: add_person_cpp list_people_cpp
+@@ -41,11 +43,11 @@ protoc_middleman_dart: addressbook.proto
+
+ add_person_cpp: add_person.cc protoc_middleman
+ pkg-config --cflags protobuf # fails if protobuf is not installed
+- c++ add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
+
+ list_people_cpp: list_people.cc protoc_middleman
+ pkg-config --cflags protobuf # fails if protobuf is not installed
+- c++ list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
+
+ add_person_dart: add_person.dart protoc_middleman_dart
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb
deleted file mode 100644
index 476d1e309..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.8.0.bb
+++ /dev/null
@@ -1,92 +0,0 @@
-SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
-DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
-efficient yet extensible format. Google uses Protocol Buffers for almost \
-all of its internal RPC protocols and file formats."
-HOMEPAGE = "https://github.com/google/protobuf"
-SECTION = "console/tools"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
-
-DEPENDS = "zlib"
-DEPENDS_append_class-target = " protobuf-native"
-
-SRCREV = "09745575a923640154bcf307fba8aedff47f240a"
-
-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"
-
-inherit autotools-brokensep pkgconfig ptest
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[python] = ",,"
-
-EXTRA_OECONF += "--with-protoc=echo"
-
-TEST_SRC_DIR = "examples"
-LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
-
-do_compile_ptest() {
- # Modify makefile to use the cross-compiler
- sed -e "s|c++|${CXX} \$(LDFLAGS)|g" -i "${S}/${TEST_SRC_DIR}/Makefile"
-
- mkdir -p "${B}/${TEST_SRC_DIR}"
-
- # Add the location of the cross-compiled header and library files
- # which haven't been installed yet.
- cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
- sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
- sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
- sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
- export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
-
- # Save the pkgcfg sysroot variable, and update it to nothing so
- # that it doesn't append the sysroot to the beginning of paths.
- # The header and library files aren't installed to the target
- # system yet. So the absolute paths were specified above.
- save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR
- export PKG_CONFIG_SYSROOT_DIR=
-
- # Compile the tests
- for lang in ${LANG_SUPPORT}; do
- oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang}
- done
-
- # Restore the pkgconfig sysroot variable
- export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir
-}
-
-do_install_ptest() {
- local olddir=`pwd`
-
- cd "${S}/${TEST_SRC_DIR}"
- install -d "${D}/${PTEST_PATH}"
- for i in add_person* list_people*; do
- if [ -x "$i" ]; then
- install "$i" "${D}/${PTEST_PATH}"
- fi
- done
- cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
- cd "$olddir"
-}
-
-PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite"
-
-FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
-FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
-
-RDEPENDS_${PN}-compiler = "${PN}"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}"
-
-MIPS_INSTRUCTION_SET = "mips"
-
-BBCLASSEXTEND = "native nativesdk"
-
-LDFLAGS_append_arm = " -latomic"
-LDFLAGS_append_mips = " -latomic"
-LDFLAGS_append_powerpc = " -latomic"
-LDFLAGS_append_mipsel = " -latomic"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.9.2.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.9.2.bb
new file mode 100644
index 000000000..a007b2a69
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.9.2.bb
@@ -0,0 +1,90 @@
+SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
+DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
+efficient yet extensible format. Google uses Protocol Buffers for almost \
+all of its internal RPC protocols and file formats."
+HOMEPAGE = "https://github.com/google/protobuf"
+SECTION = "console/tools"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
+
+DEPENDS = "zlib"
+DEPENDS_append_class-target = " protobuf-native"
+
+SRCREV = "52b2447247f535663ac1c292e088b4b27d2910ef"
+
+SRC_URI = "git://github.com/google/protobuf.git;branch=3.9.x \
+ file://run-ptest \
+ file://0001-protobuf-fix-configure-error.patch \
+ file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \
+ file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
+"
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig ptest
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[python] = ",,"
+
+EXTRA_OECONF += "--with-protoc=echo"
+
+TEST_SRC_DIR = "examples"
+LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
+
+do_compile_ptest() {
+ mkdir -p "${B}/${TEST_SRC_DIR}"
+
+ # Add the location of the cross-compiled header and library files
+ # which haven't been installed yet.
+ cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
+
+ # Save the pkgcfg sysroot variable, and update it to nothing so
+ # that it doesn't append the sysroot to the beginning of paths.
+ # The header and library files aren't installed to the target
+ # system yet. So the absolute paths were specified above.
+ save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR
+ export PKG_CONFIG_SYSROOT_DIR=
+
+ # Compile the tests
+ for lang in ${LANG_SUPPORT}; do
+ oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang}
+ done
+
+ # Restore the pkgconfig sysroot variable
+ export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir
+}
+
+do_install_ptest() {
+ local olddir=`pwd`
+
+ cd "${S}/${TEST_SRC_DIR}"
+ install -d "${D}/${PTEST_PATH}"
+ for i in add_person* list_people*; do
+ if [ -x "$i" ]; then
+ install "$i" "${D}/${PTEST_PATH}"
+ fi
+ done
+ cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
+ cd "$olddir"
+}
+
+PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite"
+
+FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
+FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
+
+RDEPENDS_${PN}-compiler = "${PN}"
+RDEPENDS_${PN}-dev += "${PN}-compiler"
+RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}"
+
+MIPS_INSTRUCTION_SET = "mips"
+
+BBCLASSEXTEND = "native nativesdk"
+
+LDFLAGS_append_arm = " -latomic"
+LDFLAGS_append_mips = " -latomic"
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_mipsel = " -latomic"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.9.bb b/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.9.bb
new file mode 100644
index 000000000..ad45f87ec
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/pugixml/pugixml_1.9.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Light-weight C++ XML Processing Library"
+DESCRIPTION = "pugixml is a C++ XML processing library, which consists of a \
+DOM-like interface with rich traversal/modification capabilities, \
+an extremely fast XML parser which constructs the DOM tree from \
+n XML file/buffer, and an XPath 1.0 implementation for complex \
+data-driven tree queries."
+HOMPAGE = "https://pugixml.org/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=1d569c2ed59c94ddd9586051f8c67da6"
+
+SRC_URI = "https://github.com/zeux/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[md5sum] = "7286ee2ed11376b6b780ced19fae0b64"
+SRC_URI[sha256sum] = "d156d35b83f680e40fd6412c4455fdd03544339779134617b9b28d19e11fdba6"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ "
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb
deleted file mode 100644
index 156e52a3a..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.5.7.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Cpuset is a Python application to make using the cpusets facilities in the Linux kernel easier"
-SECTION = "devel/python"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-S = "${WORKDIR}/git"
-SRCREV = "ae629aa1dc959342745ad97406adddf63bb6dbdd"
-SRC_URI = "git://github.com/lpechacek/cpuset.git;protocol=https;"
-
-inherit distutils
-
-RDEPENDS_${PN} = "\
- python-core \
- python-re \
- python-logging \
- python-textutils \
- python-unixadmin \
- "
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.6.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.6.bb
new file mode 100644
index 000000000..1255a51f7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-cpuset_1.6.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Cpuset is a Python application to make using the cpusets facilities in the Linux kernel easier"
+SECTION = "devel/python"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+S = "${WORKDIR}/git"
+SRCREV = "6c46d71a1c6ee711063153b9f7787280128f7252"
+SRC_URI = "git://github.com/lpechacek/cpuset.git;protocol=https;"
+
+inherit distutils
+
+RDEPENDS_${PN} = "\
+ python-core \
+ python-re \
+ python-logging \
+ python-textutils \
+ python-unixadmin \
+ "
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb
deleted file mode 100644
index 3ee945fc9..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.2.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "The concurrent.futures module provides a high-level interface for asynchronously executing callables."
-SECTION = "devel/python"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=834d982f973c48b6d662b5944c5ab567"
-HOMEPAGE = "https://github.com/agronholm/pythonfutures"
-DEPENDS = "python"
-
-SRC_URI[md5sum] = "d1b299a06b96ccb59f70324716dc0016"
-SRC_URI[sha256sum] = "9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.3.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.3.0.bb
new file mode 100644
index 000000000..1636f7371
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.3.0.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "The concurrent.futures module provides a high-level interface for asynchronously executing callables."
+SECTION = "devel/python"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=834d982f973c48b6d662b5944c5ab567"
+HOMEPAGE = "https://github.com/agronholm/pythonfutures"
+DEPENDS = "python"
+
+SRC_URI[md5sum] = "b43a39ae1475e3fd6940f2b4f7214675"
+SRC_URI[sha256sum] = "7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794"
+
+inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch
new file mode 100644
index 000000000..848cda5aa
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject/0001-python-pyobject-fix-install-dir.patch
@@ -0,0 +1,121 @@
+From 8b4648d5bc50cb1c14961ed38bf97d5a693f5237 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 24 Jun 2019 14:51:52 +0800
+Subject: [PATCH] python-pyobject: fix the wrong install dir for python2
+
+* after upgrade to 3.32.1, pygobject switch to build with meson, and
+ default python option is python3, switch to python2
+
+* default install dir get by python.install_sources and
+python.get_install_dir is get from python's sysconfig info,
+not like python3, for python2, the install dir include the basedir of
+recipe-sysroot-native, add stagedir option for user to config
+correct install dir.
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ gi/meson.build | 7 +++----
+ gi/overrides/meson.build | 4 ++--
+ gi/repository/meson.build | 4 ++--
+ meson.build | 4 +++-
+ meson_options.txt | 1 +
+ pygtkcompat/meson.build | 4 ++--
+ 6 files changed, 13 insertions(+), 11 deletions(-)
+
+diff --git a/gi/meson.build b/gi/meson.build
+index c1afd68..249c23d 100644
+--- a/gi/meson.build
++++ b/gi/meson.build
+@@ -60,9 +60,8 @@ python_sources = [
+ 'types.py',
+ ]
+
+-python.install_sources(python_sources,
+- pure : false,
+- subdir : 'gi'
++install_data(python_sources,
++ install_dir: join_paths(stagedir, 'gi')
+ )
+
+ # https://github.com/mesonbuild/meson/issues/4117
+@@ -76,7 +75,7 @@ giext = python.extension_module('_gi', sources,
+ dependencies : [python_ext_dep, glib_dep, gi_dep, ffi_dep],
+ include_directories: include_directories('..'),
+ install: true,
+- subdir : 'gi',
++ install_dir: join_paths(stagedir, 'gi'),
+ c_args: pyext_c_args + main_c_args
+ )
+
+diff --git a/gi/overrides/meson.build b/gi/overrides/meson.build
+index 6ff073f..964fef1 100644
+--- a/gi/overrides/meson.build
++++ b/gi/overrides/meson.build
+@@ -10,6 +10,6 @@ python_sources = [
+ 'keysyms.py',
+ '__init__.py']
+
+-python.install_sources(python_sources,
+- subdir : join_paths('gi', 'overrides')
++install_data(python_sources,
++ install_dir: join_paths(stagedir, 'gi', 'overrides')
+ )
+diff --git a/gi/repository/meson.build b/gi/repository/meson.build
+index fdc136b..fc88adf 100644
+--- a/gi/repository/meson.build
++++ b/gi/repository/meson.build
+@@ -1,5 +1,5 @@
+ python_sources = ['__init__.py']
+
+-python.install_sources(python_sources,
+- subdir : join_paths('gi', 'repository')
++install_data(python_sources,
++ install_dir: join_paths(stagedir, 'gi', 'repository')
+ )
+diff --git a/meson.build b/meson.build
+index d27a005..ecd55d5 100644
+--- a/meson.build
++++ b/meson.build
+@@ -165,12 +165,14 @@ else
+ py_version = pygobject_version
+ endif
+
++stagedir = get_option('stagedir')
++
+ pkginfo_conf = configuration_data()
+ pkginfo_conf.set('VERSION', py_version)
+ configure_file(input : 'PKG-INFO.in',
+ output : 'PyGObject-@0@.egg-info'.format(py_version),
+ configuration : pkginfo_conf,
+- install_dir : python.get_install_dir(pure : false))
++ install_dir : stagedir)
+
+ subdir('gi')
+ subdir('pygtkcompat')
+diff --git a/meson_options.txt b/meson_options.txt
+index 5dd4cbc..21def16 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,3 +1,4 @@
+ option('python', type : 'string', value : 'python3')
+ option('pycairo', type : 'boolean', value : true, description : 'build with pycairo integration')
+ option('tests', type : 'boolean', value : true, description : 'build unit tests')
++option('stagedir', type : 'string', value : '')
+diff --git a/pygtkcompat/meson.build b/pygtkcompat/meson.build
+index 9e43c44..ef3322d 100644
+--- a/pygtkcompat/meson.build
++++ b/pygtkcompat/meson.build
+@@ -3,6 +3,6 @@ python_sources = [
+ 'generictreemodel.py',
+ 'pygtkcompat.py']
+
+-python.install_sources(python_sources,
+- subdir : 'pygtkcompat'
++install_data(python_sources,
++ install_dir: join_paths(stagedir, 'pygtkcompat')
+ )
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb
deleted file mode 100644
index c26b3838e..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.32.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Python GObject bindings"
-HOMEPAGE = "http://www.pygtk.org/"
-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"
-
-SRCNAME = "pygobject"
-SRC_URI = " \
- http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
-"
-
-SRC_URI[md5sum] = "9d5dbca10162dd9b0d03fed0c6cf865d"
-SRC_URI[sha256sum] = "32c99def94b8dea5ce9e4bc99576ef87591ea779b4db77cfdca7af81b76d04d8"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-UNKNOWN_CONFIGURE_WHITELIST = "introspection"
-
-PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python-pycairo, python-pycairo"
-PACKAGECONFIG[tests] = "-Dtests=true, -Dtests=false, , "
-
-
-BBCLASSEXTEND = "native"
-RDEPENDS_${PN} = "python-setuptools"
-RDEPENDS_${PN}_class-native = ""
-
-do_install_append() {
- # Remove files that clash with python3-pygobject; their content is same
- rm -r ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig
-}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.34.0.bb b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.34.0.bb
new file mode 100644
index 000000000..0cbd07f66
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pygobject_3.34.0.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Python GObject bindings"
+HOMEPAGE = "http://www.pygtk.org/"
+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"
+
+SRCNAME = "pygobject"
+SRC_URI = " \
+ http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
+ file://0001-python-pyobject-fix-install-dir.patch \
+"
+
+SRC_URI[md5sum] = "ca1dc4f31c1d6d283758e8f315a88ab6"
+SRC_URI[sha256sum] = "87e2c9aa785f352ef111dcc5f63df9b85cf6e05e52ff04f803ffbebdacf5271a"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+UNKNOWN_CONFIGURE_WHITELIST = "introspection"
+
+PACKAGECONFIG ??= "stagedir"
+
+PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python-pycairo, python-pycairo"
+PACKAGECONFIG[tests] = "-Dtests=true, -Dtests=false, , "
+PACKAGECONFIG[python] = "-Dpython=python3, -Dpython=python2, , "
+PACKAGECONFIG[stagedir] = "-Dstagedir=${PYTHON_SITEPACKAGES_DIR}, -Dstagedir="", , "
+
+BBCLASSEXTEND = "native"
+RDEPENDS_${PN} = "python-pkgutil"
+RDEPENDS_${PN}_class-native = ""
+
+do_install_append() {
+ # Remove files that clash with python3-pygobject; their content is same
+ rm -r ${D}${includedir}/pygobject-3.0/pygobject.h ${D}${libdir}/pkgconfig
+}
diff --git a/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc
index 1019c09d0..180531d75 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc
+++ b/meta-openembedded/meta-oe/recipes-devtools/python/python-pytoml.inc
@@ -4,8 +4,8 @@ SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=cfff423699bdaef24331933ac4f56078"
-SRC_URI[md5sum] = "a11d8a4859b53f6ebe2f782314428911"
-SRC_URI[sha256sum] = "ca2d0cb127c938b8b76a9a0d0f855cf930c1d50cc3a0af6d3595b566519a1013"
+SRC_URI[md5sum] = "e59dd36a559dd2a876e4c149c69e947b"
+SRC_URI[sha256sum] = "8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7"
inherit pypi
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.21.bb
index 88fa95317..88fa95317 100644
--- 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.21.bb
diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb
deleted file mode 100644
index 4f4016895..000000000
--- a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.2.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Trace and analyze execution of a program written in C/C++"
-HOMEPAGE = "https://github.com/namhyung/uftrace"
-BUGTRACKER = "https://github.com/namhyung/uftrace/issues"
-SECTION = "devel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "elfutils"
-DEPENDS_append_libc-musl = " argp-standalone"
-
-inherit autotools
-
-# v0.9.2
-SRCREV = "66fc1fb973f4a44aecd216541405ffe05196f11e"
-SRC_URI = "git://github.com/namhyung/${BPN} \
- "
-S = "${WORKDIR}/git"
-
-LDFLAGS_append_libc-musl = " -largp"
-
-def set_target_arch(d):
- import re
- arch = d.getVar('TARGET_ARCH')
- if re.match(r'i.86', arch, re.I):
- return 'i386'
- elif re.match('armeb', arch, re.I):
- return 'arm'
- else:
- return arch
-
-EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \
- with_elfutils=/use/libelf/from/sysroot"
-
-do_configure() {
- ${S}/configure ${EXTRA_UFTRACE_OECONF}
-}
-
-FILES_SOLIBSDEV = ""
-FILES_${PN} += "${libdir}/*.so"
-
-COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)"
-
-# uftrace supports armv6 and above
-COMPATIBLE_HOST_armv4 = 'null'
-COMPATIBLE_HOST_armv5 = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb
new file mode 100644
index 000000000..dba607c15
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/uftrace/uftrace_0.9.3.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Trace and analyze execution of a program written in C/C++"
+HOMEPAGE = "https://github.com/namhyung/uftrace"
+BUGTRACKER = "https://github.com/namhyung/uftrace/issues"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "elfutils"
+DEPENDS_append_libc-musl = " argp-standalone"
+
+inherit autotools
+
+# v0.9.3
+SRCREV = "e77780e7524c0a97f25313b205837191bbe9712a"
+SRC_URI = "git://github.com/namhyung/${BPN} \
+ "
+S = "${WORKDIR}/git"
+
+LDFLAGS_append_libc-musl = " -largp"
+
+def set_target_arch(d):
+ import re
+ arch = d.getVar('TARGET_ARCH')
+ if re.match(r'i.86', arch, re.I):
+ return 'i386'
+ elif re.match('armeb', arch, re.I):
+ return 'arm'
+ else:
+ return arch
+
+EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \
+ with_elfutils=/use/libelf/from/sysroot"
+
+do_configure() {
+ ${S}/configure ${EXTRA_UFTRACE_OECONF}
+}
+
+FILES_SOLIBSDEV = ""
+FILES_${PN} += "${libdir}/*.so"
+
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)"
+
+# uftrace supports armv6 and above
+COMPATIBLE_HOST_armv4 = 'null'
+COMPATIBLE_HOST_armv5 = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb
index 524263760..6c31b6981 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.51.03.bb
@@ -15,7 +15,6 @@ SRCREV = "343a3b98e54999d67edb644bcd395aa9784fb16e"
S = "${WORKDIR}/git/stable"
DEPENDS = "libxml2"
-RDEPENDS_${PN} = "perl"
inherit autotools-brokensep binconfig pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb b/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
index 8ced7b84f..e112a5e30 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
@@ -17,3 +17,5 @@ inherit cmake lib_package
S = "${WORKDIR}/git"
EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>1(\.\d+)+)"
diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch
new file mode 100644
index 000000000..3dee34cd0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd/0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch
@@ -0,0 +1,98 @@
+From 090a17ca338a9311d682ecc5933b32bff67cf07f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 14:20:14 -0700
+Subject: [PATCH] Remove including sys/sysctl.h on glibc based systems
+
+Glibc 2.30 has added deprecation notice and collectd detects it as warning [1]
+
+Fixes
+sys/sysctl.h:21:2: error: "The <sys/sysctl.h> header is deprecated and will be removed." [-Werror,-W#warnings]
+
+[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=744e829637162bb7d5029632aacf341c64b86990
+
+Upstream-Status: Submitted [https://github.com/collectd/collectd/pull/3234]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/contextswitch.c | 2 +-
+ src/memory.c | 2 +-
+ src/swap.c | 2 +-
+ src/uuid.c | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+--- a/src/contextswitch.c
++++ b/src/contextswitch.c
+@@ -26,7 +26,7 @@
+ #include "common.h"
+ #include "plugin.h"
+
+-#ifdef HAVE_SYS_SYSCTL_H
++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ #endif
+
+--- a/src/memory.c
++++ b/src/memory.c
+@@ -28,7 +28,7 @@
+ #include "common.h"
+ #include "plugin.h"
+
+-#ifdef HAVE_SYS_SYSCTL_H
++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ #endif
+ #ifdef HAVE_SYS_VMMETER_H
+--- a/src/swap.c
++++ b/src/swap.c
+@@ -49,7 +49,7 @@
+ #if HAVE_SYS_PARAM_H
+ #include <sys/param.h>
+ #endif
+-#if HAVE_SYS_SYSCTL_H
++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ #endif
+ #if HAVE_SYS_DKSTAT_H
+--- a/src/uuid.c
++++ b/src/uuid.c
+@@ -29,7 +29,7 @@
+ #include "common.h"
+ #include "plugin.h"
+
+-#if HAVE_SYS_SYSCTL_H
++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ #endif
+
+--- a/src/cpu.c
++++ b/src/cpu.c
+@@ -60,7 +60,7 @@
+
+ #if (defined(HAVE_SYSCTL) && HAVE_SYSCTL) || \
+ (defined(HAVE_SYSCTLBYNAME) && HAVE_SYSCTLBYNAME)
+-#ifdef HAVE_SYS_SYSCTL_H
++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ #endif
+
+--- a/src/processes.c
++++ b/src/processes.c
+@@ -82,7 +82,7 @@
+ #if HAVE_MACH_VM_PROT_H
+ #include <mach/vm_prot.h>
+ #endif
+-#if HAVE_SYS_SYSCTL_H
++#if defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ #endif
+ /* #endif HAVE_THREAD_INFO */
+--- a/src/uptime.c
++++ b/src/uptime.c
+@@ -33,7 +33,7 @@
+ */
+ /* #endif HAVE_LIBKSTAT */
+
+-#elif HAVE_SYS_SYSCTL_H
++#elif defined(HAVE_SYS_SYSCTL_H) && !defined(__GLIBC__)
+ #include <sys/sysctl.h>
+ /* Using sysctl interface to retrieve the boot time on *BSD / Darwin / OS X
+ * systems */
diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.1.bb b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.1.bb
index 6dff18c16..0951ac076 100644
--- a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.1.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.8.1.bb
@@ -14,6 +14,7 @@ SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \
file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \
file://0005-Disable-new-gcc8-warnings.patch \
file://0006-libcollectdclient-Fix-string-overflow-errors.patch \
+ file://0001-Remove-including-sys-sysctl.h-on-glibc-based-systems.patch \
"
SRC_URI[md5sum] = "bfce96c42cede5243028510bcc57c1e6"
SRC_URI[sha256sum] = "e796fda27ce06377f491ad91aa286962a68c2b54076aa77a29673d53204453da"
diff --git a/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb b/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb
deleted file mode 100644
index 2df7db9e8..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.22.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Data recovery tool"
-DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
- from one file or block device (hard disc, cdrom, etc) to another, \
- trying hard to rescue data in case of read errors."
-HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
-SECTION = "console"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
- file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
-SRC_URI[md5sum] = "49c845ed89d25b534842e40366154cb4"
-SRC_URI[sha256sum] = "09857b2e8074813ac19da5d262890f722e5f7900e521a4c60354cef95eea10a7"
-
-# This isn't already added by base.bbclass
-do_unpack[depends] += "lzip-native:do_populate_sysroot"
-
-CONFIGUREOPTS = "\
- '--srcdir=${S}' \
- '--prefix=${prefix}' \
- '--exec-prefix=${exec_prefix}' \
- '--bindir=${bindir}' \
- '--datadir=${datadir}' \
- '--infodir=${infodir}' \
- '--sysconfdir=${sysconfdir}' \
- 'CXX=${CXX}' \
- 'CPPFLAGS=${CPPFLAGS}' \
- 'CXXFLAGS=${CXXFLAGS}' \
- 'LDFLAGS=${LDFLAGS}' \
-"
-EXTRA_OEMAKE = ""
-
-do_configure () {
- ${S}/configure ${CONFIGUREOPTS}
-}
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
- # Info dir listing isn't interesting at this point so remove it if it exists.
- if [ -e "${D}${infodir}/dir" ]; then
- rm -f ${D}${infodir}/dir
- fi
-}
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.24.bb b/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.24.bb
new file mode 100644
index 000000000..52bd11b1a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/ddrescue/ddrescue_1.24.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Data recovery tool"
+DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
+ from one file or block device (hard disc, cdrom, etc) to another, \
+ trying hard to rescue data in case of read errors."
+HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
+SECTION = "console"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
+ file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
+SRC_URI[md5sum] = "8ac89f833c0df221723e33b447e230fe"
+SRC_URI[sha256sum] = "4b5d3feede70e3657ca6b3c7844f23131851cbb6af0cecc9721500f7d7021087"
+
+# This isn't already added by base.bbclass
+do_unpack[depends] += "lzip-native:do_populate_sysroot"
+
+CONFIGUREOPTS = "\
+ '--srcdir=${S}' \
+ '--prefix=${prefix}' \
+ '--exec-prefix=${exec_prefix}' \
+ '--bindir=${bindir}' \
+ '--datadir=${datadir}' \
+ '--infodir=${infodir}' \
+ '--sysconfdir=${sysconfdir}' \
+ 'CXX=${CXX}' \
+ 'CPPFLAGS=${CPPFLAGS}' \
+ 'CXXFLAGS=${CXXFLAGS}' \
+ 'LDFLAGS=${LDFLAGS}' \
+"
+EXTRA_OEMAKE = ""
+
+do_configure () {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ # Info dir listing isn't interesting at this point so remove it if it exists.
+ if [ -e "${D}${infodir}/dir" ]; then
+ rm -f ${D}${infodir}/dir
+ fi
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20180621.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20180621.bb
deleted file mode 100644
index e98795944..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20180621.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "display dialog boxes from shell scripts"
-DESCRIPTION = "Dialog lets you to present a variety of questions \
-or display messages using dialog boxes from a shell \
-script (or any scripting language)."
-HOMEPAGE = "http://invisible-island.net/dialog/"
-SECTION = "console/utils"
-DEPENDS = "ncurses"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
- "
-SRC_URI[md5sum] = "1dba09cf45ac4ba40b3cb4a3f1d694b2"
-SRC_URI[sha256sum] = "4a4859e2b22d24e46c1a529b5a5605b95503aa04da4432f7bbd713e3e867587a"
-
-# hardcoded here for use in dialog-static recipe
-S = "${WORKDIR}/dialog-${PV}"
-
-inherit autotools-brokensep pkgconfig
-
-EXTRA_OECONF = "--with-ncurses \
- --disable-rpath-hack"
-
-do_configure() {
- gnu-configize --force
- sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
- sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure
- oe_runconf
-}
diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190728.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190728.bb
new file mode 100644
index 000000000..d414bc683
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20190728.bb
@@ -0,0 +1,29 @@
+SUMMARY = "display dialog boxes from shell scripts"
+DESCRIPTION = "Dialog lets you to present a variety of questions \
+or display messages using dialog boxes from a shell \
+script (or any scripting language)."
+HOMEPAGE = "http://invisible-island.net/dialog/"
+SECTION = "console/utils"
+DEPENDS = "ncurses"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
+ "
+SRC_URI[md5sum] = "e9d7f8b5e7b17183b0fb9297c0f57840"
+SRC_URI[sha256sum] = "e5eb0eaaef9cae8c822887bd998e33c2c3b94ebadd37b4f6aba018c0194a2a87"
+
+# hardcoded here for use in dialog-static recipe
+S = "${WORKDIR}/dialog-${PV}"
+
+inherit autotools-brokensep pkgconfig
+
+EXTRA_OECONF = "--with-ncurses \
+ --disable-rpath-hack"
+
+do_configure() {
+ gnu-configize --force
+ sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
+ sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure
+ oe_runconf
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp/0001-Set-library-VERSION-and-SOVERSION.patch b/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp/0001-Set-library-VERSION-and-SOVERSION.patch
new file mode 100644
index 000000000..d4c776569
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp/0001-Set-library-VERSION-and-SOVERSION.patch
@@ -0,0 +1,31 @@
+From a47ca75702318ff43446c70120f7aacde4ccee1b Mon Sep 17 00:00:00 2001
+From: Eero Aaltonen <eero.aaltonen@vaisala.com>
+Date: Thu, 20 Jun 2019 16:21:20 +0300
+Subject: [PATCH] Set library VERSION and SOVERSION
+
+With soversion and version specified, `install` target will install the
+library with the specified version and also create the proper symlink.
+
+Upstream-Status: Submitted [https://github.com/docopt/docopt.cpp/pull/112]
+but unlikely to be merged soon as it is a duplicate of
+[https://github.com/docopt/docopt.cpp/pull/112] which has been **Open**
+since 2016-12-08.
+---
+ CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 23da468..feff32e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -50,6 +50,10 @@ else()
+ set_target_properties(docopt_o PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
+
+ add_library(docopt SHARED $<TARGET_OBJECTS:docopt_o>)
++ set_target_properties(docopt PROPERTIES
++ VERSION ${PROJECT_VERSION}
++ SOVERSION ${PROJECT_VERSION_MAJOR}
++ )
+ add_library(docopt_s STATIC $<TARGET_OBJECTS:docopt_o>)
+ endif()
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb b/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb
new file mode 100644
index 000000000..aa55ebf84
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb
@@ -0,0 +1,27 @@
+SUMMARY = "C++11 port of docopt command-line interface description language and parser"
+
+DESCRIPTION = "docopt is library that lets you define a command line interface with the \
+utility argument syntax that has been used by command line utilities for \
+decades (formalized in POSIX.1-2017). From the description, docopt \
+automatically generates a parser for the command line arguments."
+
+HOMEPAGE = "https://github.com/docopt/docopt.cpp"
+
+LICENSE = "MIT | BSL-1.0"
+LIC_FILES_CHKSUM = "\
+ file://LICENSE-Boost-1.0;md5=e4224ccaecb14d942c71d31bef20d78c \
+ file://LICENSE-MIT;md5=4b242fd9ef20207e18286d73da8a6677 \
+"
+
+DEPENDS = "boost"
+SRCREV = "3dd23e3280f213bacefdf5fcb04857bf52e90917"
+PV = "0.6.2+git${SRCPV}"
+
+SRC_URI = "\
+ git://github.com/docopt/docopt.cpp.git;protocol=https \
+ file://0001-Set-library-VERSION-and-SOVERSION.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
diff --git a/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb b/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb
deleted file mode 100644
index e1a6d9508..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Simple wrapper script which proxies signals to a child"
-HOMEPAGE = "https://github.com/Yelp/dumb-init/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5940d39995ea6857d01b8227109c2e9c"
-
-SRC_URI = "https://github.com/Yelp/dumb-init/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "4eb7f43d7823686723ff7ac1bad097cb"
-SRC_URI[sha256sum] = "74486997321bd939cad2ee6af030f481d39751bc9aa0ece84ed55f864e309a3f"
-
-EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS} ${LDFLAGS}'"
-
-do_install() {
- install -d ${D}${base_sbindir}
- install ${S}/dumb-init ${D}${base_sbindir}/
-}
diff --git a/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.2.bb b/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.2.bb
new file mode 100644
index 000000000..09eab9dcd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Simple wrapper script which proxies signals to a child"
+HOMEPAGE = "https://github.com/Yelp/dumb-init/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5940d39995ea6857d01b8227109c2e9c"
+
+SRCREV = "b1e978e486114797347deefcc03ab12629a13cc3"
+SRC_URI = "git://github.com/Yelp/dumb-init"
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS} ${LDFLAGS}'"
+
+do_install() {
+ install -d ${D}${base_sbindir}
+ install ${S}/dumb-init ${D}${base_sbindir}/
+}
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
deleted file mode 100644
index 5b68f1966..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/fix-cpu-cache-size-detection.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-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/haveged-init.d-Makefile.am-add-missing-dependency.patch b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
deleted file mode 100644
index 020ac2c3b..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged/haveged-init.d-Makefile.am-add-missing-dependency.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b04eeea777df32364df74bd63fc5b7fb05d21c8d Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Tue, 27 Mar 2018 10:21:09 +0800
-Subject: [PATCH] init.d/Makefile.am: add missing dependency
-
-install-data-hook should depend on install-exec-hook, or the
-haveged.service might be installed incorrectly when build
-with -j option.
-
-Upstream-Status: Submitted [https://github.com/jirka-h/haveged/pull/13]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-Signed-off-by: Khem Raj raj.khem@gmail.com
----
- init.d/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/init.d/Makefile.am b/init.d/Makefile.am
-index 5940f78..07bcdf7 100644
---- a/init.d/Makefile.am
-+++ b/init.d/Makefile.am
-@@ -33,7 +33,7 @@ if ENABLE_SYSTEMD
- install-exec-hook:
- $(do_subst) < $(srcdir)/$(src_tmpl) > haveged.service;
-
--install-data-hook:
-+install-data-hook: install-exec-hook
- if ENABLE_SYSTEMD_LOOKUP
- install -p -D -m644 haveged.service $(DESTDIR)`pkg-config --variable=systemdsystemunitdir systemd`/haveged.service;
- else
---
-2.11.0
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
deleted file mode 100644
index d0e1a29dd..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.4.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "haveged - A simple entropy daemon"
-DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers."
-AUTHOR = "Gary Wuertz"
-HOMEPAGE = "http://www.issihosts.com/haveged/index.html"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-# v1.9.4
-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"
-
-UPSTREAM_CHECK_URI = "https://github.com/jirka-h/haveged/releases"
-
-inherit autotools update-rc.d systemd
-
-EXTRA_OECONF = "\
- --enable-nistest=yes \
- --enable-olt=yes \
- --enable-threads=no \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-init=service.redhat --enable-initdir=${systemd_system_unitdir}, --enable-init=sysv.redhat, systemd"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME = "haveged"
-INITSCRIPT_PARAMS_${PN} = "defaults 9"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "haveged.service"
-
-do_install_append() {
- # The exit status is 143 when the service is stopped
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- sed -i '/ExecStart/a SuccessExitStatus=143' ${D}${systemd_system_unitdir}/haveged.service
- fi
-}
-
-MIPS_INSTRUCTION_SET = "mips"
diff --git a/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb
new file mode 100644
index 000000000..0189e19c0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/haveged/haveged_1.9.6.bb
@@ -0,0 +1,41 @@
+SUMMARY = "haveged - A simple entropy daemon"
+DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers."
+AUTHOR = "Gary Wuertz"
+HOMEPAGE = "http://www.issihosts.com/haveged/index.html"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+# v1.9.6
+SRCREV = "1470a82a7f79110c79beea1ca5f2d3b0fd1a4668"
+SRC_URI = "git://github.com/jirka-h/haveged.git \
+"
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_URI = "https://github.com/jirka-h/haveged/releases"
+
+inherit autotools update-rc.d systemd
+
+EXTRA_OECONF = "\
+ --enable-nistest=yes \
+ --enable-olt=yes \
+ --enable-threads=no \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--enable-init=service.redhat --enable-initdir=${systemd_system_unitdir}, --enable-init=sysv.redhat, systemd"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME = "haveged"
+INITSCRIPT_PARAMS_${PN} = "defaults 9"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "haveged.service"
+
+do_install_append() {
+ # The exit status is 143 when the service is stopped
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ sed -i '/ExecStart/a SuccessExitStatus=143' ${D}${systemd_system_unitdir}/haveged.service
+ fi
+}
+
+MIPS_INSTRUCTION_SET = "mips"
diff --git a/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
index 1f1e80ce8..77c995b57 100644
--- a/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb
@@ -41,6 +41,7 @@ EXTRA_OECONF += "\
PACKAGES += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal"
RDEPENDS_${PN} += " \
+ python \
python-syslog \
python-pprint \
python-compression \
diff --git a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb
deleted file mode 100644
index 4f5b248c4..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.12.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Portable Hardware Locality (hwloc) software package"
-DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \
- provides a portable abstraction of the hierarchical topology of modern \
- architectures."
-HOMEPAGE = "https://www.open-mpi.org/software/hwloc/"
-SECTION = "base"
-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] = "c2a2e4e23eeb719ed31a755684697cf9"
-SRC_URI[sha256sum] = "ddfb7b9b4571551165b0fd824a340e58814c8c2b4af64c818579d4bc695a417d"
-
-UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v1.11/"
-
-inherit autotools pkgconfig
-
-DEPENDS += "ncurses udev zlib"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}"
-
-PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-
-PACKAGECONFIG[numactl] = "--enable-libnuma,--disable-libnuma,numactl,numactl"
-PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2"
-PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo"
-PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess"
-
-# Split hwloc library into separate subpackage
-PACKAGES_prepend = " libhwloc "
-FILES_libhwloc += "${libdir}/libhwloc.so.*"
-RDEPENDS_${PN} += "libhwloc (= ${EXTENDPKGV})"
diff --git a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
new file mode 100644
index 000000000..7231484fe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Portable Hardware Locality (hwloc) software package"
+DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \
+ provides a portable abstraction of the hierarchical topology of modern \
+ architectures."
+HOMEPAGE = "https://www.open-mpi.org/software/hwloc/"
+SECTION = "base"
+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] = "3c792e23c209e9e1bafe9bdbc613d401"
+SRC_URI[sha256sum] = "a4494b7765f517c0990d1c7f09d98cb87755bb6b841e4e2cbfebca1b14bac9c8"
+
+UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v1.11/"
+
+inherit autotools pkgconfig
+
+DEPENDS += "ncurses udev zlib"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}"
+
+PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+
+PACKAGECONFIG[numactl] = "--enable-libnuma,--disable-libnuma,numactl,numactl"
+PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2"
+PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo"
+PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess"
+
+# Split hwloc library into separate subpackage
+PACKAGES_prepend = " libhwloc "
+FILES_libhwloc += "${libdir}/libhwloc.so.*"
+RDEPENDS_${PN} += "libhwloc (= ${EXTENDPKGV})"
diff --git a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch
new file mode 100644
index 000000000..794394855
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch
@@ -0,0 +1,37 @@
+From c2a67c1f62175ab061bc03d10dd766f968c6a097 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Fri, 2 Aug 2019 10:41:26 +0800
+Subject: [PATCH] configure.ac: skip running test program when cross-compiling
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c5e3ca03..4b89396a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -140,7 +140,7 @@ AC_CHECK_FUNC([getloadavg],[AC_DEFINE([HAVE_GETLOADAVG2], 1, [getloadavg() is av
+ AC_FUNC_SELECT_ARGTYPES
+
+ AC_MSG_CHECKING([for strlcpy])
+-AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
+ char a[2];
+ if (strlcpy(a, "yes", 2) != 3)
+ return 1;]])],
+@@ -156,7 +156,7 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
+ ])
+
+ AC_MSG_CHECKING([for strlcat])
+-AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
+ char a[4] = "no";
+ if (strlcat(a, "yes", 4) != 5)
+ return 1;]])],
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.5.5.bb b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.5.5.bb
new file mode 100644
index 000000000..63fca1dd1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/icewm/icewm_1.5.5.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "Ice Window Manager (IceWM)"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4a26952467ef79a7efca4a9cf52d417b"
+
+SRC_URI = "https://github.com/ice-wm/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.xz \
+ file://0001-configure.ac-skip-running-test-program-when-cross-co.patch \
+ "
+SRC_URI[md5sum] = "6eba94a7935a0531d2c14eeb1426aeef"
+SRC_URI[sha256sum] = "f1c1344b20a9e8635143f70ee27930b55f813c15ca61f84d77584d311b6ac027"
+
+inherit autotools pkgconfig gettext perlnative distro_features_check qemu
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF += "--with-libdir=${datadir}/icewm \
+ --with-cfgdir=${sysconfdir}/icewm \
+ --with-docdir=${docdir}/icewm \
+ --enable-fribidi \
+ --enable-xinerama \
+ --enable-shape"
+
+DEPENDS = "asciidoc-native fontconfig gdk-pixbuf libxft libxpm libxrandr libxinerama libice libsm libx11 libxext libxrender"
+DEPENDS_append = " qemu-native"
+RDEPENDS_${PN} = "perl fribidi"
+
+do_compile_prepend_class-target() {
+
+ cd ${B}
+ oe_runmake -C src genpref
+
+ qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}',['${B}/src/.libs','${STAGING_DIR_TARGET}/${libdir}','${STAGING_DIR_TARGET}/${base_libdir}'])}"
+ cat >qemuwrapper <<EOF
+#!/bin/sh
+${qemu_binary} src/genpref "\$@"
+EOF
+ chmod +x qemuwrapper
+ ./qemuwrapper > src/preferences
+}
+
+FILES_${PN} += "${datadir}/xsessions"
diff --git a/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb b/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb
index 94643cd24..b01d7f64e 100644
--- a/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/iotop/iotop_0.6.bb
@@ -24,4 +24,4 @@ do_install_append() {
RDEPENDS_${PN} = "python-curses python-textutils \
python-codecs python-ctypes python-pprint \
- python-shell python-subprocess"
+ python-shell python-subprocess python-core"
diff --git a/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb b/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb
index 83e838580..b7899a11b 100644
--- a/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb
@@ -2,7 +2,7 @@ SUMMARY = "Tools for taking the MD5 sum of ISO images"
DESCRIPTION = "Tools for taking the MD5 sum of ISO images"
DEPENDS = "popt python3 openssl curl popt-native"
-RDEPENDS_${PN} = "openssl curl"
+RDEPENDS_${BPN} = "openssl curl"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
@@ -25,11 +25,11 @@ do_install () {
oe_runmake install
}
-PACKAGES += "${PYTHON_PN}-${PN}"
+PACKAGES += "${PYTHON_PN}-${BPN}"
-RPROVIDES_${PN}-dbg += "${PYTHON_PN}-${PN}-dbg"
+RPROVIDES_${BPN}-dbg += "${PYTHON_PN}-${BPN}-dbg"
-FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so"
+FILES_${PYTHON_PN}-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so"
SRCREV = "7860901f726f5d92689cb67243cc7f981f21f74b"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.20.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.20.bb
deleted file mode 100644
index 54a188dc8..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.20.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
-block devices. It has a plugin-based architecture where each technology (like \
-LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
-with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
-HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
-LICENSE = "LGPLv2+"
-SECTION = "devel/lib"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-
-inherit autotools python3native gobject-introspection
-
-SRCREV = "cb308566c3c5222b8422f78997a1742713b265a9"
-SRC_URI = " \
- git://github.com/rhinstaller/libblockdev;branch=master \
-"
-
-S = "${WORKDIR}/git"
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
-
-PACKAGECONFIG ??= "python3 lvm dm kmod parted fs escrow btrfs crypto mdraid kbd mpath nvdimm"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
-PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python2"
-PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools, lvm2"
-PACKAGECONFIG[lvm-dbus] = "--with-lvm_dbus, --without-lvm_dbus, multipath-tools, lvm2"
-PACKAGECONFIG[dm] = "--with-dm, --without-dm, multipath-tools, lvm2"
-PACKAGECONFIG[dmraid] = "--with-dmraid, --without-dmraid"
-PACKAGECONFIG[kmod] = "--with-kbd, --without-kbd, kmod"
-PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
-PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
-PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
-PACKAGECONFIG[nvdimm] = "--with-nvdimm, --without-nvdimm, ndctl util-linux"
-PACKAGECONFIG[vdo] = "--with-vdo, --without-vdo"
-PACKAGECONFIG[escrow] = "--with-escrow, --without-escrow, nss volume-key"
-PACKAGECONFIG[btrfs] = "--with-btrfs,--without-btrfs,libbytesize btrfs-tools"
-PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,cryptsetup nss volume-key"
-PACKAGECONFIG[mdraid] = "--with-mdraid,--without-mdraid,libbytesize"
-PACKAGECONFIG[kbd] = "--with-kbd,--without-kbd,libbytesize"
-PACKAGECONFIG[mpath] = "--with-mpath,--without-mpath, multipath-tools, lvm2"
-
-export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.23.bb b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.23.bb
new file mode 100644
index 000000000..761619d9a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libblockdev/libblockdev_2.23.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
+block devices. It has a plugin-based architecture where each technology (like \
+LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
+with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
+HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
+LICENSE = "LGPLv2+"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+inherit autotools gobject-introspection
+
+SRCREV = "f5d2458e9e52d8c55b609ae8cf46ef0673b4a02a"
+SRC_URI = " \
+ git://github.com/rhinstaller/libblockdev;branch=master \
+"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${libdir}/python2.7/dist-packages ${libdir}/python3.7/site-packages"
+
+PACKAGECONFIG ??= "python3 lvm dm kmod parted fs escrow btrfs crypto mdraid kbd mpath nvdimm"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python"
+PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools, lvm2"
+PACKAGECONFIG[lvm-dbus] = "--with-lvm_dbus, --without-lvm_dbus, multipath-tools, lvm2"
+PACKAGECONFIG[dm] = "--with-dm, --without-dm, multipath-tools, lvm2"
+PACKAGECONFIG[dmraid] = "--with-dmraid, --without-dmraid"
+PACKAGECONFIG[kmod] = "--with-kbd, --without-kbd, kmod"
+PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
+PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
+PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
+PACKAGECONFIG[nvdimm] = "--with-nvdimm, --without-nvdimm, ndctl util-linux"
+PACKAGECONFIG[vdo] = "--with-vdo, --without-vdo"
+PACKAGECONFIG[escrow] = "--with-escrow, --without-escrow, nss volume-key"
+PACKAGECONFIG[btrfs] = "--with-btrfs,--without-btrfs,libbytesize btrfs-tools"
+PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,cryptsetup nss volume-key"
+PACKAGECONFIG[mdraid] = "--with-mdraid,--without-mdraid,libbytesize"
+PACKAGECONFIG[kbd] = "--with-kbd,--without-kbd,libbytesize"
+PACKAGECONFIG[mpath] = "--with-mpath,--without-mpath, multipath-tools, lvm2"
+
+export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
index 26664255d..eaf6b9b43 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libcec/libcec_git.bb
@@ -22,7 +22,7 @@ inherit cmake pkgconfig
# Put client tools into a separate package
PACKAGE_BEFORE_PN += "${PN}-tools"
FILES_${PN}-tools = "${bindir}"
-RDEPENDS_${PN}-tools = "python3-${BPN}"
+RDEPENDS_${PN}-tools = "python3-${BPN} python3-core"
# Create the wrapper for python3
PACKAGES += "python3-${BPN}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb b/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb
new file mode 100644
index 000000000..1e35f08c0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb
@@ -0,0 +1,13 @@
+SUMMARY = "A cross-platform, lightweight Modbus RTU library"
+DESCRIPTION = "liblightmodbus is a very lightweight, highly configurable, \
+ platform-independent Modbus RTU library."
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
+
+inherit cmake pkgconfig
+
+SRC_URI = "git://github.com/Jacajack/liblightmodbus.git;protocol=https"
+SRCREV = "59d2b405f95701e5b04326589786dbb43ce49e81"
+
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch
new file mode 100644
index 000000000..5372a23b6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch
@@ -0,0 +1,314 @@
+From: =?utf-8?b?IlNaIExpbiAo5p6X5LiK5pm6KSI=?= <szlin@debian.org>
+Date: Wed, 19 Dec 2018 10:24:47 +0800
+Subject: Fix float endianness issue on big endian arch
+
+It converts float values depending on what order they come in.
+
+This patch was modified from rm5248 [1]
+
+[1] https://github.com/synexxus/libmodbus/commit/a511768e7fe7ec52d7bae1d9ae04e33f87a59627
+
+---
+ src/modbus-data.c | 110 ++++++++++++++++++++++++++++++++++++++---------
+ tests/unit-test-client.c | 22 ++++++----
+ tests/unit-test.h.in | 41 ++++++++++++++++--
+ 3 files changed, 141 insertions(+), 32 deletions(-)
+
+diff --git a/src/modbus-data.c b/src/modbus-data.c
+index 902b8c6..7a744fa 100644
+--- a/src/modbus-data.c
++++ b/src/modbus-data.c
+@@ -119,9 +119,18 @@ float modbus_get_float_abcd(const uint16_t *src)
+ {
+ float f;
+ uint32_t i;
++ uint8_t a, b, c, d;
+
+- i = ntohl(((uint32_t)src[0] << 16) + src[1]);
+- memcpy(&f, &i, sizeof(float));
++ a = (src[0] >> 8) & 0xFF;
++ b = (src[0] >> 0) & 0xFF;
++ c = (src[1] >> 8) & 0xFF;
++ d = (src[1] >> 0) & 0xFF;
++
++ i = (a << 24) |
++ (b << 16) |
++ (c << 8) |
++ (d << 0);
++ memcpy(&f, &i, 4);
+
+ return f;
+ }
+@@ -131,9 +140,18 @@ float modbus_get_float_dcba(const uint16_t *src)
+ {
+ float f;
+ uint32_t i;
++ uint8_t a, b, c, d;
+
+- i = ntohl(bswap_32((((uint32_t)src[0]) << 16) + src[1]));
+- memcpy(&f, &i, sizeof(float));
++ a = (src[0] >> 8) & 0xFF;
++ b = (src[0] >> 0) & 0xFF;
++ c = (src[1] >> 8) & 0xFF;
++ d = (src[1] >> 0) & 0xFF;
++
++ i = (d << 24) |
++ (c << 16) |
++ (b << 8) |
++ (a << 0);
++ memcpy(&f, &i, 4);
+
+ return f;
+ }
+@@ -143,9 +161,18 @@ float modbus_get_float_badc(const uint16_t *src)
+ {
+ float f;
+ uint32_t i;
++ uint8_t a, b, c, d;
+
+- i = ntohl((uint32_t)(bswap_16(src[0]) << 16) + bswap_16(src[1]));
+- memcpy(&f, &i, sizeof(float));
++ a = (src[0] >> 8) & 0xFF;
++ b = (src[0] >> 0) & 0xFF;
++ c = (src[1] >> 8) & 0xFF;
++ d = (src[1] >> 0) & 0xFF;
++
++ i = (b << 24) |
++ (a << 16) |
++ (d << 8) |
++ (c << 0);
++ memcpy(&f, &i, 4);
+
+ return f;
+ }
+@@ -155,9 +182,18 @@ float modbus_get_float_cdab(const uint16_t *src)
+ {
+ float f;
+ uint32_t i;
++ uint8_t a, b, c, d;
+
+- i = ntohl((((uint32_t)src[1]) << 16) + src[0]);
+- memcpy(&f, &i, sizeof(float));
++ a = (src[0] >> 8) & 0xFF;
++ b = (src[0] >> 0) & 0xFF;
++ c = (src[1] >> 8) & 0xFF;
++ d = (src[1] >> 0) & 0xFF;
++
++ i = (c << 24) |
++ (d << 16) |
++ (a << 8) |
++ (b << 0);
++ memcpy(&f, &i, 4);
+
+ return f;
+ }
+@@ -172,50 +208,84 @@ float modbus_get_float(const uint16_t *src)
+ memcpy(&f, &i, sizeof(float));
+
+ return f;
++
+ }
+
+ /* Set a float to 4 bytes for Modbus w/o any conversion (ABCD) */
+ void modbus_set_float_abcd(float f, uint16_t *dest)
+ {
+ uint32_t i;
++ uint8_t *out = (uint8_t*) dest;
++ uint8_t a, b, c, d;
+
+ memcpy(&i, &f, sizeof(uint32_t));
+- i = htonl(i);
+- dest[0] = (uint16_t)(i >> 16);
+- dest[1] = (uint16_t)i;
++ a = (i >> 24) & 0xFF;
++ b = (i >> 16) & 0xFF;
++ c = (i >> 8) & 0xFF;
++ d = (i >> 0) & 0xFF;
++
++ out[0] = a;
++ out[1] = b;
++ out[2] = c;
++ out[3] = d;
+ }
+
+ /* Set a float to 4 bytes for Modbus with byte and word swap conversion (DCBA) */
+ void modbus_set_float_dcba(float f, uint16_t *dest)
+ {
+ uint32_t i;
++ uint8_t *out = (uint8_t*) dest;
++ uint8_t a, b, c, d;
+
+ memcpy(&i, &f, sizeof(uint32_t));
+- i = bswap_32(htonl(i));
+- dest[0] = (uint16_t)(i >> 16);
+- dest[1] = (uint16_t)i;
++ a = (i >> 24) & 0xFF;
++ b = (i >> 16) & 0xFF;
++ c = (i >> 8) & 0xFF;
++ d = (i >> 0) & 0xFF;
++
++ out[0] = d;
++ out[1] = c;
++ out[2] = b;
++ out[3] = a;
++
+ }
+
+ /* Set a float to 4 bytes for Modbus with byte swap conversion (BADC) */
+ void modbus_set_float_badc(float f, uint16_t *dest)
+ {
+ uint32_t i;
++ uint8_t *out = (uint8_t*) dest;
++ uint8_t a, b, c, d;
+
+ memcpy(&i, &f, sizeof(uint32_t));
+- i = htonl(i);
+- dest[0] = (uint16_t)bswap_16(i >> 16);
+- dest[1] = (uint16_t)bswap_16(i & 0xFFFF);
++ a = (i >> 24) & 0xFF;
++ b = (i >> 16) & 0xFF;
++ c = (i >> 8) & 0xFF;
++ d = (i >> 0) & 0xFF;
++
++ out[0] = b;
++ out[1] = a;
++ out[2] = d;
++ out[3] = c;
+ }
+
+ /* Set a float to 4 bytes for Modbus with word swap conversion (CDAB) */
+ void modbus_set_float_cdab(float f, uint16_t *dest)
+ {
+ uint32_t i;
++ uint8_t *out = (uint8_t*) dest;
++ uint8_t a, b, c, d;
+
+ memcpy(&i, &f, sizeof(uint32_t));
+- i = htonl(i);
+- dest[0] = (uint16_t)i;
+- dest[1] = (uint16_t)(i >> 16);
++ a = (i >> 24) & 0xFF;
++ b = (i >> 16) & 0xFF;
++ c = (i >> 8) & 0xFF;
++ d = (i >> 0) & 0xFF;
++
++ out[0] = c;
++ out[1] = d;
++ out[2] = a;
++ out[3] = b;
+ }
+
+ /* DEPRECATED - Set a float to 4 bytes in a sort of Modbus format! */
+diff --git a/tests/unit-test-client.c b/tests/unit-test-client.c
+index 3e315f4..3fccf3e 100644
+--- a/tests/unit-test-client.c
++++ b/tests/unit-test-client.c
+@@ -27,6 +27,7 @@ int send_crafted_request(modbus_t *ctx, int function,
+ uint16_t max_value, uint16_t bytes,
+ int backend_length, int backend_offset);
+ int equal_dword(uint16_t *tab_reg, const uint32_t value);
++int is_memory_equal(const void *s1, const void *s2, size_t size);
+
+ #define BUG_REPORT(_cond, _format, _args ...) \
+ printf("\nLine %d: assertion error for '%s': " _format "\n", __LINE__, # _cond, ## _args)
+@@ -40,6 +41,11 @@ int equal_dword(uint16_t *tab_reg, const uint32_t value);
+ } \
+ };
+
++int is_memory_equal(const void *s1, const void *s2, size_t size)
++{
++ return (memcmp(s1, s2, size) == 0);
++}
++
+ int equal_dword(uint16_t *tab_reg, const uint32_t value) {
+ return ((tab_reg[0] == (value >> 16)) && (tab_reg[1] == (value & 0xFFFF)));
+ }
+@@ -286,26 +292,26 @@ int main(int argc, char *argv[])
+ /** FLOAT **/
+ printf("1/4 Set/get float ABCD: ");
+ modbus_set_float_abcd(UT_REAL, tab_rp_registers);
+- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_ABCD), "FAILED Set float ABCD");
+- real = modbus_get_float_abcd(tab_rp_registers);
++ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_ABCD_SET, 4), "FAILED Set float ABCD");
++ real = modbus_get_float_abcd(UT_IREAL_ABCD_GET);
+ ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
+
+ printf("2/4 Set/get float DCBA: ");
+ modbus_set_float_dcba(UT_REAL, tab_rp_registers);
+- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_DCBA), "FAILED Set float DCBA");
+- real = modbus_get_float_dcba(tab_rp_registers);
++ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_DCBA_SET, 4), "FAILED Set float DCBA");
++ real = modbus_get_float_dcba(UT_IREAL_DCBA_GET);
+ ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
+
+ printf("3/4 Set/get float BADC: ");
+ modbus_set_float_badc(UT_REAL, tab_rp_registers);
+- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_BADC), "FAILED Set float BADC");
+- real = modbus_get_float_badc(tab_rp_registers);
++ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_BADC_SET, 4), "FAILED Set float BADC");
++ real = modbus_get_float_badc(UT_IREAL_BADC_GET);
+ ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
+
+ printf("4/4 Set/get float CDAB: ");
+ modbus_set_float_cdab(UT_REAL, tab_rp_registers);
+- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_CDAB), "FAILED Set float CDAB");
+- real = modbus_get_float_cdab(tab_rp_registers);
++ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_CDAB_SET, 4), "FAILED Set float CDAB");
++ real = modbus_get_float_cdab(UT_IREAL_CDAB_GET);
+ ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
+
+ printf("\nAt this point, error messages doesn't mean the test has failed\n");
+diff --git a/tests/unit-test.h.in b/tests/unit-test.h.in
+index dca826f..4ffa254 100644
+--- a/tests/unit-test.h.in
++++ b/tests/unit-test.h.in
+@@ -56,12 +56,45 @@ const uint16_t UT_INPUT_REGISTERS_ADDRESS = 0x108;
+ const uint16_t UT_INPUT_REGISTERS_NB = 0x1;
+ const uint16_t UT_INPUT_REGISTERS_TAB[] = { 0x000A };
+
++/*
++ * This float value is 0x47F12000 (in big-endian format).
++ * In Little-endian(intel) format, it will be stored in memory as follows:
++ * 0x00 0x20 0xF1 0x47
++ *
++ * You can check this with the following code:
++
++ float fl = UT_REAL;
++ uint8_t *inmem = (uint8_t*)&fl;
++ int x;
++ for(x = 0; x < 4; x++){
++ printf("0x%02X ", inmem[ x ]);
++ }
++ printf("\n");
++ */
+ const float UT_REAL = 123456.00;
+
+-const uint32_t UT_IREAL_ABCD = 0x0020F147;
+-const uint32_t UT_IREAL_DCBA = 0x47F12000;
+-const uint32_t UT_IREAL_BADC = 0x200047F1;
+-const uint32_t UT_IREAL_CDAB = 0xF1470020;
++/*
++ * The following arrays assume that 'A' is the MSB,
++ * and 'D' is the LSB.
++ * Thus, the following is the case:
++ * A = 0x47
++ * B = 0xF1
++ * C = 0x20
++ * D = 0x00
++ *
++ * There are two sets of arrays: one to test that the setting is correct,
++ * the other to test that the getting is correct.
++ * Note that the 'get' values must be constants in processor-endianness,
++ * as libmodbus will convert all words to processor-endianness as they come in.
++ */
++const uint8_t UT_IREAL_ABCD_SET[] = {0x47, 0xF1, 0x20, 0x00};
++const uint16_t UT_IREAL_ABCD_GET[] = {0x47F1, 0x2000};
++const uint8_t UT_IREAL_DCBA_SET[] = {0x00, 0x20, 0xF1, 0x47};
++const uint16_t UT_IREAL_DCBA_GET[] = {0x0020, 0xF147};
++const uint8_t UT_IREAL_BADC_SET[] = {0xF1, 0x47, 0x00, 0x20};
++const uint16_t UT_IREAL_BADC_GET[] = {0xF147, 0x0020};
++const uint8_t UT_IREAL_CDAB_SET[] = {0x20, 0x00, 0x47, 0xF1};
++const uint16_t UT_IREAL_CDAB_GET[] = {0x2000, 0x47F1};
+
+ /* const uint32_t UT_IREAL_ABCD = 0x47F12000);
+ const uint32_t UT_IREAL_DCBA = 0x0020F147;
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch
new file mode 100644
index 000000000..384a4a40b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch
@@ -0,0 +1,52 @@
+From: =?utf-8?b?IlNaIExpbiAo5p6X5LiK5pm6KSI=?= <szlin@debian.org>
+Date: Thu, 27 Sep 2018 14:51:32 +0800
+Subject: Fix typo
+
+---
+ doc/modbus_mapping_new_start_address.txt | 4 ++--
+ doc/modbus_reply.txt | 2 +-
+ doc/modbus_reply_exception.txt | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/doc/modbus_mapping_new_start_address.txt b/doc/modbus_mapping_new_start_address.txt
+index 4fa196a..94a81fb 100644
+--- a/doc/modbus_mapping_new_start_address.txt
++++ b/doc/modbus_mapping_new_start_address.txt
+@@ -21,9 +21,9 @@ The _modbus_mapping_new_start_address()_ function shall allocate four arrays to
+ store bits, input bits, registers and inputs registers. The pointers are stored
+ in modbus_mapping_t structure. All values of the arrays are initialized to zero.
+
+-The different starting adresses make it possible to place the mapping at any
++The different starting addresses make it possible to place the mapping at any
+ address in each address space. This way, you can give access to values stored
+-at high adresses without allocating memory from the address zero, for eg. to
++at high addresses without allocating memory from the address zero, for eg. to
+ make available registers from 10000 to 10009, you can use:
+
+ [source,c]
+diff --git a/doc/modbus_reply.txt b/doc/modbus_reply.txt
+index 0b29d6f..6b71d11 100644
+--- a/doc/modbus_reply.txt
++++ b/doc/modbus_reply.txt
+@@ -3,7 +3,7 @@ modbus_reply(3)
+
+ NAME
+ ----
+-modbus_reply - send a reponse to the received request
++modbus_reply - send a response to the received request
+
+
+ SYNOPSIS
+diff --git a/doc/modbus_reply_exception.txt b/doc/modbus_reply_exception.txt
+index 7e6324f..b2170be 100644
+--- a/doc/modbus_reply_exception.txt
++++ b/doc/modbus_reply_exception.txt
+@@ -3,7 +3,7 @@ modbus_reply_exception(3)
+
+ NAME
+ ----
+-modbus_reply_exception - send an exception reponse
++modbus_reply_exception - send an exception response
+
+
+ SYNOPSIS
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch
new file mode 100644
index 000000000..7fae34e7d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch
@@ -0,0 +1,32 @@
+From f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d Mon Sep 17 00:00:00 2001
+From: i-ky <gl.ivanovsky@gmail.com>
+Date: Tue, 10 Jul 2018 15:58:45 +0300
+Subject: [PATCH] Fixed MODBUS_GET_* macros in case of negative values
+
+In case resulting value should be negative it is incorrect to use '+' operator to construct it from pieces, because highest bytes will result in negative number after bitwise shift while others will stay positive. Replacing addition with '|' should solve the issue.
+---
+ src/modbus.h | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/modbus.h b/src/modbus.h
+index f6e9a5f5..c63f5ceb 100644
+--- a/src/modbus.h
++++ b/src/modbus.h
+@@ -245,12 +245,12 @@ MODBUS_API int modbus_reply_exception(modbus_t *ctx, const uint8_t *req,
+ #define MODBUS_GET_HIGH_BYTE(data) (((data) >> 8) & 0xFF)
+ #define MODBUS_GET_LOW_BYTE(data) ((data) & 0xFF)
+ #define MODBUS_GET_INT64_FROM_INT16(tab_int16, index) \
+- (((int64_t)tab_int16[(index) ] << 48) + \
+- ((int64_t)tab_int16[(index) + 1] << 32) + \
+- ((int64_t)tab_int16[(index) + 2] << 16) + \
++ (((int64_t)tab_int16[(index) ] << 48) | \
++ ((int64_t)tab_int16[(index) + 1] << 32) | \
++ ((int64_t)tab_int16[(index) + 2] << 16) | \
+ (int64_t)tab_int16[(index) + 3])
+-#define MODBUS_GET_INT32_FROM_INT16(tab_int16, index) ((tab_int16[(index)] << 16) + tab_int16[(index) + 1])
+-#define MODBUS_GET_INT16_FROM_INT8(tab_int8, index) ((tab_int8[(index)] << 8) + tab_int8[(index) + 1])
++#define MODBUS_GET_INT32_FROM_INT16(tab_int16, index) ((tab_int16[(index)] << 16) | tab_int16[(index) + 1])
++#define MODBUS_GET_INT16_FROM_INT8(tab_int8, index) ((tab_int8[(index)] << 8) | tab_int8[(index) + 1])
+ #define MODBUS_SET_INT16_TO_INT8(tab_int8, index, value) \
+ do { \
+ tab_int8[(index)] = (value) >> 8; \
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb
deleted file mode 100644
index cc45fa7e2..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.4.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require libmodbus.inc
-
-SRC_URI[md5sum] = "b1a8fd3a40d2db4de51fb0cbcb201806"
-SRC_URI[sha256sum] = "c8c862b0e9a7ba699a49bc98f62bdffdfafd53a5716c0e162696b4bf108d3637"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb
new file mode 100644
index 000000000..075487ae9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb
@@ -0,0 +1,12 @@
+require libmodbus.inc
+
+SRC_URI += "file://f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch \
+ file://Fix-float-endianness-issue-on-big-endian-arch.patch \
+ file://Fix-typo.patch"
+SRC_URI[md5sum] = "15c84c1f7fb49502b3efaaa668cfd25e"
+SRC_URI[sha256sum] = "d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16"
+
+# this file has been created one minute after the configure file, so it doesn't get recreated during configure step
+do_configure_prepend() {
+ rm -rf ${S}/tests/unit-test.h
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb b/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb
new file mode 100644
index 000000000..3a0a87eea
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb
@@ -0,0 +1,32 @@
+# Copyright (C) 2019 Ruslan Bilovol <rbilovol@cisco.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "NSS module for glibc, to provide NIS+ support for glibc"
+
+DESCRIPTION = "This package contains the NSS NIS+ plugin for glibc.\
+This code was formerly part of glibc, but is now standalone to\
+be able to link against TI-RPC for IPv6 support."
+
+HOMEPAGE = "https://github.com/thkukuk/libnss_nisplus"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+SECTION = "libs"
+DEPENDS += "libtirpc libnsl2"
+
+PV = "1.3+git${SRCPV}"
+
+SRCREV = "c6934373c7bac91499ff7bbe7d2439599325ca63"
+
+SRC_URI = "git://github.com/thkukuk/libnss_nisplus \
+ file://0001-nisplus-hosts-Remove-use-of-RES_USE_INET6.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND += "native nativesdk"
+#
+# We will skip parsing this packagegeoup for non-glibc systems
+#
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus/0001-nisplus-hosts-Remove-use-of-RES_USE_INET6.patch b/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus/0001-nisplus-hosts-Remove-use-of-RES_USE_INET6.patch
new file mode 100644
index 000000000..cf380ddf4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus/0001-nisplus-hosts-Remove-use-of-RES_USE_INET6.patch
@@ -0,0 +1,245 @@
+From 184bda40e05053cd2df61c28bec0baa7353697bb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 28 Aug 2019 09:49:10 -0700
+Subject: [PATCH] nisplus-hosts: Remove use of RES_USE_INET6
+
+Upstream glibc dropped it starting glibc 2.30
+see
+https://sourceware.org/git/?p=glibc.git;a=commit;h=3f8b44be0a658266adff5ece1e4bc3ce097a5dbe
+
+Upstream-Status: Submitted [https://github.com/thkukuk/libnss_nisplus/pull/2]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile.am | 3 +-
+ src/mapv4v6addr.h | 69 ---------------------------------------------
+ src/nisplus-hosts.c | 58 ++++++++-----------------------------
+ 3 files changed, 13 insertions(+), 117 deletions(-)
+ delete mode 100644 src/mapv4v6addr.h
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index e879d5c..37ef86c 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -15,8 +15,7 @@ AM_CPPFLAGS = -I$(srcdir) @TIRPC_CFLAGS@ @LIBNSL_CFLAGS@
+
+ lib_LTLIBRARIES = libnss_nisplus.la
+
+-noinst_HEADERS = libc-lock.h nss-nisplus.h netgroup.h nisplus-parser.h \
+- mapv4v6addr.h
++noinst_HEADERS = libc-lock.h nss-nisplus.h netgroup.h nisplus-parser.h
+ check_PROGRAMS = nss_loader-test
+ nss_loader_test_LDADD = -ldl
+
+diff --git a/src/mapv4v6addr.h b/src/mapv4v6addr.h
+deleted file mode 100644
+index 7f85f7d..0000000
+--- a/src/mapv4v6addr.h
++++ /dev/null
+@@ -1,69 +0,0 @@
+-/*
+- * ++Copyright++ 1985, 1988, 1993
+- * -
+- * Copyright (c) 1985, 1988, 1993
+- * The Regents of the University of California. All rights reserved.
+- *
+- * Redistribution and use in source and binary forms, with or without
+- * modification, are permitted provided that the following conditions
+- * are met:
+- * 1. Redistributions of source code must retain the above copyright
+- * notice, this list of conditions and the following disclaimer.
+- * 2. Redistributions in binary form must reproduce the above copyright
+- * notice, this list of conditions and the following disclaimer in the
+- * documentation and/or other materials provided with the distribution.
+- * 4. Neither the name of the University nor the names of its contributors
+- * may be used to endorse or promote products derived from this software
+- * without specific prior written permission.
+- *
+- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+- * SUCH DAMAGE.
+- * -
+- * Portions Copyright (c) 1993 by Digital Equipment Corporation.
+- *
+- * Permission to use, copy, modify, and distribute this software for any
+- * purpose with or without fee is hereby granted, provided that the above
+- * copyright notice and this permission notice appear in all copies, and that
+- * the name of Digital Equipment Corporation not be used in advertising or
+- * publicity pertaining to distribution of the document or software without
+- * specific, written prior permission.
+- *
+- * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
+- * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
+- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
+- * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+- * SOFTWARE.
+- * -
+- * --Copyright--
+- */
+-
+-#include <string.h>
+-#include <arpa/nameser.h>
+-
+-static void
+-map_v4v6_address (const char *src, char *dst)
+-{
+- u_char *p = (u_char *) dst;
+- int i;
+-
+- /* Move the IPv4 part to the right position. */
+- memcpy (dst + 12, src, INADDRSZ);
+-
+- /* Mark this ipv6 addr as a mapped ipv4. */
+- for (i = 0; i < 10; i++)
+- *p++ = 0x00;
+- *p++ = 0xff;
+- *p = 0xff;
+-}
+diff --git a/src/nisplus-hosts.c b/src/nisplus-hosts.c
+index cc00aa2..d37b209 100644
+--- a/src/nisplus-hosts.c
++++ b/src/nisplus-hosts.c
+@@ -42,14 +42,9 @@ static u_long tablename_len;
+ #define NISENTRYLEN(idx, col, res) \
+ (NIS_RES_OBJECT (res)[idx].EN_data.en_cols.en_cols_val[col].ec_value.ec_value_len)
+
+-/* Get implementation for some internal functions. */
+-#include "mapv4v6addr.h"
+-
+-
+ static int
+ _nss_nisplus_parse_hostent (nis_result *result, int af, struct hostent *host,
+- char *buffer, size_t buflen, int *errnop,
+- int flags)
++ char *buffer, size_t buflen, int *errnop)
+ {
+ unsigned int i;
+ char *first_unused = buffer;
+@@ -66,8 +61,7 @@ _nss_nisplus_parse_hostent (nis_result *result, int af, struct hostent *host,
+
+ char *data = first_unused;
+
+- if (room_left < (af != AF_INET || (flags & AI_V4MAPPED) != 0
+- ? IN6ADDRSZ : INADDRSZ))
++ if (room_left < INADDRSZ)
+ {
+ no_more_room:
+ *errnop = ERANGE;
+@@ -78,18 +72,8 @@ _nss_nisplus_parse_hostent (nis_result *result, int af, struct hostent *host,
+ if (af != AF_INET6
+ && inet_pton (AF_INET, NISENTRYVAL (0, 2, result), data) > 0)
+ {
+- assert ((flags & AI_V4MAPPED) == 0 || af != AF_UNSPEC);
+- if (flags & AI_V4MAPPED)
+- {
+- map_v4v6_address (data, data);
+- host->h_addrtype = AF_INET6;
+- host->h_length = IN6ADDRSZ;
+- }
+- else
+- {
+- host->h_addrtype = AF_INET;
+- host->h_length = INADDRSZ;
+- }
++ host->h_addrtype = AF_INET;
++ host->h_length = INADDRSZ;
+ }
+ else if (af != AF_INET
+ && inet_pton (AF_INET6, NISENTRYVAL (0, 2, result), data) > 0)
+@@ -319,12 +303,8 @@ internal_nisplus_gethostent_r (struct hostent *host, char *buffer,
+ }
+ }
+
+- if (_res.options & RES_USE_INET6)
+- parse_res = _nss_nisplus_parse_hostent (result, AF_INET6, host, buffer,
+- buflen, errnop, AI_V4MAPPED);
+- else
+- parse_res = _nss_nisplus_parse_hostent (result, AF_INET, host, buffer,
+- buflen, errnop, 0);
++ parse_res = _nss_nisplus_parse_hostent (result, AF_INET, host, buffer,
++ buflen, errnop);
+
+ if (parse_res == -1)
+ {
+@@ -379,7 +359,7 @@ get_tablename (int *herrnop)
+ static enum nss_status
+ internal_gethostbyname2_r (const char *name, int af, struct hostent *host,
+ char *buffer, size_t buflen, int *errnop,
+- int *herrnop, int flags)
++ int *herrnop)
+ {
+ if (tablename_val == NULL)
+ {
+@@ -454,7 +434,7 @@ internal_gethostbyname2_r (const char *name, int af, struct hostent *host,
+ }
+
+ int parse_res = _nss_nisplus_parse_hostent (result, af, host, buffer,
+- buflen, errnop, flags);
++ buflen, errnop);
+
+ nis_freeresult (result);
+
+@@ -485,8 +465,7 @@ _nss_nisplus_gethostbyname2_r (const char *name, int af, struct hostent *host,
+ }
+
+ return internal_gethostbyname2_r (name, af, host, buffer, buflen, errnop,
+- herrnop,
+- ((_res.options & RES_USE_INET6) ? AI_V4MAPPED : 0));
++ herrnop);
+ }
+
+
+@@ -495,19 +474,8 @@ _nss_nisplus_gethostbyname_r (const char *name, struct hostent *host,
+ char *buffer, size_t buflen, int *errnop,
+ int *h_errnop)
+ {
+- if (_res.options & RES_USE_INET6)
+- {
+- enum nss_status status;
+-
+- status = internal_gethostbyname2_r (name, AF_INET6, host, buffer,
+- buflen, errnop, h_errnop,
+- AI_V4MAPPED);
+- if (status == NSS_STATUS_SUCCESS)
+- return status;
+- }
+-
+ return internal_gethostbyname2_r (name, AF_INET, host, buffer,
+- buflen, errnop, h_errnop, 0);
++ buflen, errnop, h_errnop);
+ }
+
+
+@@ -555,9 +523,7 @@ _nss_nisplus_gethostbyaddr_r (const void *addr, socklen_t addrlen, int af,
+ }
+
+ parse_res = _nss_nisplus_parse_hostent (result, af, host,
+- buffer, buflen, errnop,
+- ((_res.options & RES_USE_INET6)
+- ? AI_V4MAPPED : 0));
++ buffer, buflen, errnop);
+ nis_freeresult (result);
+
+ if (parse_res > 0)
+@@ -584,7 +550,7 @@ _nss_nisplus_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
+
+ enum nss_status status = internal_gethostbyname2_r (name, AF_UNSPEC, &host,
+ buffer, buflen,
+- errnop, herrnop, 0);
++ errnop, herrnop);
+ if (status == NSS_STATUS_SUCCESS)
+ {
+ if (*pat == NULL)
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb b/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb
new file mode 100644
index 000000000..e50226e27
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "Libraries providing API for reporting different problems in applications \
+to different bug targets like Bugzilla, ftp, trac, etc..."
+SUMMARY = "Generic library for reporting various problems"
+HOMEPAGE = "https://abrt.readthedocs.org/"
+LICENSE = "GPLv2+"
+DEPENDS = "xmlrpc-c xmlrpc-c-native intltool-native \
+ json-c libtar libnewt libproxy rpm \
+ augeas satyr systemd \
+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+
+SRC_URI = "git://github.com/abrt/libreport.git;protocol=https"
+SRC_URI += "file://0001-Makefile.am-remove-doc-and-apidoc.patch \
+ file://0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch \
+ file://0003-without-build-plugins.patch \
+ file://0004-configure.ac-remove-prog-test-of-augparse.patch \
+"
+SRCREV = "eaff08f38d771d9362923765bb404b1514c5ca0a"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit gettext autotools python3native pkgconfig
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','x11','gtk','',d)}"
+PACKAGECONFIG[gtk] = "--with-gtk, --without-gtk, gtk+3,"
+
+EXTRA_OECONF += "--without-python2 --with-python3"
+
+RDEPENDS_python3-libreport += "${PN}"
+
+do_patch[prefuncs] += "do_gen_version"
+do_gen_version() {
+ cd ${S}
+ ./gen-version
+}
+
+PACKAGES += "python3-libreport"
+
+FILES_${PN} += "${datadir}/*"
+FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug"
+FILES_python3-libreport = "${PYTHON_SITEPACKAGES_DIR}/*"
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.7.bb b/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.7.bb
deleted file mode 100644
index da22836a2..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/libreport/libreport_2.9.7.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-DESCRIPTION = "Libraries providing API for reporting different problems in applications \
-to different bug targets like Bugzilla, ftp, trac, etc..."
-SUMMARY = "Generic library for reporting various problems"
-HOMEPAGE = "https://abrt.readthedocs.org/"
-LICENSE = "GPLv2+"
-DEPENDS = "xmlrpc-c xmlrpc-c-native intltool-native \
- json-c libtar libnewt libproxy rpm \
- augeas satyr systemd \
-"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-
-SRC_URI = "git://github.com/abrt/libreport.git;protocol=https"
-SRC_URI += "file://0001-Makefile.am-remove-doc-and-apidoc.patch \
- file://0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch \
- file://0003-without-build-plugins.patch \
- file://0004-configure.ac-remove-prog-test-of-augparse.patch \
-"
-SRCREV = "1d5cc00e44af4800fcae9761625dd4230681e82a"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-inherit gettext autotools python3native pkgconfig
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','x11','gtk','',d)}"
-PACKAGECONFIG[gtk] = "--with-gtk, --without-gtk, gtk+3,"
-
-EXTRA_OECONF += "--without-python2 --with-python3"
-
-RDEPENDS_python3-libreport += "${PN}"
-
-do_patch[prefuncs] += "do_gen_version"
-do_gen_version() {
- cd ${S}
- ./gen-version
-}
-
-PACKAGES += "python3-libreport"
-
-FILES_${PN} += "${datadir}/*"
-FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug"
-FILES_python3-libreport = "${PYTHON_SITEPACKAGES_DIR}/*"
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb b/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
new file mode 100644
index 000000000..4ede3c8c6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Utilities to collect and visualise system statistics"
+HOMEPAGE = "http://www.i-scream.org/libstatgrab/"
+
+LICENSE = "GPL-2.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "ncurses"
+
+PACKAGES_prepend = "statgrab statgrab-dbg saidar saidar-dbg ${PN}-mrtg "
+
+# don't use the git tag unless docbooc2x is available to build the manpages
+SRC_URI = "https://github.com/libstatgrab/libstatgrab/releases/download/LIBSTATGRAB_0_92/libstatgrab-0.92.tar.gz \
+ "
+SRC_URI[md5sum] = "5362b2ddbec54b3901e7d70c22cda249"
+SRC_URI[sha256sum] = "5bf1906aff9ffc3eeacf32567270f4d819055d8386d98b9c8c05519012d5a196"
+
+# Perl5 is for tests only
+EXTRA_OECONF = "--without-perl5 --with-mnttab=/proc/mounts"
+
+inherit autotools pkgconfig
+
+FILES_statgrab = "${bindir}/statgrab"
+FILES_statgrab-dbg = "${bindir}/.debug/statgrab"
+FILES_saidar = "${bindir}/saidar"
+FILES_saidar-dbg = "${bindir}/.debug/saidar"
+FILES_${PN}-mrtg = "${bindir}/statgrab-make-mrtg-config ${bindir}/statgrab-make-mrtg-index"
+RDEPENDS_${PN}-mrtg_append = "perl statgrab"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.1.bb b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.1.bb
deleted file mode 100644
index ce73700d7..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "libzip is a C library for reading, creating, and modifying zip archives."
-HOMEPAGE = "https://libzip.org/"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=01f8b1b8da6403739094396e15b1e722"
-
-DEPENDS = "zlib bzip2"
-
-PACKAGECONFIG[ssl] = "-DENABLE_OPENSSL=ON,-DENABLE_OPENSSL=OFF,openssl"
-
-PACKAGECONFIG ?= "ssl"
-
-inherit cmake
-
-SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "6fe665aa6d6bf3a99eb6fa9c553283fd"
-SRC_URI[sha256sum] = "04ea35b6956c7b3453f1ed3f3fe40e3ddae1f43931089124579e8384e79ed372"
diff --git a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.2.bb b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.2.bb
new file mode 100644
index 000000000..5d725bf36
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.5.2.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "libzip is a C library for reading, creating, and modifying zip archives."
+HOMEPAGE = "https://libzip.org/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01f8b1b8da6403739094396e15b1e722"
+
+DEPENDS = "zlib bzip2"
+
+PACKAGECONFIG[ssl] = "-DENABLE_OPENSSL=ON,-DENABLE_OPENSSL=OFF,openssl"
+
+PACKAGECONFIG ?= "ssl"
+
+inherit cmake
+
+SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "f9dd38d273bcdec5d3d1498fe6684f42"
+SRC_URI[sha256sum] = "b3de4d4bd49a01e0cab3507fc163f88e1651695b6b9cb25ad174dbe319d4a3b4"
diff --git a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb
deleted file mode 100644
index 275a8f238..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.4.3.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "A log file analysis program"
-DESCRIPTION = "\
-Logwatch is a customizable, pluggable log-monitoring system. It will go \
-through your logs for a given period of time and make a report in the areas \
-that you wish with the detail that you wish. Easy to use - works right out of \
-the package on many systems.\
-"
-SECTION = "devel"
-HOMEPAGE = "http://www.logwatch.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f2566bb12b16d2d80d90ebc533261aa7"
-RDEPENDS_${PN} = "perl"
-
-SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
-SRC_URI[md5sum] = "22bd22841caa45f12c605abc3e0c2b09"
-SRC_URI[sha256sum] = "1dbdc48d65e150f2dbb43f1e4f4700d94166e053b1c7bbbdedf4ad670283720e"
-
-do_install() {
- install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
- install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles
- install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services
- install -m 0755 -d ${D}${localstatedir}/cache/logwatch
- cp -r -f conf/ ${D}${datadir}/logwatch/default.conf
- cp -r -f scripts/ ${D}${datadir}/logwatch/scripts
- cp -r -f lib ${D}${datadir}/logwatch/lib
- chown -R root:root ${D}${datadir}/logwatch
-
- install -m 0755 -d ${D}${mandir}/man1
- install -m 0755 -d ${D}${mandir}/man5
- install -m 0755 -d ${D}${mandir}/man8
- install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1
- install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1
- install -m 0644 ignore.conf.5 ${D}${mandir}/man5
- install -m 0644 override.conf.5 ${D}${mandir}/man5
- install -m 0644 logwatch.conf.5 ${D}${mandir}/man5
- install -m 0644 logwatch.8 ${D}${mandir}/man8
-
- install -m 0755 -d ${D}${sysconfdir}/cron.daily
- install -m 0755 -d ${D}${sbindir}
- ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch
- cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF
- DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\`
- if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ]
- then
- logwatch
- fi
-EOF
- chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch
-
- install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles
- install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services
- touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf
- touch ${D}${sysconfdir}/logwatch/conf/ignore.conf
- touch ${D}${sysconfdir}/logwatch/conf/override.conf
- echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf
- echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf
- echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf
-}
diff --git a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.1.bb b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.1.bb
new file mode 100644
index 000000000..b6ab43ccf
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.5.1.bb
@@ -0,0 +1,58 @@
+SUMMARY = "A log file analysis program"
+DESCRIPTION = "\
+Logwatch is a customizable, pluggable log-monitoring system. It will go \
+through your logs for a given period of time and make a report in the areas \
+that you wish with the detail that you wish. Easy to use - works right out of \
+the package on many systems.\
+"
+SECTION = "devel"
+HOMEPAGE = "http://www.logwatch.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ad199c8aca74e70f296f731ad9a1521c"
+RDEPENDS_${PN} = "perl"
+
+SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
+SRC_URI[md5sum] = "3d14fa6e0fb56f890d2b3fd9cbc3162f"
+SRC_URI[sha256sum] = "9d4a00625065f25058f8966e7fb11f9f72db25507b4dd9c05f57e14447c33295"
+
+do_install() {
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
+ install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles
+ install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services
+ install -m 0755 -d ${D}${localstatedir}/cache/logwatch
+ cp -r -f conf/ ${D}${datadir}/logwatch/default.conf
+ cp -r -f scripts/ ${D}${datadir}/logwatch/scripts
+ cp -r -f lib ${D}${datadir}/logwatch/lib
+ chown -R root:root ${D}${datadir}/logwatch
+
+ install -m 0755 -d ${D}${mandir}/man1
+ install -m 0755 -d ${D}${mandir}/man5
+ install -m 0755 -d ${D}${mandir}/man8
+ install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1
+ install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1
+ install -m 0644 ignore.conf.5 ${D}${mandir}/man5
+ install -m 0644 override.conf.5 ${D}${mandir}/man5
+ install -m 0644 logwatch.conf.5 ${D}${mandir}/man5
+ install -m 0644 logwatch.8 ${D}${mandir}/man8
+
+ install -m 0755 -d ${D}${sysconfdir}/cron.daily
+ install -m 0755 -d ${D}${sbindir}
+ ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch
+ cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF
+ DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\`
+ if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ]
+ then
+ logwatch
+ fi
+EOF
+ chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch
+
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services
+ touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf
+ touch ${D}${sysconfdir}/logwatch/conf/ignore.conf
+ touch ${D}${sysconfdir}/logwatch/conf/override.conf
+ echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf
+ echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf
+ echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-Fix-formatting-for-modern-c-11-compilers.patch b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-Fix-formatting-for-modern-c-11-compilers.patch
deleted file mode 100644
index 8b0096630..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-Fix-formatting-for-modern-c-11-compilers.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 90411a7f5e0e9582e79f0a8ccc1e2f158615e451 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 19 May 2018 23:18:11 -0700
-Subject: [PATCH] Fix formatting for modern c++11 compilers
-
-Fixes
-error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/backend/svg/SVG_RenderingContext.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/backend/svg/SVG_RenderingContext.cc b/src/backend/svg/SVG_RenderingContext.cc
-index 55d6097..0d50702 100644
---- a/src/backend/svg/SVG_RenderingContext.cc
-+++ b/src/backend/svg/SVG_RenderingContext.cc
-@@ -68,7 +68,7 @@ void
- SVG_RenderingContext::documentStart(const BoundingBox& bbox)
- {
- beginDocument(bbox);
-- metadata("Created by "PACKAGE" version "VERSION);
-+ metadata("Created by " PACKAGE " version " VERSION);
- }
-
- void
---
-2.17.0
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch
deleted file mode 100644
index c5814bfe2..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0001-include-cstdio-to-get-printf-definitions.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From c92890c5e18bb6ee23bdb14074bacf306dd9428f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 5 May 2015 20:35:01 -0700
-Subject: [PATCH] include cstdio to get printf definitions
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/engine/boxml/BoxMLHOVElement.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/engine/boxml/BoxMLHOVElement.cc b/src/engine/boxml/BoxMLHOVElement.cc
-index 1a2812c..96c9eea 100644
---- a/src/engine/boxml/BoxMLHOVElement.cc
-+++ b/src/engine/boxml/BoxMLHOVElement.cc
-@@ -21,7 +21,7 @@
- // <http://www.gnu.org/licenses/>.
-
- #include <config.h>
--
-+#include <cstdio>
- #include "BoxMLAttributeSignatures.hh"
- #include "BoxMLHOVElement.hh"
- #include "BoxMLHElement.hh"
---
-2.1.4
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch
deleted file mode 100644
index b879d6a51..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0002-configure.ac-header-detection-of-hash_map-is-broken-.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 9c226fbc6a42540cb492fcfcb81ff16fffb086d6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 30 Aug 2016 23:24:53 +0200
-Subject: [PATCH] configure.ac: header detection of hash_map is broken - pin to
- correct implementation
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 31 ++++---------------------------
- 1 file changed, 4 insertions(+), 27 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4f2118e..16c09d5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -252,35 +252,12 @@ AC_SUBST(GTKMATHVIEW_SIZEOF_WCHAR_T, "$ac_cv_sizeof_wchar_t")
-
- AC_LANG_PUSH(C++)
-
--AC_CHECK_HEADERS(unordered_map,
-- [
-- AC_DEFINE(GMV_HAVE_UNORDERED_MAP,1,[Define if <unordered_map> is provided])
-- GMV_HAVE_UNORDERED_MAP_CFLAGS=-DGMV_HAVE_UNORDERED_MAP=1
-- ],
-- [
-- GMV_HAVE_UNORDERED_MAP_CFLAGS=
-- ]
--)
-+GMV_HAVE_UNORDERED_MAP_CFLAGS=
- AC_SUBST(GMV_HAVE_UNORDERED_MAP_CFLAGS)
--AC_CHECK_HEADERS(hash_map,
-- [
-- AC_DEFINE(GMV_HAVE_HASH_MAP,1,[Define if <hash_map> is provided])
-- GMV_HAVE_HASH_MAP_CFLAGS=-DGMV_HAVE_HASH_MAP=1
-- ],
-- [
-- GMV_HAVE_HASH_MAP_CFLAGS=
-- ]
--)
-+GMV_HAVE_HASH_MAP_CFLAGS=
- AC_SUBST(GMV_HAVE_HASH_MAP_CFLAGS)
--AC_CHECK_HEADERS(ext/hash_map,
-- [
-- AC_DEFINE(GMV_HAVE_EXT_HASH_MAP,1,[Define if <ext/hash_map> is provided])
-- GMV_HAVE_EXT_HASH_MAP_CFLAGS=-DGMV_HAVE_EXT_HASH_MAP=1
-- ],
-- [
-- GMV_HAVE_EXT_HASH_MAP_CFLAGS=
-- ]
--)
-+AC_DEFINE(GMV_HAVE_EXT_HASH_MAP,1,[Define if <ext/hash_map> is provided])
-+GMV_HAVE_EXT_HASH_MAP_CFLAGS=-DGMV_HAVE_EXT_HASH_MAP=1
- AC_SUBST(GMV_HAVE_EXT_HASH_MAP_CFLAGS)
-
- AC_MSG_CHECKING([whether the C++ compiler supports the standard character traits])
---
-2.5.5
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch
deleted file mode 100644
index 356274d17..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/0003-gcc-6.0-build-fixes.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From: Gert Wollny <gw.fossdev@gmail.com>
-Date: Sun, 26 Jun 2016 13:25:00 +0200
-Description: gcc 6.0 build fixes
-Bug: https://bugs.debian.org/811682
-
-Slightly adapted to our environment
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---- a/src/engine/common/View.cc
-+++ b/src/engine/common/View.cc
-@@ -291,7 +291,7 @@
- }
- }
-
-- return false;
-+ return SmartPtr<Element>();
- }
-
- bool
---- a/src/backend/common/tfm/TFM.hh
-+++ b/src/backend/common/tfm/TFM.hh
-@@ -37,7 +37,7 @@
- unsigned char face;
- const char* codingScheme;
- int designSize;
-- int checksum;
-+ unsigned int checksum;
- unsigned int nDimensions;
- unsigned int nCharacters;
- };
-@@ -52,7 +52,7 @@
- struct Kerning
- {
- UChar8 index;
-- int value;
-+ unsigned int value;
- };
-
- struct Ligature
-@@ -67,7 +67,7 @@
- UChar8 index;
- int width;
- int height;
-- int depth;
-+ unsigned int depth;
- int italicCorrection;
- unsigned char nKernings;
- const Kerning* kerning;
---- a/src/backend/common/StandardSymbolsShaper.hh
-+++ b/src/backend/common/StandardSymbolsShaper.hh
-@@ -32,20 +32,20 @@
- struct HStretchyChar
- {
- Char16 ch;
-- Char8 normal;
-- Char8 left;
-- Char8 glue;
-- Char8 right;
-+ UChar8 normal;
-+ UChar8 left;
-+ UChar8 glue;
-+ UChar8 right;
- };
-
- struct VStretchyChar
- {
- Char16 ch;
-- Char8 normal;
-- Char8 top;
-- Char8 glue;
-- Char8 middle;
-- Char8 bottom;
-+ UChar8 normal;
-+ UChar8 top;
-+ UChar8 glue;
-+ UChar8 middle;
-+ UChar8 bottom;
- };
-
- protected:
---- a/src/backend/common/StandardSymbolsShaper.cc
-+++ b/src/backend/common/StandardSymbolsShaper.cc
-@@ -29,7 +29,7 @@
- #include "ShapingContext.hh"
-
- struct GlyphMap {
-- Char8 index;
-+ UChar8 index;
- Char16 ch;
- };
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch
deleted file mode 100644
index 3fe632860..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview/use_hostcxx.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Use build_cc to compile the programs to run on build host
-helps with cross compiling
-
-Upstream-Status: Inappropriate [Cross-compiled OE specific]
-
-diff --git a/src/common/mathvariants/Makefile.am b/src/common/mathvariants/Makefile.am
-index 636ccf0..ed9921d 100644
---- a/src/common/mathvariants/Makefile.am
-+++ b/src/common/mathvariants/Makefile.am
-@@ -52,7 +52,7 @@ XSLTPROC = xsltproc
- %.cc : %_gen.cc $(srcdir)/variant.top $(srcdir)/variant.bot
- cat $(srcdir)/variant.top >$@
- $(XSLTPROC) --novalid --param temp "false()" $(srcdir)/extract.xsl $(<:%_gen.cc=$(srcdir)/xml/%.xml) >>$@
-- $(CXX) -o $(@:%.cc=%) -I$(top_builddir)/auto $<
-+ $(BUILD_CXX) -o $(@:%.cc=%) -I$(top_builddir)/auto $<
- echo "Char32 " >>$@
- basename map_variant_$@ .cc | tr "-" "_" >>$@
- echo "(Char32 ch)" >>$@
diff --git a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb b/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
deleted file mode 100644
index 9ee9e3035..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-HOMEPAGE = "http://helm.cs.unibo.it/mml-widget/"
-DEPENDS = "t1lib gtk+ popt libxslt-native libxml2"
-
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
-
-PR = "r3"
-SRCREV = "0bc2cfa0a47aed2c8a63abd989cb8da4dcceb2ec"
-PV = "0.8.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/GNOME/gtkmathview.git \
- file://use_hostcxx.patch \
- file://0001-include-cstdio-to-get-printf-definitions.patch \
- file://0002-configure.ac-header-detection-of-hash_map-is-broken-.patch \
- file://0003-gcc-6.0-build-fixes.patch \
- file://0001-Fix-formatting-for-modern-c-11-compilers.patch \
-"
-
-S = "${WORKDIR}/git"
-
-inherit distro_features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_configure_append() {
- # avoid host polution inf pkg-config files
- sed -i "s:${STAGING_DIR_HOST}::g" `find -name '*.pc'`
-}
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/fallback-to-2011-C++-standard.patch b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/fallback-to-2011-C++-standard.patch
new file mode 100644
index 000000000..7a0d286e1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs/fallback-to-2011-C++-standard.patch
@@ -0,0 +1,42 @@
+Option '-std=gnu++14' has been supported from gcc 4.9. But on some build hosts
+such as CentOS 7.6 which only has gcc 4.8.5 and fails to configure:
+
+| checking whether the host C compiler can be used... no
+| ERROR: Only GCC 4.9 or newer is supported (found version 4.8.5).
+
+Fallback to 2011 C++ standard and lower required gcc version to 4.8.0 which is
+the same as in previous version 52.9.1 of mozjs.
+
+Upstream-Status: Inappropriate [Workaround]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
+index 9c772a8..fc640c7 100755
+--- a/build/moz.configure/toolchain.configure
++++ b/build/moz.configure/toolchain.configure
+@@ -502,10 +502,8 @@ def check_compiler(compiler, language, target):
+ append_flag('-std=c++14')
+ # GCC 4.9 indicates that it implements draft C++14 features
+ # instead of the full language.
+- elif info.type == 'gcc' and \
+- info.language_version not in (draft_cxx14_version,
+- cxx14_version):
+- append_flag('-std=gnu++14')
++ elif info.type == 'gcc' and info.language_version != 201103:
++ append_flag('-std=gnu++11')
+
+ # We force clang-cl to emulate Visual C++ 2017 version 15.4
+ if info.type == 'clang-cl' and info.version != '19.11.25547':
+@@ -903,9 +901,9 @@ def compiler(language, host_or_target, c_compiler=None, other_compiler=None,
+ # Check the compiler version here instead of in `compiler_version` so
+ # that the `checking` message doesn't pretend the compiler can be used
+ # to then bail out one line later.
+- if info.type == 'gcc' and info.version < '4.9.0':
++ if info.type == 'gcc' and info.version < '4.8.0':
+ raise FatalCheckError(
+- 'Only GCC 4.9 or newer is supported (found version %s).'
++ 'Only GCC 4.8 or newer is supported (found version %s).'
+ % info.version)
+
+ if info.type == 'gcc' and host_or_target.os == 'Android':
diff --git a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb
index 70bdbc168..33142d6fe 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/mozjs/mozjs_60.5.2.bb
@@ -17,6 +17,7 @@ SRC_URI = "https://dev.gentoo.org/~axs/distfiles/mozjs-60.5.2.tar.bz2 \
file://0001-To-fix-build-error-on-arm32BE.patch \
file://JS_PUBLIC_API.patch \
file://0001-riscv-Disable-atomic-operations.patch \
+ file://fallback-to-2011-C++-standard.patch \
"
SRC_URI_append_libc-musl = " \
file://0006-support-musl.patch \
@@ -54,6 +55,9 @@ EXTRA_OECONF = " \
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \
"
+# Without this, JS_Init() will fail for mips64.
+EXTRA_OECONF_append_mips64 = " --with-intl-api=build"
+
EXTRA_OECONF_append_mipsarch = " --disable-ion"
EXTRA_OECONF_append_riscv64 = " --disable-ion"
EXTRA_OECONF_append_riscv32 = " --disable-ion"
diff --git a/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb b/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
index 737c13427..17ca26273 100644
--- a/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/mraa/mraa_git.bb
@@ -5,8 +5,8 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=4b92a3b497d7943042a6db40c088c3f2"
-SRCREV = "fbb7d9232067eac3f4508a37a8f7ea0c4fcebacb"
-PV = "1.9.0-git${SRCPV}"
+SRCREV = "967585c9ea0e1a8818d2172d2395d8502f6180a2"
+PV = "2.0.0+git${SRCPV}"
SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http \
"
diff --git a/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb b/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb
index 19a90ff07..595852a9f 100644
--- a/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb
@@ -4,7 +4,7 @@ checking (as in assert.h) and logging (printf style debugging) in \
GNU C and C++."
SECTION = "Development/Languages/C and C++"
-SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${BP}.tar.gz \
+SRC_URI = "http://download.savannah.gnu.org/releases/${BPN}/${BP}.tar.gz \
file://change-mandir-to-DESTDIR.patch \
file://modify-acinclude.m4-and-configure.in.patch \
"
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-Always-enable-trivial-httpd-for-tests.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-Always-enable-trivial-httpd-for-tests.patch
new file mode 100644
index 000000000..c9e1306af
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-Always-enable-trivial-httpd-for-tests.patch
@@ -0,0 +1,59 @@
+From 44e0647230b22cd136ae2fb252ce90eed4751970 Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Wed, 4 Sep 2019 17:29:15 +0100
+Subject: [PATCH 1/2] Always enable trivial-httpd for tests
+
+When running tests we always need ostree-trivial-httpd, so enable it
+unconditionally
+
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+Upstream-Status: Submitted [https://github.com/ostreedev/ostree/pull/1912]
+---
+ Makefile.am | 1 +
+ ci/build.sh | 5 +++++
+ ci/travis-build.sh | 1 +
+ 3 files changed, 7 insertions(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index cd04a055045a..673dbf88de55 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -39,6 +39,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS += \
+ --enable-gtk-doc \
+ --enable-man \
+ --disable-maintainer-mode \
++ --enable-trivial-httpd-cmdline \
+ $(NULL)
+
+ GITIGNOREFILES = aclocal.m4 build-aux/ buildutil/*.m4 config.h.in gtk-doc.make
+diff --git a/ci/build.sh b/ci/build.sh
+index 0901507498f2..806af050b780 100755
+--- a/ci/build.sh
++++ b/ci/build.sh
+@@ -22,6 +22,11 @@ case "${CONFIGOPTS:-}" in
+ fi
+ ;;
+ esac
++# unless libsoup is disabled, enable trivial-httpd for the tests
++case "${CONFIGOPTS:-}" in
++ *--without-soup*) ;;
++ *) CONFIGOPTS="${CONFIGOPTS:-} --enable-trivial-httpd-cmdline" ;;
++esac
+
+ # always fail on warnings; https://github.com/ostreedev/ostree/pull/971
+ # NB: this disables the default set of flags from configure.ac
+diff --git a/ci/travis-build.sh b/ci/travis-build.sh
+index 3fd969bdced6..7c85313a2d32 100755
+--- a/ci/travis-build.sh
++++ b/ci/travis-build.sh
+@@ -85,6 +85,7 @@ make="make -j${ci_parallel} V=1 VERBOSE=1"
+
+ ../configure \
+ --enable-always-build-tests \
++ --enable-trivial-httpd-cmdline \
+ ${ci_configopts}
+ "$@"
+
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch
new file mode 100644
index 000000000..d8c044cb9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0001-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch
@@ -0,0 +1,40 @@
+From 5a4f2ddb0a6c656b425a3caa41f5af766ed5f44b Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Mon, 9 Sep 2019 14:19:18 +0100
+Subject: [PATCH] macros: Add TEMP_FAILURE_RETRY for musl
+
+TEMP_FAILURE_RETRY is glibc specific, add a definition for musl.
+
+See https://github.com/ostreedev/ostree/issues/731
+
+Signed-off-by: Leon Woestenberg <leon@sidebranch.com>
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+Upstream-Status: Accepted [https://gitlab.gnome.org/GNOME/libglnx/commit/15c06468804014fc49f6f340132930703f919b19]
+---
+ glnx-macros.h | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/libglnx.glnx-macros.h b/libglnx/glnx-macros.h
+index 6d8aca93f8a3..700fc75ceed0 100644
+--- a/libglnx.glnx-macros.h
++++ b/libglnx/glnx-macros.h
+@@ -31,6 +31,16 @@ G_BEGIN_DECLS
+ /* All of these are for C only. */
+ #ifndef __GI_SCANNER__
+
++/* fixes builds against musl, taken from glibc unistd.h */
++#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
++
+ /* Taken from https://github.com/systemd/systemd/src/basic/string-util.h
+ * at revision v228-666-gcf6c8c4
+ */
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0002-Gate-ostree-trivial-httpd-on-BUILDOPT_TRIVIAL_HTTPD.patch b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0002-Gate-ostree-trivial-httpd-on-BUILDOPT_TRIVIAL_HTTPD.patch
new file mode 100644
index 000000000..362b2f36a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree/0002-Gate-ostree-trivial-httpd-on-BUILDOPT_TRIVIAL_HTTPD.patch
@@ -0,0 +1,51 @@
+From 2629328b39ae117876f4854409c2231220a30b9c Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Thu, 5 Sep 2019 13:22:15 +0100
+Subject: [PATCH 2/2] Gate ostree-trivial-httpd on BUILDOPT_TRIVIAL_HTTPD
+
+When building without --enable-trivial-httpd-cmdline, don't build or install
+the ostree-trivial-httpd binary.
+
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+Upstream-Status: Submitted [https://github.com/ostreedev/ostree/pull/1912]
+---
+ Makefile-ostree.am | 3 ++-
+ configure.ac | 3 +++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile-ostree.am b/Makefile-ostree.am
+index 76f39cad4b74..7b53cb148960 100644
+--- a/Makefile-ostree.am
++++ b/Makefile-ostree.am
+@@ -143,12 +143,13 @@ ostree_SOURCES += src/ostree/ot-builtin-pull.c
+ endif
+
+ if USE_LIBSOUP
+-# Eventually once we stop things from using this, we should support disabling this
++if BUILDOPT_TRIVIAL_HTTPD
+ ostree_SOURCES += src/ostree/ot-builtin-trivial-httpd.c
+ pkglibexec_PROGRAMS += ostree-trivial-httpd
+ ostree_trivial_httpd_SOURCES = src/ostree/ostree-trivial-httpd.c
+ ostree_trivial_httpd_CFLAGS = $(ostree_bin_shared_cflags) $(OT_INTERNAL_SOUP_CFLAGS)
+ ostree_trivial_httpd_LDADD = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_SOUP_LIBS)
++endif
+
+ if !USE_CURL
+ # This is necessary for the cookie jar bits
+diff --git a/configure.ac b/configure.ac
+index 069bab01752e..ffc67980d507 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -192,6 +192,9 @@ AC_ARG_ENABLE(trivial-httpd-cmdline,
+ [Continue to support "ostree trivial-httpd" [default=no]])],,
+ enable_trivial_httpd_cmdline=no)
+ AM_CONDITIONAL(BUILDOPT_TRIVIAL_HTTPD, test x$enable_trivial_httpd_cmdline = xyes)
++AS_IF([test x$with_soup = xno && test x$enable_trivial_httpd_cmdline = xyes], [
++ AC_MSG_ERROR([trivial-httpd enabled, but libsoup is not; libsoup is needed for trivial-httpd])
++])
+ AM_COND_IF(BUILDOPT_TRIVIAL_HTTPD,
+ [AC_DEFINE([BUILDOPT_ENABLE_TRIVIAL_HTTPD_CMDLINE], 1, [Define if we are enabling ostree trivial-httpd entrypoint])]
+ )
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.3.bb b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.3.bb
new file mode 100644
index 000000000..1fe7dcf21
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/ostree/ostree_2019.3.bb
@@ -0,0 +1,157 @@
+SUMMARY = "Versioned Operating System Repository."
+DESCRIPTION = "libostree is both a shared library and suite of command line \
+tools that combines a \"git-like\" model for committing and downloading \
+bootable filesystem trees, along with a layer for deploying them and managing \
+the bootloader configuration."
+HOMEPAGE = "https://ostree.readthedocs.io"
+LICENSE = "LGPLv2.1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+DEPENDS = " \
+ glib-2.0 \
+ gpgme \
+ e2fsprogs \
+ libcap \
+ zlib \
+ xz \
+ bison-native \
+"
+
+# The Yocto mirror has an old export of ostree:
+# http://downloads.yoctoproject.org/mirror/sources/git2_github.com.ostreedev.ostree.tar.gz
+PREMIRRORS = ""
+
+SRC_URI = " \
+ gitsm://github.com/ostreedev/ostree \
+ file://0001-macros-Add-TEMP_FAILURE_RETRY-for-musl.patch \
+ file://0001-Always-enable-trivial-httpd-for-tests.patch \
+ file://0002-Gate-ostree-trivial-httpd-on-BUILDOPT_TRIVIAL_HTTPD.patch \
+"
+SRCREV = "5c1697da78ebf6250a7130b8b9e6cbfbeaa34296"
+
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+)"
+
+S = "${WORKDIR}/git"
+
+inherit autotools bash-completion gobject-introspection gtk-doc pkgconfig systemd
+
+# package configuration - match ostree defaults, but without rofiles-fuse
+# otherwise we introduce a dependendency on meta-filesystems
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \
+ soup \
+"
+
+# We include soup because ostree can't (currently) be built without
+# soup or curl - https://github.com/ostreedev/ostree/issues/1897
+PACKAGECONFIG_class-native ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
+ soup \
+"
+
+PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi"
+PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl"
+PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut"
+PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls"
+PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive"
+PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux"
+PACKAGECONFIG[man] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio"
+PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2"
+PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl"
+PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse"
+PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
+PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack"
+PACKAGECONFIG[soup] = "--with-soup, --without-soup --disable-glibtest, libsoup-2.4"
+PACKAGECONFIG[static] = ""
+PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_unitdir}/system, --without-libsystemd, systemd"
+PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline"
+
+EXTRA_OECONF = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \
+"
+
+# Makefile-libostree.am overrides this to avoid a build problem with clang,
+# but that fix breaks cross compilation and we don't need it
+EXTRA_OEMAKE = " \
+ INTROSPECTION_SCANNER_ENV= \
+"
+
+EXTRA_OECONF_class-native = " \
+ --with-builtin-grub2-mkconfig \
+ --enable-wrpseudo-compat \
+ --disable-otmpfile \
+"
+
+# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the
+# do_configure stage so we do depend on it
+SYSROOT_DIR = "${STAGING_DIR_TARGET}"
+SYSROOT_DIR_class-native = "${STAGING_DIR_NATIVE}"
+do_configure[vardeps] += "SYSROOT_DIR"
+
+do_configure_prepend() {
+ # this reflects what autogen.sh does, but the OE wrappers for autoreconf
+ # allow it to work without the other gyrations which exist there
+ cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc
+ cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc
+}
+
+do_install_append_class-native() {
+ create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator"
+}
+
+PACKAGES += " \
+ ${PN}-dracut \
+ ${PN}-grub \
+ ${PN}-mkinitcpio \
+ ${PN}-switchroot \
+"
+
+FILES_${PN} = " \
+ ${bindir}/ostree \
+ ${bindir}/rofiles-fuse \
+ ${datadir}/${BPN} \
+ ${datadir}/gir-1.0 \
+ ${libdir}/${BPN}/ostree-remount \
+ ${libdir}/girepository-1.0 \
+ ${libdir}/lib*${SOLIBS} \
+ ${libdir}/tmpfiles.d/ostree-tmpfiles.conf \
+ ${libexecdir}/libostree/ostree-trivial-httpd \
+ ${sysconfdir}/ostree/remotes.d \
+ ${systemd_unitdir}/system-generators/ostree-system-generator \
+ ${systemd_unitdir}/system/ostree-finalize-staged.path \
+ ${systemd_unitdir}/system/ostree-finalize-staged.service \
+ ${systemd_unitdir}/system/ostree-remount.service \
+"
+FILES_${PN}-dracut = " \
+ ${sysconfdir}/dracut.conf.d \
+ ${libdir}/dracut \
+"
+FILES_${PN}-grub = " \
+ ${sysconfdir}/grub.d \
+ ${libexecdir}/libostree/grub2-15_ostree \
+"
+FILES_${PN}-mkinitcpio = " \
+ ${sysconfdir}/ostree-mkinitcpio.conf \
+ ${libdir}/initcpio \
+"
+FILES_${PN}-switchroot = " \
+ ${libdir}/ostree/ostree-prepare-root \
+ ${systemd_unitdir}/system/ostree-prepare-root.service \
+"
+
+RDEPENDS_${PN}-dracut = "bash"
+RDEPENDS_${PN}-mkinitcpio = "bash"
+RDEPENDS_${PN}_class-target = " \
+ gnupg \
+ ${PN}-switchroot \
+"
+
+RRECOMMENDS_${PN} += "kernel-module-overlay"
+
+SYSTEMD_SERVICE_${PN} = "ostree-remount.service ostree-finalize-staged.path"
+SYSTEMD_SERVICE_${PN}-switchroot = "ostree-prepare-root.service"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb b/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb
index c59a259fc..2fdadcbc9 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb
@@ -10,11 +10,10 @@ DEPENDS = "libpam openldap"
inherit distro_features_check
REQUIRED_DISTRO_FEATURES = "pam"
-SRC_URI = "https://github.com/rmbreak/pam_ldapdb/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
-SRC_URI[md5sum] = "2dd4f1370fcfe995ee0ad09611109b87"
-SRC_URI[sha256sum] = "8ed92b36523556bb5d9bf3eb33a1035e46041d4be767c8d62136930c0ca0e45b"
+SRCREV = "84d7b260f1ae6857ae36e014c9a5968e8aa1cbe8"
+SRC_URI = "git://github.com/rmbreak/pam_ldapdb"
-S = "${WORKDIR}/pam_ldapdb-${PV}"
+S = "${WORKDIR}/git"
do_install () {
oe_runmake install DESTDIR=${D} PAMDIR=${base_libdir}/security
diff --git a/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl/0001-Fix-clang-warning-about-non-virtual-dtor.patch b/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl/0001-Fix-clang-warning-about-non-virtual-dtor.patch
new file mode 100644
index 000000000..0c79c4c09
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl/0001-Fix-clang-warning-about-non-virtual-dtor.patch
@@ -0,0 +1,25 @@
+From 340110292b35d367205953a59e7eab28e1f4a0bb Mon Sep 17 00:00:00 2001
+From: Daniel Frey <d.frey@gmx.de>
+Date: Sat, 7 Apr 2018 09:13:51 +0200
+Subject: [PATCH] Fix clang-warning about non-virtual dtor
+
+Upstream-Status: Backport [https://github.com/taocpp/PEGTL/commit/340110292b35d367205953a59e7eab28e1f4a0bb]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/example/pegtl/json_classes.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/example/pegtl/json_classes.hpp
++++ b/src/example/pegtl/json_classes.hpp
+@@ -34,10 +34,7 @@ namespace examples
+ : type( in_type )
+ {
+ }
+-
+- ~json_base()
+- {
+- }
++ virtual ~json_base() = default;
+ };
+
+ inline std::ostream& operator<<( std::ostream& o, const json_base& j )
diff --git a/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.1.4.bb b/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.1.4.bb
new file mode 100644
index 000000000..344a80524
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/pegtl/pegtl_2.1.4.bb
@@ -0,0 +1,13 @@
+DESCRIPTION="header-only library for creating parsers according to Parsing Expression Grammar"
+HOMEPAGE="https://github.com/taocpp/PEGTL"
+LICENSE="MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=80cb066ab204c7fe022f1cfe0c2c6818"
+
+SRCREV = "776fa4a1e8bda860008524f6dd9473967c8375b1"
+SRC_URI = "git://git@github.com/taocpp/PEGTL.git;protocol=https;branch=master \
+ file://0001-Fix-clang-warning-about-non-virtual-dtor.patch \
+ "
+
+inherit cmake
+
+S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch
index 747538b0c..ca2a1f643 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch
@@ -1,4 +1,4 @@
-From 2a22dc96c3bbb5c9bbcc008f58d4f5c64e3d19e6 Mon Sep 17 00:00:00 2001
+From 231eb4c75fbfaaf90bca7702bdaf55cf701a3527 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Mon, 23 Jul 2018 11:23:39 -0700
Subject: [PATCH] jemalloc/jemalloc.cfg: Specify the host when building
@@ -25,5 +25,5 @@ index 196129de6..79ebbab1c 100644
--disable-munmap
+--host=${HOST_SYS}
--
-2.17.1
+2.14.4
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-os_posix-Use-__FreeBSD__-to-control-secure_getenv-de.patch b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-os_posix-Use-__FreeBSD__-to-control-secure_getenv-de.patch
new file mode 100644
index 000000000..33f25b6a6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0001-os_posix-Use-__FreeBSD__-to-control-secure_getenv-de.patch
@@ -0,0 +1,33 @@
+From 7d0732d69a774e28bc46b8b487d9f61bdd8afbff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 6 Oct 2019 18:15:44 -0700
+Subject: [PATCH] os_posix: Use __FreeBSD__ to control secure_getenv definition
+
+__USE_GNU does not cover all Linux platforms, e.g. when using musl as C
+library, __USE_GNU may not be defined but it does provide secure_getenv
+so instead of narrowing the else condition, lets speicifically check for
+FreeBSD being the platform, since that seems to be the intention here
+anyway
+
+Upstream-Status: Submitted [https://github.com/pmem/pmdk/pull/3999]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/common/os_posix.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/common/os_posix.c b/src/common/os_posix.c
+index a9a37ef84..052db2383 100644
+--- a/src/common/os_posix.c
++++ b/src/common/os_posix.c
+@@ -346,7 +346,7 @@ os_setenv(const char *name, const char *value, int overwrite)
+ /*
+ * secure_getenv -- provide GNU secure_getenv for FreeBSD
+ */
+-#ifndef __USE_GNU
++#if defined(__FreeBSD__)
+ static char *
+ secure_getenv(const char *name)
+ {
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch
index bd1b97c24..82b96cf95 100644
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0002-Makefile-Don-t-install-the-docs.patch
@@ -1,7 +1,7 @@
-From 460a96e390cb80278784cfe36629e280fe7ffef7 Mon Sep 17 00:00:00 2001
+From 3863d8bd71d6a5638cf984f8d8f9cccac0c7f2a4 Mon Sep 17 00:00:00 2001
From: Alistair Francis <alistair.francis@wdc.com>
Date: Mon, 23 Jul 2018 11:31:17 -0700
-Subject: [PATCH 2/2] Makefile: Don't install the docs
+Subject: [PATCH] Makefile: Don't install the docs
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Upstream-Status: Inappropriate [disable feature]
@@ -10,17 +10,17 @@ Upstream-Status: Inappropriate [disable feature]
1 file changed, 1 deletion(-)
diff --git a/Makefile b/Makefile
-index 224a315f6..ce7f84afb 100644
+index 47a447f12..7c0f9848f 100644
--- a/Makefile
+++ b/Makefile
-@@ -144,7 +144,6 @@ rpm dpkg: pkg-clean source
+@@ -148,7 +148,6 @@ rpm dpkg: pkg-clean
install uninstall:
$(MAKE) -C src $@
- $(MAKE) -C doc $@
.PHONY: all clean clobber test check cstyle check-license install uninstall\
- source rpm dpkg pkg-clean pcheck check-remote format doc $(SUBDIRS)
+ source rpm dpkg pkg-clean pcheck check-remote format doc require-rpmem\
--
-2.17.1
+2.14.4
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch
deleted file mode 100644
index f75d94197..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0003-Makefile-Don-t-build-the-examples.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From a7f07dca2468ea226d2f07fc0105166e75cadaf8 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Thu, 6 Sep 2018 16:18:50 -0700
-Subject: [PATCH] Makefile: Don't build the examples
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Inappropriate [disable feature]
----
- src/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 4b50dd8b5..e00501e31 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -38,13 +38,13 @@ include $(TOP)/src/version.inc
-
- TARGETS = libpmem libvmem libpmemblk libpmemlog libpmemobj libpmempool\
- libpmemcto libvmmalloc tools
--ALL_TARGETS = $(TARGETS) common librpmem examples benchmarks
-+ALL_TARGETS = $(TARGETS) common librpmem benchmarks
-
- SCOPE_DIRS = $(TARGETS) common librpmem rpmem_common
-
- DEBUG_RELEASE_TARGETS = common libpmem libvmem libpmemblk libpmemlog libpmemobj\
- libpmempool libvmmalloc librpmem libpmemcto
--RELEASE_TARGETS = tools examples benchmarks
-+RELEASE_TARGETS = tools benchmarks
-
- CLEAN_NO_JE_TARGETS = $(ALL_TARGETS) rpmem_common test
- CLEAN_TARGETS = $(CLEAN_NO_JE_TARGETS) jemalloc
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch
deleted file mode 100644
index 624f17bd4..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0004-os_posix-Manually-implement-secure_getenv-if-require.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 33affa9ee97691efb73f439fcdba4adb8625a26a Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Mon, 10 Sep 2018 12:59:48 -0700
-Subject: [PATCH] os_posix: Manually implement secure_getenv() if required
-
-Manually implement the secure_getenv() if we need to, this is required
-if using musl.
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Pending
----
- src/common/os_posix.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/common/os_posix.c b/src/common/os_posix.c
-index 2d70a0a29..fb09b6ce0 100644
---- a/src/common/os_posix.c
-+++ b/src/common/os_posix.c
-@@ -261,7 +261,7 @@ os_setenv(const char *name, const char *value, int overwrite)
- /*
- * secure_getenv -- provide GNU secure_getenv for FreeBSD
- */
--#ifdef __FreeBSD__
-+#if defined(__FreeBSD__) || !HAVE___SECURE_GETENV
- static char *
- secure_getenv(const char *name)
- {
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch
deleted file mode 100644
index 75c35f865..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0005-pmempool-Remove-unused-__USE_UNIX98-define.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 92e63699ea83074298971b0251f002562be4dbd3 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Mon, 10 Sep 2018 13:23:37 -0700
-Subject: [PATCH 2/3] pmempool: Remove unused __USE_UNIX98 define
-
-Remove the unused __USE_UNIX98 to fix musl build failures.
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Pending
----
- src/tools/pmempool/info.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/src/tools/pmempool/info.c b/src/tools/pmempool/info.c
-index b4010bf35..7b890a123 100644
---- a/src/tools/pmempool/info.c
-+++ b/src/tools/pmempool/info.c
-@@ -45,9 +45,6 @@
- #include <inttypes.h>
- #include <assert.h>
- #include <sys/param.h>
--#ifndef __FreeBSD__
--#define __USE_UNIX98
--#endif
- #include <unistd.h>
- #include <sys/mman.h>
-
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch b/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch
deleted file mode 100644
index 2042fdb25..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/files/0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a88e806f9ce8cc071e81abad688643d53f393176 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@wdc.com>
-Date: Mon, 10 Sep 2018 14:18:38 -0700
-Subject: [PATCH 3/3] Makefile.inc: Allow extra libs to be specified
-
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
-Upstream-Status: Pending
----
- src/Makefile.inc | 2 ++
- src/common.inc | 2 ++
- src/tools/Makefile.inc | 1 +
- 3 files changed, 5 insertions(+)
-
-diff --git a/src/common.inc b/src/common.inc
-index 032cb83ea..2d5c4bedf 100644
---- a/src/common.inc
-+++ b/src/common.inc
-@@ -74,6 +74,8 @@ GCOV_CFLAGS=-fprofile-arcs -ftest-coverage --coverage
- GCOV_LDFLAGS=-fprofile-arcs -ftest-coverage
- GCOV_LIBS=-lgcov
-
-+LIBS += $(EXTRA_LIBS)
-+
- osdep = $(1)_$(shell uname -s | tr "[:upper:]" "[:lower:]")$(2)
- get_arch = $(shell $(CC) -dumpmachine | awk -F'[/-]' '{print $$1}')
-
---
-2.17.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb
deleted file mode 100644
index 3da22a970..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.4.2.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "Persistent Memory Development Kit"
-DESCRIPTION = "Persistent Memory Development Kit"
-HOMEPAGE = "http://pmem.io"
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7db1106255a1baa80391fd2e21eebab7"
-DEPENDS = "ndctl"
-
-# Required to have the fts.h header for musl
-DEPENDS_append_libc-musl = " fts"
-
-SRC_URI = "https://github.com/pmem/${BPN}/archive/${PV}.tar.gz \
- file://0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch \
- file://0002-Makefile-Don-t-install-the-docs.patch \
- file://0003-Makefile-Don-t-build-the-examples.patch \
- file://0005-pmempool-Remove-unused-__USE_UNIX98-define.patch \
- file://0006-Makefile.inc-Allow-extra-libs-to-be-specified.patch \
- "
-
-SRC_URI_append_libc-musl = " file://0004-os_posix-Manually-implement-secure_getenv-if-require.patch"
-
-SRC_URI[md5sum] = "bde73bca9ef5b90911deb0fdcfb15ccf"
-SRC_URI[sha256sum] = "df7e658e75d28cd80f6d2ff7b9fc9ae2885d52f8923fdbacecfd46215115fb4c"
-
-inherit autotools-brokensep pkgconfig
-
-# Fix jemalloc error:
-# | configure: error: cannot run C compiled programs.
-# | If you meant to cross compile, use `--host'.
-#
-# Also fix #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
-EXTRA_OEMAKE = "HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}'"
-
-# Fix the missing fts libs when using musl
-EXTRA_OEMAKE_append_libc-musl = " EXTRA_LIBS='-lfts'"
-
-do_install() {
- oe_runmake PREFIX=${prefix} DESTDIR=${D} install
-
- # Copy these into the standard directories
- install -d ${D}${bindir}/
- mv ${D}/usr/local/bin/pmempool ${D}${bindir}/
- mv ${D}/usr/local/bin/daxio ${D}${bindir}/
-
- install -d ${D}${libdir}
- mv ${D}/usr/local/lib/*so* ${D}${libdir}/
-
- install -d ${D}${libdir}/pkgconfig
- mv ${D}/usr/local/lib/pkgconfig/*.pc ${D}${libdir}/pkgconfig/
-
- install -d ${D}${includedir}
- mv ${D}/usr/local/include/* ${D}${includedir}/
-
- # Remove uneeded files
- rm -rf ${D}/usr/local/
-}
-
-# Include these by default otherwise the SDK is not very useful
-FILES_${PN} += "${bindir}/pmempool ${bindir}/daxio"
-FILES_${PN} += "${libdir}/*so*"
-FILES_${PN} += "${libdir}/pkgconfig/*.pc"
-FILES_${PN} += "${includedir}/libpmemobj++/* ${includedir}/libpmemobj/*"
-
-COMPATIBLE_HOST='(x86_64).*'
diff --git a/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb
new file mode 100644
index 000000000..96da266e6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/pmdk/pmdk_1.7.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Persistent Memory Development Kit"
+DESCRIPTION = "Persistent Memory Development Kit"
+HOMEPAGE = "http://pmem.io"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7db1106255a1baa80391fd2e21eebab7"
+DEPENDS = "ndctl"
+
+# Required to have the fts.h header for musl
+DEPENDS_append_libc-musl = " fts"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/pmem/pmdk.git \
+ file://0001-jemalloc-jemalloc.cfg-Specify-the-host-when-building.patch \
+ file://0002-Makefile-Don-t-install-the-docs.patch \
+ file://0001-os_posix-Use-__FreeBSD__-to-control-secure_getenv-de.patch \
+ "
+
+SRCREV = "bc5e309485df61c452d08367e4b13ba9dfed5071"
+
+inherit autotools-brokensep pkgconfig
+
+# Fix jemalloc error:
+# | configure: error: cannot run C compiled programs.
+# | If you meant to cross compile, use `--host'.
+#
+# Also fix #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
+EXTRA_OEMAKE = "BUILD_EXAMPLES='n' HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}' LIB_PREFIX=${baselib}"
+
+# Fix the missing fts libs when using musl
+EXTRA_OEMAKE_append_libc-musl = " EXTRA_LIBS='-lfts'"
+
+do_install() {
+ oe_runmake prefix=${prefix} DESTDIR=${D} install
+
+ # Remove uneeded files
+ rm -rf ${D}/usr/${baselib}/pmdk_debug
+}
+
+# Include these by default otherwise the SDK is not very useful
+FILES_${PN} += "${bindir}/pmempool ${bindir}/daxio"
+FILES_${PN} += "${libdir}/*so*"
+FILES_${PN} += "${libdir}/pkgconfig/*.pc"
+FILES_${PN} += "${includedir}/libpmemobj++/* ${includedir}/libpmemobj/* /usr/*/include/"
+FILES_${PN} += "/usr/etc"
+FILES_${PN} += "/usr/share"
+
+COMPATIBLE_HOST='(x86_64).*'
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch
new file mode 100644
index 000000000..04af15dd8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch
@@ -0,0 +1,32 @@
+From 97584e1eb78dc18599534b47b6670c20c63f5ee2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 10 Sep 2019 20:04:26 -0700
+Subject: [PATCH] src: Do not reset FINAL_LIBS
+
+This helps case where additional libraries are needed to be passed from
+environment to get it going
+
+e.g. -latomic is needed on clang/x86 to provide for 64bit atomics
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 7f7c625..c71dd3b 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -66,7 +66,7 @@ endif
+
+ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
+ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+-FINAL_LIBS=-lm
++FINAL_LIBS+=-lm
+ DEBUG=-g -ggdb
+
+ ifeq ($(uname_S),SunOS)
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch
new file mode 100644
index 000000000..82ca30739
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis/Fixed-stack-trace-generation-on-aarch64.patch
@@ -0,0 +1,45 @@
+From c8ca71d40bc51e255457cd4374dd45ec9ebf8ae1 Mon Sep 17 00:00:00 2001
+From: Jun He <jun.he@arm.com>
+Date: Mon, 3 Jul 2017 07:18:32 +0000
+Subject: [PATCH] Fixed stack trace generation on aarch64
+
+Change-Id: I9801239c98cb7362ed07e8b9ec2ba7e45749dba7
+Signed-off-by: Jun He <jun.he@arm.com>
+
+* fixes also this error when building with -Werror=return-type:
+ debug.c:698:1: error: no return statement in function returning non-void [-Werror=return-type]
+
+Upstream-Status: Backport [https://github.com/antirez/redis/commit/c8ca71d40bc51e255457cd4374dd45ec9ebf8ae1]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/Makefile | 2 +-
+ src/debug.c | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 24e960593eb..a1ff4258a9d 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -40,7 +40,7 @@
+ endif
+
+ # To get ARM stack traces if Redis crashes we need a special C flag.
+-ifneq (,$(findstring armv,$(uname_M)))
++ifneq (,$(filter aarch64 armv,$(uname_M)))
+ CFLAGS+=-funwind-tables
+ endif
+
+diff --git a/src/debug.c b/src/debug.c
+index a4caa49f285..c976d0ed919 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -691,6 +691,8 @@
+ return (void*) uc->uc_mcontext.sc_ip;
+ #elif defined(__arm__) /* Linux ARM */
+ return (void*) uc->uc_mcontext.arm_pc;
++ #elif defined(__aarch64__) /* Linux AArch64 */
++ return (void*) uc->uc_mcontext.pc;
+ #endif
+ #else
+ return NULL;
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb
index 63ab44b6a..45ea29b70 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_4.0.14.bb
@@ -10,6 +10,8 @@ SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
file://hiredis-use-default-CC-if-it-is-set.patch \
file://lua-update-Makefile-to-use-environment-build-setting.patch \
file://oe-use-libc-malloc.patch \
+ file://Fixed-stack-trace-generation-on-aarch64.patch \
+ file://0001-src-Do-not-reset-FINAL_LIBS.patch \
file://redis.conf \
file://init-redis-server \
file://redis.service \
@@ -24,11 +26,13 @@ SRC_URI[sha256sum] = "1e1e18420a86cfb285933123b04a82e1ebda20bfb0a289472745a08758
inherit autotools-brokensep update-rc.d systemd useradd
+FINAL_LIBS_x86_toolchain-clang = "-latomic"
+export FINAL_LIBS
+
USERADD_PACKAGES = "${PN}"
USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis"
GROUPADD_PARAM_${PN} = "--system redis"
-
REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}"
do_compile_prepend() {
diff --git a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
index 1962a2dd4..b39ceda80 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
@@ -32,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" CCFLAGS="${CFLAGS}" NO_PACKLIST=1' \
+"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1 NO_PERLLOCAL=1' \
ac_cv_path_PERL_CC='${CC}', \
--disable-perl,perl,"
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb
index 9e57dd520..16c63a752 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.4.0.bb
@@ -14,3 +14,5 @@ SRCREV = "e96443dda3c080fa991decec26bc4ac98d24b9a2"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
+
+CPPFLAGS += "-Wno-error"
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1903.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1903.0.bb
deleted file mode 100644
index f1a6e8535..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1903.0.bb
+++ /dev/null
@@ -1,174 +0,0 @@
-SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
-DESCRIPTION = "\
-Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
- PostgreSQL, failover log destinations, syslog/tcp, fine grain\
- output format control, high precision timestamps, queued operations\
- and the ability to filter on any message part. It is quite\
- compatible to stock sysklogd and can be used as a drop-in replacement.\
- Its advanced features make it suitable for enterprise-class,\
- encryption protected syslog relay chains while at the same time being\
- very easy to setup for the novice user."
-
-DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging"
-HOMEPAGE = "http://www.rsyslog.com/"
-LICENSE = "GPLv3 & LGPLv3 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
- file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \
- file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
-"
-
-SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \
- file://initscript \
- file://rsyslog.conf \
- file://rsyslog.logrotate \
- file://use-pkgconfig-to-check-libgcrypt.patch \
- file://run-ptest \
-"
-
-SRC_URI_append_libc-musl = " \
- file://0001-Include-sys-time-h.patch \
-"
-
-SRC_URI[md5sum] = "f0d454c79d4040e3f25fcd12f8f33fe2"
-SRC_URI[sha256sum] = "d0d23a493dcec64c7b6807a1bb8ee864ed0f3760c2ff3088008bb661d304056f"
-
-
-UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
-
-inherit autotools pkgconfig systemd update-rc.d ptest
-
-EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes"
-
-# first line is default yes in configure
-PACKAGECONFIG ??= " \
- rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
- fmhttp imdiag gnutls imfile \
- ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \
-"
-
-# default yes in configure
-PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp,"
-PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
-PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
-PACKAGECONFIG[fmhttp] = "--enable-fmhttp,--disable-fmhttp,curl,"
-PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
-PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
-PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
-PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
-PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
-PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,,"
-
-# default no in configure
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
-PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,,"
-PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,,"
-PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
-PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
-PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal,"
-PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse,"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
-PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql,"
-PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
-PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
-PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
-
-TESTDIR = "tests"
-do_compile_ptest() {
- echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
- oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
- # install the tests
- cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
- cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
-
- # do NOT need to rebuild Makefile itself
- sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- # do NOT need to rebuild $(check_PROGRAMS)
- sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
- # fix the srcdir, top_srcdir
- sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- # fix the abs_top_builddir
- sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
- # valgrind is not compatible with arm and mips,
- # so remove related test cases if there is no valgrind.
- if [ x${VALGRIND} = x ]; then
- sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- fi
-
- # install test-driver
- install -m 644 ${S}/test-driver ${D}${PTEST_PATH}
-
- # install necessary links
- install -d ${D}${PTEST_PATH}/tools
- ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
-
- install -d ${D}${PTEST_PATH}/runtime
- install -d ${D}${PTEST_PATH}/runtime/.libs
- (
- cd ${D}/${libdir}/rsyslog
- allso="*.so"
- for i in $allso; do
- ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
- done
- )
-
- # fix the module load path with runtime/.libs
- find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \
- sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g'
-}
-
-do_install_append() {
- install -d "${D}${sysconfdir}/init.d"
- install -d "${D}${sysconfdir}/logrotate.d"
- install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog
- install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
- install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
- sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
-
- if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then
- install -d 0755 ${D}${sysconfdir}/rsyslog.d
- echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf
- fi
- if ${@bb.utils.contains('PACKAGECONFIG', 'mmjsonparse', 'true', 'false', d)}; then
- install -d 0755 ${D}${sysconfdir}/rsyslog.d
- echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf
- fi
-}
-
-FILES_${PN} += "${bindir}"
-
-INITSCRIPT_NAME = "syslog"
-INITSCRIPT_PARAMS = "defaults"
-
-CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
-
-RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-
-RDEPENDS_${PN} += "logrotate"
-
-# for rsyslog-ptest
-VALGRIND = "valgrind"
-VALGRIND_mips = ""
-VALGRIND_mips64 = ""
-VALGRIND_mips64n32 = ""
-VALGRIND_arm = ""
-VALGRIND_aarch64 = ""
-VALGRIND_riscv64 = ""
-RDEPENDS_${PN}-ptest += "\
- make diffutils gzip bash gawk coreutils procps \
- libgcc python-core python-io \
- "
-RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1908.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1908.0.bb
new file mode 100644
index 000000000..bbb4b119a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.1908.0.bb
@@ -0,0 +1,174 @@
+SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
+DESCRIPTION = "\
+Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
+ PostgreSQL, failover log destinations, syslog/tcp, fine grain\
+ output format control, high precision timestamps, queued operations\
+ and the ability to filter on any message part. It is quite\
+ compatible to stock sysklogd and can be used as a drop-in replacement.\
+ Its advanced features make it suitable for enterprise-class,\
+ encryption protected syslog relay chains while at the same time being\
+ very easy to setup for the novice user."
+
+DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging"
+HOMEPAGE = "http://www.rsyslog.com/"
+LICENSE = "GPLv3 & LGPLv3 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
+ file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \
+ file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
+"
+
+SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \
+ file://initscript \
+ file://rsyslog.conf \
+ file://rsyslog.logrotate \
+ file://use-pkgconfig-to-check-libgcrypt.patch \
+ file://run-ptest \
+"
+
+SRC_URI_append_libc-musl = " \
+ file://0001-Include-sys-time-h.patch \
+"
+
+SRC_URI[md5sum] = "6e9aa4ef4cad8ae49affa0a786cc9e2f"
+SRC_URI[sha256sum] = "f8c8e53b651e03a011667c60bd2d4dba7a7cb6ec04b247c8ea8514115527863b"
+
+UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
+
+inherit autotools pkgconfig systemd update-rc.d ptest
+
+EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes"
+EXTRA_OECONF += "--enable-imfile-tests"
+
+# first line is default yes in configure
+PACKAGECONFIG ??= " \
+ rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
+ fmhttp imdiag gnutls imfile \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \
+"
+
+# default yes in configure
+PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp,"
+PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
+PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
+PACKAGECONFIG[fmhttp] = "--enable-fmhttp,--disable-fmhttp,curl,"
+PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
+PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
+PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
+PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
+PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
+PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,,"
+
+# default no in configure
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
+PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,,"
+PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,,"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
+PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
+PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal,"
+PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse,"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
+PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql,"
+PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
+PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind,"
+
+TESTDIR = "tests"
+do_compile_ptest() {
+ echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+ # install the tests
+ cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
+ cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
+
+ # do NOT need to rebuild Makefile itself
+ sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ # do NOT need to rebuild $(check_PROGRAMS)
+ sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # fix the srcdir, top_srcdir
+ sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ # fix the abs_top_builddir
+ sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # valgrind is not compatible with arm and mips,
+ # so remove related test cases if there is no valgrind.
+ if [ x${VALGRIND} = x ]; then
+ sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ fi
+
+ # install test-driver
+ install -m 644 ${S}/test-driver ${D}${PTEST_PATH}
+
+ # install necessary links
+ install -d ${D}${PTEST_PATH}/tools
+ ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
+
+ install -d ${D}${PTEST_PATH}/runtime
+ install -d ${D}${PTEST_PATH}/runtime/.libs
+ (
+ cd ${D}/${libdir}/rsyslog
+ allso="*.so"
+ for i in $allso; do
+ ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
+ done
+ )
+
+ # fix the module load path with runtime/.libs
+ find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \
+ sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g'
+}
+
+do_install_append() {
+ install -d "${D}${sysconfdir}/init.d"
+ install -d "${D}${sysconfdir}/logrotate.d"
+ install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog
+ install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
+ install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
+ sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then
+ install -d 0755 ${D}${sysconfdir}/rsyslog.d
+ echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf
+ fi
+ if ${@bb.utils.contains('PACKAGECONFIG', 'mmjsonparse', 'true', 'false', d)}; then
+ install -d 0755 ${D}${sysconfdir}/rsyslog.d
+ echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf
+ fi
+}
+
+FILES_${PN} += "${bindir}"
+
+INITSCRIPT_NAME = "syslog"
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
+
+RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+RDEPENDS_${PN} += "logrotate"
+
+# for rsyslog-ptest
+VALGRIND = "valgrind"
+VALGRIND_mips = ""
+VALGRIND_mips64 = ""
+VALGRIND_mips64n32 = ""
+VALGRIND_arm = ""
+VALGRIND_aarch64 = ""
+VALGRIND_riscv64 = ""
+RDEPENDS_${PN}-ptest += "\
+ make diffutils gzip bash gawk coreutils procps \
+ libgcc python-core python-io \
+ "
+RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch
deleted file mode 100644
index e4bde80a0..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock/0001-fix-compile-failure-with-libc-musl.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From c51c2c543f3c78b2a68acc61f786f903f2e0fec8 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sun, 9 Sep 2018 07:28:09 -0400
-Subject: [PATCH] fix compile failure with libc musl
-
-The lack of random_r in musl:
-[snip]
-|main.c:1393:7: warning: implicit declaration of function 'random_r';
-did you mean 'random'? [-Wimplicit-function-declaration]
-| rv = random_r(&rand_data, &val);
-| ^~~~~~~~
-| random
-|main.c:1408:30: error: invalid application of 'sizeof' to incomplete
-type 'struct random_data'
-| memset(&rand_data, 0, sizeof(rand_data));
-[snip]
-
-s/random_r/random/, s/initstate_r/initstate/ and remove `static struct
-random_data rand_data'
-
-Here is the man of `random_r()':
-[snip]
-The random_r() function is like random(3), except that instead of using
-state information maintained in a global variable
-[snip]
-
-So use random without state information is OK.
-
-Upstream-Status: Submitted [sanlock-devel@lists.fedorahosted.org]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- src/main.c | 12 ++++--------
- 1 file changed, 4 insertions(+), 8 deletions(-)
-
-diff --git a/src/main.c b/src/main.c
-index f60b4d3..602c400 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -84,7 +84,6 @@ static char command[COMMAND_MAX];
- static int cmd_argc;
- static char **cmd_argv;
- static struct thread_pool pool;
--static struct random_data rand_data;
- static char rand_state[32];
- static pthread_mutex_t rand_mutex = PTHREAD_MUTEX_INITIALIZER;
- static const char *run_dir = NULL;
-@@ -1386,16 +1385,15 @@ int get_rand(int a, int b);
-
- int get_rand(int a, int b)
- {
-- int32_t val;
-- int rv;
-+ long int rv;
-
- pthread_mutex_lock(&rand_mutex);
-- rv = random_r(&rand_data, &val);
-+ rv = random();
- pthread_mutex_unlock(&rand_mutex);
- if (rv < 0)
- return rv;
-
-- return a + (int) (((float)(b - a + 1)) * val / (RAND_MAX+1.0));
-+ return a + (int) (((float)(b - a + 1)) * rv / (RAND_MAX+1.0));
- }
-
- static void setup_host_name(void)
-@@ -1405,9 +1403,7 @@ static void setup_host_name(void)
- uuid_t uu;
-
- memset(rand_state, 0, sizeof(rand_state));
-- memset(&rand_data, 0, sizeof(rand_data));
--
-- initstate_r(time(NULL), rand_state, sizeof(rand_state), &rand_data);
-+ initstate(time(NULL), rand_state, sizeof(rand_state));
-
- /* use host name from command line */
-
---
-2.8.1
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb
deleted file mode 100644
index c51bccce3..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.6.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "A shared storage lock manager"
-DESCRIPTION = "sanlock is a lock manager built on shared storage. Hosts with access \
-to the storage can perform locking. An application running on the \
-hosts is given a small amount of space on the shared block device or \
-file, and uses sanlock for its own application-specific synchronization. \
-Internally, the sanlock daemon manages locks using two disk-based \
-lease algorithms: delta leases and paxos leases."
-HOMEPAGE = "https://pagure.io/sanlock"
-SECTION = "utils"
-
-LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
-LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22"
-
-SRC_URI = "git://pagure.io/sanlock.git;protocol=http \
- file://0001-fix-compile-failure-with-libc-musl.patch \
- "
-SRCREV = "90b2ffa77edd46bea007b7bb39bfd4d2db2ff7af"
-S = "${WORKDIR}/git"
-
-DEPENDS = "libaio util-linux"
-
-inherit distutils
-
-do_configure[noexec] = "1"
-
-do_compile_prepend () {
- oe_runmake -C wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}"
- oe_runmake -C src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}"
- cd ${S}/python
-}
-
-do_install_prepend () {
- oe_runmake -C wdmd DESTDIR=${D} LIBDIR=${libdir} install
- oe_runmake -C src DESTDIR=${D} LIBDIR=${libdir} install
- cd ${S}/python
-}
diff --git a/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb
new file mode 100644
index 000000000..9f7ce9c57
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/sanlock/sanlock_3.8.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "A shared storage lock manager"
+DESCRIPTION = "sanlock is a lock manager built on shared storage. Hosts with access \
+to the storage can perform locking. An application running on the \
+hosts is given a small amount of space on the shared block device or \
+file, and uses sanlock for its own application-specific synchronization. \
+Internally, the sanlock daemon manages locks using two disk-based \
+lease algorithms: delta leases and paxos leases."
+HOMEPAGE = "https://pagure.io/sanlock"
+SECTION = "utils"
+
+LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22"
+
+SRC_URI = "git://pagure.io/sanlock.git;protocol=http"
+SRCREV = "7afe0e66f5c7f24894896fad20ffa6f39733d80f"
+S = "${WORKDIR}/git"
+
+DEPENDS = "libaio util-linux"
+
+inherit distutils
+
+do_configure[noexec] = "1"
+
+do_compile_prepend () {
+ oe_runmake -C wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}"
+ oe_runmake -C src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}"
+ cd ${S}/python
+}
+
+do_install_prepend () {
+ oe_runmake -C wdmd DESTDIR=${D} LIBDIR=${libdir} install
+ oe_runmake -C src DESTDIR=${D} LIBDIR=${libdir} install
+ cd ${S}/python
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
index 77d3cfeef..b922bb1f1 100644
--- a/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
@@ -43,5 +43,5 @@ FILES_${PN}-diskmon = "${sbindir}/sgdiskmon ${sysconfdir}/init.d/sgdisk"
FILES_${PN}-raidmon = "${sbindir}/sgraidmon ${sysconfdir}/init.d/sgraid"
RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN}-diskmon += "${PN}"
-RDEPENDS_${PN}-raidmon += "${PN}"
+RDEPENDS_${PN}-diskmon += "${PN} bash"
+RDEPENDS_${PN}-raidmon += "${PN} bash"
diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
index 6ce3cab11..e40e1cd26 100644
--- a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
@@ -1,6 +1,6 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=72d977d697c3c05830fdff00a7448931"
-SRCREV = "6003f9997587e6a563cebf1f246bcd0eb6deff3d"
+SRCREV = "b31bce98d65f894aad6427bcf6f3f7822e261a59"
PV = "1.0+git${SRCPV}"
SRC_URI = "git://github.com/hartkopp/can-isotp.git;protocol=https"
@@ -10,3 +10,5 @@ S = "${WORKDIR}/git"
inherit module
EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
+
+PNBLACKLIST[can-isotp] = "Kernel module Needs forward porting to kernel 5.2+"
diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils/0001-fix-include-to-find-SIOCGSTAMP-with-latest-kernel.patch b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils/0001-fix-include-to-find-SIOCGSTAMP-with-latest-kernel.patch
new file mode 100644
index 000000000..cbf3aee10
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils/0001-fix-include-to-find-SIOCGSTAMP-with-latest-kernel.patch
@@ -0,0 +1,106 @@
+From 20981c8a328747f823b7eef68d0c2812b3eaed30 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sun, 14 Jul 2019 21:50:43 +0200
+Subject: [PATCH] fix include to find SIOCGSTAMP with latest kernel
+
+In linux kernel commit 0768e17073dc527ccd18ed5f96ce85f9985e9115
+the asm-generic/sockios.h header no longer defines SIOCGSTAMP.
+Instead it provides only SIOCGSTAMP_OLD.
+
+The linux/sockios.h header now defines SIOCGSTAMP using either
+SIOCGSTAMP_OLD or SIOCGSTAMP_NEW as appropriate. This linux only
+header file is not pulled so we get a build failure.
+
+canlogserver.c: In function 'main':
+canlogserver.c:404:21: error: 'SIOCGSTAMP' undeclared (first use in this function); did you mean 'SIOCGRARP'?
+ if (ioctl(s[i], SIOCGSTAMP, &tv) < 0)
+ ^~~~~~~~~~
+ SIOCGRARP
+canlogserver.c:404:21: note: each undeclared identifier is reported only once for each function it appears in
+
+Fixes:
+ - http://autobuild.buildroot.org/results/363de7d9bf433be8bc47ba4ee52ae0bb80fa9021
+
+Upstream-Status: Backport [https://github.com/linux-can/can-utils/commit/e9590b1ca75d360eaf3211bebd86058214d48064]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ canlogserver.c | 1 +
+ cansniffer.c | 1 +
+ isotpdump.c | 1 +
+ isotpperf.c | 1 +
+ isotpsniffer.c | 1 +
+ slcanpty.c | 1 +
+ 6 files changed, 6 insertions(+)
+
+diff --git a/canlogserver.c b/canlogserver.c
+index e3350b7..f53165c 100644
+--- a/canlogserver.c
++++ b/canlogserver.c
+@@ -61,6 +61,7 @@
+
+ #include <linux/can.h>
+ #include <linux/can/raw.h>
++#include <linux/sockios.h>
+ #include <signal.h>
+ #include <errno.h>
+
+diff --git a/cansniffer.c b/cansniffer.c
+index 7b0a3fa..bf7d72e 100644
+--- a/cansniffer.c
++++ b/cansniffer.c
+@@ -61,6 +61,7 @@
+
+ #include <linux/can.h>
+ #include <linux/can/bcm.h>
++#include <linux/sockios.h>
+
+ #include "terminal.h"
+
+diff --git a/isotpdump.c b/isotpdump.c
+index b2b650a..36d8af3 100644
+--- a/isotpdump.c
++++ b/isotpdump.c
+@@ -55,6 +55,7 @@
+
+ #include <linux/can.h>
+ #include <linux/can/raw.h>
++#include <linux/sockios.h>
+ #include "terminal.h"
+
+ #define NO_CAN_ID 0xFFFFFFFFU
+diff --git a/isotpperf.c b/isotpperf.c
+index db3a2b7..5852a57 100644
+--- a/isotpperf.c
++++ b/isotpperf.c
+@@ -56,6 +56,7 @@
+
+ #include <linux/can.h>
+ #include <linux/can/raw.h>
++#include <linux/sockios.h>
+
+ #define NO_CAN_ID 0xFFFFFFFFU
+ #define PERCENTRES 2 /* resolution in percent for bargraph */
+diff --git a/isotpsniffer.c b/isotpsniffer.c
+index f42e18b..d7a4c66 100644
+--- a/isotpsniffer.c
++++ b/isotpsniffer.c
+@@ -55,6 +55,7 @@
+
+ #include <linux/can.h>
+ #include <linux/can/isotp.h>
++#include <linux/sockios.h>
+ #include "terminal.h"
+
+ #define NO_CAN_ID 0xFFFFFFFFU
+diff --git a/slcanpty.c b/slcanpty.c
+index 431ca68..7dfaf5c 100644
+--- a/slcanpty.c
++++ b/slcanpty.c
+@@ -40,6 +40,7 @@
+
+ #include <linux/can.h>
+ #include <linux/can/raw.h>
++#include <linux/sockios.h>
+
+ /* maximum rx buffer len: extended CAN frame with timestamp */
+ #define SLC_MTU (sizeof("T1111222281122334455667788EA5F\r")+1)
diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
index a2d62c366..db5055fed 100644
--- a/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/can-utils_git.bb
@@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=43;md5=390a2c9a3c5e3595a0
DEPENDS = "libsocketcan"
-SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git;branch=master"
+SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git;branch=master \
+ file://0001-fix-include-to-find-SIOCGSTAMP-with-latest-kernel.patch \
+ "
SRCREV = "4c8fb05cb4d6ddcd67299008db54af423f86fd05"
PV = "0.0+gitr${SRCPV}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb
deleted file mode 100644
index 60ca58016..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.10.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Control basic functions in socketcan from userspace"
-HOMEPAGE = "http://www.pengutronix.de"
-SECTION = "libs/network"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://src/libsocketcan.c;beginline=3;endline=17;md5=97e38adced4385d8fba1ae2437cedee1"
-
-SRCREV = "51f1610160a1707f026f8c2d714a6f7aa3ca232b"
-
-SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb b/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb
new file mode 100644
index 000000000..0debe47e0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.11.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Control basic functions in socketcan from userspace"
+HOMEPAGE = "http://www.pengutronix.de"
+SECTION = "libs/network"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://src/libsocketcan.c;beginline=3;endline=17;md5=97e38adced4385d8fba1ae2437cedee1"
+
+SRCREV = "0ff01ae7e4d271a7b81241e7a7026bfcea0add3f"
+
+SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch
deleted file mode 100644
index 976e0380e..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/configure.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 81c1ba940415595584a837ab1078c64855072f0c Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Mon, 21 Nov 2011 12:00:54 +0100
-Subject: [PATCH] t1lib: add 5.1.2
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
----
- configure.in | 95 ++++++++++++++++++++++++------------------------------------
- 1 file changed, 38 insertions(+), 57 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index eade4c0..e649ea9 100644
---- a/configure.in
-+++ b/configure.in
-@@ -74,9 +74,9 @@ T1LIB_PATCHLEVEL=builtin(eval, MACRO_T1LIB_LT_REVISION)
- T1LIB_VERSIONSTRING=\"MACRO_T1LIB_IDENTIFIER\"
-
-
--dnl We use this file by Andreas Zeller to check for libXaw
--builtin(include, ac-tools/ice_find_athena.m4)
--builtin(include, ac-tools/aclocal.m4)
-+#dnl We use this file by Andreas Zeller to check for libXaw
-+#builtin(include, ac-tools/ice_find_athena.m4)
-+#builtin(include, ac-tools/aclocal.m4)
-
- dnl We want these before the checks, so the checks can modify their values.
- test -z "$LDLIBS" && LDLIBS=-lm AC_SUBST(LDLIBS)
-@@ -162,6 +162,7 @@ fi
-
- dnl **** Check for underscore on external symbols ****
-
-+AH_TEMPLATE([NEED_UNDERSCORE_PREFIX], [Define if external symbols need an underscore prefix])
- AC_CACHE_CHECK("whether external symbols need an underscore prefix",
- ac_cv_c_extern_prefix,
- [saved_libs=$LIBS
-@@ -179,68 +180,48 @@ then
- AC_DEFINE(NEED_UNDERSCORE_PREFIX)
- fi
-
--dnl **** Check which ANSI integer type is 16 bit
--
--AC_CACHE_CHECK( "which ANSI integer type is 16 bit", ac_16bit_type,
-- AC_TRY_RUN([
--int main(void) {
-- if (sizeof(short)==2)
-- return(0);
-- else if (sizeof(int)==2)
-- return(1);
-- else
-- return(2);
--}], ac_16bit_type="short", ac_16bit_type="int", ac_16bit_type=))
--if test "$ac_16bit_type" = "short"
--then
-- T1_AA_TYPE16="-DT1_AA_TYPE16=short"
-- T1_INT16="short"
--else
-- T1_AA_TYPE16="-DT1_AA_TYPE16=int"
-- T1_INT16="int"
-+dnl **** Check which ANSI integer type is 16 bit
-+T1_AA_TYPE16=""
-+for type in short int; do
-+ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x2"; then
-+ T1_AA_TYPE16="-DT1_AA_TYPE16=$type"
-+ T1_INT16="$type"
-+ break
-+ fi
-+done
-+
-+if test x"$T1_AA_TYPE16" = "x"; then
-+ AC_MSG_ERROR("Unable to determine which integer type is 16 bit.")
- fi
-
--
- dnl **** Check which ANSI integer type is 32 bit
--
--AC_CACHE_CHECK( "which ANSI integer type is 32 bit", ac_32bit_type,
-- AC_TRY_RUN([
--int main(void) {
-- if (sizeof(int)==4)
-- return(0);
-- else if (sizeof(long)==4)
-- return(1);
-- else
-- return(2);
--}], ac_32bit_type="int", ac_32bit_type="long", ac_32bit_type=))
--if test "$ac_32bit_type" = "int"
--then
-- T1_AA_TYPE32="-DT1_AA_TYPE32=int"
-- T1_INT32="int"
--else
-- T1_AA_TYPE32="-DT1_AA_TYPE32=long"
-- T1_INT32="long"
-+T1_AA_TYPE32=""
-+for type in int long; do
-+ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x4"; then
-+ T1_AA_TYPE32="-DT1_AA_TYPE32=$type"
-+ T1_INT32="$type"
-+ break
-+ fi
-+done
-+
-+if test x"$T1_AA_TYPE32" = "x"; then
-+ AC_MSG_ERROR("Unable to determine which integer type is 32 bit.")
- fi
-
--
- dnl **** Check which ANSI integer type is 64 bit
--
--AC_CACHE_CHECK( "which ANSI integer type is 64 bit", ac_64bit_type,
-- AC_TRY_RUN([
--int main(void) {
-- if (sizeof(long)==8)
-- return(0);
-- else
-- return(1);
--}], ac_64bit_type="long", ac_64bit_type="<none>"))
--if test "$ac_64bit_type" = "long"
--then
-- T1_AA_TYPE64="-DT1_AA_TYPE64=long"
--else
-- T1_AA_TYPE64=
-+T1_AA_TYPE64=""
-+for type in long long_long; do
-+ if test x"`eval echo \\$ac_cv_sizeof_$type`" = "x8"; then
-+ AC_MSG_WARN("$type is 64 bit")
-+ T1_AA_TYPE64="-DT1_AA_TYPE64=\"`echo $type|tr '_' ' '`\""
-+ break
-+ fi
-+done
-+
-+if test x"$T1_AA_TYPE64" = "x"; then
-+ AC_MSG_ERROR("Unable to determine which integer type is 64 bit.")
- fi
-
--
- CFLAGS="${CFLAGS} -DT1LIB_IDENT=\"\\\"${T1LIB_IDENTIFIER}\\\"\" -DGLOBAL_CONFIG_DIR=\"\\\"${T1LIB_DATA_DIR}\\\"\""
-
- dnl **** Check for functions and header files ****
diff --git a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch
deleted file mode 100644
index bc2476bfc..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/format_security.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From cea83003de3ffebde92becd1e599fe3b28f0a7c4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 6 Mar 2017 23:13:36 -0800
-Subject: [PATCH] t1lib: Fix printf format string errors
-
-Fix printf formats to use format qualifiers
-fixes
-
-error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
----
- lib/t1lib/t1subset.c | 2 +-
- lib/type1/objects.c | 2 +-
- lib/type1/objects.h | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/lib/t1lib/t1subset.c b/lib/t1lib/t1subset.c
-index da427b2..e76974f 100644
---- a/lib/t1lib/t1subset.c
-+++ b/lib/t1lib/t1subset.c
-@@ -759,7 +759,7 @@ char *T1_SubsetFont( int FontID,
- tr_len);
- T1_PrintLog( "T1_SubsetFont()", err_warn_msg_buf,
- T1LOG_DEBUG);
-- l+=sprintf( &(trailerbuf[l]), linebuf); /* contains the PostScript trailer */
-+ l+=sprintf( &(trailerbuf[l]), "%s", linebuf); /* contains the PostScript trailer */
- }
-
- /* compute size of output file */
-diff --git a/lib/type1/objects.c b/lib/type1/objects.c
-index c413a0f..f828e6a 100644
---- a/lib/type1/objects.c
-+++ b/lib/type1/objects.c
-@@ -957,7 +957,7 @@ struct xobject *TypeErr(name, obj, expect, ret) /* non-ANSI avoids overly strict
-
- sprintf(typemsg, "Wrong object type in %s; expected %s, found %s.\n",
- name, TypeFmt(expect), TypeFmt(obj->type));
-- IfTrace0(TRUE,typemsg);
-+ IfTrace1(TRUE, "%s", typemsg);
-
- ObjectPostMortem(obj);
-
-diff --git a/lib/type1/objects.h b/lib/type1/objects.h
-index 13cbae7..3a1d337 100644
---- a/lib/type1/objects.h
-+++ b/lib/type1/objects.h
-@@ -214,7 +214,7 @@ struct xobject {
- /*SHARED*/
- /* NDW: personally, I want to see status and error messages! */
- #define IfTrace0(condition,model) \
-- {if (condition) printf(model);}
-+ {if (condition) fputs(model,stdout);}
- #define IfTrace1(condition,model,arg0) \
- {if (condition) printf(model,arg0);}
- #define IfTrace2(condition,model,arg0,arg1) \
diff --git a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch
deleted file mode 100644
index da54f87ab..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib-5.1.2/libtool.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From bab41f5e1fc1fc809da1371e6a0222e0eb21e5f0 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Mon, 21 Nov 2011 12:00:54 +0100
-Subject: [PATCH] t1lib: add 5.1.2
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
----
- Makefile.in | 5 +++--
- examples/Makefile.in | 5 +++--
- lib/Makefile.in | 6 ++++--
- lib/t1lib/Makefile.in | 6 ++++--
- lib/type1/Makefile.in | 6 ++++--
- type1afm/Makefile.in | 6 ++++--
- xglyph/Makefile.in | 6 ++++--
- 7 files changed, 26 insertions(+), 14 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 29c3468..396c020 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -18,7 +18,8 @@
- # Last modified: 2005-05-01
- #
-
--SHELL = /bin/sh
-+SHELL = @SHELL@
-+LIBTOOL = @LIBTOOL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-@@ -149,7 +150,7 @@ distclean: clean
- $(RM) examples/Makefile
- $(RM) xglyph/Makefile
- $(RM) doc/Makefile
-- $(RM) libtool
-+ $(RM) $(LIBTOOL)
-
-
- # The following two targets are for building and cleaning the python-
-diff --git a/examples/Makefile.in b/examples/Makefile.in
-index b301db5..7a6a514 100644
---- a/examples/Makefile.in
-+++ b/examples/Makefile.in
-@@ -14,9 +14,10 @@
- # Last modified: 2001-04-01
- #
-
-+top_builddir = @top_builddir@
-
--LIBTOOL = ../libtool
--SHELL = /bin/sh
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-diff --git a/lib/Makefile.in b/lib/Makefile.in
-index 89e5e86..6e0f960 100644
---- a/lib/Makefile.in
-+++ b/lib/Makefile.in
-@@ -15,8 +15,10 @@
- #
- # Contributions by H.Kakugawa to use libtool!
-
--LIBTOOL = ../libtool
--SHELL = /bin/sh
-+top_builddir = @top_builddir@
-+
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-diff --git a/lib/t1lib/Makefile.in b/lib/t1lib/Makefile.in
-index a6c2478..32434b3 100644
---- a/lib/t1lib/Makefile.in
-+++ b/lib/t1lib/Makefile.in
-@@ -14,8 +14,10 @@
- #
- # Modified by H.Kakugawa to use libtool
-
--LIBTOOL = ../../libtool
--SHELL = /bin/sh
-+top_builddir = @top_builddir@
-+
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-diff --git a/lib/type1/Makefile.in b/lib/type1/Makefile.in
-index 241f124..42efa94 100644
---- a/lib/type1/Makefile.in
-+++ b/lib/type1/Makefile.in
-@@ -14,8 +14,10 @@
- #
- # Modified by H.Kakugawa to use libtool
-
--LIBTOOL = ../../libtool
--SHELL = /bin/sh
-+top_builddir = @top_builddir@
-+
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-diff --git a/type1afm/Makefile.in b/type1afm/Makefile.in
-index 61611e1..9b51406 100644
---- a/type1afm/Makefile.in
-+++ b/type1afm/Makefile.in
-@@ -15,8 +15,10 @@
- #
- # Modified by H.Kakugawa to use libtool
-
--LIBTOOL = ../libtool
--SHELL = /bin/sh
-+top_builddir = @top_builddir@
-+
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
-diff --git a/xglyph/Makefile.in b/xglyph/Makefile.in
-index 8da9b63..741334c 100644
---- a/xglyph/Makefile.in
-+++ b/xglyph/Makefile.in
-@@ -15,8 +15,10 @@
- #
- # Modified by H.Kakugawa to use libtool
-
--LIBTOOL = ../libtool
--SHELL = /bin/sh
-+top_builddir = @top_builddir@
-+
-+LIBTOOL = @LIBTOOL@
-+SHELL = @SHELL@
- CC = @CC@
- CPP = @CPP@
- CFLAGS = @CFLAGS@
diff --git a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb b/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
deleted file mode 100644
index 826dbda85..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/t1lib/t1lib_5.1.2.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "A Type1 Font Rastering Library"
-SECTION = "libs"
-DEPENDS = "virtual/libx11 libxaw"
-
-LICENSE = "LGPLv2 & GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b \
- file://LGPL;md5=6e29c688d912da12b66b73e32b03d812 \
-"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/t/t1lib/t1lib_${PV}.orig.tar.gz \
- file://configure.patch \
- file://libtool.patch \
- file://format_security.patch"
-SRC_URI[md5sum] = "a5629b56b93134377718009df1435f3c"
-SRC_URI[sha256sum] = "821328b5054f7890a0d0cd2f52825270705df3641dbd476d58d17e56ed957b59"
-
-inherit autotools-brokensep distro_features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-# Fix GNU_HASH problem
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-EXTRA_OECONF = "--with-x --without-athena"
-EXTRA_OEMAKE = "without_doc"
-
-FILES_${PN} += " ${datadir}/t1lib/t1lib.config"
-FILES_${PN}-doc = "${datadir}/t1lib/doc/t1lib_doc.pdf"
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch
new file mode 100644
index 000000000..39f899cf1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils/0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch
@@ -0,0 +1,66 @@
+From 4e4c8c7a1cca2125e2bf2a67cbab0bdbd78fdb86 Mon Sep 17 00:00:00 2001
+From: He Zhe <zhe.he@windriver.com>
+Date: Tue, 30 Jul 2019 13:24:22 +0800
+Subject: [PATCH] ptts: Set recv buffer size too max to receive as many
+ packets as possible
+
+Flooding multicast may make the rcv buffer overrun and is considered
+premature messages later and thus cause the following error.
+
+"Ignoring premature msg 16, currently handling 12"
+
+This patch sets SO_RCVBUF the of socket to max int value to receive as many
+packets as possible, and give a hint to user when possible overrun occurs. Note
+that the value of SO_RCVBUF will be limited up to min(INT_MAX/2,
+sysctl_rmem_max) in kernel.
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+
+Upstream-Status: Backport
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ ptts/tipc_ts_server.c | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/ptts/tipc_ts_server.c b/ptts/tipc_ts_server.c
+index a286daa..3a2f96f 100644
+--- a/ptts/tipc_ts_server.c
++++ b/ptts/tipc_ts_server.c
+@@ -641,8 +641,9 @@ void server_mcast
+ if (rc < 0)
+ err("multicast message not received");
+ if (msgno != *(int*) buf) {
+- dbg1("Ignoring premature msg %u, currently handling %u\n",
+- *(int*)buf, msgno);
++ dbg1("Ignoring premature msg %u, currently handling %u\n"
++ "You can enlarge /proc/sys/net/core/rmem_max and try again\n",
++ *(int*)buf, msgno);
+ continue;
+ }
+ rc = recvfrom(sd[i], buf, expected_szs[numSubTest],
+@@ -687,8 +688,21 @@ void server_test_multicast(void)
+ FD_ZERO(&readfds);
+
+ for (i = 0; i < TIPC_MCAST_SOCKETS; i++) {
++ int optval = (int)(~0U >> 1);
++ socklen_t optlen = sizeof(optval);
++ int rc = 0;
++
+ sd[i] = createSocketTIPC (SOCK_RDM);
+ FD_SET(sd[i], &readfds);
++
++ /*
++ * Flooding multicast may make the rcv buffer overrun and considered premature msg later.
++ * Set SO_RCVBUF to max int value to receive as many packets as possible.
++ * Note that it will be limited up to min(INT_MAX/2, sysctl_rmem_max) in kernel.
++ */
++ rc = setsockopt(sd[i], SOL_SOCKET, SO_RCVBUF, (const char*)&optval, optlen);
++ if(rc != 0)
++ printf("Failed to set SO_RCVBUF of %d: %s\n", sd[i], strerror(errno));
+ }
+
+ server_bindMulticast( 0, 99, sd[0]);
+--
+2.17.1
+
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 054e0acc8..637770af2 100644
--- a/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
@@ -6,6 +6,7 @@ SRC_URI = "git://git.code.sf.net/p/tipc/tipcutils \
file://0001-include-sys-select.h-for-FD_-definitions.patch \
file://0002-replace-non-standard-uint-with-unsigned-int.patch \
file://0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch \
+ file://0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch \
"
SRCREV = "7ab2211b87414ba240b0b2e4af219c1057c9cf9a"
PV = "2.2.0+git${SRCPV}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Replace-strncpy-with-memcpy.patch b/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Replace-strncpy-with-memcpy.patch
deleted file mode 100644
index 4b17087ef..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Replace-strncpy-with-memcpy.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From d314f26e024aaf15bf4ab22ceb98501148d0eac8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 May 2018 19:53:33 -0700
-Subject: [PATCH] Replace strncpy with memcpy
-
-gcc8 detects that strncpy is overwiritng the null terminating character
-the source strings are already initialized to 0 so memcpy would do the same
-job
-
-Fixes
-rn2903.c:153:5: error: 'strncpy' output may be truncated copying 16 bytes from a string of length 511 [-Werror=stringop-truncation]
- strncpy(dev->hardware_eui, dev->resp_data, RN2903_MAX_HEX_EUI64);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/ecezo/ecezo.c | 2 +-
- src/rn2903/rn2903.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/ecezo/ecezo.c b/src/ecezo/ecezo.c
-index 6a195fc1..56c6dab3 100644
---- a/src/ecezo/ecezo.c
-+++ b/src/ecezo/ecezo.c
-@@ -488,7 +488,7 @@ int ecezo_send_command(const ecezo_context dev, char *cmd, char *buffer,
- // our write buffer
- char writeBuffer[ECEZO_MAX_BUFFER_LEN];
-
-- strncpy(writeBuffer, cmd, ECEZO_MAX_BUFFER_LEN);
-+ memcpy(writeBuffer, cmd, ECEZO_MAX_BUFFER_LEN-1);
- writeBuffer[ECEZO_MAX_BUFFER_LEN - 1] = 0;
-
- int writelen = strlen(writeBuffer);
-diff --git a/src/rn2903/rn2903.c b/src/rn2903/rn2903.c
-index f30a33ae..01a011da 100644
---- a/src/rn2903/rn2903.c
-+++ b/src/rn2903/rn2903.c
-@@ -150,7 +150,7 @@ static rn2903_context _rn2903_postinit(rn2903_context dev,
- rn2903_close(dev);
- return NULL;
- }
-- strncpy(dev->hardware_eui, dev->resp_data, RN2903_MAX_HEX_EUI64);
-+ memcpy(dev->hardware_eui, dev->resp_data, RN2903_MAX_HEX_EUI64);
-
- return dev;
- }
---
-2.17.0
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Use-stdint-types.patch b/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Use-stdint-types.patch
new file mode 100644
index 000000000..40856fcf0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-Use-stdint-types.patch
@@ -0,0 +1,139 @@
+From 5a1e731d71d577f56a2c013e4a75a8e90188e63b Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Tue, 9 Jul 2019 05:21:59 -0700
+Subject: [PATCH] Use stdint types
+
+Fixes compilation with musl.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+---
+ src/bma250e/bma250e.cxx | 16 ++++++++--------
+ src/bmg160/bmg160.cxx | 10 +++++-----
+ src/bmi160/bosch_bmi160.h | 2 +-
+ src/bmm150/bmm150.cxx | 8 ++++----
+ 4 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/src/bma250e/bma250e.cxx b/src/bma250e/bma250e.cxx
+index a8792782..1b3ecdd8 100644
+--- a/src/bma250e/bma250e.cxx
++++ b/src/bma250e/bma250e.cxx
+@@ -195,35 +195,35 @@ BMA250E::BMA250E(std::string initStr) : mraaIo(initStr)
+ fifoConfig(mode, axes);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable0(bits);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable1:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable1(bits);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable2:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable2(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap0(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap1:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap1(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap2:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap2(bits);
+ }
+ if(tok.substr(0, 16) == "setInterruptSrc:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+ setInterruptSrc(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptOutputControl:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(26), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(26), nullptr, 0);
+ setInterruptOutputControl(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptLatchBehavior:") {
+diff --git a/src/bmg160/bmg160.cxx b/src/bmg160/bmg160.cxx
+index 1a0939f8..2438c399 100644
+--- a/src/bmg160/bmg160.cxx
++++ b/src/bmg160/bmg160.cxx
+@@ -173,23 +173,23 @@ BMG160::BMG160(std::string initStr) : mraaIo(initStr)
+ fifoConfig(mode, axes);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable0(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap0(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap1:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap1(bits);
+ }
+ if(tok.substr(0, 16) == "setInterruptSrc:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+ setInterruptSrc(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptOutputControl:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(26), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(26), nullptr, 0);
+ setInterruptOutputControl(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptLatchBehavior:") {
+diff --git a/src/bmi160/bosch_bmi160.h b/src/bmi160/bosch_bmi160.h
+index 87ca2249..cd9efe6f 100644
+--- a/src/bmi160/bosch_bmi160.h
++++ b/src/bmi160/bosch_bmi160.h
+@@ -81,7 +81,7 @@ typedef int16_t s16;/**< used for signed 16bit */
+ typedef int32_t s32;/**< used for signed 32bit */
+ typedef int64_t s64;/**< used for signed 64bit */
+
+-typedef u_int8_t u8;/**< used for unsigned 8bit */
++typedef uint8_t u8;/**< used for unsigned 8bit */
+ typedef u_int16_t u16;/**< used for unsigned 16bit */
+ typedef u_int32_t u32;/**< used for unsigned 32bit */
+ typedef u_int64_t u64;/**< used for unsigned 64bit */
+diff --git a/src/bmm150/bmm150.cxx b/src/bmm150/bmm150.cxx
+index 234ebf92..02436788 100644
+--- a/src/bmm150/bmm150.cxx
++++ b/src/bmm150/bmm150.cxx
+@@ -170,19 +170,19 @@ BMM150::BMM150(std::string initStr) : mraaIo(initStr)
+ setOpmode(opmode);
+ }
+ if(tok.substr(0, 19) == "setInterruptEnable:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(19), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(19), nullptr, 0);
+ setInterruptEnable(bits);
+ }
+ if(tok.substr(0, 19) == "setInterruptConfig:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(19), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(19), nullptr, 0);
+ setInterruptConfig(bits);
+ }
+ if(tok.substr(0, 17) == "setRepetitionsXY:") {
+- u_int8_t reps = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t reps = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setRepetitionsXY(reps);
+ }
+ if(tok.substr(0, 16) == "setRepetitionsZ:") {
+- u_int8_t reps = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++ uint8_t reps = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+ setRepetitionsZ(reps);
+ }
+ if(tok.substr(0, 14) == "setPresetMode:") {
diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-include-sys-types.h-for-uint-definition.patch b/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-include-sys-types.h-for-uint-definition.patch
deleted file mode 100644
index a0a47411d..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/upm/upm/0001-include-sys-types.h-for-uint-definition.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 48a580bd402cf6a3ee9e42013653219bfeb3caf6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 21 Jun 2018 18:39:16 -0700
-Subject: [PATCH] include sys/types.h for uint definition
-
-uint is defined in sys/types.h, therefore this
-header needs to be included, it gets exposed with
-musl where this header is not getting included indirectly
-as it is happening when building on glibc
-
-Fixes build errors on musl e.g.
-upm/src/kx122/kx122.hpp:456:31: error: 'uint' has not been declared
-| void setBufferThreshold(uint samples);
-| ^~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [https://github.com/intel-iot-devkit/upm/pull/656]
- src/kx122/kx122.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/kx122/kx122.h b/src/kx122/kx122.h
-index 1622ed50..56e5215e 100644
---- a/src/kx122/kx122.h
-+++ b/src/kx122/kx122.h
-@@ -31,6 +31,7 @@ extern "C"{
- #include <assert.h>
- #include <unistd.h>
- #include <math.h>
-+#include <sys/types.h>
-
- #include <mraa/i2c.h>
- #include <mraa/spi.h>
diff --git a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
index 8854a33bc..a6b379ec3 100644
--- a/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/upm/upm_git.bb
@@ -7,13 +7,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=66493d54e65bfc12c7983ff2e884f37f"
DEPENDS = "libjpeg-turbo mraa"
-SRCREV = "dc45cd78595c7c24c8a8574c63bb48b5bb99c5aa"
-PV = "1.6.0-git${SRCPV}"
+SRCREV = "5cf20df96c6b35c19d5b871ba4e319e96b4df72d"
+PV = "2.0.0+git${SRCPV}"
SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http \
- file://0001-Replace-strncpy-with-memcpy.patch \
- file://0001-include-sys-types.h-for-uint-definition.patch \
file://0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch \
+ file://0001-Use-stdint-types.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
index 398ca5c21..3103748e4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
@@ -31,8 +31,7 @@ PACKAGECONFIG ??= "python3"
PACKAGECONFIG[python] = "--with-python,--without-python,python,python"
PACKAGECONFIG[python3] = "--with-python3,--without-python3,python3,python3"
-RDEPENDS_python3-${PN} += "${PN}"
-
-PACKAGES += "python3-${PN}"
-FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python3-${BPN} += "${PN}"
+PACKAGES += "python3-${BPN}"
+FILES_python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_0.24.bb b/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_0.24.bb
new file mode 100644
index 000000000..831d514a4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_0.24.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A UNIX tool for secure deletion"
+DESCRIPTION = "Wipe is a little command for securely erasing files from \
+magnetic media. It compiles under various unix platforms, \
+including Linux 2. * , (Open, Net, Free)BSD, aix 4.1, SunOS \
+5.5.1, Solaris 2.6. wipe is released under the GPL. Pre-compiled \
+packages are available on most Linux distributions. \
+Under Debian, the package name is wipe"
+HOMEPAGE = "http://lambda-diode.com/software/wipe/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "git://github.com/berke/wipe.git;branch=master \
+ file://support-cross-compile-for-linux.patch \
+ file://makefile-add-ldflags.patch \
+"
+SRCREV = "796b62293e007546e051619bd03f5ba338ef28e5"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "linux"
+
+do_install() {
+ make install DESTDIR=${D}
+}
+
+do_configure[noexec] = "1"
diff --git a/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb b/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb
deleted file mode 100644
index 9a8101621..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/wipe/wipe_git.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "A UNIX tool for secure deletion"
-DESCRIPTION = "Wipe is a little command for securely erasing files from \
-magnetic media. It compiles under various unix platforms, \
-including Linux 2. * , (Open, Net, Free)BSD, aix 4.1, SunOS \
-5.5.1, Solaris 2.6. wipe is released under the GPL. Pre-compiled \
-packages are available on most Linux distributions. \
-Under Debian, the package name is wipe"
-HOMEPAGE = "http://lambda-diode.com/software/wipe/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "git://github.com/berke/wipe.git;branch=master \
- file://support-cross-compile-for-linux.patch \
- file://makefile-add-ldflags.patch \
-"
-SRCREV = "d9c100c9cd0b1cbbe4359e4d6c9a035d11e7597c"
-PV = "0.23+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = "linux"
-
-do_install() {
- make install DESTDIR=${D}
-}
-
-do_configure[noexec] = "1"
diff --git a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch
deleted file mode 100644
index 71a989103..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog/0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b97f62fdf3b78eb5cfcb3a1b12c6fd62f735717b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 15 Jul 2017 09:29:33 -0700
-Subject: [PATCH] event.c: Cast pthread_t to unsigned long instead of unsigned
- int
-
-On 64bit machines it ends up in errors
-
-event.c:85:67: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
- a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid);
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/event.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/event.c b/src/event.c
-index 8f988b5..c632c33 100644
---- a/src/event.c
-+++ b/src/event.c
-@@ -82,7 +82,7 @@ zlog_event_t *zlog_event_new(int time_cache_count)
- a_event->tid = pthread_self();
-
- a_event->tid_str_len = sprintf(a_event->tid_str, "%lu", (unsigned long)a_event->tid);
-- a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%x", (unsigned int)a_event->tid);
-+ a_event->tid_hex_str_len = sprintf(a_event->tid_hex_str, "0x%lu", (unsigned long)a_event->tid);
-
- //zlog_event_profile(a_event, ZC_DEBUG);
- return a_event;
---
-2.13.3
-
diff --git a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb
new file mode 100644
index 000000000..b94664c33
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_1.2.14.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Zlog is a pure C logging library"
+HOMEPAGE = "https://github.com/HardySimpson/zlog"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRCREV = "8fc78c3c65cb705953a2f3f9a813c3ef3c8b2270"
+SRC_URI = "git://github.com/HardySimpson/zlog"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = "CC='${CC}' LD='${LD}' LIBRARY_PATH=${baselib}"
+
+do_install() {
+ oe_runmake install PREFIX=${D}${exec_prefix} INSTALL=install
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb b/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb
deleted file mode 100644
index de7516457..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/zlog/zlog_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Zlog is a pure C logging library"
-HOMEPAGE = "https://github.com/HardySimpson/zlog"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-PV = "1.2.12+git${SRCPV}"
-
-SRCREV = "13904dab2878aa2654d0c20fb8600a3dc5f2dd68"
-SRC_URI = "git://github.com/HardySimpson/zlog \
- file://0001-event.c-Cast-pthread_t-to-unsigned-long-instead-of-u.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig
-
-EXTRA_OEMAKE = "CC='${CC}' LD='${LD}' LIBRARY_PATH=${baselib}"
-
-do_install() {
- oe_runmake install PREFIX=${D}${exec_prefix} INSTALL=install
-}
diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap b/meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap
new file mode 100644
index 000000000..05eae7eed
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/dev-zram0.swap
@@ -0,0 +1,10 @@
+[Unit]
+Description=Enable compressed swap in memory using zram
+Requires=zram-swap.service
+After=zram-swap.service
+
+[Swap]
+What=/dev/zram0
+
+[Install]
+WantedBy=swap.target
diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit
new file mode 100755
index 000000000..46248c401
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-deinit
@@ -0,0 +1,19 @@
+#!/bin/sh
+set -e
+
+device=$1
+if [ "$device" = "" ]; then
+ echo "Usage: zram-swap-deinit <device>"
+ exit 1
+fi
+
+sysblockdev=/sys/block/$(basename $device)
+if [ ! -d $sysblockdev ]; then
+ echo "Block device not found in sysfs"
+ exit 1
+fi
+
+# zramctl -r is not suitable as it also removes the actual device. Recreating
+# it is non-trivial, especially if not /dev/zram0 is used...
+echo 1 > ${sysblockdev}/reset
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init
new file mode 100755
index 000000000..0643dbca2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap-init
@@ -0,0 +1,26 @@
+#!/bin/sh
+set -e
+
+device=$1
+if [ "$device" = "" ]; then
+ echo "Usage: zram-swap-init <device>"
+ exit 1
+fi
+
+# Allocate zram to be size of actual system memory
+# Note: zram is only allocated when used. When swapped pages compress with a
+# a 2:1 ratio zram will require 50% of system memory (while allowing to use
+# 150% memory).
+ZRAM_SIZE_PERCENT=100
+ZRAM_ALGORITHM=lz4
+
+[ -f /etc/default/zram ] && ./etc/default/zram || true
+
+memtotal=$(grep MemTotal /proc/meminfo | awk ' { print $2 } ')
+memzram=$(($memtotal*${ZRAM_SIZE_PERCENT}/100))
+
+# Try loading zram module
+modprobe -q zram || true
+
+zramctl -a ${ZRAM_ALGORITHM} -s ${memzram}KB $device
+mkswap -L "zram-swap" $device
diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service
new file mode 100644
index 000000000..a4dc9514e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram-swap.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Create compressed swap in memory using zram
+DefaultDependencies=no
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+TimeoutStartSec=30sec
+ExecStart=@LIBEXECDIR@/zram-swap-init /dev/zram0
+ExecStop=@LIBEXECDIR@/zram-swap-deinit /dev/zram0
diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service
deleted file mode 100644
index 4a19367d9..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zram.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Enable zram compressed in-memory swap.
-After=multi-user.target
-
-[Service]
-RemainAfterExit=yes
-ExecStart=/usr/bin/zram-load.sh --load
-ExecStop=/usr/bin/zram-load.sh --unload
-Type=oneshot
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop
new file mode 100644
index 000000000..07777978e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram/zramstop
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+for i in $(grep '^/dev/zram' /proc/swaps | awk '{ print $1 }'); do
+ swapoff "$i" && zramctl --reset "$i"
+done
diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb b/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb
deleted file mode 100644
index dfd75e71c..000000000
--- a/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Linux zram compressed in-memory swap"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-inherit update-rc.d systemd
-
-RDEPENDS_${PN} = "util-linux-swaponoff kmod"
-RRECOMMENDS_${PN} = "kernel-module-zram"
-
-PR = "r3"
-
-SRC_URI = " \
- file://init \
- file://zram.service \
-"
-
-do_install () {
- # Sysvinit
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/zram
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/zram.service ${D}${systemd_unitdir}/system
-}
-
-FILES_${PN} = "${sysconfdir}"
-INITSCRIPT_NAME = "zram"
-INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ."
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "zram.service"
diff --git a/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb b/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb
new file mode 100644
index 000000000..98c47af7a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/zram/zram_0.2.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Linux zram compressed in-memory swap"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit update-rc.d systemd
+
+RDEPENDS_${PN} = "kmod \
+ ${@bb.utils.contains('DISTRO_FEATURES','systemd','util-linux','util-linux-swaponoff',d)}"
+RRECOMMENDS_${PN} = "kernel-module-zram"
+
+PR = "r3"
+
+SRC_URI = " \
+ file://init \
+ file://zram-swap-init \
+ file://zram-swap-deinit \
+ file://zram-swap.service \
+ file://dev-zram0.swap \
+"
+
+do_install () {
+ # Install systemd related configuration file
+ 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/zram
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${libexecdir}
+ install -m 0755 ${WORKDIR}/zram-swap-init ${D}${libexecdir}
+ install -m 0755 ${WORKDIR}/zram-swap-deinit ${D}${libexecdir}
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/zram-swap.service ${D}${systemd_unitdir}/system/zram-swap.service
+ sed -i -e "s,@LIBEXECDIR@,${libexecdir},g" ${D}${systemd_unitdir}/system/zram-swap.service
+ install -m 0644 ${WORKDIR}/dev-zram0.swap ${D}${systemd_unitdir}/system/dev-zram0.swap
+ fi
+}
+
+FILES_${PN} = " \
+ ${sysconfdir} \
+ ${systemd_unitdir} \
+ ${libexecdir} \
+"
+INITSCRIPT_NAME = "zram"
+INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ."
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "dev-zram0.swap"
diff --git a/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.3.bb b/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.3.bb
new file mode 100644
index 000000000..e97b4efb2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/zstd/zstd_1.4.3.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Zstandard - Fast real-time compression algorithm"
+DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \
+real-time compression scenarios at zlib-level and better compression ratios. \
+It's backed by a very fast entropy stage, provided by Huff0 and FSE library."
+HOMEPAGE = "http://www.zstd.net/"
+SECTION = "console/utils"
+
+LICENSE = "BSD-3-Clause & GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \
+ file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0"
+
+SRC_URI = "git://github.com/facebook/zstd.git;nobranch=1"
+
+SRCREV = "a3d655d2255481333e09ecca9855f1b37f757c52"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4"
+PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz"
+PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
+
+# See programs/README.md for how to use this
+ZSTD_LEGACY_SUPPORT ??= "4"
+
+do_compile () {
+ oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
+}
+
+do_install () {
+ oe_runmake install 'DESTDIR=${D}'
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb
index 63f4f09ba..e587e2a10 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
DEPENDS = "atk glibmm"
-inherit distro_features_check gnome autotools pkgconfig
+inherit distro_features_check gnomebase autotools pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-standard_3.28.bb b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-standard_3.28.bb
new file mode 100644
index 000000000..53eb32be9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-standard_3.28.bb
@@ -0,0 +1,45 @@
+SUMMARY = "GTK+2 standard themes"
+HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+SECTION = "x11/gnome"
+
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+# Upstream renamed this package to gnome-themes-extra at some point
+BPN = "gnome-themes-extra"
+
+inherit gnomebase gettext gtk-icon-cache upstream-version-is-even distro_features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+
+DEPENDS += "intltool-native gtk+"
+
+SRC_URI[archive.md5sum] = "f9f2c6c521948da427f702372e16f826"
+SRC_URI[archive.sha256sum] = "7c4ba0bff001f06d8983cfc105adaac42df1d1267a2591798a780bac557a5819"
+
+EXTRA_OECONF = "--disable-gtk3-engine"
+
+do_install_append() {
+ # Only building Adwaita, remove highcontrast files
+ rm -rf ${D}${prefix}/share/themes/HighContrast \
+ ${D}${prefix}/share/icons
+
+ # The libtool archive file is unneeded with shared libs on modern Linux
+ rm -rf ${D}${libdir}/gtk-2.0/2.10.0/engines/libadwaita.la
+}
+
+# There could be gnome-theme-highcontrast as well but that requires
+# gtk+3 and includes lots of icons (is also broken with B != S).
+PACKAGES += "gnome-theme-adwaita \
+ gnome-theme-adwaita-dark \
+ "
+
+FILES_gnome-theme-adwaita = "${prefix}/share/themes/Adwaita \
+ ${libdir}/gtk-2.0/2.10.0/engines/libadwaita.so"
+
+FILES_gnome-theme-adwaita-dark = "${prefix}/share/themes/Adwaita-dark"
+RDEPENDS_gnome-theme-adwaita-dark = "gnome-theme-adwaita"
+
+# gnome-themes-standard is empty and doesn't exist
+RDEPENDS_${PN}-dev = ""
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+.inc b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+.inc
index d6d14a79d..d6d14a79d 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+.inc
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+.inc
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch
index 83be39c3b..83be39c3b 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/doc-fixes.patch
index 74e479fd1..74e479fd1 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+/doc-fixes.patch
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/doc-fixes.patch
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch
index 9eb7f6bf5..9eb7f6bf5 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+/strict-prototypes.patch b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/strict-prototypes.patch
index 96e1f5fea..96e1f5fea 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+/strict-prototypes.patch
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/strict-prototypes.patch
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/toggle-font.diff
index 340d12008..340d12008 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+/toggle-font.diff
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/toggle-font.diff
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+/xsettings.patch b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/xsettings.patch
index d0a970ad4..d0a970ad4 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+/xsettings.patch
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+/xsettings.patch
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.32.bb
index 682d31e49..682d31e49 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+_2.24.32.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gtk+/gtk+_2.24.32.bb
diff --git a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc b/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
index 206c430da..d860d44e2 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
+++ b/meta-openembedded/meta-oe/recipes-gnome/vte9/vte9.inc
@@ -8,7 +8,7 @@ RDEPENDS_libvte = "vte-termcap"
GNOMEBN = "vte"
S = "${WORKDIR}/vte-${PV}"
-inherit gnome gtk-doc distro_features_check upstream-version-is-even gobject-introspection
+inherit gnomebase gtk-doc distro_features_check upstream-version-is-even gobject-introspection
ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
EXTRA_OECONF = "--disable-python"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb b/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb
deleted file mode 100644
index 9d8c90fdb..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library"
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
-
-inherit gnomebase
-
-SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2"
-SRC_URI[md5sum] = "cc53d8474a43aafb7cdaccea56cfde44"
-SRC_URI[sha256sum] = "63f3ed23e72a857a0e6df53d9d968a325024177b01edbe314a0c98b499eb8603"
-
-FILES_${PN} += "${libdir}/babl-*/*.so"
-FILES_${PN}-dev += "${libdir}/babl-*/*.la"
-FILES_${PN}-dbg += "${libdir}/babl-*/.debug/"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.62.bb b/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.62.bb
new file mode 100644
index 000000000..4a7dbcab3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.62.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library"
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
+
+inherit gnomebase
+
+SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2"
+SRC_URI[md5sum] = "28fa9d43549378ceebe2871d7721dd46"
+SRC_URI[sha256sum] = "dc279f174edbcb08821cf37e4ab0bc02e6949369b00b150c759a6c24bfd3f510"
+
+FILES_${PN} += "${libdir}/babl-*/*.so"
+FILES_${PN}-dev += "${libdir}/babl-*/*.la"
+FILES_${PN}-dbg += "${libdir}/babl-*/.debug/"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
new file mode 100644
index 000000000..54ff7b76d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
@@ -0,0 +1,29 @@
+From 798f2816130838f3618212291de6ab0ea814c868 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 29 Sep 2019 20:39:02 -0700
+Subject: [PATCH] include sys/select on non-glibc platforms
+
+musl needs sys/select.h for defining fd_set
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gdraw/gdraw.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gdraw/gdraw.c b/gdraw/gdraw.c
+index 24591b778..217c63140 100644
+--- a/gdraw/gdraw.c
++++ b/gdraw/gdraw.c
+@@ -32,7 +32,7 @@
+ #include "gkeysym.h"
+ #include "ustring.h"
+
+-#if __Mac || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__
++#if __Mac || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__ || !defined(__GLIBC__)
+ # include <sys/select.h>
+ #endif
+
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190413.bb b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190413.bb
deleted file mode 100644
index ee3bc58bc..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190413.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-SUMMARY = "A font editor"
-HOMEPAGE = "http://fontforge.github.io/en-US/"
-LICENSE = "BSD-3-Clause & GPLv3"
-LIC_FILES_CHKSUM = " \
- file://COPYING.gplv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://LICENSE;md5=5f9637af5c51f2e8d06385ef38eb48f1 \
-"
-
-DEPENDS = "glib-2.0 pango giflib tiff libxml2 jpeg python libtool uthash gnulib gettext-native"
-DEPENDS_append_class-target = " libxi"
-
-inherit autotools pkgconfig pythonnative distro_features_check gettext gtk-icon-cache mime
-
-REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
-
-SRC_URI = "git://github.com/${BPN}/${BPN}.git"
-# tag 20190413
-SRCREV = "7f6f1d021fdfea7789972f9534ba3241616d8dfc"
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF_append_class-native = " with_x=no"
-
-do_configure_prepend() {
- # uthash sources are expected in uthash/src
- currdir=`pwd`
- cd ${S}
-
- mkdir -p uthash/src
- cp ${STAGING_INCDIR}/ut*.h uthash/src
-
- # avoid bootstrap cloning gnulib on every configure
- cat >.gitmodules <<EOF
-[submodule "gnulib"]
- path = gnulib
- url = git://git.sv.gnu.org/gnulib
-EOF
- cp -rf ${STAGING_DATADIR}/gnulib ${S}
-
- # --force to avoid errors on reconfigure e.g if recipes changed we depend on
- # | bootstrap: running: libtoolize --quiet
- # | libtoolize: error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
- # | ...
- ./bootstrap --force
-
- cd $currdir
-}
-
-PACKAGES =+ "${PN}-python"
-
-RPROVIDES_${PN}-dbg += "${PN}-python-dbg"
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${datadir}/metainfo \
- ${datadir}/mime \
-"
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${BPN}/python"
-RDEPENDS_${PN}-python = "python"
-
-# for e.g kde's oxygen-fonts
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb
new file mode 100644
index 000000000..25c2ce81f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb
@@ -0,0 +1,46 @@
+SUMMARY = "A font editor"
+HOMEPAGE = "http://fontforge.github.io/en-US/"
+LICENSE = "BSD-3-Clause & GPLv3"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.gplv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE;md5=d042f3d2a8fd7208b704a499168e3c89 \
+"
+
+DEPENDS = "glib-2.0 pango giflib tiff libxml2 jpeg python libtool uthash gettext-native"
+DEPENDS_append_class-target = " libxi"
+
+inherit autotools pkgconfig pythonnative distro_features_check gettext gtk-icon-cache mime
+
+REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
+
+# tag 20190801
+SRCREV = "ac635b818e38ddb8e7e2e1057330a32b4e25476e"
+SRC_URI = "git://github.com/${BPN}/${BPN}.git \
+ file://0001-include-sys-select-on-non-glibc-platforms.patch \
+"
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--without-libuninameslist"
+EXTRA_OECONF_append_class-native = " with_x=no"
+
+#do_configure_prepend() {
+# uthash sources are expected in uthash/src
+# mkdir -p ${S}/uthash/src
+# cp ${STAGING_INCDIR}/ut*.h ${S}/uthash/src
+#}
+
+PACKAGES =+ "${PN}-python"
+
+RPROVIDES_${PN}-dbg += "${PN}-python-dbg"
+
+FILES_${PN} += " \
+ ${datadir}/appdata \
+ ${datadir}/metainfo \
+ ${datadir}/mime \
+"
+
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${BPN}/python"
+RDEPENDS_${PN}-python = "python"
+
+# for e.g kde's oxygen-fonts
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
index 943986e77..1d64910fd 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
@@ -8,6 +8,7 @@ DEPENDS = " \
gdk-pixbuf-native \
intltool-native \
libxslt-native \
+ dbus-glib \
gtk+ \
babl \
gegl \
@@ -24,7 +25,7 @@ DEPENDS = " \
"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}"
-inherit distro_features_check gnome gtk-doc
+inherit distro_features_check gnomebase gtk-icon-cache gtk-doc
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch
new file mode 100644
index 000000000..21bf1bcd5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch
@@ -0,0 +1,33 @@
+From 564901ab78da2b2b1bed92351dc3c102dc0a8154 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Aug 2019 17:51:39 -0700
+Subject: [PATCH] Set use_tcl to be empty string if tcl is disabled
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -1676,7 +1676,7 @@ AC_ARG_ENABLE(tcl,
+ [], [enable_tcl=yes])
+
+ if test "x$enable_tcl" != "xyes"; then
+- use_tcl="No (disabled)"
++ use_tcl=""
+ fi
+
+ if test "x$use_tcl" = "x"; then
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -19,7 +19,7 @@ pkginclude_HEADERS = $(top_builddir)/gra
+ man_MANS = graphviz.7
+
+ # $(subdirs) contains the list from: AC_CONFIG_SUBDIRS
+-SUBDIRS = $(subdirs) lib plugin cmd tclpkg doc contrib share graphs rtest tests
++SUBDIRS = $(subdirs) lib plugin cmd doc contrib share graphs rtest tests
+
+ .PHONY: doxygen
+ doxygen:
diff --git a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch
new file mode 100644
index 000000000..a9b035243
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch
@@ -0,0 +1,38 @@
+From 926d9285f3367ae1bdb9ce1dce95f7de73b3a980 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Aug 2019 12:42:19 -0700
+Subject: [PATCH] plugin/pango: Include freetype headers explicitly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Do not depend on pango automatically adding these headers
+Fixes
+| gvtextlayout_pango.c:140:10: error: unknown type name ‘FT_Face’
+| FT_Face face;
+| ^~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugin/pango/gvtextlayout_pango.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/plugin/pango/gvtextlayout_pango.c b/plugin/pango/gvtextlayout_pango.c
+index d620b29..b0da11c 100644
+--- a/plugin/pango/gvtextlayout_pango.c
++++ b/plugin/pango/gvtextlayout_pango.c
+@@ -15,6 +15,10 @@
+
+ #include <stdlib.h>
+ #include <string.h>
++
++#include <ft2build.h>
++#include FT_FREETYPE_H
++
+ #include "gvplugin_render.h"
+ #include "agxbuf.h"
+ #include "utils.h"
+--
+2.22.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb
index a9efffaca..176cf4498 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/graphviz/graphviz_2.40.1.bb
@@ -26,9 +26,13 @@ inherit autotools-brokensep pkgconfig gettext
# source - see https://src.fedoraproject.org/cgit/rpms/graphviz.git/tree/graphviz.spec
SRC_URI = "https://gitlab.com/graphviz/graphviz/-/archive/stable_release_${PV}/graphviz-stable_release_${PV}.tar.gz \
+ file://0001-plugin-pango-Include-freetype-headers-explicitly.patch \
"
# Use native mkdefs
-SRC_URI_append_class-target = " file://0001-Use-native-mkdefs.patch"
+SRC_URI_append_class-target = "\
+ file://0001-Use-native-mkdefs.patch \
+ file://0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch \
+"
SRC_URI[md5sum] = "2acf30ca8e6cc8b001b0334db65fd072"
SRC_URI[sha256sum] = "e6c3f8dbfde1c4523055403927bef29f97f9fc12715c1042b5dcf648a2c1c62a"
@@ -39,6 +43,7 @@ EXTRA_OECONF_class-target = "\
--with-expatlibdir=${STAGING_LIBDIR} \
--without-included-ltdl \
--disable-java \
+ --disable-tcl \
--disable-r \
--disable-sharp \
"
@@ -54,6 +59,19 @@ do_install_append_class-native() {
install -m755 ${B}/lib/gvpr/mkdefs ${D}${bindir}
}
+PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo"
+
+FILES_${PN}-python += "${libdir}/python*/site-packages/ ${libdir}/graphviz/python/"
+FILES_${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/"
+FILES_${PN}-demo += "${datadir}/graphviz/demo/"
+
+RDEPENDS_${PN}-perl += "perl"
+RDEPENDS_${PN}-python += "python"
+RDEPENDS_${PN}-demo += "python perl"
+
+INSANE_SKIP_${PN}-perl = "dev-so"
+INSANE_SKIP_${PN}-python = "dev-so"
+
FILES_SOLIBSDEV_append = " ${libdir}/graphviz/lib*${SOLIBSDEV}"
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.98.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.98.bb
index b9aae0f6c..310c41067 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.98.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.98.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://gtkwave.sourceforge.net/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
-SRC_URI = "http://gtkwave.sourceforge.net/${PN}-${PV}.tar.gz"
+SRC_URI = "http://gtkwave.sourceforge.net/${BP}.tar.gz"
SRC_URI[md5sum] = "eac3073ef381e0c09da33590296ca37f"
SRC_URI[sha256sum] = "efa6bbbeb3bd54104425a69a2aa0d079bb5c3ecc1c420ba57dcaa1c97c5a22f6"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
deleted file mode 100644
index cc6a694ce..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Jpeg 2000 implementation"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=baa697d7510288a9cdcce9bd7edaf9bc"
-
-PR = "r1"
-
-SRC_URI = "http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-${PV}.zip"
-
-inherit autotools lib_package
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg"
-PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,freeglut"
-
-EXTRA_OECONF = "--enable-shared"
-
-SRC_URI[md5sum] = "a342b2b4495b3e1394e161eb5d85d754"
-SRC_URI[sha256sum] = "6b905a9c2aca2e275544212666eefc4eb44d95d0a57e4305457b407fe63f9494"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb
new file mode 100644
index 000000000..1d5a29438
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_2.0.16.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Jpeg 2000 implementation"
+HOMEPAGE = "https://github.com/mdadams/jasper"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb"
+
+SRC_URI = "git://github.com/mdadams/jasper.git;protocol=https"
+SRCREV = "9aef6d91a82a8a6aecb575cbee57f74470603cc2"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=true, -DJAS_ENABLE_LIBJPEG=false, jpeg"
+PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=true, -DJAS_ENABLE_OPENGL=false, freeglut"
+
+EXTRA_OECMAKE_append = " -DJAS_ENABLE_SHARED=true"
+
+do_install_append() {
+ chrpath -d ${D}${bindir}/jasper
+ chrpath -d ${D}${bindir}/imginfo
+ chrpath -d ${D}${bindir}/imgcmp
+ chrpath -d ${D}${libdir}/libjasper.so.*
+}
diff --git a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch
index ec8c0fd4f..ec8c0fd4f 100644
--- a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/0001-build-Pass-tag-CC-explictly-when-using-libtool.patch
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch
new file mode 100644
index 000000000..c41c2de0f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7572.patch
@@ -0,0 +1,114 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182231 25200
+# Mon Jun 10 08:57:11 2019 -0700
+# Branch SDL-1.2
+# Node ID a8afedbcaea0e84921dc770195c4699bda3ccdc5
+# Parent faf9abbcfb5fe0d0ca23c4bf0394aa226ceccf02
+CVE-2019-7572: Fix a buffer overwrite in IMA_ADPCM_decode
+If data chunk was longer than expected based on a WAV format
+definition, IMA_ADPCM_decode() tried to write past the output
+buffer. This patch fixes it.
+
+Based on patch from
+<https://bugzilla.libsdl.org/show_bug.cgi?id=4496>.
+
+CVE-2019-7572
+https://bugzilla.libsdl.org/show_bug.cgi?id=4495
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560041863 25200
+# Sat Jun 08 17:57:43 2019 -0700
+# Branch SDL-1.2
+# Node ID e52413f5258600878f9a10d2f92605a729aa8976
+# Parent 4e73be7b47877ae11d2279bd916910d469d18f8e
+CVE-2019-7572: Fix a buffer overread in IMA_ADPCM_nibble
+If an IMA ADPCM block contained an initial index out of step table
+range (loaded in IMA_ADPCM_decode()), IMA_ADPCM_nibble() blindly used
+this bogus value and that lead to a buffer overread.
+
+This patch fixes it by moving clamping the index value at the
+beginning of IMA_ADPCM_nibble() function instead of the end after
+an update.
+
+CVE-2019-7572
+https://bugzilla.libsdl.org/show_bug.cgi?id=4495
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7572
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r faf9abbcfb5f -r a8afedbcaea0 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 08:54:29 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 08:57:11 2019 -0700
+@@ -346,7 +346,7 @@
+ static int IMA_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct IMA_ADPCM_decodestate *state;
+- Uint8 *freeable, *encoded, *encoded_end, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded, *decoded_end;
+ Sint32 encoded_len, samplesleft;
+ unsigned int c, channels;
+
+@@ -373,6 +373,7 @@
+ return(-1);
+ }
+ decoded = *audio_buf;
++ decoded_end = decoded + *audio_len;
+
+ /* Get ready... Go! */
+ while ( encoded_len >= IMA_ADPCM_state.wavefmt.blockalign ) {
+@@ -392,6 +393,7 @@
+ }
+
+ /* Store the initial sample we start with */
++ if (decoded + 2 > decoded_end) goto invalid_size;
+ decoded[0] = (Uint8)(state[c].sample&0xFF);
+ decoded[1] = (Uint8)(state[c].sample>>8);
+ decoded += 2;
+@@ -402,6 +404,8 @@
+ while ( samplesleft > 0 ) {
+ for ( c=0; c<channels; ++c ) {
+ if (encoded + 4 > encoded_end) goto invalid_size;
++ if (decoded + 4 * 4 * channels > decoded_end)
++ goto invalid_size;
+ Fill_IMA_ADPCM_block(decoded, encoded,
+ c, channels, &state[c]);
+ encoded += 4;
+
+diff -r 4e73be7b4787 -r e52413f52586 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Sat Jun 01 18:27:46 2019 +0100
++++ b/src/audio/SDL_wave.c Sat Jun 08 17:57:43 2019 -0700
+@@ -264,6 +264,14 @@
+ };
+ Sint32 delta, step;
+
++ /* Clamp index value. The inital value can be invalid. */
++ if ( state->index > 88 ) {
++ state->index = 88;
++ } else
++ if ( state->index < 0 ) {
++ state->index = 0;
++ }
++
+ /* Compute difference and new sample value */
+ step = step_table[state->index];
+ delta = step >> 3;
+@@ -275,12 +283,6 @@
+
+ /* Update index value */
+ state->index += index_table[nybble];
+- if ( state->index > 88 ) {
+- state->index = 88;
+- } else
+- if ( state->index < 0 ) {
+- state->index = 0;
+- }
+
+ /* Clamp output sample */
+ if ( state->sample > max_audioval ) {
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch
new file mode 100644
index 000000000..9fd53da29
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7574.patch
@@ -0,0 +1,68 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560181859 25200
+# Mon Jun 10 08:50:59 2019 -0700
+# Branch SDL-1.2
+# Node ID a6e3d2f5183e1cc300ad993e10e9ce077e13bd9c
+# Parent 388987dff7bf8f1e214e69c2e4f1aa31e06396b5
+CVE-2019-7574: Fix a buffer overread in IMA_ADPCM_decode
+If data chunk was shorter than expected based on a WAV format
+definition, IMA_ADPCM_decode() tried to read past the data chunk
+buffer. This patch fixes it.
+
+CVE-2019-7574
+https://bugzilla.libsdl.org/show_bug.cgi?id=4496
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7574
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r 388987dff7bf -r a6e3d2f5183e src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Sat Jun 08 18:02:09 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 08:50:59 2019 -0700
+@@ -331,7 +331,7 @@
+ static int IMA_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct IMA_ADPCM_decodestate *state;
+- Uint8 *freeable, *encoded, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded;
+ Sint32 encoded_len, samplesleft;
+ unsigned int c, channels;
+
+@@ -347,6 +347,7 @@
+ /* Allocate the proper sized output buffer */
+ encoded_len = *audio_len;
+ encoded = *audio_buf;
++ encoded_end = encoded + encoded_len;
+ freeable = *audio_buf;
+ *audio_len = (encoded_len/IMA_ADPCM_state.wavefmt.blockalign) *
+ IMA_ADPCM_state.wSamplesPerBlock*
+@@ -362,6 +363,7 @@
+ while ( encoded_len >= IMA_ADPCM_state.wavefmt.blockalign ) {
+ /* Grab the initial information for this block */
+ for ( c=0; c<channels; ++c ) {
++ if (encoded + 4 > encoded_end) goto invalid_size;
+ /* Fill the state information for this block */
+ state[c].sample = ((encoded[1]<<8)|encoded[0]);
+ encoded += 2;
+@@ -384,6 +386,7 @@
+ samplesleft = (IMA_ADPCM_state.wSamplesPerBlock-1)*channels;
+ while ( samplesleft > 0 ) {
+ for ( c=0; c<channels; ++c ) {
++ if (encoded + 4 > encoded_end) goto invalid_size;
+ Fill_IMA_ADPCM_block(decoded, encoded,
+ c, channels, &state[c]);
+ encoded += 4;
+@@ -395,6 +398,10 @@
+ }
+ SDL_free(freeable);
+ return(0);
++invalid_size:
++ SDL_SetError("Unexpected chunk length for an IMA ADPCM decoder");
++ SDL_free(freeable);
++ return(-1);
+ }
+
+ SDL_AudioSpec * SDL_LoadWAV_RW (SDL_RWops *src, int freesrc,
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch
new file mode 100644
index 000000000..a3e8416d0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7575.patch
@@ -0,0 +1,81 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560183905 25200
+# Mon Jun 10 09:25:05 2019 -0700
+# Branch SDL-1.2
+# Node ID a936f9bd3e381d67d8ddee8b9243f85799ea4798
+# Parent fcbecae427951bac1684baaba2ade68221315140
+CVE-2019-7575: Fix a buffer overwrite in MS_ADPCM_decode
+If a WAV format defines shorter audio stream and decoded MS ADPCM data chunk
+is longer, decoding continued past the output audio buffer.
+
+This fix is based on a patch from
+<https://bugzilla.libsdl.org/show_bug.cgi?id=4492>.
+
+https://bugzilla.libsdl.org/show_bug.cgi?id=4493
+CVE-2019-7575
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7575
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r fcbecae42795 -r a936f9bd3e38 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 09:06:23 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 09:25:05 2019 -0700
+@@ -122,7 +122,7 @@
+ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct MS_ADPCM_decodestate *state[2];
+- Uint8 *freeable, *encoded, *encoded_end, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded, *decoded_end;
+ Sint32 encoded_len, samplesleft;
+ Sint8 nybble, stereo;
+ Sint16 *coeff[2];
+@@ -142,6 +142,7 @@
+ return(-1);
+ }
+ decoded = *audio_buf;
++ decoded_end = decoded + *audio_len;
+
+ /* Get ready... Go! */
+ stereo = (MS_ADPCM_state.wavefmt.channels == 2);
+@@ -149,7 +150,7 @@
+ state[1] = &MS_ADPCM_state.state[stereo];
+ while ( encoded_len >= MS_ADPCM_state.wavefmt.blockalign ) {
+ /* Grab the initial information for this block */
+- if (encoded + 7 + (stereo ? 7 : 0) > encoded_end) goto too_short;
++ if (encoded + 7 + (stereo ? 7 : 0) > encoded_end) goto invalid_size;
+ state[0]->hPredictor = *encoded++;
+ if ( stereo ) {
+ state[1]->hPredictor = *encoded++;
+@@ -179,6 +180,7 @@
+ coeff[1] = MS_ADPCM_state.aCoeff[state[1]->hPredictor];
+
+ /* Store the two initial samples we start with */
++ if (decoded + 4 + (stereo ? 4 : 0) > decoded_end) goto invalid_size;
+ decoded[0] = state[0]->iSamp2&0xFF;
+ decoded[1] = state[0]->iSamp2>>8;
+ decoded += 2;
+@@ -200,7 +202,8 @@
+ samplesleft = (MS_ADPCM_state.wSamplesPerBlock-2)*
+ MS_ADPCM_state.wavefmt.channels;
+ while ( samplesleft > 0 ) {
+- if (encoded + 1 > encoded_end) goto too_short;
++ if (encoded + 1 > encoded_end) goto invalid_size;
++ if (decoded + 4 > decoded_end) goto invalid_size;
+
+ nybble = (*encoded)>>4;
+ new_sample = MS_ADPCM_nibble(state[0],nybble,coeff[0]);
+@@ -223,8 +226,8 @@
+ }
+ SDL_free(freeable);
+ return(0);
+-too_short:
+- SDL_SetError("Too short chunk for a MS ADPCM decoder");
++invalid_size:
++ SDL_SetError("Unexpected chunk length for a MS ADPCM decoder");
+ SDL_free(freeable);
+ return(-1);
+ invalid_predictor:
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch
new file mode 100644
index 000000000..d9a505217
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7576.patch
@@ -0,0 +1,80 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182783 25200
+# Mon Jun 10 09:06:23 2019 -0700
+# Branch SDL-1.2
+# Node ID fcbecae427951bac1684baaba2ade68221315140
+# Parent a8afedbcaea0e84921dc770195c4699bda3ccdc5
+CVE-2019-7573, CVE-2019-7576: Fix buffer overreads in InitMS_ADPCM
+If MS ADPCM format chunk was too short, InitMS_ADPCM() parsing it
+could read past the end of chunk data. This patch fixes it.
+
+CVE-2019-7573
+https://bugzilla.libsdl.org/show_bug.cgi?id=4491
+CVE-2019-7576
+https://bugzilla.libsdl.org/show_bug.cgi?id=4490
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7573
+CVE: CVE-2019-7576
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r a8afedbcaea0 -r fcbecae42795 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 08:57:11 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 09:06:23 2019 -0700
+@@ -44,12 +44,13 @@
+ struct MS_ADPCM_decodestate state[2];
+ } MS_ADPCM_state;
+
+-static int InitMS_ADPCM(WaveFMT *format)
++static int InitMS_ADPCM(WaveFMT *format, int length)
+ {
+- Uint8 *rogue_feel;
++ Uint8 *rogue_feel, *rogue_feel_end;
+ int i;
+
+ /* Set the rogue pointer to the MS_ADPCM specific data */
++ if (length < sizeof(*format)) goto too_short;
+ MS_ADPCM_state.wavefmt.encoding = SDL_SwapLE16(format->encoding);
+ MS_ADPCM_state.wavefmt.channels = SDL_SwapLE16(format->channels);
+ MS_ADPCM_state.wavefmt.frequency = SDL_SwapLE32(format->frequency);
+@@ -58,9 +59,11 @@
+ MS_ADPCM_state.wavefmt.bitspersample =
+ SDL_SwapLE16(format->bitspersample);
+ rogue_feel = (Uint8 *)format+sizeof(*format);
++ rogue_feel_end = (Uint8 *)format + length;
+ if ( sizeof(*format) == 16 ) {
+ rogue_feel += sizeof(Uint16);
+ }
++ if (rogue_feel + 4 > rogue_feel_end) goto too_short;
+ MS_ADPCM_state.wSamplesPerBlock = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ rogue_feel += sizeof(Uint16);
+ MS_ADPCM_state.wNumCoef = ((rogue_feel[1]<<8)|rogue_feel[0]);
+@@ -70,12 +73,16 @@
+ return(-1);
+ }
+ for ( i=0; i<MS_ADPCM_state.wNumCoef; ++i ) {
++ if (rogue_feel + 4 > rogue_feel_end) goto too_short;
+ MS_ADPCM_state.aCoeff[i][0] = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ rogue_feel += sizeof(Uint16);
+ MS_ADPCM_state.aCoeff[i][1] = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ rogue_feel += sizeof(Uint16);
+ }
+ return(0);
++too_short:
++ SDL_SetError("Unexpected length of a chunk with a MS ADPCM format");
++ return(-1);
+ }
+
+ static Sint32 MS_ADPCM_nibble(struct MS_ADPCM_decodestate *state,
+@@ -495,7 +502,7 @@
+ break;
+ case MS_ADPCM_CODE:
+ /* Try to understand this */
+- if ( InitMS_ADPCM(format) < 0 ) {
++ if ( InitMS_ADPCM(format, lenread) < 0 ) {
+ was_error = 1;
+ goto done;
+ }
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch
new file mode 100644
index 000000000..92e40aec5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7577.patch
@@ -0,0 +1,123 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182051 25200
+# Mon Jun 10 08:54:11 2019 -0700
+# Branch SDL-1.2
+# Node ID 416136310b88cbeeff8773e573e90ac1e22b3526
+# Parent a6e3d2f5183e1cc300ad993e10e9ce077e13bd9c
+CVE-2019-7577: Fix a buffer overread in MS_ADPCM_decode
+If RIFF/WAV data chunk length is shorter then expected for an audio
+format defined in preceeding RIFF/WAV format headers, a buffer
+overread can happen.
+
+This patch fixes it by checking a MS ADPCM data to be decoded are not
+past the initialized buffer.
+
+CVE-2019-7577
+Reproducer: https://bugzilla.libsdl.org/show_bug.cgi?id=4492
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560182069 25200
+# Mon Jun 10 08:54:29 2019 -0700
+# Branch SDL-1.2
+# Node ID faf9abbcfb5fe0d0ca23c4bf0394aa226ceccf02
+# Parent 416136310b88cbeeff8773e573e90ac1e22b3526
+CVE-2019-7577: Fix a buffer overread in MS_ADPCM_nibble and MS_ADPCM_decode
+If a chunk of RIFF/WAV file with MS ADPCM encoding contains an invalid
+predictor (a valid predictor's value is between 0 and 6 inclusive),
+a buffer overread can happen when the predictor is used as an index
+into an array of MS ADPCM coefficients.
+
+The overead happens when indexing MS_ADPCM_state.aCoeff[] array in
+MS_ADPCM_decode() and later when dereferencing a coef pointer in
+MS_ADPCM_nibble().
+
+This patch fixes it by checking the MS ADPCM predictor values fit
+into the valid range.
+
+CVE-2019-7577
+Reproducer: https://bugzilla.libsdl.org/show_bug.cgi?id=4492
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7577
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r a6e3d2f5183e -r 416136310b88 src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 08:50:59 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 08:54:11 2019 -0700
+@@ -115,7 +115,7 @@
+ static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len)
+ {
+ struct MS_ADPCM_decodestate *state[2];
+- Uint8 *freeable, *encoded, *decoded;
++ Uint8 *freeable, *encoded, *encoded_end, *decoded;
+ Sint32 encoded_len, samplesleft;
+ Sint8 nybble, stereo;
+ Sint16 *coeff[2];
+@@ -124,6 +124,7 @@
+ /* Allocate the proper sized output buffer */
+ encoded_len = *audio_len;
+ encoded = *audio_buf;
++ encoded_end = encoded + encoded_len;
+ freeable = *audio_buf;
+ *audio_len = (encoded_len/MS_ADPCM_state.wavefmt.blockalign) *
+ MS_ADPCM_state.wSamplesPerBlock*
+@@ -141,6 +142,7 @@
+ state[1] = &MS_ADPCM_state.state[stereo];
+ while ( encoded_len >= MS_ADPCM_state.wavefmt.blockalign ) {
+ /* Grab the initial information for this block */
++ if (encoded + 7 + (stereo ? 7 : 0) > encoded_end) goto too_short;
+ state[0]->hPredictor = *encoded++;
+ if ( stereo ) {
+ state[1]->hPredictor = *encoded++;
+@@ -188,6 +190,8 @@
+ samplesleft = (MS_ADPCM_state.wSamplesPerBlock-2)*
+ MS_ADPCM_state.wavefmt.channels;
+ while ( samplesleft > 0 ) {
++ if (encoded + 1 > encoded_end) goto too_short;
++
+ nybble = (*encoded)>>4;
+ new_sample = MS_ADPCM_nibble(state[0],nybble,coeff[0]);
+ decoded[0] = new_sample&0xFF;
+@@ -209,6 +213,10 @@
+ }
+ SDL_free(freeable);
+ return(0);
++too_short:
++ SDL_SetError("Too short chunk for a MS ADPCM decoder");
++ SDL_free(freeable);
++ return(-1);
+ }
+
+ struct IMA_ADPCM_decodestate {
+
+
+diff -r 416136310b88 -r faf9abbcfb5f src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Mon Jun 10 08:54:11 2019 -0700
++++ b/src/audio/SDL_wave.c Mon Jun 10 08:54:29 2019 -0700
+@@ -147,6 +147,9 @@
+ if ( stereo ) {
+ state[1]->hPredictor = *encoded++;
+ }
++ if (state[0]->hPredictor >= 7 || state[1]->hPredictor >= 7) {
++ goto invalid_predictor;
++ }
+ state[0]->iDelta = ((encoded[1]<<8)|encoded[0]);
+ encoded += sizeof(Sint16);
+ if ( stereo ) {
+@@ -217,6 +220,10 @@
+ SDL_SetError("Too short chunk for a MS ADPCM decoder");
+ SDL_free(freeable);
+ return(-1);
++invalid_predictor:
++ SDL_SetError("Invalid predictor value for a MS ADPCM decoder");
++ SDL_free(freeable);
++ return(-1);
+ }
+
+ struct IMA_ADPCM_decodestate {
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch
new file mode 100644
index 000000000..702889033
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7578.patch
@@ -0,0 +1,64 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560042129 25200
+# Sat Jun 08 18:02:09 2019 -0700
+# Branch SDL-1.2
+# Node ID 388987dff7bf8f1e214e69c2e4f1aa31e06396b5
+# Parent e52413f5258600878f9a10d2f92605a729aa8976
+CVE-2019-7578: Fix a buffer overread in InitIMA_ADPCM
+If IMA ADPCM format chunk was too short, InitIMA_ADPCM() parsing it
+could read past the end of chunk data. This patch fixes it.
+
+CVE-2019-7578
+https://bugzilla.libsdl.org/show_bug.cgi?id=4494
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7578
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r e52413f52586 -r 388987dff7bf src/audio/SDL_wave.c
+--- a/src/audio/SDL_wave.c Sat Jun 08 17:57:43 2019 -0700
++++ b/src/audio/SDL_wave.c Sat Jun 08 18:02:09 2019 -0700
+@@ -222,11 +222,12 @@
+ struct IMA_ADPCM_decodestate state[2];
+ } IMA_ADPCM_state;
+
+-static int InitIMA_ADPCM(WaveFMT *format)
++static int InitIMA_ADPCM(WaveFMT *format, int length)
+ {
+- Uint8 *rogue_feel;
++ Uint8 *rogue_feel, *rogue_feel_end;
+
+ /* Set the rogue pointer to the IMA_ADPCM specific data */
++ if (length < sizeof(*format)) goto too_short;
+ IMA_ADPCM_state.wavefmt.encoding = SDL_SwapLE16(format->encoding);
+ IMA_ADPCM_state.wavefmt.channels = SDL_SwapLE16(format->channels);
+ IMA_ADPCM_state.wavefmt.frequency = SDL_SwapLE32(format->frequency);
+@@ -235,11 +236,16 @@
+ IMA_ADPCM_state.wavefmt.bitspersample =
+ SDL_SwapLE16(format->bitspersample);
+ rogue_feel = (Uint8 *)format+sizeof(*format);
++ rogue_feel_end = (Uint8 *)format + length;
+ if ( sizeof(*format) == 16 ) {
+ rogue_feel += sizeof(Uint16);
+ }
++ if (rogue_feel + 2 > rogue_feel_end) goto too_short;
+ IMA_ADPCM_state.wSamplesPerBlock = ((rogue_feel[1]<<8)|rogue_feel[0]);
+ return(0);
++too_short:
++ SDL_SetError("Unexpected length of a chunk with an IMA ADPCM format");
++ return(-1);
+ }
+
+ static Sint32 IMA_ADPCM_nibble(struct IMA_ADPCM_decodestate *state,Uint8 nybble)
+@@ -471,7 +477,7 @@
+ break;
+ case IMA_ADPCM_CODE:
+ /* Try to understand this */
+- if ( InitIMA_ADPCM(format) < 0 ) {
++ if ( InitIMA_ADPCM(format, lenread) < 0 ) {
+ was_error = 1;
+ goto done;
+ }
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch
new file mode 100644
index 000000000..78af1b061
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7635.patch
@@ -0,0 +1,63 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1560259692 25200
+# Tue Jun 11 06:28:12 2019 -0700
+# Branch SDL-1.2
+# Node ID f1f5878be5dbf63c1161a8ee52b8a86ece30e552
+# Parent a936f9bd3e381d67d8ddee8b9243f85799ea4798
+CVE-2019-7635: Reject BMP images with pixel colors out the palette
+If a 1-, 4-, or 8-bit per pixel BMP image declares less used colors
+than the palette offers an SDL_Surface with a palette of the indicated
+number of used colors is created. If some of the image's pixel
+refer to a color number higher then the maximal used colors, a subsequent
+bliting operation on the surface will look up a color past a blit map
+(that is based on the palette) memory. I.e. passing such SDL_Surface
+to e.g. an SDL_DisplayFormat() function will result in a buffer overread in
+a blit function.
+
+This patch fixes it by validing each pixel's color to be less than the
+maximal color number in the palette. A validation failure raises an
+error from a SDL_LoadBMP_RW() function.
+
+CVE-2019-7635
+https://bugzilla.libsdl.org/show_bug.cgi?id=4498
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7635
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r a936f9bd3e38 -r f1f5878be5db src/video/SDL_bmp.c
+--- a/src/video/SDL_bmp.c Mon Jun 10 09:25:05 2019 -0700
++++ b/src/video/SDL_bmp.c Tue Jun 11 06:28:12 2019 -0700
+@@ -308,6 +308,12 @@
+ }
+ *(bits+i) = (pixel>>shift);
+ pixel <<= ExpandBMP;
++ if ( bits[i] >= biClrUsed ) {
++ SDL_SetError(
++ "A BMP image contains a pixel with a color out of the palette");
++ was_error = SDL_TRUE;
++ goto done;
++ }
+ } }
+ break;
+
+@@ -318,6 +324,16 @@
+ was_error = SDL_TRUE;
+ goto done;
+ }
++ if ( 8 == biBitCount && palette && biClrUsed < (1 << biBitCount ) ) {
++ for ( i=0; i<surface->w; ++i ) {
++ if ( bits[i] >= biClrUsed ) {
++ SDL_SetError(
++ "A BMP image contains a pixel with a color out of the palette");
++ was_error = SDL_TRUE;
++ goto done;
++ }
++ }
++ }
+ #if SDL_BYTEORDER == SDL_BIG_ENDIAN
+ /* Byte-swap the pixels if needed. Note that the 24bpp
+ case has already been taken care of above. */
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch
new file mode 100644
index 000000000..c95338e61
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7637.patch
@@ -0,0 +1,192 @@
+# HG changeset patch
+# User Petr Písař <ppisar@redhat.com>
+# Date 1552788984 25200
+# Sat Mar 16 19:16:24 2019 -0700
+# Branch SDL-1.2
+# Node ID 9b0e5c555c0f5ce6d2c3c19da6cc2c7fb5048bf2
+# Parent 4646533663ae1d80c2cc6b2d6dbfb37c62491c1e
+CVE-2019-7637: Fix in integer overflow in SDL_CalculatePitch
+If a too large width is passed to SDL_SetVideoMode() the width travels
+to SDL_CalculatePitch() where the width (e.g. 65535) is multiplied by
+BytesPerPixel (e.g. 4) and the result is stored into Uint16 pitch
+variable. During this arithmetics an integer overflow can happen (e.g.
+the value is clamped as 65532). As a result SDL_Surface with a pitch
+smaller than width * BytesPerPixel is created, too small pixel buffer
+is allocated and when the SDL_Surface is processed in SDL_FillRect()
+a buffer overflow occurs.
+
+This can be reproduced with "./graywin -width 21312312313123213213213"
+command.
+
+This patch fixes is by using a very careful arithmetics in
+SDL_CalculatePitch(). If an overflow is detected, an error is reported
+back as a special 0 value. We assume that 0-width surfaces do not
+occur in the wild. Since SDL_CalculatePitch() is a private function,
+we can change the semantics.
+
+CVE-2019-7637
+https://bugzilla.libsdl.org/show_bug.cgi?id=4497
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+
+CVE: CVE-2019-7637
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/SDL_pixels.c
+--- a/src/video/SDL_pixels.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/SDL_pixels.c Sat Mar 16 19:16:24 2019 -0700
+@@ -286,26 +286,53 @@
+ }
+ }
+ /*
+- * Calculate the pad-aligned scanline width of a surface
++ * Calculate the pad-aligned scanline width of a surface. Return 0 in case of
++ * an error.
+ */
+ Uint16 SDL_CalculatePitch(SDL_Surface *surface)
+ {
+- Uint16 pitch;
++ unsigned int pitch = 0;
+
+ /* Surface should be 4-byte aligned for speed */
+- pitch = surface->w*surface->format->BytesPerPixel;
++ /* The code tries to prevent from an Uint16 overflow. */;
++ for (Uint8 byte = surface->format->BytesPerPixel; byte; byte--) {
++ pitch += (unsigned int)surface->w;
++ if (pitch < surface->w) {
++ SDL_SetError("A scanline is too wide");
++ return(0);
++ }
++ }
+ switch (surface->format->BitsPerPixel) {
+ case 1:
+- pitch = (pitch+7)/8;
++ if (pitch % 8) {
++ pitch = pitch / 8 + 1;
++ } else {
++ pitch = pitch / 8;
++ }
+ break;
+ case 4:
+- pitch = (pitch+1)/2;
++ if (pitch % 2) {
++ pitch = pitch / 2 + 1;
++ } else {
++ pitch = pitch / 2;
++ }
+ break;
+ default:
+ break;
+ }
+- pitch = (pitch + 3) & ~3; /* 4-byte aligning */
+- return(pitch);
++ /* 4-byte aligning */
++ if (pitch & 3) {
++ if (pitch + 3 < pitch) {
++ SDL_SetError("A scanline is too wide");
++ return(0);
++ }
++ pitch = (pitch + 3) & ~3;
++ }
++ if (pitch > 0xFFFF) {
++ SDL_SetError("A scanline is too wide");
++ return(0);
++ }
++ return((Uint16)pitch);
+ }
+ /*
+ * Match an RGB value to a particular palette index
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/gapi/SDL_gapivideo.c
+--- a/src/video/gapi/SDL_gapivideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/gapi/SDL_gapivideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -733,6 +733,9 @@
+ video->w = gapi->w = width;
+ video->h = gapi->h = height;
+ video->pitch = SDL_CalculatePitch(video);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Small fix for WinCE/Win32 - when activating window
+ SDL_VideoSurface is equal to zero, so activating code
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/nanox/SDL_nxvideo.c
+--- a/src/video/nanox/SDL_nxvideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/nanox/SDL_nxvideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -378,6 +378,10 @@
+ current -> w = width ;
+ current -> h = height ;
+ current -> pitch = SDL_CalculatePitch (current) ;
++ if (!current->pitch) {
++ current = NULL;
++ goto done;
++ }
+ NX_ResizeImage (this, current, flags) ;
+ }
+
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/ps2gs/SDL_gsvideo.c
+--- a/src/video/ps2gs/SDL_gsvideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/ps2gs/SDL_gsvideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -479,6 +479,9 @@
+ current->w = width;
+ current->h = height;
+ current->pitch = SDL_CalculatePitch(current);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Memory map the DMA area for block memory transfer */
+ if ( ! mapped_mem ) {
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/ps3/SDL_ps3video.c
+--- a/src/video/ps3/SDL_ps3video.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/ps3/SDL_ps3video.c Sat Mar 16 19:16:24 2019 -0700
+@@ -339,6 +339,9 @@
+ current->w = width;
+ current->h = height;
+ current->pitch = SDL_CalculatePitch(current);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Alloc aligned mem for current->pixels */
+ s_pixels = memalign(16, current->h * current->pitch);
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/windib/SDL_dibvideo.c
+--- a/src/video/windib/SDL_dibvideo.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/windib/SDL_dibvideo.c Sat Mar 16 19:16:24 2019 -0700
+@@ -675,6 +675,9 @@
+ video->w = width;
+ video->h = height;
+ video->pitch = SDL_CalculatePitch(video);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ /* Small fix for WinCE/Win32 - when activating window
+ SDL_VideoSurface is equal to zero, so activating code
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/windx5/SDL_dx5video.c
+--- a/src/video/windx5/SDL_dx5video.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/windx5/SDL_dx5video.c Sat Mar 16 19:16:24 2019 -0700
+@@ -1127,6 +1127,9 @@
+ video->w = width;
+ video->h = height;
+ video->pitch = SDL_CalculatePitch(video);
++ if (!current->pitch) {
++ return(NULL);
++ }
+
+ #ifndef NO_CHANGEDISPLAYSETTINGS
+ /* Set fullscreen mode if appropriate.
+diff -r 4646533663ae -r 9b0e5c555c0f src/video/x11/SDL_x11video.c
+--- a/src/video/x11/SDL_x11video.c Sat Mar 16 18:35:33 2019 -0700
++++ b/src/video/x11/SDL_x11video.c Sat Mar 16 19:16:24 2019 -0700
+@@ -1225,6 +1225,10 @@
+ current->w = width;
+ current->h = height;
+ current->pitch = SDL_CalculatePitch(current);
++ if (!current->pitch) {
++ current = NULL;
++ goto done;
++ }
+ if (X11_ResizeImage(this, current, flags) < 0) {
+ current = NULL;
+ goto done;
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch
new file mode 100644
index 000000000..dab9aaeb2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-7638.patch
@@ -0,0 +1,38 @@
+# HG changeset patch
+# User Sam Lantinga <slouken@libsdl.org>
+# Date 1550504903 28800
+# Mon Feb 18 07:48:23 2019 -0800
+# Branch SDL-1.2
+# Node ID 19d8c3b9c25143f71a34ff40ce1df91b4b3e3b78
+# Parent 8586f153eedec4c4e07066d6248ebdf67f10a229
+Fixed bug 4500 - Heap-Buffer Overflow in Map1toN pertaining to SDL_pixels.c
+
+Petr Pisar
+
+The reproducer has these data in BITMAPINFOHEADER:
+
+biSize = 40
+biBitCount = 8
+biClrUsed = 131075
+
+SDL_LoadBMP_RW() function passes biBitCount as a color depth to SDL_CreateRGBSurface(), thus 256-color pallete is allocated. But then biClrUsed colors are read from a file and stored into the palette. SDL_LoadBMP_RW should report an error if biClrUsed is greater than 2^biBitCount.
+
+CVE: CVE-2019-7638
+CVE: CVE-2019-7636
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r 8586f153eede -r 19d8c3b9c251 src/video/SDL_bmp.c
+--- a/src/video/SDL_bmp.c Sun Jan 13 15:27:50 2019 +0100
++++ b/src/video/SDL_bmp.c Mon Feb 18 07:48:23 2019 -0800
+@@ -233,6 +233,10 @@
+ if ( palette ) {
+ if ( biClrUsed == 0 ) {
+ biClrUsed = 1 << biBitCount;
++ } else if ( biClrUsed > (1 << biBitCount) ) {
++ SDL_SetError("BMP file has an invalid number of colors");
++ was_error = SDL_TRUE;
++ goto done;
+ }
+ if ( biSize == 12 ) {
+ for ( i = 0; i < (int)biClrUsed; ++i ) {
diff --git a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch
index f98b92752..f98b92752 100644
--- a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/libsdl-1.2.15-xdata32.patch
diff --git a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch
index 913baa92a..913baa92a 100644
--- a/poky/meta/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/pkgconfig.patch
diff --git a/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
index 7718d1191..7a0190832 100644
--- a/poky/meta/recipes-graphics/libsdl/libsdl_1.2.15.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
@@ -18,6 +18,15 @@ SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
file://libsdl-1.2.15-xdata32.patch \
file://pkgconfig.patch \
file://0001-build-Pass-tag-CC-explictly-when-using-libtool.patch \
+ file://CVE-2019-7577.patch \
+ file://CVE-2019-7574.patch \
+ file://CVE-2019-7572.patch \
+ file://CVE-2019-7578.patch \
+ file://CVE-2019-7575.patch \
+ file://CVE-2019-7635.patch \
+ file://CVE-2019-7637.patch \
+ file://CVE-2019-7638.patch \
+ file://CVE-2019-7576.patch \
"
UPSTREAM_CHECK_REGEX = "SDL-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb
new file mode 100644
index 000000000..4e4acb835
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.12.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "library for easy implementation of a RDP/VNC server"
+HOMEPAGE = "https://libvnc.github.io"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
+
+PACKAGECONFIG ??= " \
+ gcrypt \
+ gnutls \
+ jpeg \
+ lzo \
+ png \
+ ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
+ sdl \
+ zlib \
+"
+PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=ON,-DWITH_GCRYPT=OFF,libgcrypt,libgcrypt"
+PACKAGECONFIG[gnutls] = "-DWITH_GNUTLS=ON,-DWITH_GNUTLS=OFF,gnutls"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg"
+PACKAGECONFIG[lzo] = "-DWITH_LZO=ON,-DWITH_LZO=OFF,lzo"
+PACKAGECONFIG[openssl] = "-DWITH_OPENSSL=ON,-DWITH_OPENSSL=OFF,openssl"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,libpng"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+
+PACKAGE_BEFORE_PN = "libvncclient"
+FILES_libvncclient = "${libdir}/libvncclient.*"
+
+inherit cmake
+
+SRC_URI = "git://github.com/LibVNC/libvncserver"
+SRCREV = "1354f7f1bb6962dab209eddb9d6aac1f03408110"
+PV .= "+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DMAKE_INSTALL_LIBDIR=${libdir}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb
deleted file mode 100644
index bc47a3f15..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_git.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-DESCRIPTION = "library for easy implementation of a RDP/VNC server"
-HOMEPAGE = "https://libvnc.github.io"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
-
-PACKAGECONFIG ??= " \
- gcrypt \
- gnutls \
- jpeg \
- lzo \
- png \
- ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
- sdl \
- zlib \
-"
-PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=ON,-DWITH_GCRYPT=OFF,libgcrypt,libgcrypt"
-PACKAGECONFIG[gnutls] = "-DWITH_GNUTLS=ON,-DWITH_GNUTLS=OFF,gnutls"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg"
-PACKAGECONFIG[lzo] = "-DWITH_LZO=ON,-DWITH_LZO=OFF,lzo"
-PACKAGECONFIG[openssl] = "-DWITH_OPENSSL=ON,-DWITH_OPENSSL=OFF,openssl"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,libpng"
-PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
-PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2"
-PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
-
-PACKAGE_BEFORE_PN = "libvncclient"
-FILES_libvncclient = "${libdir}/libvncclient.*"
-
-inherit cmake
-
-SRC_URI = "git://github.com/LibVNC/libvncserver"
-SRCREV = "c0a23857a5c42b45b6d22ccf7218becd1fa69402"
-PV = "0.9.12+git${SRCPV}"
-
-S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch
deleted file mode 100644
index 6d4bdc2ab..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Use-override-consistently.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 0acfb67f99fd8d6af323311fee8c08116295b148 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 18:21:19 -0700
-Subject: [PATCH 1/2] Use override consistently
-
-Make clang++ happy
-error: 'setApplicationTitle' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-over ride]
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/69]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/NCApplication.h | 46 ++++++++++++++++++++++-----------------------
- 1 file changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/src/NCApplication.h b/src/NCApplication.h
-index e24c3eb..09e4708 100644
---- a/src/NCApplication.h
-+++ b/src/NCApplication.h
-@@ -60,7 +60,7 @@ public:
- * Reimplemented from YApplication.
- **/
- virtual void setLanguage( const std::string & language,
-- const std::string & encoding = std::string() );
-+ const std::string & encoding = std::string() ) override;
-
- /**
- * Open a directory selection box and prompt the user for an existing
-@@ -77,7 +77,7 @@ public:
- * Implemented from YApplication.
- **/
- virtual std::string askForExistingDirectory( const std::string & startDir,
-- const std::string & headline );
-+ const std::string & headline ) override;
-
- /**
- * Open a file selection box and prompt the user for an existing file.
-@@ -97,7 +97,7 @@ public:
- **/
- virtual std::string askForExistingFile( const std::string & startWith,
- const std::string & filter,
-- const std::string & headline );
-+ const std::string & headline ) override;
-
- /**
- * Open a file selection box and prompt the user for a file to save data
-@@ -119,28 +119,28 @@ public:
- **/
- virtual std::string askForSaveFileName( const std::string & startWith,
- const std::string & filter,
-- const std::string & headline );
-+ const std::string & headline ) override;
-
- /**
- * Beep.
- *
- * Reimplemented from YApplication.
- **/
-- virtual void beep();
-+ virtual void beep() override;
-
- /**
- * Redraw the screen.
- *
- * Reimplemented from YApplication.
- **/
-- virtual void redrawScreen();
-+ virtual void redrawScreen() override;
-
- /**
- * Initialize the (text) console keyboard.
- *
- * Reimplemented from YApplication.
- **/
-- virtual void initConsoleKeyboard();
-+ virtual void initConsoleKeyboard() override;
-
- /**
- * Set the (text) console font according to the current encoding etc.
-@@ -152,7 +152,7 @@ public:
- const std::string & font,
- const std::string & screen_map,
- const std::string & unicode_map,
-- const std::string & language );
-+ const std::string & language ) override;
-
- /**
- * Run a shell command (typically an interactive program using NCurses)
-@@ -165,7 +165,7 @@ public:
- *
- * Reimplemented from YApplication.
- **/
-- virtual int runInTerminal( const std::string & command );
-+ virtual int runInTerminal( const std::string & command ) override;
-
-
- /// @{
-@@ -183,33 +183,33 @@ public:
- //
- // All implemented from YApplication.
-
-- virtual int displayWidth();
-- virtual int displayHeight();
-- virtual int displayDepth();
-- virtual long displayColors();
-+ virtual int displayWidth() override;
-+ virtual int displayHeight() override;
-+ virtual int displayDepth() override;
-+ virtual long displayColors() override;
-
-- virtual int defaultWidth();
-- virtual int defaultHeight();
-+ virtual int defaultWidth() override;
-+ virtual int defaultHeight() override;
-
-- virtual bool isTextMode() { return true; }
-+ virtual bool isTextMode() override { return true; }
-
-- virtual bool hasImageSupport() { return false; }
-+ virtual bool hasImageSupport() override { return false; }
-
-- virtual bool hasIconSupport() { return false; }
-+ virtual bool hasIconSupport() override { return false; }
-
-- virtual bool hasAnimationSupport() { return false; }
-+ virtual bool hasAnimationSupport() override { return false; }
-
-- virtual bool hasFullUtf8Support();
-- virtual bool richTextSupportsTable() { return false; }
-+ virtual bool hasFullUtf8Support() override;
-+ virtual bool richTextSupportsTable() override { return false; }
-
-- virtual bool leftHandedMouse() { return false; }
-+ virtual bool leftHandedMouse() override { return false; }
-
- /**
- * Set the application title
- *
- * Reimplemented from YApplication.
- **/
-- virtual void setApplicationTitle(const std::string& title);
-+ virtual void setApplicationTitle(const std::string& title) override;
- };
-
-
---
-2.18.0
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch
deleted file mode 100644
index f65cbe667..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 162a0899f1dacd83007c4e82b9034f55610d8c20 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 19:01:51 -0700
-Subject: [PATCH 2/2] Define own resize in NCPad and fix param type of
- SetLabel()
-
-Explicitly override resize() to avoid conflicts from NCursesWindow
-definition since there is another resize definition as well
-
-Fixes
-src/NCPad.h:164:18: error: 'NCPad::resize' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
-
-NCTablePad.h:132:18: error: 'NCTableTag::SetLabel' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui-ncurses/pull/69]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/NCPad.h | 1 +
- src/NCTablePad.h | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/NCPad.h b/src/NCPad.h
-index 328c4aa..d8fb324 100644
---- a/src/NCPad.h
-+++ b/src/NCPad.h
-@@ -162,6 +162,7 @@ public:
- virtual void Destwin( NCursesWindow * dwin );
-
- virtual void resize( wsze nsze );
-+ virtual int resize( int lines, int columns ) { return NCursesWindow::resize(lines, columns );}
- virtual void wRecoded();
- virtual void setDirty() { dirty = true; }
-
-diff --git a/src/NCTablePad.h b/src/NCTablePad.h
-index c450529..3756796 100644
---- a/src/NCTablePad.h
-+++ b/src/NCTablePad.h
-@@ -129,7 +129,7 @@ public:
-
- virtual ~NCTableTag() {}
-
-- virtual void SetLabel( const NCstring & ) { /*NOOP*/; }
-+ virtual void SetLabel( const NClabel & ) { /*NOOP*/; }
-
- virtual void DrawAt( NCursesWindow & w, const wrect at,
- NCTableStyle & tableStyle,
---
-2.18.0
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb
new file mode 100644
index 000000000..dae5c342d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_2.52.0.bb
@@ -0,0 +1,48 @@
+SUMMARY = "Character Based User Interface for libyui"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+"
+
+SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
+ file://0003-Simplify-ncurses-finding-module.patch \
+ "
+
+SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
+
+SRCREV = "d5b64b6291b6f292871ad5c6df25c4f6896f7d50"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost libyui ncurses"
+
+BBCLASSEXTEND = "nativesdk"
+
+do_configure_prepend () {
+ cd ${S}
+ git checkout bootstrap.sh
+ sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" bootstrap.sh
+ ./bootstrap.sh
+ mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ cd -
+ sed -i -e "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
+ sed -i -e "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${PKG_CONFIG_SYSROOT_DIR}${libdir}/cmake/libyui/LibyuiLibraryDepends-release.cmake
+}
+
+do_install_append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES_${PN} += "${datadir}/*"
+
+FILES_${PN}-dev += "${libdir}/*"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
deleted file mode 100644
index 18ea2e828..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "Character Based User Interface for libyui"
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
-"
-
-SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
- file://0001-Use-override-consistently.patch \
- file://0002-Define-own-resize-in-NCPad-and-fix-param-type-of-Set.patch \
- file://0003-Simplify-ncurses-finding-module.patch \
- "
-
-SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
-
-PV = "2.48.3+git${SRCPV}"
-SRCREV = "c941b32246e8b2952fce4fd5743f8e318222ab98"
-
-S = "${WORKDIR}/git"
-
-inherit cmake gettext pkgconfig
-
-DEPENDS += "boost libyui ncurses"
-
-BBCLASSEXTEND = "nativesdk"
-
-do_configure_prepend () {
- cd ${S}
- git checkout bootstrap.sh
- sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" bootstrap.sh
- ./bootstrap.sh
- mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
- cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
- cd -
- sed -i -e "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
- sed -i -e "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${PKG_CONFIG_SYSROOT_DIR}${libdir}/cmake/libyui/LibyuiLibraryDepends-release.cmake
-}
-
-do_install_append () {
- if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
- mv ${D}/usr/lib64 ${D}/usr/lib
- fi
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}/${base_prefix}
- mv ${D}/usr ${D}/${base_prefix}
-}
-
-FILES_${PN} += "${datadir}/*"
-
-FILES_${PN}-dev += "${libdir}/*"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch
deleted file mode 100644
index dbe241709..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Use-curly-braces-for-MAKE-variable.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4eed37b1a61458fc8e5251f7cb7c6d64e8e9da8d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 17:48:09 -0700
-Subject: [PATCH] Use curly braces for MAKE variable
-
-Fixes errors with ninja
-| ninja: error: build.ninja:142: bad $-escape (literal $ must be written as $$)
-
-Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/137]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- buildtools/LibyuiCommon.cmake | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/buildtools/LibyuiCommon.cmake b/buildtools/LibyuiCommon.cmake
-index cb93307..e6fbefd 100644
---- a/buildtools/LibyuiCommon.cmake
-+++ b/buildtools/LibyuiCommon.cmake
-@@ -122,8 +122,8 @@ MACRO( SET_BUILD_FLAGS ) # setup compiler-flags depending on CMAKE_BUILD_TYPE
- ENABLE_TESTING()
- # add a wrapper "tests" target, the builtin "test" cannot be extended :-(
- ADD_CUSTOM_TARGET(tests
-- $(MAKE)
-- COMMAND $(MAKE) test
-+ ${MAKE}
-+ COMMAND ${MAKE} test
- )
- ENDIF ( ENABLE_TESTS OR ENABLE_CODE_COVERAGE)
-
---
-2.18.0
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
new file mode 100644
index 000000000..d8a921925
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_3.6.0.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+
+SRC_URI = "git://github.com/libyui/libyui.git \
+ file://0001-Fix-build-with-clang.patch \
+ file://0001-Use-relative-install-paths-for-CMake.patch \
+ "
+
+SRCREV = "8459235919f592b1bc099ecf9a947cb6344b6fa5"
+SRCREV_FORMAT = "default"
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_configure_prepend () {
+ (cd ${S} &&
+ ./bootstrap.sh &&
+ cd -)
+}
+
+do_install_append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES_${PN}-dev = "${libdir}/* ${includedir}/yui*"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
deleted file mode 100644
index d313fb02d..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
- file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- "
-
-SRC_URI = "git://github.com/libyui/libyui.git \
- file://0001-Fix-build-with-clang.patch \
- file://0001-Use-curly-braces-for-MAKE-variable.patch \
- file://0001-Use-relative-install-paths-for-CMake.patch \
- "
-
-PV = "3.3.3+git"
-SRCREV = "50672da835ec9d52766320a44a2677e08a24c99c"
-SRCREV_FORMAT = "default"
-S = "${WORKDIR}/git"
-
-inherit cmake gettext pkgconfig
-
-DEPENDS += "boost"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_configure_prepend () {
- (cd ${S} &&
- ./bootstrap.sh &&
- cd -)
-}
-
-do_install_append () {
- if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
- mv ${D}/usr/lib64 ${D}/usr/lib
- fi
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}/${base_prefix}
- mv ${D}/usr ${D}/${base_prefix}
-}
-
-FILES_${PN}-dev = "${libdir}/* ${includedir}/yui*"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch
deleted file mode 100644
index 5c5fe64f2..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-Ensure-cmake-files-are-installed-at-common-location.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From fe491c0919f5adc8d626cb98c5ec19d0b99dfe20 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 27 Sep 2018 23:45:04 +0200
-Subject: [PATCH] Ensure cmake files are installed at common location
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* Otherwise recent poppler is not able to find them
-* Include path needs adjustment with this change
-
-Upstream-Status: Inappropriate [Configuration]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- CMakeLists.txt | 2 +-
- cmake/OpenJPEGConfig.cmake.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ff70a06f..23d2fac4 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -150,7 +150,7 @@ if(NOT OPENJPEG_INSTALL_PACKAGE_DIR)
- # We could install *.cmake files in share/ however those files contains
- # hardcoded path to libraries on a multi-arch system (fedora/debian) those
- # path will be different (lib/i386-linux-gnu vs lib/x86_64-linux-gnu)
-- set(OPENJPEG_INSTALL_PACKAGE_DIR "${OPENJPEG_INSTALL_LIB_DIR}/${OPENJPEG_INSTALL_SUBDIR}")
-+ set(OPENJPEG_INSTALL_PACKAGE_DIR "${OPENJPEG_INSTALL_LIB_DIR}/cmake/${OPENJPEG_INSTALL_SUBDIR}")
- endif()
-
- if (APPLE)
-diff --git a/cmake/OpenJPEGConfig.cmake.in b/cmake/OpenJPEGConfig.cmake.in
-index b20294ca..6a2f4baf 100644
---- a/cmake/OpenJPEGConfig.cmake.in
-+++ b/cmake/OpenJPEGConfig.cmake.in
-@@ -26,7 +26,7 @@ get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
- if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake)
- # This is an install tree
- include(${SELF_DIR}/OpenJPEGTargets.cmake)
-- get_filename_component(OPENJPEG_INCLUDE_ROOT "${SELF_DIR}/../../@OPENJPEG_INSTALL_INCLUDE_DIR@" ABSOLUTE)
-+ get_filename_component(OPENJPEG_INCLUDE_ROOT "${SELF_DIR}/../../../@OPENJPEG_INSTALL_INCLUDE_DIR@" ABSOLUTE)
- set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_ROOT})
-
- else()
---
-2.14.4
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb
deleted file mode 100644
index d30ff4825..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
-HOMEPAGE = "http://www.openjpeg.org"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
-
-DEPENDS = "libpng tiff lcms zlib"
-
-SRC_URI = " \
- git://github.com/uclouvain/openjpeg.git \
- file://0001-Ensure-cmake-files-are-installed-at-common-location.patch \
- file://0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
-"
-SRCREV = "081de4b15f54cb4482035b7bf5e3fb443e4bc84b"
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-# for multilib
-EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_LIB_DIR=${@d.getVar('baselib').replace('/', '')}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb
new file mode 100644
index 000000000..b19f9109d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.3.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
+HOMEPAGE = "http://www.openjpeg.org"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
+
+DEPENDS = "libpng tiff lcms zlib"
+
+SRC_URI = " \
+ git://github.com/uclouvain/openjpeg.git \
+ file://0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
+"
+SRCREV = "57096325457f96d8cd07bd3af04fe81d7a2ba788"
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# for multilib
+EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_LIB_DIR=${@d.getVar('baselib').replace('/', '')}"
+
+FILES_${PN} += "${libdir}/openjpeg*"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch
new file mode 100644
index 000000000..e96dedfc3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch
@@ -0,0 +1,57 @@
+From 41a8c9b5ac13066770baee476ebf9828371f4dad Mon Sep 17 00:00:00 2001
+From: Adrian Ratiu <adrian.ratiu@collabora.com>
+Date: Tue, 24 Sep 2019 16:07:18 +0300
+Subject: [PATCH] renderdoc: use xxd instead of cross-compiling shim binary
+
+Renderdoc's attempt to cross compile an xxd replacement by directly
+calling a host cross-compiler breaks under OE's recipe specific
+sysroots protection because this is not a native recipe, so we just
+use xxd-native instead.
+
+Upstream-Status: Inappropriate [embedded-specific]
+
+---
+ renderdoc/CMakeLists.txt | 23 +----------------------
+ 1 file changed, 1 insertion(+), 22 deletions(-)
+
+diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
+index 5cb7440a4..453a034ba 100644
+--- a/renderdoc/CMakeLists.txt
++++ b/renderdoc/CMakeLists.txt
+@@ -370,26 +370,6 @@ set(data
+ set(data_objects)
+
+ if(UNIX)
+- # If we're cross-compiling, include-bin will get built for the target and we
+- # then can't execute it. Instead, we force calling c++ (which we can safely
+- # assume is present) directly to build the binary
+-
+- if(CMAKE_CROSSCOMPILING)
+- set(HOST_NATIVE_CPP_COMPILER c++ CACHE STRING "Command to run to compile a .cpp into an executable. Default is just c++")
+-
+- add_custom_command(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin
+- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+- COMMAND ${HOST_NATIVE_CPP_COMPILER} 3rdparty/include-bin/main.cpp -o ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin
+- DEPENDS 3rdparty/include-bin/main.cpp)
+- set(INCLUDE_BIN_EXE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin")
+- set(INCLUDE_BIN_DEP "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin")
+- else()
+- add_executable(include-bin 3rdparty/include-bin/main.cpp)
+- set(INCLUDE_BIN_EXE $<TARGET_FILE:include-bin>)
+- set(INCLUDE_BIN_DEP include-bin)
+- endif()
+-
+ foreach(res ${data})
+ set(in ${res})
+ set(working_dir ${CMAKE_CURRENT_SOURCE_DIR})
+@@ -399,8 +379,7 @@ if(UNIX)
+ add_custom_command(OUTPUT ${out_src}
+ WORKING_DIRECTORY ${working_dir}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${out_src_dir}
+- COMMAND ${INCLUDE_BIN_EXE} ${in} ${out_src}
+- DEPENDS ${INCLUDE_BIN_DEP}
++ COMMAND xxd -i ${in} ${out_src}
+ DEPENDS ${res})
+
+ list(APPEND data_objects ${out_src})
diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
new file mode 100644
index 000000000..c7e872409
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb
@@ -0,0 +1,37 @@
+SUMMARY = "RenderDoc recipe providing renderdoccmd"
+DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger"
+HOMEPAGE = "https://github.com/baldurk/renderdoc"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9753b1b4fba3261c27d1ce5c1acef667"
+
+SRCREV = "214d85228538e71cc63a0d7fa11dd75b1d56cc81"
+SRC_URI = "git://github.com/baldurk/${BPN}.git;protocol=http;branch=v1.x \
+ file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \
+"
+S = "${WORKDIR}/git"
+
+DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native"
+
+RDEPENDS_${PN} = "libxcb xcb-util-keysyms"
+
+inherit cmake python3native distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+python __anonymous () {
+ # only works on glibc systems
+ if d.getVar('TCLIBC') != "glibc":
+ raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC'))
+}
+
+COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux"
+
+EXTRA_OECMAKE += "\
+ -DENABLE_QRENDERDOC=OFF \
+ -DENABLE_PYRENDERDOC=OFF \
+ -DENABLE_RENDERDOCCMD=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+"
+
+FILES_${PN} += "${libdir}"
+FILES_${PN}-dev = "${includedir}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb
new file mode 100644
index 000000000..75c2bc00e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.0.0.bb
@@ -0,0 +1,26 @@
+SUMMARY = "tesseract-ocr language files"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9648bd7af63bd3cc4f5ac046d12c49e4"
+
+SRCREV = "590567f20dc044f6948a8e2c61afc714c360ad0e"
+SRC_URI = "git://github.com/tesseract-ocr/tessdata.git"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${datadir}/tessdata
+ cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${D}${datadir}/tessdata
+}
+
+python populate_packages_prepend () {
+ tessdata_dir= d.expand('${datadir}/tessdata')
+ pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
+ pn = d.getVar('PN')
+ d.appendVar('RDEPENDS_' + pn, ' '+' '.join(pkgs))
+}
+
+PACKAGES_DYNAMIC += "^${BPN}-.*"
+ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
deleted file mode 100644
index ac36a91a3..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "tesseract-ocr language files"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9648bd7af63bd3cc4f5ac046d12c49e4"
-
-PV = "3.04.00+git${SRCPV}"
-SRCREV = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"
-SRC_URI = "git://github.com/tesseract-ocr/tessdata.git"
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-do_install() {
- install -d ${D}${datadir}/tessdata
- cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${S}/*.cube.* ${S}/*.tesseract_cube.* ${D}${datadir}/tessdata
-}
-
-python populate_packages_prepend () {
- tessdata_dir= d.expand('${datadir}/tessdata')
- pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
- pn = d.getVar('PN')
- d.appendVar('RDEPENDS_' + pn, ' '+' '.join(pkgs))
-}
-
-PACKAGES_DYNAMIC += "^${BPN}-.*"
-ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
index 6a6258add..e030bd190 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
@@ -2,7 +2,7 @@ require ttf.inc
SUMMARY = "Gentium fonts - TTF Version"
HOMEPAGE = "http://scripts.sil.org/gentium"
-LICENSE = "OFL"
+LICENSE = "OFL-1.0"
LICENSE_URL = "http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=OFL"
LIC_FILES_CHKSUM = "file://OFL;md5=33a5bf7b98a9c0ae87430760ba762295 \
"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
index 5cd9935d6..bd552c08a 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
@@ -2,7 +2,7 @@ require ttf.inc
SUMMARY = "Hunky fonts - TTF Version"
HOMEPAGE = "http://sourceforge.net/projects/hunkyfonts"
-LICENSE = "LGPL"
+LICENSE = "LGPL-2.1+"
LIC_FILES_CHKSUM = "file://../LICENSE;md5=7fbc338309ac38fefcd64b04bb903e34"
PR = "r7"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch b/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch
new file mode 100644
index 000000000..25771168c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch
@@ -0,0 +1,238 @@
+From 2a5cf5021b56bc92c9953d2c82e8c90502d22c97 Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Date: Fri, 13 Sep 2019 10:20:53 +0200
+Subject: [PATCH] build: use autotools
+
+This removes the hand-crafted Makefile in favor of standardized autotools
+build configuration. This is done to allow for easy cross-compilation of
+this project.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+---
+ .gitignore | 17 ++++++++++++
+ Makefile | 66 ---------------------------------------------
+ Makefile.am | 10 +++++++
+ configure.ac | 36 +++++++++++++++++++++++++
+ include/Makefile.am | 9 +++++++
+ man/Makefile.am | 7 +++++
+ obj/.gitkeep | 0
+ src/Makefile.am | 13 +++++++++
+ 8 files changed, 92 insertions(+), 66 deletions(-)
+ delete mode 100644 Makefile
+ create mode 100644 Makefile.am
+ create mode 100644 configure.ac
+ create mode 100644 include/Makefile.am
+ create mode 100644 man/Makefile.am
+ delete mode 100644 obj/.gitkeep
+ create mode 100644 src/Makefile.am
+
+diff --git a/.gitignore b/.gitignore
+index af88e94..4e7355a 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -3,3 +3,20 @@ obj/*.o
+ man/*.1
+ man/*.xml
+ test/GLOB*
++*.o
++
++# autotools stuff
++.deps/
++Makefile
++Makefile.in
++aclocal.m4
++autom4te.cache/
++autostuff/
++config.h
++config.h.in
++config.h.in~
++config.log
++config.status
++configure
++m4/
++stamp-h1
+diff --git a/Makefile b/Makefile
+deleted file mode 100644
+index 6264da0..0000000
+--- a/Makefile
++++ /dev/null
+@@ -1,66 +0,0 @@
+-TARGET = unclutter
+-VERSION = 1.5
+-SDIR = src
+-IDIR = include
+-ODIR = obj
+-
+-INSTALL = install
+-PREFIX = /usr
+-
+-BINDIR = $(PREFIX)/bin
+-MANDIR = $(PREFIX)/share/man/man1
+-LICENSEDIR = $(PREFIX)/share/licenses/$(TARGET)
+-
+-CC = gcc
+-LD = $(CC)
+-PKG_CONFIG = pkg-config
+-
+-CPPFLAGS += -D'__VERSION="${VERSION}"' "-I$(IDIR)"
+-
+-CFLAGS += -std=gnu99
+-CFLAGS += -Wall -Wundef -Wshadow -Wformat-security
+-
+-LDFLAGS += $(shell $(PKG_CONFIG) --libs x11 xi xfixes)
+-# libev has no pkg-config support
+-LDFLAGS += -lev
+-
+-INCS = $(wildcard $(IDIR)/*.h)
+-SRCS = $(wildcard $(SDIR)/*.c)
+-OBJS = $(patsubst %,$(ODIR)/%,$(notdir $(SRCS:.c=.o)))
+-
+-MANS = man/unclutter-xfixes.1
+-
+-.NOTPARALLEL:
+-
+-.PHONY: all
+-all: clean $(TARGET) mans
+-
+-.PHONY: $(TARGET)
+-$(TARGET): $(OBJS)
+- $(LD) $(OBJS) $(LDFLAGS) -o "$(TARGET)"
+-
+-$(ODIR)/%.o: $(SDIR)/%.c $(INCS)
+- $(CC) $(CPPFLAGS) $(CFLAGS) -o "$@" -c "$<"
+-
+-.PHONY: install
+-install: $(TARGET) mans
+- $(INSTALL) -Dm 0755 "$(TARGET)" "$(DESTDIR)$(BINDIR)/$(TARGET)"
+- $(INSTALL) -Dm 0644 man/unclutter-xfixes.1 "$(DESTDIR)$(MANDIR)/unclutter.1"
+- $(INSTALL) -Dm 0644 -t "$(DESTDIR)$(LICENSEDIR)/" LICENSE
+-
+-.PHONY: uninstall
+-uninstall:
+- $(RM) "$(DESTDIR)$(BINDIR)/$(TARGET)"
+- $(RM) "$(DESTDIR)$(MANDIR)/unclutter.1"
+- $(RM) "$(DESTDIR)$(LICENSEDIR)/LICENSE"
+-
+-.PHONY: mans
+-mans: $(MANS)
+-
+-$(MANS): %.1: %.man
+- a2x --no-xmllint -f manpage "$<"
+-
+-.PHONY: clean
+-clean:
+- $(RM) $(TARGET) $(OBJS)
+- $(RM) man/*.1 man/*.xml
+diff --git a/Makefile.am b/Makefile.am
+new file mode 100644
+index 0000000..38ecaa1
+--- /dev/null
++++ b/Makefile.am
+@@ -0,0 +1,10 @@
++ACLOCAL_AMFLAGS = -I m4
++AUTOMAKE_OPTIONS = foreign
++SUBDIRS = include src
++
++if HAS_A2X
++SUBDIRS += man
++endif
++
++licensedir = $(datadir)/licenses/unclutter
++license_DATA = LICENSE
+diff --git a/configure.ac b/configure.ac
+new file mode 100644
+index 0000000..1d59197
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,36 @@
++AC_PREREQ(2.61)
++
++AC_INIT([unclutter-xfixes], 1.6)
++AC_DEFINE_UNQUOTED([VERSION], ["$PACKAGE_VERSION"])
++
++AC_CONFIG_AUX_DIR([autostuff])
++AC_CONFIG_MACRO_DIRS([m4])
++AM_INIT_AUTOMAKE([foreign subdir-objects])
++
++m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
++
++AC_CONFIG_SRCDIR([src])
++AC_CONFIG_HEADER([config.h])
++
++AM_PROG_AR
++AC_PROG_CC
++AC_PROG_INSTALL
++
++# libev has no pkg-config support
++AC_CHECK_HEADERS([ev.h], [], [AC_MSG_ERROR([ev.h not found - please install libev])])
++
++PKG_CHECK_MODULES([X11], [x11 xi xfixes])
++
++AC_CHECK_PROG([has_a2x], [a2x], [true], [false])
++AM_CONDITIONAL([HAS_A2X], [test "x$has_a2x" = xtrue])
++if test "x$has_a2x" = xfalse
++then
++ AC_MSG_NOTICE([a2x not found - needed to generate man pages])
++fi
++
++AC_CONFIG_FILES([Makefile
++ include/Makefile
++ src/Makefile
++ man/Makefile])
++
++AC_OUTPUT
+diff --git a/include/Makefile.am b/include/Makefile.am
+new file mode 100644
+index 0000000..90d8bbc
+--- /dev/null
++++ b/include/Makefile.am
+@@ -0,0 +1,9 @@
++noinst_HEADERS = \
++ all.h \
++ cursor.h \
++ event.h \
++ extensions.h \
++ externals.h \
++ globals.h \
++ types.h \
++ util.h
+diff --git a/man/Makefile.am b/man/Makefile.am
+new file mode 100644
+index 0000000..7856e6a
+--- /dev/null
++++ b/man/Makefile.am
+@@ -0,0 +1,7 @@
++unclutter-xfixes.1:
++ a2x --no-xmllint -f manpage unclutter-xfixes.man
++
++dist_man1_MANS = unclutter-xfixes.1
++
++clean-local:
++ rm -f unclutter-xfixes.1
+diff --git a/obj/.gitkeep b/obj/.gitkeep
+deleted file mode 100644
+index e69de29..0000000
+diff --git a/src/Makefile.am b/src/Makefile.am
+new file mode 100644
+index 0000000..c7f0729
+--- /dev/null
++++ b/src/Makefile.am
+@@ -0,0 +1,13 @@
++AM_CFLAGS = -D'__VERSION="${VERSION}"' "-I$(top_srcdir)/include"
++AM_CFLAGS += -std=gnu99 -Wall -Wundef -Wshadow -Wformat-security
++AM_CFLAGS += $(X11_CFLAGS)
++AM_LDFLAGS = -lev $(X11_LIBS)
++
++bin_PROGRAMS = unclutter
++
++unclutter_SOURCES = \
++ cursor.c \
++ event.c \
++ extensions.c \
++ unclutter.c \
++ util.c
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb b/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb
new file mode 100644
index 000000000..a566bc18a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Remove idle cursor image from screen."
+DESCRIPTION = "This is a rewrite of the popular tool unclutter, but using the x11-xfixes extension."
+AUTHOR = "Ingo Bürk"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b25d2c4cca175f44120d1b8e67cb358d"
+
+SRC_URI = "git://github.com/Airblader/unclutter-xfixes.git \
+ file://0001-build-use-autotools.patch"
+SRCREV = "10fd337bb77e4e93c3380f630a0555372778a948"
+
+inherit autotools pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS = "libev libx11 libxi libxfixes"
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ # LICENSE is installed to /usr/share/licenses but we don't want it in the package
+ rm -rf ${D}${datadir}
+}
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.bb b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.bb
new file mode 100644
index 000000000..d96b50186
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_1.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Video Decode and Presentation API for UNIX"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
+
+DEPENDS = "virtual/libx11 libxext xorgproto"
+
+SRCREV = "f57a9904c43ef5d726320c77baa91d0c38361ed4"
+SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
+
+S = "${WORKDIR}/git"
+
+inherit distro_features_check meson
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_install_append() {
+ rm -f ${D}${libdir}/*/*.la
+}
+
+FILES_${PN}-dbg += "${libdir}/vdpau/.debug"
+FILES_${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}"
+FILES_${PN} += "${libdir}/vdpau/lib*${SOLIBS}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
deleted file mode 100644
index b79a562c8..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Video Decode and Presentation API for UNIX"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
-
-DEPENDS = "virtual/libx11 libxext xorgproto"
-
-PV = "1.1.1+git${SRCPV}"
-
-SRCREV = "a21bf7aa438f5dd40d0a300a3167aa3d6f26dccc"
-SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
-
-S = "${WORKDIR}/git"
-
-inherit distro_features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_install_append() {
- rm -f ${D}${libdir}/*/*.la
-}
-
-FILES_${PN}-dbg += "${libdir}/vdpau/.debug"
-FILES_${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}"
-FILES_${PN} += "${libdir}/vdpau/lib*${SOLIBS}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
index 1aace0200..e4a032135 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
@@ -7,13 +7,12 @@ LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://src/x11vnc.h;endline=31;md5=e871a2ad004776794b616822dcab6314"
-SRC_URI = "https://github.com/LibVNC/x11vnc/archive/${PV}.tar.gz;downloadfilename=x11vnc-${PV}.tar.gz\
+SRCREV = "4ca006fed80410bd9b061a1519bd5d9366bb0bc8"
+SRC_URI = "git://github.com/LibVNC/x11vnc \
file://starting-fix.patch \
file://0001-misc-Makefile.am-don-t-install-Xdummy-when-configure.patch \
"
-
-SRC_URI[md5sum] = "64172e8f896389ec963fff93415f0d93"
-SRC_URI[sha256sum] = "885e5b5f5f25eec6f9e4a1e8be3d0ac71a686331ee1cfb442dba391111bd32bd"
+S = "${WORKDIR}/git"
DEPENDS = "\
jpeg \
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
deleted file mode 100644
index a21dc42a9..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-LICENSE = "ManishSingh"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bd1fb9ee90eead85f7b171807b3ab4f2"
-
-DEPENDS = "libpng libxcursor"
-
-SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "09f56978a62854534deacc8aa8ff3031"
-SRC_URI[sha256sum] = "bc7171a0fa212da866fca2301241630e2009aea8c4ddb75f21b51a31c2e4c581"
-
-inherit distro_features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb b/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb
new file mode 100644
index 000000000..3f4bfaaf1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb
@@ -0,0 +1,14 @@
+LICENSE = "ManishSingh"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bd1fb9ee90eead85f7b171807b3ab4f2"
+
+DEPENDS = "libpng libxcursor"
+
+SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "25cc7ca1ce5dcbb61c2b471c55e686b5"
+SRC_URI[sha256sum] = "35b6f844b24f1776e9006c880a745728800764dbe3b327a128772b4610d8eb3d"
+
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb
deleted file mode 100644
index d2afa78f9..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "a simple program for managing utmp/wtmp entries"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
-SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
-SRC_URI[md5sum] = "e475167a892b589da23edf8edf8c942d"
-SRC_URI[sha256sum] = "78a76ae3f3f6a26547a34630d1b740f42344848b5fb6d7c9c7f7da255e35a6e1"
-
-CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb
new file mode 100644
index 000000000..ad6bd17ad
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "a simple program for managing utmp/wtmp entries"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
+SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
+SRC_URI[md5sum] = "92be564d4be7d8aa7b5024057b715210"
+SRC_URI[sha256sum] = "dfcb9e954273ace63879aec053c7880466f8755752a35aa9ced3fa5f04fd2c33"
+
+CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb
deleted file mode 100644
index 840275387..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "A program to compile XKB keyboard description"
-
-DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \
-XKB keymap into one of several output formats. The most common use for \
-xkbcomp is to create a compiled keymap file (.xkm extension) which can \
-be read directly by XKB-capable X servers or utilities."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8"
-
-PE = "1"
-
-DEPENDS += "libxkbfile"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "2c47a1b8e268df73963c4eb2316b1a89"
-SRC_URI[sha256sum] = "a9ddb3963f263ba13f0ea105d8c45a531832140530217cc559587bb94f02d3e1"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb
new file mode 100644
index 000000000..30fbd1b8d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb
@@ -0,0 +1,19 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "A program to compile XKB keyboard description"
+
+DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \
+XKB keymap into one of several output formats. The most common use for \
+xkbcomp is to create a compiled keymap file (.xkm extension) which can \
+be read directly by XKB-capable X servers or utilities."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8"
+
+PE = "1"
+
+DEPENDS += "libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "93e736c98fb75856ee8227a0c49a128d"
+SRC_URI[sha256sum] = "8ff27486442725e50b02d7049152f51d125ecad71b7ce503cfa09d5d8ceeb9f5"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb
deleted file mode 100644
index cf970d5d6..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "analog / digital clock for X"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=857759ade8f2ddde5c7b32ef7356ea36"
-
-DEPENDS += " libxaw libxrender libxft libxkbfile libxt"
-
-SRC_URI[md5sum] = "eaf124bbc9d13e1a12a29faaa2ed3612"
-SRC_URI[sha256sum] = "53a9169e24f3814fbfcfee3ca0b98637840a3156ed7c7e36ae03940fabae4c9a"
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb
new file mode 100644
index 000000000..31c553eee
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "analog / digital clock for X"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=857759ade8f2ddde5c7b32ef7356ea36"
+
+DEPENDS += " libxaw libxrender libxft libxkbfile libxt"
+
+SRC_URI[md5sum] = "437522a96f424f68fc64ed34ece9b211"
+SRC_URI[sha256sum] = "cf461fb2c6f2ac42c54d8429ee2010fdb9a1442a370adfbfe8a7bfaf33c123bb"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb
deleted file mode 100644
index c74b29194..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "xfontsel provides point and click selection of X11 font names"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
-DEPENDS += " libxaw"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
-
-SRC_URI[md5sum] = "a40302b88c599b63e3d3d412e02871e6"
-SRC_URI[sha256sum] = "170d8550b96fb47b04db6181b947e6f6b8b97f4df5d691c351a278480cc931bf"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb
new file mode 100644
index 000000000..e9260240d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xfontsel provides point and click selection of X11 font names"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
+DEPENDS += " libxaw"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
+
+SRC_URI[md5sum] = "13150ff98846bf6d9a14bee00697fa47"
+SRC_URI[sha256sum] = "25aa0b7c4262f5e99c07c2b96e00e4eb25b7e53f94fa803942af9d0e8da3001c"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb
deleted file mode 100644
index d57742180..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "xmag is a tool to magnify parts of the screen"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387"
-DEPENDS += " libxaw libxt"
-
-SRC_URI[md5sum] = "280b81cb09d1903aa868a058d90128ad"
-SRC_URI[sha256sum] = "4ace8795cf756be4ba387f30366045594ce26adda2f5ffe1f8e896825d0932c6"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb
new file mode 100644
index 000000000..ab74f5bd6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xmag is a tool to magnify parts of the screen"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387"
+DEPENDS += " libxaw libxt"
+
+SRC_URI[md5sum] = "8aaa41374935d697ee55d7dc9de70781"
+SRC_URI[sha256sum] = "87a2bc23b251e2d8f8370d3283a4d6c8dac98a30cb5749a04336cdb55c14e161"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb
deleted file mode 100644
index 9960706d0..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "Display a message or query in a window"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5"
-
-DEPENDS += "libxaw"
-
-SRC_URI[md5sum] = "2dd5ae46fa18abc9331bc26250a25005"
-SRC_URI[sha256sum] = "bcdf4b461c439bb3ade6e1e41c47d6218b912da8e9396b7ad70856db2f95ab68"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb
new file mode 100644
index 000000000..23cfb26c7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "Display a message or query in a window"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5"
+
+DEPENDS += "libxaw"
+
+SRC_URI[md5sum] = "e50ffae17eeb3943079620cb78f5ce0b"
+SRC_URI[sha256sum] = "373dfb81e7a6f06d3d22485a12fcde6e255d58c6dee1bbaeb00c7d0caa9b2029"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
deleted file mode 100644
index c2feb8107..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "xterm is the standard terminal emulator for the X Window System"
-DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses"
-
-LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=f02ab9ebda87b770ecf711dbb3784a33"
-
-SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
-
-SRC_URI[md5sum] = "9a6db7974aa4ccbb50eabebf72618467"
-SRC_URI[sha256sum] = "7aeef9f29f6b95e09f481173c8c3053357bf5ffe162585647f690fd1707556df"
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
-
-EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
- FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
- --disable-imake \
- --disable-rpath-hack \
- --disable-setuid"
-
-B = "${S}"
-
-do_configure() {
- gnu-configize --force
- sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
- oe_runconf
-}
-
-FILES_${PN} += "/usr/lib/X11"
-
-# busybox can supply resize too
-inherit update-alternatives
-
-ALTERNATIVE_${PN} = "resize"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_349.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_349.bb
new file mode 100644
index 000000000..137a1655e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_349.bb
@@ -0,0 +1,34 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "xterm is the standard terminal emulator for the X Window System"
+DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses"
+
+LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=c7faceb872d90115e7c0ad90e90c390d"
+
+SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
+
+SRC_URI[md5sum] = "194012229738f74bc44e7c0f5f6bf0c8"
+SRC_URI[sha256sum] = "39a6a3d3724f9a0a068f8cc353ab0c82831f0a43abb24470d933af299658475f"
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
+
+EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
+ --x-libraries=${STAGING_LIBDIR} \
+ FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
+ --disable-imake \
+ --disable-rpath-hack \
+ --disable-setuid \
+ --with-app-defaults=${datadir}/X11/app-defaults \
+ "
+
+B = "${S}"
+
+do_configure() {
+ gnu-configize --force
+ sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
+ oe_runconf
+}
+
+# busybox can supply resize too
+inherit update-alternatives
+
+ALTERNATIVE_${PN} = "resize"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb
new file mode 100644
index 000000000..85687611e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb
@@ -0,0 +1,12 @@
+require xorg-doc-common.inc
+PE = "1"
+PR = "${INC_PR}.0"
+
+DEPENDS += "util-macros"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449"
+
+SRC_URI[md5sum] = "ee6dc0a8a693a908857af328b2462661"
+SRC_URI[sha256sum] = "e71ce1df82dcc51eb14be6f42171dcc6bdd11ef46c0c605d6da8af12bd73b74c"
+
+FILES_${PN} += " /usr/share/sgml/X11"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb
deleted file mode 100644
index 80f1f008b..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require xorg-doc-common.inc
-PE = "1"
-PR = "${INC_PR}.0"
-
-DEPENDS += "util-macros"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449"
-
-SRC_URI[md5sum] = "2588efb3f49f7fc6ecf41ce42e0b2e5e"
-SRC_URI[sha256sum] = "84fd94e5c50556e6f77501485f8a48724cf3c95c6d58480bc280258ba14580c8"
-
-FILES_${PN} += " /usr/share/sgml/X11"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb
deleted file mode 100644
index 2b1b87c4d..000000000
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-
-SUMMARY = "X.Org X server -- nouveau video driver"
-
-DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics"
-
-DEPENDS += "virtual/libx11 libxvmc drm xorgproto \
- virtual/libgl libpciaccess"
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
-SRC_URI[md5sum] = "717203cb87029cddcbccf7398f9ad8c3"
-SRC_URI[sha256sum] = "aede10fd395610a328697adca3434fb14e9afbd79911d6c8545cfa2c0e541d4c"
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb
new file mode 100644
index 000000000..3966867ee
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb
@@ -0,0 +1,19 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
+
+SUMMARY = "X.Org X server -- nouveau video driver"
+
+DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics"
+
+DEPENDS += "virtual/libx11 libxvmc drm xorgproto \
+ virtual/libgl libpciaccess"
+RDEPENDS_${PN} += "xserver-xorg-module-exa"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+SRC_URI[md5sum] = "ecd9be89d853301167e3d564c49f7a8e"
+SRC_URI[sha256sum] = "304060806415579cdb5c1f71f1c54d11cacb431b5552b170decbc883ed43bf06"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
index 45e3f7b59..ae9704050 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
@@ -1,5 +1,5 @@
SUMMARY = "Xorg 100 DPI font set"
-LICENSE = "Custom"
+LICENSE = "MIT"
inherit packagegroup distro_features_check
# rdepends on font recipes with this restriction
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb b/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
index 3a88f12ec..c2b345da6 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb
@@ -15,7 +15,7 @@ SRC_URI += " \
DEPENDS = "intltool-native libx11 libxext libxt libxft glib-2.0-native bc-native"
# These are only needed as part of the stopgap screensaver implementation:
-RDEPENDS_${PN} += "xserver-nodm-init liberation-fonts"
+RDEPENDS_${PN} += "liberation-fonts"
inherit systemd perlnative pkgconfig gettext autotools-brokensep distro_features_check
diff --git a/meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb
new file mode 100644
index 000000000..c69f47dcd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/yad/yad_4.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Yet Another Dialog"
+DESCRIPTION = "Program allowing you to display GTK+ dialog boxes from command line or shell scripts."
+AUTHOR = "Victor Ananjevsky"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "git://github.com/v1cont/yad.git"
+SRCREV = "3857a0a8822fc0a7206e804f15cc17b85a5f8ce2"
+
+inherit autotools gsettings
+
+DEPENDS = "gtk+3 glib-2.0-native intltool-native"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${datadir}/icons/"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb b/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb
new file mode 100644
index 000000000..2eb19206d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Proxy for UDP/TCP debug connections"
+DESCRIPTION = "The agent-proxy will forward tcp or udp connections as well as allow for script multiplexing of terminal sessions."
+HOMEPAGE = "http://kgdb.wiki.kernel.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+SECTION = "devel"
+
+EXTRA_OEMAKE = "'CC=${CC}'"
+
+SRCREV = "468fe4c31e6c62c9bbb328b06ba71eaf7be0b76a"
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kgdb/agent-proxy.git;protocol=git \
+ file://0001-Makefile-Add-LDFLAGS-variable.patch \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 agent-proxy ${D}${bindir}
+}
diff --git a/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb b/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb
deleted file mode 100644
index 8e370f962..000000000
--- a/meta-openembedded/meta-oe/recipes-kernel/agent-proxy/agent-proxy_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Proxy for UDP/TCP debug connections"
-DESCRIPTION = "The agent-proxy will forward tcp or udp connections as well as allow for script multiplexing of terminal sessions."
-HOMEPAGE = "http://kgdb.wiki.kernel.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
-
-SECTION = "devel"
-
-EXTRA_OEMAKE = "'CC=${CC}'"
-
-SRCREV = "e6c9d3d996bd55e7ab14dbd74deb7841e0c3a4f1"
-PV = "1.96+git${SRCPV}"
-
-SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kgdb/agent-proxy.git;protocol=git \
- file://0001-Makefile-Add-LDFLAGS-variable.patch \
-"
-
-BBCLASSEXTEND = "native nativesdk"
-
-S = "${WORKDIR}/git"
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 agent-proxy ${D}${bindir}
-}
diff --git a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
index 39c478a95..6683eccf2 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
@@ -9,7 +9,9 @@ inherit bash-completion kernelsrc kernel-arch
do_populate_lic[depends] += "virtual/kernel:do_patch"
-EXTRA_OEMAKE = "-C ${S}/tools/bpf/bpftool O=${B} CROSS=${TARGET_PREFIX} CC="${CC}" LD="${LD}" AR=${AR} ARCH=${ARCH}"
+EXTRA_OEMAKE = "V=1 -C ${S}/tools/bpf/bpftool O=${B} CROSS=${TARGET_PREFIX} CC="${CC}" LD="${LD}" AR=${AR} ARCH=${ARCH}"
+
+SECURITY_CFLAGS = ""
do_configure[depends] += "virtual/kernel:do_shared_workdir"
@@ -30,3 +32,4 @@ python do_package_prepend() {
}
B = "${WORKDIR}/${BPN}-${PV}"
+PNBLACKLIST[bpftool] = "Needs forward porting to kernel 5.2+"
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
deleted file mode 100644
index e124db19c..000000000
--- a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.5.bb
+++ /dev/null
@@ -1,120 +0,0 @@
-SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
-DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
-investigate either live systems, kernel core dumps created from the\
-netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
-offered by Mission Critical Linux, or the LKCD kernel patch."
-
-HOMEPAGE = "http://people.redhat.com/anderson"
-SECTION = "devel"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "zlib readline coreutils-native"
-
-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 \
- file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
- file://sim-common-sim-arange-fix-extern-inline-handling.patch \
- file://donnot-extract-gdb-during-do-compile.patch \
- file://gdb_build_jobs_and_not_write_crash_target.patch \
- file://remove-unrecognized-gcc-option-m32-for-mips.patch \
- file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
- file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
- "
-SRCREV = "c0a2fc9d322cf0c5f569ce54e9201d2f586edb0c"
-
-SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
-SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
-
-UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
-
-inherit gettext
-
-BBCLASSEXTEND = "native cross"
-TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
-
-# crash 7.1.3 and before don't support mips64
-COMPATIBLE_HOST = "^(?!mips64).*"
-
-EXTRA_OEMAKE = 'RPMPKG="${PV}" \
- GDB_TARGET="${TARGET_SYS}" \
- GDB_HOST="${BUILD_SYS}" \
- GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
- LDFLAGS="${LDFLAGS}" \
- '
-
-EXTRA_OEMAKE_class-cross = 'RPMPKG="${PV}" \
- GDB_TARGET="${BUILD_SYS} \
- \${GDB_CONF_FLAGS} \
- --target=${TARGET_SYS}" \
- GDB_HOST="${BUILD_SYS}" \
- GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
- '
-
-EXTRA_OEMAKE_append_class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
-EXTRA_OEMAKE_append_class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
-
-REMOVE_M32 = "sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c"
-
-REMOVE_M32_class-cross = ""
-
-do_configure() {
- :
-}
-
-do_compile_prepend() {
- case ${TARGET_ARCH} in
- aarch64*) ARCH=ARM64 ;;
- arm*) ARCH=ARM ;;
- i*86*) ARCH=X86 ;;
- x86_64*) ARCH=X86_64 ;;
- powerpc64*) ARCH=PPC64 ;;
- powerpc*) ARCH=PPC ;;
- mips*) ARCH=MIPS ;;
- esac
-
- sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
- ${REMOVE_M32}
- sed -i 's/&gt;/>/g' ${S}/Makefile
-}
-
-do_compile() {
- oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
-}
-
-do_install_prepend () {
- install -d ${D}${bindir}
- install -d ${D}/${mandir}/man8
- install -d ${D}${includedir}/crash
-
- install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
- install -m 0644 ${S}/defs.h ${D}${includedir}/crash
-}
-
-do_install_class-target () {
- oe_runmake DESTDIR=${D} install
-}
-
-do_install_class-native () {
- oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
-}
-
-do_install_class-cross () {
- install -m 0755 ${S}/crash ${D}/${bindir}
-}
-
-RDEPENDS_${PN} += "liblzma"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-cross = ""
-
-# Causes gcc to get stuck and eat all available memory in qemuarm builds
-# jenkins 15161 100 12.5 10389596 10321284 ? R 11:40 28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o -
-ARM_INSTRUCTION_SET = "arm"
-
-# http://errors.yoctoproject.org/Errors/Details/186964/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.7.bb b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.7.bb
new file mode 100644
index 000000000..8098d096e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/crash/crash_7.2.7.bb
@@ -0,0 +1,120 @@
+SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
+DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
+investigate either live systems, kernel core dumps created from the\
+netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
+offered by Mission Critical Linux, or the LKCD kernel patch."
+
+HOMEPAGE = "http://people.redhat.com/anderson"
+SECTION = "devel"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "zlib readline coreutils-native"
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/crash-utility/${BPN}.git \
+ ${GNU_MIRROR}/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 \
+ file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
+ file://sim-common-sim-arange-fix-extern-inline-handling.patch \
+ file://donnot-extract-gdb-during-do-compile.patch \
+ file://gdb_build_jobs_and_not_write_crash_target.patch \
+ file://remove-unrecognized-gcc-option-m32-for-mips.patch \
+ file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
+ file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
+ "
+SRCREV = "5b0e3777ccbb571678791903e93446ccd0aba03a"
+
+SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
+SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
+
+UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
+
+inherit gettext
+
+BBCLASSEXTEND = "native cross"
+TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
+
+# crash 7.1.3 and before don't support mips64
+COMPATIBLE_HOST = "^(?!mips64).*"
+
+EXTRA_OEMAKE = 'RPMPKG="${PV}" \
+ GDB_TARGET="${TARGET_SYS}" \
+ GDB_HOST="${BUILD_SYS}" \
+ GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
+ LDFLAGS="${LDFLAGS}" \
+ '
+
+EXTRA_OEMAKE_class-cross = 'RPMPKG="${PV}" \
+ GDB_TARGET="${BUILD_SYS} \
+ \${GDB_CONF_FLAGS} \
+ --target=${TARGET_SYS}" \
+ GDB_HOST="${BUILD_SYS}" \
+ GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
+ '
+
+EXTRA_OEMAKE_append_class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
+EXTRA_OEMAKE_append_class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
+
+REMOVE_M32 = "sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c"
+
+REMOVE_M32_class-cross = ""
+
+do_configure() {
+ :
+}
+
+do_compile_prepend() {
+ case ${TARGET_ARCH} in
+ aarch64*) ARCH=ARM64 ;;
+ arm*) ARCH=ARM ;;
+ i*86*) ARCH=X86 ;;
+ x86_64*) ARCH=X86_64 ;;
+ powerpc64*) ARCH=PPC64 ;;
+ powerpc*) ARCH=PPC ;;
+ mips*) ARCH=MIPS ;;
+ esac
+
+ sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
+ ${REMOVE_M32}
+ sed -i 's/&gt;/>/g' ${S}/Makefile
+}
+
+do_compile() {
+ oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
+}
+
+do_install_prepend () {
+ install -d ${D}${bindir}
+ install -d ${D}/${mandir}/man8
+ install -d ${D}${includedir}/crash
+
+ install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
+ install -m 0644 ${S}/defs.h ${D}${includedir}/crash
+}
+
+do_install_class-target () {
+ oe_runmake DESTDIR=${D} install
+}
+
+do_install_class-native () {
+ oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
+}
+
+do_install_class-cross () {
+ install -m 0755 ${S}/crash ${D}/${bindir}
+}
+
+RDEPENDS_${PN} += "liblzma"
+RDEPENDS_${PN}_class-native = ""
+RDEPENDS_${PN}_class-cross = ""
+
+# Causes gcc to get stuck and eat all available memory in qemuarm builds
+# jenkins 15161 100 12.5 10389596 10321284 ? R 11:40 28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o -
+ARM_INSTRUCTION_SET = "arm"
+
+# http://errors.yoctoproject.org/Errors/Details/186964/
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
index 181e97cac..02359e782 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
@@ -39,6 +39,7 @@ EXTRA_OEMAKE = '\
CROSS_COMPILE=${TARGET_PREFIX} \
ARCH=${ARCH} \
CC="${CC}" \
+ CLANG="clang -fno-stack-protector" \
AR="${AR}" \
LD="${LD}" \
DESTDIR="${D}" \
@@ -52,20 +53,11 @@ KERNEL_SELFTEST_SRC ?= "Makefile \
LICENSES \
"
-python __anonymous () {
- import re
-
- var = d.getVar('TARGET_CC_ARCH')
- pattern = '_FORTIFY_SOURCE=[^0]'
-
- if re.search(pattern, var):
- d.appendVar('TARGET_CC_ARCH', " -O")
-}
-
do_compile() {
- bbwarn "clang >= 6.0 with bpf support is needed with kernel 4.18+ so \
-either install it and add it to HOSTTOOLS, or add \
-clang-native from meta-clang to dependency"
+ if [ ${@bb.utils.contains('DEPENDS', 'clang-native', 'True', 'False', d)} = 'False' ]; then
+ bbwarn "clang >= 6.0 with bpf support is needed with kernel 4.18+ so
+either install it and add it to HOSTTOOLS, or add clang-native from meta-clang to dependency"
+ fi
for i in ${TEST_LIST}
do
oe_runmake -C ${S}/tools/testing/selftests/${i}
@@ -121,3 +113,11 @@ FILES_${PN} += "/usr/kernel-selftest"
RDEPENDS_${PN} += "python3"
# tools/testing/selftests/vm/Makefile doesn't respect LDFLAGS and tools/testing/selftests/Makefile explicitly overrides to empty
INSANE_SKIP_${PN} += "ldflags"
+
+SECURITY_CFLAGS = ""
+COMPATIBLE_HOST_libc-musl = 'null'
+
+# It has native clang/llvm dependency, poky distro is reluctant to include them as deps
+# this helps with world builds on AB
+EXCLUDE_FROM_WORLD = "1"
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc b/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc
index cd819f31f..1f70f7205 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc
+++ b/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch.inc
@@ -15,7 +15,9 @@ EXTRA_OEMAKE = " \
LIBDIR=${D}${libdir} \
MANDIR=${D}${mandir}/man1 \
SYSTEMDDIR=${D}${systemd_system_unitdir} \
+ UPSTARTDIR=${D}${sysconfdir}/init \
DESTDIR=${D} \
+ ARCH=${TARGET_ARCH} \
BUILDMOD=no \
CC='${CC}' \
"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch b/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch
index ab3b12764..348d82acc 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch
+++ b/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0001-kpatch-build-add-cross-compilation-support.patch
@@ -1,6 +1,6 @@
-From 70de3fecbc551907c4fd504cfff385c73be8db75 Mon Sep 17 00:00:00 2001
-From: Ruslan Bilovol <rbilovol@cisco.com>
-Date: Tue, 19 Dec 2017 15:59:04 +0200
+From 21909e3f9096fa8e4825df8c65114ee92ab3d532 Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Wed, 7 Aug 2019 02:57:35 +0900
Subject: [PATCH] kpatch-build: add cross-compilation support
This patch introduces new option for kpatch-build
@@ -17,44 +17,45 @@ possible to pass multy-component strings like
Upstream-Status: Pending
Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
-
---
kpatch-build/kpatch-build | 13 +++++++++++--
kpatch-build/kpatch-gcc | 4 ++--
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build
-index a76913f..4a011aa 100755
+index 9ef3809..463dab1 100755
--- a/kpatch-build/kpatch-build
+++ b/kpatch-build/kpatch-build
-@@ -197,7 +197,7 @@ gcc_version_check() {
+@@ -198,7 +198,7 @@ gcc_version_check() {
# gcc --version varies between distributions therefore extract version
# by compiling a test file and compare it to vmlinux's version.
echo 'void main(void) {}' > "$c"
- out="$(gcc -c -pg -ffunction-sections -o "$o" "$c" 2>&1)"
+ out="$(${KPATCH_CROSS_COMPILE}gcc -c -pg -ffunction-sections -o "$o" "$c" 2>&1)"
gccver="$(gcc_version_from_file "$o")"
- kgccver="$(gcc_version_from_file "$VMLINUX")"
- rm -f "$c" "$o"
-@@ -392,12 +392,14 @@ usage() {
- echo " -d, --debug Enable 'xtrace' and keep scratch files" >&2
- echo " in <CACHEDIR>/tmp" >&2
+ if [[ -n "$OOT_MODULE" ]]; then
+ kgccver="$(gcc_version_from_file "$OOT_MODULE")"
+@@ -411,6 +411,8 @@ usage() {
echo " (can be specified multiple times)" >&2
+ echo " -e, --oot-module Enable patching out-of-tree module," >&2
+ echo " specify current version of module" >&2
+ echo " --cross-compile Specify the prefix used for all executables" >&2
+ echo " used during compilation" >&2
echo " --skip-cleanup Skip post-build cleanup" >&2
- echo " --skip-gcc-check Skip gcc version matching check" >&2
+ echo " --skip-gcc-check Skip gcc version matching check" >&2
+ echo " (not recommended)" >&2
+@@ -416,7 +418,7 @@ usage() {
echo " (not recommended)" >&2
}
--options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
-+options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
+-options="$(getopt -o ha:r:s:c:v:j:t:n:o:de: -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,debug,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
++options="$(getopt -o ha:r:s:c:v:j:t:n:o:de: -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
eval set -- "$options"
-@@ -455,6 +457,10 @@ while [[ $# -gt 0 ]]; do
- echo "DEBUG mode enabled"
- fi
+@@ -479,6 +481,10 @@ while [[ $# -gt 0 ]]; do
+ OOT_MODULE="$(readlink -f "$2")"
+ shift
;;
+ --cross-compile)
+ KPATCH_CROSS_COMPILE="$2"
@@ -63,17 +64,17 @@ index a76913f..4a011aa 100755
--skip-cleanup)
echo "Skipping cleanup"
SKIPCLEANUP=1
-@@ -710,6 +716,8 @@ if [[ $DEBUG -ge 4 ]]; then
+@@ -757,6 +763,8 @@ if [[ $DEBUG -ge 4 ]]; then
export KPATCH_GCC_DEBUG=1
fi
+export KPATCH_CROSS_COMPILE
+
- echo "Building original kernel"
- ./scripts/setlocalversion --save-scmversion || die
+ echo "Building original source"
+ [[ -n "$OOT_MODULE" ]] || ./scripts/setlocalversion --save-scmversion || die
unset KPATCH_GCC_TEMPDIR
-@@ -874,6 +882,7 @@ cd "$TEMPDIR/patch" || die
- KPATCH_BUILD="$SRCDIR" KPATCH_NAME="$MODNAME" \
+@@ -940,6 +948,7 @@ fi
+ KPATCH_BUILD="$KPATCH_BUILD" KPATCH_NAME="$MODNAME" \
KBUILD_EXTRA_SYMBOLS="$KBUILD_EXTRA_SYMBOLS" \
KPATCH_LDFLAGS="$KPATCH_LDFLAGS" \
+CROSS_COMPILE="$KPATCH_CROSS_COMPILE" \
@@ -81,7 +82,7 @@ index a76913f..4a011aa 100755
if ! "$KPATCH_MODULE"; then
diff --git a/kpatch-build/kpatch-gcc b/kpatch-build/kpatch-gcc
-index 2d56da1..59a4255 100755
+index 9663290..56e6c8f 100755
--- a/kpatch-build/kpatch-gcc
+++ b/kpatch-build/kpatch-gcc
@@ -8,7 +8,7 @@ TOOLCHAINCMD="$1"
@@ -93,9 +94,12 @@ index 2d56da1..59a4255 100755
fi
declare -a args=("$@")
-@@ -82,4 +82,4 @@ elif [[ "$TOOLCHAINCMD" = "ld" ]] ; then
+@@ -84,4 +84,4 @@ elif [[ "$TOOLCHAINCMD" = "ld" ]] ; then
done
fi
-exec "$TOOLCHAINCMD" "${args[@]}"
+exec ${KPATCH_CROSS_COMPILE}${TOOLCHAINCMD} "${args[@]}"
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch b/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch
index 13cdc6bfb..603a1475a 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch
+++ b/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch/0002-kpatch-build-allow-overriding-of-distro-name.patch
@@ -1,6 +1,6 @@
-From 15838a86d5ea94fa05976ea32fd847b18261b403 Mon Sep 17 00:00:00 2001
-From: Ruslan Bilovol <rbilovol@cisco.com>
-Date: Tue, 2 Jan 2018 14:50:03 +0200
+From 4143fa0092fe4cafee10b24a97d3ad0b41ab7a30 Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Wed, 7 Aug 2019 03:24:39 +0900
Subject: [PATCH] kpatch-build: allow overriding of distro name
It is sometimes useful to have ability to override
@@ -14,17 +14,16 @@ implements all needed functionality
Upstream-Status: Pending
Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
-
---
kpatch-build/kpatch-build | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/kpatch-build/kpatch-build b/kpatch-build/kpatch-build
-index 4a011aa..eb6cd64 100755
+index 39933fc..c0258a2 100755
--- a/kpatch-build/kpatch-build
+++ b/kpatch-build/kpatch-build
-@@ -394,12 +394,13 @@ usage() {
- echo " (can be specified multiple times)" >&2
+@@ -413,12 +413,13 @@ usage() {
+ echo " specify current version of module" >&2
echo " --cross-compile Specify the prefix used for all executables" >&2
echo " used during compilation" >&2
+ echo " --distro Override distro name" >&2
@@ -33,12 +32,12 @@ index 4a011aa..eb6cd64 100755
echo " (not recommended)" >&2
}
--options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
-+options="$(getopt -o ha:r:s:c:v:j:t:n:o:d -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,debug,cross-compile:,distro:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
+-options="$(getopt -o ha:r:s:c:v:j:t:n:o:de: -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,debug,cross-compile:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
++options="$(getopt -o ha:r:s:c:v:j:t:n:o:de: -l "help,archversion:,sourcerpm:,sourcedir:,config:,vmlinux:,jobs:,target:,name:,output:,oot-module:,debug,cross-compile:,distro:,skip-gcc-check,skip-cleanup" -- "$@")" || die "getopt failed"
eval set -- "$options"
-@@ -461,6 +462,10 @@ while [[ $# -gt 0 ]]; do
+@@ -485,6 +486,10 @@ while [[ $# -gt 0 ]]; do
KPATCH_CROSS_COMPILE="$2"
shift
;;
@@ -49,7 +48,7 @@ index 4a011aa..eb6cd64 100755
--skip-cleanup)
echo "Skipping cleanup"
SKIPCLEANUP=1
-@@ -539,7 +544,7 @@ fi
+@@ -571,7 +576,7 @@ fi
# Don't check external file.
# shellcheck disable=SC1091
source /etc/os-release
@@ -58,3 +57,6 @@ index 4a011aa..eb6cd64 100755
if [[ "$DISTRO" = fedora ]] || [[ "$DISTRO" = rhel ]] || [[ "$DISTRO" = ol ]] || [[ "$DISTRO" = centos ]]; then
[[ -z "$VMLINUX" ]] && VMLINUX="/usr/lib/debug/lib/modules/$ARCHVERSION/vmlinux"
[[ -e "$VMLINUX" ]] || die "kernel-debuginfo-$ARCHVERSION not installed"
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb b/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb
index 024cca655..6326a2538 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/kpatch/kpatch_git.bb
@@ -2,9 +2,9 @@ require kpatch.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRCREV = "7f550f01bd308cf058ae782327d29c8916cc5602"
+SRCREV = "2a29bc7dea9a7da12705c7b50315eee1acdd9156"
-PV = "0.6.1+git${SRCPV}"
+PV = "0.8.0"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
index a47806526..c0f82f321 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
+++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
@@ -1,4 +1,4 @@
-From 8eeb1b15608ce1a9a1f0d5417938fd6da4504406 Mon Sep 17 00:00:00 2001
+From af97e2ad643334b4c7c3d66f971ce9ebb2b596af Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Thu, 21 Jul 2016 18:06:21 +0800
Subject: [PATCH] makedumpfile: replace hardcode CFLAGS
@@ -13,30 +13,28 @@ Subject: [PATCH] makedumpfile: replace hardcode CFLAGS
Upstream-Status: Inappropriate[oe specific]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
-
---
- Makefile | 46 +++++++++++++++++++++++-----------------------
- 1 file changed, 23 insertions(+), 23 deletions(-)
+ Makefile | 45 +++++++++++++++++++++++----------------------
+ 1 file changed, 23 insertions(+), 22 deletions(-)
diff --git a/Makefile b/Makefile
-index 612b9d0..f6d6265 100644
+index 1fdb628..5dce589 100644
--- a/Makefile
+++ b/Makefile
-@@ -8,13 +8,6 @@ ifeq ($(strip $CC),)
+@@ -8,12 +8,6 @@ ifeq ($(strip $CC),)
CC = gcc
endif
--CFLAGS = -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
-- -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \
-- -DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(DATE)"'
--CFLAGS_ARCH = -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
-- -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+-CFLAGS_BASE := $(CFLAGS) -g -O2 -Wall -D_FILE_OFFSET_BITS=64 \
+- -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
+-CFLAGS := $(CFLAGS_BASE) -DVERSION='"$(VERSION)"' -DRELEASE_DATE='"$(DATE)"'
+-CFLAGS_ARCH := $(CFLAGS_BASE)
-# LDFLAGS = -L/usr/local/lib -I/usr/local/include
-
HOST_ARCH := $(shell uname -m)
# Use TARGET as the target architecture if specified.
# Defaults to uname -m
-@@ -22,29 +15,36 @@ ifeq ($(strip($TARGET)),)
+@@ -21,29 +15,36 @@ ifeq ($(strip($TARGET)),)
TARGET := $(HOST_ARCH)
endif
@@ -72,18 +70,18 @@ index 612b9d0..f6d6265 100644
endif
+CFLAGS_ARCH += $(CFLAGS) \
-+ -D_FILE_OFFSET_BITS=64 \
-+ -D_LARGEFILE_SOURCE \
-+ -D_LARGEFILE64_SOURCE
++ -D_FILE_OFFSET_BITS=64 \
++ -D_LARGEFILE_SOURCE \
++ -D_LARGEFILE64_SOURCE
+
+CFLAGS_COMMON = $(CFLAGS_ARCH) \
-+ -DVERSION='"$(VERSION)"' \
-+ -DRELEASE_DATE='"$(DATE)"'
++ -DVERSION='"$(VERSION)"' \
++ -DRELEASE_DATE='"$(DATE)"'
+
SRC_BASE = makedumpfile.c makedumpfile.h diskdump_mod.h sadump_mod.h sadump_info.h
SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c sadump_info.c cache.c tools.c
OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART))
-@@ -53,17 +53,17 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
+@@ -52,17 +53,17 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
LIBS = -ldw -lbz2 -lebl -ldl -lelf -lz
ifneq ($(LINKTYPE), dynamic)
@@ -104,7 +102,7 @@ index 612b9d0..f6d6265 100644
endif
LIBS := -lpthread $(LIBS)
-@@ -71,14 +71,14 @@ LIBS := -lpthread $(LIBS)
+@@ -82,14 +83,14 @@ LIBS := $(LIBS) $(call try-run,\
all: makedumpfile
$(OBJ_PART): $(SRC_PART)
@@ -121,7 +119,7 @@ index 612b9d0..f6d6265 100644
echo .TH MAKEDUMPFILE 8 \"$(DATE)\" \"makedumpfile v$(VERSION)\" \"Linux System Administrator\'s Manual\" > temp.8
grep -v "^.TH MAKEDUMPFILE 8" $(VPATH)makedumpfile.8 >> temp.8
mv temp.8 makedumpfile.8
-@@ -89,7 +89,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
+@@ -100,7 +101,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
gzip -c ./makedumpfile.conf.5 > ./makedumpfile.conf.5.gz
eppic_makedumpfile.so: extension_eppic.c
@@ -130,3 +128,6 @@ index 612b9d0..f6d6265 100644
clean:
rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8.gz makedumpfile.conf.5.gz
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
index 156b4d57d..1707df3e3 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
+++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
@@ -1,4 +1,4 @@
-From 0d1cdb59da3603e0a80913617ece0164b05380d2 Mon Sep 17 00:00:00 2001
+From 9045b72bdb703bf58a6586d77461eea8f59f50f7 Mon Sep 17 00:00:00 2001
From: Alexandru Moise <alexandru.moise@windriver.com>
Date: Fri, 29 Apr 2016 07:40:46 +0000
Subject: [PATCH] mem_section: Support only 46 bit for MAX_PHYSMEM_BITS on
@@ -23,18 +23,20 @@ Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
[hqBai: adjusted patch for context, no logical change]
Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
- arch/ppc64.c | 33 ++-------------------------------
- 1 file changed, 2 insertions(+), 31 deletions(-)
+ arch/ppc64.c | 38 ++------------------------------------
+ 1 file changed, 2 insertions(+), 36 deletions(-)
diff --git a/arch/ppc64.c b/arch/ppc64.c
-index 947a125..458f06b 100644
+index 9d8f252..6f4860f 100644
--- a/arch/ppc64.c
+++ b/arch/ppc64.c
-@@ -463,42 +463,13 @@ ppc64_vtop_level4(unsigned long vaddr)
+@@ -462,48 +462,14 @@ ppc64_vtop_level4(unsigned long vaddr)
+ return paddr;
}
- int
+-int
-set_ppc64_max_physmem_bits(void)
-{
- long array_len = ARRAY_LENGTH(mem_section);
@@ -58,10 +60,15 @@ index 947a125..458f06b 100644
- || (array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT())))
- return TRUE;
-
+- info->max_physmem_bits = _MAX_PHYSMEM_BITS_4_20;
+- if ((array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT_EXTREME()))
+- || (array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT())))
+- return TRUE;
+-
- return FALSE;
-}
-
--int
+ int
get_machdep_info_ppc64(void)
{
unsigned long vmlist, vmap_area_list, vmalloc_start;
@@ -77,5 +84,5 @@ index 947a125..458f06b 100644
if (SYMBOL(_stext) == NOT_FOUND_SYMBOL) {
--
-2.7.4
+2.21.0
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.5.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.5.bb
deleted file mode 100644
index 413b413a9..000000000
--- a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.5.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "VMcore extraction tool"
-DESCRIPTION = "\
- This program is used to extract a subset of the memory available either \
- via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory \
- images without extra uneeded information (zero pages, userspace programs, \
- etc). \
-"
-HOMEPAGE = "http://makedumpfile.sourceforge.net"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-LICENSE = "GPLv2.0"
-
-DEPENDS = "bzip2 zlib elfutils"
-RDEPENDS_${PN}-tools = "perl ${PN}"
-
-# arm and aarch64 would compile but has never been tested upstream. mips would not compile.
-#
-COMPATIBLE_HOST = "(x86_64|i.86|powerpc|arm|aarch64).*-linux"
-
-PACKAGES =+ "${PN}-tools"
-FILES_${PN}-tools = "${bindir}/*.pl"
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/makedumpfile/${BPN}-${PV}.tar.gz \
- file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
- file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \
-"
-SRC_URI[md5sum] = "1737f8e8904d565629f0c9e702f92d02"
-SRC_URI[sha256sum] = "5d4f1d6ded8dca6951eeabcf4bb1ebf6575288fee947529397103c040eb5c760"
-
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/makedumpfile/files/makedumpfile/"
-UPSTREAM_CHECK_REGEX = "makedumpfile/(?P<pver>\d+(\.\d+)+)/"
-
-SECTION = "base"
-
-# If we do not specify TARGET, makedumpfile will build for the host but use the
-# target gcc.
-#
-EXTRA_OEMAKE = "\
- LINKTYPE=static \
- TARGET=${TARGET_ARCH} \
-"
-
-do_install () {
- mkdir -p ${D}/usr/bin
- install -m 755 ${S}/makedumpfile ${D}/usr/bin
- install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin
-
- mkdir -p ${D}/usr/share/man/man8
- install -m 644 ${S}/makedumpfile.8.gz ${D}/usr/share/man/man8
-
- mkdir -p ${D}/usr/share/man/man5
- install -m 644 ${S}/makedumpfile.conf.5.gz ${D}/usr/share/man/man5
-
- mkdir -p ${D}/etc/
- install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample
-}
diff --git a/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.6.bb b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.6.bb
new file mode 100644
index 000000000..9c357bf6e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.6.bb
@@ -0,0 +1,57 @@
+SUMMARY = "VMcore extraction tool"
+DESCRIPTION = "\
+ This program is used to extract a subset of the memory available either \
+ via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory \
+ images without extra uneeded information (zero pages, userspace programs, \
+ etc). \
+"
+HOMEPAGE = "http://makedumpfile.sourceforge.net"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+LICENSE = "GPLv2.0"
+
+DEPENDS = "bzip2 zlib elfutils"
+RDEPENDS_${PN}-tools = "perl ${PN}"
+
+# arm and aarch64 would compile but has never been tested upstream. mips would not compile.
+#
+COMPATIBLE_HOST = "(x86_64|i.86|powerpc|arm|aarch64).*-linux"
+
+PACKAGES =+ "${PN}-tools"
+FILES_${PN}-tools = "${bindir}/*.pl"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/makedumpfile/${BPN}-${PV}.tar.gz \
+ file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
+ file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \
+"
+SRC_URI[md5sum] = "6fd632b97ad78d9a0a3b0f0989094064"
+SRC_URI[sha256sum] = "d007eec05cb14f0155f2d06a0d4dc70d321dbb2aec65fccdce953145c8230324"
+
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/makedumpfile/files/makedumpfile/"
+UPSTREAM_CHECK_REGEX = "makedumpfile/(?P<pver>\d+(\.\d+)+)/"
+
+SECTION = "base"
+
+# If we do not specify TARGET, makedumpfile will build for the host but use the
+# target gcc.
+#
+EXTRA_OEMAKE = "\
+ LINKTYPE=static \
+ TARGET=${TARGET_ARCH} \
+"
+
+do_install () {
+ mkdir -p ${D}/usr/bin
+ install -m 755 ${S}/makedumpfile ${D}/usr/bin
+ install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin
+
+ mkdir -p ${D}/usr/share/man/man8
+ install -m 644 ${S}/makedumpfile.8.gz ${D}/usr/share/man/man8
+
+ mkdir -p ${D}/usr/share/man/man5
+ install -m 644 ${S}/makedumpfile.conf.5.gz ${D}/usr/share/man/man5
+
+ mkdir -p ${D}/etc/
+ install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample
+}
diff --git a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
index 50dab8d16..051656b5a 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
@@ -43,4 +43,4 @@ do_install_append() {
}
# http://errors.yoctoproject.org/Errors/Details/186966/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
index 515ea8faf..a9ee775d4 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
+++ b/meta-openembedded/meta-oe/recipes-kernel/oprofile/oprofile.inc
@@ -12,7 +12,6 @@ SECTION = "devel"
DEPENDS = "popt binutils"
RDEPENDS_${PN} = "binutils-symlinks"
-RRECOMMENDS_${PN} = "kernel-vmlinux"
FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-use-python3.patch b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-use-python3.patch
new file mode 100644
index 000000000..25c87093f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-use-python3.patch
@@ -0,0 +1,39 @@
+From 22ce65d997f99606a3bb9d2a660ead42eecc234a Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 11 Sep 2019 11:31:07 +0800
+Subject: [PATCH] sleepgraph.py: use python3
+
+Already compatible with Python 3.
+Same goes for bootgraph.py
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ bootgraph.py | 2 +-
+ sleepgraph.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/bootgraph.py b/bootgraph.py
+index d3b99a1..efb5714 100755
+--- a/bootgraph.py
++++ b/bootgraph.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ # SPDX-License-Identifier: GPL-2.0-only
+ #
+ # Tool for analyzing boot timing
+diff --git a/sleepgraph.py b/sleepgraph.py
+index 1794c79..cfed8e0 100755
+--- a/sleepgraph.py
++++ b/sleepgraph.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ # SPDX-License-Identifier: GPL-2.0-only
+ #
+ # Tool for analyzing suspend/resume timing
+--
+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
deleted file mode 100644
index ea12e054d..000000000
--- a/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.3.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-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/pm-graph/pm-graph_5.5.bb b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb
new file mode 100644
index 000000000..63a9fa88e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb
@@ -0,0 +1,22 @@
+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 = "cf59527dc24fdd2f314ae4dcaeb3d68a117988f6"
+SRC_URI = "git://github.com/intel/pm-graph.git \
+ file://0001-Makefile-fix-multilib-build-failure.patch \
+ file://0001-sleepgraph.py-use-python3.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} += "python3-core python3-threading python3-datetime python3-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 3f25e6f00..5f6588de5 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
@@ -20,6 +20,7 @@ SRC_URI += "\
file://COPYING \
"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
DEPENDS = "virtual/kernel"
# This looks in S, so we better make sure there's
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch b/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch
deleted file mode 100644
index 835b26601..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss/libio.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 54b1c2e27bf81f94c727b4923d4ed592110e2796 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 29 May 2011 21:05:15 +0200
-
----
- alsa/stdioemu.c | 8 +++++++-
- configure.ac | 6 ++++++
- 2 files changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/alsa/stdioemu.c b/alsa/stdioemu.c
-index f7f9ab5..b673fe3 100644
---- a/alsa/stdioemu.c
-+++ b/alsa/stdioemu.c
-@@ -37,7 +37,9 @@
- #endif
-
- #include <stdio.h>
--
-+#ifdef HAVE_LIBIO_H
-+#include <libio.h>
-+#endif
- struct fd_cookie {
- int fd;
- };
-@@ -98,7 +100,11 @@ static FILE *fake_fopen(const char *path, const char *mode, int flags)
-
- if (open_mode && fdc->fd > 0) {
- result = fopencookie (fdc,"w", fns);
-+#ifdef HAVE_FILENO
- result->_fileno = fdc->fd; /* ugly patchy slimy kludgy hack */
-+#else
-+ result->__filedes = fdc->fd;
-+#endif
- }
- return result;
- }
-diff --git a/configure.ac b/configure.ac
-index 583b95f..60a1025 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -35,6 +35,12 @@ if test "$with_aoss" = "yes"; then
- LIBS="$OLD_LIBS"
- fi
-
-+AC_CHECK_HEADERS_ONCE([libio.h])
-+
-+AC_CHECK_MEMBER([struct _IO_FILE._fileno],
-+ [AC_DEFINE([HAVE_FILENO], [1],[Define if _fileno exists.])],
-+ [],[])
-+
- AC_OUTPUT(Makefile alsa/Makefile alsa/aoss alsa/aoss.old \
- oss-redir/Makefile test/Makefile \
- alsa/testaoss test/testaoss)
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb b/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb
index 46ab50316..6b955dcfd 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb
@@ -1,34 +1,10 @@
-# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
-# The following is the difference between the old and the new license text.
-# Please update the LICENSE value if needed, and summarize the changes in
-# the commit message via 'License-Update:' tag.
-# (example: 'License-Update: copyright years updated.')
-#
-# The changes:
-#
-# --- COPYING
-# +++ COPYING
-# @@ -2,7 +2,8 @@
-# Version 2, June 1991
-#
-# Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-# - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-# + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-# +
-# Everyone is permitted to copy and distribute verbatim copies
-# of this license document, but changing it is not allowed.
-#
-#
-#
-
SUMMARY = "Alsa OSS Compatibility Package"
SECTION = "libs/multimedia"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=ed055b4eff93da784176a01582e6ec1a"
DEPENDS = "alsa-lib"
-SRC_URI = "ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-${PV}.tar.bz2 \
- file://libio.patch \
+SRC_URI = "https://www.alsa-project.org/files/pub/oss-lib/alsa-oss-${PV}.tar.bz2 \
"
SRC_URI[md5sum] = "9ec4bb783fdce19032aace086d65d874"
SRC_URI[sha256sum] = "64adcef5927e848d2e024e64c4bf85b6f395964d9974ec61905ae4cb8d35d68e"
@@ -43,4 +19,4 @@ do_configure_prepend () {
}
# http://errors.yoctoproject.org/Errors/Details/186961/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch b/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch
deleted file mode 100644
index 130f3c229..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0001-audio_alsa09.c-alsa-drain-fix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 945df2da87a412758ceab4ac5711abbb269a47c1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 8 Jun 2017 23:09:51 -0700
-Subject: [PATCH] audio_alsa09.c: alsa drain fix
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- audio_alsa09.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/audio_alsa09.c b/audio_alsa09.c
-index 534e3db..d9450e6 100644
---- a/audio_alsa09.c
-+++ b/audio_alsa09.c
-@@ -506,7 +506,7 @@ void esd_audio_flush(void)
- }
-
- if (alsa_playback_handle != NULL)
-- snd_pcm_drain( alsa_playback_handle );
-+ snd_pcm_drop( alsa_playback_handle );
-
- if (alsadbg)
- print_state();
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch b/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch
deleted file mode 100644
index 10a6ba03a..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0002-Undefine-open64-and-fopen64.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e218d5a0a545ebb9623d62da5cfca478f9c90fce Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 8 Jun 2017 23:11:31 -0700
-Subject: [PATCH] Undefine open64 and fopen64
-
-Since the signatures do not match with libc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- esddsp.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/esddsp.c b/esddsp.c
-index d3c6ea9..17b5949 100644
---- a/esddsp.c
-+++ b/esddsp.c
-@@ -290,6 +290,7 @@ open (const char *pathname, int flags, ...)
- return open_wrapper(func, pathname, flags, mode);
- }
-
-+#undef open64
- int
- open64 (const char *pathname, int flags, ...)
- {
-@@ -374,6 +375,7 @@ fopen (const char *path, const char *mode)
- return fopen_wrapper(func, path, mode);
- }
-
-+#undef fopen64
- FILE *
- fopen64 (const char *path, const char *mode)
- {
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch b/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch
deleted file mode 100644
index 83365b4e6..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/0003-Use-I-path-in-configure.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 89c62db54716d514e639f9e1bfd3c1f7d82641dd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 8 Jun 2017 23:12:36 -0700
-Subject: [PATCH] Use -I=<path> in configure
-
-This helps to use proper sysroot in
-cross build environment
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5645dce..d374cda 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -208,7 +208,7 @@ if test "x$enable_local_sound" = "xyes"; then
- AC_CHECK_HEADERS(CoreAudio/CoreAudio.h)
- # mme_api.h directly includes other files from the mme subdir
- xCPPFLAGS="$CPPFLAGS"
-- CPPFLAGS="$CPPFLAGS -I/usr/include/mme"
-+ CPPFLAGS="$CPPFLAGS -I=/usr/include/mme"
- AC_CHECK_HEADERS(mme/mme_api.h)
- CPPFLAGS="$xCPPFLAGS"
- AM_PATH_ARTS(, HAVE_ARTS=yes, HAVE_ARTS=no)
-@@ -269,7 +269,7 @@ if test "x$enable_local_sound" = "xyes"; then
- osf*)
- found_sound=yes
- AC_DEFINE(DRIVER_OSF, 1, [Defined if OSF backend is enabled])
-- CPPFLAGS="$CPPFLAGS -I/usr/include/mme"
-+ CPPFLAGS="$CPPFLAGS -I=/usr/include/mme"
- SOUND_LIBS=-lmme
- esac
- fi
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch b/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch
deleted file mode 100644
index 8a546e6db..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/esound/esound/no-docs.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From bfcaa9bdc70440db96f10afc0c2a792870f75acb Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Fri, 3 Jun 2011 19:39:02 +0200
-
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 08c4c94..ede9d26 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,5 +1,5 @@
-
--SUBDIRS = docs
-+SUBDIRS =
-
- ACLOCAL_AMFLAGS = -I m4
-
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb b/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb
deleted file mode 100644
index d703f23d9..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/esound/esound_0.2.41.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Enlightened Sound Daemon"
-SECTION = "gpe/base"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
-DEPENDS = "audiofile"
-
-inherit gnome
-
-SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/esound/0.2/${BP}.tar.bz2;name=archive \
- file://no-docs.patch \
- file://0001-audio_alsa09.c-alsa-drain-fix.patch \
- file://0002-Undefine-open64-and-fopen64.patch \
- file://0003-Use-I-path-in-configure.patch \
- "
-SRC_URI[archive.md5sum] = "8d9aad3d94d15e0d59ba9dc0ea990c6c"
-SRC_URI[archive.sha256sum] = "5eb5dd29a64b3462a29a5b20652aba7aa926742cef43577bf0796b787ca34911"
-
-EXTRA_OECONF += " \
- --disable-arts \
- --disable-artstest \
-"
-EXTRA_OECONF_remove = "--disable-schemas-install"
-
-CFLAGS += "-lm"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[libwrap] = "--with-libwrap,--without-libwrap,tcp-wrappers,"
-PACKAGECONFIG[alsa] = "--enable-alsa --disable-oss,--disable-alsa,alsa-lib,"
-
-PACKAGECONFIG ??= "libwrap alsa \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGES =+ "esddsp esd esd-utils"
-
-FILES_esddsp = "${bindir}/esddsp ${libdir}/libesddsp.so.*"
-FILES_esd = "${bindir}/esd"
-FILES_esd-utils = "${bindir}/*"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.4.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.4.0.bb
deleted file mode 100644
index 91fe69338..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.4.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Library for reading, mastering and writing optical discs"
-HOMEPAGE = "http://libburnia-project.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
-
-SRC_URI = "http://files.libburnia-project.org/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "82ff94bb04e78eac9b12c7546f005d6f"
-SRC_URI[sha256sum] = "6c975abae4ae1f80e47fc5d1e235f85157f73e954c84627a5ef85d8b1b95ae94"
-
-inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.0.bb
new file mode 100644
index 000000000..612000e67
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libburn/libburn_1.5.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Library for reading, mastering and writing optical discs"
+HOMEPAGE = "http://libburnia-project.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
+
+SRC_URI = "http://files.libburnia-project.org/releases/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "b32edefdd9a978edc65aacddfe7c588a"
+SRC_URI[sha256sum] = "582b12c236c1365211946f2fe3c254976af37bbec244051f7742a98ded9be2bd"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_5.0.3.bb b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_5.0.3.bb
deleted file mode 100644
index 050672599..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_5.0.3.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "DVD access multimeda library"
-SECTION = "libs/multimedia"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27"
-SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2"
-
-SRC_URI[md5sum] = "b7b7d2a782087ed2a913263087083715"
-SRC_URI[sha256sum] = "321cdf2dbdc83c96572bc583cd27d8c660ddb540ff16672ecb28607d018ed82b"
-
-inherit autotools lib_package binconfig pkgconfig
-
-CONFIGUREOPTS_remove = "--disable-silent-rules"
-
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.1.bb
new file mode 100644
index 000000000..d68e792ba
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.0.1.bb
@@ -0,0 +1,12 @@
+SUMMARY = "DVD access multimeda library"
+SECTION = "libs/multimedia"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27"
+
+SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2"
+SRC_URI[md5sum] = "b9eeaaaf3c41b1c3cb6c1622e7219aeb"
+SRC_URI[sha256sum] = "28ce4f0063883ca4d37dfd40a2f6685503d679bca7d88d58e04ee8112382d5bd"
+
+inherit autotools lib_package binconfig pkgconfig
+
+CONFIGUREOPTS_remove = "--disable-silent-rules"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb b/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb
deleted file mode 100644
index 1070246c8..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.8.5.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Library for reading mod-like audio files"
-HOMEPAGE = "http://modplug-xmms.sf.net"
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c9182faa1f7c316f7b97d404bcbe3685"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/modplug-xmms/libmodplug-${PV}.tar.gz"
-SRC_URI[md5sum] = "5f30241db109d647781b784e62ddfaa1"
-SRC_URI[sha256sum] = "77462d12ee99476c8645cb5511363e3906b88b33a6b54362b4dbc0f39aa2daad"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-option-checking"
-
-# NOTE: autotools_stage_all does nothing here, we need to do it manually
-do_install_append() {
- install -d ${D}${includedir}/libmodplug
- install -m 0644 ${S}/src/modplug.h ${D}${includedir}/libmodplug
- install -m 0644 ${S}/src/modplug.h ${D}${includedir}/
-}
-
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb
new file mode 100644
index 000000000..398daae08
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Library for reading mod-like audio files"
+HOMEPAGE = "http://modplug-xmms.sf.net"
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c9182faa1f7c316f7b97d404bcbe3685"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/modplug-xmms/libmodplug-${PV}.tar.gz"
+SRC_URI[md5sum] = "5ba16981e6515975e9a68a58d5ba69d1"
+SRC_URI[sha256sum] = "457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-option-checking"
+
+# NOTE: autotools_stage_all does nothing here, we need to do it manually
+do_install_append() {
+ install -d ${D}${includedir}/libmodplug
+ install -m 0644 ${S}/src/modplug.h ${D}${includedir}/libmodplug
+ install -m 0644 ${S}/src/modplug.h ${D}${includedir}/
+}
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
deleted file mode 100644
index fb9bdc70f..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.1.3.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "Opus Audio Codec"
-DESCRIPTION = "The Opus codec is designed for interactive \
-speech and audio transmission over the Internet. It is \
-designed by the IETF Codec Working Group and incorporates \
-technology from Skype's SILK codec and Xiph.Org's CELT codec."
-HOMEPAGE = "http://www.opus-codec.org/"
-SECTION = "libs/multimedia"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3"
-
-SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
-SRC_URI[md5sum] = "32bbb6b557fe1b6066adc0ae1f08b629"
-SRC_URI[sha256sum] = "58b6fe802e7e30182e95d0cde890c0ace40b6f125cffc50635f0ad2eef69b633"
-
-S = "${WORKDIR}/opus-${PV}"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[fixed-point] = "--enable-fixed-point,,"
-PACKAGECONFIG[float-approx] = "--enable-float-approx,,"
-
-EXTRA_OECONF = " \
- --with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
- --with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
- --enable-asm \
- --enable-intrinsics \
- --enable-custom-modes \
-"
-
-# 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' ]:
- d.appendVar('PACKAGECONFIG', ' fixed-point')
-}
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:389: Error: selected processor does not support Thumb mode `smull r5,r7,r1,r4'
-#| {standard input}:418: Error: selected processor does not support Thumb mode `smull r5,r6,r4,r1'
-#| {standard input}:448: Error: selected processor does not support Thumb mode `smull r4,r5,r1,r0'
-#| {standard input}:474: Error: selected processor does not support Thumb mode `smull r0,r4,r8,r1'
-#| {standard input}:510: Error: selected processor does not support Thumb mode `smull fp,r0,r10,r1'
-#| {standard input}:553: Error: selected processor does not support Thumb mode `smull fp,r1,r10,r3'
-#| {standard input}:741: Error: selected processor does not support Thumb mode `smull r3,r0,r6,r10'
-#| {standard input}:761: Error: selected processor does not support Thumb mode `smull fp,r2,r3,r9'
-#| {standard input}:773: Error: selected processor does not support Thumb mode `smull fp,r3,r5,r8'
-#| make[2]: *** [celt/celt.lo] Error 1
-ARM_INSTRUCTION_SET = "arm"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
new file mode 100644
index 000000000..19ec12c88
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Opus Audio Codec"
+DESCRIPTION = "The Opus codec is designed for interactive \
+speech and audio transmission over the Internet. It is \
+designed by the IETF Codec Working Group and incorporates \
+technology from Skype's SILK codec and Xiph.Org's CELT codec."
+HOMEPAGE = "http://www.opus-codec.org/"
+SECTION = "libs/multimedia"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3"
+
+SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
+SRC_URI[md5sum] = "d7c07db796d21c9cf1861e0c2b0c0617"
+SRC_URI[sha256sum] = "65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d"
+
+S = "${WORKDIR}/opus-${PV}"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[fixed-point] = "--enable-fixed-point,,"
+PACKAGECONFIG[float-approx] = "--enable-float-approx,,"
+
+EXTRA_OECONF = " \
+ --with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
+ --with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
+ --enable-asm \
+ --enable-intrinsics \
+ --enable-custom-modes \
+"
+
+# 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' ]:
+ d.appendVar('PACKAGECONFIG', ' fixed-point')
+}
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:389: Error: selected processor does not support Thumb mode `smull r5,r7,r1,r4'
+#| {standard input}:418: Error: selected processor does not support Thumb mode `smull r5,r6,r4,r1'
+#| {standard input}:448: Error: selected processor does not support Thumb mode `smull r4,r5,r1,r0'
+#| {standard input}:474: Error: selected processor does not support Thumb mode `smull r0,r4,r8,r1'
+#| {standard input}:510: Error: selected processor does not support Thumb mode `smull fp,r0,r10,r1'
+#| {standard input}:553: Error: selected processor does not support Thumb mode `smull fp,r1,r10,r3'
+#| {standard input}:741: Error: selected processor does not support Thumb mode `smull r3,r0,r6,r10'
+#| {standard input}:761: Error: selected processor does not support Thumb mode `smull fp,r2,r3,r9'
+#| {standard input}:773: Error: selected processor does not support Thumb mode `smull fp,r3,r5,r8'
+#| make[2]: *** [celt/celt.lo] Error 1
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
index 4fe744c1a..cf4dc7f4f 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
+++ b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555.inc
@@ -8,10 +8,10 @@ LICENSE = "LGPLv3"
SECTION = "devel"
URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}"
-SRC_URI = "http://www.live555.com/live.${URLV}.tar.gz \
+SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz \
file://config.linux-cross"
# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
-MIRRORS += "http://www.live555.com/liveMedia/public/ http://distcache.FreeBSD.org/ports-distfiles/ \n"
+MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n"
S = "${WORKDIR}/live"
TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190306.bb b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190306.bb
deleted file mode 100644
index fa6057dc2..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190306.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require live555.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- "
-SRC_URI[md5sum] = "a84ca3946d899f5592c7d31012ed2fe3"
-SRC_URI[sha256sum] = "0bd0c26d980425d9a419d835193e292a08a968f175da1902da4b495f126d5abd"
-
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb
new file mode 100644
index 000000000..1da61c0cf
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/live555/live555_20190828.bb
@@ -0,0 +1,11 @@
+require live555.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+# SRC_URI[md5sum] = "a84ca3946d899f5592c7d31012ed2fe3"
+# SRC_URI[sha256sum] = "0bd0c26d980425d9a419d835193e292a08a968f175da1902da4b495f126d5abd"
+
+SRC_URI[md5sum] = "a593f915664793b3ba41299b17b8bedc"
+SRC_URI[sha256sum] = "a3dcd157865186cf883c3a80b4bb09637e91fff96b234b2c780a7f7dcc7a35dc"
+
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
index 6586e352e..d334956a8 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/mplayer/mpv_0.26.0.bb
@@ -14,15 +14,16 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=91f1cb870c1cc2d31351a4d2595441cb"
# While this item does not require it, it depends on ffmpeg which does
LICENSE_FLAGS = "commercial"
+SRCREV_mpv = "4db82f04502cbcd20d9a975df9dfde91d8c389e3"
SRC_URI = " \
- https://github.com/mpv-player/mpv/archive/v${PV}.tar.gz;name=mpv \
- http://www.freehackers.org/~tnagy/release/waf-1.8.12;name=waf;downloadfilename=waf;subdir=${BPN}-${PV} \
+ git://github.com/mpv-player/mpv;name=mpv \
+ http://www.freehackers.org/~tnagy/release/waf-1.8.12;name=waf;downloadfilename=waf;subdir=git \
"
-SRC_URI[mpv.md5sum] = "038d0b660de07ff645ad6a741704ecab"
-SRC_URI[mpv.sha256sum] = "daf3ef358d5f260f2269f7caabce27f446c291457ec330077152127133b71b46"
SRC_URI[waf.md5sum] = "cef4ee82206b1843db082d0b0506bf71"
SRC_URI[waf.sha256sum] = "01bf2beab2106d1558800c8709bc2c8e496d3da4a2ca343fe091f22fca60c98b"
+S = "${WORKDIR}/git"
+
inherit waf pkgconfig pythonnative distro_features_check
LUA ?= "lua"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
index 6a8274405..421ea9d5c 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
@@ -2,9 +2,9 @@ DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based vol
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "intltool-native gtkmm3 libcanberra pulseaudio"
+DEPENDS = "intltool-native gtk+3-native gtkmm3 libcanberra pulseaudio"
-inherit gnome distro_features_check
+inherit gnomebase distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.7.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.7.0.bb
deleted file mode 100644
index 1d04ed1bd..000000000
--- a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.7.0.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "VPX multi-format codec"
-DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams."
-HOMEPAGE = "http://www.webmproject.org/code/"
-BUGTRACKER = "http://code.google.com/p/webm/issues/list"
-SECTION = "libs/multimedia"
-LICENSE = "BSD"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
-
-# SRCREV for 1.7.0
-SRCREV = "133f83e2c34b8d770ae06aa595cef3e254173fcb"
-SRC_URI += "git://chromium.googlesource.com/webm/libvpx;protocol=https \
- file://libvpx-configure-support-blank-prefix.patch \
- "
-
-S = "${WORKDIR}/git"
-
-# ffmpeg links with this and fails
-# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
-ARM_INSTRUCTION_SET = "arm"
-
-CFLAGS += "-fPIC"
-
-export CC
-export LD = "${CC}"
-
-VPXTARGET_armv5te = "armv5te-linux-gcc"
-VPXTARGET_armv6 = "armv6-linux-gcc"
-VPXTARGET_armv7a = "armv7-linux-gcc"
-VPXTARGET ?= "generic-gnu"
-
-CONFIGUREOPTS = " \
- --target=${VPXTARGET} \
- --enable-vp9 \
- --enable-libs \
- --disable-install-docs \
- --disable-static \
- --enable-shared \
- --prefix=${prefix} \
- --libdir=${libdir} \
- --size-limit=16384x16384 \
-"
-
-do_configure() {
- ${S}/configure ${CONFIGUREOPTS}
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
- chown -R root:root ${D}
-}
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb
new file mode 100644
index 000000000..70278ecca
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.8.1.bb
@@ -0,0 +1,50 @@
+SUMMARY = "VPX multi-format codec"
+DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams."
+HOMEPAGE = "http://www.webmproject.org/code/"
+BUGTRACKER = "http://code.google.com/p/webm/issues/list"
+SECTION = "libs/multimedia"
+LICENSE = "BSD"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
+
+SRCREV = "8ae686757b708cd8df1d10c71586aff5355cfe1e"
+SRC_URI += "git://chromium.googlesource.com/webm/libvpx;protocol=https \
+ file://libvpx-configure-support-blank-prefix.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+# ffmpeg links with this and fails
+# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
+ARM_INSTRUCTION_SET = "arm"
+
+CFLAGS += "-fPIC"
+
+export CC
+export LD = "${CC}"
+
+VPXTARGET_armv5te = "armv5te-linux-gcc"
+VPXTARGET_armv6 = "armv6-linux-gcc"
+VPXTARGET_armv7a = "armv7-linux-gcc"
+VPXTARGET ?= "generic-gnu"
+
+CONFIGUREOPTS = " \
+ --target=${VPXTARGET} \
+ --enable-vp9 \
+ --enable-libs \
+ --disable-install-docs \
+ --disable-static \
+ --enable-shared \
+ --prefix=${prefix} \
+ --libdir=${libdir} \
+ --size-limit=16384x16384 \
+"
+
+do_configure() {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+ chown -R root:root ${D}
+}
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch
deleted file mode 100644
index e91e4e9fb..000000000
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From f221fa959c80b43c65426500a6836a1b5cf6fe0c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 17 Aug 2016 02:16:12 +0000
-Subject: [PATCH] include sys/ttydefaults.h
-
-This is needed for CTRL definition, as exposed by musl on glibc
-this include file gets pulled indirectly.
-
-/usr/src/debug/gpsd/3.14-r0/gpsd-3.14/gpsmon.c:605: undefined reference to `CTRL'
-clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)
-scons: *** [gpsmon] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Foreward port to gpsd 3.16
-Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
----
- gpsmon.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gpsmon.c b/gpsmon.c
-index 89c43ee2..5cc0dabd 100644
---- a/gpsmon.c
-+++ b/gpsmon.c
-@@ -24,6 +24,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/select.h>
-+#include <sys/ttydefaults.h>
- #include <fcntl.h>
- #include <unistd.h>
-
---
-2.12.0
-
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
deleted file mode 100644
index ba3d205d1..000000000
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 697e2e9ff97487266d817cdd41bacc83f681e3d7 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 29 Apr 2012 00:05:59 +0200
-Subject: [PATCH 4/4] SConstruct: disable html and man docs building because
- xmlto-native from OE is broken
-
-It will try to load dtd and fail:
-| xmlto man gpsctl.xml; mv `basename gpsctl.1` gpsctl.1
-| xmlto: /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate (status 3)
-| xmlto: Fix document syntax or use --skip-validation option
-| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-| /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml:8: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-| ^
-| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-| warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| Document /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate
-| mv: cannot stat `gpsctl.1': No such file or directory
-| scons: *** [gpsctl.1] Error 1
-| scons: building terminated because of errors.
-
-Upstream-Status: Inappropriate [disable feature]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
----
- SConstruct | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 3318bb48..a5bb756d 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -889,11 +889,11 @@ else:
-
- manbuilder = htmlbuilder = None
- if env['manbuild']:
-- if config.CheckXsltproc():
-+ if False and config.CheckXsltproc():
- build = "xsltproc --nonet %s $SOURCE >$TARGET"
- htmlbuilder = build % docbook_html_uri
- manbuilder = build % docbook_man_uri
-- elif WhereIs("xmlto"):
-+ elif False and WhereIs("xmlto"):
- xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` " \
- "`dirname $TARGET`"
- htmlbuilder = xmlto % "html-nochunks"
---
-1.8.5.5
-
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
index 1fa27c210..23ae5e509 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
+++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
@@ -1,4 +1,4 @@
-From 1e2cea8945bc2183fbe1a012dcd633a352125952 Mon Sep 17 00:00:00 2001
+From 5464d9e1bfd1a1c54338ec7c4148cad1b222ef93 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 24 Apr 2012 18:45:14 +0200
Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot
@@ -34,15 +34,16 @@ Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
+
---
- SConstruct | 9 +++++++++
- 1 file changed, 9 insertions(+)
+ SConstruct | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/SConstruct b/SConstruct
-index 3318bb48..e1c4f963 100644
+index b8f3fb1..883e06d 100644
--- a/SConstruct
+++ b/SConstruct
-@@ -934,7 +934,7 @@ else:
+@@ -980,7 +980,7 @@ else:
# Set up configuration for target Python
@@ -51,7 +52,7 @@ index 3318bb48..e1c4f963 100644
PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'BASECFLAGS',
'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS']
-@@ -1364,7 +1364,7 @@ else:
+@@ -1506,7 +1506,7 @@ else:
LINK=ldshared,
SHLIBPREFIX="",
SHLIBSUFFIX=python_config['SO'],
@@ -60,22 +61,19 @@ index 3318bb48..e1c4f963 100644
CPPFLAGS=python_config['OPT'],
CFLAGS=python_config['BASECFLAGS'],
CXXFLAGS=python_config['BASECFLAGS'])
-@@ -1662,12 +1662,15 @@ if ((not env['debug'] and not env['profiling'] and not env['nostrip']
- if not env['python']:
- python_install = []
- else:
-+ python_libdir = python_libdir.replace(env['sysroot'], '')
- python_module_dir = python_libdir + os.sep + 'gps'
+@@ -1808,12 +1808,14 @@ if ((not env['debug'] and not env['profiling'] and not env['nostrip'] and
+ env.AddPostAction(binaryinstall, '$STRIP $TARGET')
+
+ if env['python']:
+- python_module_dir = str(python_libdir) + os.sep + 'gps'
++ python_module_dir = python_libdir.replace(env['sysroot'], '') + os.sep + 'gps'
python_extensions_install = python_env.Install(DESTDIR + python_module_dir,
python_built_extensions)
- if ((not env['debug'] and not env['profiling']
- and not env['nostrip'] and not sys.platform.startswith('darwin'))):
+ if ((not env['debug'] and not env['profiling'] and
+ not env['nostrip'] and not sys.platform.startswith('darwin'))):
python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET')
+ env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \
+ % (python_libdir, ))
python_modules_install = python_env.Install(DESTDIR + python_module_dir,
python_modules)
---
-2.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
deleted file mode 100644
index 7752e76b5..000000000
--- a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb
+++ /dev/null
@@ -1,141 +0,0 @@
-SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
-SECTION = "console/network"
-LICENSE = "BSD"
-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 \
- file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
- file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
- file://0001-include-sys-ttydefaults.h.patch \
-"
-SRC_URI[md5sum] = "e0cfadcf4a65dfbdd2afb11c58f4e4a1"
-SRC_URI[sha256sum] = "68e0dbecfb5831997f8b3d6ba48aed812eb465d8c0089420ab68f9ce4d85e77a"
-
-inherit scons update-rc.d python-dir pythonnative systemd bluetooth update-alternatives
-
-INITSCRIPT_PACKAGES = "gpsd-conf"
-INITSCRIPT_NAME = "gpsd"
-INITSCRIPT_PARAMS = "defaults 35"
-
-SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
-
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
-PACKAGECONFIG[bluez] = "bluez='true',bluez='false',${BLUEZ}"
-PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase"
-EXTRA_OESCONS = " \
- sysroot=${STAGING_DIR_TARGET} \
- libQgpsmm='false' \
- debug='true' \
- strip='false' \
- chrpath='yes' \
- systemd='${SYSTEMD_OESCONS}' \
- libdir='${libdir}' \
- ${PACKAGECONFIG_CONFARGS} \
-"
-# this cannot be used, because then chrpath is not found and only static lib is built
-# target=${HOST_SYS}
-
-do_compile_prepend() {
- export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
- export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
- export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
- export LINKFLAGS="${LDFLAGS}"
-}
-
-do_install() {
- export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
- export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
- export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
- export LINKFLAGS="${LDFLAGS}"
-
- export DESTDIR="${D}"
- # prefix is used for RPATH and DESTDIR/prefix for instalation
- ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \
- bbfatal "scons install execution failed."
-}
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${S}/packaging/deb/etc_init.d_gpsd ${D}/${sysconfdir}/init.d/gpsd
- install -d ${D}/${sysconfdir}/default
- install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default
-
- #support for udev
- install -d ${D}/${sysconfdir}/udev/rules.d
- install -m 0644 ${S}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d/
- install -d ${D}${base_libdir}/udev/
- install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
-
- #support for python
- install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
- install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
-
- #support for systemd
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
- install -m 0644 ${S}/systemd/${BPN}ctl@.service ${D}${systemd_unitdir}/system/${BPN}ctl@.service
- install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
-}
-
-PACKAGES =+ "libgps libgpsd python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
-
-RPROVIDES_${PN}-dbg += "python-pygps-dbg"
-
-FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
- ${libdir}/libQgpsmm.prl"
-
-RDEPENDS_${PN} = "gpsd-gpsctl"
-RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
-
-SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
-FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
-RDEPENDS_gpsd-udev += "udev gpsd-conf"
-
-SUMMARY_libgpsd = "C service library used for communicating with gpsd"
-FILES_libgpsd = "${libdir}/libgpsd.so.*"
-
-SUMMARY_libgps = "C service library used for communicating with gpsd"
-FILES_libgps = "${libdir}/libgps.so.*"
-
-SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
-FILES_gpsd-conf = "${sysconfdir}"
-CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
-
-SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
-FILES_gpsd-gpsctl = "${bindir}/gpsctl"
-
-SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
-FILES_gps-utils = "${bindir}/*"
-RDEPENDS_gps-utils = "python-pygps"
-
-SUMMARY_python-pygps = "Python bindings to gpsd"
-FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-pygps = " \
- python-core \
- python-io \
- python-threading \
- python-terminal \
- python-curses \
- gpsd \
- python-json"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${BPN}.socket ${BPN}ctl@.service"
-
-
-ALTERNATIVE_${PN} = "gpsd-defaults"
-ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
-ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb
new file mode 100644
index 000000000..a28d59dce
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb
@@ -0,0 +1,138 @@
+SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
+SECTION = "console/network"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=01764c35ae34d9521944bb6ab312af53"
+DEPENDS = "dbus ncurses python python3 libusb1 chrpath-replacement-native pps-tools"
+PROVIDES = "virtual/gpsd"
+
+EXTRANATIVEPATH += "chrpath-native"
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
+"
+SRC_URI[md5sum] = "b3bf88706794eb8e5f2c2543bf7ba87b"
+SRC_URI[sha256sum] = "27dd24d45b2ac69baab7933da2bf6ae5fb0be90130f67e753c110a3477155f39"
+
+inherit scons update-rc.d python-dir pythonnative systemd update-alternatives
+
+INITSCRIPT_PACKAGES = "gpsd-conf"
+INITSCRIPT_NAME = "gpsd"
+INITSCRIPT_PARAMS = "defaults 35"
+
+SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
+PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez5"
+PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase"
+EXTRA_OESCONS = " \
+ sysroot=${STAGING_DIR_TARGET} \
+ libQgpsmm='false' \
+ debug='false' \
+ nostrip='true' \
+ chrpath='yes' \
+ systemd='${SYSTEMD_OESCONS}' \
+ libdir='${libdir}' \
+ manbuild='false' \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+# this cannot be used, because then chrpath is not found and only static lib is built
+# target=${HOST_SYS}
+
+do_compile_prepend() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+}
+
+do_install() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+
+ export DESTDIR="${D}"
+ # prefix is used for RPATH and DESTDIR/prefix for instalation
+ ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} install ${EXTRA_OESCONS} || \
+ bbfatal "scons install execution failed."
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0755 ${S}/packaging/deb/etc_init.d_gpsd ${D}/${sysconfdir}/init.d/gpsd
+ install -d ${D}/${sysconfdir}/default
+ install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default
+
+ #support for udev
+ install -d ${D}/${sysconfdir}/udev/rules.d
+ install -m 0644 ${S}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d/
+ install -d ${D}${base_libdir}/udev/
+ install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
+
+ #support for python
+ install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+ install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+
+ #support for systemd
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
+ sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}.service
+ install -m 0644 ${S}/systemd/${BPN}ctl@.service ${D}${systemd_unitdir}/system/${BPN}ctl@.service
+ sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}ctl@.service
+ install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
+}
+
+PACKAGES =+ "libgps libgpsd python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
+
+RPROVIDES_${PN}-dbg += "python-pygps-dbg"
+
+FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
+ ${libdir}/libQgpsmm.prl"
+
+RDEPENDS_${PN} = "gpsd-gpsctl"
+RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
+
+SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
+FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
+RDEPENDS_gpsd-udev += "udev gpsd-conf"
+
+SUMMARY_libgpsd = "C service library used for communicating with gpsd"
+FILES_libgpsd = "${libdir}/libgpsd.so.*"
+
+SUMMARY_libgps = "C service library used for communicating with gpsd"
+FILES_libgps = "${libdir}/libgps.so.*"
+
+SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
+FILES_gpsd-conf = "${sysconfdir}"
+CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
+
+SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
+FILES_gpsd-gpsctl = "${bindir}/gpsctl"
+
+SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
+# Python files are required for gps/fake, required for gpsfake.
+FILES_gps-utils = "${bindir}/* ${libdir}/gps/*.py ${libdir}/gps/*.so"
+RDEPENDS_gps-utils = "python-pygps"
+
+SUMMARY_python-pygps = "Python bindings to gpsd"
+FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info"
+RDEPENDS_python-pygps = " \
+ python-core \
+ python-io \
+ python-threading \
+ python-terminal \
+ gpsd \
+ python-json"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${BPN}.socket ${BPN}ctl@.service"
+
+
+ALTERNATIVE_${PN} = "gpsd-defaults"
+ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
+ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/meta-security/recipes-security/keyutils/files/fix_library_install_path.patch b/meta-openembedded/meta-oe/recipes-security/keyutils/files/fix_library_install_path.patch
index 938fe2eb5..938fe2eb5 100644
--- a/meta-security/recipes-security/keyutils/files/fix_library_install_path.patch
+++ b/meta-openembedded/meta-oe/recipes-security/keyutils/files/fix_library_install_path.patch
diff --git a/meta-security/recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch b/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch
index acd91c01c..acd91c01c 100644
--- a/meta-security/recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch
+++ b/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-fix-error-report-by-adding-default-message.patch
diff --git a/meta-security/recipes-security/keyutils/files/keyutils-test-fix-output-format.patch b/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-test-fix-output-format.patch
index a4ffd50ce..a4ffd50ce 100644
--- a/meta-security/recipes-security/keyutils/files/keyutils-test-fix-output-format.patch
+++ b/meta-openembedded/meta-oe/recipes-security/keyutils/files/keyutils-test-fix-output-format.patch
diff --git a/meta-security/recipes-security/keyutils/files/run-ptest b/meta-openembedded/meta-oe/recipes-security/keyutils/files/run-ptest
index 305707f65..305707f65 100755
--- a/meta-security/recipes-security/keyutils/files/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-security/keyutils/files/run-ptest
diff --git a/meta-security/recipes-security/keyutils/keyutils_1.6.bb b/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.bb
index 4d3a96f29..572143a5a 100644
--- a/meta-security/recipes-security/keyutils/keyutils_1.6.bb
+++ b/meta-openembedded/meta-oe/recipes-security/keyutils/keyutils_1.6.bb
@@ -40,13 +40,25 @@ do_install () {
oe_runmake DESTDIR=${D} install
}
+do_install_append_class-nativesdk() {
+ install -d ${D}${datadir}
+ src_dir="${D}${target_datadir}"
+ mv $src_dir/* ${D}${datadir}
+ par_dir=`dirname $src_dir`
+ rmdir $src_dir $par_dir
+
+ install -d ${D}${sysconfdir}
+ mv ${D}/etc/* ${D}${sysconfdir}/
+ rmdir ${D}/etc
+}
+
do_install_ptest () {
cp -r ${S}/tests ${D}${PTEST_PATH}/
sed -i -e 's/OSDIST=Unknown/OSDIST=${DISTRO}/' ${D}${PTEST_PATH}/tests/prepare.inc.sh
}
-RDEPENDS_${PN}-ptest += "lsb"
+RDEPENDS_${PN}-ptest += "lsb-release"
RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
diff --git a/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch b/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch
new file mode 100644
index 000000000..f93af2d79
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch
@@ -0,0 +1,73 @@
+From a068952a20880fc864e8cb8b49f8a6b143a5ac30 Mon Sep 17 00:00:00 2001
+From: Peiran Hong <peiran.hong@windriver.com>
+Date: Fri, 20 Sep 2019 15:02:45 -0400
+Subject: [PATCH] Include time.h header to pass clang compilation
+
+---
+ nmap_error.cc | 11 +----------
+ nping/EchoServer.cc | 1 +
+ osscan2.cc | 1 +
+ service_scan.cc | 1 +
+ 4 files changed, 4 insertions(+), 10 deletions(-)
+
+diff --git a/nmap_error.cc b/nmap_error.cc
+index 588b13c33..254107ff5 100644
+--- a/nmap_error.cc
++++ b/nmap_error.cc
+@@ -135,16 +135,7 @@
+ #include "xml.h"
+
+ #include <errno.h>
+-#if TIME_WITH_SYS_TIME
+-# include <sys/time.h>
+-# include <time.h>
+-#else
+-# if HAVE_SYS_TIME_H
+-# include <sys/time.h>
+-# else
+-# include <time.h>
+-# endif
+-#endif
++#include <time.h>
+
+ extern NmapOps o;
+
+diff --git a/nping/EchoServer.cc b/nping/EchoServer.cc
+index ccdcf9c2d..c403aeda5 100644
+--- a/nping/EchoServer.cc
++++ b/nping/EchoServer.cc
+@@ -137,6 +137,7 @@
+ #include "NpingOps.h"
+ #include "ProbeMode.h"
+ #include <signal.h>
++#include <time.h>
+
+ extern NpingOps o;
+ extern EchoServer es;
+diff --git a/osscan2.cc b/osscan2.cc
+index aa31feb12..89673e108 100644
+--- a/osscan2.cc
++++ b/osscan2.cc
+@@ -147,6 +147,7 @@
+
+ #include <list>
+ #include <math.h>
++#include <time.h>
+
+ extern NmapOps o;
+ #ifdef WIN32
+diff --git a/service_scan.cc b/service_scan.cc
+index 57a92ed28..ef277bb1f 100644
+--- a/service_scan.cc
++++ b/service_scan.cc
+@@ -145,6 +145,7 @@
+ #include "nmap_tty.h"
+
+ #include <errno.h>
++#include <time.h>
+
+ #if HAVE_OPENSSL
+ /* OpenSSL 1.0.0 needs _WINSOCKAPI_ to be defined, otherwise it loads
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch b/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch
deleted file mode 100644
index 561c8c82c..000000000
--- a/meta-openembedded/meta-oe/recipes-security/nmap/files/0001-include-time.h-for-time-structure-definition.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From c774f2b129fd5acd5647d92c57a2079ae638a62b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 20 Jan 2019 23:07:39 -0800
-Subject: [PATCH] include time.h for time structure definition
-
-Exposed by musl/clang
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- nmap_error.cc | 1 +
- nping/EchoServer.cc | 1 +
- osscan.cc | 1 +
- osscan2.cc | 1 +
- service_scan.cc | 1 +
- 5 files changed, 5 insertions(+)
-
-diff --git a/nmap_error.cc b/nmap_error.cc
-index 19beafb..ea14e08 100644
---- a/nmap_error.cc
-+++ b/nmap_error.cc
-@@ -135,6 +135,7 @@
- #include "xml.h"
-
- #include <errno.h>
-+#include <time.h>
-
- extern NmapOps o;
-
-diff --git a/nping/EchoServer.cc b/nping/EchoServer.cc
-index 70f39b0..40cd4d6 100644
---- a/nping/EchoServer.cc
-+++ b/nping/EchoServer.cc
-@@ -137,6 +137,7 @@
- #include "NpingOps.h"
- #include "ProbeMode.h"
- #include <signal.h>
-+#include <time.h>
-
- extern NpingOps o;
- extern EchoServer es;
-diff --git a/osscan.cc b/osscan.cc
-index f851f60..6ae0c83 100644
---- a/osscan.cc
-+++ b/osscan.cc
-@@ -149,6 +149,7 @@
- # include <time.h>
- # endif
- #endif
-+#include <time.h>
-
- #include <algorithm>
- #include <list>
-diff --git a/osscan2.cc b/osscan2.cc
-index e341947..887fbd2 100644
---- a/osscan2.cc
-+++ b/osscan2.cc
-@@ -147,6 +147,7 @@
-
- #include <list>
- #include <math.h>
-+#include <time.h>
-
- extern NmapOps o;
- #ifdef WIN32
-diff --git a/service_scan.cc b/service_scan.cc
-index 9780ae3..e07b940 100644
---- a/service_scan.cc
-+++ b/service_scan.cc
-@@ -145,6 +145,7 @@
- #include "nmap_tty.h"
-
- #include <errno.h>
-+#include <time.h>
-
- #if HAVE_OPENSSL
- /* OpenSSL 1.0.0 needs _WINSOCKAPI_ to be defined, otherwise it loads
diff --git a/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb b/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb
deleted file mode 100644
index b1b150a7d..000000000
--- a/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.70.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "network auditing tool"
-DESCRIPTION = "Nmap ("Network Mapper") is a free and open source (license) utility for network discovery and security auditing.\nGui support via appending to IMAGE_FEATURES x11-base in local.conf"
-SECTION = "security"
-LICENSE = "GPL-2.0"
-
-LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=1489288f46af415fadc4e8b6345ab9f4"
-
-SRC_URI = "http://nmap.org/dist/${BP}.tar.bz2 \
- file://nmap-redefine-the-python-library-dir.patch \
- file://nmap-replace-shtool-mkdir-with-coreutils-mkdir-command.patch \
- file://0001-include-time.h-for-time-structure-definition.patch \
- file://0002-Fix-building-with-libc.patch \
- "
-
-SRC_URI[md5sum] = "84eb6fbe788e0d4918c2b1e39421bf79"
-SRC_URI[sha256sum] = "847b068955f792f4cc247593aca6dc3dc4aae12976169873247488de147a6e18"
-
-inherit autotools-brokensep pkgconfig pythonnative
-
-PACKAGECONFIG ?= "ncat nping ndiff pcap"
-
-PACKAGECONFIG[pcap] = "--with-pcap=linux, --without-pcap, libpcap, libpcap"
-PACKAGECONFIG[pcre] = "--with-libpcre=${STAGING_LIBDIR}/.., --with-libpcre=included, libpcre"
-PACKAGECONFIG[ssl] = "--with-openssl=${STAGING_LIBDIR}/.., --without-openssl, openssl, openssl"
-PACKAGECONFIG[ssh2] = "--with-openssh2=${STAGING_LIBDIR}/.., --without-openssh2, libssh2, libssh2"
-PACKAGECONFIG[libz] = "--with-libz=${STAGING_LIBDIR}/.., --without-libz, zlib, zlib"
-
-#disable/enable packages
-PACKAGECONFIG[nping] = ",--without-nping,"
-PACKAGECONFIG[ncat] = ",--without-ncat,"
-PACKAGECONFIG[ndiff] = ",--without-ndiff,python"
-PACKAGECONFIG[update] = ",--without-nmap-update,"
-
-EXTRA_OECONF = "--with-libdnet=included --with-liblinear=included --without-subversion --with-liblua=included"
-
-# zenmap needs python-pygtk which has been removed
-# it also only works with python2
-# disable for now until py3 is supported
-EXTRA_OECONF += "--without-zenmap"
-
-export PYTHON_SITEPACKAGES_DIR
-
-do_configure() {
- autoconf
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
- oe_runconf
-}
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}/ncat"
-
-RDEPENDS_${PN} = "python"
diff --git a/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb b/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb
new file mode 100644
index 000000000..f24194da7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-security/nmap/nmap_7.80.bb
@@ -0,0 +1,52 @@
+SUMMARY = "network auditing tool"
+DESCRIPTION = "Nmap ("Network Mapper") is a free and open source (license) utility for network discovery and security auditing.\nGui support via appending to IMAGE_FEATURES x11-base in local.conf"
+SECTION = "security"
+LICENSE = "GPL-2.0"
+
+LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=66938a7e5b4c118eda78271de14874c2"
+
+SRC_URI = "http://nmap.org/dist/${BP}.tar.bz2 \
+ file://nmap-redefine-the-python-library-dir.patch \
+ file://nmap-replace-shtool-mkdir-with-coreutils-mkdir-command.patch \
+ file://0001-Include-time.h-header-to-pass-clang-compilation.patch \
+ file://0002-Fix-building-with-libc.patch \
+ "
+
+SRC_URI[md5sum] = "d37b75b06d1d40f27b76d60db420a1f5"
+SRC_URI[sha256sum] = "fcfa5a0e42099e12e4bf7a68ebe6fde05553383a682e816a7ec9256ab4773faa"
+
+inherit autotools-brokensep pkgconfig pythonnative
+
+PACKAGECONFIG ?= "ncat nping ndiff pcap"
+
+PACKAGECONFIG[pcap] = "--with-pcap=linux, --without-pcap, libpcap, libpcap"
+PACKAGECONFIG[pcre] = "--with-libpcre=${STAGING_LIBDIR}/.., --with-libpcre=included, libpcre"
+PACKAGECONFIG[ssl] = "--with-openssl=${STAGING_LIBDIR}/.., --without-openssl, openssl, openssl"
+PACKAGECONFIG[ssh2] = "--with-openssh2=${STAGING_LIBDIR}/.., --without-openssh2, libssh2, libssh2"
+PACKAGECONFIG[libz] = "--with-libz=${STAGING_LIBDIR}/.., --without-libz, zlib, zlib"
+
+#disable/enable packages
+PACKAGECONFIG[nping] = ",--without-nping,"
+PACKAGECONFIG[ncat] = ",--without-ncat,"
+PACKAGECONFIG[ndiff] = ",--without-ndiff,python"
+PACKAGECONFIG[update] = ",--without-nmap-update,"
+
+EXTRA_OECONF = "--with-libdnet=included --with-liblinear=included --without-subversion --with-liblua=included"
+
+# zenmap needs python-pygtk which has been removed
+# it also only works with python2
+# disable for now until py3 is supported
+EXTRA_OECONF += "--without-zenmap"
+
+export PYTHON_SITEPACKAGES_DIR
+
+do_configure() {
+ autoconf
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
+ install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
+ oe_runconf
+}
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}/ncat"
+
+RDEPENDS_${PN} = "python"
diff --git a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.20.00.bb b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.20.00.bb
deleted file mode 100644
index c171963c2..000000000
--- a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.20.00.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-DESCRIPTION = "TENEX C Shell, an enhanced version of Berkeley csh \
- The TENEX C Shell is an enhanced version of the Berkeley Unix C shell. \
- It includes all features of 4.4BSD C shell, plus a command-line editor, \
- programmable word completion, spelling correction and more."
-
-HOMEPAGE = "http://www.tcsh.org/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://Copyright;md5=575cf2715c3bf894e1f79aec1d4eaaf5"
-SECTION = "base"
-DEPENDS = "ncurses virtual/crypt gettext-native"
-SRC_URI = " \
- http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${BP}.tar.gz \
- file://0001-Enable-system-malloc-on-all-linux.patch \
- file://0002-Add-debian-csh-scripts.patch \
-"
-SRC_URI[md5sum] = "59d40ef40a68e790d95e182069431834"
-SRC_URI[sha256sum] = "b89de7064ab54dac454a266cfe5d8bf66940cb5ed048d0c30674ea62e7ecef9d"
-
-EXTRA_OEMAKE += "CC_FOR_GETHOST='${BUILD_CC}'"
-inherit autotools
-
-do_compile_prepend() {
- oe_runmake CC_FOR_GETHOST='${BUILD_CC}' CFLAGS='${BUILD_CFLAGS}' gethost
-}
-
-do_install_append () {
- oe_runmake install.man DESTDIR=${D}
-
- install -d ${D}${base_bindir}
- ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh
- ln -s /usr/bin/tcsh ${D}${base_bindir}/csh
- install -d ${D}${sysconfdir}/csh/login.d
- install -m 0644 ${S}/csh.cshrc ${S}/csh.login ${S}/csh.logout ${S}/complete.tcsh ${D}${sysconfdir}
- install -D -m 0644 ${S}/csh-mode.el ${D}${datadir}/emacs/site-lisp/csh-mode.el
-}
-
-FILES_${PN} += "${datadir}/emacs/site-lisp/csh-mode.el"
-
-
-pkg_postinst_${PN} () {
-#!/bin/sh -e
-echo /usr/bin/tcsh >> $D/etc/shells
-echo /usr/bin/csh >> $D/etc/shells
-}
diff --git a/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.21.00.bb b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.21.00.bb
new file mode 100644
index 000000000..278ab0458
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-shells/tcsh/tcsh_6.21.00.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "TENEX C Shell, an enhanced version of Berkeley csh \
+ The TENEX C Shell is an enhanced version of the Berkeley Unix C shell. \
+ It includes all features of 4.4BSD C shell, plus a command-line editor, \
+ programmable word completion, spelling correction and more."
+
+HOMEPAGE = "http://www.tcsh.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://Copyright;md5=575cf2715c3bf894e1f79aec1d4eaaf5"
+SECTION = "base"
+DEPENDS = "ncurses virtual/crypt gettext-native"
+SRC_URI = " \
+ http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${BP}.tar.gz \
+ file://0001-Enable-system-malloc-on-all-linux.patch \
+ file://0002-Add-debian-csh-scripts.patch \
+"
+SRC_URI[md5sum] = "5bd5f11515cc5cca927777fa92f9d4b9"
+SRC_URI[sha256sum] = "c438325448371f59b12a4c93bfd3f6982e6f79f8c5aef4bc83aac8f62766e972"
+
+EXTRA_OEMAKE += "CC_FOR_GETHOST='${BUILD_CC}'"
+inherit autotools
+
+do_compile_prepend() {
+ oe_runmake CC_FOR_GETHOST='${BUILD_CC}' CFLAGS='${BUILD_CFLAGS}' gethost
+}
+
+do_install_append () {
+ oe_runmake install.man DESTDIR=${D}
+
+ install -d ${D}${base_bindir}
+ ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh
+ ln -s /usr/bin/tcsh ${D}${base_bindir}/csh
+ install -d ${D}${sysconfdir}/csh/login.d
+ install -m 0644 ${S}/csh.cshrc ${S}/csh.login ${S}/csh.logout ${S}/complete.tcsh ${D}${sysconfdir}
+ install -D -m 0644 ${S}/csh-mode.el ${D}${datadir}/emacs/site-lisp/csh-mode.el
+}
+
+FILES_${PN} += "${datadir}/emacs/site-lisp/csh-mode.el"
+
+
+pkg_postinst_${PN} () {
+#!/bin/sh -e
+echo /usr/bin/tcsh >> $D/etc/shells
+echo /usr/bin/csh >> $D/etc/shells
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb
new file mode 100644
index 000000000..ac463038a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.0.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
+AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
+HOMEPAGE = "http://ceres-solver.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=35e00f0c4c96a0820a03e0b31e6416be"
+
+DEPENDS = "libeigen glog"
+
+SRC_URI = "git://github.com/ceres-solver/ceres-solver.git"
+SRCREV = "facb199f3eda902360f9e1d5271372b7e54febe1"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# We don't want path to eigen3 in ceres-solver RSS to be
+# used by components which use CeresConfig.cmake from their
+# own RSS
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(Eigen3_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/share/eigen3/cmake)
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: list(APPEND EIGEN_INCLUDE_DIR_HINTS ceres-solver/1.14-r0/recipe-sysroot/usr/include/eigen3)
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(glog_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/lib/cmake/glog)
+SSTATE_SCAN_FILES += "*.cmake"
+
+PACKAGECONFIG ??= ""
+
+# suitesparse* recipes will be in meta-ros layer
+PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr"
+PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse"
+PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack"
+
+# Only a static library and headers are created
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
+RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb b/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb
deleted file mode 100644
index a62e5ef23..000000000
--- a/meta-openembedded/meta-oe/recipes-support/ceres-solver/ceres-solver_1.14.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
-AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
-HOMEPAGE = "http://ceres-solver.org/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=35e00f0c4c96a0820a03e0b31e6416be"
-
-DEPENDS = "libeigen glog"
-
-SRC_URI = "git://github.com/ceres-solver/ceres-solver.git"
-SRCREV = "facb199f3eda902360f9e1d5271372b7e54febe1"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-# Only a static library and headers are created
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb
deleted file mode 100644
index 1ed97a27e..000000000
--- a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.7.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-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=8489f3831fc7b75264c1d5e346251a74"
-SRCREV = "49ac989a9527ee9bb496de9ded7b4872c2e0e5ca"
-PV .= "+git${SRCPV}"
-
-SRC_URI += "gitsm://github.com/CLIUtils/CLI11 \
- file://0001-Add-CLANG_TIDY-check.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-inherit ptest
-
-EXTRA_OECMAKE += "-DCLANG_TIDY=OFF"
-DEPENDS += "boost"
diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb
new file mode 100644
index 000000000..404545d5e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cli11/cli11_1.8.0.bb
@@ -0,0 +1,22 @@
+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=b73927b18d5c6cd8d2ed28a6ad539733"
+SRCREV = "13becaddb657eacd090537719a669d66d393b8b2"
+PV .= "+git${SRCPV}"
+
+SRC_URI += "gitsm://github.com/CLIUtils/CLI11 \
+ file://0001-Add-CLANG_TIDY-check.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+inherit ptest
+
+EXTRA_OECMAKE += "-DCLANG_TIDY=OFF"
+DEPENDS += "boost"
+
+# cli11 is a header only C++ library, so the main package will be empty.
+RDEPENDS_${PN}-dev = ""
diff --git a/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch b/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch
index bef3548a2..02b3c9bd7 100644
--- a/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch
+++ b/meta-openembedded/meta-oe/recipes-support/cli11/files/0001-Add-CLANG_TIDY-check.patch
@@ -1,20 +1,21 @@
-From ef6310bc726a53ff6b45071633fa7b37224cae96 Mon Sep 17 00:00:00 2001
+From 902b251fd8d6408ee6623e7a92692948cf90187d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 12 Feb 2019 13:22:21 -0800
Subject: [PATCH] Add CLANG_TIDY check
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 79404b8..f68217d 100644
+index 7073a0b..2dd2c02 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -39,7 +39,7 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
- add_definitions(-Wall -Wextra -pedantic)
+@@ -60,7 +60,7 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
+ endif()
endif()
- if(CMAKE_VERSION VERSION_GREATER 3.6)
@@ -22,6 +23,3 @@ index 79404b8..f68217d 100644
# Add clang-tidy if available
option(CLANG_TIDY_FIX "Perform fixes for Clang-Tidy" OFF)
find_program(
---
-2.20.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/cmark/cmark_git.bb b/meta-openembedded/meta-oe/recipes-support/cmark/cmark_git.bb
new file mode 100644
index 000000000..f74a39b50
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cmark/cmark_git.bb
@@ -0,0 +1,17 @@
+SUMMARY = "CommonMark parsing and rendering library and program in C"
+HOMEPAGE = "https://github.com/commonmark/cmark"
+LICENSE = "BSD-2-Clause & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=81f9cae6293cc0345a9144b78152ab62"
+
+SRC_URI = "git://github.com/commonmark/cmark.git"
+SRCREV = "8daa6b1495124f0b67e6034130e12d7be83e38bd"
+S = "${WORKDIR}/git"
+
+PV = "0.29.0"
+
+inherit cmake lib_package
+
+EXTRA_OECMAKE += " \
+ -DCMARK_TESTS=OFF \
+ -DCMARK_STATIC=OFF \
+"
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
deleted file mode 100644
index 070451211..000000000
--- a/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.13.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design."
-SECTION = "libs/network"
-HOMEPAGE = "https://github.com/Microsoft/cpprestsdk/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/license.txt;md5=a2e15b954769218ff912468eecd6a02f"
-DEPENDS = "openssl websocketpp zlib boost brotli"
-
-EXTRA_OECMAKE = "-DCPPREST_EXPORT_DIR=cmake -DCPPREST_EXCLUDE_BROTLI=OFF"
-
-SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \
- file://disable-float-tests.patch \
- file://disable-outside-tests.patch "
-
-# tag 2.10.13
-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/cpprest/cpprest_2.10.14.bb b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.14.bb
new file mode 100644
index 000000000..53f6469b2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/cpprest/cpprest_2.10.14.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design."
+SECTION = "libs/network"
+HOMEPAGE = "https://github.com/Microsoft/cpprestsdk/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/license.txt;md5=a2e15b954769218ff912468eecd6a02f"
+DEPENDS = "openssl websocketpp zlib boost brotli"
+
+EXTRA_OECMAKE = "-DCPPREST_EXPORT_DIR=cmake -DCPPREST_EXCLUDE_BROTLI=OFF -DWERROR=OFF"
+
+SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \
+ file://disable-float-tests.patch \
+ file://disable-outside-tests.patch "
+
+# tag 2.10.14
+SRCREV= "6f602bee67b088a299d7901534af3bce6334ab38"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb b/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
index 84e9bca0e..35251cb8d 100644
--- a/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
+++ b/meta-openembedded/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
@@ -12,7 +12,7 @@ data."
SECTION = "System/Servers"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/PD;md5=b3597d12946881e13cb3b548d1173851"
+LIC_FILES_CHKSUM = "file://src/prot.c;beginline=1;endline=1;md5=96964cadf07e8f8c1e2ffb3b507dd647"
LICENSE = "PD"
SRC_URI = "http://cr.yp.to/daemontools/${BPN}-${PV}.tar.gz \
diff --git a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
index aeca23bf2..76faefefb 100644
--- a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
@@ -4,12 +4,15 @@ inherit native deploy
DEPENDS = "libusb1-native"
-SRC_URI += "file://0001-Revert-Makefile.am-Drop-static-dfu-util.patch"
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[static] = "CFLAGS='${CFLAGS} -pthread -static',,"
do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
do_deploy() {
- install -m 0755 src/dfu-util_static ${DEPLOYDIR}/dfu-util-${PV}
+ install -m 0755 src/dfu-util ${DEPLOYDIR}/dfu-util-${PV}
rm -f ${DEPLOYDIR}/dfu-util
ln -sf ./dfu-util-${PV} ${DEPLOYDIR}/dfu-util
}
+
addtask deploy before do_package after do_install
diff --git a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch
deleted file mode 100644
index 1c6ad0807..000000000
--- a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util/0001-Revert-Makefile.am-Drop-static-dfu-util.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From c2aab3b9ae1febcb6b4c6561a59df1930a57b394 Mon Sep 17 00:00:00 2001
-From: Martin JaMa Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 11 Aug 2011 11:19:52 +0200
-Subject: [PATCH] Revert "Makefile.am: Drop static dfu-util"
-
-This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071.
-
-Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com>
----
- configure.ac | 2 +-
- src/Makefile.am | 22 +++++++++++++++++++++-
- 2 files changed, 22 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index f5a43b8..6a3757e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -21,7 +21,7 @@ AS_IF([test x$native_libusb = xno], [
- AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***]))
- ])
-
--LIBS="$LIBS $USB_LIBS"
-+LIBS="$LIBS $USB_LIBS -lpthread"
- CFLAGS="$CFLAGS $USB_CFLAGS"
-
- # Checks for header files.
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 70179c4..e8736ee 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -1,6 +1,6 @@
- AM_CFLAGS = -Wall -Wextra
-
--bin_PROGRAMS = dfu-util dfu-suffix dfu-prefix
-+bin_PROGRAMS = dfu-util dfu-util_static dfu-suffix dfu-prefix
- dfu_util_SOURCES = main.c \
- portable.h \
- dfu_load.c \
-@@ -19,6 +19,26 @@ dfu_util_SOURCES = main.c \
- quirks.c \
- quirks.h
-
-+dfu_util_static_SOURCES = main.c \
-+ portable.h \
-+ dfu_load.c \
-+ dfu_load.h \
-+ dfu_util.c \
-+ dfu_util.h \
-+ dfuse.c \
-+ dfuse.h \
-+ dfuse_mem.c \
-+ dfuse_mem.h \
-+ dfu.c \
-+ dfu.h \
-+ usb_dfu.h \
-+ dfu_file.c \
-+ dfu_file.h \
-+ quirks.c \
-+ quirks.h
-+
-+dfu_util_static_LDFLAGS = -static
-+
- dfu_suffix_SOURCES = suffix.c \
- dfu_file.h \
- dfu_file.c
---
-2.7.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
index 76e1552c0..8a2ac6934 100644
--- a/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
+++ b/meta-openembedded/meta-oe/recipes-support/dfu-util/dfu-util_0.9.bb
@@ -1,15 +1,13 @@
DESCRIPTION = "USB Device Firmware Upgrade utility"
+AUTHOR = "Harald Welte <laforge@openmoko.org>"
HOMEPAGE = "http://dfu-util.sourceforge.net"
SECTION = "devel"
-AUTHOR = "Harald Welte <laforge@openmoko.org>"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = "http://dfu-util.gnumonks.org/releases/${BP}.tar.gz"
-
-inherit autotools pkgconfig
-
DEPENDS = "libusb1"
+SRC_URI = "http://dfu-util.sourceforge.net/releases/${BP}.tar.gz"
SRC_URI[md5sum] = "233bb1e08ef4b405062445d84e28fde6"
SRC_URI[sha256sum] = "36428c6a6cb3088cad5a3592933385253da5f29f2effa61518ee5991ea38f833"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb b/meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb
new file mode 100644
index 000000000..cfbb2caaf
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/dhex/dhex_0.69.bb
@@ -0,0 +1,24 @@
+SUMMARY = "dhex is a hex editor that includes a diff mode"
+SECTION = "console/utils"
+
+DEPENDS = "ncurses"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://README.txt;beginline=229;endline=241;md5=6f252a421b65bcecf624382ba3c899da"
+
+SRC_URI = "http://www.dettus.net/dhex/dhex_0.69.tar.gz"
+SRC_URI[md5sum] = "64d557437fe110c19f23ed3e9bbcdd54"
+SRC_URI[sha256sum] = "52730bcd1cf16bd4dae0de42531be9a4057535ec61ca38c0804eb8246ea6c41b"
+
+S = "${WORKDIR}/dhex_${PV}"
+
+EXTRA_OEMAKE += "'CC=${CC}' 'LDFLAGS=${LDFLAGS}' 'CPPFLAGS=${CPPFLAGS}'"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ install -m 0755 -d ${D}${bindir}
+ install -m 0755 ${S}/dhex ${D}${bindir}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb b/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb
new file mode 100644
index 000000000..9fcc278d3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "read temperature sensors in a 1-Wire net"
+SECTION = "util"
+DEPENDS = "libusb1"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
+
+SRC_URI = "git://github.com/bcl/digitemp"
+
+SRCREV = "a162e63aad35358aab325388f3d5e88121606419"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "ds9097 ds9097u \
+ SYSTYPE='Linux' \
+"
+do_configure() {
+ rm -f digitemp_*
+}
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 digitemp_* ${D}${sbindir}
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb b/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb
deleted file mode 100644
index 460aa1438..000000000
--- a/meta-openembedded/meta-oe/recipes-support/digitemp/digitemp_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "read temperature sensors in a 1-Wire net"
-SECTION = "util"
-DEPENDS = "libusb1"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
-
-PV = "3.7.1+git${SRCPV}"
-
-SRC_URI = "git://github.com/bcl/digitemp"
-
-SRCREV = "389f67655efa1674f595106c3a47b5ad082609a7"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = "ds9097 ds9097u \
- SYSTYPE='Linux' \
-"
-do_configure() {
- rm -f digitemp_*
-}
-
-do_install() {
- install -d ${D}${sbindir}
- install -m 0755 digitemp_* ${D}${sbindir}
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb b/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb
deleted file mode 100644
index 18af738fa..000000000
--- a/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "versatile resource statics tool"
-DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \
-Dstat overcomes some of their limitations and adds some extra features, more counters \
-and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \
-benchmarks or troubleshooting."
-HOMEPAGE = "http://dag.wiee.rs/home-made/dstat"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS += "asciidoc-native xmlto-native"
-
-SRC_URI = "git://github.com/dagwieers/dstat.git"
-
-SRCREV = "ebace6d4177f8748f35cec87f7a49946046b0a20"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-}
-
-RDEPENDS_${PN} += "python-core python-misc python-resource python-shell python-unixadmin"
diff --git a/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb b/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
new file mode 100644
index 000000000..8eb715740
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
@@ -0,0 +1,22 @@
+SUMMARY = "versatile resource statics tool"
+DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \
+Dstat overcomes some of their limitations and adds some extra features, more counters \
+and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \
+benchmarks or troubleshooting."
+HOMEPAGE = "http://dag.wiee.rs/home-made/dstat"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS += "asciidoc-native xmlto-native"
+
+SRC_URI = "git://github.com/dagwieers/dstat.git"
+
+SRCREV = "6f5db0aed26bf8cf2700d4ffe90a9bd3436ac728"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+RDEPENDS_${PN} += "python-core python-misc python-resource python-shell python-unixadmin"
diff --git a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb
deleted file mode 100644
index 967beeba4..000000000
--- a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.14.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Interactive Connectivity Establishment library"
-DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactive Connectivity Establishment standard (ICE)."
-HOMEPAGE = "http://nice.freedesktop.org/wiki/"
-SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz"
-SRC_URI[md5sum] = "c9b9b74b8ae1b3890e4bd93f1b70e8ff"
-SRC_URI[sha256sum] = "be120ba95d4490436f0da077ffa8f767bf727b82decf2bf499e39becc027809c"
-
-LICENSE = "LGPLv2.1 & MPLv1.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \
- file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \
-"
-
-DEPENDS = "glib-2.0 gnutls"
-
-PACKAGECONFIG ??= "gstreamer1.0"
-PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
-PACKAGECONFIG[gstreamer1.0] = "--with-gstreamer,--without-gstreamer,gstreamer1.0 gstreamer1.0-plugins-base"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-EXTRA_OECONF += "--without-gstreamer-0.10"
-
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
-FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
-
-do_configure_prepend() {
- mkdir ${S}/m4 || true
-}
-
-do_compile_append() {
- for i in $(find ${B} -name "*.pc") ; do
- sed -i -e s:${STAGING_DIR_TARGET}::g \
- -e s:/${TARGET_SYS}::g \
- $i
- done
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb
new file mode 100644
index 000000000..7bd6478d4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.16.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Interactive Connectivity Establishment library"
+DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactive Connectivity Establishment standard (ICE)."
+HOMEPAGE = "http://nice.freedesktop.org/wiki/"
+
+LICENSE = "LGPLv2.1 & MPLv1.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \
+ file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \
+"
+
+SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz"
+SRC_URI[md5sum] = "5ad936c43d3c6d33117b2c64982f2fd9"
+SRC_URI[sha256sum] = "06b678066f94dde595a4291588ed27acd085ee73775b8c4e8399e28c01eeefdf"
+
+DEPENDS = "glib-2.0 gnutls"
+
+PACKAGECONFIG ??= "gstreamer1.0"
+PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
+PACKAGECONFIG[gstreamer1.0] = "--with-gstreamer,--without-gstreamer,gstreamer1.0 gstreamer1.0-plugins-base"
+
+inherit autotools pkgconfig gtk-doc gobject-introspection
+
+EXTRA_OECONF += "--without-gstreamer-0.10"
+
+FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
+FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
+
+do_configure_prepend() {
+ mkdir ${S}/m4 || true
+}
+
+do_compile_append() {
+ for i in $(find ${B} -name "*.pc") ; do
+ sed -i -e s:${STAGING_DIR_TARGET}::g \
+ -e s:/${TARGET_SYS}::g \
+ $i
+ done
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.0.0.bb b/meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.0.0.bb
new file mode 100644
index 000000000..c35c77b12
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/fmt/fmt_6.0.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "open-source formatting library for C++"
+DESCRIPTION = "{fmt} is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and iostreams."
+HOMEPAGE = "https://fmt.dev"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=af88d758f75f3c5c48a967501f24384b"
+
+SRC_URI += "git://github.com/fmtlib/fmt"
+SRCREV = "7512a55aa3ae309587ca89668ef9ec4074a51a1f"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+inherit ptest
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2019-6978.patch b/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2019-6978.patch
new file mode 100644
index 000000000..9beb23e83
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2019-6978.patch
@@ -0,0 +1,299 @@
+From 553702980ae89c83f2d6e254d62cf82e204956d0 Mon Sep 17 00:00:00 2001
+From: "Christoph M. Becker" <cmbecker69@gmx.de>
+Date: Thu, 17 Jan 2019 11:54:55 +0100
+Subject: [PATCH] Fix #492: Potential double-free in gdImage*Ptr()
+
+Whenever `gdImage*Ptr()` calls `gdImage*Ctx()` and the latter fails, we
+must not call `gdDPExtractData()`; otherwise a double-free would
+happen. Since `gdImage*Ctx()` are void functions, and we can't change
+that for BC reasons, we're introducing static helpers which are used
+internally.
+
+We're adding a regression test for `gdImageJpegPtr()`, but not for
+`gdImageGifPtr()` and `gdImageWbmpPtr()` since we don't know how to
+trigger failure of the respective `gdImage*Ctx()` calls.
+
+This potential security issue has been reported by Solmaz Salimi (aka.
+Rooney).
+---
+ src/gd_gif_out.c | 18 +++++++++++++++---
+ src/gd_jpeg.c | 20 ++++++++++++++++----
+ src/gd_wbmp.c | 21 ++++++++++++++++++---
+ tests/jpeg/.gitignore | 1 +
+ tests/jpeg/CMakeLists.txt | 1 +
+ tests/jpeg/Makemodule.am | 3 ++-
+ tests/jpeg/jpeg_ptr_double_free.c | 31 +++++++++++++++++++++++++++++++
+ 7 files changed, 84 insertions(+), 11 deletions(-)
+ create mode 100644 tests/jpeg/jpeg_ptr_double_free.c
+
+Upstream-Status: Backport [https://github.com/libgd/libgd/commit/553702980ae89c83f2d6e254d62cf82e204956d0]
+CVE: CVE-2019-6978
+
+Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
+
+
+diff --git a/src/gd_gif_out.c b/src/gd_gif_out.c
+index 298a581..d5a9534 100644
+--- a/src/gd_gif_out.c
++++ b/src/gd_gif_out.c
+@@ -99,6 +99,7 @@ static void char_init(GifCtx *ctx);
+ static void char_out(int c, GifCtx *ctx);
+ static void flush_char(GifCtx *ctx);
+
++static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out);
+
+
+
+@@ -131,8 +132,11 @@ BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size)
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
+ if (out == NULL) return NULL;
+- gdImageGifCtx(im, out);
+- rv = gdDPExtractData(out, size);
++ if (!_gdImageGifCtx(im, out)) {
++ rv = gdDPExtractData(out, size);
++ } else {
++ rv = NULL;
++ }
+ out->gd_free(out);
+ return rv;
+ }
+@@ -220,6 +224,12 @@ BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile)
+
+ */
+ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
++{
++ _gdImageGifCtx(im, out);
++}
++
++/* returns 0 on success, 1 on failure */
++static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
+ {
+ gdImagePtr pim = 0, tim = im;
+ int interlace, BitsPerPixel;
+@@ -231,7 +241,7 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
+ based temporary image. */
+ pim = gdImageCreatePaletteFromTrueColor(im, 1, 256);
+ if(!pim) {
+- return;
++ return 1;
+ }
+ tim = pim;
+ }
+@@ -247,6 +257,8 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out)
+ /* Destroy palette based temporary image. */
+ gdImageDestroy( pim);
+ }
++
++ return 0;
+ }
+
+
+diff --git a/src/gd_jpeg.c b/src/gd_jpeg.c
+index fc05842..96ef430 100644
+--- a/src/gd_jpeg.c
++++ b/src/gd_jpeg.c
+@@ -117,6 +117,8 @@ static void fatal_jpeg_error(j_common_ptr cinfo)
+ exit(99);
+ }
+
++static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality);
++
+ /*
+ * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality
+ * QUALITY. If QUALITY is in the range 0-100, increasing values
+@@ -231,8 +233,11 @@ BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality)
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
+ if (out == NULL) return NULL;
+- gdImageJpegCtx(im, out, quality);
+- rv = gdDPExtractData(out, size);
++ if (!_gdImageJpegCtx(im, out, quality)) {
++ rv = gdDPExtractData(out, size);
++ } else {
++ rv = NULL;
++ }
+ out->gd_free(out);
+ return rv;
+ }
+@@ -253,6 +258,12 @@ void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile);
+
+ */
+ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
++{
++ _gdImageJpegCtx(im, outfile, quality);
++}
++
++/* returns 0 on success, 1 on failure */
++static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
+ {
+ struct jpeg_compress_struct cinfo;
+ struct jpeg_error_mgr jerr;
+@@ -287,7 +298,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
+ if(row) {
+ gdFree(row);
+ }
+- return;
++ return 1;
+ }
+
+ cinfo.err->emit_message = jpeg_emit_message;
+@@ -328,7 +339,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
+ if(row == 0) {
+ gd_error("gd-jpeg: error: unable to allocate JPEG row structure: gdCalloc returns NULL\n");
+ jpeg_destroy_compress(&cinfo);
+- return;
++ return 1;
+ }
+
+ rowptr[0] = row;
+@@ -405,6 +416,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality)
+ jpeg_finish_compress(&cinfo);
+ jpeg_destroy_compress(&cinfo);
+ gdFree(row);
++ return 0;
+ }
+
+
+diff --git a/src/gd_wbmp.c b/src/gd_wbmp.c
+index f19a1c9..a49bdbe 100644
+--- a/src/gd_wbmp.c
++++ b/src/gd_wbmp.c
+@@ -88,6 +88,8 @@ int gd_getin(void *in)
+ return (gdGetC((gdIOCtx *)in));
+ }
+
++static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out);
++
+ /*
+ Function: gdImageWBMPCtx
+
+@@ -100,6 +102,12 @@ int gd_getin(void *in)
+ out - the stream where to write
+ */
+ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
++{
++ _gdImageWBMPCtx(image, fg, out);
++}
++
++/* returns 0 on success, 1 on failure */
++static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
+ {
+ int x, y, pos;
+ Wbmp *wbmp;
+@@ -107,7 +115,7 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
+ /* create the WBMP */
+ if((wbmp = createwbmp(gdImageSX(image), gdImageSY(image), WBMP_WHITE)) == NULL) {
+ gd_error("Could not create WBMP\n");
+- return;
++ return 1;
+ }
+
+ /* fill up the WBMP structure */
+@@ -123,11 +131,15 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out)
+
+ /* write the WBMP to a gd file descriptor */
+ if(writewbmp(wbmp, &gd_putout, out)) {
++ freewbmp(wbmp);
+ gd_error("Could not save WBMP\n");
++ return 1;
+ }
+
+ /* des submitted this bugfix: gdFree the memory. */
+ freewbmp(wbmp);
++
++ return 0;
+ }
+
+ /*
+@@ -271,8 +283,11 @@ BGD_DECLARE(void *) gdImageWBMPPtr(gdImagePtr im, int *size, int fg)
+ void *rv;
+ gdIOCtx *out = gdNewDynamicCtx(2048, NULL);
+ if (out == NULL) return NULL;
+- gdImageWBMPCtx(im, fg, out);
+- rv = gdDPExtractData(out, size);
++ if (!_gdImageWBMPCtx(im, fg, out)) {
++ rv = gdDPExtractData(out, size);
++ } else {
++ rv = NULL;
++ }
+ out->gd_free(out);
+ return rv;
+ }
+diff --git a/tests/jpeg/.gitignore b/tests/jpeg/.gitignore
+index c28aa87..13bcf04 100644
+--- a/tests/jpeg/.gitignore
++++ b/tests/jpeg/.gitignore
+@@ -3,5 +3,6 @@
+ /jpeg_empty_file
+ /jpeg_im2im
+ /jpeg_null
++/jpeg_ptr_double_free
+ /jpeg_read
+ /jpeg_resolution
+diff --git a/tests/jpeg/CMakeLists.txt b/tests/jpeg/CMakeLists.txt
+index 19964b0..a8d8162 100644
+--- a/tests/jpeg/CMakeLists.txt
++++ b/tests/jpeg/CMakeLists.txt
+@@ -2,6 +2,7 @@ IF(JPEG_FOUND)
+ LIST(APPEND TESTS_FILES
+ jpeg_empty_file
+ jpeg_im2im
++ jpeg_ptr_double_free
+ jpeg_null
+ )
+
+diff --git a/tests/jpeg/Makemodule.am b/tests/jpeg/Makemodule.am
+index 7e5d317..b89e169 100644
+--- a/tests/jpeg/Makemodule.am
++++ b/tests/jpeg/Makemodule.am
+@@ -2,7 +2,8 @@ if HAVE_LIBJPEG
+ libgd_test_programs += \
+ jpeg/jpeg_empty_file \
+ jpeg/jpeg_im2im \
+- jpeg/jpeg_null
++ jpeg/jpeg_null \
++ jpeg/jpeg_ptr_double_free
+
+ if HAVE_LIBPNG
+ libgd_test_programs += \
+diff --git a/tests/jpeg/jpeg_ptr_double_free.c b/tests/jpeg/jpeg_ptr_double_free.c
+new file mode 100644
+index 0000000..df5a510
+--- /dev/null
++++ b/tests/jpeg/jpeg_ptr_double_free.c
+@@ -0,0 +1,31 @@
++/**
++ * Test that failure to convert to JPEG returns NULL
++ *
++ * We are creating an image, set its width to zero, and pass this image to
++ * `gdImageJpegPtr()` which is supposed to fail, and as such should return NULL.
++ *
++ * See also <https://github.com/libgd/libgd/issues/381>
++ */
++
++
++#include "gd.h"
++#include "gdtest.h"
++
++
++int main()
++{
++ gdImagePtr src, dst;
++ int size;
++
++ src = gdImageCreateTrueColor(1, 10);
++ gdTestAssert(src != NULL);
++
++ src->sx = 0; /* this hack forces gdImageJpegPtr() to fail */
++
++ dst = gdImageJpegPtr(src, &size, 0);
++ gdTestAssert(dst == NULL);
++
++ gdImageDestroy(src);
++
++ return gdNumFailures();
++}
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb
index c846bda6b..35f9bb251 100644
--- a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb
@@ -16,6 +16,7 @@ DEPENDS = "freetype libpng jpeg zlib tiff"
SRC_URI = "git://github.com/libgd/libgd.git;branch=GD-2.2 \
file://0001-annotate.c-gdft.c-Replace-strncpy-with-memccpy-to-fi.patch \
file://CVE-2018-1000222.patch \
+ file://CVE-2019-6978.patch \
"
SRCREV = "8255231b68889597d04d451a72438ab92a405aba"
diff --git a/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb b/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb
deleted file mode 100644
index 29a1125cd..000000000
--- a/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used"
-HOMEPAGE = "https://github.com/gflags/gflags"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df"
-
-SRC_URI = "git://github.com/gflags/gflags.git"
-SRCREV = "f8a0efe03aa69b3336d8e228b37d4ccb17324b88"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE="-DBUILD_SHARED_LIBS=ON -DREGISTER_INSTALL_PREFIX=OFF -DLIB_INSTALL_DIR=${baselib}"
-
-PACKAGES =+ "${PN}-bash-completion"
-FILES_${PN}-bash-completion += "${bindir}/gflags_completions.sh"
-
-RDEPENDS_${PN}-bash-completion = "bash bash-completion"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.2.bb b/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.2.bb
new file mode 100644
index 000000000..6eea0c00e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/gflags/gflags_2.2.2.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used"
+HOMEPAGE = "https://github.com/gflags/gflags"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df"
+
+SRC_URI = "git://github.com/gflags/gflags.git"
+SRCREV = "e171aa2d15ed9eb17054558e0b3a6a413bb01067"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE="-DBUILD_SHARED_LIBS=ON -DREGISTER_INSTALL_PREFIX=OFF -DLIB_INSTALL_DIR=${baselib}"
+
+PACKAGES =+ "${PN}-bash-completion"
+FILES_${PN}-bash-completion += "${bindir}/gflags_completions.sh"
+
+RDEPENDS_${PN}-bash-completion = "bash bash-completion"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
index c8b91278d..c48a98183 100644
--- a/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gperftools/gperftools_2.7.bb
@@ -28,3 +28,11 @@ COMPATIBLE_HOST_mipsarch_libc-glibc = "null"
ARM_INSTRUCTION_SET_armv5 = "arm"
ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm"
+# Ensure static libs are always enabled, as they seem to be not produced by
+# default at least on ARM.
+EXTRA_OECONF_append += " --enable-static"
+
+PACKAGE_BEFORE_PN += "libtcmalloc-minimal"
+FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}"
+RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})"
+
diff --git a/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb b/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb
new file mode 100644
index 000000000..7ed46f82c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Administration program for the grsecurity RBAC syste"
+DESCRIPTION = "\
+gradm is the userspace RBAC parsing and authentication program for \
+grsecurity grsecurity aims to be a complete security system. gradm \
+performs several tasks for the RBAC system including authenticated \
+via a password to the kernel and parsing rules to be passed to the \
+kernel"
+HOMEPAGE = "http://grsecurity.net/index.php"
+SECTION = "admin"
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b"
+DEPENDS = "flex-native bison-native ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+SRC_URI = "http://grsecurity.net/stable/${BP}.tar.gz \
+ file://0001-Makefile-remove-strip.patch \
+ file://0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch \
+ "
+SRC_URI[md5sum] = "5099c715433981d5a3eed8ded7c5bbc0"
+SRC_URI[sha256sum] = "d3a0b6383ff97a2054941d71133c737efae66afdd8eef59346c031ae15c75ff3"
+
+S = "${WORKDIR}/gradm"
+
+inherit autotools-brokensep
+
+do_compile() {
+ oe_runmake 'CC=${CC}' \
+ 'LIBS=' \
+ 'OPT_FLAGS=${CFLAGS}' \
+ 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
+ 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
+ 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', ' ', 'nopam', d)}
+}
+
+do_install() {
+ oe_runmake 'CC=${CC}' \
+ 'DESTDIR=${D}' \
+ 'LIBS=' \
+ 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
+ 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
+ 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
+ install
+
+ # The device nodes are generated by postinstall or udev
+ rm -rf ${D}/dev
+}
+
+pkg_postinst_ontarget_${PN}() {
+ /bin/mknod -m 0622 /dev/grsec c 1 13
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1.bb b/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1.bb
deleted file mode 100644
index a7d0607f8..000000000
--- a/meta-openembedded/meta-oe/recipes-support/gradm/gradm_3.1.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "Administration program for the grsecurity RBAC syste"
-DESCRIPTION = "\
-gradm is the userspace RBAC parsing and authentication program for \
-grsecurity grsecurity aims to be a complete security system. gradm \
-performs several tasks for the RBAC system including authenticated \
-via a password to the kernel and parsing rules to be passed to the \
-kernel"
-HOMEPAGE = "http://grsecurity.net/index.php"
-SECTION = "admin"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b"
-DEPENDS = "flex-native bison-native ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-SRC_URI = "http://grsecurity.net/stable/${BP}-201507191652.tar.gz \
- file://0001-Makefile-remove-strip.patch \
- file://0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch \
- "
-SRC_URI[md5sum] = "ecec72d3a9b6d84c00eda97957b707b6"
-SRC_URI[sha256sum] = "2f14c357bf0459e502a4e108b76c3f6240aa484762d07bb1687796b9b9297a50"
-
-S = "${WORKDIR}/gradm"
-
-inherit autotools-brokensep
-
-do_compile() {
- oe_runmake 'CC=${CC}' \
- 'OPT_FLAGS=${CFLAGS}' \
- 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
- 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
- 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', ' ', 'nopam', d)}
-}
-
-do_install() {
- oe_runmake 'CC=${CC}' \
- 'DESTDIR=${D}' \
- 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
- 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
- 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
- install
-
- # The device nodes are generated by postinstall or udev
- rm -rf ${D}/dev
-}
-
-pkg_postinst_ontarget_${PN}() {
- /bin/mknod -m 0622 /dev/grsec c 1 13
-}
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
deleted file mode 100644
index 4e8541812..000000000
--- a/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.5.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-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/gsl/gsl_2.6.bb b/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.6.bb
new file mode 100644
index 000000000..367a08321
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/gsl/gsl_2.6.bb
@@ -0,0 +1,5 @@
+include gsl.inc
+
+SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz"
+SRC_URI[md5sum] = "bda73a3dd5ff2f30b5956764399db6e7"
+SRC_URI[sha256sum] = "b782339fc7a38fe17689cb39966c4d821236c28018b6593ddb6fd59ee40786a8"
diff --git a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
index 58a060706..e66102064 100644
--- a/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/hwdata/hwdata_git.bb
@@ -5,8 +5,8 @@ SECTION = "System/Base"
LICENSE = "GPL-2.0+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
-PV = "0.322"
-SRCREV = "a65d28807d8f2446faa4734c758d1607f0a56ded"
+PV = "0.327"
+SRCREV = "874f7831c64de7ea2203cfcd1b3fc336bc27e468"
SRC_URI = "git://github.com/vcrhonek/${BPN}.git"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch b/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch
new file mode 100644
index 000000000..b666f00f7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch
@@ -0,0 +1,63 @@
+Origin: Debian packaging
+From: Klee Dienes <klee@mit.edu>
+Date: Thu, 13 Feb 2014 07:03:26 -0500
+Subject: Add CMake support.
+
+---
+ CMakeLists.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 44 insertions(+)
+ create mode 100644 CMakeLists.txt
+
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,50 @@
++cmake_minimum_required (VERSION 2.8.8)
++
++project (iniparser)
++include (GNUInstallDirs)
++
++include_directories (src)
++
++set(INIPARSER_SRCS src/dictionary.c src/iniparser.c)
++set(INIPARSER_HDRS src/dictionary.h src/iniparser.h)
++
++add_library(iniparser-shared SHARED ${INIPARSER_SRCS} ${INIPARSER_HDRS})
++add_library(iniparser-static STATIC ${INIPARSER_SRCS} ${INIPARSER_HDRS})
++
++set_target_properties(iniparser-shared PROPERTIES SOVERSION 1)
++set_target_properties(iniparser-shared PROPERTIES OUTPUT_NAME iniparser)
++set_target_properties(iniparser-static PROPERTIES OUTPUT_NAME iniparser)
++
++install (TARGETS iniparser-shared
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++
++install (TARGETS iniparser-static
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++
++find_package(Doxygen)
++if (NOT DOXYGEN_FOUND)
++message(FATAL_ERROR "Doxygen is needed to build the documentation. Please install it correctly")
++endif()
++
++file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/iniparser.dox
++ "@INCLUDE = ${CMAKE_CURRENT_SOURCE_DIR}/doc/iniparser.dox\n"
++ "OUTPUT_DIRECTORY = ${CMAKE_CURRENT_BINARY_DIR}\n"
++ )
++
++add_custom_target (doc ALL
++ COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/iniparser.dox
++ SOURCES doc/iniparser.dox)
++
++enable_testing()
++
++add_test(NAME testsuite
++ COMMAND make
++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test)
++
++install (FILES ${INIPARSER_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/iniparser)
++
++install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR})
diff --git a/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser_4.1.bb b/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser_4.1.bb
new file mode 100644
index 000000000..f4b553a57
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/iniparser/iniparser_4.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "The iniParser library is a simple C library offering INI file parsing services (both reading and writing)."
+SECTION = "libs"
+HOMEPAGE = "https://github.com/ndevilla/iniparser"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e02baf71c76e0650e667d7da133379ac"
+
+DEPENDS = "doxygen-native"
+
+SRC_URI = "git://github.com/ndevilla/iniparser.git;protocol=https \
+ file://Add-CMake-support.patch"
+
+# tag 4.1
+SRCREV= "0a38e85c9cde1e099ca3bf70083bd00f89c3e5b6"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
diff --git a/meta-openembedded/meta-oe/recipes-support/itstool/itstool/0001-Don-t-use-build-time-hardcoded-python-binary-path.patch b/meta-openembedded/meta-oe/recipes-support/itstool/itstool/0001-Don-t-use-build-time-hardcoded-python-binary-path.patch
new file mode 100644
index 000000000..b91105330
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/itstool/itstool/0001-Don-t-use-build-time-hardcoded-python-binary-path.patch
@@ -0,0 +1,29 @@
+From cd9b56224895576125e91cca317ace8a80f3eb77 Mon Sep 17 00:00:00 2001
+From: Piotr Tworek <tworaz@tworaz.net>
+Date: Sat, 27 Jul 2019 10:19:11 +0200
+Subject: [PATCH] Don't use build time hardcoded python binary path.
+
+This path obviously won't work on target since they refer to build
+machine directory structure. Native builds will also fail if local.conf
+has INHERIT+=rm_work. Instread of hardcoding path to python binary use
+whatever is found in PATH first. This should also allow the tool to use
+python3 binary provided in recipe-sysroot-native.
+
+Upstream-Status: Inappropriate [OE specific]
+---
+ itstool.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/itstool.in b/itstool.in
+index b3c0033..7df2476 100755
+--- a/itstool.in
++++ b/itstool.in
+@@ -1,4 +1,4 @@
+-#!@PYTHON@ -s
++#!/usr/bin/env -S python3 -s
+ #
+ # Copyright (c) 2010-2018 Shaun McCance <shaunm@gnome.org>
+ #
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.5.bb b/meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.5.bb
deleted file mode 100644
index 166e95b3a..000000000
--- a/meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.5.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "ITS Tool allows you to translate your XML documents with PO files"
-HOMEPAGE = "http://itstool.org/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59c57b95fd7d0e9e238ebbc7ad47c5a5"
-
-inherit autotools python3native
-
-DEPENDS = "python3-lxml-native"
-
-SRC_URI = "http://files.itstool.org/${BPN}/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "655c6f78fc64faee45adcc45ccc5a57e"
-SRC_URI[sha256sum] = "100506f8df62cca6225ec3e631a8237e9c04650c77495af4919ac6a100d4b308"
-
-do_install_append() {
- # fix shebang of main script
- sed -i 's:^#!${WORKDIR}.*${PYTHON_PN} -s:#!${bindir_native}/${PYTHON_PN} -s:' ${D}${bindir}/itstool
-}
-
-BBCLASSEXTEND = "native"
-
-RDEPENDS_${PN} += "python3-lxml"
-
diff --git a/meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.6.bb b/meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.6.bb
new file mode 100644
index 000000000..b4b37aa01
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/itstool/itstool_2.0.6.bb
@@ -0,0 +1,18 @@
+SUMMARY = "ITS Tool allows you to translate your XML documents with PO files"
+HOMEPAGE = "http://itstool.org/"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59c57b95fd7d0e9e238ebbc7ad47c5a5"
+
+inherit autotools python3native
+
+DEPENDS = "libxml2-native"
+
+SRC_URI = "http://files.itstool.org/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://0001-Don-t-use-build-time-hardcoded-python-binary-path.patch"
+SRC_URI[md5sum] = "4306eeba4f4aee6b393d14f9c3c57ca1"
+SRC_URI[sha256sum] = "6233cc22726a9a5a83664bf67d1af79549a298c23185d926c3677afa917b92a9"
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS_${PN} += "libxml2-python"
+RDEPENDS_${PN}_class-native = ""
diff --git a/meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch b/meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch
deleted file mode 100644
index 00f48e8a2..000000000
--- a/meta-openembedded/meta-oe/recipes-support/joe/joe/0001-adjust-signature-of-main.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 27e4639254f2b2eb7d04790bd8cf16ecfcbac1c2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 19 Oct 2016 01:07:16 +0000
-Subject: [PATCH] adjust signature of main()
-
-clang complains about the types of main() function
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- main.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/main.c b/main.c
-index 81ba543..ee7506c 100644
---- a/main.c
-+++ b/main.c
-@@ -159,7 +159,7 @@ extern int breakflg;
-
- unsigned char **mainenv;
-
--int main(int argc, unsigned char **argv, unsigned char **envv)
-+int main(int argc, char **argv, char **envv)
- {
- CAP *cap;
- unsigned char *s;
---
-1.9.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb b/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb
deleted file mode 100644
index 1ad355b5a..000000000
--- a/meta-openembedded/meta-oe/recipes-support/joe/joe_3.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SECTION = "console/utils"
-SUMMARY = "Console text editor with good functionality, good choice for vi-haters"
-HOMEPAGE = "http://joe-editor.sourceforge.net/"
-LICENSE = "GPLv1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=da10ed7cf8038981c580e11c1d3e8fb6"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/joe-editor/joe-${PV}.tar.gz \
- file://0001-adjust-signature-of-main.patch \
- "
-
-PACKAGECONFIG ??= "curses"
-PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,ncurses-terminfo"
-
-inherit autotools
-
-SRC_URI[md5sum] = "2a6ef018870fca9b7df85401994fb0e0"
-SRC_URI[sha256sum] = "252390e4bc687957f09f334095904c8cc53b39c7b663ed47861ae1d11aef5946"
diff --git a/meta-openembedded/meta-oe/recipes-support/joe/joe_4.6.bb b/meta-openembedded/meta-oe/recipes-support/joe/joe_4.6.bb
new file mode 100644
index 000000000..b79e028f3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/joe/joe_4.6.bb
@@ -0,0 +1,15 @@
+SECTION = "console/utils"
+SUMMARY = "Console text editor with good functionality, good choice for vi-haters"
+HOMEPAGE = "http://joe-editor.sourceforge.net/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/joe-editor/joe-${PV}.tar.gz"
+
+PACKAGECONFIG ??= "curses"
+PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,ncurses-terminfo"
+
+inherit autotools-brokensep
+
+SRC_URI[md5sum] = "9017484e6116830d846678b625ea5c43"
+SRC_URI[sha256sum] = "495a0a61f26404070fe8a719d80406dc7f337623788e445b92a9f6de512ab9de"
diff --git a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.7.bb b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.7.bb
deleted file mode 100644
index 12ccb2050..000000000
--- a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.7.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Little cms is a small-footprint, speed optimized color management engine"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6c786c3b7a4afbd3c990f1b81261d516"
-SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz"
-SRC_URI[md5sum] = "06c1626f625424a811fb4b5eb070839d"
-SRC_URI[sha256sum] = "4524234ae7de185e6b6da5d31d6875085b2198bc63b1211f7dde6e2d197d6a53"
-
-DEPENDS = "tiff"
-
-BBCLASSEXTEND = "native"
-
-S = "${WORKDIR}/lcms2-${PV}"
-
-inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb
new file mode 100644
index 000000000..be72d765e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.9.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Little cms is a small-footprint, speed optimized color management engine"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6c786c3b7a4afbd3c990f1b81261d516"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz"
+SRC_URI[md5sum] = "8de1b7724f578d2995c8fdfa35c3ad0e"
+SRC_URI[sha256sum] = "48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20"
+
+DEPENDS = "tiff"
+
+BBCLASSEXTEND = "native"
+
+S = "${WORKDIR}/lcms2-${PV}"
+
+inherit autotools
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.4.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.4.bb
deleted file mode 100644
index 863ce428f..000000000
--- a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_1.4.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "The goal of this project is to provide a tiny library that would \
-facilitate the common operations with sizes in bytes."
-HOMEPAGE = "https://github.com/rhinstaller/libbytesize"
-LICENSE = "LGPLv2+"
-SECTION = "devel/lib"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "ebbda2217d177d2a17f917d7a3e3d132a26db791"
-SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master \
-"
-
-inherit gettext autotools python3native
-
-DEPENDS += " \
- libpcre \
- gmp \
- mpfr \
-"
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize"
-
-PACKAGECONFIG ??= "python3"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
-PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python2"
-PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
-
-EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}"
-
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.1.bb b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.1.bb
new file mode 100644
index 000000000..07bf1faae
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libbytesize/libbytesize_2.1.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "The goal of this project is to provide a tiny library that would \
+facilitate the common operations with sizes in bytes."
+HOMEPAGE = "https://github.com/rhinstaller/libbytesize"
+LICENSE = "LGPLv2+"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "9ecc1042109528051983261ffd491d45e7c471e1"
+SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master"
+
+inherit gettext autotools python3native
+
+DEPENDS += " \
+ libpcre2 \
+ gmp \
+ mpfr \
+ gettext-native \
+"
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize"
+
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3-core"
+PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
+
+EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}"
+
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb
index e1deb662a..f638848d1 100644
--- a/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb
@@ -18,3 +18,5 @@ FILES_${PN}-dev = "${includedir} ${datadir}/eigen3/cmake ${datadir}/cmake/Module
# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
RDEPENDS_${PN}-dev = ""
RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.8.bb b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.8.bb
deleted file mode 100644
index a43408908..000000000
--- a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.27.8.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "the Git linkable library"
-HOMEPAGE = "http://libgit2.github.com/"
-LICENSE = "GPL-2.0-with-GCC-exception & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3f2cd5d3cccd71d62066ba619614592b"
-
-DEPENDS = "curl openssl zlib libssh2 libgcrypt"
-
-SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v0.27"
-#v0.27.8
-SRCREV = "2882803ca2b2cdedd069746422155a23fdd002b2"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "\
- -DTHREADSAFE=ON \
- -DBUILD_CLAR=OFF \
- -DSHA1_TYPE="builtin" \
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
- -DBUILD_EXAMPLES=OFF \
- -DLIB_INSTALL_DIR=${libdir} \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.3.bb b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.3.bb
new file mode 100644
index 000000000..82acc4926
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libgit2/libgit2_0.28.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "the Git linkable library"
+HOMEPAGE = "http://libgit2.github.com/"
+LICENSE = "GPL-2.0-with-GCC-exception & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3f2cd5d3cccd71d62066ba619614592b"
+
+DEPENDS = "curl openssl zlib libssh2 libgcrypt"
+
+SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v0.28"
+SRCREV = "7ce88e66a19e3b48340abcdd86aeaae1882e63cc"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "\
+ -DBUILD_CLAR=OFF \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.1.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.1.bb
new file mode 100644
index 000000000..d55902898
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.1.bb
@@ -0,0 +1,21 @@
+require libgpiod.inc
+
+DEPENDS += "autoconf-archive-native"
+
+SRC_URI[md5sum] = "585b4bb431f99c4ba9b3ee58b9d494c1"
+SRC_URI[sha256sum] = "21ae8fd1f8dafc2eb2ba50e652390cf533d21351419a7426255895cb52e21b1c"
+
+# enable tools and cxx bindings
+PACKAGECONFIG ?= "cxx tools"
+
+PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev"
+
+PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3"
+
+inherit python3native
+
+PACKAGES =+ "${PN}-python"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
+RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}"
+RRECOMMENDS_${PN}-python += "${RRECOMMENDS_PYTHON}"
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.bb
deleted file mode 100644
index 71a45edb9..000000000
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_1.4.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require libgpiod.inc
-
-DEPENDS += "autoconf-archive-native"
-
-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,--disable-tests,kmod udev"
-
-PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3"
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}
-
-PACKAGES =+ "${PN}-python"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
-RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}"
-RRECOMMENDS_${PN}-python += "${RRECOMMENDS_PYTHON}"
diff --git a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/fix-build-with-older-gnutls.patch b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/fix-build-with-older-gnutls.patch
new file mode 100644
index 000000000..61a7ac0a6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd/fix-build-with-older-gnutls.patch
@@ -0,0 +1,32 @@
+From b84ee1fa41c53c43aa7ed1583c36af5cb7c77a0f Mon Sep 17 00:00:00 2001
+From: Christian Grothoff <christian@grothoff.org>
+Date: Fri, 2 Aug 2019 15:43:44 +0200
+Subject: trying to fix #5806
+
+Upstream-Status: Backport from 0.9.67 [https://git.gnunet.org/libmicrohttpd.git/commit/?id=b84ee1fa41c53c43aa7ed1583c36af5cb7c77a0f]
+
+---
+ src/microhttpd/daemon.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
+index bf01ba9b..a8fc98c6 100644
+--- a/src/microhttpd/daemon.c
++++ b/src/microhttpd/daemon.c
+@@ -2536,7 +2536,12 @@ internal_add_connection (struct MHD_Daemon *daemon,
+ else
+ {
+ #ifdef HTTPS_SUPPORT
+- gnutls_init_flags_t flags;
++#if (GNUTLS_VERSION_NUMBER+0 >= 0x030500)
++ gnutls_init_flags_t
++#else
++ unsigned int
++#endif
++ flags;
+
+ flags = GNUTLS_SERVER;
+ #if (GNUTLS_VERSION_NUMBER+0 >= 0x030402)
+--
+cgit v1.2.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.59.bb b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.59.bb
deleted file mode 100644
index b44c66af7..000000000
--- a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.59.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application"
-HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9331186f4f80db7da0e724bdd6554ee5"
-SECTION = "net"
-DEPENDS = "file"
-
-SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "8ab5123535549195aff19e91b4e49f48"
-SRC_URI[sha256sum] = "9b9ccd7d0b11b0e179f1f58dc2caa3e0c62c8609e1e1dc7dcaadf941b67d923c"
-
-inherit autotools lib_package pkgconfig gettext
-
-CFLAGS += "-pthread -D_REENTRANT"
-
-EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
-
-PACKAGECONFIG ?= "curl https"
-PACKAGECONFIG_append_class-target = "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \
-"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
-PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls,"
-
-do_compile_append() {
- sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.66.bb b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.66.bb
new file mode 100644
index 000000000..6b5417004
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.66.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application"
+HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/"
+LICENSE = "LGPL-2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=57d09285feac8a64efa878e692b14f36"
+SECTION = "net"
+
+DEPENDS = "file"
+
+SRC_URI = "${GNU_MIRROR}/libmicrohttpd/${BPN}-${PV}.tar.gz \
+ file://fix-build-with-older-gnutls.patch \
+"
+SRC_URI[md5sum] = "ce4050e75cc40d68506e2b403e1a76f9"
+SRC_URI[sha256sum] = "4e66d4db1574f4912fbd2690d10d227cc9cc56df6a10aa8f4fc2da75cea7ab1b"
+
+inherit autotools lib_package pkgconfig gettext
+
+CFLAGS += "-pthread -D_REENTRANT"
+
+EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
+
+PACKAGECONFIG ?= "curl https"
+PACKAGECONFIG_append_class-target = "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \
+"
+PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
+PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls,"
+
+do_compile_append() {
+ sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.0.bb b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.0.bb
new file mode 100644
index 000000000..5ca2dda32
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.0.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Tiny XML Library"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+HOMEPAGE = "https://www.msweet.org/mxml/"
+BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues"
+
+SRC_URI = "git://github.com/michaelrsweet/mxml.git"
+SRCREV = "c7755b6992a2afdd34dde47fc9be97f1237cfded"
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG ??= "threads"
+PACKAGECONFIG[threads] = "--enable-threads,--disable-threads"
+
+# Package does not support out of tree builds.
+B = "${S}"
+
+# MXML uses autotools but it explicitly states it does not support autoheader.
+EXTRA_AUTORECONF = "--exclude=autopoint,autoheader"
+
+do_configure_prepend() {
+ # Respect optimization CFLAGS specified by OE.
+ sed -e 's/-Os -g//' -i ${S}/configure.ac
+
+ # Enable verbose compilation output. This is required for extra QA checks to work.
+ sed -e '/.SILENT:/d' -i ${S}/Makefile.in
+}
+
+do_install() {
+ # Package uses DSTROOT instread of standard DESTDIR to specify install location.
+ oe_runmake install DSTROOT=${D}
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb
deleted file mode 100644
index b17fc67e0..000000000
--- a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_git.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-DESCRIPTION = "Tiny XML Library"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-HOMEPAGE = "https://www.msweet.org/mxml/"
-BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues"
-
-SRC_URI = "git://github.com/michaelrsweet/mxml.git"
-SRCREV = "c7755b6992a2afdd34dde47fc9be97f1237cfded"
-S = "${WORKDIR}/git"
-# v3.0
-PV = "3.0"
-
-CONFIGUREOPTS = " --prefix=${prefix} \
- --bindir=${bindir} \
- --sbindir=${sbindir} \
- --libexecdir=${libexecdir} \
- --datadir=${datadir} \
- --sysconfdir=${sysconfdir} \
- --sharedstatedir=${sharedstatedir} \
- --localstatedir=${localstatedir} \
- --libdir=${libdir} \
- --includedir=${includedir} \
- --oldincludedir=${oldincludedir} \
- --infodir=${infodir} \
- --mandir=${mandir} \
- --host=${TARGET_SYS} \
- --build=${BUILD_SYS} \
- ${PACKAGECONFIG_CONFARGS} \
- "
-
-do_configure() {
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
- ./configure ${CONFIGUREOPTS} --enable-shared
-}
-
-do_install () {
- export DSTROOT=${D}
- oe_runmake install
-}
-
-PACKAGES += " ${PN}-bin "
-FILES_${PN} = "${libdir}/*"
-FILES_${PN}-bin = "${bindir}/*"
diff --git a/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb b/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb
index 60710f416..f93d9c09a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libtar/libtar_1.2.20.bb
@@ -19,3 +19,5 @@ inherit autotools-brokensep
PACKAGECONFIG ??= "zlib"
PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+
+BBCLASSEXTEND += "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.28.bb b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.28.bb
deleted file mode 100644
index b80bb4efa..000000000
--- a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.28.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Library for controlling team network device"
-HOMEPAGE = "http://www.libteam.org/"
-SECTION = "libs/network"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "libnl libdaemon jansson"
-
-SRC_URI = "git://github.com/jpirko/libteam \
- file://0001-include-sys-select.h-for-fd_set-definition.patch \
- file://0002-teamd-Re-adjust-include-header-order.patch \
- file://0001-team_basic_test.py-disable-RedHat-specific-test.patch \
- file://run-ptest \
- "
-SRCREV = "903950c7fcf28c32f4b62d9d1c07c0234e8378a2"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig ptest
-
-FILES_${PN} = "${libdir}/libteam${SOLIBS} \
-"
-
-PACKAGES += "${PN}-dctl ${PN}-utils"
-FILES_${PN}-dctl = "${libdir}/libteamdctl${SOLIBS} \
-"
-FILES_${PN}-utils = "${bindir}/bond2team \
- ${bindir}/teamd \
- ${bindir}/teamdctl \
- ${bindir}/teamnl \
-"
-
-RDEPENDS_${PN}-utils = "bash"
-RDEPENDS_${PN}-ptest = "python"
-
-do_install_ptest() {
- install ${S}/scripts/team_basic_test.py ${D}${PTEST_PATH}/
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.29.bb b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.29.bb
new file mode 100644
index 000000000..821ca1938
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.29.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Library for controlling team network device"
+HOMEPAGE = "http://www.libteam.org/"
+SECTION = "libs/network"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libnl libdaemon jansson"
+
+SRC_URI = "git://github.com/jpirko/libteam \
+ file://0001-include-sys-select.h-for-fd_set-definition.patch \
+ file://0002-teamd-Re-adjust-include-header-order.patch \
+ file://0001-team_basic_test.py-disable-RedHat-specific-test.patch \
+ file://run-ptest \
+ "
+SRCREV = "e897f02bf2403d4859a99e090e34ea768b4c0540"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig ptest
+
+FILES_${PN} = "${libdir}/libteam${SOLIBS} \
+"
+
+PACKAGES += "${PN}-dctl ${PN}-utils"
+FILES_${PN}-dctl = "${libdir}/libteamdctl${SOLIBS} \
+"
+FILES_${PN}-utils = "${bindir}/bond2team \
+ ${bindir}/teamd \
+ ${bindir}/teamdctl \
+ ${bindir}/teamnl \
+"
+
+RDEPENDS_${PN}-utils = "bash"
+RDEPENDS_${PN}-ptest = "python"
+
+do_install_ptest() {
+ install ${S}/scripts/team_basic_test.py ${D}${PTEST_PATH}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_7.0.1.bb b/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_7.0.1.bb
deleted file mode 100644
index e4bb3f326..000000000
--- a/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_7.0.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs"
-HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/"
-SECTION = "libs"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://tinyxml2.cpp;endline=22;md5=c19221dbd8a66ad3090462af4c5de5e7"
-
-SRC_URI = "git://github.com/leethomason/tinyxml2.git"
-
-SRCREV = "de6d164822076f9b1e26a7222808a25ac03867d8"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_7.1.0.bb b/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_7.1.0.bb
new file mode 100644
index 000000000..9e197a918
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libtinyxml2/libtinyxml2_7.1.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs"
+HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/"
+SECTION = "libs"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=135624eef03e1f1101b9ba9ac9b5fffd"
+
+SRC_URI = "git://github.com/leethomason/tinyxml2.git"
+
+SRCREV = "9c740e8d2341bd46dbe8e87053cdb4d931971967"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb b/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb
index dc52c9ff4..19b94466b 100644
--- a/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/log4cpp/log4cpp_1.1.2.bb
@@ -3,8 +3,8 @@ HOMEPAGE = "http://sourceforge.net/projects/log4cpp/"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-RC = "rc5"
-SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}${RC}.tar.gz \
+PRC = "rc5"
+SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}${PRC}.tar.gz \
file://fix-pc.patch;striplevel=2 \
"
SRC_URI[md5sum] = "58b4591a2f3e7ef3d5e3e7cfb3a81a62"
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-configure-Fix-setting-of-CLDFLAGS-default.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-configure-Fix-setting-of-CLDFLAGS-default.patch
new file mode 100644
index 000000000..07cb88ffb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/files/0001-configure-Fix-setting-of-CLDFLAGS-default.patch
@@ -0,0 +1,78 @@
+From 4a3e707402032788e09282e0f54fdf82c8a0f8fc Mon Sep 17 00:00:00 2001
+From: Marian Csontos <mcsontos@redhat.com>
+Date: Mon, 19 Aug 2019 14:54:43 +0200
+Subject: [PATCH] configure: Fix setting of CLDFLAGS default
+
+---
+ configure | 6 +++---
+ configure.ac | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=lvm2.git;a=commit;h=4a3e707402032788e09282e0f54fdf82c8a0f8fc]
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+
+diff --git a/configure b/configure
+index ff3a59b6b..4c8476502 100755
+--- a/configure
++++ b/configure
+@@ -3077,7 +3077,7 @@ if test -z "$CFLAGS"; then :
+ fi
+ case "$host_os" in
+ linux*)
+- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"} -Wl,--version-script,.export.sym"
++ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"} -Wl,--version-script,.export.sym"
+ # equivalent to -rdynamic
+ ELDFLAGS="-Wl,--export-dynamic"
+ # FIXME Generate list and use --dynamic-list=.dlopen.sym
+@@ -3098,7 +3098,7 @@ case "$host_os" in
+ ;;
+ darwin*)
+ CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
+- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"}"
++ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"}"
+ ELDFLAGS=
+ CLDWHOLEARCHIVE="-all_load"
+ CLDNOWHOLEARCHIVE=
+@@ -3111,7 +3111,7 @@ case "$host_os" in
+ BLKDEACTIVATE=no
+ ;;
+ *)
+- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"}"
++ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"}"
+ ;;
+ esac
+
+diff --git a/configure.ac b/configure.ac
+index 5da694631..830edb8da 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -30,7 +30,7 @@ AC_CANONICAL_TARGET([])
+ AS_IF([test -z "$CFLAGS"], [COPTIMISE_FLAG="-O2"])
+ case "$host_os" in
+ linux*)
+- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"} -Wl,--version-script,.export.sym"
++ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"} -Wl,--version-script,.export.sym"
+ # equivalent to -rdynamic
+ ELDFLAGS="-Wl,--export-dynamic"
+ # FIXME Generate list and use --dynamic-list=.dlopen.sym
+@@ -51,7 +51,7 @@ case "$host_os" in
+ ;;
+ darwin*)
+ CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
+- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"}"
++ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"}"
+ ELDFLAGS=
+ CLDWHOLEARCHIVE="-all_load"
+ CLDNOWHOLEARCHIVE=
+@@ -64,7 +64,7 @@ case "$host_os" in
+ BLKDEACTIVATE=no
+ ;;
+ *)
+- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"}"
++ CLDFLAGS="${CLDFLAGS-"$LDFLAGS"}"
+ ;;
+ esac
+
+--
+2.21.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.02.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.02.bb
index 2c4febbe0..32bc13d1b 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.02.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/libdevmapper_2.03.02.bb
@@ -1,3 +1,6 @@
+# Break circular dependencies, only populate sysroot (header,
+# libraries) to other recipe for compiling, recipe lvm2
+# generates package libdevmapper
require lvm2.inc
SRCREV = "913c28917e62577a2ef67152b2e5159237503dda"
@@ -10,6 +13,7 @@ do_install() {
oe_runmake 'DESTDIR=${D}' -C libdm install
}
-RRECOMMENDS_${PN}_append_class-target = " lvm2-udevrules"
+# Do not generate package libdevmapper
+PACKAGES = ""
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
index 8617f25cb..6c95bfd02 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -5,9 +5,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
-DEPENDS += "util-linux libaio"
+DEPENDS += "libaio"
-SRC_URI = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${PV}.tgz \
+SRC_URI = "https://sourceware.org/pub/lvm2/LVM2.${PV}.tgz \
file://lvm.conf \
file://0001-implement-libc-specific-reopen_stream.patch \
file://0002-Guard-use-of-mallinfo-with-__GLIBC__.patch \
@@ -15,6 +15,7 @@ SRC_URI = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${PV}.tgz \
file://0001-Avoid-bashisms-in-init-scripts.patch \
file://0005-do-not-build-manual.patch \
file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \
+ file://0001-configure-Fix-setting-of-CLDFLAGS-default.patch \
"
SRC_URI[md5sum] = "5fc07da5461a3794a751dcfc355827d5"
SRC_URI[sha256sum] = "550ba750239fd75b7e52c9877565cabffef506bbf6d7f6f17b9700dee56c720f"
@@ -27,7 +28,6 @@ LVM2_PACKAGECONFIG = "dmeventd"
LVM2_PACKAGECONFIG_append_class-target = " \
${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
${@incompatible_license_contains('GPLv3', '', 'thin-provisioning-tools', d)} \
- udev \
"
# odirect is always enabled because there currently is a bug in
@@ -41,7 +41,6 @@ PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct"
PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools"
-PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev"
# Unset user/group to unbreak install.
EXTRA_OECONF = "--with-user= \
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch
deleted file mode 100644
index 24160b405..000000000
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-explicitly-do-not-install-libdm.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 3c16d9aaa46602e7594d717d86e7f02066d21134 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 26 Nov 2018 17:20:20 +0800
-Subject: [PATCH] explicitly do not install libdm
-
-Already have package libdevmapper which split from lvm2,
-explicitly do not do the installation here.
-
-Upstream-Status: Inappropriate [meta-oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-
-Update context for lvm2 2.03.02.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- libdm/Makefile.in | 6 ++++--
- libdm/dm-tools/Makefile.in | 6 ++++--
- 2 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/libdm/Makefile.in b/libdm/Makefile.in
-index e9bb5ae..4e9ae3f 100644
---- a/libdm/Makefile.in
-+++ b/libdm/Makefile.in
-@@ -82,9 +82,11 @@ ifeq ("@PKGCONFIG@", "yes")
- INSTALL_TYPE += install_pkgconfig
- endif
-
--install: $(INSTALL_TYPE) install_include
-+install:
-+ echo "Do not install device mapper in lvm2"
-
--install_device-mapper: install
-+install_device-mapper:
-+ echo "Do not install device mapper in lvm2"
-
- install_include: $(srcdir)/libdevmapper.h
- @echo " [INSTALL] $<"
-diff --git a/libdm/dm-tools/Makefile.in b/libdm/dm-tools/Makefile.in
-index 15a9d8e..65e1306 100644
---- a/libdm/dm-tools/Makefile.in
-+++ b/libdm/dm-tools/Makefile.in
-@@ -20,7 +20,8 @@ all: device-mapper
-
- SOURCES2 = dmsetup.c
- TARGETS_DM = dmsetup
--install_device-mapper: install_dmsetup_dynamic
-+install_device-mapper:
-+ echo "Do not install device mapper in lvm2"
-
- ifeq ("@STATIC_LINK@", "yes")
- TARGETS_DM += dmsetup.static
-@@ -93,6 +94,7 @@ install_dmfilemapd_static: dmfilemapd.static
- .PHONY: install_dmsetup_dynamic install_dmsetup_static
- .PHONY: install_dmfilemapd install_dmfilemapd_static
-
--install: install_device-mapper install_dmfilemapd
-+install:
-+ echo "Do not install device mapper in lvm2"
-
- device-mapper: $(TARGETS_DM)
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch
new file mode 100644
index 000000000..16de8c0a1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch
@@ -0,0 +1,73 @@
+From 27b56cb6b5dfc75ea8ddb395dc9ef41fb7a09c93 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 2 Sep 2019 23:04:50 -0400
+Subject: [PATCH] fix command /bin/findmnt, /bin/lsblk, /bin/sort not found
+
+In oe-core (util-linux and coreutils), the commands locates in
+${bindir} rather than /bin, add BINDIR to configure it
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 3 +++
+ scripts/blkdeactivate.sh.in | 7 ++++---
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d1431e2..54e5a7b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1495,6 +1495,8 @@ fi
+
+ SYSCONFDIR="$(eval echo $(eval echo $sysconfdir))"
+
++BINDIR="$(eval echo $(eval echo $bindir))"
++
+ SBINDIR="$(eval echo $(eval echo $sbindir))"
+ LVM_PATH="$SBINDIR/lvm"
+ AC_DEFINE_UNQUOTED(LVM_PATH, ["$LVM_PATH"], [Path to lvm binary.])
+@@ -1721,6 +1723,7 @@ AC_SUBST(SACKPT_CFLAGS)
+ AC_SUBST(SACKPT_LIBS)
+ AC_SUBST(SALCK_CFLAGS)
+ AC_SUBST(SALCK_LIBS)
++AC_SUBST(BINDIR)
+ AC_SUBST(SBINDIR)
+ AC_SUBST(SELINUX_LIBS)
+ AC_SUBST(SELINUX_PC)
+diff --git a/scripts/blkdeactivate.sh.in b/scripts/blkdeactivate.sh.in
+index a4b8a8f..3db4226 100644
+--- a/scripts/blkdeactivate.sh.in
++++ b/scripts/blkdeactivate.sh.in
+@@ -41,13 +41,14 @@ UMOUNT="/bin/umount"
+
+ sbindir="@SBINDIR@"
+ DMSETUP="$sbindir/dmsetup"
++bindir="@BINDIR@"
+ LVM="$sbindir/lvm"
+
+ if "$UMOUNT" --help | grep -- "--all-targets" >"$DEV_DIR/null"; then
+ UMOUNT_OPTS="--all-targets "
+ else
+ UMOUNT_OPTS=""
+- FINDMNT="/bin/findmnt -r --noheadings -u -o TARGET"
++ FINDMNT="$bindir/findmnt -r --noheadings -u -o TARGET"
+ FINDMNT_READ="read -r mnt"
+ fi
+ DMSETUP_OPTS=""
+@@ -55,10 +56,10 @@ LVM_OPTS=""
+ MDADM_OPTS=""
+ MPATHD_OPTS=""
+
+-LSBLK="/bin/lsblk -r --noheadings -o TYPE,KNAME,NAME,MOUNTPOINT"
++LSBLK="$bindir/lsblk -r --noheadings -o TYPE,KNAME,NAME,MOUNTPOINT"
+ LSBLK_VARS="local devtype local kname local name local mnt"
+ LSBLK_READ="read -r devtype kname name mnt"
+-SORT_MNT="/bin/sort -r -u -k 4"
++SORT_MNT="$bindir/sort -r -u -k 4"
+
+ # Do not show tool errors by default (only done/skipping summary
+ # message provided by this script) and no verbose mode by default.
+--
+2.8.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb
index e2ce95c81..9907d4f92 100644
--- a/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lvm2/lvm2_2.03.02.bb
@@ -2,8 +2,9 @@ require lvm2.inc
SRCREV = "913c28917e62577a2ef67152b2e5159237503dda"
-SRC_URI += "file://0001-explicitly-do-not-install-libdm.patch \
+SRC_URI += " \
file://0001-dev-hdc-open-failed-No-medium-found-will-print-out-i.patch \
+ file://0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch \
"
DEPENDS += "autoconf-archive-native"
@@ -40,6 +41,19 @@ TARGET_CC_ARCH += "${LDFLAGS}"
EXTRA_OECONF_append_class-nativesdk = " --with-confdir=${sysconfdir}"
+DEPENDS += "util-linux"
+LVM2_PACKAGECONFIG_append_class-target = " \
+ udev \
+"
+PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev,${PN}-udevrules"
+
+PACKAGES =+ "libdevmapper"
+FILES_libdevmapper = " \
+ ${libdir}/libdevmapper.so.* \
+ ${sbindir}/dmsetup \
+ ${sbindir}/dmstats \
+"
+
FILES_${PN} += "${libdir}/device-mapper/*.so"
FILES_${PN}-scripts = " \
${sbindir}/blkdeactivate \
@@ -50,13 +64,27 @@ FILES_${PN}-scripts = " \
# Specified explicitly for the udev rules, just in case that it does not get picked
# up automatically:
FILES_${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d"
-RDEPENDS_${PN}-udevrules = "${PN}"
+RDEPENDS_${PN}-udevrules = "libdevmapper"
RDEPENDS_${PN}_append_class-target = " libdevmapper"
RDEPENDS_${PN}_append_class-nativesdk = " libdevmapper"
-RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) bash"
+RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \
+ bash \
+ util-linux-lsblk \
+ util-linux-findmnt \
+ coreutils \
+"
RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})"
CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"
+SYSROOT_PREPROCESS_FUNCS_append = " remove_libdevmapper_sysroot_preprocess"
+remove_libdevmapper_sysroot_preprocess() {
+ rm -f ${SYSROOT_DESTDIR}${libdir}/libdevmapper.so* \
+ ${SYSROOT_DESTDIR}${sbindir}/dmsetup \
+ ${SYSROOT_DESTDIR}${sbindir}/dmstats \
+ ${SYSROOT_DESTDIR}${includedir}/libdevmapper.h \
+ ${SYSROOT_DESTDIR}${libdir}/pkgconfig/devmapper.pc
+}
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb
deleted file mode 100644
index 1aee674ec..000000000
--- a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_162.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
-DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
-and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
-and should run on all Linux systems that need error handling."
-HOMEPAGE = "http://mcelog.org/"
-SECTION = "System Environment/Base"
-
-SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git;protocol=http; \
- file://run-ptest \
-"
-
-SRCREV = "6ed93e30f83519b0ab71f8ecd156b8ff0b2912b6"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://README.md;md5=74bb47b9a68850cb398665cf78b31de6"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep ptest
-
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-
-do_install_append() {
- install -d ${D}${sysconfdir}/cron.hourly
- install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
- sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}
- cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
- sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
-}
-
-RDEPENDS_${PN}-ptest += "make bash mce-inject"
diff --git a/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_164.bb b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_164.bb
new file mode 100644
index 000000000..af309d1c6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/mcelog/mcelog_164.bb
@@ -0,0 +1,35 @@
+SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
+DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
+and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
+and should run on all Linux systems that need error handling."
+HOMEPAGE = "http://mcelog.org/"
+SECTION = "System Environment/Base"
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git;protocol=http; \
+ file://run-ptest \
+"
+
+SRCREV = "e53631f84a181be371c08e0b961180bff77fd2ab"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://README.md;md5=74bb47b9a68850cb398665cf78b31de6"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep ptest
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/cron.hourly
+ install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
+ sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
+ sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
+}
+
+RDEPENDS_${PN}-ptest += "make bash mce-inject"
diff --git a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb
index 55866e984..8d86e606c 100644
--- a/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.1.bb
@@ -19,6 +19,7 @@ and deletion"
HOMEPAGE = "http://christophe.varoqui.free.fr/"
DEPENDS = "libdevmapper \
+ lvm2 \
libaio \
liburcu \
readline \
@@ -108,4 +109,4 @@ FILES_kpartx = "${base_sbindir}/kpartx \
${nonarch_libdir}/udev/kpartx_id \
"
-RDEPENDS_${PN} += "bash kpartx"
+RDEPENDS_${PN} += "kpartx"
diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb
deleted file mode 100644
index 19a8b4782..000000000
--- a/meta-openembedded/meta-oe/recipes-support/nano/nano_4.2.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "GNU nano (Nano's ANOther editor, or \
-Not ANOther editor) is an enhanced clone of the \
-Pico text editor."
-HOMEPAGE = "http://www.nano-editor.org/"
-SECTION = "console/utils"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
-
-DEPENDS = "ncurses file"
-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] = "9ef42650960fa71671dc5318841a27a9"
-SRC_URI[sha256sum] = "1143defce62e391b241252ffdb6e5c1ded56cfe26d46ee81b796abe0ccc45df9"
-
-inherit autotools gettext pkgconfig
-
-PACKAGECONFIG[tiny] = "--enable-tiny,"
diff --git a/meta-openembedded/meta-oe/recipes-support/nano/nano_4.4.bb b/meta-openembedded/meta-oe/recipes-support/nano/nano_4.4.bb
new file mode 100644
index 000000000..18121be06
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/nano/nano_4.4.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "GNU nano (Nano's ANOther editor, or \
+Not ANOther editor) is an enhanced clone of the \
+Pico text editor."
+HOMEPAGE = "http://www.nano-editor.org/"
+SECTION = "console/utils"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
+
+DEPENDS = "ncurses file"
+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] = "9650dd3eb0adbab6aaa748a6f1398ccb"
+SRC_URI[sha256sum] = "2af222e0354848ffaa3af31b5cd0a77917e9cb7742cd073d762f3c32f0f582c7"
+
+inherit autotools gettext pkgconfig
+
+PACKAGECONFIG[tiny] = "--enable-tiny,"
diff --git a/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch b/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch
deleted file mode 100644
index 0497613dd..000000000
--- a/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-fix-NULL-pointer-problem.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 5c16beff9909b28f55f25f48ed7ddbf98d8b1d5c Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Wed, 18 Jul 2018 09:43:55 +0800
-Subject: [PATCH] fix NULL pointer problem
-
-return 0 if distance_table is NULL
-
-Upstream-Status: Pending
-
-read_distance_table() maybe return 0, but distance_table is not set,
-if distance_table is used, and will lead to SEGFAULT
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- distance.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/distance.c b/distance.c
-index 8d472af..6a6e886 100644
---- a/distance.c
-+++ b/distance.c
-@@ -113,6 +113,8 @@ int numa_distance(int a, int b)
- int err = read_distance_table();
- if (err < 0)
- return 0;
-+ if(!distance_table)
-+ return 0;
- }
- if ((unsigned)a >= distance_numnodes || (unsigned)b >= distance_numnodes)
- return 0;
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch b/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch
new file mode 100644
index 000000000..506101711
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/numactl/numactl/0001-numademo-fix-error-on-32bit-system.patch
@@ -0,0 +1,100 @@
+From 68485f8516884377e54c623b0deff73f97321d96 Mon Sep 17 00:00:00 2001
+From: "Hongzhi.Song" <hongzhi.song@windriver.com>
+Date: Thu, 19 Sep 2019 04:32:31 -0400
+Subject: [PATCH] numademo: fix error on 32bit system
+
+Error Info on 32bit:
+root@intel-x86:~# numademo -t -e 1M
+Configured Nodes does not match available memory nodes
+
+That's because sizeof(long)=4Word, but sizeof(long long)=8Word
+on 32bit. So (long long) assigning to (long) maybe cause overflow.
+
+long numa_node_size(int node, long *freep)
+{
+ ...
+ long sz = numa_node_size64_int(node, &f2);
+ ~^^~
+ return sz;
+ ...
+}
+long long numa_node_size64(int node, long long *freep)
+~^^ ^^~
+{
+ ...
+}
+
+Unify the return type of above functions.
+
+Upstream-Status: Accepted [next version is after 2.0.13 or 2.0.14]
+[https://github.com/numactl/numactl/commit/a7c4bc790a191d3e42b63850b409c1a72b75a4e1]
+ Submitted [https://github.com/numactl/numactl/pull/79]
+[The first patch was merged but has a error, then the second fix it.]
+
+Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
+---
+ libnuma.c | 4 ++--
+ numa.h | 2 +-
+ numademo.c | 2 +-
+ test/move_pages.c | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/libnuma.c b/libnuma.c
+index cac8851..8b5c6aa 100644
+--- a/libnuma.c
++++ b/libnuma.c
+@@ -791,10 +791,10 @@ long long numa_node_size64(int node, long long *freep)
+
+ make_internal_alias(numa_node_size64);
+
+-long numa_node_size(int node, long *freep)
++long long numa_node_size(int node, long long *freep)
+ {
+ long long f2;
+- long sz = numa_node_size64_int(node, &f2);
++ long long sz = numa_node_size64_int(node, &f2);
+ if (freep)
+ *freep = f2;
+ return sz;
+diff --git a/numa.h b/numa.h
+index 3a8c543..268fb1d 100644
+--- a/numa.h
++++ b/numa.h
+@@ -143,7 +143,7 @@ int numa_preferred(void);
+
+ /* Return node size and free memory */
+ long long numa_node_size64(int node, long long *freep);
+-long numa_node_size(int node, long *freep);
++long long numa_node_size(int node, long long *freep);
+
+ int numa_pagesize(void);
+
+diff --git a/numademo.c b/numademo.c
+index a720db0..8c56da8 100644
+--- a/numademo.c
++++ b/numademo.c
+@@ -301,7 +301,7 @@ int max_node, numnodes;
+ int get_node_list(void)
+ {
+ int a, got_nodes = 0;
+- long free_node_sizes;
++ long long free_node_sizes;
+
+ numnodes = numa_num_configured_nodes();
+ node_to_use = (int *)malloc(numnodes * sizeof(int));
+diff --git a/test/move_pages.c b/test/move_pages.c
+index d1d8436..f8ff25d 100644
+--- a/test/move_pages.c
++++ b/test/move_pages.c
+@@ -26,7 +26,7 @@ int *node_to_use;
+ int get_node_list()
+ {
+ int a, got_nodes = 0, max_node, numnodes;
+- long free_node_sizes;
++ long long free_node_sizes;
+
+ numnodes = numa_num_configured_nodes();
+ node_to_use = (int *)malloc(numnodes * sizeof(int));
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb b/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb
index 279ac0415..20b7fed86 100644
--- a/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/numactl/numactl_git.bb
@@ -10,15 +10,15 @@ inherit autotools-brokensep ptest
LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=f8ff2391624f28e481299f3f677b21bb"
-SRCREV = "841253d1313b01a968c380cae4f498f20c46e5aa"
-PV = "2.0.12+git${SRCPV}"
+SRCREV = "5d9f16722e3df49dc618a9f361bd482559695db7"
+PV = "2.0.13+git${SRCPV}"
SRC_URI = "git://github.com/numactl/numactl \
- file://0001-fix-NULL-pointer-problem.patch \
file://Fix-the-test-output-format.patch \
file://Makefile \
file://run-ptest \
file://0001-define-run-test-target.patch \
+ file://0001-numademo-fix-error-on-32bit-system.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb b/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb
new file mode 100644
index 000000000..9fd88ced9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Enumerate all known properties of OpenCL platform and devices."
+DESCRIPTION = "clinfo is a simple command-line application that enumerates \
+all possible (known) properties of the OpenCL platform and devices \
+available on the system."
+HOMEPAGE = "https://github.com/Oblomov/clinfo"
+
+LICENSE = "CC0-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fd8857f774dfb0eefe1e80c8f9240a7e"
+
+SRC_URI = "git://github.com/Oblomov/clinfo.git;protocol=https"
+
+SRCREV = "59d0daf898e48d76ccbb788acbba258fa0a8ba7c"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "opencl-headers opencl-icd-loader"
+
+do_install() {
+ install -D -m 755 clinfo ${D}${bindir}/clinfo
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb b/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb
new file mode 100644
index 000000000..332820d14
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/ade_0.1.1f.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A graph construction, manipulation, and processing framework"
+DESCRIPTION = "ADE Framework is a graph construction, manipulation, \
+and processing framework. ADE Framework is suitable for \
+organizing data flow processing and execution."
+HOMEPAGE = "https://github.com/opencv/ade"
+
+SRC_URI = "git://github.com/opencv/ade.git \
+ "
+
+SRCREV = "58b2595a1a95cc807be8bf6222f266a9a1f393a9"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release"
+
+FILES_${PN}-dev += "${datadir}/${BPN}/*.cmake"
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
index 4d76ad40c..5f909c1a8 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
@@ -1,16 +1,17 @@
-From 4801a057730632225337d7f6d26b9335e6b9b078 Mon Sep 17 00:00:00 2001
+From 85b882b4ceb57fe6538f47af58d0a970923fde0e Mon Sep 17 00:00:00 2001
From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Date: Thu, 31 Mar 2016 00:20:15 +0200
Subject: [PATCH] 3rdparty/ippicv: Use pre-downloaded ipp
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
+
---
3rdparty/ippicv/ippicv.cmake | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/3rdparty/ippicv/ippicv.cmake b/3rdparty/ippicv/ippicv.cmake
-index d601da4bb..f6fc1098c 100644
+index ae8748c..305abdb 100644
--- a/3rdparty/ippicv/ippicv.cmake
+++ b/3rdparty/ippicv/ippicv.cmake
@@ -39,18 +39,5 @@ function(download_ippicv root_var)
@@ -33,6 +34,3 @@ index d601da4bb..f6fc1098c 100644
- endif()
+ set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
endfunction()
---
-2.13.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch
index bf0b80a30..40d3f53e1 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Dont-use-isystem.patch
@@ -1,4 +1,4 @@
-From 7144c44ec70dee73a628463b99ffeed74b1a8ef6 Mon Sep 17 00:00:00 2001
+From 9659f5a1e75fc29c9879c301767bba72ecf9042a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 11 Sep 2018 00:21:18 -0700
Subject: [PATCH] Dont use isystem
@@ -8,12 +8,13 @@ clang really does not like it
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
cmake/OpenCVPCHSupport.cmake | 2 ++
1 file changed, 2 insertions(+)
diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake
-index f9b1b48b65..fe27a136f5 100644
+index 59bc826..055dfce 100644
--- a/cmake/OpenCVPCHSupport.cmake
+++ b/cmake/OpenCVPCHSupport.cmake
@@ -18,6 +18,8 @@ IF(CV_GCC)
@@ -25,6 +26,3 @@ index f9b1b48b65..fe27a136f5 100644
SET(_PCH_include_prefix "-I")
SET(_PCH_isystem_prefix "-isystem")
SET(_PCH_define_prefix "-D")
---
-2.18.0
-
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
index 63cb7f943..f8ccd1d55 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
@@ -1,19 +1,20 @@
-From 7d31f41d2a6759e244983504ce855fc32916b97a Mon Sep 17 00:00:00 2001
+From fe27d0e2341683606704115949d16250e4cacbfa Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Wed, 9 May 2018 13:33:59 -0700
Subject: [PATCH] Temporarliy work around deprecated ffmpeg RAW function
compile failure until next uprev
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
+
---
modules/videoio/src/cap_ffmpeg_impl.hpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp
-index 5a9b10f075..97c6b74b07 100644
+index 0d360ad..566df66 100644
--- a/modules/videoio/src/cap_ffmpeg_impl.hpp
+++ b/modules/videoio/src/cap_ffmpeg_impl.hpp
-@@ -667,6 +667,14 @@ struct ImplMutex::Impl
+@@ -736,6 +736,14 @@ struct ImplMutex::Impl
#endif
@@ -28,6 +29,3 @@ index 5a9b10f075..97c6b74b07 100644
void ImplMutex::init()
{
impl = new Impl();
---
-2.11.0
-
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch
index a845505a8..46198fb7b 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0002-Make-opencv-ts-create-share-library-intead-of-static.patch
@@ -1,15 +1,16 @@
-From 350525293aef65490e80104ddd99e1b21c5d54b0 Mon Sep 17 00:00:00 2001
+From 46ffa1f8f443b71673774fcb864eb741bbc26200 Mon Sep 17 00:00:00 2001
From: Bian Naimeng <biannm@cn.fujitsu.com>
Date: Wed, 19 Apr 2017 03:11:37 +0900
-Subject: [PATCH 2/3] Make opencv-ts create share library intead of static.
+Subject: [PATCH] Make opencv-ts create share library intead of static.
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+
---
modules/ts/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/ts/CMakeLists.txt b/modules/ts/CMakeLists.txt
-index f95bed079..ee67858df 100644
+index f95bed0..ee67858 100644
--- a/modules/ts/CMakeLists.txt
+++ b/modules/ts/CMakeLists.txt
@@ -4,7 +4,7 @@ if(NOT BUILD_opencv_ts AND NOT BUILD_TESTS AND NOT BUILD_PERF_TESTS)
@@ -21,6 +22,3 @@ index f95bed079..ee67858df 100644
set(OPENCV_MODULE_IS_PART_OF_WORLD FALSE)
if(WINRT)
---
-2.13.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
index 5270b8c9f..336c2e08e 100644
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
@@ -1,7 +1,7 @@
-From ace48a628dca34d742615598afeef42ed323a029 Mon Sep 17 00:00:00 2001
+From 867caccc358266f7021f076fc8c8e41bf048782c Mon Sep 17 00:00:00 2001
From: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Date: Fri, 19 May 2017 04:27:50 +0900
-Subject: [PATCH 3/3] To fix errors as following:
+Subject: [PATCH] To fix errors as following:
"test_main.cpp:45: undefined reference to `parseCustomOptions(int, char**)'"
"perf_abs.cpp:13: undefined reference to `cvtest::param_seed'"
@@ -13,17 +13,18 @@ Also add the visibility changes for certain OpenCL-related functions in
ts module.
Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
+
---
- modules/ts/include/opencv2/ts.hpp | 6 +++---
+ modules/ts/include/opencv2/ts.hpp | 4 ++--
modules/ts/include/opencv2/ts/ocl_test.hpp | 2 +-
modules/ts/include/opencv2/ts/ts_ext.hpp | 2 +-
- 3 files changed, 5 insertions(+), 5 deletions(-)
+ 3 files changed, 4 insertions(+), 4 deletions(-)
-Index: git/modules/ts/include/opencv2/ts.hpp
-===================================================================
---- git.orig/modules/ts/include/opencv2/ts.hpp
-+++ git/modules/ts/include/opencv2/ts.hpp
-@@ -608,7 +608,7 @@ protected:
+diff --git a/modules/ts/include/opencv2/ts.hpp b/modules/ts/include/opencv2/ts.hpp
+index b9d6b74..f1ee7ee 100644
+--- a/modules/ts/include/opencv2/ts.hpp
++++ b/modules/ts/include/opencv2/ts.hpp
+@@ -622,7 +622,7 @@ protected:
}
};
@@ -32,7 +33,7 @@ Index: git/modules/ts/include/opencv2/ts.hpp
struct DefaultRngAuto
{
-@@ -671,7 +671,7 @@ private:
+@@ -685,7 +685,7 @@ private:
#endif
#endif
@@ -41,10 +42,10 @@ Index: git/modules/ts/include/opencv2/ts.hpp
#define CV_TEST_INIT0_NOOP (void)0
-Index: git/modules/ts/include/opencv2/ts/ocl_test.hpp
-===================================================================
---- git.orig/modules/ts/include/opencv2/ts/ocl_test.hpp
-+++ git/modules/ts/include/opencv2/ts/ocl_test.hpp
+diff --git a/modules/ts/include/opencv2/ts/ocl_test.hpp b/modules/ts/include/opencv2/ts/ocl_test.hpp
+index 11572e9..438112e 100644
+--- a/modules/ts/include/opencv2/ts/ocl_test.hpp
++++ b/modules/ts/include/opencv2/ts/ocl_test.hpp
@@ -82,7 +82,7 @@ inline UMat ToUMat(InputArray src)
return dst;
}
@@ -54,10 +55,10 @@ Index: git/modules/ts/include/opencv2/ts/ocl_test.hpp
#define MAX_VALUE 357
-Index: git/modules/ts/include/opencv2/ts/ts_ext.hpp
-===================================================================
---- git.orig/modules/ts/include/opencv2/ts/ts_ext.hpp
-+++ git/modules/ts/include/opencv2/ts/ts_ext.hpp
+diff --git a/modules/ts/include/opencv2/ts/ts_ext.hpp b/modules/ts/include/opencv2/ts/ts_ext.hpp
+index b5cea3e..e5b0b4b 100644
+--- a/modules/ts/include/opencv2/ts/ts_ext.hpp
++++ b/modules/ts/include/opencv2/ts/ts_ext.hpp
@@ -9,7 +9,7 @@
#define OPENCV_TS_EXT_HPP
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixpkgconfig.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixpkgconfig.patch
deleted file mode 100644
index 3ed3468d5..000000000
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/fixpkgconfig.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Index: git/cmake/OpenCVGenPkgconfig.cmake
-===================================================================
---- git.orig/cmake/OpenCVGenPkgconfig.cmake
-+++ git/cmake/OpenCVGenPkgconfig.cmake
-@@ -31,7 +31,7 @@ macro(fix_prefix lst isown)
- get_filename_component(libdir "${item}" PATH)
- get_filename_component(_libname "${item}" NAME)
- ocv_get_libname(libname "${_libname}")
-- list(APPEND _lst "-L${libdir}" "-l${libname}")
-+ list(APPEND _lst "-l${libname}")
- else()
- list(APPEND _lst "-l${item}")
- endif()
-@@ -124,11 +124,14 @@ ocv_list_unique(_extra)
- ocv_list_unique(_3rdparty)
-
- set(OPENCV_PC_LIBS
-- "-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}"
-+ "-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}"
- "${_modules}"
- )
- if(BUILD_SHARED_LIBS)
-- set(OPENCV_PC_LIBS_PRIVATE "${_extra}")
-+ set(OPENCV_PC_LIBS_PRIVATE
-+ "-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}"
-+ "${_extra}"
-+ )
- else()
- set(OPENCV_PC_LIBS_PRIVATE
- "-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}"
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch b/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch
deleted file mode 100644
index fc273a891..000000000
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv/uselocalxfeatures.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/modules/xfeatures2d/CMakeLists.txt b/modules/xfeatures2d/CMakeLists.txt
-index e1755595..c7009c47 100644
---- a/modules/xfeatures2d/CMakeLists.txt
-+++ b/modules/xfeatures2d/CMakeLists.txt
-@@ -5,10 +5,10 @@ ocv_define_module(xfeatures2d opencv_core opencv_imgproc opencv_features2d openc
- include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_vgg.cmake)
- include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_boostdesc.cmake)
- set(DOWNLOAD_DIR "${OpenCV_BINARY_DIR}/downloads/xfeatures2d")
--download_boost_descriptors("${DOWNLOAD_DIR}" boost_status)
--download_vgg_descriptors("${DOWNLOAD_DIR}" vgg_status)
--if(NOT boost_status OR NOT vgg_status)
-- ocv_module_disable(xfeatures2d)
--endif()
-+#download_boost_descriptors("${DOWNLOAD_DIR}" boost_status)
-+#download_vgg_descriptors("${DOWNLOAD_DIR}" vgg_status)
-+#if(NOT boost_status OR NOT vgg_status)
-+# ocv_module_disable(xfeatures2d)
-+#endif()
-
- ocv_module_include_directories("${DOWNLOAD_DIR}")
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.5.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.5.bb
deleted file mode 100644
index ce60698b2..000000000
--- a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_3.4.5.bb
+++ /dev/null
@@ -1,190 +0,0 @@
-SUMMARY = "Opencv : The Open Computer Vision Library"
-HOMEPAGE = "http://opencv.org/"
-SECTION = "libs"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=62d89c5dcb0583609ea919c56be0ee76"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
-
-SRCREV_opencv = "8f1356c3c5b16721349582db461a2051653059e8"
-SRCREV_contrib = "7292df62624ded8af8035231435dfd17c93e1a80"
-SRCREV_ipp = "32e315a5b106a7b89dbed51c28f8120a48b368b4"
-SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
-SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
-SRC_URI[tinydnn.md5sum] = "adb1c512e09ca2c7a6faef36f9c53e59"
-SRC_URI[tinydnn.sha256sum] = "e2c61ce8c5debaa644121179e9dbdcf83f497f39de853f8dd5175846505aa18b"
-
-def ipp_filename(d):
- import re
- arch = d.getVar('TARGET_ARCH')
- if re.match("i.86$", arch):
- return "ippicv_2019_lnx_ia32_general_20180723.tgz"
- else:
- return "ippicv_2019_lnx_intel64_general_20180723.tgz"
-
-def ipp_md5sum(d):
- import re
- arch = d.getVar('TARGET_ARCH')
- if re.match("i.86$", arch):
- return "4f38432c30bfd6423164b7a24bbc98a0"
- else:
- return "c0bd78adb4156bbf552c1dfe90599607"
-
-IPP_FILENAME = "${@ipp_filename(d)}"
-IPP_MD5 = "${@ipp_md5sum(d)}"
-
-SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
-SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
- git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
- git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20180723;destsuffix=ipp;name=ipp \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
- https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz;destsuffix=git/3rdparty/tinydnn/tiny-dnn-1.0.0a3;name=tinydnn;unpack=false \
- file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
- file://uselocalxfeatures.patch;patchdir=../contrib/ \
- file://0002-Make-opencv-ts-create-share-library-intead-of-static.patch \
- file://0003-To-fix-errors-as-following.patch \
- file://fixpkgconfig.patch \
- file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
- file://0001-Dont-use-isystem.patch \
-"
-PV = "3.4.5"
-
-S = "${WORKDIR}/git"
-
-do_unpack_extra() {
- mkdir -p ${S}/3rdparty/tinydnn/
- tar xzf ${WORKDIR}/v1.0.0a3.tar.gz -C ${S}/3rdparty/tinydnn/
- tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR}
- cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
- cp ${WORKDIR}/boostdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
-}
-addtask unpack_extra after do_unpack before do_patch
-
-EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
- -DWITH_1394=OFF \
- -DENABLE_PRECOMPILED_HEADERS=OFF \
- -DCMAKE_SKIP_RPATH=ON \
- -DOPENCV_ICV_HASH=${IPP_MD5} \
- -DIPPROOT=${WORKDIR}/ippicv_lnx \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
-"
-EXTRA_OECMAKE_append_x86 = " -DX86=ON"
-
-PACKAGECONFIG ??= "python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
-
-PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
-PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
-PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
-PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
-PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
-PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
-PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
-PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
-PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
-PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
-PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
-PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
-PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
-PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
-PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
-PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
-PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
-PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
-PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
-PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
-PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
-
-inherit pkgconfig cmake
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)}
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
-
-export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
-export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
-export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
-export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
-export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
-
-TARGET_CC_ARCH += "-I${S}/include "
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
- ${PN}-apps"
-
-python populate_packages_prepend () {
- cv_libdir = d.expand('${libdir}')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
- do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
-
- pn = d.getVar('PN')
- metapkg = pn + '-dev'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg ]
- metapkg_rdepends = [ ]
- packages = d.getVar('PACKAGES').split()
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
-
- metapkg = pn
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg, "libopencv-ts" ]
- metapkg_rdepends = [ ]
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
-}
-
-PACKAGES_DYNAMIC += "^libopencv-.*"
-
-FILES_${PN} = ""
-FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake"
-FILES_${PN}-staticdev += "${datadir}/OpenCV/3rdparty/lib/*.a"
-FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
-FILES_${PN}-java = "${datadir}/OpenCV/java"
-FILES_${PN}-samples = "${datadir}/OpenCV/samples/"
-
-INSANE_SKIP_${PN}-java = "libdir"
-INSANE_SKIP_${PN}-dbg = "libdir"
-
-ALLOW_EMPTY_${PN} = "1"
-
-SUMMARY_python-opencv = "Python bindings to opencv"
-FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-opencv = "python-core python-numpy"
-
-SUMMARY_python3-opencv = "Python bindings to opencv"
-FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python3-opencv = "python3-core python3-numpy"
-
-RDEPENDS_${PN}-apps = "bash"
-
-do_install_append() {
- cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
- sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
-
- # Move Python files into correct library folder (for multilib build)
- if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
- mv ${D}/usr/lib/* ${D}/${libdir}/
- rm -rf ${D}/usr/lib
- fi
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb
new file mode 100644
index 000000000..77b5dd60c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/opencv/opencv_4.1.0.bb
@@ -0,0 +1,180 @@
+SUMMARY = "Opencv : The Open Computer Vision Library"
+HOMEPAGE = "http://opencv.org/"
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6450921bb12a3133c8f5cb2a80343710"
+
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+
+DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
+
+SRCREV_opencv = "371bba8f54560b374fbcd47e7e02f015ac4969ad"
+SRCREV_contrib = "2c32791a9c500343568a21ea34bf2daeac2adae7"
+SRCREV_ipp = "32e315a5b106a7b89dbed51c28f8120a48b368b4"
+SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
+SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
+
+def ipp_filename(d):
+ import re
+ arch = d.getVar('TARGET_ARCH')
+ if re.match("i.86$", arch):
+ return "ippicv_2019_lnx_ia32_general_20180723.tgz"
+ else:
+ return "ippicv_2019_lnx_intel64_general_20180723.tgz"
+
+def ipp_md5sum(d):
+ import re
+ arch = d.getVar('TARGET_ARCH')
+ if re.match("i.86$", arch):
+ return "4f38432c30bfd6423164b7a24bbc98a0"
+ else:
+ return "c0bd78adb4156bbf552c1dfe90599607"
+
+IPP_FILENAME = "${@ipp_filename(d)}"
+IPP_MD5 = "${@ipp_md5sum(d)}"
+
+SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
+SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
+ git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
+ git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20180723;destsuffix=ipp;name=ipp \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
+ file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
+ file://0002-Make-opencv-ts-create-share-library-intead-of-static.patch \
+ file://0003-To-fix-errors-as-following.patch \
+ file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
+ file://0001-Dont-use-isystem.patch \
+ "
+PV = "4.1.0"
+
+S = "${WORKDIR}/git"
+
+do_unpack_extra() {
+ tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR}
+ cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
+ cp ${WORKDIR}/boostdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
+}
+addtask unpack_extra after do_unpack before do_patch
+
+EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
+ -DWITH_1394=OFF \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DOPENCV_ICV_HASH=${IPP_MD5} \
+ -DIPPROOT=${WORKDIR}/ippicv_lnx \
+ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
+ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
+ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
+"
+EXTRA_OECMAKE_append_x86 = " -DX86=ON"
+
+PACKAGECONFIG ??= "python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
+
+PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
+PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
+PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
+PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
+PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
+PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
+PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
+PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
+PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
+PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
+PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
+PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
+PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
+PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
+PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
+PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
+PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
+PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
+PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
+PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
+PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
+
+inherit pkgconfig cmake
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)}
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
+
+export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
+export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
+export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
+export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
+export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
+
+TARGET_CC_ARCH += "-I${S}/include "
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
+ ${PN}-apps"
+
+python populate_packages_prepend () {
+ cv_libdir = d.expand('${libdir}')
+ do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
+ do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
+
+ pn = d.getVar('PN')
+ metapkg = pn + '-dev'
+ d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ blacklist = [ metapkg ]
+ metapkg_rdepends = [ ]
+ packages = d.getVar('PACKAGES').split()
+ for pkg in packages[1:]:
+ if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
+
+ metapkg = pn
+ d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ blacklist = [ metapkg, "libopencv-ts" ]
+ metapkg_rdepends = [ ]
+ for pkg in packages[1:]:
+ if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+}
+
+PACKAGES_DYNAMIC += "^libopencv-.*"
+
+FILES_${PN} = ""
+FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
+FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake"
+FILES_${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a"
+FILES_${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses"
+FILES_${PN}-java = "${datadir}/OpenCV/java"
+FILES_${PN}-samples = "${datadir}/opencv4/samples/"
+
+INSANE_SKIP_${PN}-java = "libdir"
+INSANE_SKIP_${PN}-dbg = "libdir"
+
+ALLOW_EMPTY_${PN} = "1"
+
+SUMMARY_python-opencv = "Python bindings to opencv"
+FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python-opencv = "python-core python-numpy"
+
+SUMMARY_python3-opencv = "Python bindings to opencv"
+FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python3-opencv = "python3-core python3-numpy"
+
+RDEPENDS_${PN}-apps = "bash"
+
+do_install_append() {
+ # Move Python files into correct library folder (for multilib build)
+ if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
+ mv ${D}/usr/lib/* ${D}/${libdir}/
+ rm -rf ${D}/usr/lib
+ fi
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.47.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.47.bb
deleted file mode 100644
index 4345d7d89..000000000
--- a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.47.bb
+++ /dev/null
@@ -1,255 +0,0 @@
-SUMMARY = "OpenLDAP Directory Service"
-DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol."
-HOMEPAGE = "http://www.OpenLDAP.org/license.html"
-# The OpenLDAP Public License - see the HOMEPAGE - defines
-# the license. www.openldap.org claims this is Open Source
-# (see http://www.openldap.org), the license appears to be
-# basically BSD. opensource.org does not record this license
-# at present (so it is apparently not OSI certified).
-LICENSE = "OpenLDAP"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=25b4ead0e45182e7c2914e59ff57009f \
- file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
- "
-SECTION = "libs"
-
-LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
-
-SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \
- file://openldap-m4-pthread.patch \
- file://kill-icu.patch \
- file://openldap-2.4.28-gnutls-gcrypt.patch \
- file://use-urandom.patch \
- file://initscript \
- file://slapd.service \
- file://thread_stub.patch \
- file://openldap-CVE-2015-3276.patch \
- file://remove-user-host-pwd-from-version.patch \
-"
-
-SRC_URI[md5sum] = "e508f97bfd778fec7799f286e5c07176"
-SRC_URI[sha256sum] = "f54c5877865233d9ada77c60c0f69b3e0bfd8b1b55889504c650047cc305520b"
-
-DEPENDS = "util-linux groff-native"
-
-# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when
-# installing .so and executables, this fails in cross compilation
-# environments
-SRC_URI += "file://install-strip.patch"
-
-inherit autotools-brokensep update-rc.d systemd
-
-# CV SETTINGS
-# Required to work round AC_FUNC_MEMCMP which gets the wrong answer
-# when cross compiling (should be in site?)
-EXTRA_OECONF += "ac_cv_func_memcmp_working=yes"
-
-# CONFIG DEFINITIONS
-# The following is necessary because it cannot be determined for a
-# cross compile automagically. Select should yield fine on all OE
-# systems...
-EXTRA_OECONF += "--with-yielding-select=yes"
-# Shared libraries are nice...
-EXTRA_OECONF += "--enable-dynamic"
-
-PACKAGECONFIG ??= "gnutls modules \
- mdb ldap meta monitor null passwd shell proxycache dnssrv \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-#--with-tls with TLS/SSL support auto|openssl|gnutls [auto]
-PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt"
-PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl"
-
-PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl"
-PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-
-# SLAPD options
-#
-# UNIX crypt(3) passwd support:
-EXTRA_OECONF += "--enable-crypt"
-
-# SLAPD BACKEND
-#
-# The backend must be set by the configuration. This controls the
-# required database.
-#
-# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql"
-#
-# Note that multiple backends can be built. The ldbm backend requires a
-# build-time choice of database API. The bdb backend forces this to be
-# DB4. To use the gdbm (or other) API the Berkely database module must
-# be removed from the build.
-md = "${libexecdir}/openldap"
-#
-#--enable-bdb enable Berkeley DB backend no|yes|mod yes
-# The Berkely DB is the standard choice. This version of OpenLDAP requires
-# the version 4 implementation or better.
-PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db"
-
-#--enable-dnssrv enable dnssrv backend no|yes|mod no
-PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no"
-
-#--enable-hdb enable Hierarchical DB backend no|yes|mod no
-PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db"
-
-#--enable-ldap enable ldap backend no|yes|mod no
-PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no,"
-
-#--enable-mdb enable mdb database backend no|yes|mod [yes]
-PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no,"
-
-#--enable-meta enable metadirectory backend no|yes|mod no
-PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
-
-#--enable-monitor enable monitor backend no|yes|mod yes
-PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no,"
-
-#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no]
-PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no,"
-
-#--enable-null enable null backend no|yes|mod no
-PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
-
-#--enable-passwd enable passwd backend no|yes|mod no
-PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no,"
-
-#--enable-perl enable perl backend no|yes|mod no
-# This requires a loadable perl dynamic library, if enabled without
-# doing something appropriate (building perl?) the build will pick
-# up the build machine perl - not good (inherit perlnative?)
-PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl"
-
-#--enable-relay enable relay backend no|yes|mod [yes]
-PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no,"
-
-#--enable-shell enable shell backend no|yes|mod no
-# configure: WARNING: Use of --without-threads is recommended with back-shell
-PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no,"
-
-#--enable-sock enable sock backend no|yes|mod [no]
-PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no,"
-
-#--enable-sql enable sql backend no|yes|mod no
-# sql requires some sql backend which provides sql.h, sqlite* provides
-# sqlite.h (which may be compatible but hasn't been tried.)
-PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3"
-
-#--enable-dyngroup Dynamic Group overlay no|yes|mod no
-# This is a demo, Proxy Cache defines init_module which conflicts with the
-# same symbol in dyngroup
-PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no,"
-
-#--enable-proxycache Proxy Cache overlay no|yes|mod no
-PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
-FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*"
-PACKAGES += "${PN}-overlay-proxycache"
-
-# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
-# This allows tls to obtain random bits from /dev/urandom, by default
-# it was disabled for cross-compiling.
-CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC"
-
-LDFLAGS_append = " -pthread"
-
-do_configure() {
- cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
- rm -f ${S}/libtool
- aclocal
- libtoolize --force --copy
- gnu-configize
- autoconf
- oe_runconf
-}
-
-LEAD_SONAME = "libldap-${LDAP_VER}.so.*"
-
-# The executables go in a separate package. This allows the
-# installation of the libraries with no daemon support.
-# Each module also has its own package - see above.
-PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
-
-# Package contents - shift most standard contents to -bin
-FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data"
-FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \
- ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \
- ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*"
-FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp ${localstatedir}/run ${localstatedir}/volatile/run"
-FILES_${PN}-bin = "${bindir}"
-FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so"
-FILES_${PN}-dbg += "${libexecdir}/openldap/.debug"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap
- chmod 755 ${D}${sysconfdir}/init.d/openldap
- # This is duplicated in /etc/openldap and is for slapd
- rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example
-
- # Installing slapd under ${sbin} is more FHS and LSB compliance
- mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd
- rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
- SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema"
- cd ${D}/${sbindir}/
- rm -f ${SLAPTOOLS}
- for i in ${SLAPTOOLS}; do ln -sf slapd $i; done
-
- rmdir "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service
-
- # Uses mdm as the database
- # and localstatedir as data directory ...
- sed -e 's/# modulepath/modulepath/' \
- -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \
- -e 's/database\s*bdb/database mdb/' \
- -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \
- -i ${D}${sysconfdir}/openldap/slapd.conf
-
- mkdir -p ${D}${localstatedir}/${BPN}/data
-
-
-}
-
-INITSCRIPT_PACKAGES = "${PN}-slapd"
-INITSCRIPT_NAME_${PN}-slapd = "openldap"
-INITSCRIPT_PARAMS_${PN}-slapd = "defaults"
-SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service"
-SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable"
-
-
-PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*"
-
-# The modules require their .so to be dynamicaly loaded
-INSANE_SKIP_${PN}-backend-dnssrv += "dev-so"
-INSANE_SKIP_${PN}-backend-ldap += "dev-so"
-INSANE_SKIP_${PN}-backend-meta += "dev-so"
-INSANE_SKIP_${PN}-backend-mdb += "dev-so"
-INSANE_SKIP_${PN}-backend-monitor += "dev-so"
-INSANE_SKIP_${PN}-backend-null += "dev-so"
-INSANE_SKIP_${PN}-backend-passwd += "dev-so"
-INSANE_SKIP_${PN}-backend-shell += "dev-so"
-
-
-python populate_packages_prepend () {
- backend_dir = d.expand('${libexecdir}/openldap')
- do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
- do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
-
- metapkg = "${PN}-backends"
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- d.setVar('FILES_' + metapkg, "")
- metapkg_rdepends = []
- packages = d.getVar('PACKAGES').split()
- for pkg in packages[1:]:
- if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"):
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
- d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package')
- packages.append(metapkg)
- d.setVar('PACKAGES', ' '.join(packages))
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.48.bb b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.48.bb
new file mode 100644
index 000000000..ecc219d35
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/openldap/openldap_2.4.48.bb
@@ -0,0 +1,255 @@
+SUMMARY = "OpenLDAP Directory Service"
+DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol."
+HOMEPAGE = "http://www.OpenLDAP.org/license.html"
+# The OpenLDAP Public License - see the HOMEPAGE - defines
+# the license. www.openldap.org claims this is Open Source
+# (see http://www.openldap.org), the license appears to be
+# basically BSD. opensource.org does not record this license
+# at present (so it is apparently not OSI certified).
+LICENSE = "OpenLDAP"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ad914c35f97b468f421f8ac0f3d821f4 \
+ file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
+ "
+SECTION = "libs"
+
+LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
+
+SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \
+ file://openldap-m4-pthread.patch \
+ file://kill-icu.patch \
+ file://openldap-2.4.28-gnutls-gcrypt.patch \
+ file://use-urandom.patch \
+ file://initscript \
+ file://slapd.service \
+ file://thread_stub.patch \
+ file://openldap-CVE-2015-3276.patch \
+ file://remove-user-host-pwd-from-version.patch \
+"
+
+SRC_URI[md5sum] = "0729a0711fe096831dedc159e0bbe73f"
+SRC_URI[sha256sum] = "d9523ffcab5cd14b709fcf3cb4d04e8bc76bb8970113255f372bc74954c6074d"
+
+DEPENDS = "util-linux groff-native"
+
+# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when
+# installing .so and executables, this fails in cross compilation
+# environments
+SRC_URI += "file://install-strip.patch"
+
+inherit autotools-brokensep update-rc.d systemd
+
+# CV SETTINGS
+# Required to work round AC_FUNC_MEMCMP which gets the wrong answer
+# when cross compiling (should be in site?)
+EXTRA_OECONF += "ac_cv_func_memcmp_working=yes"
+
+# CONFIG DEFINITIONS
+# The following is necessary because it cannot be determined for a
+# cross compile automagically. Select should yield fine on all OE
+# systems...
+EXTRA_OECONF += "--with-yielding-select=yes"
+# Shared libraries are nice...
+EXTRA_OECONF += "--enable-dynamic"
+
+PACKAGECONFIG ??= "gnutls modules \
+ mdb ldap meta monitor null passwd shell proxycache dnssrv \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+#--with-tls with TLS/SSL support auto|openssl|gnutls [auto]
+PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt"
+PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl"
+
+PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl"
+PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+
+# SLAPD options
+#
+# UNIX crypt(3) passwd support:
+EXTRA_OECONF += "--enable-crypt"
+
+# SLAPD BACKEND
+#
+# The backend must be set by the configuration. This controls the
+# required database.
+#
+# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql"
+#
+# Note that multiple backends can be built. The ldbm backend requires a
+# build-time choice of database API. The bdb backend forces this to be
+# DB4. To use the gdbm (or other) API the Berkely database module must
+# be removed from the build.
+md = "${libexecdir}/openldap"
+#
+#--enable-bdb enable Berkeley DB backend no|yes|mod yes
+# The Berkely DB is the standard choice. This version of OpenLDAP requires
+# the version 4 implementation or better.
+PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db"
+
+#--enable-dnssrv enable dnssrv backend no|yes|mod no
+PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no"
+
+#--enable-hdb enable Hierarchical DB backend no|yes|mod no
+PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db"
+
+#--enable-ldap enable ldap backend no|yes|mod no
+PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no,"
+
+#--enable-mdb enable mdb database backend no|yes|mod [yes]
+PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no,"
+
+#--enable-meta enable metadirectory backend no|yes|mod no
+PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
+
+#--enable-monitor enable monitor backend no|yes|mod yes
+PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no,"
+
+#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no]
+PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no,"
+
+#--enable-null enable null backend no|yes|mod no
+PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
+
+#--enable-passwd enable passwd backend no|yes|mod no
+PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no,"
+
+#--enable-perl enable perl backend no|yes|mod no
+# This requires a loadable perl dynamic library, if enabled without
+# doing something appropriate (building perl?) the build will pick
+# up the build machine perl - not good (inherit perlnative?)
+PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl"
+
+#--enable-relay enable relay backend no|yes|mod [yes]
+PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no,"
+
+#--enable-shell enable shell backend no|yes|mod no
+# configure: WARNING: Use of --without-threads is recommended with back-shell
+PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no,"
+
+#--enable-sock enable sock backend no|yes|mod [no]
+PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no,"
+
+#--enable-sql enable sql backend no|yes|mod no
+# sql requires some sql backend which provides sql.h, sqlite* provides
+# sqlite.h (which may be compatible but hasn't been tried.)
+PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3"
+
+#--enable-dyngroup Dynamic Group overlay no|yes|mod no
+# This is a demo, Proxy Cache defines init_module which conflicts with the
+# same symbol in dyngroup
+PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no,"
+
+#--enable-proxycache Proxy Cache overlay no|yes|mod no
+PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
+FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*"
+PACKAGES += "${PN}-overlay-proxycache"
+
+# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
+# This allows tls to obtain random bits from /dev/urandom, by default
+# it was disabled for cross-compiling.
+CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC"
+
+LDFLAGS_append = " -pthread"
+
+do_configure() {
+ cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
+ rm -f ${S}/libtool
+ aclocal
+ libtoolize --force --copy
+ gnu-configize
+ autoconf
+ oe_runconf
+}
+
+LEAD_SONAME = "libldap-${LDAP_VER}.so.*"
+
+# The executables go in a separate package. This allows the
+# installation of the libraries with no daemon support.
+# Each module also has its own package - see above.
+PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
+
+# Package contents - shift most standard contents to -bin
+FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data"
+FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \
+ ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \
+ ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*"
+FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp ${localstatedir}/run ${localstatedir}/volatile/run"
+FILES_${PN}-bin = "${bindir}"
+FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so"
+FILES_${PN}-dbg += "${libexecdir}/openldap/.debug"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap
+ chmod 755 ${D}${sysconfdir}/init.d/openldap
+ # This is duplicated in /etc/openldap and is for slapd
+ rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example
+
+ # Installing slapd under ${sbin} is more FHS and LSB compliance
+ mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd
+ rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
+ SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema"
+ cd ${D}/${sbindir}/
+ rm -f ${SLAPTOOLS}
+ for i in ${SLAPTOOLS}; do ln -sf slapd $i; done
+
+ rmdir "${D}${localstatedir}/run"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service
+
+ # Uses mdm as the database
+ # and localstatedir as data directory ...
+ sed -e 's/# modulepath/modulepath/' \
+ -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \
+ -e 's/database\s*bdb/database mdb/' \
+ -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \
+ -i ${D}${sysconfdir}/openldap/slapd.conf
+
+ mkdir -p ${D}${localstatedir}/${BPN}/data
+
+
+}
+
+INITSCRIPT_PACKAGES = "${PN}-slapd"
+INITSCRIPT_NAME_${PN}-slapd = "openldap"
+INITSCRIPT_PARAMS_${PN}-slapd = "defaults"
+SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service"
+SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable"
+
+
+PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*"
+
+# The modules require their .so to be dynamicaly loaded
+INSANE_SKIP_${PN}-backend-dnssrv += "dev-so"
+INSANE_SKIP_${PN}-backend-ldap += "dev-so"
+INSANE_SKIP_${PN}-backend-meta += "dev-so"
+INSANE_SKIP_${PN}-backend-mdb += "dev-so"
+INSANE_SKIP_${PN}-backend-monitor += "dev-so"
+INSANE_SKIP_${PN}-backend-null += "dev-so"
+INSANE_SKIP_${PN}-backend-passwd += "dev-so"
+INSANE_SKIP_${PN}-backend-shell += "dev-so"
+
+
+python populate_packages_prepend () {
+ backend_dir = d.expand('${libexecdir}/openldap')
+ do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
+ do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
+
+ metapkg = "${PN}-backends"
+ d.setVar('ALLOW_EMPTY_' + metapkg, "1")
+ d.setVar('FILES_' + metapkg, "")
+ metapkg_rdepends = []
+ packages = d.getVar('PACKAGES').split()
+ for pkg in packages[1:]:
+ if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
+ d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package')
+ packages.append(metapkg)
+ d.setVar('PACKAGES', ' '.join(packages))
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb b/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb
deleted file mode 100644
index 10f724e6c..000000000
--- a/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.22.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "PC/SC Lite smart card framework and applications"
-HOMEPAGE = "http://pcsclite.alioth.debian.org/"
-LICENSE = "BSD & GPLv3+"
-LICENSE_${PN} = "BSD"
-LICENSE_${PN}-lib = "BSD"
-LICENSE_${PN}-doc = "BSD"
-LICENSE_${PN}-dev = "BSD"
-LICENSE_${PN}-dbg = "BSD & GPLv3+"
-LICENSE_${PN}-spy = "GPLv3+"
-LICENSE_${PN}-spy-dev = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f38b3d1c7ef7fc2c8b6d20cd38efdc29"
-DEPENDS = "udev"
-
-SRC_URI = "https://pcsclite.apdu.fr/files/${BP}.tar.bz2"
-SRC_URI[md5sum] = "0ec103b1ef298d0c58d6ef6b00b9cf17"
-SRC_URI[sha256sum] = "6a358f61ed3b66a7f6e1f4e794a94c7be4c81b7a58ec360c33791e8d7d9bd405"
-
-
-inherit autotools systemd pkgconfig
-
-EXTRA_OECONF = " \
- --disable-libusb \
- --enable-libudev \
- --enable-usbdropdir=${libdir}/pcsc/drivers \
-"
-
-S = "${WORKDIR}/pcsc-lite-${PV}"
-
-PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-dev"
-
-RRECOMMENDS_${PN} = "ccid"
-
-FILES_${PN} = "${sbindir}/pcscd"
-FILES_${PN}-lib = "${libdir}/libpcsclite*${SOLIBS}"
-FILES_${PN}-dev = "${includedir} \
- ${libdir}/pkgconfig \
- ${libdir}/libpcsclite.la \
- ${libdir}/libpcsclite.so"
-
-FILES_${PN}-spy = "${bindir}/pcsc-spy \
- ${libdir}/libpcscspy*${SOLIBS}"
-FILES_${PN}-spy-dev = "${libdir}/libpcscspy.la \
- ${libdir}/libpcscspy.so "
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "pcscd.socket"
-RDEPENDS_${PN}-spy +="python"
diff --git a/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.25.bb b/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.25.bb
new file mode 100644
index 000000000..a87c228a8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.25.bb
@@ -0,0 +1,52 @@
+SUMMARY = "PC/SC Lite smart card framework and applications"
+HOMEPAGE = "http://pcsclite.alioth.debian.org/"
+LICENSE = "BSD & GPLv3+"
+LICENSE_${PN} = "BSD"
+LICENSE_${PN}-lib = "BSD"
+LICENSE_${PN}-doc = "BSD"
+LICENSE_${PN}-dev = "BSD"
+LICENSE_${PN}-dbg = "BSD & GPLv3+"
+LICENSE_${PN}-spy = "GPLv3+"
+LICENSE_${PN}-spy-dev = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=628c01ba985ecfa21677f5ee2d5202f6"
+DEPENDS = "udev"
+
+SRC_URI = "https://pcsclite.apdu.fr/files/${BP}.tar.bz2"
+SRC_URI[md5sum] = "c20650a36062ab1689f37f3302c988f2"
+SRC_URI[sha256sum] = "d76d79edc31cf76e782b9f697420d3defbcc91778c3c650658086a1b748e8792"
+
+inherit autotools systemd pkgconfig
+
+EXTRA_OECONF = " \
+ --disable-libusb \
+ --enable-libudev \
+ --enable-usbdropdir=${libdir}/pcsc/drivers \
+"
+
+S = "${WORKDIR}/pcsc-lite-${PV}"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[systemd] = ",--disable-libsystemd,systemd,"
+
+PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-dev"
+
+RRECOMMENDS_${PN} = "ccid"
+
+FILES_${PN} = "${sbindir}/pcscd"
+FILES_${PN}-lib = "${libdir}/libpcsclite*${SOLIBS}"
+FILES_${PN}-dev = "${includedir} \
+ ${libdir}/pkgconfig \
+ ${libdir}/libpcsclite.la \
+ ${libdir}/libpcsclite.so"
+
+FILES_${PN}-spy = "${bindir}/pcsc-spy \
+ ${libdir}/libpcscspy*${SOLIBS}"
+FILES_${PN}-spy-dev = "${libdir}/libpcscspy.la \
+ ${libdir}/libpcscspy.so "
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "pcscd.socket"
+RDEPENDS_${PN}-spy +="python"
diff --git a/meta-openembedded/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch b/meta-openembedded/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch
new file mode 100644
index 000000000..5b344b9e8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch
@@ -0,0 +1,118 @@
+From 9664809da36bd7bada3e44f50cfc042539fb61ee Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@linux.intel.com>
+Date: Sun, 14 Jul 2019 19:13:21 -0700
+Subject: [PATCH] Fix building with musl
+
+Upstream-status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+---
+ termios2.c | 27 +++++++++++++++++++++++++++
+ termios2.h | 5 +++++
+ 2 files changed, 32 insertions(+)
+
+diff --git a/termios2.c b/termios2.c
+index 97c3be0..88ff6fc 100644
+--- a/termios2.c
++++ b/termios2.c
+@@ -37,6 +37,7 @@
+ #include <errno.h>
+ #include <termios.h>
+ #include <sys/ioctl.h>
++#include <asm/ioctls.h>
+
+ /* Contains the definition of the termios2 structure and some related
+ constants that we should normally include from system
+@@ -53,6 +54,10 @@
+ */
+ #define IBAUD0 020000000000
+
++#if !defined(__GLIBC__)
++#define __MAX_BAUD B4000000
++#endif
++
+ int
+ tc2setattr(int fd, int optional_actions, const struct termios *tios)
+ {
+@@ -79,8 +84,13 @@ tc2setattr(int fd, int optional_actions, const struct termios *tios)
+ t2.c_cflag = tios->c_cflag;
+ t2.c_lflag = tios->c_lflag;
+ t2.c_line = tios->c_line;
++#if !defined(__GLIBC__)
++ t2.c_ispeed = tios->__c_ispeed;
++ t2.c_ospeed = tios->__c_ospeed;
++#else
+ t2.c_ispeed = tios->c_ispeed;
+ t2.c_ospeed = tios->c_ospeed;
++#endif
+ memcpy(&t2.c_cc[0], &tios->c_cc[0], K_NCCS * sizeof (cc_t));
+
+ return ioctl(fd, cmd, &t2);
+@@ -101,8 +111,13 @@ tc2getattr(int fd, struct termios *tios)
+ tios->c_cflag = t2.c_cflag;
+ tios->c_lflag = t2.c_lflag;
+ tios->c_line = t2.c_line;
++#if !defined(__GLIBC__)
++ tios->__c_ispeed = t2.c_ispeed;
++ tios->__c_ospeed = t2.c_ospeed;
++#else
+ tios->c_ispeed = t2.c_ispeed;
+ tios->c_ospeed = t2.c_ospeed;
++#endif
+ memcpy(&tios->c_cc[0], &t2.c_cc[0], K_NCCS * sizeof (cc_t));
+
+ for (i = K_NCCS; i < NCCS; i++)
+@@ -131,7 +146,11 @@ cf2setispeed(struct termios *tios, speed_t speed)
+ errno = EINVAL;
+ return -1;
+ }
++#if !defined(__GLIBC__)
++ tios->__c_ispeed = speed;
++#else
+ tios->c_ispeed = speed;
++#endif
+ tios->c_cflag &= ~((CBAUD | CBAUDEX) << IBSHIFT);
+ tios->c_cflag |= (speed << IBSHIFT);
+
+@@ -156,7 +175,11 @@ cf2setospeed_custom(struct termios *tios, int speed)
+ }
+ tios->c_cflag &= ~(CBAUD | CBAUDEX);
+ tios->c_cflag |= BOTHER;
++#if !defined(__GLIBC__)
++ tios->__c_ospeed = speed;
++#else
+ tios->c_ospeed = speed;
++#endif
+
+ return 0;
+ }
+@@ -177,7 +200,11 @@ cf2setispeed_custom(struct termios *tios, int speed)
+ } else {
+ tios->c_cflag &= ~((CBAUD | CBAUDEX) << IBSHIFT);
+ tios->c_cflag |= (BOTHER << IBSHIFT);
++#if !defined(__GLIBC__)
++ tios->__c_ispeed = speed;
++#else
+ tios->c_ispeed = speed;
++#endif
+ }
+
+ return 0;
+diff --git a/termios2.h b/termios2.h
+index e13b0e3..63dd0ce 100644
+--- a/termios2.h
++++ b/termios2.h
+@@ -37,8 +37,13 @@
+ /* And define these new ones */
+ #define cfsetospeed_custom cf2setospeed_custom
+ #define cfsetispeed_custom cf2setispeed_custom
++#if defined(__linux__) && !defined(__GLIBC__)
++#define cfgetospeed_custom(tiop) ((tiop)->__c_ospeed)
++#define cfgetispeed_custom(tiop) ((tiop)->__c_ispeed)
++#else
+ #define cfgetospeed_custom(tiop) ((tiop)->c_ospeed)
+ #define cfgetispeed_custom(tiop) ((tiop)->c_ispeed)
++#endif
+
+ /* Replacements for the standard tcsetattr(3), tcgetattr(3)
+ * functions. Same user interface, but these use the new termios2
diff --git a/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb b/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb
index e091094cf..3d26b9364 100644
--- a/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/picocom/picocom_git.bb
@@ -1,15 +1,17 @@
-SUMMARY = "Lightweight and minimal (~20K) dumb-terminal emulation program"
+SUMMARY = "Lightweight and minimal dumb-terminal emulation program"
SECTION = "console/utils"
LICENSE = "GPLv2+"
-HOMEPAGE = "http://code.google.com/p/picocom/"
+HOMEPAGE = "https://github.com/npat-efault/picocom"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000e4830620e310fe65c0eb69df9e8a"
-BASEPV = "2.2"
+BASEPV = "3.1"
PV = "${BASEPV}+git${SRCPV}"
-SRCREV = "deffd18c24145bd6f965f44e735a50b65810ccdc"
+SRCREV = "90385aabe2b51f39fa130627d46b377569f82d4a"
-SRC_URI = "git://github.com/npat-efault/picocom"
+SRC_URI = "git://github.com/npat-efault/picocom \
+ file://0001-Fix-building-with-musl.patch \
+ "
S = "${WORKDIR}/git"
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
index 8c6f0b010..bce89bec8 100644
--- 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
@@ -4,7 +4,7 @@ DESCRIPTION = "Runtime libraries for parsing and creating MIME mail"
SECTION = "libs"
DEPENDS = "glib-2.0 zlib"
-inherit gnome autotools gobject-introspection
+inherit gnomebase autotools gobject-introspection
SRC_URI += "file://iconv-detect.h \
file://nodolt.patch"
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch
deleted file mode 100644
index c364d7372..000000000
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From d488de23b75b2f3e235f1c184b2253d1402b4c0f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 10 May 2018 23:47:56 -0700
-Subject: [PATCH] glib/CMakeLists.txt: Add libpoppler to link along with
- poppler-glib
-
-This is required since poppler-glib uses symbols from poppler and
-we use --as-needed
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- glib/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt
-index 6f91669..ca5021f 100644
---- a/glib/CMakeLists.txt
-+++ b/glib/CMakeLists.txt
-@@ -135,7 +135,7 @@ if (HAVE_INTROSPECTION AND BUILD_SHARED_LIBS)
- get_directory_property(_tmp_includes INCLUDE_DIRECTORIES)
- _list_prefix(_includes _tmp_includes "-I")
- set(Poppler_0_18_gir_CFLAGS ${_includes} -L${CMAKE_BINARY_DIR} -L${CMAKE_CURRENT_BINARY_DIR})
-- set(Poppler_0_18_gir_LIBS poppler-glib)
-+ set(Poppler_0_18_gir_LIBS poppler-glib poppler)
- _list_prefix(_abs_introspection_files introspection_files "${CMAKE_CURRENT_SOURCE_DIR}/")
- list(APPEND _abs_introspection_files
- ${CMAKE_CURRENT_BINARY_DIR}/poppler-enums.c
---
-2.20.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch
deleted file mode 100644
index 3c231fe93..000000000
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 6287663e7db04df7e6dec58a1fc5bb5d510e8bde Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Mon, 9 Apr 2018 19:11:20 +0200
-Subject: [PATCH] CairoOutputDev.cc: fix build error when using fixedpoint
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc: In function 'int splashRound(SplashCoord)':
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:1604:28: error: call of overloaded 'floor(FixedPoint)' is ambiguous
-| return (int)floor(x + 0.5);
-| ^
-| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/features.h:428:0,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/os_defines.h:39,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/c++config.h:533,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdint:38,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:44:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/bits/mathcalls.h:165:1: note: candidate: double floor(double)
-| __MATHCALLX (floor,, (_Mdouble_ __x), (__const__));
-| ^
-| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/math.h:36:0,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:46:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:260:3: note: candidate: constexpr float std::floor(float)
-| floor(float __x)
-| ^~~~~
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:264:3: note: candidate: constexpr long double std::floor(long double)
-| floor(long double __x)
-| ^~~~~
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc: In function 'int splashCeil(SplashCoord)':
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:1608:21: error: call of overloaded 'ceil(SplashCoord&)' is ambiguous
-| return (int)ceil(x);
-| ^
-| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/features.h:428:0,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/os_defines.h:39,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/c++config.h:533,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdint:38,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:44:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/bits/mathcalls.h:159:1: note: candidate: double ceil(double)
-| __MATHCALLX (ceil,, (_Mdouble_ __x), (__const__));
-| ^
-| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/math.h:36:0,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:46:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:165:3: note: candidate: constexpr float std::ceil(float)
-| ceil(float __x)
-| ^~~~
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cmath:169:3: note: candidate: constexpr long double std::ceil(long double)
-| ceil(long double __x)
-| ^~~~
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc: In function 'int splashFloor(SplashCoord)':
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:1612:22: error: call of overloaded 'floor(SplashCoord&)' is ambiguous
-| return (int)floor(x);
-| ^
-| In file included from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/features.h:428:0,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/os_defines.h:39,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/arm-oe-linux-gnueabi/bits/c++config.h:533,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/c++/7.3.0/cstdint:38,
-| from <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/poppler-0.63.0/poppler/CairoOutputDev.cc:44:
-| <tmpdir>/oe-core-glibc/work/armv5te-oe-linux-gnueabi/poppler/0.63.0-r0/recipe-sysroot/usr/include/bits/mathcalls.h:165:1: note: candidate: double floor(double)
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- poppler/CairoOutputDev.cc | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
-index 18124b8f..4c85ad65 100644
---- a/poppler/CairoOutputDev.cc
-+++ b/poppler/CairoOutputDev.cc
-@@ -1602,15 +1602,27 @@ void CairoOutputDev::endActualText(GfxState *state)
- }
-
- static inline int splashRound(SplashCoord x) {
-+#if defined(USE_FIXEDPOINT)
-+ return FixedPoint::floor(x + 0.5);
-+#else
- return (int)floor(x + 0.5);
-+#endif
- }
-
- static inline int splashCeil(SplashCoord x) {
-+#if defined(USE_FIXEDPOINT)
-+ return FixedPoint::ceil(x);
-+#else
- return (int)ceil(x);
-+#endif
- }
-
- static inline int splashFloor(SplashCoord x) {
-+#if defined(USE_FIXEDPOINT)
-+ return FixedPoint::floor(x);
-+#else
- return (int)floor(x);
-+#endif
- }
-
- static
---
-2.14.3
-
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
index ab6bdb080..c18a5f5c0 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/basename-include.patch
@@ -1,20 +1,31 @@
-Minic GNU basename() API for non-glibc library e.g. musl
+From 2ac679158062b14729f82f513fc7cafbb6f4f7a6 Mon Sep 17 00:00:00 2001
+From: Randy MacLeod <Randy.MacLeod@windriver.com>
+Date: Fri, 26 Jul 2019 14:26:54 -0400
+Subject: [PATCH 3/3] Minic GNU basename() API for non-glibc library e.g. musl
Upstream-Status: Pending
+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
+---
+ goo/gbasename.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
-Index: poppler-0.64.0/utils/pdfsig.cc
-===================================================================
---- poppler-0.64.0.orig/utils/pdfsig.cc
-+++ poppler-0.64.0/utils/pdfsig.cc
-@@ -35,6 +35,10 @@
- #include "numberofcharacters.h"
- #include <libgen.h>
+diff --git a/goo/gbasename.cc b/goo/gbasename.cc
+index 830c1c80..e93eb368 100644
+--- a/goo/gbasename.cc
++++ b/goo/gbasename.cc
+@@ -46,6 +46,10 @@
+ #include <stdlib.h>
+ #include <string.h>
+#if !defined(__GLIBC__)
+#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src)
+#endif
+
- static const char * getReadableSigState(SignatureValidationStatus sig_vs)
+ std::string gbasename(const char* filename)
{
- switch(sig_vs) {
+ #ifdef _MSC_VER
+--
+2.17.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.75.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.75.0.bb
deleted file mode 100644
index 0704f1a2a..000000000
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.75.0.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \
- file://0001-Do-not-overwrite-all-our-build-flags.patch \
- file://0002-CairoOutputDev.cc-fix-build-error-when-using-fixedpo.patch \
- file://0001-glib-CMakeLists.txt-Add-libpoppler-to-link-along-wit.patch \
- file://basename-include.patch \
- "
-SRC_URI[md5sum] = "3fb4ca803d989742695ca586c5cc489e"
-SRC_URI[sha256sum] = "3bbaedb0fa2797cac933a0659d144303e4d09eec6892c65600da987d8707199a"
-
-DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
-
-inherit cmake pkgconfig gobject-introspection
-
-PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng"
-PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff"
-PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl"
-PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg"
-PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native"
-PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss"
-
-# surprise - did not expect this to work :)
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
-
-EXTRA_OECMAKE += " \
- -DENABLE_CMS=lcms2 \
- -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
- -DBUILD_GTK_TESTS=OFF \
- -DENABLE_ZLIB=ON \
- -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \
-"
-
-do_configure_append() {
- # poppler macro uses pkg-config to check for g-ir runtimes. Something
- # makes them point to /usr/bin. Align them to sysroot - that's where the
- # gir-wrappers are:
- sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja
-}
-
-# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
-def get_poppler_fpu_setting(bb, d):
- if d.getVar('TARGET_FPU') in [ 'soft' ]:
- return "-DUSE_FIXEDPOINT=ON"
- return ""
-
-EXTRA_OECMAKE += "${@get_poppler_fpu_setting(bb, d)}"
-
-PACKAGES =+ "libpoppler libpoppler-glib"
-FILES_libpoppler = "${libdir}/libpoppler.so.*"
-FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
-
-RDEPENDS_libpoppler = "poppler-data"
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.80.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.80.0.bb
new file mode 100644
index 000000000..338af1d87
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_0.80.0.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \
+ file://0001-Do-not-overwrite-all-our-build-flags.patch \
+ file://basename-include.patch \
+ "
+SRC_URI[md5sum] = "8ff9964d1fcc9c334a9c66f6f426ab9c"
+SRC_URI[sha256sum] = "4d3ca6b79bc13b8e24092e34f83ef5f387f3bb0bbd7359a6c078e09c696d104f"
+
+DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
+
+inherit cmake pkgconfig gobject-introspection
+
+PACKAGECONFIG ??= "jpeg openjpeg png tiff nss ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng"
+PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff"
+PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl"
+PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg"
+PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native"
+PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss"
+
+# surprise - did not expect this to work :)
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
+
+EXTRA_OECMAKE += " \
+ -DENABLE_CMS=lcms2 \
+ -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
+ -DBUILD_GTK_TESTS=OFF \
+ -DENABLE_ZLIB=ON \
+ -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \
+"
+
+do_configure_append() {
+ # poppler macro uses pkg-config to check for g-ir runtimes. Something
+ # makes them point to /usr/bin. Align them to sysroot - that's where the
+ # gir-wrappers are:
+ sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja
+}
+
+PACKAGES =+ "libpoppler libpoppler-glib"
+FILES_libpoppler = "${libdir}/libpoppler.so.*"
+FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
+
+RDEPENDS_libpoppler = "poppler-data"
diff --git a/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.3.6.bb b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.3.6.bb
new file mode 100644
index 000000000..82b803a4d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/remmina/remmina_1.3.6.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "A feature rich Remote Desktop Application written in GTK+"
+HOMEPAGE = "https://remmina.org"
+SECTION = "Support"
+LICENSE = "GPLv2 & openssl"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dab7215512044d49037272ce1ac4ea8f file://LICENSE.OpenSSL;md5=c1eb3cee0a4dea27503c531267a69769"
+DEPENDS += "openssl freerdp gtk+3 gdk-pixbuf atk libgcrypt avahi-ui libsodium libssh vte json-glib libsoup-2.4 libvncserver libsecret"
+
+DEPENDS_append_x86 = " spice spice-protocol"
+DEPENDS_append_x86-64 = " spice spice-protocol"
+
+DEPENDS_append_libc-musl = " libexecinfo"
+LDFLAGS_append_libc-musl = " -lexecinfo"
+
+SRC_URI = "https://gitlab.com/Remmina/Remmina/-/archive/v${PV}/Remmina-v${PV}.tar.bz2 \
+"
+SRC_URI[md5sum] = "6da599c3a5cab2df37a70f8fba2f5438"
+SRC_URI[sha256sum] = "fbed745438bb0c21467b60cbd67c8148a9289b5ebc7482d06db443bea556af1a"
+
+S = "${WORKDIR}/Remmina-v${PV}"
+
+inherit cmake distro_features_check
+
+# depends on avahi-ui with this restriction
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF -DWITH_SPICE=OFF"
+
+EXTRA_OECMAKE_append_x86 = " -DWITH_SPICE=ON"
+EXTRA_OECMAKE_append_x86-64 = " -DWITH_SPICE=ON"
+
+
+do_install_append(){
+ # We dont need the extra stuff form other desktop environments
+ rm -rf ${D}/${datadir}/xsessions
+ rm -rf ${D}/${datadir}/metainfo
+ rm -rf ${D}/${datadir}/gnome-session
+}
+
+RDEPENDS_${PN} = "bash"
+
+FILES_${PN}_append = " ${datadir}/icons/hicolor/*"
diff --git a/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/files/0001-ppt.c-Do-not-include-sys-io.h.patch b/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/files/0001-ppt.c-Do-not-include-sys-io.h.patch
new file mode 100644
index 000000000..4e6c25041
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/files/0001-ppt.c-Do-not-include-sys-io.h.patch
@@ -0,0 +1,28 @@
+From fd244ae648789591f0fb79e74d2b8f6c5b15d6e8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Aug 2019 00:47:14 +0000
+Subject: [PATCH] ppt.c: Do not include sys/io.h
+
+newer versions of glibc has removed it
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ppt.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/ppt.c b/ppt.c
+index 0bae2d0..0ef279f 100644
+--- a/ppt.c
++++ b/ppt.c
+@@ -5,7 +5,6 @@
+ #else
+ #include <unistd.h>
+ #include <stdlib.h>
+-#include <sys/io.h>
+ #include <linux/parport.h>
+ #include <linux/ppdev.h>
+ #include <sys/ioctl.h>
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb b/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb
index 2d5935dd3..9e609c4dd 100644
--- a/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb
+++ b/meta-openembedded/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb
@@ -7,7 +7,9 @@ SRCREV = "4268"
PV = "0.1+svnr${SRCPV}"
PR = "r1"
-SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=sjf2410-linux;protocol=http"
+SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=sjf2410-linux;protocol=http \
+ file://0001-ppt.c-Do-not-include-sys-io.h.patch \
+ "
S = "${WORKDIR}/sjf2410-linux"
inherit native deploy
@@ -25,8 +27,7 @@ do_install() {
}
do_deploy() {
- install -d ${DEPLOY_DIR_TOOLS}
- install -m 0755 sjf2410 ${DEPLOY_DIR_TOOLS}/sjf2410-${PV}
+ install -m 0755 sjf2410 ${DEPLOYDIR}/sjf2410-${PV}
}
addtask deploy before do_build after do_install
diff --git a/meta-openembedded/meta-oe/recipes-support/sass/libsass_3.6.1.bb b/meta-openembedded/meta-oe/recipes-support/sass/libsass_3.6.1.bb
new file mode 100644
index 000000000..480e984fc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/sass/libsass_3.6.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "C/C++ port of the Sass CSS precompiler"
+HOMEPAGE = "http://sass-lang.com/libsass"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f34396ca205f5e119ee77aae91fa27d"
+
+inherit autotools
+
+SRC_URI = "git://github.com/sass/libsass.git;branch=master"
+SRCREV = "4d229af5500be1023883c38c4a675f0ed919839d"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb b/meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb
deleted file mode 100644
index 4c229cdb7..000000000
--- a/meta-openembedded/meta-oe/recipes-support/sass/libsass_git.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "C/C++ port of the Sass CSS precompiler"
-HOMEPAGE = "http://sass-lang.com/libsass"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8f34396ca205f5e119ee77aae91fa27d"
-
-inherit autotools
-
-SRC_URI = "git://github.com/sass/libsass.git;branch=3.5-stable"
-SRCREV = "39e30874b9a5dd6a802c20e8b0470ba44eeba929"
-S = "${WORKDIR}/git"
-PV = "3.5.5"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.27.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.27.bb
deleted file mode 100644
index 10dfc2bad..000000000
--- a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.27.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "Satyr is a collection of low-level algorithms for program \
-failure processing, analysis, and reporting supporting kernel space, user \
-space, Python, and Java programs"
-
-HOMEPAGE = "https://github.com/abrt/satyr"
-LICENSE = "GPLv2"
-
-inherit autotools-brokensep python3native pkgconfig
-
-SRC_URI = "git://github.com/abrt/satyr.git \
- file://0002-fix-compile-failure-against-musl-C-library.patch \
-"
-SRCREV = "dff1b877d42bf2153f8f090905d9cc8fb333bf1e"
-S = "${WORKDIR}/git"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS += " \
- gdb \
-"
-
-PACKAGES += "python3-${PN}"
-FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}"
-
-PACKAGECONFIG ??= "python3 rpm"
-PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python2"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
-PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm"
-
-do_configure_prepend() {
- ${S}/gen-version
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb
new file mode 100644
index 000000000..fbf018d7f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/satyr/satyr_0.28.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Satyr is a collection of low-level algorithms for program \
+failure processing, analysis, and reporting supporting kernel space, user \
+space, Python, and Java programs"
+
+HOMEPAGE = "https://github.com/abrt/satyr"
+LICENSE = "GPLv2"
+
+inherit autotools-brokensep python3native pkgconfig
+
+SRC_URI = "git://github.com/abrt/satyr.git \
+ file://0002-fix-compile-failure-against-musl-C-library.patch \
+"
+SRCREV = "8b5547b89b712b39a59f1d8b366e7de0f5f46108"
+S = "${WORKDIR}/git"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS += " \
+ gdb \
+"
+
+PACKAGES += "python3-${BPN}"
+FILES_python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}"
+
+PACKAGECONFIG ??= "python3 rpm"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm"
+
+do_configure_prepend() {
+ ${S}/gen-version
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
index dca42676d..8f39fde82 100644
--- a/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit gettext autotools
-SRC_URI = "ftp://ftp.gnu.org/gnu/${BPN}/${BP}.tar.gz \
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://0001-Fix-build-with-clang.patch \
file://CVE-2018-1000097.patch \
"
diff --git a/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb b/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb
index 519020f3b..702217a33 100644
--- a/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb
@@ -25,3 +25,7 @@ do_install() {
install -m 0644 ${S}/smem.8 ${D}/${mandir}/man8/
}
RDEPENDS_${PN} += "python-textutils python-compression python-shell python-codecs"
+
+PACKAGES =+ "smemcap"
+
+FILES_smemcap = "${bindir}/smemcap"
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch
new file mode 100644
index 000000000..d9190e5bd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch
@@ -0,0 +1,116 @@
+From dd6ad8ca447457c812809791ab8622da8646104c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Aug 2019 13:07:33 -0700
+Subject: [PATCH] Don't use __GNUC_PREREQ
+
+These are not official GCC predefined macros; they are macros defined
+by GNU libc and some versions of BSD libc for internal use by their
+own headers, and we shouldn't be using them without checking for their
+availability first
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/efi/efi.h | 4 ++--
+ lib/engine/pragma.h | 4 ++--
+ lib/log/log.h | 4 ++--
+ lib/mpb/machine_bytes.h | 4 ++--
+ lib/mpb/mpb.h | 4 ++--
+ lib/orom/orom.h | 4 ++--
+ 6 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/lib/efi/efi.h b/lib/efi/efi.h
+index 0620d9c..c8358db 100644
+--- a/lib/efi/efi.h
++++ b/lib/efi/efi.h
+@@ -33,9 +33,9 @@
+ #include <features.h>
+ #include <ssi.h>
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #if defined(__cplusplus)
+ extern "C" {
+diff --git a/lib/engine/pragma.h b/lib/engine/pragma.h
+index 8205ed3..fa0b268 100644
+--- a/lib/engine/pragma.h
++++ b/lib/engine/pragma.h
+@@ -32,9 +32,9 @@
+
+ #include <features.h>
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #define SSI_HAS_PRAGMA_ONCE
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #ifdef SSI_HAS_PRAGMA_ONCE
+ #pragma once
+diff --git a/lib/log/log.h b/lib/log/log.h
+index 66a707b..ca5000a 100644
+--- a/lib/log/log.h
++++ b/lib/log/log.h
+@@ -32,9 +32,9 @@
+
+ #include <features.h>
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #if defined(__cplusplus)
+ extern "C" {
+diff --git a/lib/mpb/machine_bytes.h b/lib/mpb/machine_bytes.h
+index 6cb81c9..807461f 100644
+--- a/lib/mpb/machine_bytes.h
++++ b/lib/mpb/machine_bytes.h
+@@ -27,9 +27,9 @@
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #ifndef __ENDIAN_H__INCLUDED__
+ #define __ENDIAN_H__INCLUDED__
+diff --git a/lib/mpb/mpb.h b/lib/mpb/mpb.h
+index 32beb21..98f82fe 100644
+--- a/lib/mpb/mpb.h
++++ b/lib/mpb/mpb.h
+@@ -27,9 +27,9 @@
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #ifndef __MPB_H__INCLUDED__
+ #define __MPB_H__INCLUDED__
+diff --git a/lib/orom/orom.h b/lib/orom/orom.h
+index 4492066..16b03a6 100644
+--- a/lib/orom/orom.h
++++ b/lib/orom/orom.h
+@@ -32,9 +32,9 @@
+
+ #include <features.h>
+
+-#if __GNUC_PREREQ(3, 4)
++#if ((defined __GNUC__ && __GNUC__ >= 3 && __GNUC_MINOR__ >= 4) || defined __clang__)
+ #pragma once
+-#endif /* __GNUC_PREREQ */
++#endif
+
+ #if defined(__cplusplus)
+ extern "C" {
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch
new file mode 100644
index 000000000..fd44571b6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch
@@ -0,0 +1,32 @@
+From 258a1d128581f185a7a5070f47df06e5c29c9db8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Aug 2019 13:43:32 -0700
+Subject: [PATCH] Include libgen.h
+
+Use XPG version of basename on non gnu libc systems
+ideally posix version should be used everywhere but that
+would be upstreams choice to make
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/ssieventmonitor.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
+index 0d11975..af7e09c 100644
+--- a/tools/ssieventmonitor.cpp
++++ b/tools/ssieventmonitor.cpp
+@@ -39,7 +39,9 @@
+ #include <sys/select.h>
+ #include <sys/wait.h>
+ #include <sys/inotify.h>
+-
++#ifndef __GLIBC__
++#include <libgen.h>
++#endif
+ extern "C" {
+ #include "lib/safeclib/safe_str_lib.h"
+ }
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch
deleted file mode 100644
index ef6ae00e3..000000000
--- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-Use-pragma-once-unconditionally.patch
+++ /dev/null
@@ -1,872 +0,0 @@
-From 3100e23c50e38bff0c2ec77bc30049c113c29414 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 20:44:31 -0700
-Subject: [PATCH 1/6] Use pragma once unconditionally
-
-in OE we do not worry about supporting
-gcc 3.4 anyway
-
-Upstream-Status: Inappropriate[Bumps required gcc to be > 3.4]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/efi/efi.h | 2 --
- lib/engine/ahci.h | 2 --
- lib/engine/ahci_cdrom.h | 2 --
- lib/engine/ahci_disk.h | 2 --
- lib/engine/ahci_multiplier.h | 2 --
- lib/engine/ahci_multiplier_phy.h | 2 --
- lib/engine/ahci_multiplier_port.h | 2 --
- lib/engine/ahci_phy.h | 2 --
- lib/engine/ahci_port.h | 2 --
- lib/engine/ahci_raid_info.h | 2 --
- lib/engine/ahci_tape.h | 2 --
- lib/engine/array.h | 2 --
- lib/engine/block_device.h | 2 --
- lib/engine/cache.h | 2 --
- lib/engine/container.h | 2 --
- lib/engine/context_manager.h | 2 --
- lib/engine/controller.h | 2 --
- lib/engine/enclosure.h | 2 --
- lib/engine/end_device.h | 2 --
- lib/engine/event.h | 2 --
- lib/engine/event_manager.h | 2 --
- lib/engine/exception.h | 2 --
- lib/engine/filesystem.h | 2 --
- lib/engine/isci.h | 2 --
- lib/engine/isci_cdrom.h | 2 --
- lib/engine/isci_disk.h | 2 --
- lib/engine/isci_expander.h | 2 --
- lib/engine/isci_expander_phy.h | 2 --
- lib/engine/isci_expander_port.h | 2 --
- lib/engine/isci_phy.h | 2 --
- lib/engine/isci_port.h | 2 --
- lib/engine/isci_raid_info.h | 2 --
- lib/engine/isci_tape.h | 2 --
- lib/engine/list.h | 2 --
- lib/engine/mdadm_config.h | 2 --
- lib/engine/multimedia_device.h | 2 --
- lib/engine/nondisk_device.h | 2 --
- lib/engine/object.h | 2 --
- lib/engine/pci_header.h | 2 --
- lib/engine/phy.h | 2 --
- lib/engine/port.h | 2 --
- lib/engine/raid_device.h | 2 --
- lib/engine/raid_info.h | 2 --
- lib/engine/remote_port.h | 2 --
- lib/engine/routing_device.h | 2 --
- lib/engine/session.h | 2 --
- lib/engine/session_manager.h | 2 --
- lib/engine/storage_device.h | 2 --
- lib/engine/stream_device.h | 2 --
- lib/engine/string.h | 2 --
- lib/engine/unique_id_manager.h | 2 --
- lib/engine/utils.h | 2 --
- lib/engine/volume.h | 2 --
- lib/log/log.h | 2 --
- lib/mpb/machine_bytes.h | 2 --
- lib/mpb/mpb.h | 2 --
- lib/orom/orom.h | 2 --
- 57 files changed, 114 deletions(-)
-
-diff --git a/lib/efi/efi.h b/lib/efi/efi.h
-index 9e7e41b..804e567 100644
---- a/lib/efi/efi.h
-+++ b/lib/efi/efi.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __EFI_H__INCLUDED__
- #define __EFI_H__INCLUDED__
-diff --git a/lib/engine/ahci.h b/lib/engine/ahci.h
-index e883d1a..80a9699 100644
---- a/lib/engine/ahci.h
-+++ b/lib/engine/ahci.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_H__INCLUDED__
- #define __AHCI_H__INCLUDED__
-diff --git a/lib/engine/ahci_cdrom.h b/lib/engine/ahci_cdrom.h
-index 442f301..d8ca042 100644
---- a/lib/engine/ahci_cdrom.h
-+++ b/lib/engine/ahci_cdrom.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_CDROM_H__INCLUDED__
- #define __AHCI_CDROM_H__INCLUDED__
-diff --git a/lib/engine/ahci_disk.h b/lib/engine/ahci_disk.h
-index 7892a53..1bad9ad 100644
---- a/lib/engine/ahci_disk.h
-+++ b/lib/engine/ahci_disk.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_DISK_H__INCLUDED__
- #define __AHCI_DISK_H__INCLUDED__
-diff --git a/lib/engine/ahci_multiplier.h b/lib/engine/ahci_multiplier.h
-index d63e9bc..1029af2 100644
---- a/lib/engine/ahci_multiplier.h
-+++ b/lib/engine/ahci_multiplier.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_MULTIPLIER_H__INCLUDED__
- #define __AHCI_MULTIPLIER_H__INCLUDED__
-diff --git a/lib/engine/ahci_multiplier_phy.h b/lib/engine/ahci_multiplier_phy.h
-index 58ecebc..2132c23 100644
---- a/lib/engine/ahci_multiplier_phy.h
-+++ b/lib/engine/ahci_multiplier_phy.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_MULTIPLIER_PHY_H__INCLUDED__
- #define __AHCI_MULTIPLIER_PHY_H__INCLUDED__
-diff --git a/lib/engine/ahci_multiplier_port.h b/lib/engine/ahci_multiplier_port.h
-index 5ff4cf7..2402473 100644
---- a/lib/engine/ahci_multiplier_port.h
-+++ b/lib/engine/ahci_multiplier_port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_MULTIPLIER_PORT_H__INCLUDED__
- #define __AHCI_MULTIPLIER_PORT_H__INCLUDED__
-diff --git a/lib/engine/ahci_phy.h b/lib/engine/ahci_phy.h
-index e2254e7..a44dae0 100644
---- a/lib/engine/ahci_phy.h
-+++ b/lib/engine/ahci_phy.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_PHY_H__INCLUDED__
- #define __AHCI_PHY_H__INCLUDED__
-diff --git a/lib/engine/ahci_port.h b/lib/engine/ahci_port.h
-index f9e3308..03c109b 100644
---- a/lib/engine/ahci_port.h
-+++ b/lib/engine/ahci_port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_PORT_H__INCLUDED__
- #define __AHCI_PORT_H__INCLUDED__
-diff --git a/lib/engine/ahci_raid_info.h b/lib/engine/ahci_raid_info.h
-index e1c81ae..c70e63e 100644
---- a/lib/engine/ahci_raid_info.h
-+++ b/lib/engine/ahci_raid_info.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_RAID_INFO_H__INCLUDED__
- #define __AHCI_RAID_INFO_H__INCLUDED__
-diff --git a/lib/engine/ahci_tape.h b/lib/engine/ahci_tape.h
-index cdd9f13..a91fd2c 100644
---- a/lib/engine/ahci_tape.h
-+++ b/lib/engine/ahci_tape.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __AHCI_TAPE_H__INCLUDED__
- #define __AHCI_TAPE_H__INCLUDED__
-diff --git a/lib/engine/array.h b/lib/engine/array.h
-index 36fb4a4..0986ce3 100644
---- a/lib/engine/array.h
-+++ b/lib/engine/array.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ARRAY_H__INCLUDED__
- #define __ARRAY_H__INCLUDED__
-diff --git a/lib/engine/block_device.h b/lib/engine/block_device.h
-index 4503914..45dd3db 100644
---- a/lib/engine/block_device.h
-+++ b/lib/engine/block_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __BLOCK_DEVICE_H__INCLUDED__
- #define __BLOCK_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/cache.h b/lib/engine/cache.h
-index 72cf521..72da20b 100644
---- a/lib/engine/cache.h
-+++ b/lib/engine/cache.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3,4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __CACHE_H__INCLUDED__
- #define __CACHE_H__INCLUDED__
-diff --git a/lib/engine/container.h b/lib/engine/container.h
-index 53867b0..c71180c 100644
---- a/lib/engine/container.h
-+++ b/lib/engine/container.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3,4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __CONTAINER_H__INCLUDED__
- #define __CONTAINER_H__INCLUDED__
-diff --git a/lib/engine/context_manager.h b/lib/engine/context_manager.h
-index fe9c256..6b4a2e7 100644
---- a/lib/engine/context_manager.h
-+++ b/lib/engine/context_manager.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3,4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __CONTEXT_H__INCLUDED__
- #define __CONTEXT_H__INCLUDED__
-diff --git a/lib/engine/controller.h b/lib/engine/controller.h
-index a2f188a..6bd078f 100644
---- a/lib/engine/controller.h
-+++ b/lib/engine/controller.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __CONTROLLER_H__INCLUDED__
- #define __CONTROLLER_H__INCLUDED__
-diff --git a/lib/engine/enclosure.h b/lib/engine/enclosure.h
-index 3faef0c..f4b13cc 100644
---- a/lib/engine/enclosure.h
-+++ b/lib/engine/enclosure.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ENCLOSURE_H__INCLUDED__
- #define __ENCLOSURE_H__INCLUDED__
-diff --git a/lib/engine/end_device.h b/lib/engine/end_device.h
-index f147e41..269b236 100644
---- a/lib/engine/end_device.h
-+++ b/lib/engine/end_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __END_DEVICE_H__INCLUDED__
- #define __END_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/event.h b/lib/engine/event.h
-index cf9bb4f..11a4926 100644
---- a/lib/engine/event.h
-+++ b/lib/engine/event.h
-@@ -12,9 +12,7 @@ Redistribution and use in source and binary forms, with or without modification,
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __EVENT_H__INCLUDED__
- #define __EVENT_H__INCLUDED__
-diff --git a/lib/engine/event_manager.h b/lib/engine/event_manager.h
-index 65007b9..a7a8fc3 100644
---- a/lib/engine/event_manager.h
-+++ b/lib/engine/event_manager.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __EVENT_MANAGER_H__INCLUDED__
- #define __EVENT_MANAGER_H__INCLUDED__
-diff --git a/lib/engine/exception.h b/lib/engine/exception.h
-index 171e45d..183ebb5 100644
---- a/lib/engine/exception.h
-+++ b/lib/engine/exception.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __EXCEPTION_H__INCLUDED__
- #define __EXCEPTION_H__INCLUDED__
-diff --git a/lib/engine/filesystem.h b/lib/engine/filesystem.h
-index 9c2ce39..b49df07 100644
---- a/lib/engine/filesystem.h
-+++ b/lib/engine/filesystem.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __FILESYSTEM_H__INCLUDED__
- #define __FILESYSTEM_H__INCLUDED__
-diff --git a/lib/engine/isci.h b/lib/engine/isci.h
-index ea35cd4..0fa602a 100644
---- a/lib/engine/isci.h
-+++ b/lib/engine/isci.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_H__INCLUDED__
- #define __ISCI_H__INCLUDED__
-diff --git a/lib/engine/isci_cdrom.h b/lib/engine/isci_cdrom.h
-index 87b7e7b..25637f9 100644
---- a/lib/engine/isci_cdrom.h
-+++ b/lib/engine/isci_cdrom.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_CDROM_H__INCLUDED__
- #define __ISCI_CDROM_H__INCLUDED__
-diff --git a/lib/engine/isci_disk.h b/lib/engine/isci_disk.h
-index 596c3cf..8dd0dae 100644
---- a/lib/engine/isci_disk.h
-+++ b/lib/engine/isci_disk.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_DISK_H__INCLUDED__
- #define __ISCI_DISK_H__INCLUDED__
-diff --git a/lib/engine/isci_expander.h b/lib/engine/isci_expander.h
-index ca7c2f1..7dc1920 100644
---- a/lib/engine/isci_expander.h
-+++ b/lib/engine/isci_expander.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_EXPANDER_H__INCLUDED__
- #define __ISCI_EXPANDER_H__INCLUDED__
-diff --git a/lib/engine/isci_expander_phy.h b/lib/engine/isci_expander_phy.h
-index c9cd770..d3d2832 100644
---- a/lib/engine/isci_expander_phy.h
-+++ b/lib/engine/isci_expander_phy.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_EXPANDER_PHY_H__INCLUDED__
- #define __ISCI_EXPANDER_PHY_H__INCLUDED__
-diff --git a/lib/engine/isci_expander_port.h b/lib/engine/isci_expander_port.h
-index e65a124..4fc9310 100644
---- a/lib/engine/isci_expander_port.h
-+++ b/lib/engine/isci_expander_port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_EXPANDER_PORT_H__INCLUDED__
- #define __ISCI_EXPANDER_PORT_H__INCLUDED__
-diff --git a/lib/engine/isci_phy.h b/lib/engine/isci_phy.h
-index 767a5b2..105c697 100644
---- a/lib/engine/isci_phy.h
-+++ b/lib/engine/isci_phy.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_PHY_H__INCLUDED__
- #define __ISCI_PHY_H__INCLUDED__
-diff --git a/lib/engine/isci_port.h b/lib/engine/isci_port.h
-index b80be7f..5ccc151 100644
---- a/lib/engine/isci_port.h
-+++ b/lib/engine/isci_port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_PORT_H__INCLUDED__
- #define __ISCI_PORT_H__INCLUDED__
-diff --git a/lib/engine/isci_raid_info.h b/lib/engine/isci_raid_info.h
-index 1df6477..b0b046a 100644
---- a/lib/engine/isci_raid_info.h
-+++ b/lib/engine/isci_raid_info.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_RAID_INFO_H__INCLUDED__
- #define __ISCI_RAID_INFO_H__INCLUDED__
-diff --git a/lib/engine/isci_tape.h b/lib/engine/isci_tape.h
-index 985f767..a2cef2d 100644
---- a/lib/engine/isci_tape.h
-+++ b/lib/engine/isci_tape.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ISCI_TAPE_H__INCLUDED__
- #define __ISCI_TAPE_H__INCLUDED__
-diff --git a/lib/engine/list.h b/lib/engine/list.h
-index 9a7c3c3..6395830 100644
---- a/lib/engine/list.h
-+++ b/lib/engine/list.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __LIST_H__INCLUDED__
- #define __LIST_H__INCLUDED__
-diff --git a/lib/engine/mdadm_config.h b/lib/engine/mdadm_config.h
-index c94020f..e415b4f 100644
---- a/lib/engine/mdadm_config.h
-+++ b/lib/engine/mdadm_config.h
-@@ -11,9 +11,7 @@ Redistribution and use in source and binary forms, with or without modification,
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __MDADM_CONFIG_H__INCLUDED__
- #define __MDADM_CONFIG_H__INCLUDED__
-diff --git a/lib/engine/multimedia_device.h b/lib/engine/multimedia_device.h
-index 533370e..694e2a5 100644
---- a/lib/engine/multimedia_device.h
-+++ b/lib/engine/multimedia_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __MULTIMEDIA_DEVICE_H__INCLUDED__
- #define __MULTIMEDIA_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/nondisk_device.h b/lib/engine/nondisk_device.h
-index 70ebb32..0f00e52 100644
---- a/lib/engine/nondisk_device.h
-+++ b/lib/engine/nondisk_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __CHARACTER_DEVICE_H__INCLUDED__
- #define __CHARACTER_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/object.h b/lib/engine/object.h
-index b52d3d3..345d58c 100644
---- a/lib/engine/object.h
-+++ b/lib/engine/object.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __OBJECT_H__INCLUDED__
- #define __OBJECT_H__INCLUDED__
-diff --git a/lib/engine/pci_header.h b/lib/engine/pci_header.h
-index 376f296..c5129a0 100644
---- a/lib/engine/pci_header.h
-+++ b/lib/engine/pci_header.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __PCI_HEADER_H__INCLUDED__
- #define __PCI_HEADER_H__INCLUDED__
-diff --git a/lib/engine/phy.h b/lib/engine/phy.h
-index f5730a0..c59f7c8 100644
---- a/lib/engine/phy.h
-+++ b/lib/engine/phy.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __PHY_H__INCLUDED__
- #define __PHY_H__INCLUDED__
-diff --git a/lib/engine/port.h b/lib/engine/port.h
-index 2f33876..cc48c7c 100644
---- a/lib/engine/port.h
-+++ b/lib/engine/port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3,4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __PORT_H__INCLUDED__
- #define __PORT_H__INCLUDED__
-diff --git a/lib/engine/raid_device.h b/lib/engine/raid_device.h
-index 998e80c..2174162 100644
---- a/lib/engine/raid_device.h
-+++ b/lib/engine/raid_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __RAID_DEVICE_H__INCLUDED__
- #define __RAID_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/raid_info.h b/lib/engine/raid_info.h
-index 174698a..302be9b 100644
---- a/lib/engine/raid_info.h
-+++ b/lib/engine/raid_info.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __RAID_INFO_H__INCLUDED__
- #define __RAID_INFO_H__INCLUDED__
-diff --git a/lib/engine/remote_port.h b/lib/engine/remote_port.h
-index c086656..4ddfee3 100644
---- a/lib/engine/remote_port.h
-+++ b/lib/engine/remote_port.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __REMOTE_PORT_H__INCLUDED__
- #define __REMOTE_PORT_H__INCLUDED__
-diff --git a/lib/engine/routing_device.h b/lib/engine/routing_device.h
-index 5f857a6..284621e 100644
---- a/lib/engine/routing_device.h
-+++ b/lib/engine/routing_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ROUTING_DEVICE_H__INCLUDED__
- #define __ROUTING_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/session.h b/lib/engine/session.h
-index a901d1c..3200da1 100644
---- a/lib/engine/session.h
-+++ b/lib/engine/session.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __SESSION_H__INCLUDED__
- #define __SESSION_H__INCLUDED__
-diff --git a/lib/engine/session_manager.h b/lib/engine/session_manager.h
-index 7177064..87e16c3 100644
---- a/lib/engine/session_manager.h
-+++ b/lib/engine/session_manager.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __SESSION_MANAGER_H__INCLUDED__
- #define __SESSION_MANAGER_H__INCLUDED__
-diff --git a/lib/engine/storage_device.h b/lib/engine/storage_device.h
-index ddeb66f..20bdab2 100644
---- a/lib/engine/storage_device.h
-+++ b/lib/engine/storage_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __STORAGE_DEVICE_H__INCLUDED__
- #define __STORAGE_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/stream_device.h b/lib/engine/stream_device.h
-index 9bc111a..b29bd68 100644
---- a/lib/engine/stream_device.h
-+++ b/lib/engine/stream_device.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __STREAM_DEVICE_H__INCLUDED__
- #define __STREAM_DEVICE_H__INCLUDED__
-diff --git a/lib/engine/string.h b/lib/engine/string.h
-index 3007dc7..6f348c9 100644
---- a/lib/engine/string.h
-+++ b/lib/engine/string.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __STRING_H__INCLUDED__
- #define __STRING_H__INCLUDED__
-diff --git a/lib/engine/unique_id_manager.h b/lib/engine/unique_id_manager.h
-index fe79eac..4a13627 100644
---- a/lib/engine/unique_id_manager.h
-+++ b/lib/engine/unique_id_manager.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __UNIQUE_ID_MANAGER_H__INCLUDED__
- #define __UNIQUE_ID_MANAGER_H__INCLUDED__
-diff --git a/lib/engine/utils.h b/lib/engine/utils.h
-index 86c20cf..5525303 100644
---- a/lib/engine/utils.h
-+++ b/lib/engine/utils.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __UTILS_H__INCLUDED__
- #define __UTILS_H__INCLUDED__
-diff --git a/lib/engine/volume.h b/lib/engine/volume.h
-index 9a63cbf..3347b31 100644
---- a/lib/engine/volume.h
-+++ b/lib/engine/volume.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- // Forward declarations
- class Array;
-diff --git a/lib/log/log.h b/lib/log/log.h
-index c0bd63e..8b5f171 100644
---- a/lib/log/log.h
-+++ b/lib/log/log.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __LOG_H__INCLUDED__
- #define __LOG_H__INCLUDED__
-diff --git a/lib/mpb/machine_bytes.h b/lib/mpb/machine_bytes.h
-index 7fbb0e9..800b120 100644
---- a/lib/mpb/machine_bytes.h
-+++ b/lib/mpb/machine_bytes.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __ENDIAN_H__INCLUDED__
- #define __ENDIAN_H__INCLUDED__
-diff --git a/lib/mpb/mpb.h b/lib/mpb/mpb.h
-index 01782af..c42cdfb 100644
---- a/lib/mpb/mpb.h
-+++ b/lib/mpb/mpb.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __MPB_H__INCLUDED__
- #define __MPB_H__INCLUDED__
-diff --git a/lib/orom/orom.h b/lib/orom/orom.h
-index f76e3ee..e10311d 100644
---- a/lib/orom/orom.h
-+++ b/lib/orom/orom.h
-@@ -15,9 +15,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-
-
-
--#if __GNUC_PREREQ(3, 4)
- #pragma once
--#endif /* __GNUC_PREREQ */
-
- #ifndef __OROM_H__INCLUDED__
- #define __OROM_H__INCLUDED__
---
-2.13.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch
new file mode 100644
index 000000000..8fdbf3e60
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch
@@ -0,0 +1,57 @@
+From 874da836bc857e5942675c59e19f4fd8ad09b13e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 14:08:19 -0700
+Subject: [PATCH 1/4] log: Avoid shadowing functions from std lib
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/log/log.c | 2 +-
+ lib/log/log.h | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/lib/log/log.c b/lib/log/log.c
+index 7d8e17c..18b67a5 100644
+--- a/lib/log/log.c
++++ b/lib/log/log.c
+@@ -82,7 +82,7 @@ enum log_level log_get_level(void) {
+ }
+
+ /* */
+-void __log(enum log_level level, const char *message) {
++void _ssiap_log(enum log_level level, const char *message) {
+ struct tm tm;
+ struct timeval tv;
+
+diff --git a/lib/log/log.h b/lib/log/log.h
+index d94e482..66a707b 100644
+--- a/lib/log/log.h
++++ b/lib/log/log.h
+@@ -53,13 +53,13 @@ enum log_level {
+ };
+
+ /* */
+-#define log(__level, __message) \
++#define ssiap_log(__level, __message) \
+ do { if (log_get_level() >= (enum log_level)(__level)) \
+- __log(__level, __message); \
++ _ssiap_log(__level, __message); \
+ } while (0)
+
+ #define dlog(__message) \
+- log(LOG_DEBUG, __message);
++ ssiap_log(LOG_DEBUG, __message);
+
+ /* */
+ void log_init(enum log_level level, const char *path);
+@@ -68,7 +68,7 @@ void log_init(enum log_level level, const char *path);
+ void log_fini(void);
+
+ /* */
+-void __log(enum log_level level, const char *message);
++void _ssiap_log(enum log_level level, const char *message);
+
+ /* */
+ enum log_level log_get_level(void);
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch
deleted file mode 100644
index 27df9b5de..000000000
--- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0001-ssieventmonitor-ordered-comparison-between-pointers-.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From ea9ecf4bf305f9509d5822b3823658a40162f43c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 25 Jul 2017 19:08:21 -0700
-Subject: [PATCH] ssieventmonitor: ordered comparison between pointers and
- zero, actually with NULL
-
-Comparing which is large or small between a pointer and NULL
-however, looks completely illogical. Ordered comparison of
-two valid pointers is legit, but no pointer will be smaller
-than NULL , so comparing if a pointer is larger than NULL
-simply means if the pointer is not NULL.
-
-Fixes errors found with clang e.g.
-
-| ssieventmonitor.cpp:339:53: error: ordered comparison between pointer and zero ('char *' and 'int')
-| if (fgets(nextline, sizeof(nextline) - 1, mdstat) < 0) {
-| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tools/ssieventmonitor.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
-index f04b8f0..7a00122 100644
---- a/tools/ssieventmonitor.cpp
-+++ b/tools/ssieventmonitor.cpp
-@@ -336,7 +336,7 @@ static int _read_mdstat(int fd)
- if (!strncmp(line, "md", 2)) {
- if (strstr(line, INACTIVE_STR)) { /* possibly container */
- char nextline[1024];
-- if (fgets(nextline, sizeof(nextline) - 1, mdstat) < 0) {
-+ if (fgets(nextline, sizeof(nextline) - 1, mdstat) != (char *) NULL) {
- fclose(mdstat);
- return 1;
- }
---
-2.13.3
-
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch
deleted file mode 100644
index 351301cdc..000000000
--- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Convert-macros-into-functions.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 1338ee4e69c465f8f381ec3bfe5058080236edba Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 22:08:35 -0700
-Subject: [PATCH 2/6] Convert macros into functions
-
-This helps in fixing the security format warnings
-add -fno-builtin-log
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/engine/Makefile.am | 3 ++-
- lib/log/Makefile.am | 2 ++
- lib/log/log.h | 34 +++++++++++++++++++++-------------
- src/Makefile.am | 3 ++-
- 4 files changed, 27 insertions(+), 15 deletions(-)
-
-Index: ssiapi.1.0.1/lib/engine/Makefile.am
-===================================================================
---- ssiapi.1.0.1.orig/lib/engine/Makefile.am
-+++ ssiapi.1.0.1/lib/engine/Makefile.am
-@@ -113,4 +113,5 @@ libengine_la_SOURCES = \
- libengine_la_CPPFLAGS = \
- -I$(top_srcdir) \
- -I$(top_srcdir)/include \
-- -I$(top_srcdir)/lib
-+ -I$(top_srcdir)/lib \
-+ -fno-builtin-log
-Index: ssiapi.1.0.1/lib/log/Makefile.am
-===================================================================
---- ssiapi.1.0.1.orig/lib/log/Makefile.am
-+++ ssiapi.1.0.1/lib/log/Makefile.am
-@@ -5,3 +5,5 @@ noinst_LTLIBRARIES = liblog.la
- liblog_la_SOURCES = \
- log.c \
- log.h
-+
-+liblog_la_CPPFLAGS = -fno-builtin-log
-Index: ssiapi.1.0.1/lib/log/log.h
-===================================================================
---- ssiapi.1.0.1.orig/lib/log/log.h
-+++ ssiapi.1.0.1/lib/log/log.h
-@@ -23,7 +23,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIG
- #if defined(__cplusplus)
- extern "C" {
- #endif /* __cplusplus */
--
-+#include <stdarg.h>
- /* */
- enum log_level {
- LOG_FIRST = 0,
-@@ -37,26 +37,34 @@ enum log_level {
- };
-
- /* */
--#define log(__level, __format, ...) \
-- do { if (log_get_level() >= (enum log_level)(__level)) \
-- __log(__level, __format, ## __VA_ARGS__); \
-- } while (0)
--
--#define dlog(__format, ...) \
-- log(LOG_DEBUG, __format, ## __VA_ARGS__);
-+void __log(enum log_level level, const char *format, ...)
-+ __attribute__((format(printf, 2, 3)));
-
- /* */
--void log_init(enum log_level level, const char *path);
-+enum log_level log_get_level(void);
-
- /* */
--void log_fini(void);
--
-+static inline void log(enum log_level __level, const char* __format, ...) {
-+ va_list ap;
-+ va_start(ap, __format);
-+ do {
-+ if (log_get_level() >= (enum log_level)(__level))
-+ __log(__level, __format, ap);
-+ } while (0);
-+ va_end(ap);
-+}
-+
-+static inline void dlog(const char* __format, ...) {
-+ va_list ap;
-+ va_start(ap, __format);
-+ log(LOG_DEBUG, __format, ap);
-+ va_end(ap);
-+}
- /* */
--void __log(enum log_level level, const char *format, ...)
-- __attribute__((format(printf, 2, 3)));
-+void log_init(enum log_level level, const char *path);
-
- /* */
--enum log_level log_get_level(void);
-+void log_fini(void);
-
- /* */
- void log_set_level(enum log_level level);
-Index: ssiapi.1.0.1/src/Makefile.am
-===================================================================
---- ssiapi.1.0.1.orig/src/Makefile.am
-+++ ssiapi.1.0.1/src/Makefile.am
-@@ -7,7 +7,8 @@ lib_LTLIBRARIES = libssi.la
- libssi_la_CPPFLAGS = \
- -I$(top_srcdir) \
- -I$(top_srcdir)/include \
-- -I$(top_srcdir)/lib
-+ -I$(top_srcdir)/lib \
-+ -fno-builtin-log
-
- libssi_la_LDFLAGS = \
- $(SGUTILS_LDFLAGS) \
-Index: ssiapi.1.0.1/lib/efi/Makefile.am
-===================================================================
---- ssiapi.1.0.1.orig/lib/efi/Makefile.am
-+++ ssiapi.1.0.1/lib/efi/Makefile.am
-@@ -5,3 +5,4 @@ noinst_LTLIBRARIES = libefi.la
- libefi_la_SOURCES = \
- efi.cpp \
- efi.h
-+libefi_la_CPPFLAGS = -fno-builtin-log
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch
new file mode 100644
index 000000000..acc718d23
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch
@@ -0,0 +1,54 @@
+From 01a75b23382fd042673d1f00fce708ba6c67d05a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Aug 2019 13:12:54 -0700
+Subject: [PATCH] Use stangard int types
+
+__unitn_* are internal to GNU libc lets use portable types
+
+Fixes
+error: unknown type name '__uint8_t'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/engine/end_device.cpp | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/lib/engine/end_device.cpp b/lib/engine/end_device.cpp
+index 5a66de9..da078bf 100644
+--- a/lib/engine/end_device.cpp
++++ b/lib/engine/end_device.cpp
+@@ -36,6 +36,7 @@
+ #include <sys/ioctl.h>
+ #include <fcntl.h>
+ #include <linux/hdreg.h>
++#include <stdint.h>
+ #include <unistd.h>
+ #include <linux/fs.h>
+ #include <climits>
+@@ -90,20 +91,20 @@ using boost::shared_ptr;
+
+ struct AtaCommand
+ {
+- __uint8_t command;
+- __uint8_t obsolete1;
+- __uint8_t obsolete2;
+- __uint8_t transportDependent;
++ uint8_t command;
++ uint8_t obsolete1;
++ uint8_t obsolete2;
++ uint8_t transportDependent;
+ };
+
+ struct AtaIdentifyCall
+ {
+ AtaCommand command;
+- __uint16_t data[256];
++ uint16_t data[256];
+ };
+
+ namespace {
+- __uint16_t swap(__uint16_t value)
++ uint16_t swap(uint16_t value)
+ {
+ return (value >> 8) | (value << 8);
+ }
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch
new file mode 100644
index 000000000..2eeab54e5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch
@@ -0,0 +1,1409 @@
+From ef90544f8df369781a6ef094330c9cfa9f0ee1e4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 14:09:11 -0700
+Subject: [PATCH 2/4] boost: Backport clang support
+
+backport headers from boost 1.59
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/boost/config/compiler/clang.hpp | 272 +++++++++
+ lib/boost/config/stdlib/libcpp.hpp | 80 +++
+ lib/boost/cstdint.hpp | 542 ++++++++++++++++++
+ .../detail/sp_counted_base_clang.hpp | 140 +++++
+ 4 files changed, 1034 insertions(+)
+ create mode 100644 lib/boost/config/compiler/clang.hpp
+ create mode 100644 lib/boost/config/stdlib/libcpp.hpp
+ create mode 100644 lib/boost/cstdint.hpp
+ create mode 100644 lib/boost/smart_ptr/detail/sp_counted_base_clang.hpp
+
+--- /dev/null
++++ b/lib/boost/config/compiler/clang.hpp
+@@ -0,0 +1,272 @@
++
++// (C) Copyright Douglas Gregor 2010
++//
++// Use, modification and distribution are subject to the
++// Boost Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
++
++// See http://www.boost.org for most recent version.
++
++// Clang compiler setup.
++
++#define BOOST_HAS_PRAGMA_ONCE
++
++// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
++#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
++# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
++#endif
++
++// When compiling with clang before __has_extension was defined,
++// even if one writes 'defined(__has_extension) && __has_extension(xxx)',
++// clang reports a compiler error. So the only workaround found is:
++
++#ifndef __has_extension
++#define __has_extension __has_feature
++#endif
++
++#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
++# define BOOST_NO_EXCEPTIONS
++#endif
++
++#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
++# define BOOST_NO_RTTI
++#endif
++
++#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
++# define BOOST_NO_TYPEID
++#endif
++
++#if defined(__int64) && !defined(__GNUC__)
++# define BOOST_HAS_MS_INT64
++#endif
++
++#define BOOST_HAS_NRVO
++
++// Branch prediction hints
++#if defined(__has_builtin)
++#if __has_builtin(__builtin_expect)
++#define BOOST_LIKELY(x) __builtin_expect(x, 1)
++#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
++#endif
++#endif
++
++// Clang supports "long long" in all compilation modes.
++#define BOOST_HAS_LONG_LONG
++
++//
++// We disable this if the compiler is really nvcc as it
++// doesn't actually support __int128 as of CUDA_VERSION=5000
++// even though it defines __SIZEOF_INT128__.
++// See https://svn.boost.org/trac/boost/ticket/10418
++// Only re-enable this for nvcc if you're absolutely sure
++// of the circumstances under which it's supported:
++//
++#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__)
++# define BOOST_HAS_INT128
++#endif
++
++
++//
++// Dynamic shared object (DSO) and dynamic-link library (DLL) support
++//
++#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
++# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
++# define BOOST_SYMBOL_IMPORT
++# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
++#endif
++
++//
++// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
++// between switch labels.
++//
++#if __cplusplus >= 201103L && defined(__has_warning)
++# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
++# define BOOST_FALLTHROUGH [[clang::fallthrough]]
++# endif
++#endif
++
++#if !__has_feature(cxx_auto_type)
++# define BOOST_NO_CXX11_AUTO_DECLARATIONS
++# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
++#endif
++
++//
++// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t
++//
++#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
++# define BOOST_NO_CXX11_CHAR16_T
++# define BOOST_NO_CXX11_CHAR32_T
++#endif
++
++#if !__has_feature(cxx_constexpr)
++# define BOOST_NO_CXX11_CONSTEXPR
++#endif
++
++#if !__has_feature(cxx_decltype)
++# define BOOST_NO_CXX11_DECLTYPE
++#endif
++
++#if !__has_feature(cxx_decltype_incomplete_return_types)
++# define BOOST_NO_CXX11_DECLTYPE_N3276
++#endif
++
++#if !__has_feature(cxx_defaulted_functions)
++# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
++#endif
++
++#if !__has_feature(cxx_deleted_functions)
++# define BOOST_NO_CXX11_DELETED_FUNCTIONS
++#endif
++
++#if !__has_feature(cxx_explicit_conversions)
++# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
++#endif
++
++#if !__has_feature(cxx_default_function_template_args)
++# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
++#endif
++
++#if !__has_feature(cxx_generalized_initializers)
++# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
++#endif
++
++#if !__has_feature(cxx_lambdas)
++# define BOOST_NO_CXX11_LAMBDAS
++#endif
++
++#if !__has_feature(cxx_local_type_template_args)
++# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
++#endif
++
++#if !__has_feature(cxx_noexcept)
++# define BOOST_NO_CXX11_NOEXCEPT
++#endif
++
++#if !__has_feature(cxx_nullptr)
++# define BOOST_NO_CXX11_NULLPTR
++#endif
++
++#if !__has_feature(cxx_range_for)
++# define BOOST_NO_CXX11_RANGE_BASED_FOR
++#endif
++
++#if !__has_feature(cxx_raw_string_literals)
++# define BOOST_NO_CXX11_RAW_LITERALS
++#endif
++
++#if !__has_feature(cxx_reference_qualified_functions)
++# define BOOST_NO_CXX11_REF_QUALIFIERS
++#endif
++
++#if !__has_feature(cxx_generalized_initializers)
++# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
++#endif
++
++#if !__has_feature(cxx_rvalue_references)
++# define BOOST_NO_CXX11_RVALUE_REFERENCES
++#endif
++
++#if !__has_feature(cxx_strong_enums)
++# define BOOST_NO_CXX11_SCOPED_ENUMS
++#endif
++
++#if !__has_feature(cxx_static_assert)
++# define BOOST_NO_CXX11_STATIC_ASSERT
++#endif
++
++#if !__has_feature(cxx_alias_templates)
++# define BOOST_NO_CXX11_TEMPLATE_ALIASES
++#endif
++
++#if !__has_feature(cxx_unicode_literals)
++# define BOOST_NO_CXX11_UNICODE_LITERALS
++#endif
++
++#if !__has_feature(cxx_variadic_templates)
++# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
++#endif
++
++#if !__has_feature(cxx_user_literals)
++# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
++#endif
++
++#if !__has_feature(cxx_alignas)
++# define BOOST_NO_CXX11_ALIGNAS
++#endif
++
++#if !__has_feature(cxx_trailing_return)
++# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
++#endif
++
++#if !__has_feature(cxx_inline_namespaces)
++# define BOOST_NO_CXX11_INLINE_NAMESPACES
++#endif
++
++#if !__has_feature(cxx_override_control)
++# define BOOST_NO_CXX11_FINAL
++#endif
++
++#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))
++# define BOOST_NO_CXX14_BINARY_LITERALS
++#endif
++
++#if !__has_feature(__cxx_decltype_auto__)
++# define BOOST_NO_CXX14_DECLTYPE_AUTO
++#endif
++
++#if !__has_feature(__cxx_aggregate_nsdmi__)
++# define BOOST_NO_CXX14_AGGREGATE_NSDMI
++#endif
++
++#if !__has_feature(__cxx_init_captures__)
++# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
++#endif
++
++#if !__has_feature(__cxx_generic_lambdas__)
++# define BOOST_NO_CXX14_GENERIC_LAMBDAS
++#endif
++
++// clang < 3.5 has a defect with dependent type, like following.
++//
++// template <class T>
++// constexpr typename enable_if<pred<T> >::type foo(T &)
++// { } // error: no return statement in constexpr function
++//
++// This issue also affects C++11 mode, but C++11 constexpr requires return stmt.
++// Therefore we don't care such case.
++//
++// Note that we can't check Clang version directly as the numbering system changes depending who's
++// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)
++// so instead verify that we have a feature that was introduced at the same time as working C++14
++// constexpr (generic lambda's in this case):
++//
++#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)
++# define BOOST_NO_CXX14_CONSTEXPR
++#endif
++
++#if !__has_feature(__cxx_return_type_deduction__)
++# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
++#endif
++
++#if !__has_feature(__cxx_variable_templates__)
++# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
++#endif
++
++#if __cplusplus < 201400
++// All versions with __cplusplus above this value seem to support this:
++# define BOOST_NO_CXX14_DIGIT_SEPARATORS
++#endif
++
++
++// Unused attribute:
++#if defined(__GNUC__) && (__GNUC__ >= 4)
++# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
++#endif
++
++#ifndef BOOST_COMPILER
++# define BOOST_COMPILER "Clang version " __clang_version__
++#endif
++
++// Macro used to identify the Clang compiler.
++#define BOOST_CLANG 1
++
+--- /dev/null
++++ b/lib/boost/config/stdlib/libcpp.hpp
+@@ -0,0 +1,80 @@
++// (C) Copyright Christopher Jefferson 2011.
++// Use, modification and distribution are subject to the
++// Boost Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
++
++// See http://www.boost.org for most recent version.
++
++// config for libc++
++// Might need more in here later.
++
++#if !defined(_LIBCPP_VERSION)
++# include <ciso646>
++# if !defined(_LIBCPP_VERSION)
++# error "This is not libc++!"
++# endif
++#endif
++
++#define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION)
++
++#define BOOST_HAS_THREADS
++
++#ifdef _LIBCPP_HAS_NO_VARIADICS
++# define BOOST_NO_CXX11_HDR_TUPLE
++#endif
++
++// BOOST_NO_CXX11_ALLOCATOR should imply no support for the C++11
++// allocator model. The C++11 allocator model requires a conforming
++// std::allocator_traits which is only possible with C++11 template
++// aliases since members rebind_alloc and rebind_traits require it.
++#if defined(_LIBCPP_HAS_NO_TEMPLATE_ALIASES)
++# define BOOST_NO_CXX11_ALLOCATOR
++#endif
++
++#if __cplusplus < 201103
++# define BOOST_NO_CXX11_HDR_ARRAY
++# define BOOST_NO_CXX11_HDR_CODECVT
++# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
++# define BOOST_NO_CXX11_HDR_FORWARD_LIST
++# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
++# define BOOST_NO_CXX11_HDR_MUTEX
++# define BOOST_NO_CXX11_HDR_RANDOM
++# define BOOST_NO_CXX11_HDR_RATIO
++# define BOOST_NO_CXX11_HDR_REGEX
++# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
++# define BOOST_NO_CXX11_HDR_THREAD
++# define BOOST_NO_CXX11_HDR_TUPLE
++# define BOOST_NO_CXX11_HDR_TYPEINDEX
++# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
++# define BOOST_NO_CXX11_HDR_UNORDERED_SET
++# define BOOST_NO_CXX11_NUMERIC_LIMITS
++# define BOOST_NO_CXX11_ALLOCATOR
++# define BOOST_NO_CXX11_SMART_PTR
++# define BOOST_NO_CXX11_HDR_FUNCTIONAL
++# define BOOST_NO_CXX11_STD_ALIGN
++# define BOOST_NO_CXX11_ADDRESSOF
++#endif
++
++//
++// These appear to be unusable/incomplete so far:
++//
++# define BOOST_NO_CXX11_HDR_CHRONO
++# define BOOST_NO_CXX11_HDR_FUTURE
++# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
++# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
++# define BOOST_NO_CXX11_HDR_ATOMIC
++
++// libc++ uses a non-standard messages_base
++#define BOOST_NO_STD_MESSAGES
++
++#if defined(__has_include)
++#if !__has_include(<shared_mutex>)
++# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
++#elif __cplusplus <= 201103
++# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
++#endif
++#elif __cplusplus < 201402
++# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
++#endif
++
++// --- end ---
+--- /dev/null
++++ b/lib/boost/cstdint.hpp
+@@ -0,0 +1,542 @@
++// boost cstdint.hpp header file ------------------------------------------//
++
++// (C) Copyright Beman Dawes 1999.
++// (C) Copyright Jens Mauer 2001
++// (C) Copyright John Maddock 2001
++// Distributed under the Boost
++// Software License, Version 1.0. (See accompanying file
++// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
++
++// See http://www.boost.org/libs/integer for documentation.
++
++// Revision History
++// 31 Oct 01 use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.)
++// 16 Apr 01 check LONGLONG_MAX when looking for "long long" (Jens Maurer)
++// 23 Jan 01 prefer "long" over "int" for int32_t and intmax_t (Jens Maurer)
++// 12 Nov 00 Merged <boost/stdint.h> (Jens Maurer)
++// 23 Sep 00 Added INTXX_C macro support (John Maddock).
++// 22 Sep 00 Better 64-bit support (John Maddock)
++// 29 Jun 00 Reimplement to avoid including stdint.h within namespace boost
++// 8 Aug 99 Initial version (Beman Dawes)
++
++
++#ifndef BOOST_CSTDINT_HPP
++#define BOOST_CSTDINT_HPP
++
++//
++// Since we always define the INT#_C macros as per C++0x,
++// define __STDC_CONSTANT_MACROS so that <stdint.h> does the right
++// thing if possible, and so that the user knows that the macros
++// are actually defined as per C99.
++//
++#ifndef __STDC_CONSTANT_MACROS
++# define __STDC_CONSTANT_MACROS
++#endif
++
++#include <boost/config.hpp>
++
++//
++// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not
++// depending upon what headers happen to have been included first...
++// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG.
++// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990
++//
++#if defined(BOOST_HAS_STDINT_H) \
++ && (!defined(__GLIBC__) \
++ || defined(__GLIBC_HAVE_LONG_LONG) \
++ || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17)))))
++
++// The following #include is an implementation artifact; not part of interface.
++# ifdef __hpux
++// HP-UX has a vaguely nice <stdint.h> in a non-standard location
++# include <inttypes.h>
++# ifdef __STDC_32_MODE__
++ // this is triggered with GCC, because it defines __cplusplus < 199707L
++# define BOOST_NO_INT64_T
++# endif
++# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX)
++# include <inttypes.h>
++# else
++# include <stdint.h>
++
++// There is a bug in Cygwin two _C macros
++# if defined(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__)
++# undef INTMAX_C
++# undef UINTMAX_C
++# define INTMAX_C(c) c##LL
++# define UINTMAX_C(c) c##ULL
++# endif
++
++# endif
++
++#ifdef __QNX__
++
++// QNX (Dinkumware stdlib) defines these as non-standard names.
++// Reflect to the standard names.
++
++typedef ::intleast8_t int_least8_t;
++typedef ::intfast8_t int_fast8_t;
++typedef ::uintleast8_t uint_least8_t;
++typedef ::uintfast8_t uint_fast8_t;
++
++typedef ::intleast16_t int_least16_t;
++typedef ::intfast16_t int_fast16_t;
++typedef ::uintleast16_t uint_least16_t;
++typedef ::uintfast16_t uint_fast16_t;
++
++typedef ::intleast32_t int_least32_t;
++typedef ::intfast32_t int_fast32_t;
++typedef ::uintleast32_t uint_least32_t;
++typedef ::uintfast32_t uint_fast32_t;
++
++# ifndef BOOST_NO_INT64_T
++
++typedef ::intleast64_t int_least64_t;
++typedef ::intfast64_t int_fast64_t;
++typedef ::uintleast64_t uint_least64_t;
++typedef ::uintfast64_t uint_fast64_t;
++
++# endif
++
++#endif
++
++namespace boost
++{
++
++ using ::int8_t;
++ using ::int_least8_t;
++ using ::int_fast8_t;
++ using ::uint8_t;
++ using ::uint_least8_t;
++ using ::uint_fast8_t;
++
++ using ::int16_t;
++ using ::int_least16_t;
++ using ::int_fast16_t;
++ using ::uint16_t;
++ using ::uint_least16_t;
++ using ::uint_fast16_t;
++
++ using ::int32_t;
++ using ::int_least32_t;
++ using ::int_fast32_t;
++ using ::uint32_t;
++ using ::uint_least32_t;
++ using ::uint_fast32_t;
++
++# ifndef BOOST_NO_INT64_T
++
++ using ::int64_t;
++ using ::int_least64_t;
++ using ::int_fast64_t;
++ using ::uint64_t;
++ using ::uint_least64_t;
++ using ::uint_fast64_t;
++
++# endif
++
++ using ::intmax_t;
++ using ::uintmax_t;
++
++} // namespace boost
++
++#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__)
++// FreeBSD and Tru64 have an <inttypes.h> that contains much of what we need.
++# include <inttypes.h>
++
++namespace boost {
++
++ using ::int8_t;
++ typedef int8_t int_least8_t;
++ typedef int8_t int_fast8_t;
++ using ::uint8_t;
++ typedef uint8_t uint_least8_t;
++ typedef uint8_t uint_fast8_t;
++
++ using ::int16_t;
++ typedef int16_t int_least16_t;
++ typedef int16_t int_fast16_t;
++ using ::uint16_t;
++ typedef uint16_t uint_least16_t;
++ typedef uint16_t uint_fast16_t;
++
++ using ::int32_t;
++ typedef int32_t int_least32_t;
++ typedef int32_t int_fast32_t;
++ using ::uint32_t;
++ typedef uint32_t uint_least32_t;
++ typedef uint32_t uint_fast32_t;
++
++# ifndef BOOST_NO_INT64_T
++
++ using ::int64_t;
++ typedef int64_t int_least64_t;
++ typedef int64_t int_fast64_t;
++ using ::uint64_t;
++ typedef uint64_t uint_least64_t;
++ typedef uint64_t uint_fast64_t;
++
++ typedef int64_t intmax_t;
++ typedef uint64_t uintmax_t;
++
++# else
++
++ typedef int32_t intmax_t;
++ typedef uint32_t uintmax_t;
++
++# endif
++
++} // namespace boost
++
++#else // BOOST_HAS_STDINT_H
++
++# include <boost/limits.hpp> // implementation artifact; not part of interface
++# include <limits.h> // needed for limits macros
++
++
++namespace boost
++{
++
++// These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit
++// platforms. For other systems, they will have to be hand tailored.
++//
++// Because the fast types are assumed to be the same as the undecorated types,
++// it may be possible to hand tailor a more efficient implementation. Such
++// an optimization may be illusionary; on the Intel x86-family 386 on, for
++// example, byte arithmetic and load/stores are as fast as "int" sized ones.
++
++// 8-bit types ------------------------------------------------------------//
++
++# if UCHAR_MAX == 0xff
++ typedef signed char int8_t;
++ typedef signed char int_least8_t;
++ typedef signed char int_fast8_t;
++ typedef unsigned char uint8_t;
++ typedef unsigned char uint_least8_t;
++ typedef unsigned char uint_fast8_t;
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++
++// 16-bit types -----------------------------------------------------------//
++
++# if USHRT_MAX == 0xffff
++# if defined(__crayx1)
++ // The Cray X1 has a 16-bit short, however it is not recommend
++ // for use in performance critical code.
++ typedef short int16_t;
++ typedef short int_least16_t;
++ typedef int int_fast16_t;
++ typedef unsigned short uint16_t;
++ typedef unsigned short uint_least16_t;
++ typedef unsigned int uint_fast16_t;
++# else
++ typedef short int16_t;
++ typedef short int_least16_t;
++ typedef short int_fast16_t;
++ typedef unsigned short uint16_t;
++ typedef unsigned short uint_least16_t;
++ typedef unsigned short uint_fast16_t;
++# endif
++# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__)
++ // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified
++ // MTA / XMT does support the following non-standard integer types
++ typedef __short16 int16_t;
++ typedef __short16 int_least16_t;
++ typedef __short16 int_fast16_t;
++ typedef unsigned __short16 uint16_t;
++ typedef unsigned __short16 uint_least16_t;
++ typedef unsigned __short16 uint_fast16_t;
++# elif (USHRT_MAX == 0xffffffff) && defined(CRAY)
++ // no 16-bit types on Cray:
++ typedef short int_least16_t;
++ typedef short int_fast16_t;
++ typedef unsigned short uint_least16_t;
++ typedef unsigned short uint_fast16_t;
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++
++// 32-bit types -----------------------------------------------------------//
++
++# if UINT_MAX == 0xffffffff
++ typedef int int32_t;
++ typedef int int_least32_t;
++ typedef int int_fast32_t;
++ typedef unsigned int uint32_t;
++ typedef unsigned int uint_least32_t;
++ typedef unsigned int uint_fast32_t;
++# elif (USHRT_MAX == 0xffffffff)
++ typedef short int32_t;
++ typedef short int_least32_t;
++ typedef short int_fast32_t;
++ typedef unsigned short uint32_t;
++ typedef unsigned short uint_least32_t;
++ typedef unsigned short uint_fast32_t;
++# elif ULONG_MAX == 0xffffffff
++ typedef long int32_t;
++ typedef long int_least32_t;
++ typedef long int_fast32_t;
++ typedef unsigned long uint32_t;
++ typedef unsigned long uint_least32_t;
++ typedef unsigned long uint_fast32_t;
++# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__)
++ // Integers are 64 bits on the MTA / XMT
++ typedef __int32 int32_t;
++ typedef __int32 int_least32_t;
++ typedef __int32 int_fast32_t;
++ typedef unsigned __int32 uint32_t;
++ typedef unsigned __int32 uint_least32_t;
++ typedef unsigned __int32 uint_fast32_t;
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++
++// 64-bit types + intmax_t and uintmax_t ----------------------------------//
++
++# if defined(BOOST_HAS_LONG_LONG) && \
++ !defined(BOOST_MSVC) && !defined(__BORLANDC__) && \
++ (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \
++ (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
++# if defined(__hpux)
++ // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
++# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL)
++ // 2**64 - 1
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++
++ typedef ::boost::long_long_type intmax_t;
++ typedef ::boost::ulong_long_type uintmax_t;
++ typedef ::boost::long_long_type int64_t;
++ typedef ::boost::long_long_type int_least64_t;
++ typedef ::boost::long_long_type int_fast64_t;
++ typedef ::boost::ulong_long_type uint64_t;
++ typedef ::boost::ulong_long_type uint_least64_t;
++ typedef ::boost::ulong_long_type uint_fast64_t;
++
++# elif ULONG_MAX != 0xffffffff
++
++# if ULONG_MAX == 18446744073709551615 // 2**64 - 1
++ typedef long intmax_t;
++ typedef unsigned long uintmax_t;
++ typedef long int64_t;
++ typedef long int_least64_t;
++ typedef long int_fast64_t;
++ typedef unsigned long uint64_t;
++ typedef unsigned long uint_least64_t;
++ typedef unsigned long uint_fast64_t;
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG)
++ __extension__ typedef long long intmax_t;
++ __extension__ typedef unsigned long long uintmax_t;
++ __extension__ typedef long long int64_t;
++ __extension__ typedef long long int_least64_t;
++ __extension__ typedef long long int_fast64_t;
++ __extension__ typedef unsigned long long uint64_t;
++ __extension__ typedef unsigned long long uint_least64_t;
++ __extension__ typedef unsigned long long uint_fast64_t;
++# elif defined(BOOST_HAS_MS_INT64)
++ //
++ // we have Borland/Intel/Microsoft __int64:
++ //
++ typedef __int64 intmax_t;
++ typedef unsigned __int64 uintmax_t;
++ typedef __int64 int64_t;
++ typedef __int64 int_least64_t;
++ typedef __int64 int_fast64_t;
++ typedef unsigned __int64 uint64_t;
++ typedef unsigned __int64 uint_least64_t;
++ typedef unsigned __int64 uint_fast64_t;
++# else // assume no 64-bit integers
++# define BOOST_NO_INT64_T
++ typedef int32_t intmax_t;
++ typedef uint32_t uintmax_t;
++# endif
++
++} // namespace boost
++
++
++#endif // BOOST_HAS_STDINT_H
++
++// intptr_t/uintptr_t are defined separately because they are optional and not universally available
++#if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H)
++// Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h
++#include <stddef.h>
++#endif
++
++// PGI seems to not support intptr_t/uintptr_t properly. BOOST_HAS_STDINT_H is not defined for this compiler by Boost.Config.
++#if !defined(__PGIC__)
++
++#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \
++ || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \
++ || defined(__CYGWIN__) \
++ || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
++ || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(sun)
++
++namespace boost {
++ using ::intptr_t;
++ using ::uintptr_t;
++}
++#define BOOST_HAS_INTPTR_T
++
++// Clang pretends to be GCC, so it'll match this condition
++#elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)
++
++namespace boost {
++ typedef __INTPTR_TYPE__ intptr_t;
++ typedef __UINTPTR_TYPE__ uintptr_t;
++}
++#define BOOST_HAS_INTPTR_T
++
++#endif
++
++#endif // !defined(__PGIC__)
++
++#endif // BOOST_CSTDINT_HPP
++
++
++/****************************************************
++
++Macro definition section:
++
++Added 23rd September 2000 (John Maddock).
++Modified 11th September 2001 to be excluded when
++BOOST_HAS_STDINT_H is defined (John Maddock).
++Modified 11th Dec 2009 to always define the
++INT#_C macros if they're not already defined (John Maddock).
++
++******************************************************/
++
++#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \
++ (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))
++//
++// For the following code we get several warnings along the lines of:
++//
++// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant
++//
++// So we declare this a system header to suppress these warnings.
++//
++#if defined(__GNUC__) && (__GNUC__ >= 4)
++#pragma GCC system_header
++#endif
++
++#include <limits.h>
++# define BOOST__STDC_CONSTANT_MACROS_DEFINED
++# if defined(BOOST_HAS_MS_INT64)
++//
++// Borland/Intel/Microsoft compilers have width specific suffixes:
++//
++#ifndef INT8_C
++# define INT8_C(value) value##i8
++#endif
++#ifndef INT16_C
++# define INT16_C(value) value##i16
++#endif
++#ifndef INT32_C
++# define INT32_C(value) value##i32
++#endif
++#ifndef INT64_C
++# define INT64_C(value) value##i64
++#endif
++# ifdef __BORLANDC__
++ // Borland bug: appending ui8 makes the type a signed char
++# define UINT8_C(value) static_cast<unsigned char>(value##u)
++# else
++# define UINT8_C(value) value##ui8
++# endif
++#ifndef UINT16_C
++# define UINT16_C(value) value##ui16
++#endif
++#ifndef UINT32_C
++# define UINT32_C(value) value##ui32
++#endif
++#ifndef UINT64_C
++# define UINT64_C(value) value##ui64
++#endif
++#ifndef INTMAX_C
++# define INTMAX_C(value) value##i64
++# define UINTMAX_C(value) value##ui64
++#endif
++
++# else
++// do it the old fashioned way:
++
++// 8-bit types ------------------------------------------------------------//
++
++# if (UCHAR_MAX == 0xff) && !defined(INT8_C)
++# define INT8_C(value) static_cast<boost::int8_t>(value)
++# define UINT8_C(value) static_cast<boost::uint8_t>(value##u)
++# endif
++
++// 16-bit types -----------------------------------------------------------//
++
++# if (USHRT_MAX == 0xffff) && !defined(INT16_C)
++# define INT16_C(value) static_cast<boost::int16_t>(value)
++# define UINT16_C(value) static_cast<boost::uint16_t>(value##u)
++# endif
++
++// 32-bit types -----------------------------------------------------------//
++#ifndef INT32_C
++# if (UINT_MAX == 0xffffffff)
++# define INT32_C(value) value
++# define UINT32_C(value) value##u
++# elif ULONG_MAX == 0xffffffff
++# define INT32_C(value) value##L
++# define UINT32_C(value) value##uL
++# endif
++#endif
++
++// 64-bit types + intmax_t and uintmax_t ----------------------------------//
++#ifndef INT64_C
++# if defined(BOOST_HAS_LONG_LONG) && \
++ (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX))
++
++# if defined(__hpux)
++ // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
++# define INT64_C(value) value##LL
++# define UINT64_C(value) value##uLL
++# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \
++ (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \
++ (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \
++ (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \
++ (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL)
++
++# define INT64_C(value) value##LL
++# define UINT64_C(value) value##uLL
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++# elif ULONG_MAX != 0xffffffff
++
++# if ULONG_MAX == 18446744073709551615U // 2**64 - 1
++# define INT64_C(value) value##L
++# define UINT64_C(value) value##uL
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++# elif defined(BOOST_HAS_LONG_LONG)
++ // Usual macros not defined, work things out for ourselves:
++# if(~0uLL == 18446744073709551615ULL)
++# define INT64_C(value) value##LL
++# define UINT64_C(value) value##uLL
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++# else
++# error defaults not correct; you must hand modify boost/cstdint.hpp
++# endif
++
++# ifdef BOOST_NO_INT64_T
++# define INTMAX_C(value) INT32_C(value)
++# define UINTMAX_C(value) UINT32_C(value)
++# else
++# define INTMAX_C(value) INT64_C(value)
++# define UINTMAX_C(value) UINT64_C(value)
++# endif
++#endif
++# endif // Borland/Microsoft specific width suffixes
++
++#endif // INT#_C macros.
+--- /dev/null
++++ b/lib/boost/smart_ptr/detail/sp_counted_base_clang.hpp
+@@ -0,0 +1,140 @@
++#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CLANG_HPP_INCLUDED
++#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CLANG_HPP_INCLUDED
++
++// MS compatible compilers support #pragma once
++
++#if defined(_MSC_VER) && (_MSC_VER >= 1020)
++# pragma once
++#endif
++
++// detail/sp_counted_base_clang.hpp - __c11 clang intrinsics
++//
++// Copyright (c) 2007, 2013, 2015 Peter Dimov
++//
++// Distributed under the Boost Software License, Version 1.0.
++// See accompanying file LICENSE_1_0.txt or copy at
++// http://www.boost.org/LICENSE_1_0.txt
++
++#include <boost/detail/sp_typeinfo.hpp>
++#include <boost/cstdint.hpp>
++
++namespace boost
++{
++
++namespace detail
++{
++
++typedef _Atomic( boost::int_least32_t ) atomic_int_least32_t;
++
++inline void atomic_increment( atomic_int_least32_t * pw )
++{
++ __c11_atomic_fetch_add( pw, 1, __ATOMIC_RELAXED );
++}
++
++inline boost::int_least32_t atomic_decrement( atomic_int_least32_t * pw )
++{
++ return __c11_atomic_fetch_sub( pw, 1, __ATOMIC_ACQ_REL );
++}
++
++inline boost::int_least32_t atomic_conditional_increment( atomic_int_least32_t * pw )
++{
++ // long r = *pw;
++ // if( r != 0 ) ++*pw;
++ // return r;
++
++ boost::int_least32_t r = __c11_atomic_load( pw, __ATOMIC_RELAXED );
++
++ for( ;; )
++ {
++ if( r == 0 )
++ {
++ return r;
++ }
++
++ if( __c11_atomic_compare_exchange_weak( pw, &r, r + 1, __ATOMIC_RELAXED, __ATOMIC_RELAXED ) )
++ {
++ return r;
++ }
++ }
++}
++
++class sp_counted_base
++{
++private:
++
++ sp_counted_base( sp_counted_base const & );
++ sp_counted_base & operator= ( sp_counted_base const & );
++
++ atomic_int_least32_t use_count_; // #shared
++ atomic_int_least32_t weak_count_; // #weak + (#shared != 0)
++
++public:
++
++ sp_counted_base()
++ {
++ __c11_atomic_init( &use_count_, 1 );
++ __c11_atomic_init( &weak_count_, 1 );
++ }
++
++ virtual ~sp_counted_base() // nothrow
++ {
++ }
++
++ // dispose() is called when use_count_ drops to zero, to release
++ // the resources managed by *this.
++
++ virtual void dispose() = 0; // nothrow
++
++ // destroy() is called when weak_count_ drops to zero.
++
++ virtual void destroy() // nothrow
++ {
++ delete this;
++ }
++
++ virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
++ virtual void * get_untyped_deleter() = 0;
++
++ void add_ref_copy()
++ {
++ atomic_increment( &use_count_ );
++ }
++
++ bool add_ref_lock() // true on success
++ {
++ return atomic_conditional_increment( &use_count_ ) != 0;
++ }
++
++ void release() // nothrow
++ {
++ if( atomic_decrement( &use_count_ ) == 1 )
++ {
++ dispose();
++ weak_release();
++ }
++ }
++
++ void weak_add_ref() // nothrow
++ {
++ atomic_increment( &weak_count_ );
++ }
++
++ void weak_release() // nothrow
++ {
++ if( atomic_decrement( &weak_count_ ) == 1 )
++ {
++ destroy();
++ }
++ }
++
++ long use_count() const // nothrow
++ {
++ return __c11_atomic_load( const_cast< atomic_int_least32_t* >( &use_count_ ), __ATOMIC_ACQUIRE );
++ }
++};
++
++} // namespace detail
++
++} // namespace boost
++
++#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CLANG_HPP_INCLUDED
+--- /dev/null
++++ b/lib/boost/smart_ptr/detail/sp_counted_base_sync.hpp
+@@ -0,0 +1,156 @@
++#ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
++#define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
++
++// MS compatible compilers support #pragma once
++
++#if defined(_MSC_VER) && (_MSC_VER >= 1020)
++# pragma once
++#endif
++
++// detail/sp_counted_base_sync.hpp - g++ 4.1+ __sync intrinsics
++//
++// Copyright (c) 2007 Peter Dimov
++//
++// Distributed under the Boost Software License, Version 1.0.
++// See accompanying file LICENSE_1_0.txt or copy at
++// http://www.boost.org/LICENSE_1_0.txt
++
++#include <boost/detail/sp_typeinfo.hpp>
++#include <limits.h>
++
++#if defined( __ia64__ ) && defined( __INTEL_COMPILER )
++# include <ia64intrin.h>
++#endif
++
++namespace boost
++{
++
++namespace detail
++{
++
++#if INT_MAX >= 2147483647
++
++typedef int sp_int32_t;
++
++#else
++
++typedef long sp_int32_t;
++
++#endif
++
++inline void atomic_increment( sp_int32_t * pw )
++{
++ __sync_fetch_and_add( pw, 1 );
++}
++
++inline sp_int32_t atomic_decrement( sp_int32_t * pw )
++{
++ return __sync_fetch_and_add( pw, -1 );
++}
++
++inline sp_int32_t atomic_conditional_increment( sp_int32_t * pw )
++{
++ // long r = *pw;
++ // if( r != 0 ) ++*pw;
++ // return r;
++
++ sp_int32_t r = *pw;
++
++ for( ;; )
++ {
++ if( r == 0 )
++ {
++ return r;
++ }
++
++ sp_int32_t r2 = __sync_val_compare_and_swap( pw, r, r + 1 );
++
++ if( r2 == r )
++ {
++ return r;
++ }
++ else
++ {
++ r = r2;
++ }
++ }
++}
++
++class sp_counted_base
++{
++private:
++
++ sp_counted_base( sp_counted_base const & );
++ sp_counted_base & operator= ( sp_counted_base const & );
++
++ sp_int32_t use_count_; // #shared
++ sp_int32_t weak_count_; // #weak + (#shared != 0)
++
++public:
++
++ sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
++ {
++ }
++
++ virtual ~sp_counted_base() // nothrow
++ {
++ }
++
++ // dispose() is called when use_count_ drops to zero, to release
++ // the resources managed by *this.
++
++ virtual void dispose() = 0; // nothrow
++
++ // destroy() is called when weak_count_ drops to zero.
++
++ virtual void destroy() // nothrow
++ {
++ delete this;
++ }
++
++ virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
++ virtual void * get_untyped_deleter() = 0;
++
++ void add_ref_copy()
++ {
++ atomic_increment( &use_count_ );
++ }
++
++ bool add_ref_lock() // true on success
++ {
++ return atomic_conditional_increment( &use_count_ ) != 0;
++ }
++
++ void release() // nothrow
++ {
++ if( atomic_decrement( &use_count_ ) == 1 )
++ {
++ dispose();
++ weak_release();
++ }
++ }
++
++ void weak_add_ref() // nothrow
++ {
++ atomic_increment( &weak_count_ );
++ }
++
++ void weak_release() // nothrow
++ {
++ if( atomic_decrement( &weak_count_ ) == 1 )
++ {
++ destroy();
++ }
++ }
++
++ long use_count() const // nothrow
++ {
++ return const_cast< sp_int32_t const volatile & >( use_count_ );
++ }
++};
++
++} // namespace detail
++
++} // namespace boost
++
++#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_SYNC_HPP_INCLUDED
+--- /dev/null
++++ b/lib/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp
+@@ -0,0 +1,182 @@
++#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
++#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
++
++// MS compatible compilers support #pragma once
++
++#if defined(_MSC_VER) && (_MSC_VER >= 1020)
++# pragma once
++#endif
++
++//
++// detail/sp_counted_base_gcc_mips.hpp - g++ on MIPS
++//
++// Copyright (c) 2009, Spirent Communications, Inc.
++//
++// Distributed under the Boost Software License, Version 1.0. (See
++// accompanying file LICENSE_1_0.txt or copy at
++// http://www.boost.org/LICENSE_1_0.txt)
++//
++//
++// Lock-free algorithm by Alexander Terekhov
++//
++
++#include <boost/detail/sp_typeinfo.hpp>
++
++namespace boost
++{
++
++namespace detail
++{
++
++inline void atomic_increment( int * pw )
++{
++ // ++*pw;
++
++ int tmp;
++
++ __asm__ __volatile__
++ (
++ "0:\n\t"
++ ".set push\n\t"
++ ".set mips2\n\t"
++ "ll %0, %1\n\t"
++ "addiu %0, 1\n\t"
++ "sc %0, %1\n\t"
++ ".set pop\n\t"
++ "beqz %0, 0b":
++ "=&r"( tmp ), "=m"( *pw ):
++ "m"( *pw )
++ );
++}
++
++inline int atomic_decrement( int * pw )
++{
++ // return --*pw;
++
++ int rv, tmp;
++
++ __asm__ __volatile__
++ (
++ "0:\n\t"
++ ".set push\n\t"
++ ".set mips2\n\t"
++ "ll %1, %2\n\t"
++ "addiu %0, %1, -1\n\t"
++ "sc %0, %2\n\t"
++ ".set pop\n\t"
++ "beqz %0, 0b\n\t"
++ "addiu %0, %1, -1":
++ "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):
++ "m"( *pw ):
++ "memory"
++ );
++
++ return rv;
++}
++
++inline int atomic_conditional_increment( int * pw )
++{
++ // if( *pw != 0 ) ++*pw;
++ // return *pw;
++
++ int rv, tmp;
++
++ __asm__ __volatile__
++ (
++ "0:\n\t"
++ ".set push\n\t"
++ ".set mips2\n\t"
++ "ll %0, %2\n\t"
++ "beqz %0, 1f\n\t"
++ "addiu %1, %0, 1\n\t"
++ "sc %1, %2\n\t"
++ ".set pop\n\t"
++ "beqz %1, 0b\n\t"
++ "addiu %0, %0, 1\n\t"
++ "1:":
++ "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ):
++ "m"( *pw ):
++ "memory"
++ );
++
++ return rv;
++}
++
++class sp_counted_base
++{
++private:
++
++ sp_counted_base( sp_counted_base const & );
++ sp_counted_base & operator= ( sp_counted_base const & );
++
++ int use_count_; // #shared
++ int weak_count_; // #weak + (#shared != 0)
++
++public:
++
++ sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
++ {
++ }
++
++ virtual ~sp_counted_base() // nothrow
++ {
++ }
++
++ // dispose() is called when use_count_ drops to zero, to release
++ // the resources managed by *this.
++
++ virtual void dispose() = 0; // nothrow
++
++ // destroy() is called when weak_count_ drops to zero.
++
++ virtual void destroy() // nothrow
++ {
++ delete this;
++ }
++
++ virtual void * get_deleter( sp_typeinfo const & ti ) = 0;
++ virtual void * get_untyped_deleter() = 0;
++
++ void add_ref_copy()
++ {
++ atomic_increment( &use_count_ );
++ }
++
++ bool add_ref_lock() // true on success
++ {
++ return atomic_conditional_increment( &use_count_ ) != 0;
++ }
++
++ void release() // nothrow
++ {
++ if( atomic_decrement( &use_count_ ) == 0 )
++ {
++ dispose();
++ weak_release();
++ }
++ }
++
++ void weak_add_ref() // nothrow
++ {
++ atomic_increment( &weak_count_ );
++ }
++
++ void weak_release() // nothrow
++ {
++ if( atomic_decrement( &weak_count_ ) == 0 )
++ {
++ destroy();
++ }
++ }
++
++ long use_count() const // nothrow
++ {
++ return static_cast<int const volatile &>( use_count_ );
++ }
++};
++
++} // namespace detail
++
++} // namespace boost
++
++#endif // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_MIPS_HPP_INCLUDED
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch
deleted file mode 100644
index 98cd40c84..000000000
--- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-Replace-canonicalize_file_name-with-realpath-API.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 781288d6307002cce70ddafb6efb200b7f60294d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 22:12:43 -0700
-Subject: [PATCH 3/6] Replace canonicalize_file_name with realpath() API
-
-Fixed build on musl where canonicalize_file_name is not implemented
-
-filesystem.cpp:46:15: error: 'canonicalize_file_name' was not declared in this scope
- char *p = canonicalize_file_name(path);
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/engine/filesystem.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/engine/filesystem.cpp b/lib/engine/filesystem.cpp
-index b99257e..6064837 100644
---- a/lib/engine/filesystem.cpp
-+++ b/lib/engine/filesystem.cpp
-@@ -43,7 +43,7 @@ void CanonicalPath::__canonicalize_path_name(const char *path)
- if (path == 0) {
- throw E_NULL_POINTER;
- }
-- char *p = canonicalize_file_name(path);
-+ char *p = realpath(path, NULL);
- assign(p);
- if (p) {
- free(p);
---
-2.13.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch
new file mode 100644
index 000000000..261358459
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch
@@ -0,0 +1,47 @@
+From 24e0f55c07080a59907c190a315e279f7b2355e5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 14:25:02 -0700
+Subject: [PATCH 3/4] engine: Define discover(const String &path) in base class
+
+this fixes the confusion that compiler may have when inheriting two
+different classes where each of them defines discover() virtual function
+but with different signatures
+
+Remove ununsed orom_vmd
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/engine/storage_object.h | 3 +++
+ lib/engine/vmd_raid_info.h | 2 --
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/lib/engine/storage_object.h b/lib/engine/storage_object.h
+index f1feb62..9c1d3d8 100644
+--- a/lib/engine/storage_object.h
++++ b/lib/engine/storage_object.h
+@@ -123,6 +123,9 @@ public:
+ virtual void discover() {
+ throw E_INVALID_OPERATION;
+ }
++ virtual void discover(const String &path) {
++ throw E_INVALID_OPERATION;
++ }
+ virtual void addToSession(const boost::shared_ptr<Session>& pSession) = 0;
+ };
+
+diff --git a/lib/engine/vmd_raid_info.h b/lib/engine/vmd_raid_info.h
+index 2bea839..cc6ffbe 100644
+--- a/lib/engine/vmd_raid_info.h
++++ b/lib/engine/vmd_raid_info.h
+@@ -53,8 +53,6 @@ public:
+ return SSI_ControllerTypeVMD;
+ }
+
+-private:
+- struct orom_info orom_vmd;
+ };
+
+ #endif /* __VMD_RAID_INFO_H__INCLUDED__ */
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch
new file mode 100644
index 000000000..848d38b22
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch
@@ -0,0 +1,43 @@
+From c817db76bb63b872fe2069e3c2449ac18affe8c1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Aug 2019 13:17:38 -0700
+Subject: [PATCH] replace canonicalize_file_name with realpath
+
+Use 'realpath()' (BSD, POSIX) instead of
+'canonicalize_file_name()' (GNU extension).
+
+Fixes
+error: use of undeclared identifier 'canonicalize_file_name'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/engine/filesystem.cpp | 2 +-
+ tools/ssieventmonitor.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/engine/filesystem.cpp b/lib/engine/filesystem.cpp
+index bf5a776..194ab8a 100644
+--- a/lib/engine/filesystem.cpp
++++ b/lib/engine/filesystem.cpp
+@@ -54,7 +54,7 @@ void CanonicalPath::__canonicalize_path_name(const char *path)
+ if (path == NULL) {
+ throw E_NULL_POINTER;
+ }
+- char *p = canonicalize_file_name(path);
++ char *p = realpath(path, (char *)0);
+ assign(p);
+ if (p) {
+ free(p);
+diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
+index 80791fd..3eed877 100644
+--- a/tools/ssieventmonitor.cpp
++++ b/tools/ssieventmonitor.cpp
+@@ -120,7 +120,7 @@ static int _exec_ssimsg(void)
+ int status;
+ switch (pid) {
+ case 0: {
+- cp = canonicalize_file_name("/proc/self/exe");
++ cp = realpath("/proc/self/exe", (char *)0);
+ if (cp) {
+ strcpy_s(buffer, sizeof(buffer), cp);
+ free(cp);
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch
new file mode 100644
index 000000000..ca2ffc56b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch
@@ -0,0 +1,33 @@
+From 98fad8128d0f3b65619827ee5d65f7767b080c4c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 14:35:16 -0700
+Subject: [PATCH 4/4] Do not override flags coming from build environment
+
+e.g. we need some optimization level turned on when security flags are enabled
+without this change, the build would fail
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 34e41ea..9bd0fe3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -16,9 +16,9 @@ AM_INIT_AUTOMAKE(ssi, ${VERSION})
+ AM_CONFIG_HEADER(config.h)
+
+ dnl Set the language we use
+-CPPFLAGS="-g3 -gdwarf-2 -Wall -Werror -fvisibility=hidden -D_GNU_SOURCE -O3 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
+-CFLAGS="-std=gnu99 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
+-CXXFLAGS="-std=gnu++98 -fvisibility-inlines-hidden -O3 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
++#CPPFLAGS="-g3 -gdwarf-2 -Wall -Werror -fvisibility=hidden -D_GNU_SOURCE -O3 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
++#CFLAGS="-std=gnu99 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
++#CXXFLAGS="-std=gnu++98 -fvisibility-inlines-hidden -O3 -fstack-protector -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -fPIC"
+
+ dnl Automake 1.11 - silent build rules
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch
deleted file mode 100644
index 7dce0da40..000000000
--- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-engine-Fix-indentation-and-missing-semi-colon.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 04e8b99d8195a0e39982ecd27802421610633724 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 22:18:31 -0700
-Subject: [PATCH 4/6] engine: Fix indentation and missing semi-colon
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/engine/mdadm_config.cpp | 5 +++--
- lib/engine/unique_id_manager.cpp | 2 +-
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/lib/engine/mdadm_config.cpp b/lib/engine/mdadm_config.cpp
-index 1914ddc..e40c2c7 100644
---- a/lib/engine/mdadm_config.cpp
-+++ b/lib/engine/mdadm_config.cpp
-@@ -118,9 +118,10 @@ void check_configuration()
- attr >> config;
- configOk = correct_config(config);
- } catch (Exception ex) {
-- if (ex != E_NOT_FOUND)
-+ if (ex != E_NOT_FOUND) {
- dlog("Warning: mdadm config file cannot be read, new one will be written");
- backup = false;
-+ }
- }
-
- if (configOk && monitor_running()) {
-@@ -134,7 +135,7 @@ void check_configuration()
- dlog("Warning: failed to update mdadm.conf");
- }
- if (restart_monitor() == 0)
-- dlog("Monitor restarted successfully")
-+ dlog("Monitor restarted successfully");
- else
- dlog("Error starting Monitor");
- }
-diff --git a/lib/engine/unique_id_manager.cpp b/lib/engine/unique_id_manager.cpp
-index 99c153c..87d6ddc 100644
---- a/lib/engine/unique_id_manager.cpp
-+++ b/lib/engine/unique_id_manager.cpp
-@@ -185,7 +185,7 @@ void UniqueIdManager::refresh()
- keyFile >> keyList;
- keyList += "\n";
- } catch (...) {
-- dlog("ssi.keys file missing")
-+ dlog("ssi.keys file missing");
- /* no file? that's ok */
- }
- /* process the list to update IdCaches */
---
-2.13.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch
new file mode 100644
index 000000000..d63eb5061
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch
@@ -0,0 +1,25 @@
+From e90101128dfe75b9b1a0575a0179d211f677e6ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Aug 2019 13:19:50 -0700
+Subject: [PATCH] include limits.h
+
+Fixes
+error: use of undeclared identifier 'PATH_MAX'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/ssieventmonitor.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
+index 3eed877..0d11975 100644
+--- a/tools/ssieventmonitor.cpp
++++ b/tools/ssieventmonitor.cpp
+@@ -34,6 +34,7 @@
+ #include <unistd.h>
+ #include <dirent.h>
+ #include <errno.h>
++#include <limits.h>
+ #include <sys/fcntl.h>
+ #include <sys/select.h>
+ #include <sys/wait.h>
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch
new file mode 100644
index 000000000..c516f6525
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch
@@ -0,0 +1,228 @@
+From 3ec4eaf1688e413e8b5cb433148a3bc6e7987606 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Aug 2019 15:10:03 -0700
+Subject: [PATCH] enable out of source tree builds
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/efi/Makefile.am | 2 +-
+ lib/engine/Makefile.am | 2 +-
+ lib/orom/Makefile.am | 2 +-
+ lib/safeclib/Makefile.am | 2 +-
+ src/Makefile.am | 16 ++++++++--------
+ tools/Makefile.am | 10 +++++-----
+ ut/Makefile.am | 36 ++++++++++++++++++------------------
+ 7 files changed, 35 insertions(+), 35 deletions(-)
+
+--- a/lib/efi/Makefile.am
++++ b/lib/efi/Makefile.am
+@@ -7,6 +7,6 @@ libefi_la_SOURCES = \
+ efi.h
+
+ libefi_la_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib
+--- a/lib/engine/Makefile.am
++++ b/lib/engine/Makefile.am
+@@ -123,6 +123,7 @@ libengine_la_SOURCES = \
+ volume.h
+
+ libengine_la_CPPFLAGS = \
++ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib
+--- a/lib/orom/Makefile.am
++++ b/lib/orom/Makefile.am
+@@ -7,6 +7,6 @@ liborom_la_SOURCES = \
+ orom.h
+
+ liborom_la_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib
+--- a/lib/safeclib/Makefile.am
++++ b/lib/safeclib/Makefile.am
+@@ -37,7 +37,7 @@ libsafec_la_SOURCES = \
+ strtok_s.c
+
+ libsafec_la_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
+ -Wno-unused-variable
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = nostdinc
+ lib_LTLIBRARIES = libssi.la
+
+ libssi_la_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib \
+ -DBOOST_NO_USER_CONFIG
+@@ -46,10 +46,10 @@ libssi_la_SOURCES =
+ templates.h \
+ volume.cpp
+
+-libssi_la_LIBADD = \
+- ../lib/efi/libefi.la \
+- ../lib/log/liblog.la \
+- ../lib/orom/liborom.la \
+- ../lib/mpb/libmpb.la \
+- ../lib/engine/libengine.la \
+- ../lib/safeclib/libsafec.la
++libssi_la_LIBADD = \
++ $(top_builddir)/lib/efi/libefi.la \
++ $(top_builddir)/lib/log/liblog.la \
++ $(top_builddir)/lib/orom/liborom.la \
++ $(top_builddir)/lib/mpb/libmpb.la \
++ $(top_builddir)/lib/engine/libengine.la \
++ $(top_builddir)/lib/safeclib/libsafec.la
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -6,17 +6,18 @@ ssimsg_SOURCES =
+ ssimsg.cpp
+
+ ssimsg_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib
+
+-ssieventmonitor_SOURCES = \
++ssieventmonitor_SOURCES = \
+ ssieventmonitor.cpp
+
+-ssieventmonitor_CPPFLAGS = \
++ssieventmonitor_CPPFLAGS = \
++ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/lib
+
+ ssieventmonitor_LDADD = \
+- $(top_srcdir)/lib/safeclib/libsafec.la
++ $(top_builddir)/lib/safeclib/libsafec.la
+--- a/ut/Makefile.am
++++ b/ut/Makefile.am
+@@ -8,81 +8,81 @@ ut_events_SOURCES = \
+ ut_events.cpp
+
+ ut_events_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_events_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_volume_SOURCES = \
+ ut_volume.cpp
+
+ ut_volume_CPPFLAGS = \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_volume_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_session_SOURCES = \
+ ut_session.cpp
+
+ ut_session_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_session_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_info_SOURCES = \
+ ut_info.cpp
+
+ ut_info_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_info_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_markasspare_SOURCES = \
+ ut_markasspare.cpp
+
+ ut_markasspare_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_markasspare_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_migration_SOURCES = \
+ ut_migration.cpp
+
+ ut_migration_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_migration_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_phy_SOURCES = \
+ ut_phy.cpp
+
+ ut_phy_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_phy_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_initialize_volume_SOURCES = \
+ ut_initialize_volume.cpp
+
+ ut_initialize_volume_CPPFLAGS = \
+- -g3 -I$(top_srcdir) \
++ -g3 -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_initialize_volume_LDADD = \
+- ../src/libssi.la
++ $(top_builddir)/src/libssi.la
+
+ ut_filesystem_SOURCES = \
+ ut_filesystem.cpp \
+@@ -92,7 +92,7 @@ ut_filesystem_SOURCES = \
+
+ ut_filesystem_CPPFLAGS = \
+ -iquote $(top_srcdir)/lib/engine \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
+ ut_string_SOURCES = \
+@@ -103,6 +103,6 @@ ut_string_SOURCES = \
+
+ ut_string_CPPFLAGS = \
+ -iquote $(top_srcdir)/lib/engine \
+- -I$(top_srcdir) \
++ -I$(top_builddir) \
+ -I$(top_srcdir)/include
+
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch
deleted file mode 100644
index 6f4dbf18e..000000000
--- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0005-engine-Define-SENTINEL.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From a2e3a2e332c406ea3c56a8d74b61978107df68e6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 22:23:08 -0700
-Subject: [PATCH 5/6] engine: Define SENTINEL
-
-Fix warnings with gcc7
-test.cpp:12: warning: missing sentinel in function call
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/engine/utils.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/engine/utils.cpp b/lib/engine/utils.cpp
-index 44579a1..8812a8c 100644
---- a/lib/engine/utils.cpp
-+++ b/lib/engine/utils.cpp
-@@ -35,7 +35,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- #include "filesystem.h"
- #include "utils.h"
- #include "log/log.h"
--
-+#define SENTINEL (const char *)0
- /**
- * @brief capture shell output as binary data
- *
-@@ -139,7 +139,7 @@ int shell(const String &s)
- * Before switching into new executable close all non standard
- * file handlers.*/
- close_parent_fds();
-- execl("/bin/sh", "sh", "-c", cmd.get(), NULL);
-+ execl("/bin/sh", "sh", "-c", cmd.get(), SENTINEL);
- /* If we're here then execl failed*/
- exit(-1);
- break;
---
-2.13.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch
deleted file mode 100644
index a7b70e3f4..000000000
--- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/0006-tools-Add-missing-includes-and-use-realpath-instead-.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From df1d56d6b6a6b15d0137619eb8a4b623de6c9633 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 16 Jun 2017 22:28:59 -0700
-Subject: [PATCH 6/6] tools: Add missing includes and use realpath() instead of
- canonicalize_file_name
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tools/ssieventmonitor.cpp | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/tools/ssieventmonitor.cpp b/tools/ssieventmonitor.cpp
-index 0553386..f04b8f0 100644
---- a/tools/ssieventmonitor.cpp
-+++ b/tools/ssieventmonitor.cpp
-@@ -18,7 +18,9 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- #include <unistd.h>
- #include <dirent.h>
- #include <errno.h>
--#include <sys/fcntl.h>
-+#include <limits.h>
-+#include <fcntl.h>
-+#include <libgen.h>
- #include <sys/select.h>
- #include <sys/wait.h>
- #include <sys/inotify.h>
-@@ -99,7 +101,7 @@ static int _exec_ssimsg(void)
- int status;
- switch (pid) {
- case 0: {
-- cp = canonicalize_file_name("/proc/self/exe");
-+ cp = realpath("/proc/self/exe", NULL);
- if (cp) {
- strcpy(buffer, cp);
- free(cp);
---
-2.13.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch
deleted file mode 100644
index d45be590c..000000000
--- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi/configure-cflags.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Do not override flags thereby respect the flags coming from environment,
-e.g. we need some optimization level turned on when security flags are enabled
-without this change, the build would fail
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: ssiapi.1.0.1/configure.ac
-===================================================================
---- ssiapi.1.0.1.orig/configure.ac
-+++ ssiapi.1.0.1/configure.ac
-@@ -15,11 +15,6 @@ AC_SUBST(VERSION)
- AM_INIT_AUTOMAKE(ssi, ${VERSION})
- AM_CONFIG_HEADER(config.h)
-
--dnl Set the language we use
--CPPFLAGS="-g3 -gdwarf-2 -Wall -Werror -D_GNU_SOURCE"
--CFLAGS="-std=gnu99"
--CXXFLAGS="-std=gnu++98"
--
- dnl Automake 1.11 - silent build rules
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb
deleted file mode 100644
index 5eb4696b5..000000000
--- a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.0.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Intel RSTe with Linux OS SSI API Library"
-
-DESCRIPTION = "Intel Rapid Storage Technology enterprise with Linux OS* Standard Storage Interface API Library. \
-The library allows user to manage storage devices including creating and managing Raid arrays on systems with Intel chipset."
-
-HOMEPAGE = "http://irstessi.sourceforge.net/"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0413ff365e0bd733c4869a6797551c6f"
-
-DEPENDS += "sg3-utils"
-
-SRC_URI = "http://sourceforge.net/projects/irstessi/files/${BPN}.${PV}.tgz \
- file://0001-Use-pragma-once-unconditionally.patch \
- file://0002-Convert-macros-into-functions.patch \
- file://0003-Replace-canonicalize_file_name-with-realpath-API.patch \
- file://0004-engine-Fix-indentation-and-missing-semi-colon.patch \
- file://0005-engine-Define-SENTINEL.patch \
- file://0006-tools-Add-missing-includes-and-use-realpath-instead-.patch \
- file://configure-cflags.patch \
- file://0001-ssieventmonitor-ordered-comparison-between-pointers-.patch \
- "
-SRC_URI[md5sum] = "02f16d7cbd30d28034093212906591f5"
-SRC_URI[sha256sum] = "e10d283b0f211afb8ebd0bde87c097769613d30a052cdf164753e35e803264c7"
-
-S ="${WORKDIR}/${BPN}.${PV}"
-
-inherit autotools-brokensep
-CXXFLAGS="-std=gnu++98 -D_GNU_SOURCE"
-
-do_configure_prepend(){
- ./autogen.sh
-}
-
-RDEPENDS_${PN} += "mdadm"
diff --git a/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb
new file mode 100644
index 000000000..eb086817e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Intel RSTe with Linux OS SSI API Library"
+
+DESCRIPTION = "Intel Rapid Storage Technology enterprise with Linux OS* Standard Storage Interface API Library. \
+The library allows user to manage storage devices including creating and managing Raid arrays on systems with Intel chipset."
+
+HOMEPAGE = "http://irstessi.sourceforge.net/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9d701a2fbb56039fd64afb2262008ddb"
+
+DEPENDS += "sg3-utils"
+
+SRC_URI = "http://sourceforge.net/projects/irstessi/files/${BPN}.${PV}.tgz \
+ file://0001-log-Avoid-shadowing-functions-from-std-lib.patch \
+ file://0002-boost-Backport-clang-support.patch \
+ file://0003-engine-Define-discover-const-String-path-in-base-cla.patch \
+ file://0004-Do-not-override-flags-coming-from-build-environment.patch \
+ file://0005-enable-out-of-source-tree-builds.patch \
+ file://0001-Don-t-use-__GNUC_PREREQ.patch \
+ file://0002-Use-stangard-int-types.patch \
+ file://0003-replace-canonicalize_file_name-with-realpath.patch \
+ file://0004-include-limits.h.patch \
+ file://0001-Include-libgen.h.patch \
+ "
+SRC_URI[md5sum] = "d06c9b426437a7697d77266e9835b520"
+SRC_URI[sha256sum] = "59daab29363d6e9f07c524029c4239653cfbbee6b0e57fd75df62499728dad8a"
+
+S ="${WORKDIR}/${BPN}.${PV}"
+
+inherit autotools
+
+do_configure_prepend(){
+ ${S}/autogen.sh
+}
+
+RDEPENDS_${PN} += "mdadm"
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 c183f05e0..b00cb91ee 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
@@ -86,6 +86,7 @@ do_install_append() {
install -d ${D}${systemd_unitdir}/system/
install -m 0644 ${S}/contrib/systemd/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service
+ install -m 0644 ${S}/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
install -m 0644 ${S}/contrib/systemd/${BPN}@default ${D}${sysconfdir}/default/${BPN}@default
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default
@@ -117,6 +118,7 @@ RPROVIDES_${PN}-dbg += "${PN}-libs-dbg"
FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*"
FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la"
FILES_${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a"
+FILES_${PN} += "${systemd_unitdir}/system/*.service"
INSANE_SKIP_${PN}-libs = "dev-so"
RDEPENDS_${PN} += "${PN}-libs"
diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-fix-compile-failed-with-libc-musl.patch b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-fix-compile-failed-with-libc-musl.patch
deleted file mode 100644
index 28b44da56..000000000
--- a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/0001-fix-compile-failed-with-libc-musl.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From fcbcf9c494cca166106ae4cb03c1dd135ee4f25c Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 1 Aug 2018 09:34:00 +0800
-Subject: [PATCH] fix compile failed with libc musl
-
-There is a failure while compiling with libc musl:
-[snip]
-|./block-cache/io_engine.h:18:17: error: expected
-unqualified-id before numeric constant
-| unsigned const PAGE_SIZE = 4096;
-[snip]
-
-The musl defeines macro PAGE_SIZE, undef it conditionally
-could fix the issue.
-
-http://musl.openwall.narkive.com/tO8vrHdP/why-musl-define-page-size
-
-Upstream-Status: Submitted [git://github.com/jthornber/thin-provisioning-tools]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- block-cache/io_engine.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/block-cache/io_engine.h b/block-cache/io_engine.h
-index 1704251..e36b932 100644
---- a/block-cache/io_engine.h
-+++ b/block-cache/io_engine.h
-@@ -12,6 +12,10 @@
-
- //----------------------------------------------------------------
-
-+// Musl defines
-+#ifdef PAGE_SIZE
-+#undef PAGE_SIZE
-+#endif
- namespace bcache {
- using sector_t = uint64_t;
-
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch
index 8cb16decb..de934c19a 100644
--- a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch
+++ b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch
@@ -1,5 +1,7 @@
-
-thin-provisioning-tools: use sh on path when invoking txt2man
+From 38397b42e2c3450c2aee20e6fb92f362db4e35ef Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 2 Jul 2019 13:20:39 +0800
+Subject: [PATCH] thin-provisioning-tools: use sh on path when invoking txt2man
txt2man contains a test which might try to use ksh to run the script, so we
avoid running /bin/sh.
@@ -8,14 +10,25 @@ Upstream-Status: Inappropriate [oe specific]
Signed-off-by: joe.slater <joe.slater@windriver.com>
+Rebase to 0.8.5
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 7c867b2..5303994 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -210,7 +210,7 @@ endif
-
+@@ -223,7 +223,7 @@ endif
%.8: %.txt bin/txt2man
@echo " [txt2man] $<"
+ @mkdir -p $(dir $@)
- $(V) bin/txt2man -p -t $(basename $(notdir $<)) $< > $@
+ $(V) sh bin/txt2man -p -t $(basename $(notdir $<)) $< > $@
#----------------------------------------------------------------
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb
deleted file mode 100644
index 5f6ba9e37..000000000
--- a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.7.6.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Tools of dm-thin device-mapper"
-DESCRIPTION = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target."
-HOMEPAGE = "https://github.com/jthornber/thin-provisioning-tools"
-LICENSE = "GPLv3"
-SECTION = "devel"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/jthornber/thin-provisioning-tools \
- file://0001-do-not-strip-pdata_tools-at-do_install.patch \
- file://0001-fix-compile-failed-with-libc-musl.patch \
- file://use-sh-on-path.patch \
-"
-
-SRCREV = "6f936992b8e6208a7838fcf1ec87c5bd3a694a77"
-
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-DEPENDS += "expat libaio boost"
-
-inherit autotools-brokensep
diff --git a/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb
new file mode 100644
index 000000000..9f89bac22
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Tools of dm-thin device-mapper"
+DESCRIPTION = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target."
+HOMEPAGE = "https://github.com/jthornber/thin-provisioning-tools"
+LICENSE = "GPLv3"
+SECTION = "devel"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/jthornber/thin-provisioning-tools \
+ file://0001-do-not-strip-pdata_tools-at-do_install.patch \
+ file://use-sh-on-path.patch \
+"
+
+SRCREV = "5e5409f48b5403d2c6dffd9919b35ad77d6fb7b4"
+
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+DEPENDS += "expat libaio boost"
+
+inherit autotools-brokensep
diff --git a/meta-openembedded/meta-oe/recipes-support/tree/tree_1.7.0.bb b/meta-openembedded/meta-oe/recipes-support/tree/tree_1.7.0.bb
deleted file mode 100644
index 2e8ebdb4d..000000000
--- a/meta-openembedded/meta-oe/recipes-support/tree/tree_1.7.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A recursive directory listing command"
-HOMEPAGE = "http://mama.indstate.edu/users/ice/tree/"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
-
-SRC_URI = "ftp://mama.indstate.edu/linux/${BPN}/${BP}.tgz"
-SRC_URI[md5sum] = "abe3e03e469c542d8e157cdd93f4d8a6"
-SRC_URI[sha256sum] = "6957c20e82561ac4231638996e74f4cfa4e6faabc5a2f511f0b4e3940e8f7b12"
-
-# tree's default CFLAGS for Linux
-CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
-
-EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
-
-do_configure[noexec] = "1"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${S}/${BPN} ${D}${bindir}/
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/tree/tree_1.8.0.bb b/meta-openembedded/meta-oe/recipes-support/tree/tree_1.8.0.bb
new file mode 100644
index 000000000..01b1ac384
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/tree/tree_1.8.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A recursive directory listing command"
+HOMEPAGE = "http://mama.indstate.edu/users/ice/tree/"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
+
+SRC_URI = "http://mama.indstate.edu/users/ice/tree/src/${BP}.tgz"
+SRC_URI[md5sum] = "715191c7f369be377fc7cc8ce0ccd835"
+SRC_URI[sha256sum] = "715d5d4b434321ce74706d0dd067505bb60c5ea83b5f0b3655dae40aa6f9b7c2"
+
+# tree's default CFLAGS for Linux
+CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
+
+EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
+
+do_configure[noexec] = "1"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/${BPN} ${D}${bindir}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch
deleted file mode 100644
index 2823c54f1..000000000
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-Make-udev-rules-directory-configurable.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From a6eab413f274376cf703a608e2866118291a6185 Mon Sep 17 00:00:00 2001
-From: Amarnath Valluri <amarnath.valluri@intel.com>
-Date: Thu, 9 Feb 2017 11:02:53 +0200
-Subject: [PATCH] Make udev rules directory configurable.
-
-udev rules directory can be configurable via undevrulesdir variable. And use
-libdir, sbindir for installing librares and binaries.
-
-Upstream-Status: Inappropriate[Embedded specific]
-
-Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
-
----
- configure.ac | 14 +++-----------
- data/Makefile.am | 1 -
- src/probers/Makefile.am | 2 +-
- tools/Makefile.am | 2 +-
- 4 files changed, 5 insertions(+), 14 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8c4e4c2..a143397 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -227,15 +227,8 @@ if test "x$GCC" = "xyes"; then
- LDFLAGS="-Wl,--as-needed $LDFLAGS"
- fi
-
--if test "$prefix" = "/usr" -o "$prefix" = "/usr/local" ; then
-- slashlibdir=/lib
-- slashsbindir=/sbin
--else
-- slashlibdir=$prefix/lib
-- slashsbindir=$prefix/sbin
--fi
--AC_SUBST(slashlibdir)
--AC_SUBST(slashsbindir)
-+udevrulesdir=/lib/udev/udev.d
-+AC_SUBST(udevrulesdir)
-
- # *************
- # Remote Access
-@@ -299,8 +292,7 @@ echo "
- sysconfdir: ${sysconfdir}
- localstatedir: ${localstatedir}
- docdir: ${docdir}
-- slashlibdir: ${slashlibdir}
-- slashsbindir: ${slashsbindir}
-+ udevrulesdir: ${udevrulesdir}
- systemdsystemunitdir: ${systemdsystemunitdir}
-
- compiler: ${CC}
-diff --git a/data/Makefile.am b/data/Makefile.am
-index 08af5f4..9329186 100644
---- a/data/Makefile.am
-+++ b/data/Makefile.am
-@@ -34,7 +34,6 @@ $(systemdservice_DATA): $(systemdservice_in_files) Makefile
- @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
- endif
-
--udevrulesdir = $(slashlibdir)/udev/rules.d
- udevrules_DATA = 80-udisks.rules
-
- pkgconfigdir = $(datadir)/pkgconfig
-diff --git a/src/probers/Makefile.am b/src/probers/Makefile.am
-index 01c693b..6a0361a 100644
---- a/src/probers/Makefile.am
-+++ b/src/probers/Makefile.am
-@@ -20,7 +20,7 @@ INCLUDES = \
- # TODO: ideally move most of this to udev and/or util-linux
- #
-
--udevhelperdir = $(slashlibdir)/udev
-+udevhelperdir = $(libdir)/udev
- udevhelper_PROGRAMS = udisks-part-id \
- udisks-probe-sas-expander \
- $(NULL)
-diff --git a/tools/Makefile.am b/tools/Makefile.am
-index 18325f7..0aaec11 100644
---- a/tools/Makefile.am
-+++ b/tools/Makefile.am
-@@ -54,7 +54,7 @@ udisks_LDADD = \
- $(DBUS_GLIB_LIBS) \
- $(POLKIT_DBUS_LIBS)
-
--slashsbin_PROGRAMS = umount.udisks
-+sbin_PROGRAMS = umount.udisks
-
- umount_udisks_SOURCES = umount-udisks.c
- umount_udisks_LDADD = $(DBUS_GLIB_LIBS) $(POLKIT_DBUS_LIBS)
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch
deleted file mode 100644
index 8b4f44124..000000000
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-fix-build-with-newer-glibc-versions.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 054ad6a06cfac7c3d172d53cd901204079a53ec3 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Fri, 29 May 2015 21:09:39 -0400
-Subject: [PATCH] fix build with newer glibc versions
-
-https://bugs.freedesktop.org/show_bug.cgi?id=90778
-
-Upstream-Status: Applied [1]
-
-[1] http://cgit.freedesktop.org/udisks/commit/?h=udisks1&id=9829152b12a8924d2e091a00133ed1a3a7ba75c0
-
----
- src/helpers/job-drive-detach.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/helpers/job-drive-detach.c b/src/helpers/job-drive-detach.c
-index eeafcab..d122a1f 100644
---- a/src/helpers/job-drive-detach.c
-+++ b/src/helpers/job-drive-detach.c
-@@ -18,6 +18,7 @@
- *
- */
-
-+#include <sys/stat.h>
- #include <stdio.h>
- #include <string.h>
- #include <errno.h>
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-include-sys-sysmacros.h.patch b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-include-sys-sysmacros.h.patch
deleted file mode 100644
index f140793c5..000000000
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-include-sys-sysmacros.h.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 64f051963d6cdeebd19f9e7f0a7e584a1f7acc60 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 11 Aug 2018 19:12:57 -0700
-Subject: [PATCH] include sys/sysmacros.h
-
-fixes build with glibc 2.28+
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/daemon.c | 1 +
- src/device.c | 1 +
- src/mount-monitor.c | 1 +
- tools/udisks.c | 1 +
- tools/umount-udisks.c | 1 +
- 5 files changed, 5 insertions(+)
-
-diff --git a/src/daemon.c b/src/daemon.c
-index 14e952f..2c61cfb 100644
---- a/src/daemon.c
-+++ b/src/daemon.c
-@@ -39,6 +39,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-diff --git a/src/device.c b/src/device.c
-index d73f9d6..5911d78 100644
---- a/src/device.c
-+++ b/src/device.c
-@@ -29,6 +29,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/wait.h>
- #include <sys/stat.h>
- #include <sys/time.h>
-diff --git a/src/mount-monitor.c b/src/mount-monitor.c
-index 573a69c..ccf3365 100644
---- a/src/mount-monitor.c
-+++ b/src/mount-monitor.c
-@@ -28,6 +28,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
- #include <mntent.h>
-
-diff --git a/tools/udisks.c b/tools/udisks.c
-index d30159b..f24a30a 100644
---- a/tools/udisks.c
-+++ b/tools/udisks.c
-@@ -29,6 +29,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
- #include <sys/wait.h>
- #include <fcntl.h>
-diff --git a/tools/umount-udisks.c b/tools/umount-udisks.c
-index 2813fe0..5cf6b4d 100644
---- a/tools/umount-udisks.c
-+++ b/tools/umount-udisks.c
-@@ -29,6 +29,7 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <pwd.h>
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
deleted file mode 100644
index 16dc44067..000000000
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-tools-Install-bash_completion-script-in-etc-bash_com.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-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
deleted file mode 100644
index ef7f6f9c3..000000000
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/0001-udisks-helper-Use-sh-interpreter-instead-of-bash.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-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/optional-depends.patch b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/optional-depends.patch
deleted file mode 100644
index a890954fc..000000000
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/optional-depends.patch
+++ /dev/null
@@ -1,498 +0,0 @@
-From e8b3fbfa3d6a11eee25db2dc0f31f439aaf0b65a Mon Sep 17 00:00:00 2001
-From: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
-Date: Thu, 26 May 2011 17:30:04 -0300
-Subject: [PATCH] Allow disabling atasmart, lvm2 and devicemapper support.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=37647
-
----
- configure.ac | 53 +++++++++++++++++++++++++++++++++++++++----------
- src/adapter-private.h | 1 -
- src/adapter.c | 1 -
- src/daemon.c | 4 ++++
- src/device-private.c | 2 +-
- src/device-private.h | 5 ++---
- src/device.c | 23 +++++++++++++++++----
- src/expander-private.h | 1 -
- src/expander.c | 1 -
- src/helpers/Makefile.am | 20 +++++++++++++------
- src/helpers/partutil.c | 3 ++-
- src/port-private.h | 1 -
- src/probers/Makefile.am | 8 ++++++--
- tools/udisks.c | 10 ++++++++--
- 14 files changed, 99 insertions(+), 34 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9454423..8c4e4c2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -155,13 +155,33 @@ PKG_CHECK_MODULES(POLKIT_GOBJECT_1, [polkit-gobject-1 >= 0.97])
- AC_SUBST(POLKIT_GOBJECT_1_CFLAGS)
- AC_SUBST(POLKIT_GOBJECT_1_LIBS)
-
--PKG_CHECK_MODULES(LIBPARTED, [libparted >= 1.8.8])
--AC_SUBST(LIBPARTED_CFLAGS)
--AC_SUBST(LIBPARTED_LIBS)
--
--PKG_CHECK_MODULES(DEVMAPPER, [devmapper >= 1.02])
--AC_SUBST(DEVMAPPER_CFLAGS)
--AC_SUBST(DEVMAPPER_LIBS)
-+have_parted=no
-+AC_ARG_ENABLE(parted, AS_HELP_STRING([--disable-parted], [disable disk partitioning]))
-+if test "x$enable_parted" != "xno"; then
-+ PKG_CHECK_MODULES(LIBPARTED, [libparted >= 1.8.8],
-+ [AC_DEFINE(USE_PARTED, 1, [Define if parted should be used]) have_parted=yes],
-+ have_parted=no)
-+ AC_SUBST(LIBPARTED_CFLAGS)
-+ AC_SUBST(LIBPARTED_LIBS)
-+ if test "x$have_parted" = xno -a "x$enable_parted" = xyes; then
-+ AC_MSG_ERROR([parted support requested but libraries not found])
-+ fi
-+fi
-+AM_CONDITIONAL(HAVE_PARTED, [test "$have_parted" = "yes"])
-+
-+have_devmapper=no
-+AC_ARG_ENABLE(devmapper, AS_HELP_STRING([--disable-devmapper], [disable device mapper support]))
-+if test "x$enable_devmapper" != "xno"; then
-+ PKG_CHECK_MODULES(DEVMAPPER, [devmapper >= 1.02],
-+ [AC_DEFINE(HAVE_DEVMAPPER, 1, [Define if device mapper is available]) have_devmapper=yes],
-+ have_devmapper=no)
-+ AC_SUBST(DEVMAPPER_CFLAGS)
-+ AC_SUBST(DEVMAPPER_LIBS)
-+ if test "x$have_devmapper" = xno -a "x$enable_devmapper" = xyes; then
-+ AC_MSG_ERROR([devmapper support requested but libraries not found])
-+ fi
-+fi
-+AM_CONDITIONAL(HAVE_DEVMAPPER, [test "$have_devmapper" = "yes"])
-
- have_lvm2=no
- AC_ARG_ENABLE(lvm2, AS_HELP_STRING([--enable-lvm2], [enable LVM2 support]))
-@@ -185,9 +205,19 @@ if test "x$enable_dmmp" = "xyes"; then
- fi
- AM_CONDITIONAL(HAVE_DMMP, [test "$have_dmmp" = "yes"])
-
--PKG_CHECK_MODULES(LIBATASMART, [libatasmart >= 0.14])
--AC_SUBST(LIBATASMART_CFLAGS)
--AC_SUBST(LIBATASMART_LIBS)
-+have_libatasmart=no
-+AC_ARG_ENABLE(libatasmart, AS_HELP_STRING([--disable-libatasmart], [disable libatasmart support]))
-+if test "x$enable_libatasmart" != "xno"; then
-+ PKG_CHECK_MODULES(LIBATASMART, [libatasmart >= 0.14],
-+ [AC_DEFINE(HAVE_LIBATASMART, 1, [Define if libatasmart is available]) have_libatasmart=yes],
-+ have_libatasmart=no)
-+ AC_SUBST(LIBATASMART_CFLAGS)
-+ AC_SUBST(LIBATASMART_LIBS)
-+ if test "x$have_libatasmart" = xno -a "x$enable_libatasmart" = xyes; then
-+ AC_MSG_ERROR([libatasmart support requested but libraries not found])
-+ fi
-+fi
-+AM_CONDITIONAL(HAVE_LIBATASMART, [test "$have_libatasmart" = "yes"])
-
- PKG_CHECK_MODULES(LIBUDEV, [libudev >= 143])
- AC_SUBST(LIBUDEV_CFLAGS)
-@@ -278,9 +308,12 @@ echo "
- cppflags: ${CPPFLAGS}
- xsltproc: ${XSLTPROC}
-
-+ Parted support: ${have_parted}
-+ Device Mapper support: ${have_devmapper}
- LVM2 support: ${have_lvm2}
- dm-multipath: ${have_dmmp}
- Remote Access: ${remote_access}
-+ libatasmart support: ${have_libatasmart}
-
- Maintainer mode: ${USE_MAINTAINER_MODE}
- Profiling: ${enable_profiling}
-diff --git a/src/adapter-private.h b/src/adapter-private.h
-index 3409e21..ef584e3 100644
---- a/src/adapter-private.h
-+++ b/src/adapter-private.h
-@@ -23,7 +23,6 @@
-
- #include <dbus/dbus-glib.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
-
- #include "types.h"
-
-diff --git a/src/adapter.c b/src/adapter.c
-index 65e05b0..45db8c8 100644
---- a/src/adapter.c
-+++ b/src/adapter.c
-@@ -30,7 +30,6 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
-
- #include "daemon.h"
- #include "adapter.h"
-diff --git a/src/daemon.c b/src/daemon.c
-index fafcf9a..14e952f 100644
---- a/src/daemon.c
-+++ b/src/daemon.c
-@@ -1748,6 +1748,7 @@ mdstat_changed_event (GIOChannel *channel,
- return TRUE;
- }
-
-+#ifdef HAVE_LIBATASMART
- static gboolean
- refresh_ata_smart_data (Daemon *daemon)
- {
-@@ -1776,6 +1777,7 @@ refresh_ata_smart_data (Daemon *daemon)
-
- return FALSE;
- }
-+#endif
-
- static gboolean
- register_disks_daemon (Daemon *daemon)
-@@ -1987,12 +1989,14 @@ daemon_new (void)
- mount_file_clean_stale (l);
- g_list_free (l);
-
-+#ifdef HAVE_LIBATASMART
- /* set up timer for refreshing ATA SMART data - we don't want to refresh immediately because
- * when adding a device we also do this...
- */
- daemon->priv->ata_smart_refresh_timer_id = g_timeout_add_seconds (ATA_SMART_REFRESH_INTERVAL_SECONDS,
- (GSourceFunc) refresh_ata_smart_data,
- daemon);
-+#endif
-
- PROFILE ("daemon_new(): end");
- return daemon;
-diff --git a/src/device-private.c b/src/device-private.c
-index 45418ce..fb1d959 100644
---- a/src/device-private.c
-+++ b/src/device-private.c
-@@ -1390,7 +1390,7 @@ device_set_drive_ata_smart_time_collected (Device *device,
-
- void
- device_set_drive_ata_smart_status (Device *device,
-- SkSmartOverall value)
-+ guint value)
- {
- if (G_UNLIKELY (device->priv->drive_ata_smart_status != value))
- {
-diff --git a/src/device-private.h b/src/device-private.h
-index 32a9bd0..8c57c13 100644
---- a/src/device-private.h
-+++ b/src/device-private.h
-@@ -23,7 +23,6 @@
-
- #include <dbus/dbus-glib.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
-
- #include "types.h"
-
-@@ -228,7 +227,7 @@ struct DevicePrivate
-
- gboolean drive_ata_smart_is_available;
- guint64 drive_ata_smart_time_collected;
-- SkSmartOverall drive_ata_smart_status;
-+ guint drive_ata_smart_status;
- void *drive_ata_smart_blob;
- gsize drive_ata_smart_blob_size;
-
-@@ -396,7 +395,7 @@ void device_set_holders_objpath (Device *device, GStrv value);
-
- void device_set_drive_ata_smart_is_available (Device *device, gboolean value);
- void device_set_drive_ata_smart_time_collected (Device *device, guint64 value);
--void device_set_drive_ata_smart_status (Device *device, SkSmartOverall value);
-+void device_set_drive_ata_smart_status (Device *device, guint value);
- void device_set_drive_ata_smart_blob_steal (Device *device, gchar *blob, gsize blob_size);
-
- G_END_DECLS
-diff --git a/src/device.c b/src/device.c
-index 2ae7f38..d73f9d6 100644
---- a/src/device.c
-+++ b/src/device.c
-@@ -50,7 +50,9 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
- #include <gudev/gudev.h>
-+#ifdef HAVE_LIBATASMART
- #include <atasmart.h>
-+#endif
-
- #include "daemon.h"
- #include "device.h"
-@@ -664,10 +666,14 @@ get_property (GObject *object,
- case PROP_DRIVE_ATA_SMART_STATUS:
- {
- const gchar *status;
-- if (device->priv->drive_ata_smart_status == (SkSmartOverall) - 1)
-+#ifdef HAVE_LIBATASMART
-+ if (device->priv->drive_ata_smart_status == (guint) - 1)
- status = "";
- else
- status = sk_smart_overall_to_string (device->priv->drive_ata_smart_status);
-+#else
-+ status = "";
-+#endif
- g_value_set_string (value, status);
- }
- break;
-@@ -5144,6 +5150,7 @@ device_new (Daemon *daemon,
- goto out;
- }
-
-+#ifdef HAVE_LIBATASMART
- /* if just added, update the smart data if applicable */
- if (device->priv->drive_ata_smart_is_available)
- {
-@@ -5151,6 +5158,7 @@ device_new (Daemon *daemon,
- gchar *ata_smart_refresh_data_options[] = { NULL };
- device_drive_ata_smart_refresh_data (device, ata_smart_refresh_data_options, NULL);
- }
-+#endif
-
- PROFILE ("device_new(native_path=%s): end", native_path);
- out:
-@@ -9840,16 +9848,18 @@ drive_ata_smart_refresh_data_completed_cb (DBusGMethodInvocation *context,
- const char *stdout,
- gpointer user_data)
- {
-+#ifdef HAVE_LIBATASMART
- gint rc;
-- SkDisk *d;
-+ SkDisk *d = NULL;
-+ SkSmartOverall overall;
- gchar *blob;
- gsize blob_size;
- time_t time_collected;
-- SkSmartOverall overall;
-+#endif
-
- PROFILE ("drive_ata_smart_refresh_data_completed_cb(device=%s) start", device->priv->native_path);
-
-- d = NULL;
-+#ifdef HAVE_LIBATASMART
- blob = NULL;
-
- if (job_was_cancelled || stdout == NULL)
-@@ -9953,6 +9963,11 @@ drive_ata_smart_refresh_data_completed_cb (DBusGMethodInvocation *context,
- g_free (blob);
- if (d != NULL)
- sk_disk_free (d);
-+
-+#else
-+ throw_error (context, ERROR_FAILED, "libatasmart support disabled");
-+#endif
-+
- PROFILE ("drive_ata_smart_refresh_data_completed_cb(device=%s) end", device->priv->native_path);
- }
-
-diff --git a/src/expander-private.h b/src/expander-private.h
-index ef4f440..98a8300 100644
---- a/src/expander-private.h
-+++ b/src/expander-private.h
-@@ -23,7 +23,6 @@
-
- #include <dbus/dbus-glib.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
-
- #include "types.h"
-
-diff --git a/src/expander.c b/src/expander.c
-index 734ec0a..e799f13 100644
---- a/src/expander.c
-+++ b/src/expander.c
-@@ -34,7 +34,6 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
- #include <stdlib.h>
-
- #include "daemon.h"
-diff --git a/src/helpers/Makefile.am b/src/helpers/Makefile.am
-index 4b863c0..d3ec4e9 100644
---- a/src/helpers/Makefile.am
-+++ b/src/helpers/Makefile.am
-@@ -19,15 +19,9 @@ INCLUDES = \
-
- libexec_PROGRAMS = \
- udisks-helper-mkfs \
-- udisks-helper-delete-partition \
-- udisks-helper-create-partition \
-- udisks-helper-modify-partition \
-- udisks-helper-create-partition-table \
- udisks-helper-change-filesystem-label \
- udisks-helper-linux-md-remove-component \
- udisks-helper-fstab-mounter \
-- udisks-helper-ata-smart-collect \
-- udisks-helper-ata-smart-selftest \
- udisks-helper-drive-detach \
- udisks-helper-drive-poll \
- udisks-helper-linux-md-check \
-@@ -48,6 +42,13 @@ udisks_helper_mkfs_SOURCES = job-shared.h job-mkfs.c
- udisks_helper_mkfs_CPPFLAGS = $(AM_CPPFLAGS)
- udisks_helper_mkfs_LDADD = $(GLIB_LIBS)
-
-+if HAVE_PARTED
-+libexec_PROGRAMS += \
-+ udisks-helper-delete-partition \
-+ udisks-helper-create-partition \
-+ udisks-helper-modify-partition \
-+ udisks-helper-create-partition-table
-+
- udisks_helper_delete_partition_SOURCES = job-shared.h job-delete-partition.c
- udisks_helper_delete_partition_CPPFLAGS = $(AM_CPPFLAGS)
- udisks_helper_delete_partition_LDADD = $(GLIB_LIBS) libpartutil.la
-@@ -63,11 +64,17 @@ udisks_helper_modify_partition_LDADD = $(GLIB_LIBS) libpartutil.la
- udisks_helper_create_partition_table_SOURCES = job-shared.h job-create-partition-table.c
- udisks_helper_create_partition_table_CPPFLAGS = $(AM_CPPFLAGS)
- udisks_helper_create_partition_table_LDADD = $(GLIB_LIBS) libpartutil.la
-+endif
-
- udisks_helper_change_filesystem_label_SOURCES = job-shared.h job-change-filesystem-label.c
- udisks_helper_change_filesystem_label_CPPFLAGS = $(AM_CPPFLAGS)
- udisks_helper_change_filesystem_label_LDADD = $(GLIB_LIBS)
-
-+if HAVE_LIBATASMART
-+libexec_PROGRAMS += \
-+ udisks-helper-ata-smart-collect \
-+ udisks-helper-ata-smart-selftest
-+
- udisks_helper_ata_smart_selftest_SOURCES = job-shared.h job-ata-smart-selftest.c
- udisks_helper_ata_smart_selftest_CPPFLAGS = $(AM_CPPFLAGS) $(LIBATASMART_CFLAGS) $(GLIB_CFLAGS)
- udisks_helper_ata_smart_selftest_LDADD = $(LIBATASMART_LIBS) $(GLIB_LIBS)
-@@ -75,6 +82,7 @@ udisks_helper_ata_smart_selftest_LDADD = $(LIBATASMART_LIBS) $(GLIB_LIBS)
- udisks_helper_ata_smart_collect_SOURCES = job-ata-smart-collect.c
- udisks_helper_ata_smart_collect_CPPFLAGS = $(AM_CPPFLAGS) $(LIBATASMART_CFLAGS) $(GLIB_CFLAGS)
- udisks_helper_ata_smart_collect_LDADD = $(LIBATASMART_LIBS) $(GLIB_LIBS)
-+endif
-
- udisks_helper_linux_md_remove_component_SOURCES = job-shared.h job-linux-md-remove-component.c
- udisks_helper_linux_md_remove_component_CPPFLAGS = $(AM_CPPFLAGS)
-diff --git a/src/helpers/partutil.c b/src/helpers/partutil.c
-index 72a8fe3..8893a39 100644
---- a/src/helpers/partutil.c
-+++ b/src/helpers/partutil.c
-@@ -62,7 +62,6 @@ DEBUG (const gchar *format,
- # include <config.h>
- #endif
-
--#define USE_PARTED
- #ifdef USE_PARTED
- #include <parted/parted.h>
- #endif
-@@ -928,6 +927,7 @@ part_table_parse_apple (int fd,
- return p;
- }
-
-+#ifdef USE_PARTED
- static PartitionTable *
- part_table_load_from_disk_from_file (char *device_file)
- {
-@@ -948,6 +948,7 @@ part_table_load_from_disk_from_file (char *device_file)
- out:
- return ret;
- }
-+#endif
-
- PartitionTable *
- part_table_load_from_disk (int fd)
-diff --git a/src/port-private.h b/src/port-private.h
-index cc48376..a91532f 100644
---- a/src/port-private.h
-+++ b/src/port-private.h
-@@ -23,7 +23,6 @@
-
- #include <dbus/dbus-glib.h>
- #include <gudev/gudev.h>
--#include <atasmart.h>
-
- #include "types.h"
-
-diff --git a/src/probers/Makefile.am b/src/probers/Makefile.am
-index 06bb566..01c693b 100644
---- a/src/probers/Makefile.am
-+++ b/src/probers/Makefile.am
-@@ -22,8 +22,6 @@ INCLUDES = \
-
- udevhelperdir = $(slashlibdir)/udev
- udevhelper_PROGRAMS = udisks-part-id \
-- udisks-dm-export \
-- udisks-probe-ata-smart \
- udisks-probe-sas-expander \
- $(NULL)
-
-@@ -35,17 +33,23 @@ udisks_part_id_SOURCES = part-id.c
- udisks_part_id_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUDEV_CFLAGS)
- udisks_part_id_LDADD = $(GLIB_LIBS) $(LIBUDEV_LIBS) $(top_builddir)/src/helpers/libpartutil.la
-
-+if HAVE_DEVMAPPER
-+udevhelper_PROGRAMS += udisks-dm-export
- udisks_dm_export_SOURCES = udisks-dm-export.c
- udisks_dm_export_CPPFLAGS = $(AM_CPPFLAGS) $(DEVMAPPER_CFLAGS) $(GLIB_CFLAGS)
- udisks_dm_export_LDADD = $(DEVMAPPER_LIBS) $(GLIB_LIBS)
-+endif
-
- udisks_lvm_pv_export_SOURCES = udisks-lvm-pv-export.c
- udisks_lvm_pv_export_CPPFLAGS = $(AM_CPPFLAGS) $(DEVMAPPER_CFLAGS) $(LVM2_CFLAGS) $(GLIB_CFLAGS)
- udisks_lvm_pv_export_LDADD = $(DEVMAPPER_LIBS) $(LVM2_LIBS) $(GLIB_LIBS)
-
-+if HAVE_LIBATASMART
-+udevhelper_PROGRAMS += udisks-probe-ata-smart
- udisks_probe_ata_smart_SOURCES = udisks-probe-ata-smart.c
- udisks_probe_ata_smart_CPPFLAGS = $(AM_CPPFLAGS) $(LIBATASMART_CFLAGS)
- udisks_probe_ata_smart_LDADD = $(LIBATASMART_LIBS)
-+endif
-
- udisks_probe_sas_expander_SOURCES = udisks-probe-sas-expander.c
- udisks_probe_sas_expander_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
-diff --git a/tools/udisks.c b/tools/udisks.c
-index 97e80d7..d30159b 100644
---- a/tools/udisks.c
-+++ b/tools/udisks.c
-@@ -43,7 +43,9 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
-
-+#ifdef HAVE_LIBATASMART
- #include <atasmart.h>
-+#endif
-
- #include "udisks-daemon-glue.h"
- #include "udisks-device-glue.h"
-@@ -983,6 +985,7 @@ end_highlight (void)
- g_print ("\x1B[0m");
- }
-
-+#ifdef HAVE_LIBATASMART
- static const gchar *
- ata_smart_status_to_desc (const gchar *status,
- gboolean *out_highlight)
-@@ -1163,6 +1166,7 @@ print_ata_smart_attr (SkDisk *d,
- g_free (threshold_str);
- g_free (pretty);
- }
-+#endif
-
- static void
- do_show_info (const char *object_path)
-@@ -1445,7 +1449,7 @@ do_show_info (const char *object_path)
- g_print (" if speed: %" G_GINT64_FORMAT " bits/s\n", props->drive_connection_speed);
-
- /* ------------------------------------------------------------------------------------------------- */
--
-+#ifdef HAVE_LIBATASMART
- if (!props->drive_ata_smart_is_available)
- {
- g_print (" ATA SMART: not available\n");
-@@ -1498,7 +1502,9 @@ do_show_info (const char *object_path)
- }
-
- }
--
-+#else
-+ g_print (" ATA SMART: not supported\n");
-+#endif
- /* ------------------------------------------------------------------------------------------------- */
-
- }
diff --git a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch b/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch
deleted file mode 100644
index d4efa93dd..000000000
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks/udisks-1.0.5-fix-service-file.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a4f6aa5be37ae6e2194c9ded2ea8c1da330f5694 Mon Sep 17 00:00:00 2001
-From: David King <amigadave@amigadave.com>
-Date: Thu, 2 Jul 2015 13:49:22 +0100
-Subject: [PATCH] Fix systemd service file
-
-udisks-daemon is installed to $(libexecdir), not $(prefix)/lib/udisks.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1238664
-https://bugs.freedesktop.org/show_bug.cgi?id=91191
-
-Taken-From: [1]
-[1] http://pkgs.fedoraproject.org/cgit/udisks.git/tree/udisks-1.0.5-fix-service-file.patch
-
-Upstream-Status: Pending
-
----
- data/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/data/Makefile.am b/data/Makefile.am
-index 411ea0f..08af5f4 100644
---- a/data/Makefile.am
-+++ b/data/Makefile.am
-@@ -31,7 +31,7 @@ systemdservicedir = $(systemdsystemunitdir)
- systemdservice_DATA = $(systemdservice_in_files:.service.in=.service)
-
- $(systemdservice_DATA): $(systemdservice_in_files) Makefile
-- @sed -e "s|\@libexecdir\@|$(prefix)/lib/udisks|" $< > $@
-+ @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
- endif
-
- udevrulesdir = $(slashlibdir)/udev/rules.d
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
deleted file mode 100644
index 0918fedda..000000000
--- a/meta-openembedded/meta-oe/recipes-support/udisks/udisks_1.0.5.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-DESCRIPTION = "A storage daemon that implements well-defined D-Bus interfaces that can be used to query and manipulate storage devices."
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=73d83aebe7e4b62346afde80e0e94273"
-
-DEPENDS = "libatasmart sg3-utils polkit libgudev dbus-glib glib-2.0 intltool-native \
- dbus-glib-native \
-"
-# optional dependencies: device-mapper parted
-
-DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
- dbus-glib-native \
-"
-
-SRC_URI = "http://hal.freedesktop.org/releases/${BPN}-${PV}.tar.gz;name=${BPN} \
- file://optional-depends.patch \
- file://0001-fix-build-with-newer-glibc-versions.patch \
- 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 bash-completion
-
-REQUIRED_DISTRO_FEATURES = "polkit"
-
-
-PACKAGECONFIG ??= "libdevmapper"
-PACKAGECONFIG[libdevmapper] = "--enable-devmapper,--disable-devmapper,libdevmapper"
-PACKAGECONFIG[parted] = "--enable-parted,--disable-parted,parted"
-
-EXTRA_OECONF = "--disable-man-pages --libdir=${base_libdir} --sbindir=${base_sbindir}"
-EXTRA_OEMAKE = "udevrulesdir=${nonarch_base_libdir}/udev/rules.d/"
-
-FILES_${PN} += "${libdir}/polkit-1/extensions/*.so \
- ${datadir}/dbus-1/ \
- ${datadir}/polkit-1 \
- ${nonarch_base_libdir}/udev/* \
-"
-
-FILES_${PN}-dbg += "${nonarch_base_libdir}/udev/.debug"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "udisks.service"
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.0.0.bb b/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.0.0.bb
deleted file mode 100644
index 6306ddb55..000000000
--- a/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.0.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "USB hub per-port power control"
-HOMEPAGE = "https://github.com/mvp/uhubctl"
-BUGTRACKER = "https://github.com/mvp/uhubctl/issues"
-DEPENDS = "libusb1"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "https://github.com/mvp/${PN}/archive/v${PV}.tar.gz"
-SRC_URI[md5sum] = "5c711911d766d76813333c3812277574"
-SRC_URI[sha256sum] = "4c31278b2c03e5be5a696c3088bc86cf2557a70e00f697799c163aba18e3c40e"
-
-# uhubctl gets its program version from "git describe". As we use the source
-# archive do reduce download size replace the call with our hardcoded version.
-do_configure_append() {
- sed -i "s/^\(GIT_VERSION :=\).*$/\1 ${PV}/g" ${S}/Makefile
-}
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb b/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb
new file mode 100644
index 000000000..b294d77ba
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/uhubctl/uhubctl_2.1.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "USB hub per-port power control"
+HOMEPAGE = "https://github.com/mvp/uhubctl"
+BUGTRACKER = "https://github.com/mvp/uhubctl/issues"
+DEPENDS = "libusb1"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV = "c9fa3c68a1b2c9790c731602b8bae2b513e80605"
+SRC_URI = "git://github.com/mvp/${BPN}"
+S = "${WORKDIR}/git"
+
+# uhubctl gets its program version from "git describe". As we use the source
+# archive do reduce download size replace the call with our hardcoded version.
+do_configure_append() {
+ sed -i "s/^\(GIT_VERSION :=\).*$/\1 ${PV}/g" ${S}/Makefile
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch b/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
deleted file mode 100644
index 391b0e68b..000000000
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Add-support-for-aarch64.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 82f44f53b9a9766c2ec816f237506beb953eb332 Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@suse.de>
-Date: Wed, 29 Oct 2014 14:18:28 +0100
-Subject: [PATCH] Add support for aarch64
-
-* include/private/gcconfig.h: Add support for aarch64.
-
----
- sigscheme/libgcroots/include/private/gcconfig.h | 37 +++++++++++++++++++++++++
- 1 file changed, 37 insertions(+)
-
-diff --git a/sigscheme/libgcroots/include/private/gcconfig.h b/sigscheme/libgcroots/include/private/gcconfig.h
-index 4d42b03..0f13db6 100644
---- a/sigscheme/libgcroots/include/private/gcconfig.h
-+++ b/sigscheme/libgcroots/include/private/gcconfig.h
-@@ -62,6 +62,13 @@
- # endif
-
- /* Determine the machine type: */
-+# if defined(__aarch64__)
-+# define AARCH64
-+# if !defined(LINUX)
-+# define NOSYS
-+# define mach_type_known
-+# endif
-+# endif
- # if defined(__arm__) || defined(__thumb__)
- # define ARM32
- # if !defined(LINUX) && !defined(NETBSD)
-@@ -231,6 +238,10 @@
- # define IA64
- # define mach_type_known
- # endif
-+# if defined(LINUX) && defined(__aarch64__)
-+# define AARCH64
-+# define mach_type_known
-+# endif
- # if defined(LINUX) && defined(__arm__)
- # define ARM32
- # define mach_type_known
-@@ -504,6 +515,7 @@
- /* running Amdahl UTS4 */
- /* S390 ==> 390-like machine */
- /* running LINUX */
-+ /* AARCH64 ==> ARM AArch64 */
- /* ARM32 ==> Intel StrongARM */
- /* IA64 ==> Intel IPF */
- /* (e.g. Itanium) */
-@@ -1724,6 +1736,31 @@
- # endif
- # endif
-
-+# ifdef AARCH64
-+# define CPP_WORDSZ 64
-+# define MACH_TYPE "AARCH64"
-+# define ALIGNMENT 8
-+# ifndef HBLKSIZE
-+# define HBLKSIZE 4096
-+# endif
-+# ifdef LINUX
-+# define OS_TYPE "LINUX"
-+# define LINUX_STACKBOTTOM
-+# define DYNAMIC_LOADING
-+ extern int __data_start[];
-+# define DATASTART ((ptr_t)__data_start)
-+ extern char _end[];
-+# define DATAEND ((ptr_t)(&_end))
-+# endif
-+# ifdef NOSYS
-+ /* __data_start is usually defined in the target linker script. */
-+ extern int __data_start[];
-+# define DATASTART ((ptr_t)__data_start)
-+ extern void *__stack_base__;
-+# define STACKBOTTOM ((ptr_t)__stack_base__)
-+# endif
-+# endif
-+
- # ifdef ARM32
- # define CPP_WORDSZ 32
- # define MACH_TYPE "ARM32"
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch b/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch
new file mode 100644
index 000000000..34a1ea0fa
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-Fix-to-set-libedit-path-from-configure-option-proper.patch
@@ -0,0 +1,29 @@
+From f828a89cc1e956d56498422ec158d284fc97de3f Mon Sep 17 00:00:00 2001
+From: OBATA Akio <obache@outlook.com>
+Date: Fri, 10 Aug 2018 18:38:18 +0900
+Subject: [PATCH] Fix to set libedit path from configure option properly
+
+Upstream-Status: Backport [https://github.com/uim/uim/pull/134]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 00d1b02..9c0a5ec 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1311,8 +1311,8 @@ if test "x$with_libedit" != xno; then
+ if test "x$with_libedit" = xyes; then
+ libedit_path=/usr
+ else
+- with_libedit=yes
+ libedit_path="$with_libedit"
++ with_libedit=yes
+ fi
+
+ saved_CPPFLAGS=$CPPFLAGS
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch b/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
deleted file mode 100644
index 0c8f02d6c..000000000
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim/0001-fix-bug-for-cross-compile.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 08b5e51224ed95b1e76e99873b5f9f59840b0a74 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Fri, 21 Aug 2015 15:58:42 +0900
-Subject: [PATCH] fix bug for cross compile
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9be879c..9249bfd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1208,8 +1208,8 @@ AC_HELP_STRING([--with-libedit[=DIR], Enable libedit support
- if test "x$use_libedit" != "xno"; then
- saved_CPPFLAGS=$CPPFLAGS
- saved_LDFLAGS=$LDFLAGS
-- CPPFLAGS="${CPPFLAGS} -I$libedit_path/include"
-- LDFLAGS="${LDFLAGS} -L$libedit_path/lib"
-+ CPPFLAGS="${CPPFLAGS} "
-+ LDFLAGS="${LDFLAGS} "
- AC_CHECK_LIB(curses, tgetent, LIBEDIT_LIBS="-lcurses",
- [AC_CHECK_LIB(ncurses, tgetent, LIBEDIT_LIBS="-lncurses",
- AC_MSG_WARN("libedit needs libcurses or libncurses. disabled...")
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch b/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
index 3078af058..0fafc8533 100644
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
+++ b/meta-openembedded/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
@@ -6,11 +6,9 @@ Date: Fri, 26 Jun 2015 12:57:48 +0900
scm/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/scm/Makefile.am b/scm/Makefile.am
-index 14d9393..e8a1083 100644
--- a/scm/Makefile.am
+++ b/scm/Makefile.am
-@@ -119,7 +119,7 @@ if EXPAT
+@@ -115,7 +115,7 @@ if EXPAT
module_names += "yahoo-jp"
endif
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb b/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
deleted file mode 100644
index 1c58d40b1..000000000
--- a/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.6.bb
+++ /dev/null
@@ -1,144 +0,0 @@
-DESCRIPTION = "A multilingual user input method library"
-HOMEPAGE = "http://uim.freedesktop.org/"
-LICENSE = "BSD-3-Clause & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32463fd29aa303fb2360faeeae17256b"
-SECTION = "inputmethods"
-
-SRC_URI = "https://github.com/uim/uim/releases/download/uim-${PV}/uim-${PV}.tar.bz2"
-
-SRC_URI_append_class-target = " file://uim-module-manager.patch \
- file://0001-fix-bug-for-cross-compile.patch \
- file://0001-Add-support-for-aarch64.patch \
-"
-SRC_URI[md5sum] = "ecea4c597bab1fd4ba98ea84edcece59"
-SRC_URI[sha256sum] = "7b1ea803c73f3478917166f04f67cce6e45ad7ea5ab6df99b948c17eb1cb235f"
-
-DEPENDS = "anthy fontconfig libxft libxt glib-2.0 ncurses intltool"
-DEPENDS_append_class-target = " intltool-native gtk+ gtk+3 uim-native takao-fonts"
-
-RDEPENDS_uim = "libuim0 libedit"
-RDEPENDS_uim-anthy = "takao-fonts anthy libanthy0"
-RDEPENDS_uim-anthy_append_libc-glibc = " glibc-utils glibc-gconv-euc-jp"
-
-LEAD_SONAME = "libuim.so.1"
-
-inherit distro_features_check autotools pkgconfig gettext qemu gtk-immodules-cache
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-GTKIMMODULES_PACKAGES = "uim-gtk2.0 uim-gtk3"
-
-EXTRA_OECONF += "--disable-emacs \
- --without-scim \
- --without-m17nlib \
- --without-prime \
- --without-canna \
- --without-mana \
- --without-eb \
-"
-
-CONFIGUREOPTS_remove_class-target = "--disable-silent-rules"
-
-#Because m4 file's find maxdepth=2, so copy the m4 files of the deep depth.
-do_configure_prepend () {
- cp ${S}/sigscheme/m4/* ${S}/m4/
-}
-
-do_install_append() {
- rm -rf ${D}/${datadir}/applications
-}
-
-PACKAGES =+ "uim-xim uim-utils uim-skk uim-gtk2.0 uim-gtk3 uim-fep uim-anthy uim-common libuim0 libuim-dev"
-
-FILES_${PN} = "${bindir}/uim-help \
- ${libdir}/uim/plugin/libuim-* \
- ${libdir}/libuim-scm* \
- ${libdir}/libgcroots* \
- ${libdir}/uim/plugin/libuim-* \
-"
-
-FILES_libuim0 = "${libdir}/uim/plugin/libuim-custom-enabler.* \
- ${libdir}/libuim-custom.so.* \
- ${datadir}/locale/ja/LC_MESSAGES/uim.mo \
- ${datadir}/locale/fr/LC_MESSAGES/uim.mo \
- ${datadir}/locale/ko/LC_MESSAGES/uim.mo \
- ${libdir}/libuim.so.* \
-"
-FILES_libuim-dev = "${libdir}/libuim*.a \
- ${libdir}/libuim*.la \
- ${libdir}/libuim*.so \
- ${includedir}/uim \
- ${libdir}/pkgconfig/uim.pc \
-"
-FILES_uim-anthy = "${libdir}/uim/plugin/libuim-anthy.* \
- ${datadir}/uim/anthy*.scm \
-"
-FILES_${PN}-dbg += "${libdir}/*/*/*/.debug ${libdir}/*/*/.debug"
-FILES_${PN}-dev += "${libdir}/uim/plugin/*.la"
-
-FILES_uim-utils = "${bindir}/uim-sh \
- ${bindir}/uim-module-manager \
- ${libexecdir}/uim-helper-server \
-"
-FILES_uim-xim = "${bindir}/uim-xim \
- ${libexecdir}/uim-candwin-*gtk \
- ${libexecdir}/uim-candwin-*gtk3 \
- ${datadir}/man/man1/uim-xim.1 \
- ${sysconfdir}/X11/xinit/xinput.d/uim* \
-"
-FILES_uim-common = "${datadir}/uim/pixmaps/*.png \
- ${datadir}/uim \
-"
-FILES_uim-fep = "${bindir}/uim-fep*"
-
-FILES_uim-gtk2.0 = "${libdir}/gtk-2.0 \
- ${bindir}/uim-toolbar-gtk \
- ${bindir}/uim-toolbar-gtk-systray \
- ${bindir}/uim-*-gtk \
- ${bindir}/uim-input-pad-ja \
- ${libdir}/uim/uim-*-gtk \
-"
-FILES_uim-gtk3 = "${libdir}/gtk-3.0 \
- ${bindir}/uim-toolbar-gtk3 \
- ${bindir}/uim-toolbar-gtk3-systray \
- ${bindir}/uim-*-gtk3 \
- ${libdir}/uim/uim-*-gtk3 \
-"
-FILES_uim-skk = "${libdir}/uim/plugin/libuim-skk.* \
- ${datadir}/uim/skk*.scm \
-"
-
-PACKAGE_WRITE_DEPS += "qemu-native"
-pkg_postinst_uim-anthy() {
- if test -n "$D"; then
- ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register anthy --path $D${datadir}/uim
- else
- uim-module-manager --register anthy --path ${datadir}/uim
- fi
-}
-
-pkg_prerm_uim-anthy() {
- if test -n "$D"; then
- ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister anthy
- else
- uim-module-manager --path ${datadir}/uim --unregister anthy
- fi
-}
-
-pkg_postinst_uim-skk() {
- if test -n "$D"; then
- ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register skk --path $D${datadir}/uim
- else
- uim-module-manager --register skk --path ${datadir}/uim
- fi
-}
-
-pkg_postrm_uim-skk() {
- if test -n "$D"; then
- ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister skk
- else
- uim-module-manager --path ${datadir}/uim --unregister skk
- fi
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb b/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
new file mode 100644
index 000000000..8948ebf30
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/uim/uim_1.8.8.bb
@@ -0,0 +1,151 @@
+DESCRIPTION = "A multilingual user input method library"
+HOMEPAGE = "http://uim.freedesktop.org/"
+LICENSE = "BSD-3-Clause & LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ab2826b41ca0ff4030d38cc39791d1c8"
+SECTION = "inputmethods"
+
+SRC_URI = "https://github.com/uim/uim/releases/download/${PV}/uim-${PV}.tar.bz2 \
+ file://0001-Fix-to-set-libedit-path-from-configure-option-proper.patch \
+"
+SRC_URI_append_class-target = "\
+ file://uim-module-manager.patch \
+"
+SRC_URI[md5sum] = "01c7bd5d0d4f3a9f6f5befe6f57a470b"
+SRC_URI[sha256sum] = "34599bbcc4e5ab87832370763e38be5100984a64237555e9234a1ea225a0fadc"
+
+DEPENDS = "anthy fontconfig libxft libxt glib-2.0 ncurses intltool libedit"
+DEPENDS_append_class-target = " intltool-native gtk+ gtk+3 uim-native takao-fonts"
+
+RDEPENDS_uim = "libuim0 libedit"
+RDEPENDS_uim-anthy = "takao-fonts anthy libanthy0"
+RDEPENDS_uim-anthy_append_libc-glibc = " glibc-utils glibc-gconv-euc-jp"
+
+LEAD_SONAME = "libuim.so.1"
+
+COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST_riscv32 = "null"
+
+inherit distro_features_check autotools pkgconfig gettext qemu gtk-immodules-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+GTKIMMODULES_PACKAGES = "uim-gtk2.0 uim-gtk3"
+
+EXTRA_OECONF += "--disable-emacs \
+ --with-libedit=${STAGING_EXECPREFIXDIR} \
+ --without-scim \
+ --without-m17nlib \
+ --without-prime \
+ --without-canna \
+ --without-mana \
+ --without-eb \
+"
+
+CONFIGUREOPTS_remove_class-target = "--disable-silent-rules"
+
+# https://github.com/uim/uim/issues/44
+PARALLEL_MAKE = ""
+
+#Because m4 file's find maxdepth=2, so copy the m4 files of the deep depth.
+do_configure_prepend () {
+ cp ${S}/sigscheme/m4/* ${S}/m4/
+}
+
+do_install_append() {
+ rm -rf ${D}/${datadir}/applications
+}
+
+PACKAGES =+ "uim-xim uim-utils uim-skk uim-gtk2.0 uim-gtk3 uim-fep uim-anthy uim-common libuim0 libuim-dev"
+
+FILES_${PN} = "${bindir}/uim-help \
+ ${libdir}/uim/plugin/libuim-* \
+ ${libdir}/libuim-scm* \
+ ${libdir}/libgcroots* \
+ ${libdir}/uim/plugin/libuim-* \
+"
+
+FILES_libuim0 = "${libdir}/uim/plugin/libuim-custom-enabler.* \
+ ${libdir}/libuim-custom.so.* \
+ ${datadir}/locale/ja/LC_MESSAGES/uim.mo \
+ ${datadir}/locale/fr/LC_MESSAGES/uim.mo \
+ ${datadir}/locale/ko/LC_MESSAGES/uim.mo \
+ ${libdir}/libuim.so.* \
+"
+FILES_libuim-dev = "${libdir}/libuim*.a \
+ ${libdir}/libuim*.la \
+ ${libdir}/libuim*.so \
+ ${includedir}/uim \
+ ${libdir}/pkgconfig/uim.pc \
+"
+FILES_uim-anthy = "${libdir}/uim/plugin/libuim-anthy.* \
+ ${datadir}/uim/anthy*.scm \
+"
+FILES_${PN}-dbg += "${libdir}/*/*/*/.debug ${libdir}/*/*/.debug"
+FILES_${PN}-dev += "${libdir}/uim/plugin/*.la"
+
+FILES_uim-utils = "${bindir}/uim-sh \
+ ${bindir}/uim-module-manager \
+ ${libexecdir}/uim-helper-server \
+"
+FILES_uim-xim = "${bindir}/uim-xim \
+ ${libexecdir}/uim-candwin-*gtk \
+ ${libexecdir}/uim-candwin-*gtk3 \
+ ${datadir}/man/man1/uim-xim.1 \
+ ${sysconfdir}/X11/xinit/xinput.d/uim* \
+"
+FILES_uim-common = "${datadir}/uim/pixmaps/*.png \
+ ${datadir}/uim \
+"
+FILES_uim-fep = "${bindir}/uim-fep*"
+
+FILES_uim-gtk2.0 = "${libdir}/gtk-2.0 \
+ ${bindir}/uim-toolbar-gtk \
+ ${bindir}/uim-toolbar-gtk-systray \
+ ${bindir}/uim-*-gtk \
+ ${bindir}/uim-input-pad-ja \
+ ${libdir}/uim/uim-*-gtk \
+"
+FILES_uim-gtk3 = "${libdir}/gtk-3.0 \
+ ${bindir}/uim-toolbar-gtk3 \
+ ${bindir}/uim-toolbar-gtk3-systray \
+ ${bindir}/uim-*-gtk3 \
+ ${libdir}/uim/uim-*-gtk3 \
+"
+FILES_uim-skk = "${libdir}/uim/plugin/libuim-skk.* \
+ ${datadir}/uim/skk*.scm \
+"
+
+PACKAGE_WRITE_DEPS += "qemu-native"
+pkg_postinst_uim-anthy() {
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register anthy --path $D${datadir}/uim
+ else
+ uim-module-manager --register anthy --path ${datadir}/uim
+ fi
+}
+
+pkg_prerm_uim-anthy() {
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister anthy
+ else
+ uim-module-manager --path ${datadir}/uim --unregister anthy
+ fi
+}
+
+pkg_postinst_uim-skk() {
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register skk --path $D${datadir}/uim
+ else
+ uim-module-manager --register skk --path ${datadir}/uim
+ fi
+}
+
+pkg_postrm_uim-skk() {
+ if test -n "$D"; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister skk
+ else
+ uim-module-manager --path ${datadir}/uim --unregister skk
+ fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb b/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb
index 563badf57..61378fec2 100644
--- a/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb
+++ b/meta-openembedded/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb
@@ -6,7 +6,7 @@ HOMEPAGE = "http://www.unixodbc.org/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7b37bf80a3df5a65b355433ae36d206"
-DEPENDS = "libtool mysql5"
+DEPENDS = "libtool readline"
SRC_URI = "http://ftp.unixodbc.org/unixODBC-${PV}.tar.gz \
file://do-not-use-libltdl-source-directory.patch \
diff --git a/meta-openembedded/meta-oe/recipes-support/upower/upower/0001-linux-lower-severity-of-unhandled-action-messages.patch b/meta-openembedded/meta-oe/recipes-support/upower/upower/0001-linux-lower-severity-of-unhandled-action-messages.patch
deleted file mode 100644
index de89dc01c..000000000
--- a/meta-openembedded/meta-oe/recipes-support/upower/upower/0001-linux-lower-severity-of-unhandled-action-messages.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f64b6ce8054b47e5bdcc8c4c7965534b388e6151 Mon Sep 17 00:00:00 2001
-From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
-Date: Fri, 6 Apr 2018 11:26:54 -0700
-Subject: [PATCH] linux: lower severity of "unhandled action" messages
-
-Newer kernels emit bind/unbind uevents that are not of interest to
-powerd. To avoid littering logs with scary messages, let's lower their
-severity to "debug".
-
-https://bugs.freedesktop.org/show_bug.cgi?id=106019
-
-Upstream-Status: Backport
----
- src/linux/up-backend.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/linux/up-backend.c b/src/linux/up-backend.c
-index e668dc8..b8021e7 100644
---- a/src/linux/up-backend.c
-+++ b/src/linux/up-backend.c
-@@ -273,7 +273,7 @@ up_backend_uevent_signal_handler_cb (GUdevClient *client, const gchar *action,
- g_debug ("SYSFS change %s", g_udev_device_get_sysfs_path (device));
- up_backend_device_changed (backend, device);
- } else {
-- g_warning ("unhandled action '%s' on %s", action, g_udev_device_get_sysfs_path (device));
-+ g_debug ("unhandled action '%s' on %s", action, g_udev_device_get_sysfs_path (device));
- }
- }
-
---
-2.17.0.484.g0c8726318c-goog
diff --git a/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.11.bb b/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.11.bb
new file mode 100644
index 000000000..c4cc62711
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.11.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. "
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08"
+
+DEPENDS = "intltool-native libusb1 libgudev glib-2.0 dbus-glib"
+
+SRC_URI = " \
+ http://upower.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+"
+SRC_URI[md5sum] = "abe6acb617f11f2e8dbd9846fcf86e24"
+SRC_URI[sha256sum] = "64b5ffbfccd5bdb15d925777979a4dbee1a957f9eaeb158dc76175267eddbdef"
+
+inherit autotools pkgconfig gettext gobject-introspection systemd distro_features_check
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
+PACKAGECONFIG[systemd] = "--with-systemdutildir=${systemd_unitdir} --with-systemdsystemunitdir=${systemd_system_unitdir}, \
+ --without-systemdutildir --without-systemdsystemunitdir,systemd"
+
+EXTRA_OECONF = " --with-backend=linux"
+
+SYSTEMD_SERVICE_${PN} = "upower.service"
+# don't start on boot by default - dbus does that on demand
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_configure_prepend() {
+ sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
+ sed -i -e 's: doc : :g' ${S}/Makefile.am
+}
+
+RDEPENDS_${PN} += "dbus"
+RRECOMMENDS_${PN} += "pm-utils"
+FILES_${PN} += "${datadir}/dbus-1/ \
+ ${base_libdir}/udev/* \
+"
diff --git a/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb b/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb
deleted file mode 100644
index 3fd91e958..000000000
--- a/meta-openembedded/meta-oe/recipes-support/upower/upower_0.99.7.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. "
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08"
-
-DEPENDS = "intltool-native libusb1 libgudev glib-2.0 dbus-glib polkit"
-
-SRC_URI = " \
- http://upower.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
- file://0001-linux-lower-severity-of-unhandled-action-messages.patch \
-"
-SRC_URI[md5sum] = "236bb439d9ff1151450b3d8582399532"
-SRC_URI[sha256sum] = "24bcc2f6ab25a2533bac70b587bcb019e591293076920f5b5e04bdedc140a401"
-
-inherit autotools pkgconfig gettext gobject-introspection systemd distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "polkit"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
-PACKAGECONFIG[systemd] = "--with-systemdutildir=${systemd_unitdir} --with-systemdsystemunitdir=${systemd_system_unitdir}, \
- --without-systemdutildir --without-systemdsystemunitdir,systemd"
-
-EXTRA_OECONF = " --with-backend=linux"
-
-SYSTEMD_SERVICE_${PN} = "upower.service"
-# don't start on boot by default - dbus does that on demand
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_configure_prepend() {
- sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
- sed -i -e 's: doc : :g' ${S}/Makefile.am
-}
-
-RDEPENDS_${PN} += "dbus"
-RRECOMMENDS_${PN} += "pm-utils"
-FILES_${PN} += "${datadir}/dbus-1/ \
- ${datadir}/polkit-1/ \
- ${base_libdir}/udev/* \
-"
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 d01a06cae..09cef44a8 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
@@ -41,5 +41,6 @@ do_install_ptest() {
# The main package is empty and non-existent, so -dev
# should not depend on it...
RDEPENDS_${PN}-dev = ""
+RDEPENDS_${PN}-ptest_remove = "${PN}"
BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb
index e394f34c7..0f8d7af3f 100644
--- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb
+++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_5.2.22.bb
@@ -78,3 +78,6 @@ FILES_${PN} = "${base_sbindir}"
# autoload if installed
KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
+
+PNBLACKLIST[vboxguestdrivers] = "Needs forward porting to kernel 5.2+"
+
diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Fix-issue-599.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Fix-issue-599.patch
deleted file mode 100644
index 2a9ea74cd..000000000
--- a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Fix-issue-599.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 1dd07113f2a7489444a8990a95be42e035f8e9df Mon Sep 17 00:00:00 2001
-From: Kurt Roeckx <kroeckx@debian.org>
-Date: Tue, 1 Nov 2016 12:57:35 +0100
-Subject: [PATCH] Fix issue #599
-Forwarded: https://github.com/zaphoyd/websocketpp/pull/600
-
----
- websocketpp/transport/asio/security/tls.hpp | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp
-index 7b32db8..a8aafec 100644
---- a/websocketpp/transport/asio/security/tls.hpp
-+++ b/websocketpp/transport/asio/security/tls.hpp
-@@ -355,13 +355,9 @@ protected:
- template <typename ErrorCodeType>
- lib::error_code translate_ec(ErrorCodeType ec) {
- if (ec.category() == lib::asio::error::get_ssl_category()) {
-- if (ERR_GET_REASON(ec.value()) == SSL_R_SHORT_READ) {
-- return make_error_code(transport::error::tls_short_read);
-- } else {
- // We know it is a TLS related error, but otherwise don't know
- // more. Pass through as TLS generic.
- return make_error_code(transport::error::tls_error);
-- }
- } else {
- // We don't know any more information about this error so pass
- // through
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Replace-make_shared-with-new-in-some-cases.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Replace-make_shared-with-new-in-some-cases.patch
new file mode 100644
index 000000000..0c8285df9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0001-Replace-make_shared-with-new-in-some-cases.patch
@@ -0,0 +1,78 @@
+From 080fc37949114184d4832f7acffe2613745833f3 Mon Sep 17 00:00:00 2001
+From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
+Date: Tue, 16 Apr 2019 08:38:01 +0200
+Subject: [PATCH 1/2] Replace make_shared with new in some cases
+
+Replace make_shared for asio types that take a lib::ref as a parameter.
+This should fix the ASIO change (boostorg/asio@59066d8) for 1.70,
+while keeping it backwards compatible to older boost versions.
+---
+ websocketpp/transport/asio/connection.hpp | 7 ++++---
+ websocketpp/transport/asio/endpoint.hpp | 3 +--
+ websocketpp/transport/asio/security/none.hpp | 3 +--
+ websocketpp/transport/asio/security/tls.hpp | 3 +--
+ 4 files changed, 7 insertions(+), 9 deletions(-)
+
+diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
+index 60f88a7..1ccda8f 100644
+--- a/websocketpp/transport/asio/connection.hpp
++++ b/websocketpp/transport/asio/connection.hpp
+@@ -311,9 +311,10 @@ public:
+ * needed.
+ */
+ timer_ptr set_timer(long duration, timer_handler callback) {
+- timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>(
+- lib::ref(*m_io_service),
+- lib::asio::milliseconds(duration)
++ timer_ptr new_timer(
++ new lib::asio::steady_timer(
++ *m_io_service,
++ lib::asio::milliseconds(duration))
+ );
+
+ if (config::enable_multithreading) {
+diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
+index ddab2c7..4b719a9 100644
+--- a/websocketpp/transport/asio/endpoint.hpp
++++ b/websocketpp/transport/asio/endpoint.hpp
+@@ -195,8 +195,7 @@ public:
+
+ m_io_service = ptr;
+ m_external_io_service = true;
+- m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>(
+- lib::ref(*m_io_service));
++ m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service));
+
+ m_state = READY;
+ ec = lib::error_code();
+diff --git a/websocketpp/transport/asio/security/none.hpp b/websocketpp/transport/asio/security/none.hpp
+index 5c8293d..6c7d352 100644
+--- a/websocketpp/transport/asio/security/none.hpp
++++ b/websocketpp/transport/asio/security/none.hpp
+@@ -168,8 +168,7 @@ protected:
+ return socket::make_error_code(socket::error::invalid_state);
+ }
+
+- m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
+- lib::ref(*service));
++ m_socket.reset(new lib::asio::ip::tcp::socket(*service));
+
+ if (m_socket_init_handler) {
+ m_socket_init_handler(m_hdl, *m_socket);
+diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp
+index c76fd9a..04ac379 100644
+--- a/websocketpp/transport/asio/security/tls.hpp
++++ b/websocketpp/transport/asio/security/tls.hpp
+@@ -193,8 +193,7 @@ protected:
+ if (!m_context) {
+ return socket::make_error_code(socket::error::invalid_tls_context);
+ }
+- m_socket = lib::make_shared<socket_type>(
+- _WEBSOCKETPP_REF(*service),lib::ref(*m_context));
++ m_socket.reset(new socket_type(*service, *m_context));
+
+ if (m_socket_init_handler) {
+ m_socket_init_handler(m_hdl, get_socket());
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0002-Fix-missed-entries-fix-testing.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0002-Fix-missed-entries-fix-testing.patch
new file mode 100644
index 000000000..962d08967
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/0002-Fix-missed-entries-fix-testing.patch
@@ -0,0 +1,66 @@
+From 12ab603ca962e83591985a585451d33544d75d56 Mon Sep 17 00:00:00 2001
+From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
+Date: Wed, 17 Apr 2019 10:06:18 +0000
+Subject: [PATCH 2/2] Fix missed entries; fix testing
+
+---
+ CMakeLists.txt | 2 +-
+ websocketpp/transport/asio/connection.hpp | 3 +--
+ websocketpp/transport/asio/endpoint.hpp | 7 ++-----
+ 3 files changed, 4 insertions(+), 8 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2786aba..951de97 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -202,7 +202,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
+ endif ()
+
+ if (NOT Boost_USE_STATIC_LIBS)
+- add_definitions (/DBOOST_TEST_DYN_LINK)
++ add_definitions (-DBOOST_TEST_DYN_LINK)
+ endif ()
+
+ set (Boost_FIND_REQUIRED TRUE)
+diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
+index 1ccda8f..57dda74 100644
+--- a/websocketpp/transport/asio/connection.hpp
++++ b/websocketpp/transport/asio/connection.hpp
+@@ -462,8 +462,7 @@ protected:
+ m_io_service = io_service;
+
+ if (config::enable_multithreading) {
+- m_strand = lib::make_shared<lib::asio::io_service::strand>(
+- lib::ref(*io_service));
++ m_strand.reset(new lib::asio::io_service::strand(*io_service));
+ }
+
+ lib::error_code ec = socket_con_type::init_asio(io_service, m_strand,
+diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
+index 4b719a9..94509ad 100644
+--- a/websocketpp/transport/asio/endpoint.hpp
++++ b/websocketpp/transport/asio/endpoint.hpp
+@@ -687,9 +687,7 @@ public:
+ * @since 0.3.0
+ */
+ void start_perpetual() {
+- m_work = lib::make_shared<lib::asio::io_service::work>(
+- lib::ref(*m_io_service)
+- );
++ m_work.reset(new lib::asio::io_service::work(*m_io_service));
+ }
+
+ /// Clears the endpoint's perpetual flag, allowing it to exit when empty
+@@ -853,8 +851,7 @@ protected:
+
+ // Create a resolver
+ if (!m_resolver) {
+- m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>(
+- lib::ref(*m_io_service));
++ m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service));
+ }
+
+ tcon->set_uri(u);
+--
+2.23.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch
deleted file mode 100644
index 530c960ce..000000000
--- a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From 4cab5e5c0c5f19fcee7d37b4a38b156d63a150d4 Mon Sep 17 00:00:00 2001
-From: Peter Thorson <git@zaphoyd.com>
-Date: Sun, 11 Jun 2017 16:13:25 -0500
-Subject: [PATCH] minor adjustments to recent extension negotiation related
- fixes, refactor a bit more extension negotiation code to be simpler
-
----
- websocketpp/impl/connection_impl.hpp | 6 +--
- websocketpp/processors/hybi13.hpp | 92 ++++++++++++++++++------------------
- 2 files changed, 49 insertions(+), 49 deletions(-)
-
-Index: websocketpp-0.7.0/websocketpp/impl/connection_impl.hpp
-===================================================================
---- websocketpp-0.7.0.orig/websocketpp/impl/connection_impl.hpp
-+++ websocketpp-0.7.0/websocketpp/impl/connection_impl.hpp
-@@ -1222,17 +1222,17 @@
- std::pair<lib::error_code,std::string> neg_results;
- neg_results = m_processor->negotiate_extensions(m_request);
-
-- if (neg_results.first == error::make_error_code(error::extension_parse_error)) {
-+ if (neg_results.first == processor::error::make_error_code(processor::error::extension_parse_error)) {
- // There was a fatal error in extension parsing that should result in
- // a failed connection attempt.
-- m_alog.write(log::alevel::info, "Bad request: " + neg_results.first.message());
-+ m_elog.write(log::elevel::info, "Bad request: " + neg_results.first.message());
- m_response.set_status(http::status_code::bad_request);
- return neg_results.first;
- } else if (neg_results.first) {
- // There was a fatal error in extension processing that is probably our
- // fault. Consider extension negotiation to have failed and continue as
- // if extensions were not supported
-- m_alog.write(log::alevel::info,
-+ m_elog.write(log::elevel::info,
- "Extension negotiation failed: " + neg_results.first.message());
- } else {
- // extension negotiation succeeded, set response header accordingly
-Index: websocketpp-0.7.0/websocketpp/processors/hybi13.hpp
-===================================================================
---- websocketpp-0.7.0.orig/websocketpp/processors/hybi13.hpp
-+++ websocketpp-0.7.0/websocketpp/processors/hybi13.hpp
-@@ -97,11 +97,6 @@
- /**
- * This exists mostly because the code for requests and responses is
- * identical and I can't have virtual template methods.
-- *
-- * NOTE: this method makes assumptions that the permessage-deflate
-- * extension is the only one supported. If additional extensions are
-- * ever supported it should be reviewed carefully. Most cases where
-- * that assumption is made are explicitly noted.
- */
- template <typename header_type>
- err_str_pair negotiate_extensions_helper(header_type const & header) {
-@@ -130,55 +125,60 @@
-
- http::parameter_list::const_iterator it;
-
-+ // look through the list of extension requests to find the first
-+ // one that we can accept.
- if (m_permessage_deflate.is_implemented()) {
- err_str_pair neg_ret;
- for (it = p.begin(); it != p.end(); ++it) {
-- // look through each extension, if the key is permessage-deflate
-- if (it->first == "permessage-deflate") {
-- // if we have already successfully negotiated this extension
-- // then skip any other requests to negotiate the same one
-- // with different parameters
-- if (m_permessage_deflate.is_enabled()) {
-- continue;
-- }
--
--
-- neg_ret = m_permessage_deflate.negotiate(it->second);
--
-- if (neg_ret.first) {
-- // Figure out if this is an error that should halt all
-- // extension negotiations or simply cause negotiation of
-- // this specific extension to fail.
-- //std::cout << "permessage-compress negotiation failed: "
-- // << neg_ret.first.message() << std::endl;
-- } else {
-- // Note: this list will need commas if WebSocket++ ever
-- // supports more than one extension
--
-- // Actually try to initialize the extension before we
-- // deem negotiation complete
-- ret.first = m_permessage_deflate.init(base::m_server);
-- if (!ret.first) {
--
-- // TODO: support multiple extensions.
-- // right now, because there is only one extension
-- // supported, it failing to negotiate means we are
-- // done with all negotiating. In the future if more
-- // extensions are supported a better solution will
-- // be needed here.
-- break;
-- } else {
-- ret.second += neg_ret.second;
--
-- // continue looking for more extensions
-- continue;
-- }
--
-- }
-+ // not a permessage-deflate extension request, ignore
-+ if (it->first != "permessage-deflate") {
-+ continue;
-+ }
-+
-+ // if we have already successfully negotiated this extension
-+ // then skip any other requests to negotiate the same one
-+ // with different parameters
-+ if (m_permessage_deflate.is_enabled()) {
-+ continue;
-+ }
-+
-+ // attempt to negotiate this offer
-+ neg_ret = m_permessage_deflate.negotiate(it->second);
-+
-+ if (neg_ret.first) {
-+ // negotiation offer failed. Do nothing. We will continue
-+ // searching for a permessage-deflate config that succeeds
-+ continue;
-+ }
-+
-+ // Negotiation tentatively succeeded
-+
-+ // Actually try to initialize the extension before we
-+ // deem negotiation complete
-+ lib::error_code ec = m_permessage_deflate.init(base::m_server);
-+
-+ if (ec) {
-+ // Negotiation succeeded but initialization failed this is
-+ // an error that should stop negotiation of permessage
-+ // deflate. Return the reason for the init failure
-+
-+ ret.first = ec;
-+ break;
-+ } else {
-+ // Successfully initialized, push the negotiated response into
-+ // the reply and stop looking for additional permessage-deflate
-+ // extensions
-+ ret.second += neg_ret.second;
-+ break;
- }
- }
- }
-
-+ // support for future extensions would go here. Should check the value of
-+ // ret.first before continuing. Might need to consider whether failure of
-+ // negotiation of an earlier extension should stop negotiation of subsequent
-+ // ones
-+
- return ret;
- }
-
diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch
deleted file mode 100644
index 94bfeb2fd..000000000
--- a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/9ddb300d874a30db35e3ad58f188944bef0bf31b.patch
+++ /dev/null
@@ -1,600 +0,0 @@
-## Description: add some description
-## Origin/Author: add some origin or author
-## Bug: bug URL
-From 9ddb300d874a30db35e3ad58f188944bef0bf31b Mon Sep 17 00:00:00 2001
-From: Peter Thorson <git@zaphoyd.com>
-Date: Sun, 11 Jun 2017 15:24:43 -0500
-Subject: [PATCH] Update permessage-deflate support to reflect that zlib
- doesn't support a 256 bit window. Improve extension negotiation error
- checking and documentation. fixes #596 fixes #653
-
----
- changelog.md | 8 ++
- test/extension/permessage_deflate.cpp | 153 +++++++++++++++++----
- .../extensions/permessage_deflate/enabled.hpp | 94 ++++++++++---
- websocketpp/impl/connection_impl.hpp | 10 +-
- websocketpp/processors/hybi13.hpp | 28 +++-
- 5 files changed, 247 insertions(+), 46 deletions(-)
-
-diff --git a/changelog.md b/changelog.md
-index bba753cb..de98edd2 100644
-#--- a/changelog.md
-#+++ b/changelog.md
-#@@ -17,6 +17,14 @@ HEAD
-# - Compatibility: Update `telemetry_client` to use a slightly more cross platform
-# method of sleeping. Should work on windows now. Thank you Meir Yanovich for
-# reporting.
-#+- Compatibility: Updated permessage-deflate support to reflect that the zlib
-#+ library does not actually support a sliding window size of 256 bits.
-#+ WebSocket++ will no longer negotiate 256 bit deflate windows. If the user
-#+ of the library tries to request a 256 bit window a 512 bit window will be
-#+ specified instead (This was the previous behavior). #596 #653 Thank you
-#+ Vinnie Falco and Gianfranco Costamagna for reporting.
-#+- Compatibility: Better error handling and logging in cases where extension
-#+ requests parse correctly but negotiation fails.
-# - Bug: Store loggers in shared pointers to avoid crashes related to connections
-# trying to write logs entries after their respective endpoint has been
-# deallocated. Thank you Thalhammer for reporting and Jupp Müller for the
-diff --git a/test/extension/permessage_deflate.cpp b/test/extension/permessage_deflate.cpp
-index 4cd3e7b6..805afcc3 100644
---- a/test/extension/permessage_deflate.cpp
-+++ b/test/extension/permessage_deflate.cpp
-@@ -186,15 +186,22 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_invalid ) {
-
- BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_valid ) {
- ext_vars v;
-+
-+ // confirm that a request for a value of 8 is interpreted as 9
- v.attr["server_max_window_bits"] = "8";
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
-
-+ v.attr["server_max_window_bits"] = "9";
- v.esp = v.exts.negotiate(v.attr);
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
-
-- v.attr["server_max_window_bits"] = "15";
-
-+ v.attr["server_max_window_bits"] = "15";
- v.esp = v.exts.negotiate(v.attr);
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-@@ -213,7 +220,7 @@ BOOST_AUTO_TEST_CASE( invalid_set_server_max_window_bits ) {
-
- BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_decline ) {
- ext_vars v;
-- v.attr["server_max_window_bits"] = "8";
-+ v.attr["server_max_window_bits"] = "9";
-
- v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::decline);
- v.esp = v.exts.negotiate(v.attr);
-@@ -223,7 +230,7 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_decline ) {
- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept ) {
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept_8 ) {
- ext_vars v;
- v.attr["server_max_window_bits"] = "8";
-
-@@ -232,10 +239,22 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest ) {
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_accept ) {
-+ ext_vars v;
-+ v.attr["server_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::accept);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest_8 ) {
- ext_vars v;
- v.attr["server_max_window_bits"] = "8";
-
-@@ -244,10 +263,22 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest ) {
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_largest ) {
-+ ext_vars v;
-+ v.attr["server_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::largest);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest_8 ) {
- ext_vars v;
- v.attr["server_max_window_bits"] = "8";
-
-@@ -256,7 +287,19 @@ BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_server_max_window_bits_smallest ) {
-+ ext_vars v;
-+ v.attr["server_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_server_max_window_bits(15,pmd_mode::smallest);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; server_max_window_bits=9");
- }
-
- // Negotiate server_max_window_bits
-@@ -292,7 +335,13 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_valid ) {
- v.esp = v.exts.negotiate(v.attr);
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
-+
-+ v.attr["client_max_window_bits"] = "9";
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
-
- v.attr["client_max_window_bits"] = "15";
- v.esp = v.exts.negotiate(v.attr);
-@@ -311,7 +360,7 @@ BOOST_AUTO_TEST_CASE( invalid_set_client_max_window_bits ) {
- BOOST_CHECK_EQUAL(v.ec,pmde::make_error_code(pmde::invalid_max_window_bits));
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline ) {
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline_8 ) {
- ext_vars v;
- v.attr["client_max_window_bits"] = "8";
-
-@@ -323,7 +372,19 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline ) {
- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept ) {
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_decline ) {
-+ ext_vars v;
-+ v.attr["client_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_client_max_window_bits(9,pmd_mode::decline);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept_8 ) {
- ext_vars v;
- v.attr["client_max_window_bits"] = "8";
-
-@@ -332,10 +393,22 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest ) {
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_accept ) {
-+ ext_vars v;
-+ v.attr["client_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_client_max_window_bits(15,pmd_mode::accept);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest_8 ) {
- ext_vars v;
- v.attr["client_max_window_bits"] = "8";
-
-@@ -344,10 +417,22 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
- }
-
--BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest ) {
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_largest ) {
-+ ext_vars v;
-+ v.attr["client_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_client_max_window_bits(15,pmd_mode::largest);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest_8 ) {
- ext_vars v;
- v.attr["client_max_window_bits"] = "8";
-
-@@ -356,7 +441,19 @@ BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest ) {
- BOOST_CHECK( v.exts.is_enabled() );
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
- BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-- BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=8");
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
-+}
-+
-+BOOST_AUTO_TEST_CASE( negotiate_client_max_window_bits_smallest ) {
-+ ext_vars v;
-+ v.attr["client_max_window_bits"] = "9";
-+
-+ v.ec = v.exts.set_client_max_window_bits(15,pmd_mode::smallest);
-+ v.esp = v.exts.negotiate(v.attr);
-+ BOOST_CHECK( v.exts.is_enabled() );
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.first, websocketpp::lib::error_code() );
-+ BOOST_CHECK_EQUAL( v.esp.second, "permessage-deflate; client_max_window_bits=9");
- }
-
-
-@@ -507,7 +604,8 @@ BOOST_AUTO_TEST_CASE( compress_data ) {
- std::string compress_out;
- std::string decompress_out;
-
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- v.ec = v.exts.compress(compress_in,compress_out);
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-@@ -520,7 +618,8 @@ BOOST_AUTO_TEST_CASE( compress_data ) {
- BOOST_AUTO_TEST_CASE( compress_data_multiple ) {
- ext_vars v;
-
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- for (int i = 0; i < 2; i++) {
- std::string compress_in = "Hello";
-@@ -545,11 +644,12 @@ BOOST_AUTO_TEST_CASE( compress_data_large ) {
-
- websocketpp::http::attribute_list alist;
-
-- alist["server_max_window_bits"] = "8";
-- v.exts.set_server_max_window_bits(8,websocketpp::extensions::permessage_deflate::mode::smallest);
-+ alist["server_max_window_bits"] = "9";
-+ v.exts.set_server_max_window_bits(9,websocketpp::extensions::permessage_deflate::mode::smallest);
-
- v.exts.negotiate(alist);
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- v.ec = v.exts.compress(compress_in,compress_out);
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-@@ -573,7 +673,8 @@ BOOST_AUTO_TEST_CASE( compress_data_no_context_takeover ) {
- v.exts.enable_server_no_context_takeover();
-
- v.exts.negotiate(alist);
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- v.ec = v.exts.compress(compress_in,compress_out1);
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-@@ -609,7 +710,8 @@ BOOST_AUTO_TEST_CASE( compress_empty ) {
- std::string compress_out;
- std::string decompress_out;
-
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- v.ec = v.exts.compress(compress_in,compress_out);
- BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-@@ -640,7 +742,8 @@ BOOST_AUTO_TEST_CASE( decompress_data ) {
- std::string out;
- std::string reference = "Hello";
-
-- v.exts.init(true);
-+ v.ec = v.exts.init(true);
-+ BOOST_CHECK_EQUAL( v.ec, websocketpp::lib::error_code() );
-
- v.ec = v.exts.decompress(in,11,out);
-
-diff --git a/websocketpp/extensions/permessage_deflate/enabled.hpp b/websocketpp/extensions/permessage_deflate/enabled.hpp
-index 1581f14c..f20a1b1d 100644
---- a/websocketpp/extensions/permessage_deflate/enabled.hpp
-+++ b/websocketpp/extensions/permessage_deflate/enabled.hpp
-@@ -46,7 +46,7 @@
- namespace websocketpp {
- namespace extensions {
-
--/// Implementation of the draft permessage-deflate WebSocket extension
-+/// Implementation of RFC 7692, the permessage-deflate WebSocket extension
- /**
- * ### permessage-deflate interface
- *
-@@ -174,18 +174,30 @@ namespace websocketpp {
- namespace extensions {
- namespace permessage_deflate {
-
--/// Default value for server_max_window_bits as defined by draft 17
-+/// Default value for server_max_window_bits as defined by RFC 7692
- static uint8_t const default_server_max_window_bits = 15;
--/// Minimum value for server_max_window_bits as defined by draft 17
-+/// Minimum value for server_max_window_bits as defined by RFC 7692
-+/**
-+ * NOTE: A value of 8 is not actually supported by zlib, the deflate
-+ * library that WebSocket++ uses. To preserve backwards compatibility
-+ * with RFC 7692 and previous versions of the library a value of 8
-+ * is accepted by the library but will always be negotiated as 9.
-+ */
- static uint8_t const min_server_max_window_bits = 8;
--/// Maximum value for server_max_window_bits as defined by draft 17
-+/// Maximum value for server_max_window_bits as defined by RFC 7692
- static uint8_t const max_server_max_window_bits = 15;
-
--/// Default value for client_max_window_bits as defined by draft 17
-+/// Default value for client_max_window_bits as defined by RFC 7692
- static uint8_t const default_client_max_window_bits = 15;
--/// Minimum value for client_max_window_bits as defined by draft 17
-+/// Minimum value for client_max_window_bits as defined by RFC 7692
-+/**
-+ * NOTE: A value of 8 is not actually supported by zlib, the deflate
-+ * library that WebSocket++ uses. To preserve backwards compatibility
-+ * with RFC 7692 and previous versions of the library a value of 8
-+ * is accepted by the library but will always be negotiated as 9.
-+ */
- static uint8_t const min_client_max_window_bits = 8;
--/// Maximum value for client_max_window_bits as defined by draft 17
-+/// Maximum value for client_max_window_bits as defined by RFC 7692
- static uint8_t const max_client_max_window_bits = 15;
-
- namespace mode {
-@@ -372,7 +384,7 @@ class enabled {
- /**
- * The bits setting is the base 2 logarithm of the maximum window size that
- * the server must use to compress outgoing messages. The permitted range
-- * is 8 to 15 inclusive. 8 represents a 256 byte window and 15 a 32KiB
-+ * is 9 to 15 inclusive. 9 represents a 512 byte window and 15 a 32KiB
- * window. The default setting is 15.
- *
- * Mode Options:
-@@ -386,6 +398,14 @@ class enabled {
- * adjusted by the server. A server may unilaterally set this value without
- * client support.
- *
-+ * NOTE: The permessage-deflate spec specifies that a value of 8 is allowed.
-+ * Prior to version 0.8.0 a value of 8 was also allowed by this library.
-+ * zlib, the deflate compression library that WebSocket++ uses has always
-+ * silently adjusted a value of 8 to 9. In recent versions of zlib (1.2.9
-+ * and greater) a value of 8 is now explicitly rejected. WebSocket++ 0.8.0
-+ * continues to perform the 8->9 conversion for backwards compatibility
-+ * purposes but this should be considered deprecated functionality.
-+ *
- * @param bits The size to request for the outgoing window size
- * @param mode The mode to use for negotiating this parameter
- * @return A status code
-@@ -394,6 +414,12 @@ class enabled {
- if (bits < min_server_max_window_bits || bits > max_server_max_window_bits) {
- return error::make_error_code(error::invalid_max_window_bits);
- }
-+
-+ // See note in doc comment above about what is happening here
-+ if (bits == 8) {
-+ bits = 9;
-+ }
-+
- m_server_max_window_bits = bits;
- m_server_max_window_bits_mode = mode;
-
-@@ -403,8 +429,8 @@ class enabled {
- /// Limit client LZ77 sliding window size
- /**
- * The bits setting is the base 2 logarithm of the window size that the
-- * client must use to compress outgoing messages. The permitted range is 8
-- * to 15 inclusive. 8 represents a 256 byte window and 15 a 32KiB window.
-+ * client must use to compress outgoing messages. The permitted range is 9
-+ * to 15 inclusive. 9 represents a 512 byte window and 15 a 32KiB window.
- * The default setting is 15.
- *
- * Mode Options:
-@@ -417,6 +443,14 @@ class enabled {
- * outgoing window size unilaterally. A server may only limit the client's
- * window size if the remote client supports that feature.
- *
-+ * NOTE: The permessage-deflate spec specifies that a value of 8 is allowed.
-+ * Prior to version 0.8.0 a value of 8 was also allowed by this library.
-+ * zlib, the deflate compression library that WebSocket++ uses has always
-+ * silently adjusted a value of 8 to 9. In recent versions of zlib (1.2.9
-+ * and greater) a value of 8 is now explicitly rejected. WebSocket++ 0.8.0
-+ * continues to perform the 8->9 conversion for backwards compatibility
-+ * purposes but this should be considered deprecated functionality.
-+ *
- * @param bits The size to request for the outgoing window size
- * @param mode The mode to use for negotiating this parameter
- * @return A status code
-@@ -425,6 +459,12 @@ class enabled {
- if (bits < min_client_max_window_bits || bits > max_client_max_window_bits) {
- return error::make_error_code(error::invalid_max_window_bits);
- }
-+
-+ // See note in doc comment above about what is happening here
-+ if (bits == 8) {
-+ bits = 9;
-+ }
-+
- m_client_max_window_bits = bits;
- m_client_max_window_bits_mode = mode;
-
-@@ -642,11 +682,17 @@ class enabled {
- * client requested that we use.
- *
- * options:
-- * - decline (refuse to use the attribute)
-- * - accept (use whatever the client says)
-- * - largest (use largest possible value)
-+ * - decline (ignore value, offer our default instead)
-+ * - accept (use the value requested by the client)
-+ * - largest (use largest value acceptable to both)
- * - smallest (use smallest possible value)
- *
-+ * NOTE: As a value of 8 is no longer explicitly supported by zlib but might
-+ * be requested for negotiation by an older client/server, if the result of
-+ * the negotiation would be to send a value of 8, a value of 9 is offered
-+ * instead. This ensures that WebSocket++ will only ever negotiate connections
-+ * with compression settings explicitly supported by zlib.
-+ *
- * @param [in] value The value of the attribute from the offer
- * @param [out] ec A reference to the error code to return errors via
- */
-@@ -678,6 +724,11 @@ class enabled {
- ec = make_error_code(error::invalid_mode);
- m_server_max_window_bits = default_server_max_window_bits;
- }
-+
-+ // See note in doc comment
-+ if (m_server_max_window_bits == 8) {
-+ m_server_max_window_bits = 9;
-+ }
- }
-
- /// Negotiate client_max_window_bits attribute
-@@ -687,11 +738,17 @@ class enabled {
- * negotiation mode.
- *
- * options:
-- * - decline (refuse to use the attribute)
-- * - accept (use whatever the client says)
-- * - largest (use largest possible value)
-+ * - decline (ignore value, offer our default instead)
-+ * - accept (use the value requested by the client)
-+ * - largest (use largest value acceptable to both)
- * - smallest (use smallest possible value)
- *
-+ * NOTE: As a value of 8 is no longer explicitly supported by zlib but might
-+ * be requested for negotiation by an older client/server, if the result of
-+ * the negotiation would be to send a value of 8, a value of 9 is offered
-+ * instead. This ensures that WebSocket++ will only ever negotiate connections
-+ * with compression settings explicitly supported by zlib.
-+ *
- * @param [in] value The value of the attribute from the offer
- * @param [out] ec A reference to the error code to return errors via
- */
-@@ -727,6 +784,11 @@ class enabled {
- ec = make_error_code(error::invalid_mode);
- m_client_max_window_bits = default_client_max_window_bits;
- }
-+
-+ // See note in doc comment
-+ if (m_client_max_window_bits == 8) {
-+ m_client_max_window_bits = 9;
-+ }
- }
-
- bool m_enabled;
-diff --git a/websocketpp/impl/connection_impl.hpp b/websocketpp/impl/connection_impl.hpp
-index 105911db..ae55c338 100644
---- a/websocketpp/impl/connection_impl.hpp
-+++ b/websocketpp/impl/connection_impl.hpp
-@@ -1222,12 +1222,18 @@ lib::error_code connection<config>::process_handshake_request() {
- std::pair<lib::error_code,std::string> neg_results;
- neg_results = m_processor->negotiate_extensions(m_request);
-
-- if (neg_results.first) {
-+ if (neg_results.first == error::make_error_code(error::extension_parse_error)) {
- // There was a fatal error in extension parsing that should result in
- // a failed connection attempt.
-- m_alog.write(log::alevel::devel, "Bad request: " + neg_results.first.message());
-+ m_alog.write(log::alevel::info, "Bad request: " + neg_results.first.message());
- m_response.set_status(http::status_code::bad_request);
- return neg_results.first;
-+ } else if (neg_results.first) {
-+ // There was a fatal error in extension processing that is probably our
-+ // fault. Consider extension negotiation to have failed and continue as
-+ // if extensions were not supported
-+ m_alog.write(log::alevel::info,
-+ "Extension negotiation failed: " + neg_results.first.message());
- } else {
- // extension negotiation succeeded, set response header accordingly
- // we don't send an empty extensions header because it breaks many
-diff --git a/websocketpp/processors/hybi13.hpp b/websocketpp/processors/hybi13.hpp
-index 79486654..a95bc649 100644
---- a/websocketpp/processors/hybi13.hpp
-+++ b/websocketpp/processors/hybi13.hpp
-@@ -97,6 +97,11 @@ class hybi13 : public processor<config> {
- /**
- * This exists mostly because the code for requests and responses is
- * identical and I can't have virtual template methods.
-+ *
-+ * NOTE: this method makes assumptions that the permessage-deflate
-+ * extension is the only one supported. If additional extensions are
-+ * ever supported it should be reviewed carefully. Most cases where
-+ * that assumption is made are explicitly noted.
- */
- template <typename header_type>
- err_str_pair negotiate_extensions_helper(header_type const & header) {
-@@ -149,9 +154,26 @@ class hybi13 : public processor<config> {
- } else {
- // Note: this list will need commas if WebSocket++ ever
- // supports more than one extension
-- ret.second += neg_ret.second;
-- m_permessage_deflate.init(base::m_server);
-- continue;
-+
-+ // Actually try to initialize the extension before we
-+ // deem negotiation complete
-+ ret.first = m_permessage_deflate.init(base::m_server);
-+ if (!ret.first) {
-+
-+ // TODO: support multiple extensions.
-+ // right now, because there is only one extension
-+ // supported, it failing to negotiate means we are
-+ // done with all negotiating. In the future if more
-+ // extensions are supported a better solution will
-+ // be needed here.
-+ break;
-+ } else {
-+ ret.second += neg_ret.second;
-+
-+ // continue looking for more extensions
-+ continue;
-+ }
-+
- }
- }
- }
diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/disable-tests.patch b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/disable-tests.patch
deleted file mode 100644
index 342981d4d..000000000
--- a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp-0.8.1/disable-tests.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Description: Disable failing test_transport_asio_timers.
-Because of "address already in use" error
-/«PKGBUILDDIR»/test/transport/asio/timers.cpp(129): error in "tls_handshake_timeout": check ec == make_error_code(tls_handshake_timeout) failed [websocketpp.transport.asio.socket:8 != websocketpp.transport.asio.socket:5]
-Author: Gianfranco Costamagna <locutusofborg@debian.org>
-
---- websocketpp-0.7.0.orig/test/transport/CMakeLists.txt
-+++ websocketpp-0.7.0/test/transport/CMakeLists.txt
-@@ -1,24 +1,24 @@
- if (OPENSSL_FOUND)
-
--# Test transport integration
--file (GLOB SOURCE integration.cpp)
--
--init_target (test_transport)
--build_test (${TARGET_NAME} ${SOURCE})
--link_boost ()
--link_openssl()
--final_target ()
--set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
--
--# Test transport asio timers
--file (GLOB SOURCE asio/timers.cpp)
--
--init_target (test_transport_asio_timers)
--build_test (${TARGET_NAME} ${SOURCE})
--link_boost ()
--link_openssl()
--final_target ()
--set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
-+## Test transport integration
-+#file (GLOB SOURCE integration.cpp)
-+#
-+#init_target (test_transport)
-+#build_test (${TARGET_NAME} ${SOURCE})
-+#link_boost ()
-+#link_openssl()
-+#final_target ()
-+#set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
-+#
-+## Test transport asio timers
-+#file (GLOB SOURCE asio/timers.cpp)
-+#
-+#init_target (test_transport_asio_timers)
-+#build_test (${TARGET_NAME} ${SOURCE})
-+#link_boost ()
-+#link_openssl()
-+#final_target ()
-+#set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
-
- # Test transport asio security
- file (GLOB SOURCE asio/security.cpp)
diff --git a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb
index 75a5f886a..551621708 100644
--- a/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/websocketpp/websocketpp_0.8.1.bb
@@ -5,7 +5,10 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=4d168d763c111f4ffc62249870e4e0ea"
DEPENDS = "openssl boost zlib"
-SRC_URI = "git://github.com/zaphoyd/websocketpp.git;protocol=https;branch=master"
+SRC_URI = "git://github.com/zaphoyd/websocketpp.git;protocol=https \
+ file://0001-Replace-make_shared-with-new-in-some-cases.patch \
+ file://0002-Fix-missed-entries-fix-testing.patch \
+ "
# tag 0.8.1
SRCREV= "c6d7e295bf5a0ab9b5f896720cc1a0e0fdc397a7"
diff --git a/meta-security/recipes-security/xmlsec1/xmlsec1/change-finding-path-of-nss.patch b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch
index 1cec47fca..1cec47fca 100644
--- a/meta-security/recipes-security/xmlsec1/xmlsec1/change-finding-path-of-nss.patch
+++ b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch
diff --git a/meta-security/recipes-security/xmlsec1/xmlsec1/fix-ltmain.sh.patch b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch
index af598fe74..af598fe74 100644
--- a/meta-security/recipes-security/xmlsec1/xmlsec1/fix-ltmain.sh.patch
+++ b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch
diff --git a/meta-security/recipes-security/xmlsec1/xmlsec1/makefile-ptest.patch b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch
index d45356924..d45356924 100644
--- a/meta-security/recipes-security/xmlsec1/xmlsec1/makefile-ptest.patch
+++ b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch
diff --git a/meta-security/recipes-security/xmlsec1/xmlsec1/run-ptest b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest
index a203c38f2..a203c38f2 100755
--- a/meta-security/recipes-security/xmlsec1/xmlsec1/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest
diff --git a/meta-security/recipes-security/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch
index 8b2533ed9..8b2533ed9 100644
--- a/meta-security/recipes-security/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch
+++ b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch
diff --git a/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.28.bb b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.28.bb
new file mode 100644
index 000000000..0a4c56aa0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.28.bb
@@ -0,0 +1,64 @@
+SUMMARY = "XML Security Library is a C library based on LibXML2"
+DESCRIPTION = "\
+ XML Security Library is a C library based on \
+ LibXML2 and OpenSSL. The library was created with a goal to support major \
+ XML security standards "XML Digital Signature" and "XML Encryption". \
+ "
+HOMEPAGE = "http://www.aleksey.com/xmlsec/"
+DEPENDS = "libtool libxml2 libxslt zlib"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=352791d62092ea8104f085042de7f4d0"
+
+SECTION = "libs"
+
+SRC_URI = "http://www.aleksey.com/xmlsec/download/${BP}.tar.gz \
+ file://fix-ltmain.sh.patch \
+ file://change-finding-path-of-nss.patch \
+ file://makefile-ptest.patch \
+ file://xmlsec1-examples-allow-build-in-separate-dir.patch \
+ file://run-ptest \
+ "
+
+SRC_URI[md5sum] = "69b8d95c009a404462e19f335e650241"
+SRC_URI[sha256sum] = "13eec4811ea30e3f0e16a734d1dbf7f9d246a71d540b48d143a07b489f6222d4"
+
+inherit autotools-brokensep ptest pkgconfig
+
+CFLAGS += "-I${STAGING_INCDIR}/nspr4 -I${STAGING_INCDIR}/nss3"
+CPPFLAGS += "-I${STAGING_INCDIR}/nspr4 -I${STAGING_INCDIR}/nss3"
+
+PACKAGECONFIG ??= "gnutls libgcrypt nss openssl des"
+PACKAGECONFIG[gnutls] = ",,gnutls"
+PACKAGECONFIG[libgcrypt] = ",,libgcrypt"
+PACKAGECONFIG[nss] = "--with-nss=${STAGING_LIBDIR}/../.. --with-nspr=${STAGING_LIBDIR}/../..,,nss nspr"
+PACKAGECONFIG[openssl] = ",,openssl"
+PACKAGECONFIG[des] = ",--disable-des,,"
+
+# these can be dynamically loaded with xmlSecCryptoDLLoadLibrary()
+FILES_SOLIBSDEV = "${libdir}/libxmlsec1.so"
+FILES_${PN} += "${libdir}/libxmlsec1-*.so"
+INSANE_SKIP_${PN} = "dev-so"
+
+FILES_${PN}-dev += "${libdir}/xmlsec1Conf.sh"
+FILES_${PN}-dbg += "${PTEST_PATH}/.debug/*"
+
+RDEPENDS_${PN}-ptest += "${PN}-dev"
+INSANE_SKIP_${PN}-ptest += "dev-deps"
+
+PTEST_EXTRA_ARGS = "top_srcdir=${S} top_builddir=${B}"
+
+do_compile_ptest () {
+ oe_runmake -C ${S}/examples ${PTEST_EXTRA_ARGS} all
+}
+
+do_install_append() {
+ for i in ${bindir}/xmlsec1-config ${libdir}/xmlsec1Conf.sh \
+ ${libdir}/pkgconfig/xmlsec1-openssl.pc; do
+ sed -i -e "s@${RECIPE_SYSROOT}@@g" ${D}$i
+ done
+}
+
+do_install_ptest () {
+ oe_runmake -C ${S}/examples DESTDIR=${D}${PTEST_PATH} ${PTEST_EXTRA_ARGS} install-ptest
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch
deleted file mode 100644
index 4c93647f6..000000000
--- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-of-CVE-2017-16927.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-Subject: [PATCH] Fix CVE-2017-16927
-
-sesman: scpv0, accept variable length data fields
-
-Upstream-Status: Backport
-
----
- sesman/libscp/libscp_v0.c | 32 +++++++++++++++++++++++++-------
- 1 file changed, 25 insertions(+), 7 deletions(-)
-
-diff --git a/sesman/libscp/libscp_v0.c b/sesman/libscp/libscp_v0.c
-index 5a0c8bf..5693407 100644
---- a/sesman/libscp/libscp_v0.c
-+++ b/sesman/libscp/libscp_v0.c
-@@ -161,7 +161,7 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
- struct SCP_SESSION *session = 0;
- tui16 sz;
- tui32 code = 0;
-- char buf[257];
-+ char *buf = 0;
-
- if (!skipVchk)
- {
-@@ -226,27 +226,31 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
-
- /* reading username */
- in_uint16_be(c->in_s, sz);
-- buf[sz] = '\0';
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
--
-+ buf[sz] = '\0';
- if (0 != scp_session_set_username(session, buf))
- {
- scp_session_destroy(session);
- log_message(LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting username", __LINE__);
-+ g_free(buf);
- return SCP_SERVER_STATE_INTERNAL_ERR;
- }
-+ g_free(buf);
-
- /* reading password */
- in_uint16_be(c->in_s, sz);
-- buf[sz] = '\0';
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
--
-+ buf[sz] = '\0';
- if (0 != scp_session_set_password(session, buf))
- {
- scp_session_destroy(session);
- log_message(LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting password", __LINE__);
-+ g_free(buf);
- return SCP_SERVER_STATE_INTERNAL_ERR;
- }
-+ g_free(buf);
-
- /* width */
- in_uint16_be(c->in_s, sz);
-@@ -272,9 +276,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
-
- if (sz > 0)
- {
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
- buf[sz] = '\0';
- scp_session_set_domain(session, buf);
-+ g_free(buf);
- }
- }
-
-@@ -285,9 +291,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
-
- if (sz > 0)
- {
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
- buf[sz] = '\0';
- scp_session_set_program(session, buf);
-+ g_free(buf);
- }
- }
-
-@@ -298,9 +306,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
-
- if (sz > 0)
- {
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
- buf[sz] = '\0';
- scp_session_set_directory(session, buf);
-+ g_free(buf);
- }
- }
-
-@@ -311,9 +321,11 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
-
- if (sz > 0)
- {
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
- buf[sz] = '\0';
- scp_session_set_client_ip(session, buf);
-+ g_free(buf);
- }
- }
- }
-@@ -332,29 +344,35 @@ scp_v0s_accept(struct SCP_CONNECTION *c, struct SCP_SESSION **s, int skipVchk)
- scp_session_set_type(session, SCP_GW_AUTHENTICATION);
- /* reading username */
- in_uint16_be(c->in_s, sz);
-- buf[sz] = '\0';
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
-+ buf[sz] = '\0';
-
- /* g_writeln("Received user name: %s",buf); */
- if (0 != scp_session_set_username(session, buf))
- {
- scp_session_destroy(session);
- /* until syslog merge log_message(s_log, LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting username", __LINE__);*/
-+ g_free(buf);
- return SCP_SERVER_STATE_INTERNAL_ERR;
- }
-+ g_free(buf);
-
- /* reading password */
- in_uint16_be(c->in_s, sz);
-- buf[sz] = '\0';
-+ buf = g_new0(char, sz);
- in_uint8a(c->in_s, buf, sz);
-+ buf[sz] = '\0';
-
- /* g_writeln("Received password: %s",buf); */
- if (0 != scp_session_set_password(session, buf))
- {
- scp_session_destroy(session);
- /* until syslog merge log_message(s_log, LOG_LEVEL_WARNING, "[v0:%d] connection aborted: error setting password", __LINE__); */
-+ g_free(buf);
- return SCP_SERVER_STATE_INTERNAL_ERR;
- }
-+ g_free(buf);
- }
- else
- {
---
-2.7.4
-
diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch
deleted file mode 100644
index deaadde8c..000000000
--- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-sesman.ini-and-xrdp.ini.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From a9c460f158d68c1b3de6a31ce853de5379977695 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Thu, 30 Nov 2017 11:10:04 +0900
-Subject: [PATCH] Fix sesman.ini and xrdp.ini
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- sesman/sesman.ini | 20 ++++++--------------
- xrdp/xrdp.ini | 10 ----------
- 2 files changed, 6 insertions(+), 24 deletions(-)
-
-diff --git a/sesman/sesman.ini b/sesman/sesman.ini
-index 8225ee4..c09189e 100644
---- a/sesman/sesman.ini
-+++ b/sesman/sesman.ini
-@@ -54,12 +54,14 @@ LogLevel=DEBUG
- EnableSyslog=1
- SyslogLevel=DEBUG
-
--[X11rdp]
--param=X11rdp
--param=-bs
-+[Xorg]
-+param=Xorg
-+param=-config
-+param=xrdp/xorg.conf
-+param=-noreset
- param=-nolisten
- param=tcp
--param=-uds
-+
-
- [Xvnc]
- param=Xvnc
-@@ -70,16 +72,6 @@ param=-localhost
- param=-dpi
- param=96
-
--[Xorg]
--param=Xorg
--param=-config
--param=xrdp/xorg.conf
--param=-noreset
--param=-nolisten
--param=tcp
--param=-logfile
--param=.xorgxrdp.%s.log
--
- [Chansrv]
- ; drive redirection, defaults to xrdp_client if not set
- FuseMountName=thinclient_drives
-diff --git a/xrdp/xrdp.ini b/xrdp/xrdp.ini
-index cb6d7c3..9f63a69 100644
---- a/xrdp/xrdp.ini
-+++ b/xrdp/xrdp.ini
-@@ -157,16 +157,6 @@ ip=127.0.0.1
- port=-1
- code=20
-
--[X11rdp]
--name=X11rdp
--lib=libxup.so
--username=ask
--password=ask
--ip=127.0.0.1
--port=-1
--xserverbpp=24
--code=10
--
- [Xvnc]
- name=Xvnc
- lib=libvnc.so
---
-1.8.4.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.11.bb b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.11.bb
new file mode 100644
index 000000000..75caf8d6b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.11.bb
@@ -0,0 +1,97 @@
+SUMMARY = "An open source remote desktop protocol(rdp) server."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \
+"
+
+inherit distro_features_check autotools pkgconfig useradd systemd
+
+DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native"
+
+REQUIRED_DISTRO_FEATURES = "x11 pam"
+
+SRC_URI = "git://github.com/neutrinolabs/xrdp.git \
+ file://xrdp.sysconfig \
+ file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \
+ file://0001-Fix-the-compile-error.patch \
+ "
+
+SRCREV = "1e4b03eb3c9aa7173de251a328c93c073dcc0fca"
+
+PV = "0.9.11"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system xrdp"
+USERADD_PARAM_${PN} = "--system --home /var/run/xrdp -g xrdp \
+ --no-create-home --shell /bin/false xrdp"
+
+FILES_${PN} += "${datadir}/dbus-1/services/*.service \
+ ${datadir}/dbus-1/accessibility-services/*.service "
+
+FILES_${PN}-dev += "${libdir}/xrdp/libcommon.so \
+ ${libdir}/xrdp/libxrdp.so \
+ ${libdir}/xrdp/libscp.so \
+ ${libdir}/xrdp/libxrdpapi.so "
+
+EXTRA_OECONF = "--enable-pam-config=suse"
+
+do_configure_prepend() {
+ cd ${S}
+ ./bootstrap
+ cd -
+}
+
+do_compile_prepend() {
+ sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in
+}
+
+
+do_install_append() {
+ install -d ${D}${sysconfdir}
+ install -d ${D}${sysconfdir}/xrdp
+ install -d ${D}${sysconfdir}/xrdp/pam.d
+ install -d ${D}${sysconfdir}/sysconfig/xrdp
+
+ # deal with systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service
+ install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service
+ sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+ sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+ sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+
+ install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/sesman/sesman.ini.in ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/sesman/startwm.sh ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/xrdp/xrdp.ini.in ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/xrdp/xrdp_keyboard.ini ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/instfiles/xrdp.sh ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/
+ chown xrdp:xrdp ${D}${sysconfdir}/xrdp
+}
+
+SYSTEMD_SERVICE_${PN} = "xrdp.service xrdp-sesman.service"
+
+pkg_postinst_${PN}() {
+ if test -z "$D"
+ then
+ if test -x ${bindir}/xrdp-keygen
+ then
+ ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null
+ fi
+ if test ! -s ${sysconfdir}/xrdp/cert.pem
+ then
+ openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \
+ -keyout ${sysconfdir}/xrdp/key.pem \
+ -out ${sysconfdir}/xrdp/cert.pem \
+ -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1
+ chmod 400 ${sysconfdir}/xrdp/key.pem
+ fi
+ fi
+}
diff --git a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb b/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb
deleted file mode 100644
index 3ef7c9853..000000000
--- a/meta-openembedded/meta-oe/recipes-support/xrdp/xrdp_0.9.4.bb
+++ /dev/null
@@ -1,99 +0,0 @@
-SUMMARY = "An open source remote desktop protocol(rdp) server."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \
-"
-
-inherit distro_features_check autotools pkgconfig useradd systemd
-
-DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native"
-
-REQUIRED_DISTRO_FEATURES = "x11 pam"
-
-SRC_URI = "git://github.com/neutrinolabs/xrdp.git \
- file://xrdp.sysconfig \
- file://0001-Fix-sesman.ini-and-xrdp.ini.patch \
- file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \
- file://0001-Fix-the-compile-error.patch \
- file://0001-Fix-of-CVE-2017-16927.patch \
- "
-
-SRCREV = "c295dd61b882e8b56677cf12791f43634f9190b5"
-
-PV = "0.9.4+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system xrdp"
-USERADD_PARAM_${PN} = "--system --home /var/run/xrdp -g xrdp \
- --no-create-home --shell /bin/false xrdp"
-
-FILES_${PN} += "${datadir}/dbus-1/services/*.service \
- ${datadir}/dbus-1/accessibility-services/*.service "
-
-FILES_${PN}-dev += "${libdir}/xrdp/libcommon.so \
- ${libdir}/xrdp/libxrdp.so \
- ${libdir}/xrdp/libscp.so \
- ${libdir}/xrdp/libxrdpapi.so "
-
-EXTRA_OECONF = "--enable-pam-config=suse"
-
-do_configure_prepend() {
- cd ${S}
- ./bootstrap
- cd -
-}
-
-do_compile_prepend() {
- sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in
-}
-
-
-do_install_append() {
- install -d ${D}${sysconfdir}
- install -d ${D}${sysconfdir}/xrdp
- install -d ${D}${sysconfdir}/xrdp/pam.d
- install -d ${D}${sysconfdir}/sysconfig/xrdp
-
- # deal with systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service
- install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service
- sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
- sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
- sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
-
- install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/sesman/sesman.ini ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/sesman/startwm.sh ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/xrdp/xrdp.ini ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/xrdp/xrdp_keyboard.ini ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/instfiles/xrdp.sh ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/
- install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/
- chown xrdp:xrdp ${D}${sysconfdir}/xrdp
-}
-
-SYSTEMD_SERVICE_${PN} = "xrdp.service xrdp-sesman.service"
-
-pkg_postinst_${PN}() {
- if test -z "$D"
- then
- if test -x ${bindir}/xrdp-keygen
- then
- ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null
- fi
- if test ! -s ${sysconfdir}/xrdp/cert.pem
- then
- openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \
- -keyout ${sysconfdir}/xrdp/key.pem \
- -out ${sysconfdir}/xrdp/cert.pem \
- -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1
- chmod 400 ${sysconfdir}/xrdp/key.pem
- fi
- fi
-}
diff --git a/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb b/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb
index 515cf4136..3b846c151 100644
--- a/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb
+++ b/meta-openembedded/meta-oe/recipes-support/zile/zile_2.4.14.bb
@@ -5,7 +5,7 @@ DEPENDS = "ncurses bdwgc"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-SRC_URI = "http://ftp.gnu.org/gnu/zile/${BP}.tar.gz \
+SRC_URI = "${GNU_MIRROR}/zile/${BP}.tar.gz \
file://remove-help2man.patch \
"
diff --git a/meta-openembedded/meta-oe/recipes-test/bats/bats_1.1.0.bb b/meta-openembedded/meta-oe/recipes-test/bats/bats_1.1.0.bb
new file mode 100644
index 000000000..a8179744a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/bats/bats_1.1.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Bash Automated Testing System"
+DESCRIPTION = "Bats is a TAP-compliant testing framework for Bash. It \
+provides a simple way to verify that the UNIX programs you write behave as expected."
+AUTHOR = "Sam Stephenson & bats-core organization"
+HOMEPAGE = "https://github.com/bats-core/bats-core"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=2970203aedf9e829edb96a137a4fe81b"
+
+SRC_URI = "git://github.com/bats-core/bats-core.git \
+ "
+# v1.1.0
+SRCREV = "c706d1470dd1376687776bbe985ac22d09780327"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ # Just a bunch of bash scripts to install
+ ${S}/install.sh ${D}${prefix}
+}
+
+RDEPENDS_bats = "bash"
diff --git a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.7.2.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.7.2.bb
deleted file mode 100644
index b5c857329..000000000
--- a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.7.2.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
-TDD and BDD - using C++11, C++14, C++17 and later."
-AUTHOR = "Phil Nash, Martin Horenovsky and others"
-HOMEPAGE = "https://github.com/catchorg/Catch2"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
-SRC_URI = "git://github.com/catchorg/Catch2.git \
- "
-# v2.7.2
-SRCREV = "7c37501b070c0e9ea9cdedbeac2059f0a6b0a8ab"
-
-S = "${WORKDIR}/git"
-
-inherit cmake python3native
-
-do_install_append() {
- rm ${D}${datadir}/Catch2/lldbinit
- rm ${D}${datadir}/Catch2/gdbinit
- rmdir ${D}${datadir}/Catch2/
-}
-# Header-only library
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb
new file mode 100644
index 000000000..57fc935f7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/catch2/catch2_2.9.2.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
+TDD and BDD - using C++11, C++14, C++17 and later."
+AUTHOR = "Phil Nash, Martin Horenovsky and others"
+HOMEPAGE = "https://github.com/catchorg/Catch2"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+SRC_URI = "git://github.com/catchorg/Catch2.git"
+SRCREV = "2c869e17e4803d30b3d5ca5b0d76387b9db97fa5"
+
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+do_install_append() {
+ rm ${D}${datadir}/Catch2/lldbinit
+ rm ${D}${datadir}/Catch2/gdbinit
+ rmdir ${D}${datadir}/Catch2/
+}
+# Header-only library
+RDEPENDS_${PN}-dev = ""
+RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch b/meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch
new file mode 100644
index 000000000..b2bf94fd5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch
@@ -0,0 +1,37 @@
+From 5eb4ab1c139ea38ebe6bb4acba08b09ee7d77d3c Mon Sep 17 00:00:00 2001
+From: Baruch Siach <baruch@tkos.co.il>
+Date: Sun, 18 Aug 2019 10:01:06 +0300
+Subject: Add missing limits.h include
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes build with musl libc that does not include limits.h indirectly via
+other headers.
+
+evtest.c: In function ‘scan_devices’:
+evtest.c:886:14: error: ‘PATH_MAX’ undeclared (first use in this function); did you mean INT8_MAX’?
+ char fname[PATH_MAX];
+ ^~~~~~~~
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ evtest.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/evtest.c b/evtest.c
+index 37d4f85..548c203 100644
+--- a/evtest.c
++++ b/evtest.c
+@@ -56,6 +56,7 @@
+ #include <getopt.h>
+ #include <ctype.h>
+ #include <signal.h>
++#include <limits.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+--
+cgit v1.1
+
diff --git a/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb b/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb
new file mode 100644
index 000000000..3b6dc6140
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/evtest/evtest_1.34.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Simple tool for input event debugging"
+HOMEPAGE = "http://people.freedesktop.org/~whot/evtest/"
+AUTHOR = "Vojtech Pavlik <vojtech@suse.cz>"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "libxml2"
+
+SRCREV = "16e5104127a620686bdddc4a9ad62881134d6c69"
+SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git \
+ file://add_missing_limits_h_include.patch"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb b/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb
deleted file mode 100644
index fa0d6e2fe..000000000
--- a/meta-openembedded/meta-oe/recipes-test/evtest/evtest_git.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Simple tool for input event debugging"
-HOMEPAGE = "http://people.freedesktop.org/~whot/evtest/"
-AUTHOR = "Vojtech Pavlik <vojtech@suse.cz>"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "libxml2"
-
-SRCREV = "ab140a2dab1547f7deb5233be6d94a388cf08b26"
-SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git"
-
-PV = "1.33+${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch b/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
index 611ccc8fc..6795ba849 100644
--- a/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
+++ b/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
@@ -12,33 +12,33 @@ Upstream-Status: Pending
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
-index 4daa9e8f..873f23eb 100644
+index 62c9ba8..435ec23 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -14,7 +14,7 @@ AM_CPPFLAGS = \
- `pkg-config --silence-errors --cflags json` \
- `pkg-config --silence-errors --cflags json-c` \
+ `pkg-config --silence-errors --cflags json` \
+ `pkg-config --silence-errors --cflags json-c` \
-pthread `pkg-config --cflags glib-2.0 gio-2.0` \
-- -Wall -Werror -Wextra
-+ -Wall -Wextra
+- -Wall -Werror -Wextra \
++ -Wall -Wextra \
+ -Wno-address-of-packed-member
bin_PROGRAMS = fwts
-
diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am
-index fa232451..082403a2 100644
+index 6bcf9f8..de89bf1 100644
--- a/src/lib/src/Makefile.am
+++ b/src/lib/src/Makefile.am
@@ -24,7 +24,7 @@ AM_CPPFLAGS = \
`pkg-config --silence-errors --cflags json-c` \
`pkg-config --cflags glib-2.0 gio-2.0` \
-DDATAROOTDIR=\"$(datarootdir)\" \
-- -Wall -Werror -Wextra
-+ -Wall -Wextra
+- -Wall -Werror -Wextra \
++ -Wall -Wextra \
+ -Wno-address-of-packed-member
pkglib_LTLIBRARIES = libfwts.la
-
diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am
-index aa37de55..4d5297cc 100644
+index 21f969e..82009a0 100644
--- a/src/utilities/Makefile.am
+++ b/src/utilities/Makefile.am
@@ -16,7 +16,7 @@
diff --git a/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch b/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch
deleted file mode 100644
index ae3665b4d..000000000
--- a/meta-openembedded/meta-oe/recipes-test/fwts/fwts/0001-ignore-constant-logical-operand-warning-with-clang.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 5bd05ad8569880985ddf6d4c06ed927d388c297f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 19 Oct 2016 01:57:16 +0000
-Subject: [PATCH] ignore constant-logical-operand warning with clang
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/dmi/dmicheck/dmicheck.c | 3 +++
- src/lib/src/fwts_acpi_tables.c | 5 +++++
- src/uefi/uefirtauthvar/uefirtauthvar.c | 5 +++++
- 3 files changed, 13 insertions(+)
-
-diff --git a/src/dmi/dmicheck/dmicheck.c b/src/dmi/dmicheck/dmicheck.c
-index 3cca9db9..60fb758f 100644
---- a/src/dmi/dmicheck/dmicheck.c
-+++ b/src/dmi/dmicheck/dmicheck.c
-@@ -211,6 +211,8 @@ static const char *uuid_patterns[] = {
- "0A0A0A0A-0A0A-0A0A-0A0A-0A0A0A0A0A0A",
- NULL,
- };
-+#pragma clang diagnostic push
-+#pragma clang diagnostic ignored "-Wunneeded-internal-declaration"
-
- static const fwts_chassis_type_map fwts_dmi_chassis_type[] = {
- { "Invalid", FWTS_SMBIOS_CHASSIS_INVALID },
-@@ -251,6 +253,7 @@ static const fwts_chassis_type_map fwts_dmi_chassis_type[] = {
- { "Mini PC", FWTS_SMBIOS_CHASSIS_MINI_PC },
- { "Stick PC", FWTS_SMBIOS_CHASSIS_STICK_PC },
- };
-+#pragma clang diagnostic pop
-
- /* Remapping table from buggy version numbers to correct values */
- static const fwts_dmi_version dmi_versions[] = {
-diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c
-index c7ba59be..bdd224aa 100644
---- a/src/lib/src/fwts_acpi_tables.c
-+++ b/src/lib/src/fwts_acpi_tables.c
-@@ -393,10 +393,14 @@ static int fwts_acpi_handle_fadt(
- /* Determine FACS addr and load it.
- * Will ignore the missing FACS in the hardware-reduced mode.
- */
-+#pragma clang diagnostic push
-+#pragma clang diagnostic ignored "-Waddress-of-packed-member"
-+
- result = fwts_acpi_handle_fadt_tables(fw, fadt,
- "FACS", "FIRMWARE_CTRL", "X_FIRMWARE_CTRL",
- &fadt->firmware_control, &fadt->x_firmware_ctrl,
- provenance);
-+
- if (result != FWTS_OK) {
- if ((result == FWTS_NULL_POINTER) &&
- fwts_acpi_is_reduced_hardware(fadt)) {
-@@ -415,6 +419,7 @@ static int fwts_acpi_handle_fadt(
- return FWTS_ERROR;
- }
- return FWTS_OK;
-+#pragma clang diagnostic pop
- }
-
- /*
-diff --git a/src/uefi/uefirtauthvar/uefirtauthvar.c b/src/uefi/uefirtauthvar/uefirtauthvar.c
-index c2031741..7a33d19d 100644
---- a/src/uefi/uefirtauthvar/uefirtauthvar.c
-+++ b/src/uefi/uefirtauthvar/uefirtauthvar.c
-@@ -142,6 +142,9 @@ static int uefirtauthvar_deinit(fwts_framework *fw)
- return FWTS_OK;
- }
-
-+#pragma clang diagnostic push
-+#pragma clang diagnostic ignored "-Wconstant-logical-operand"
-+
- static int check_fw_support(fwts_framework *fw, uint64_t status)
- {
- if ((status == EFI_INVALID_PARAMETER) &&
-@@ -172,6 +175,8 @@ static int check_fw_support(fwts_framework *fw, uint64_t status)
- return FWTS_OK;
- }
-
-+#pragma clang diagnostic pop
-+
- /*
- * Set the created authenticated variable, AuthVarCreate,
- * and checking the data size and data.
diff --git a/meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb b/meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb
new file mode 100644
index 000000000..88a89fb0b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/fwts/fwts_19.06.00.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Firmware testsuite"
+DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)."
+HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519"
+
+SRCREV = "b0ec7aa2ef743d113fd8c5e57c0ca3d5edd86f0e"
+SRC_URI = "http://fwts.ubuntu.com/release/fwts-V19.06.00.tar.gz;subdir=${BPN}-${PV} \
+ file://0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch \
+ file://0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \
+ file://0003-Undefine-PAGE_SIZE.patch \
+ file://0001-Add-correct-printf-qualifier-for-off_t.patch \
+ file://0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch \
+ file://0001-Remove-Werror-from-build.patch \
+ "
+SRC_URI[md5sum] = "012f933329510cc5a71817ede681eee2"
+SRC_URI[sha256sum] = "13aa991f12c69f48df368aae5e5d0fbc9136413b4bfe115421bc3216d919f8a2"
+
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"
+
+DEPENDS = "libpcre json-c glib-2.0 dtc bison-native libbsd"
+DEPENDS_append_libc-musl = " libexecinfo"
+
+inherit autotools bash-completion pkgconfig
+
+CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=unknown-pragmas"
+LDFLAGS_append_libc-musl = " -lexecinfo"
+
+FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
+FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
+FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
+FILES_${PN}-dbg += "${libdir}/fwts/.debug"
+
+TOOLCHAIN = "gcc"
+
diff --git a/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb b/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb
deleted file mode 100644
index d3fb644df..000000000
--- a/meta-openembedded/meta-oe/recipes-test/fwts/fwts_git.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Firmware testsuite"
-DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)."
-HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519"
-
-PV = "18.05.00+git${SRCPV}"
-
-SRCREV = "b0ec7aa2ef743d113fd8c5e57c0ca3d5edd86f0e"
-SRC_URI = "git://kernel.ubuntu.com/hwe/fwts.git \
- file://0001-ignore-constant-logical-operand-warning-with-clang.patch \
- file://0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch \
- file://0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \
- file://0003-Undefine-PAGE_SIZE.patch \
- file://0001-Add-correct-printf-qualifier-for-off_t.patch \
- file://0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch \
- file://0001-Remove-Werror-from-build.patch \
- "
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"
-
-DEPENDS = "libpcre json-c glib-2.0 dtc bison-native"
-DEPENDS_append_libc-musl = " libexecinfo"
-
-inherit autotools bash-completion pkgconfig
-
-CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=unknown-pragmas"
-LDFLAGS_append_libc-musl = " -lexecinfo"
-
-FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
-FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
-FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
-FILES_${PN}-dbg += "${libdir}/fwts/.debug"
-
-TOOLCHAIN = "gcc"
-
diff --git a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.8.1.bb b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.8.1.bb
new file mode 100644
index 000000000..362d69ff9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.8.1.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Google's framework for writing C++ tests"
+HOMEPAGE = "https://github.com/google/googletest"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://googlemock/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
+ file://googletest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
+
+PROVIDES += "gmock gtest"
+
+S = "${WORKDIR}/git"
+SRCREV = "2fe3bd994b3189899d93f1d5a881e725e046fdc2"
+SRC_URI = "git://github.com/google/googletest.git"
+
+inherit cmake
+
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-dbg = "1"
+
+RDEPENDS_${PN}-dev += "${PN}-staticdev"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.1.bb b/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.1.bb
deleted file mode 100644
index 23862c930..000000000
--- a/meta-openembedded/meta-oe/recipes-test/gtest/gtest_1.8.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Google's framework for writing C++ tests"
-HOMEPAGE = "https://github.com/abseil/googletest"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://googlemock/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
- file://googletest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
-
-PROVIDES += "gmock"
-
-S = "${WORKDIR}/git"
-SRCREV = "2fe3bd994b3189899d93f1d5a881e725e046fdc2"
-SRC_URI = "\
- git://github.com/abseil/googletest.git;protocol=https; \
-"
-
-inherit cmake
-
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-dbg = "1"
-
-RDEPENDS_${PN}-dev += "${PN}-staticdev"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb b/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
index 09290909d..7e9971ea4 100644
--- a/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
+++ b/meta-openembedded/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
@@ -65,4 +65,4 @@ do_install () {
RDEPENDS_${PN} +="bash"
# http://errors.yoctoproject.org/Errors/Details/186956/
-EXCLUDE_FROM_WORLD_libc-musl = "1"
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch b/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch
deleted file mode 100644
index 469791d8e..000000000
--- a/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7c97710bfc44d895b7111bef9c55866f00a3589c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Aug 2018 11:54:27 -0700
-Subject: [PATCH] Revert "Makefile: force sync after build in case reboot loses
- executable"
-
-This reverts commit ae6322b1baea56a589207c96e358daae8edd0a8f.
-
-Not needed for cross-builds
-
-Upstream-Status: Inappropriate [Cross compile specific]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index c0db72c0..5781dda6 100644
---- a/Makefile
-+++ b/Makefile
-@@ -348,7 +348,6 @@ endif
- stress-ng: $(OBJS)
- @echo "LD $@"
- @$(CC) $(CPPFLAGS) $(CFLAGS) $(OBJS) -lm $(LDFLAGS) -o $@
-- @sync
-
- makeconfig:
- @if [ ! -s config ]; then \
---
-2.17.0
-
diff --git a/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch b/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
deleted file mode 100644
index c0b344901..000000000
--- a/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng/0001-Several-changes-to-fix-musl-build.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 9bcb4e170f01dbe0a9e7bf6b899c5d9b5283d4c6 Mon Sep 17 00:00:00 2001
-From: Randy MacLeod <Randy.MacLeod@windriver.com>
-Date: Sun, 11 Nov 2018 23:00:53 -0500
-Subject: [PATCH] Several changes to fix musl build
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Rebased patch for:
-
-stress-{context, stackmmap}.c: Set tests to non-implemented because uses
-swapcontext, musl provide the definition but not the implementation due
- to that functions are pre-POSIX and set to be deprecated.
- stress-{resources, pty}.c: Doesn't include termio.h and remove stress
- operations that uses struct termio, musl doesn't provide that struct.
-stress-malloc.c: Check for definition of M_MMAP_THRESHOLD musl doesn't
- ptovide that constant.
-stress-madvise.c: Add static poision_count integer, definition of
- MADV_SOFT_OFFLINE doesn't grauntee MADV_HWPOISON to be defined.
-cache.c: Define GLOB_ONLYDIR not available on MUSL.
-
-Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
-Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
-Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
-
-Upstream-status: Pending
----
- cache.c | 4 ++++
- stress-madvise.c | 1 +
- stress-pty.c | 18 ------------------
- stress-resources.c | 1 -
- stress-stackmmap.c | 2 +-
- 5 files changed, 6 insertions(+), 20 deletions(-)
-
-diff --git a/cache.c b/cache.c
-index e8a0f791..4c7bb486 100644
---- a/cache.c
-+++ b/cache.c
-@@ -28,6 +28,10 @@ typedef struct {
-
- #include <glob.h>
-
-+#ifndef GLOB_ONLYDIR
-+#define GLOB_ONLYDIR 0x100
-+#endif
-+
- #if defined(__linux__)
- #define SYS_CPU_PREFIX "/sys/devices/system/cpu"
- #define GLOB_PATTERN SYS_CPU_PREFIX "/cpu[0-9]*"
-diff --git a/stress-madvise.c b/stress-madvise.c
-index b2e3497f..77e43a91 100644
---- a/stress-madvise.c
-+++ b/stress-madvise.c
-@@ -146,6 +146,7 @@ static int stress_random_advise(const args_t *args)
- #if defined(MADV_SOFT_OFFLINE)
- if (advise == MADV_SOFT_OFFLINE) {
- static int soft_offline_count;
-+ static int poison_count;
-
- /* ..and minimize number of soft offline pages */
- if ((soft_offline_count >= NUM_SOFT_OFFLINE_MAX) ||
-diff --git a/stress-pty.c b/stress-pty.c
-index 4dd88ab9..c79a7021 100644
---- a/stress-pty.c
-+++ b/stress-pty.c
-@@ -26,7 +26,6 @@
-
- #if defined(__linux__)
-
--#include <termio.h>
- #include <termios.h>
-
- typedef struct {
-@@ -111,7 +110,6 @@ static int stress_pty(const args_t *args)
- */
- for (i = 0; i < n; i++) {
- struct termios ios;
-- struct termio io;
- struct winsize ws;
- int arg;
-
-@@ -133,22 +131,6 @@ static int stress_pty(const args_t *args)
- if (ioctl(ptys[i].slave, TCSETSF, &ios) < 0)
- pr_fail_err("ioctl TCSETSF on slave pty");
- #endif
--#if defined(TCGETA)
-- if (ioctl(ptys[i].slave, TCGETA, &io) < 0)
-- pr_fail_err("ioctl TCGETA on slave pty");
--#endif
--#if defined(TCSETA)
-- if (ioctl(ptys[i].slave, TCSETA, &io) < 0)
-- pr_fail_err("ioctl TCSETA on slave pty");
--#endif
--#if defined(TCSETAW)
-- if (ioctl(ptys[i].slave, TCSETAW, &io) < 0)
-- pr_fail_err("ioctl TCSETAW on slave pty");
--#endif
--#if defined(TCSETAF)
-- if (ioctl(ptys[i].slave, TCSETAF, &io) < 0)
-- pr_fail_err("ioctl TCSETAF on slave pty");
--#endif
- #if defined(TIOCGLCKTRMIOS)
- if (ioctl(ptys[i].slave, TIOCGLCKTRMIOS, &ios) < 0)
- pr_fail_err("ioctl TIOCGLCKTRMIOS on slave pty");
-diff --git a/stress-resources.c b/stress-resources.c
-index f3dcfb38..86f9a5ba 100644
---- a/stress-resources.c
-+++ b/stress-resources.c
-@@ -28,7 +28,6 @@
- #include <sys/inotify.h>
- #endif
- #if defined(__linux__)
--#include <termio.h>
- #include <termios.h>
- #endif
- #if defined(HAVE_LIB_PTHREAD) && defined(__linux__)
-diff --git a/stress-stackmmap.c b/stress-stackmmap.c
-index c2f4c31d..54308777 100644
---- a/stress-stackmmap.c
-+++ b/stress-stackmmap.c
-@@ -24,7 +24,7 @@
- */
- #include "stress-ng.h"
-
--#if defined(__linux__)
-+#if defined(__linux__) && False
-
- #include <ucontext.h>
-
---
-2.17.0
-
diff --git a/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb b/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb
deleted file mode 100644
index 3e8f2d4f5..000000000
--- a/meta-openembedded/meta-oe/recipes-test/stress-ng/stress-ng_0.09.45.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "A tool to load and stress a computer system"
-HOMEPAGE = "http://kernel.ubuntu.com/~cking/stress-ng/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "zlib libaio"
-
-SRC_URI = "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
- file://0001-Revert-Makefile-force-sync-after-build-in-case-reboo.patch \
- "
-SRC_URI_append_libc-musl = " \
- file://0001-Several-changes-to-fix-musl-build.patch \
- "
-
-SRC_URI[md5sum] = "b03744c2eb68bf7e9a300e78e397f348"
-SRC_URI[sha256sum] = "0741e3004bf590bb7af3db979a46fe89bee7aaad6065cd1d87d0b7fa49046cb2"
-
-UPSTREAM_CHECK_URI ?= "http://kernel.ubuntu.com/~cking/tarballs/${BPN}/"
-UPSTREAM_CHECK_REGEX ?= "(?P<pver>\d+(\.\d+)+)\.tar"
-
-CFLAGS += "-Wall -Wextra -DVERSION='"$(VERSION)"'"
-
-do_install_append() {
- install -d ${D}${bindir}
- install -m 755 ${S}/stress-ng ${D}${bindir}/stress-ng
-}
diff --git a/meta-openembedded/meta-perl/conf/layer.conf b/meta-openembedded/meta-perl/conf/layer.conf
index 6e600aa67..2c730e4c7 100644
--- a/meta-openembedded/meta-perl/conf/layer.conf
+++ b/meta-openembedded/meta-perl/conf/layer.conf
@@ -15,4 +15,4 @@ LAYERVERSION_perl-layer = "1"
LAYERDEPENDS_perl-layer = "core openembedded-layer"
-LAYERSERIES_COMPAT_perl-layer = "thud warrior"
+LAYERSERIES_COMPAT_perl-layer = "thud warrior zeus"
diff --git a/meta-openembedded/meta-perl/recipes-extended/mime-construct/mime-construct_1.11.bb b/meta-openembedded/meta-perl/recipes-extended/mime-construct/mime-construct_1.11.bb
index 501f3bf14..2516fbfca 100644
--- a/meta-openembedded/meta-perl/recipes-extended/mime-construct/mime-construct_1.11.bb
+++ b/meta-openembedded/meta-perl/recipes-extended/mime-construct/mime-construct_1.11.bb
@@ -17,7 +17,7 @@ SRC_URI[sha256sum] = "4cd7bb61b51d41192d1498c1051aa6a4ccd75aeb09b71d2ec706a7084a
inherit cpan
-RDEPENDS_${PN} = "libmime-types-perl libproc-waitstat-perl msmtp \
+RDEPENDS_${PN} += "libmime-types-perl libproc-waitstat-perl msmtp \
perl-module-filehandle perl-module-mime-base64 perl-module-mime-quotedprint perl-module-posix \
"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb b/meta-openembedded/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb
index fb18fe2a4..7118dc006 100644
--- a/meta-openembedded/meta-perl/recipes-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,14 @@ RDEPENDS_${PN} += "\
perl-module-io-select \
perl-module-io-socket \
"
-RDEPENDS_${PN}-ptest += "freeradius"
+RDEPENDS_${PN}-ptest += " \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'freeradius', '', d)} \
+"
BBCLASSEXTEND = "native"
+
+python() {
+ if bb.utils.contains('PTEST_ENABLED', '1', 'True', 'False', d) and \
+ 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('ptest requires meta-networking to be present.')
+}
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
deleted file mode 100644
index b4571b27e..000000000
--- a/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.43.bb
+++ /dev/null
@@ -1,50 +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=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/libcgi/libcgi-perl_4.44.bb b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.44.bb
new file mode 100644
index 000000000..cde187d8b
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libcgi/libcgi-perl_4.44.bb
@@ -0,0 +1,51 @@
+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] = "2cbe560fdadbb8b9237744e39bbfc3eb"
+SRC_URI[sha256sum] = "12435fb7ebd3585c47b6d60ee4f5c7d6a7c114a2827d2b5acf3d62aa9fcf1208"
+
+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 \
+ libtest-warn-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/libdb/libdbd-sqlite-perl_1.54.bb b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb
deleted file mode 100644
index c72e536de..000000000
--- a/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.54.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "A Perl DBI driver for SQLite"
-DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \
-thing in the distribution. So in order to get a fast transaction capable \
-RDBMS working for your perl project you simply have to install this \
-module, and nothing else. \
-"
-HOMEPAGE = "http://search.cpan.org/~ishigaki/DBD-SQLite/"
-
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-DEPENDS += "libdbi-perl-native"
-RDEPENDS_${PN} += "libdbi-perl \
- sqlite3 \
- perl-module-constant \
- perl-module-locale \
- perl-module-tie-hash \
-"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \
- file://sqlite-perl-test.pl \
-"
-
-SRC_URI[md5sum] = "8f835ddacb9a4a92a52bbe2d24d18a8e"
-SRC_URI[sha256sum] = "3929a6dbd8d71630f0cb57f85dcef9588cd7ac4c9fa12db79df77b9d3a4d7269"
-
-UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
-
-S = "${WORKDIR}/DBD-SQLite-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND = "native"
-
-do_install_append() {
- if [ ${PERL_DBM_TEST} = "1" ]; then
- install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl
- fi
-}
-
diff --git a/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.62.bb b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.62.bb
new file mode 100644
index 000000000..4af9d3c5c
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libdb/libdbd-sqlite-perl_1.62.bb
@@ -0,0 +1,56 @@
+SUMMARY = "A Perl DBI driver for SQLite"
+DESCRIPTION = "DBD::SQLite is a Perl DBI driver for SQLite, that includes the entire \
+thing in the distribution. So in order to get a fast transaction capable \
+RDBMS working for your perl project you simply have to install this \
+module, and nothing else. \
+"
+HOMEPAGE = "https://metacpan.org/release/DBD-SQLite"
+
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1726e2117494ba3e13e1c3d93f795360"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/I/IS/ISHIGAKI/DBD-SQLite-${PV}.tar.gz \
+ file://sqlite-perl-test.pl \
+"
+
+SRC_URI[md5sum] = "f2e11a2bea6bd864404c0363d7eddaf8"
+SRC_URI[sha256sum] = "bd82ef322a9e5469a7a62d845c32fad1188b76ccb49a88520cec768343cce85c"
+
+UPSTREAM_CHECK_REGEX = "DBD\-SQLite\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/DBD-SQLite-${PV}"
+
+DEPENDS += "libdbi-perl-native"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += "libdbi-perl \
+ sqlite3 \
+ perl-module-constant \
+ perl-module-locale \
+ perl-module-tie-hash \
+"
+
+do_install_append() {
+ if [ ${PERL_DBM_TEST} = "1" ]; then
+ install -m 755 -D ${WORKDIR}/sqlite-perl-test.pl ${D}/${bindir}/sqlite-perl-test.pl
+ fi
+}
+
+do_install_ptest() {
+ cp -r ${B}/MANIFEST ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN}-ptest += " \
+ libtest-nowarnings-perl \
+ perl-module-lib \
+ perl-module-encode \
+ perl-module-file-spec \
+ perl-module-file-spec-functions \
+ perl-module-findbin \
+ perl-module-test-more \
+ "
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb
deleted file mode 100644
index 9861c56e0..000000000
--- a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_2.94.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-# NOTE:
-# You should use perl-module-encode rather than this package
-# unless you specifically need a version newer than what is
-# provided by perl.
-
-SUMMARY = "Encode - character encodings"
-DESCRIPTION = "The \"Encode\" module provides the interfaces between \
-Perl's strings and the rest of the system. Perl strings are sequences \
-of characters."
-
-AUTHOR = "Dan Kogai <dankogai+cpan@gmail.com>"
-HOMEPAGE = "https://metacpan.org/release/Encode"
-SECTION = "lib"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://META.json;md5=d8e909447b983532b2b460c830e7a7e4"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
-SRC_URI[md5sum] = "f995e0eb9e52d01ed57abe835bf3ccb6"
-SRC_URI[sha256sum] = "acb3a4af5e3ee38f94de8baa7454e0b836a0649e7ac4180f28dfca439ad60cff"
-
-UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
-
-S = "${WORKDIR}/Encode-${PV}"
-
-inherit cpan
-
-# file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
-# file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
-# file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
-RCONFLICTS_${PN} = "perl-misc"
-
-RDEPENDS_${PN} += " perl-module-bytes \
- perl-module-constant \
- perl-module-parent \
- perl-module-storable \
- perl-module-xsloader \
-"
-
-RPROVIDES_${PN} += "libencode-alias-perl \
- libencode-byte-perl \
- libencode-cjkconstants-perl \
- libencode-cn-perl \
- libencode-cn-hz-perl \
- libencode-config-perl \
- libencode-ebcdic-perl \
- libencode-encoder-perl \
- libencode-encoding-perl \
- libencode-gsm0338-perl \
- libencode-guess-perl \
- libencode-jp-perl \
- libencode-jp-h2z-perl \
- libencode-jp-jis7-perl \
- libencode-kr-perl \
- libencode-kr-2022_kr-perl \
- libencode-mime-header-perl \
- libencode-mime-name-perl \
- libencode-symbol-perl \
- libencode-tw-perl \
- libencode-unicode-perl \
- libencode-unicode-utf7-perl \
- libencoding-perl \
- libencode-internal-perl \
- libencode-mime-header-iso_2022_jp-perl \
- libencode-utf8-perl \
- libencode-utf_ebcdic-perl \
- "
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.01.bb b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.01.bb
new file mode 100644
index 000000000..be3a29683
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libencode/libencode-perl_3.01.bb
@@ -0,0 +1,106 @@
+# NOTE:
+# You should use perl-module-encode rather than this package
+# unless you specifically need a version newer than what is
+# provided by perl.
+
+SUMMARY = "Encode - character encodings"
+DESCRIPTION = "The \"Encode\" module provides the interfaces between \
+Perl's strings and the rest of the system. Perl strings are sequences \
+of characters."
+
+AUTHOR = "Dan Kogai <dankogai+cpan@gmail.com>"
+HOMEPAGE = "https://metacpan.org/release/Encode"
+SECTION = "lib"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://META.json;beginline=8;endline=10;md5=b12e3be1e17a7e99ca4f429ff32c28b5"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/DANKOGAI/Encode-${PV}.tar.gz"
+SRC_URI[md5sum] = "b0524ca1535ff6956cf1ff696616c94a"
+SRC_URI[sha256sum] = "d4555f570491648dbbd602bce7966672834b4c8f45acaa6757de474fca3a4d87"
+
+UPSTREAM_CHECK_REGEX = "Encode\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/Encode-${PV}"
+
+inherit cpan ptest-perl
+
+do_install_prepend() {
+ # Requires "-T" (taint) option on command line
+ rm -rf ${B}/t/taint.t
+ # Circular dependency of perl-module-open on perl-module-encode
+ # and we cannot load perl-module-encode because we are providing
+ # an alternative
+ rm -rf ${B}/t/use-Encode-Alias.t
+}
+
+do_install_ptest() {
+ mkdir ${D}${PTEST_PATH}/bin
+ cp -r ${B}/bin/piconv ${D}${PTEST_PATH}/bin
+ cp -r ${B}/blib ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+# file /usr/bin/enc2xs from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+# file /usr/bin/encguess from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+# file /usr/bin/piconv from install of perl-misc-5.24.1-r0.i586 conflicts with file from package libencode-perl-2.94-r0.i586
+RCONFLICTS_${PN} = "perl-misc perl-module-encode"
+
+RDEPENDS_${PN} += " \
+ perl-module-bytes \
+ perl-module-constant \
+ perl-module-parent \
+ perl-module-storable \
+ perl-module-xsloader \
+ "
+
+RPROVIDES_${PN} += " \
+ libencode-alias-perl \
+ libencode-byte-perl \
+ libencode-cjkconstants-perl \
+ libencode-cn-perl \
+ libencode-cn-hz-perl \
+ libencode-config-perl \
+ libencode-ebcdic-perl \
+ libencode-encoder-perl \
+ libencode-encoding-perl \
+ libencode-gsm0338-perl \
+ libencode-guess-perl \
+ libencode-jp-perl \
+ libencode-jp-h2z-perl \
+ libencode-jp-jis7-perl \
+ libencode-kr-perl \
+ libencode-kr-2022_kr-perl \
+ libencode-mime-header-perl \
+ libencode-mime-name-perl \
+ libencode-symbol-perl \
+ libencode-tw-perl \
+ libencode-unicode-perl \
+ libencode-unicode-utf7-perl \
+ libencoding-perl \
+ libencode-internal-perl \
+ libencode-mime-header-iso_2022_jp-perl \
+ libencode-utf8-perl \
+ libencode-utf_ebcdic-perl \
+ "
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-blib \
+ perl-module-charnames \
+ perl-module-file-compare \
+ perl-module-file-copy \
+ perl-module-filehandle \
+ perl-module-findbin \
+ perl-module-integer \
+ perl-module-io-select \
+ perl-module-ipc-open3 \
+ perl-module-mime-base64 \
+ perl-module-perlio \
+ perl-module-perlio-encoding \
+ perl-module-perlio-scalar \
+ perl-module-test-more \
+ perl-module-tie-scalar \
+ perl-module-unicore \
+ perl-module-utf8 \
+ "
+
+BBCLASSEXTEND = "native"
diff --git a/meta-security/recipes-perl/perl/libenv-perl_1.04.bb b/meta-openembedded/meta-perl/recipes-perl/libenv/libenv-perl_1.04.bb
index dd8e1159e..dd8e1159e 100644
--- a/meta-security/recipes-perl/perl/libenv-perl_1.04.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libenv/libenv-perl_1.04.bb
diff --git a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb
index 33707a0af..f57e1224d 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libextutils/libextutils-parsexs-perl_3.35.bb
@@ -21,7 +21,7 @@ S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit cpan
-RDEPENDS_${PN} = " perl-module-carp \
+RDEPENDS_${PN} += " perl-module-carp \
perl-module-cwd \
perl-module-dynaloader \
perl-module-extutils-cbuilder \
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.20.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.20.bb
deleted file mode 100644
index c37b40d7c..000000000
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.20.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-DESCRIPTION = "This package contains the DNS.pm module with friends."
-HOMEPAGE = "http://www.net-dns.org/"
-SECTION = "libs"
-LICENSE = "MIT"
-
-LIC_FILES_CHKSUM = "file://README;beginline=252;endline=269;md5=27db37b42cd1a5173a53922d67072bcb"
-
-DEPENDS += "perl"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "565d3ae163591f3da7e1a20827b73c28"
-SRC_URI[sha256sum] = "7fd9692b687253baa8f2eb639f1dd7ff9c77fddd67167dc59b400bd25e4ce01b"
-
-UPSTREAM_CHECK_REGEX = "Net\-DNS\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
-
-S = "${WORKDIR}/Net-DNS-${PV}"
-
-EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
-
-inherit cpan ptest-perl
-
-RDEPENDS_${PN} = " \
- libdigest-hmac-perl \
- perl-module-base \
- perl-module-constant \
- perl-module-digest-md5 \
- perl-module-digest-sha \
- perl-module-file-spec \
- perl-module-integer \
- perl-module-io-file \
- perl-module-io-select \
- perl-module-io-socket \
- perl-module-io-socket-ip \
- perl-module-mime-base64 \
- perl-module-scalar-util \
- perl-module-test-more \
- perl-module-time-local \
-"
-
-RRECOMMENDS_${PN} += " \
- libnet-dns-sec-perl \
-"
-
-RDEPENDS_${PN}-ptest += " \
- perl-module-encode \
- perl-module-encode-byte \
- perl-module-extutils-mm \
- perl-module-extutils-mm-unix \
- perl-module-overload \
-"
-
-python __anonymous () {
- # rather than use "find" to determine libc-*.so,
- # statically export the known paths for glibc and musl
- import os
- if d.getVar('TCLIBC') == "glibc":
- os.environ["LIBC"] = "${STAGING_BASELIBDIR}/libc.so.6"
- elif d.getVar('TCLIBC') == "musl":
- os.environ["LIBC"] = "${STAGING_LIBDIR}/libc.so"
- else:
- raise bb.parse.SkipRecipe("incompatible with %s C library" %
- d.getVar('TCLIBC'))
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.21.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.21.bb
new file mode 100644
index 000000000..58b8eec66
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.21.bb
@@ -0,0 +1,66 @@
+DESCRIPTION = "This package contains the DNS.pm module with friends."
+HOMEPAGE = "http://www.net-dns.org/"
+SECTION = "libs"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://README;beginline=252;endline=269;md5=27db37b42cd1a5173a53922d67072bcb"
+
+DEPENDS += "perl"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "91e8593eb6eed41995e6edc567fb6fec"
+SRC_URI[sha256sum] = "ddefe13b28084ffcc8f10a96b3c13c59449dbf6fc371c006d129630ea0ce767a"
+
+UPSTREAM_CHECK_REGEX = "Net\-DNS\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
+
+S = "${WORKDIR}/Net-DNS-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} = " \
+ libdigest-hmac-perl \
+ perl-module-base \
+ perl-module-constant \
+ perl-module-digest-md5 \
+ perl-module-digest-sha \
+ perl-module-file-spec \
+ perl-module-integer \
+ perl-module-io-file \
+ perl-module-io-select \
+ perl-module-io-socket \
+ perl-module-io-socket-ip \
+ perl-module-mime-base64 \
+ perl-module-scalar-util \
+ perl-module-test-more \
+ perl-module-time-local \
+"
+
+RRECOMMENDS_${PN} += " \
+ libnet-dns-sec-perl \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-encode \
+ perl-module-encode-byte \
+ perl-module-extutils-mm \
+ perl-module-extutils-mm-unix \
+ perl-module-overload \
+"
+
+python __anonymous () {
+ # rather than use "find" to determine libc-*.so,
+ # statically export the known paths for glibc and musl
+ import os
+ if d.getVar('TCLIBC') == "glibc":
+ os.environ["LIBC"] = "${STAGING_BASELIBDIR}/libc.so.6"
+ elif d.getVar('TCLIBC') == "musl":
+ os.environ["LIBC"] = "${STAGING_LIBDIR}/libc.so"
+ else:
+ raise bb.parse.SkipRecipe("incompatible with %s C library" %
+ d.getVar('TCLIBC'))
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-sec-perl_1.10.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-sec-perl_1.10.bb
index 3fa6294f1..240ffec4d 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-sec-perl_1.10.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-sec-perl_1.10.bb
@@ -29,5 +29,3 @@ RDEPENDS_${PN} = " \
perl-module-mime-base64 \
perl-module-test-more \
"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb
deleted file mode 100644
index f2b1f1634..000000000
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.65.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "LDAP Perl module"
-DESCRIPTION = "Net::LDAP is a collection of modules that implements \
-a LDAP services API for Perl programs. The module may be used to \
-search directories or perform maintenance functions such as adding, \
-deleting or modifying entries."
-
-SECTION = "libs"
-
-LICENSE = "Artistic-1.0|GPLv1+"
-LIC_FILES_CHKSUM = "file://README;beginline=3;endline=5;md5=4d6588c2fa0d38ae162f6314d201d89e"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARSCHAP/perl-ldap-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "d057c8db76913d95c0e460c7bdd98b27"
-SRC_URI[sha256sum] = "5f57dd261dc16ebf942a272ddafe69526598df71151a51916edc37a4f2f23834"
-
-S = "${WORKDIR}/perl-ldap-${PV}"
-
-inherit cpan
-
-do_configure_prepend() {
- perl -pi -e 's/auto_install_now.*//g' Makefile.PL
-}
-
-RDEPENDS_${PN} = "perl \
- libconvert-asn1-perl \
- libio-socket-ssl-perl \
- libauthen-sasl-perl \
-"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.66.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.66.bb
new file mode 100644
index 000000000..26c7c389d
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ldap-perl_0.66.bb
@@ -0,0 +1,45 @@
+SUMMARY = "LDAP Perl module"
+DESCRIPTION = "Net::LDAP is a collection of modules that implements \
+a LDAP services API for Perl programs. The module may be used to \
+search directories or perform maintenance functions such as adding, \
+deleting or modifying entries."
+
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0|GPLv1+"
+LIC_FILES_CHKSUM = "file://README;beginline=3;endline=5;md5=4d6588c2fa0d38ae162f6314d201d89e"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/M/MA/MARSCHAP/perl-ldap-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "c4c1ae9299cd488e75c1b82904458bef"
+SRC_URI[sha256sum] = "09263ce6166e80c98d689d41d09995b813389fd069b784601f6dc57f8e2b4102"
+
+S = "${WORKDIR}/perl-ldap-${PV}"
+
+inherit cpan ptest-perl
+
+do_configure_prepend() {
+ perl -pi -e 's/auto_install_now.*//g' Makefile.PL
+}
+
+do_install_ptest() {
+ cp -r ${B}/data ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN} += " \
+ libconvert-asn1-perl \
+ libio-socket-ssl-perl \
+ libauthen-sasl-perl \
+ perl-module-integer \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ libxml-sax-base-perl \
+ libxml-sax-writer-perl \
+ perl-module-file-compare \
+ perl-module-perlio \
+ perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb
index dccef1640..50ab5af3a 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.85.bb
@@ -42,8 +42,6 @@ do_install_ptest() {
cp -r ${B}/t ${D}${PTEST_PATH}
}
-BBCLASSEXTEND = "native"
-
FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Net/SSLeay/.debug/"
RDEPENDS_${PN}-ptest = " perl"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb b/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb
index 64d19c0f1..3d530d1a1 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-exporter-progressive-perl_0.001013.bb
@@ -13,8 +13,6 @@ HOMEPAGE = "https://metacpan.org/pod/Sub-Exporter-Progressive/"
LICENSE = "Artistic-1.0 | GPL-1.0+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=003fa970662359a43ac2c2961108b0f1"
-DEPENDS_${PN} = " perl-module-test-more"
-
SRC_URI = "${CPAN_MIRROR}/authors/id/F/FR/FREW/Sub-Exporter-Progressive-${PV}.tar.gz"
SRC_URI[md5sum] = "72cf6acdd2a0a8b105821a4db98e4ebe"
SRC_URI[sha256sum] = "d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-uplevel-perl_0.2800.bb b/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-uplevel-perl_0.2800.bb
new file mode 100644
index 000000000..f05103787
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libsub/libsub-uplevel-perl_0.2800.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Sub::Uplevel - apparently run a function in a higher stack frame"
+DESCRIPTION = " Like Tcl's uplevel() function, but not quite so dangerous. \
+The idea is just to fool caller(). All the really naughty bits of Tcl's \
+uplevel() are avoided. \
+\
+THIS IS NOT THE SORT OF THING YOU WANT TO DO EVERYDAY \
+"
+
+SECTION = "libs"
+HOMEPAGE= "https://metacpan.org/release/Sub-Uplevel"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7f1207cd3108e4ade18448d81e6bcb6c"
+
+CPAN_PACKAGE = "Sub-Uplevel"
+CPAN_AUTHOR = "DAGOLDEN"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/D/DA/${CPAN_AUTHOR}/${CPAN_PACKAGE}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "6c6a174861fd160e8d5871a86df00baf"
+SRC_URI[sha256sum] = "b4f3f63b80f680a421332d8851ddbe5a8e72fcaa74d5d1d98f3c8cc4a3ece293"
+
+S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS_${PN} += " \
+ perl-module-carp \
+ perl-module-constant \
+ perl-module-strict \
+ perl-module-warnings \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-cpan \
+ perl-module-exporter \
+ perl-module-extutils-makemaker \
+ perl-module-file-spec \
+ perl-module-lib \
+ perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-nowarnings-perl_1.04.bb b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-nowarnings-perl_1.04.bb
new file mode 100644
index 000000000..f3c28d39c
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-nowarnings-perl_1.04.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Make sure you didn't emit any warnings while testing"
+DESCRIPTION = "In general, your tests shouldn't produce warnings. This \
+modules causes any warnings to be captured and stored. It automatically \
+adds an extra test that will run when your script ends to check that there \
+were no warnings. If there were any warings, the test will give a \\"not ok\\" \
+and diagnostics of where, when and what the warning was, including a stack \
+trace of what was going on when the it occurred.\
+\
+If some of your tests are supposed to produce warnings then you should \
+be capturing and checking them with Test::Warn, that way \
+Test::NoWarnings will not see them and so not complain.\
+\
+The test is run by an \\"END\\" block in Test::NoWarnings. It will not be \
+run when any forked children exit."
+
+SECTION = "libs"
+LICENSE = "LGPL-2.1"
+
+HOMEPAGE= "https://metacpan.org/release/Test-NoWarnings"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+CPAN_PACKAGE = "Test-NoWarnings"
+CPAN_AUTHOR = "ADAMK"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/A/AD/${CPAN_AUTHOR}/${CPAN_PACKAGE}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "682ed043f7d3e38f3dfd8745fd21c49a"
+SRC_URI[sha256sum] = "638a57658cb119af1fe5b15e73d47c2544dcfef84af0c6b1b2e97f08202b686c"
+
+RDEPENDS_${PN} += "perl-module-test-builder perl-module-test-more perl-module-test-tester"
+
+S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
+
+inherit cpan ptest-perl
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb
new file mode 100644
index 000000000..c336da80f
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-warn-perl_0.36.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Test::Warn - Perl extension to test methods for warnings"
+DESCRIPTION = "This module provides a few convenience methods for testing \
+warning based code. \
+\
+If you are not already familiar with the Test::More manpage now would be \
+the time to go take a look. \
+"
+
+SECTION = "libs"
+HOMEPAGE= "https://metacpan.org/release/Test-Warn"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=73;endline=78;md5=42b423d91c92ba59c215835a2ee9b57a"
+
+CPAN_PACKAGE = "Test-Warn"
+CPAN_AUTHOR = "BIGJ"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/B/BI/${CPAN_AUTHOR}/${CPAN_PACKAGE}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "3d958f43d36db263994affde5da09b51"
+SRC_URI[sha256sum] = "ecbca346d379cef8d3c0e4ac0c8eb3b2613d737ffaaeae52271c38d7bf3c6cda"
+
+S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
+
+inherit cpan ptest-perl
+
+do_install_ptest() {
+ cp -r ${B}/blib ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN} += " \
+ libsub-uplevel-perl \
+ perl-module-blib \
+ perl-module-carp \
+ perl-module-test-builder \
+ perl-module-test-builder-tester \
+ perl-module-test-tester \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-file-spec \
+ perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb b/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb
deleted file mode 100644
index 5ccb411fa..000000000
--- a/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2017.004.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Unicode::LineBreak - UAX #14 Unicode Line Breaking Algorithm."
-DESCRIPTION = "Unicode::LineBreak performs Line Breaking Algorithm described in Unicode \
-Standard Annex #14 [UAX #14]. East_Asian_Width informative property \
-defined by Annex #11 [UAX #11] will be concerned to determine breaking \
-positions."
-SECTION = "libs"
-
-HOMEPAGE = "http://search.cpan.org/~nezumi/Unicode-LineBreak-${PV}/"
-
-LICENSE = "Artistic-1.0 | GPLv1+"
-LIC_FILES_CHKSUM = "file://README;md5=77241abd74fec561b3f3de1b44c0241b"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/Unicode-LineBreak-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "de7672227922260ac92d20bbad29660b"
-SRC_URI[sha256sum] = "655bc3c4cb60ad0770d97816716cfe322f24e602c70e595f5941dfa02c40cb76"
-
-S = "${WORKDIR}/Unicode-LineBreak-${PV}"
-
-DEPENDS = "libsombok3 libmime-charset-perl"
-
-RDEPENDS_${PN} = "libsombok3 libmime-charset-perl"
-
-inherit cpan
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2019.001.bb b/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2019.001.bb
new file mode 100644
index 000000000..304b37577
--- /dev/null
+++ b/meta-openembedded/meta-perl/recipes-perl/libunicode/libunicode-linebreak-perl_2019.001.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Unicode::LineBreak - UAX #14 Unicode Line Breaking Algorithm."
+DESCRIPTION = "Unicode::LineBreak performs Line Breaking Algorithm described in Unicode \
+Standard Annex #14 [UAX #14]. East_Asian_Width informative property \
+defined by Annex #11 [UAX #11] will be concerned to determine breaking \
+positions."
+SECTION = "libs"
+
+HOMEPAGE = "https://metacpan.org/release/Unicode-LineBreak"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=5;endline=9;md5=b5e8b1099b86b86fbc315b50484231ab"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEZUMI/Unicode-LineBreak-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "003d6da7a13700e069afed9238c864b9"
+SRC_URI[sha256sum] = "486762e4cacddcc77b13989f979a029f84630b8175e7fef17989e157d4b6318a"
+
+S = "${WORKDIR}/Unicode-LineBreak-${PV}"
+
+DEPENDS = "libsombok3 libmime-charset-perl"
+
+inherit cpan ptest-perl
+
+do_install_ptest() {
+ cp -r ${B}/test-data ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+RDEPENDS_${PN} += " \
+ libmime-charset-perl \
+ libsombok3 \
+ perl-module-carp \
+ perl-module-constant \
+ perl-module-encode \
+ perl-module-exporter \
+ perl-module-overload \
+ perl-module-strict \
+ perl-module-vars \
+ perl-module-warnings \
+ perl-module-xsloader \
+"
+
+RDEPENDS_${PN}-ptest += " \
+ perl-module-findbin \
+ perl-module-lib \
+ perl-module-strict \
+ perl-module-test-more \
+"
+
+RPROVIDES_${PN} += " \
+ libtext-linefold-perl \
+ libunicode-gcstring-perl \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/conf/layer.conf b/meta-openembedded/meta-python/conf/layer.conf
index fb5cda55d..db65943f5 100644
--- a/meta-openembedded/meta-python/conf/layer.conf
+++ b/meta-openembedded/meta-python/conf/layer.conf
@@ -14,6 +14,6 @@ LAYERVERSION_meta-python = "1"
LAYERDEPENDS_meta-python = "core openembedded-layer"
-LAYERSERIES_COMPAT_meta-python = "thud warrior"
+LAYERSERIES_COMPAT_meta-python = "thud warrior zeus"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
index 82cda5862..42f416346 100644
--- a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
+++ b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
@@ -33,14 +33,14 @@ RDEPENDS_packagegroup-meta-python = "\
python-robotframework-seriallibrary python-pyalsaaudio python-pytest-helpers-namespace \
python-alembic python-flask-pymongo python-slip-dbus python-pydbus python-automat python-rfc3987 \
python-tzlocal python-backports-ssl python-subprocess32 python-asn1crypto python-pybind11 \
- python-ptyprocess python-babel python-passlib python-oauthlib python-sdnotify \
+ python-ptyprocess python-babel python-passlib python-sdnotify \
python-lazy-object-proxy python-cryptography-vectors python-crcmod python-pyusb python-vobject \
python-webcolors python-pyparsing python-beautifulsoup4 python-cffi python-tornado-redis \
python-itsdangerous python-pyasn1-modules python-netaddr python-vcversioner \
python-sh python-greenlet python-paho-mqtt python-traceback2 python-gdata python-dbusmock \
python-whoosh python-lockfile python-isort python-wtforms python-feedparser python-flask-restful \
python-pysnmp python-flask-babel python-pytest-tempdir python-flask-nav python-pyzmq python-pyyaml \
- python-protobuf python-pluggy python-jsonschema python-msgpack python-pandas \
+ python-protobuf python-pluggy python-jsonschema python-msgpack \
python-periphery python-pint python-pycryptodome python-yappi python-pycrypto python-pretend \
python-pyserial python-pyiface python-docutils python-grpcio-tools python-django-south \
python-backports-functools-lru-cache python-py python-click python-flask-migrate \
@@ -57,7 +57,7 @@ RDEPENDS_packagegroup-meta-python = "\
python-markupsafe python-pytest-runner python-grpcio python-mccabe python-pytz python-selectors34 \
python-cython python-chardet python-editor python-flask-bootstrap python-html5lib \
python-singledispatch python-redis python-flask-mail python-funcsigs python-snimpy python-pyasn1 \
- python-decorator python-urllib3 python-feedformatter python-matplotlib python-iso8601 \
+ python-decorator python-urllib3 python-feedformatter python-iso8601 \
python-numeric python-robotframework python-django python-simplejson python-wcwidth \
python-configparser python-epydoc python-intervals python-speaklater \
python-aws-iot-device-sdk-python python-constantly python-bitarray python-flask-wtf \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref.inc b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref.inc
new file mode 100644
index 000000000..0e69e4534
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref.inc
@@ -0,0 +1,11 @@
+SUMMARY = "jsonref is a library for automatic dereferencing of JSON Reference objects for Python"
+HOMEPAGE = "https://github.com/gazpachoking/jsonref"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a34264f25338d41744dca1abfe4eb18f"
+
+SRC_URI[md5sum] = "42b518b9ccd6852d1d709749bc96cb70"
+SRC_URI[sha256sum] = "f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697"
+
+inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref_0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref_0.2.bb
new file mode 100644
index 000000000..d97893f5a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python-jsonref/python-jsonref_0.2.bb
@@ -0,0 +1 @@
+require python-jsonref.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-aiofiles.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-aiofiles.inc
new file mode 100644
index 000000000..3ecb21c86
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-aiofiles.inc
@@ -0,0 +1,14 @@
+SUMMARY = "File support for asyncio"
+DESCRIPTION = "Asynchronous local file IO library for asyncio and Python"
+HOMEPAGE = "https://github.com/aio-libs/aiohttp"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+SRC_URI[md5sum] = "cb33cf96c371fbd56fc27ab0bd81bd61"
+SRC_URI[sha256sum] = "021ea0ba314a86027c166ecc4b4c07f2d40fc0f4b3a950d1868a0f2571c2bbee"
+
+PYPI_PACKAGE = "aiofiles"
+inherit pypi
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-asyncio \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-aiohttp.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-aiohttp.inc
index 81f1809bd..e711ad71d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-aiohttp.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-aiohttp.inc
@@ -15,4 +15,7 @@ RDEPENDS_${PN} = "\
${PYTHON_PN}-idna-ssl \
${PYTHON_PN}-multidict \
${PYTHON_PN}-yarl \
+ ${PYTHON_PN}-typing \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-attrs \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
index 9d556e7ef..fa178ce08 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic.inc
@@ -1,9 +1,9 @@
DESCRIPTION = "A database migration tool for SQLAlchemy"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a5befaf254582f10aadd62d83cd20322"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=28aaf14a6592d14dbfb2f4abd597aa27"
-SRC_URI[md5sum] = "9969c707786f41f1b95c09c54f8970e9"
-SRC_URI[sha256sum] = "828dcaa922155a2b7166c4f36ec45268944e4055c86499bd14319b4c8c0094b7"
+SRC_URI[md5sum] = "6fe272274fce2641b93998ef9b702b76"
+SRC_URI[sha256sum] = "9f907d7e8b286a1cfb22db9084f9ce4fde7ad7956bb496dc7c952e10ac90e36a"
PYPI_PACKAGE = "alembic"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.0.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.2.1.bb
index efcb2b1de..efcb2b1de 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.0.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-alembic_1.2.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
index f1f0a3c51..e85ce9a91 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-asn1crypto.inc
@@ -20,4 +20,4 @@ RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-netclient \
"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-async-timeout.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-async-timeout.inc
index 7e4959ebc..e71a00262 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-async-timeout.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-async-timeout.inc
@@ -13,3 +13,7 @@ SRC_URI[sha256sum] = "0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b2
PYPI_PACKAGE = "async-timeout"
inherit pypi
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-asyncio \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-atomicwrites.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-atomicwrites.inc
new file mode 100644
index 000000000..773e9dd77
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-atomicwrites.inc
@@ -0,0 +1,7 @@
+DESCRIPTION = "Powerful Python library for atomic file writes"
+HOMEPAGE = "https://github.com/untitaker/python-atomicwrites"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=91cc36cfafeefb7863673bcfcb1d4da4"
+
+SRC_URI[md5sum] = "ce11f780a4ce0fce8a55d64494a88178"
+SRC_URI[sha256sum] = "75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-atomicwrites_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-atomicwrites_1.3.0.bb
new file mode 100644
index 000000000..c7b41d603
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-atomicwrites_1.3.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-atomicwrites.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
index 1f767ba19..bd0f7ee2c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-attrs.inc
@@ -12,3 +12,5 @@ RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-crypt \
${PYTHON_PN}-ctypes \
"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc
index a33d8f4be..a7fa081e4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4.inc
@@ -3,8 +3,8 @@ HOMEPAGE = " https://www.crummy.com/software/BeautifulSoup/bs4"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=f2d38d8a40bf73fd4b3d16ca2e5882d1"
-SRC_URI[md5sum] = "c71f53fcb2580c376ab7b010a9178983"
-SRC_URI[sha256sum] = "945065979fb8529dd2f37dbb58f00b661bdbcbebf954f93b32fdf5263ef35348"
+SRC_URI[md5sum] = "2b34208b26b5c49d4c84a4b9cf78656a"
+SRC_URI[sha256sum] = "25288c9e176f354bf277c0a10aa96c782a6a18a17122dba2e8cec4a97e03343b"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.0.bb
index 907285ac1..907285ac1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.7.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-beautifulsoup4_4.8.0.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 23e18563a..de02d9a4a 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] = "af8fea5f3df6f7f81e9c6cbc6dd7c1e8"
-SRC_URI[sha256sum] = "945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695"
+SRC_URI[md5sum] = "cadd4e373fc08f649fa39b82aed9ad96"
+SRC_URI[sha256sum] = "e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.6.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.9.11.bb
index adfe6238e..adfe6238e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.6.16.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-certifi_2019.9.11.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
index d86306bac..818d23815 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cffi.inc
@@ -10,6 +10,7 @@ SRC_URI[sha256sum] = "041c81822e9f84b1d9c401182e174996f0bae9991f33725d059b771744
RDEPENDS_${PN}_class-target = " \
${PYTHON_PN}-ctypes \
${PYTHON_PN}-io \
+ ${PYTHON_PN}-pycparser \
${PYTHON_PN}-shell \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc
new file mode 100644
index 000000000..3afa93adb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Extra features for standard library's cmd module"
+HOMEPAGE = "http://packages.python.org/cmd2/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01aeabea7ae1529a8e4b674b7107d6bc"
+
+SRC_URI[md5sum] = "c030c7364422609d16028fe1ea023bfe"
+SRC_URI[sha256sum] = "77bea602eb3b553a573188fa9514234bb1e44269d830a0ef8c4357f47aa9e46a"
+
+inherit pypi
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.17.bb
new file mode 100644
index 000000000..17b6ae285
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.17.bb
@@ -0,0 +1,14 @@
+inherit setuptools
+require python-cmd2.inc
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-doctest \
+ ${PYTHON_PN}-pyparsing \
+ ${PYTHON_PN}-pyperclip \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-subprocess \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-textutils \
+ "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb
deleted file mode 100644
index 1b75e347b..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cmd2_0.9.2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Extra features for standard library's cmd module"
-HOMEPAGE = "http://packages.python.org/cmd2/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=60bc6842001870a418935bd84570b676"
-
-SRC_URI[md5sum] = "bfe0900a2288283a40f0ee7533486a2f"
-SRC_URI[sha256sum] = "e7b6b4b76272a051c943c3c709cd760142af16fbc9218e0ed3c22b28ea38d0a8"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-doctest \
- ${PYTHON_PN}-pyparsing \
- ${PYTHON_PN}-pyperclip \
- ${PYTHON_PN}-shell \
- ${PYTHON_PN}-six \
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-subprocess \
- ${PYTHON_PN}-threading \
- ${PYTHON_PN}-textutils \
- "
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs.inc
new file mode 100644
index 000000000..f43bea1f7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "Colored terminal output for Python's logging module"
+HOMEPAGE = "https://coloredlogs.readthedocs.io"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=690da298a43805797a4fa7bbe180b3c6"
+
+SRC_URI[md5sum] = "0a186966a1955fff8cf9489373e691d9"
+SRC_URI[sha256sum] = "b869a2dda3fa88154b9dd850e27828d8755bfab5a838a1c97fbc850c6e377c36"
+
+inherit pypi
+
+do_compile_prepend() {
+ sed -ie "s/find_pth_directory(),/'',/g" setup.py
+}
+
+do_install_append() {
+ rm -rf ${D}${datadir}
+}
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-humanfriendly \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs_10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs_10.0.bb
new file mode 100644
index 000000000..0fc1b258c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-coloredlogs_10.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-coloredlogs.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc
index 133dbba71..a1fb6cd29 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-configparser.inc
@@ -3,9 +3,9 @@ SECTION = "devel/python"
HOMEPAGE = "https://docs.python.org/3/library/configparser.html"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=10;endline=10;md5=23f9ad5cad3d8cc0336e2a5d8a87e1fa"
-SRC_URI[md5sum] = "cfdd915a5b7a6c09917a64a573140538"
-SRC_URI[sha256sum] = "5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a"
+SRC_URI[md5sum] = "bc1558ed941cb1acb80ff650726d5af8"
+SRC_URI[sha256sum] = "bc37850f0cc42a1725a796ef7d92690651bf1af37d744cc63161dac62cabee17"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.8.1.bb
index 69f045dba..69f045dba 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-configparser_3.8.1.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 10cfef58b..426159465 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] = "08939b99869f59007387aea0d1a86341"
-SRC_URI[sha256sum] = "26229570d6787ff3caa932fe9d802960f51a89239b990d275ae845405ce43857"
+SRC_URI[md5sum] = "f8109a2a86cded40b3896ee7a63bc5a5"
+SRC_URI[sha256sum] = "c29d069a4a30f472482343c866f7486731ad638ef9af92bfe5fca9c7323d638e"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.13.bb
index d803a6ed4..d803a6ed4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-cython_0.29.13.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb
index ffb5beb57..002da046c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-daemon_2.1.2.bb
@@ -8,8 +8,8 @@ RDEPENDS_${PN} = "python-docutils \
python-resource \
"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+LICENSE = "Apache-2.0 & GPLv3"
+LIC_FILES_CHKSUM = "file://README;md5=2695c853a2cafc33e68a1d972889ebd2"
inherit pypi setuptools
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
index e230f15dd..8cc2373cd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-dateutil.inc
@@ -21,3 +21,5 @@ RDEPENDS_${PN}_class-target = "\
${PYTHON_PN}-six \
${PYTHON_PN}-stringold \
"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.12.bb
new file mode 100644
index 000000000..f08fa20a1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.12.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Python bindings for the DBus inter-process communication system"
+SECTION = "devel/python"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+LICENSE = "MIT & AFL-2.1 | GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4 \
+ file://dbus-gmain/COPYING;md5=99fece6728a80737c8fd3e7c734c17c4 "
+DEPENDS = "expat dbus dbus-glib virtual/libintl python-pyrex-native"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \
+"
+
+SRC_URI[md5sum] = "428b7a9e7e2d154a7ceb3e13536283e4"
+SRC_URI[sha256sum] = "cdd4de2c4f5e58f287b12013ed7b41dee81d503c8d0d2397c5bd2fb01badf260"
+S = "${WORKDIR}/dbus-python-${PV}"
+
+inherit distutils-base autotools pkgconfig
+
+# documentation needs python-sphinx, which is not in oe-core or meta-python for now
+# change to use PACKAGECONFIG when python-sphinx is added to oe-core or meta-python
+EXTRA_OECONF += "--disable-documentation"
+
+export STAGING_LIBDIR
+export STAGING_INCDIR
+
+RDEPENDS_${PN} = "python-io python-logging python-stringold python-threading python-xml"
+
+FILES_${PN}-dev += "${libdir}/pkgconfig"
+
+do_install_append() {
+ # Remove files that clash with python3-dbus; their content is same
+ rm ${D}${includedir}/dbus-1.0/dbus/dbus-python.h ${D}${libdir}/pkgconfig/dbus-python.pc
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb
deleted file mode 100644
index b3f724054..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-dbus_1.2.8.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Python bindings for the DBus inter-process communication system"
-SECTION = "devel/python"
-HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
-LICENSE = "MIT & AFL-2.1 | GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4 \
- file://dbus-gmain/COPYING;md5=05c3eacd50f69bb1d58afec460baad57 "
-DEPENDS = "expat dbus dbus-glib virtual/libintl python-pyrex-native"
-
-SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "7379db774c10904f27e7e2743d90fb43"
-SRC_URI[sha256sum] = "abf12bbb765e300bf8e2a1b2f32f85949eab06998dbda127952c31cb63957b6f"
-S = "${WORKDIR}/dbus-python-${PV}"
-
-inherit distutils-base autotools pkgconfig
-
-# documentation needs python-sphinx, which is not in oe-core or meta-python for now
-# change to use PACKAGECONFIG when python-sphinx is added to oe-core or meta-python
-EXTRA_OECONF += "--disable-documentation"
-
-export STAGING_LIBDIR
-export STAGING_INCDIR
-
-RDEPENDS_${PN} = "python-io python-logging python-stringold python-threading python-xml"
-
-FILES_${PN}-dev += "${libdir}/pkgconfig"
-
-do_install_append() {
- # Remove files that clash with python3-dbus; their content is same
- rm ${D}${includedir}/dbus-1.0/dbus/dbus-python.h ${D}${libdir}/pkgconfig/dbus-python.pc
-}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc
index c399d7dda..f24da1284 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-engineio.inc
@@ -9,5 +9,5 @@ inherit pypi
PYPI_PACKAGE = "python-engineio"
-SRC_URI[md5sum] = "011a61f1ee84755043cf862c8cc24f21"
-SRC_URI[sha256sum] = "b2756ce53076163eb24f59c1d1a903ac72f071ad4fb7b3ef6dab1b1b9ae9a44f"
+SRC_URI[md5sum] = "11a4f18f5b08a36d07d3c0ff85e7c047"
+SRC_URI[sha256sum] = "2a4c874aea686e79f8ea9efc30748110df581df6d577d18bb5eaa1a8f2199d12"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.9.3.bb
index 7dd6ec0e0..7dd6ec0e0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-engineio_3.9.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
index fb2d6ed8b..39251525b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo.inc
@@ -5,9 +5,11 @@ SECTION = "devel/python"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://flask_pymongo/wrappers.py;beginline=1;endline=24;md5=424c4e1047d28e01b4e4634a069c019d"
-SRC_URI[md5sum] = "d7a1b717f27154e1f3a355f8ec2467d6"
-SRC_URI[sha256sum] = "2baaa2ba5107d72b3a8bd4b5c0c8881316e35340ad1ae979cc13f1f3c8843b3d"
+SRC_URI[md5sum] = "94df71e6800b1d7915cc91a74b70f959"
+SRC_URI[sha256sum] = "620eb02dc8808a5fcb90f26cab6cba9d6bf497b15032ae3ca99df80366e33314"
PYPI_PACKAGE = "Flask-PyMongo"
+DEPENDS = "${PYTHON_PN}-vcversioner ${PYTHON_PN}-vcversioner-native"
+
RDEPENDS_${PN} = "${PYTHON_PN}-pymongo ${PYTHON_PN}-flask"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_2.3.0.bb
index d41d02348..d41d02348 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_0.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask-pymongo_2.3.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
index 66ad1a6e7..ffd783f3d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-flask.inc
@@ -13,4 +13,4 @@ CLEANBROKEN = "1"
PYPI_PACKAGE = "Flask"
-RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-werkzeug-tests ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous ${PYTHON_PN}-click"
+RDEPENDS_${PN} = "${PYTHON_PN}-werkzeug ${PYTHON_PN}-jinja2 ${PYTHON_PN}-itsdangerous ${PYTHON_PN}-click"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc
index 91cc62f40..1a15c48de 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio-tools.inc
@@ -5,8 +5,8 @@ SECTION = "devel/python"
DEPENDS_append = "${PYTHON_PN}-grpcio"
RDEPENDS_${PN} = "${PYTHON_PN}-grpcio"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=7145f7cdd263359b62d342a02f005515"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
index fd341f5de..c5762b26b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio.inc
@@ -9,6 +9,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/python-grpcio:"
SRC_URI_append_class-target = " file://0001-setup.py-Do-not-mix-C-and-C-compiler-options.patch \
file://ppc-boringssl-support.patch \
file://riscv64_support.patch \
+ file://gettid.patch \
"
RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \
@@ -16,8 +17,8 @@ RDEPENDS_${PN} = "${PYTHON_PN}-protobuf \
${PYTHON_PN}-six \
"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/gettid.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/gettid.patch
new file mode 100644
index 000000000..fb15cf7f9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-grpcio/gettid.patch
@@ -0,0 +1,26 @@
+use glibc provided gettid API for glibc 2.30+
+
+glibc 2.30 introduced this function see [1]
+so it's best to detect it
+and provide fallback only if it's not present
+
+[1] https://sourceware.org/bugzilla/show_bug.cgi?id=6399
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/core/lib/gpr/log_linux.cc
++++ b/src/core/lib/gpr/log_linux.cc
+@@ -40,7 +40,13 @@
+ #include <time.h>
+ #include <unistd.h>
+
++#if defined(__GLIBC__)
++#if !__GLIBC_PREREQ(2,29)
+ static long gettid(void) { return syscall(__NR_gettid); }
++#endif
++#else
++static long gettid(void) { return syscall(__NR_gettid); }
++#endif
+
+ void gpr_log(const char* file, int line, gpr_log_severity severity,
+ const char* format, ...) {
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly.inc
new file mode 100644
index 000000000..94f7f8b81
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly.inc
@@ -0,0 +1,25 @@
+DESCRIPTION = "Human friendly output for text interfaces using Python"
+HOMEPAGE = "https://humanfriendly.readthedocs.io/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=690da298a43805797a4fa7bbe180b3c6"
+
+PYPI_PACKAGE = "humanfriendly"
+
+SRC_URI[md5sum] = "9573f9f37a5454d8205cfd1b9b8db9d2"
+SRC_URI[sha256sum] = "33ee8ceb63f1db61cce8b5c800c531e1a61023ac5488ccde2ba574a85be00a85"
+
+inherit pypi
+
+RDEPENDS_${PN}_class-target += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-fcntl \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-numbers \
+ ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-stringold \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly_4.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly_4.18.bb
new file mode 100644
index 000000000..4e03a654c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-humanfriendly_4.18.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-humanfriendly.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc
index 25398541c..653170ca6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-hyperlink.inc
@@ -8,7 +8,7 @@ SRC_URI[md5sum] = "4772fb4d87c26a1ab22a6161424e3cba"
inherit pypi
-RDEPENDS_${PN} += "${PYTHON_PN}-stringold ${PYTHON_PN}-netclient"
+RDEPENDS_${PN} += "${PYTHON_PN}-stringold ${PYTHON_PN}-netclient ${PYTHON_PN}-idna"
PACKAGES =. "${PN}-test "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata.inc
new file mode 100644
index 000000000..9eb5da954
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "Read metadata from Python packages"
+HOMEPAGE = "https://pypi.org/project/importlib-metadata/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e"
+
+SRC_URI = "https://files.pythonhosted.org/packages/5d/44/636bcd15697791943e2dedda0dbe098d8530a38d113b202817133e0b06c0/importlib_metadata-0.23.tar.gz"
+S = "${WORKDIR}/importlib_metadata-${PV}"
+SRC_URI[md5sum] = "80d677d744995336c9c22d21a85ddeb8"
+SRC_URI[sha256sum] = "aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS_${PN} += "${PYTHON_PN}-zipp ${PYTHON_PN}-pathlib2"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata_0.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata_0.23.bb
new file mode 100644
index 000000000..5c213004c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-importlib-metadata_0.23.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-importlib-metadata.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc
index b63fac979..ef5e903fb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-incremental.inc
@@ -17,4 +17,4 @@ RDEPENDS_${PN} += " \
# prevent a circular dependency. The build apparently does not use the part of
# python-incremental which uses python-twisted, so this hack is OK.
RDEPENDS_${PYTHON_PN}-incremental-native_remove = "${PYTHON_PN}-twisted-native"
-BBCLASSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc
index 1ecca3524..a915e09f9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-intervals.inc
@@ -2,8 +2,8 @@ DESCRIPTION = "Interval arithmetic for Python"
HOMEPAGE = "https://github.com/AlexandreDecan/python-intervals"
SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=05f1e16a8e59ce3e9a979e881816c2ab"
PYPI_PACKAGE := "python-intervals"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
index 409c09ad7..8f64c2ab5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch.inc
@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=32b15c843b7a329130f4e266a281ebb3"
inherit pypi
-SRC_URI[md5sum] = "83c4c9faccb4a2ff8c1db80cbddc590d"
-SRC_URI[sha256sum] = "49f29cab70e9068db3b1dc6b656cbe2ee4edf7dfe9bf5a0055f17a4b6804a4b9"
+SRC_URI[md5sum] = "e86503f05fa192fa870d7004b8ce929a"
+SRC_URI[sha256sum] = "cbb72f8bf35260628aea6b508a107245f757d1ec839a19c34349985e2c05645a"
RDEPENDS_${PN} += "${PYTHON_PN}-json ${PYTHON_PN}-jsonpointer ${PYTHON_PN}-netclient ${PYTHON_PN}-stringold"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.24.bb
index 90cd31802..90cd31802 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.23.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonpatch_1.24.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
index 6fdc02498..c772e9eb5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema.inc
@@ -2,12 +2,13 @@ SUMMARY = "An implementation of JSON Schema validation for Python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8"
-SRC_URI[md5sum] = "50c6b69a373a8b55ff1e0ec6e78f13f4"
-SRC_URI[sha256sum] = "6ff5f3180870836cae40f06fa10419f557208175f13ad7bc26caa77beb1f6e02"
+SRC_URI[md5sum] = "2b44d00dccc96d7ba3839190263152eb"
+SRC_URI[sha256sum] = "8d4a2b7b6c2237e0199c8ea1a6d3e05bf118e289ae2b9d7ba444182a2959560d"
-DEPENDS += "${PYTHON_PN}-vcversioner-native"
+DEPENDS += "${PYTHON_PN}-vcversioner-native ${PYTHON_PN}-setuptools-scm-native"
RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-attrs \
${PYTHON_PN}-core \
${PYTHON_PN}-io \
${PYTHON_PN}-json \
@@ -15,10 +16,12 @@ RDEPENDS_${PN} += " \
${PYTHON_PN}-numbers \
${PYTHON_PN}-pkgutil \
${PYTHON_PN}-pprint \
+ ${PYTHON_PN}-pyrsistent \
${PYTHON_PN}-rfc3987 \
${PYTHON_PN}-shell \
${PYTHON_PN}-strict-rfc3339 \
${PYTHON_PN}-unittest \
+ ${PYTHON_PN}-setuptools-scm \
"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.0.2.bb
index b677c646e..b677c646e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_2.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-jsonschema_3.0.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb
index 9ad865d40..20ea01804 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lockfile_0.12.2.bb
@@ -5,7 +5,7 @@ SECTION = "devel/python"
RDEPENDS_${PN} = "python-threading"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2340dffbbfea534b58f1349984eeef72"
inherit pypi setuptools
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing.inc
new file mode 100644
index 000000000..d125151cd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing.inc
@@ -0,0 +1,16 @@
+SUMMARY = "Python LR parsing library"
+SECTION = "devel/python"
+LICENSE = "AGPL-3.0"
+LIC_FILES_CHKSUM = "file://agpl-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788"
+
+HOMEPAGE = "http://lrparsing.sourceforge.net/"
+BUGTRACKER = "https://sourceforge.net/p/lrparsing/tickets/"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lrparsing/files/"
+UPSTREAM_CHECK_REGEX = "lrparsing-(?P<pver>\d+(\.\d+)+)"
+SRC_URI = "${SOURCEFORGE_MIRROR}/lrparsing/lrparsing-${PV}.tar.gz"
+SRC_URI[md5sum] = "34357d69bce87654d792cd8f02d148b2"
+SRC_URI[sha256sum] = "b45afda44001dc5ba632934f74c043d40cce653f1a7526cfbcb68f6be055b8d7"
+
+S = "${WORKDIR}/lrparsing-${PV}"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing_1.0.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing_1.0.16.bb
new file mode 100644
index 000000000..2cfe3012e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lrparsing_1.0.16.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-lrparsing.inc
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 dd73a412b..a97167f0d 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] = "aec44da0457dca385261e5ceb3fe36f9"
-SRC_URI[sha256sum] = "3ce1c49d4b4a7bc75fb12acb3a6247bb7a91fe420542e6d671ba9187d12a12c2"
+SRC_URI[md5sum] = "ce976a2d3c630d7fde86d3a4c3a1c606"
+SRC_URI[sha256sum] = "c81cb40bff373ab7a7446d6bbca0190bccc5be3448b47b51d729e37799bb5692"
DISTUTILS_BUILD_ARGS += " \
--with-xslt-config='pkg-config libxslt' \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.1.bb
index 81ccb12d8..81ccb12d8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.3.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-lxml_4.4.1.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 dc27ada74..abcbb8841 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-mako.inc
@@ -8,8 +8,8 @@ PYPI_PACKAGE = "Mako"
inherit pypi
-SRC_URI[md5sum] = "4a7aef27217a8e6c1a29447c9b1b00ab"
-SRC_URI[sha256sum] = "0cfa65de3a835e87eeca6ac856b3013aade55f49e32515f65d999f91a2324162"
+SRC_URI[md5sum] = "6c3f2da0b74af529a4c4a537d0848bf2"
+SRC_URI[sha256sum] = "a36919599a9b7dc5d86a7a8988f23a9a3a3d083070023bab23d64f7f1d1e0a4b"
RDEPENDS_${PN} = " \
${PYTHON_PN}-html \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.12.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.1.0.bb
index 3372eeb28..3372eeb28 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.0.12.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-mako_1.1.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
index 437a60cfb..33d63b3e5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe.inc
@@ -1,10 +1,10 @@
DESCRIPTION = "Implements a XML/HTML/XHTML Markup safe string for Python"
HOMEPAGE = "http://github.com/mitsuhiko/markupsafe"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c6d1adcf45d69359f256c1cea3254127"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=ffeffa59c90c9c4a033c7574f8f3fb75"
-SRC_URI[md5sum] = "2fcedc9284d50e577b5192e8e3578355"
-SRC_URI[sha256sum] = "a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
+SRC_URI[md5sum] = "43fd756864fe42063068e092e220c57b"
+SRC_URI[sha256sum] = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"
PYPI_PACKAGE = "MarkupSafe"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.1.1.bb
index 05bbe8a35..05bbe8a35 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-markupsafe_1.1.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb
deleted file mode 100644
index 5b1c3f05b..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats"
-SECTION = "devel/python"
-LICENSE = "PSF"
-LIC_FILES_CHKSUM = "file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74"
-
-DEPENDS += "python-numpy freetype libpng python-dateutil python-pytz"
-RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz"
-
-SRC_URI = "https://github.com/matplotlib/matplotlib/archive/v${PV}.tar.gz \
- file://fix_setupext.patch \
-"
-SRC_URI[md5sum] = "89717c1ef3c6fdcd6fb1f3b597a4858c"
-SRC_URI[sha256sum] = "aebed23921562792b68b8ca355de5abc176af4424f1987e2fa95f65e5c5e7e89"
-S = "${WORKDIR}/matplotlib-${PV}"
-EXTRA_OECONF = "--disable-docs"
-
-inherit setuptools pkgconfig
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools.inc
new file mode 100644
index 000000000..41c334e8d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools.inc
@@ -0,0 +1,9 @@
+DESCRIPTION = "More routines for operating on iterables, beyond itertools"
+HOMEPAGE = "https://github.com/erikrose/more-itertools"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5"
+
+SRC_URI[md5sum] = "f647bfd27243a7bebe53b5ddb6a3b1c4"
+SRC_URI[sha256sum] = "409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools_7.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools_7.2.0.bb
new file mode 100644
index 000000000..0702aad4e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-more-itertools_7.2.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-more-itertools.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
index 3a97042e0..adf5c3e9f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack.inc
@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=cd9523181d9d4fbf7ffca52eaa2a5751"
PYPI_PACKAGE = "msgpack"
inherit pypi
-SRC_URI[md5sum] = "1b96537be6f5186fed0d131aaa59ef26"
-SRC_URI[sha256sum] = "4008c72f5ef2b7936447dcb83db41d97e9791c83221be13d5e19db0796df1972"
+SRC_URI[md5sum] = "ba46fdee995565f40e332bd7eea882f1"
+SRC_URI[sha256sum] = "ea3c2f859346fcd55fc46e96885301d9c2f7a36d453f5d8f2967840efa1e1830"
RDEPENDS_${PN}_class-target += "\
${PYTHON_PN}-io \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.2.bb
index 2c2c8f2ad..2c2c8f2ad 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-msgpack_0.6.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-networkx.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-networkx.inc
new file mode 100644
index 000000000..a4c31b2b2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-networkx.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "Python package for creating and manipulating graphs and networks"
+LICENSE = "BSD-3-Clause"
+
+inherit pypi
+
+PYPI_PACKAGE_EXT = "zip"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-decorator \
+ "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb
deleted file mode 100644
index bc0c6863d..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Python package for creating and manipulating graphs and networks"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3376ff7c9c58048c62d91431f7f08cde"
-
-SRC_URI[md5sum] = "4a2c2a62dfc46ba7d594daca7c834995"
-SRC_URI[sha256sum] = "64272ca418972b70a196cb15d9c85a5a6041f09a2f32e0d30c0255f25d458bb1"
-
-PYPI_PACKAGE_EXT = "zip"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += "python-2to3"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.2.bb
new file mode 100644
index 000000000..648f0312f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-networkx_2.2.bb
@@ -0,0 +1,8 @@
+require python-networkx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3376ff7c9c58048c62d91431f7f08cde"
+
+SRC_URI[md5sum] = "82608a3686fb3e61f20cf13bfd3c1b4a"
+SRC_URI[sha256sum] = "45e56f7ab6fe81652fb4bc9f44faddb0e9025f469f602df14e3b2551c2ea5c8b"
+
+inherit setuptools
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb
deleted file mode 100644
index 4329d21a1..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-oauthlib_2.0.6.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-inherit setuptools
-require python-oauthlib.inc
-
-RDEPENDS_${PN} += "${PYTHON_PN}-re ${PYTHON_PN}-lang"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-packaging.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-packaging.inc
new file mode 100644
index 000000000..c32caaa40
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-packaging.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "Core utilities for Python packages"
+HOMEPAGE = "https://github.com/pypa/packaging"
+LICENSE = "Apache-2.0 & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91"
+
+SRC_URI[md5sum] = "867ce70984dc7b89bbbc3cac2a72b171"
+SRC_URI[sha256sum] = "28b924174df7a2fa32c1953825ff29c61e2f5e082343165438812f00d3a7fc47"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS_${PN} += "${PYTHON_PN}-six ${PYTHON_PN}-pyparsing"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-packaging_19.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-packaging_19.2.bb
new file mode 100644
index 000000000..55d0746bb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-packaging_19.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-packaging.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.23.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.23.4.bb
deleted file mode 100644
index b3bfab969..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pandas_0.23.4.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-inherit setuptools
-require python-pandas.inc
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-future \
- ${PYTHON_PN}-json \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.8.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.8.bb
deleted file mode 100644
index c8c932c9a..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.0.8.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Tools for using a Web Server Gateway Interface stack"
-HOMEPAGE = "http://pythonpaste.org/"
-LICENSE = "MIT"
-RDEPENDS_${PN} = "python-six"
-
-LIC_FILES_CHKSUM = "file://docs/license.txt;md5=1798f29d55080c60365e6283cb49779c"
-
-SRC_URI[md5sum] = "0119f4e82b930781e3bcb59c77f7a353"
-SRC_URI[sha256sum] = "c4f13993e6ab4a38602cef298d876552083e8215685bb45abda7113f0dd48117"
-
-PYPI_PACKAGE = "Paste"
-inherit pypi setuptools
-
-FILES_${PN} += "/usr/lib/*"
-
-DEPENDS += "${PYTHON_PN}-pytest-runner-native"
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.1.bb
new file mode 100644
index 000000000..6c78598a4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-paste_3.2.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Tools for using a Web Server Gateway Interface stack"
+HOMEPAGE = "http://pythonpaste.org/"
+LICENSE = "MIT"
+RDEPENDS_${PN} = "python-six"
+
+LIC_FILES_CHKSUM = "file://docs/license.txt;md5=1798f29d55080c60365e6283cb49779c"
+
+SRC_URI[md5sum] = "4ec8ac6032270daf91ff9621bda019d0"
+SRC_URI[sha256sum] = "3d9c9e96a8408777b01976dfce900049e9e8c970e02198534f2c8c1b2cca5dee"
+
+PYPI_PACKAGE = "Paste"
+inherit pypi setuptools
+
+FILES_${PN} += "/usr/lib/*"
+
+DEPENDS += "${PYTHON_PN}-pytest-runner-native"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2.inc
new file mode 100644
index 000000000..c25e5a080
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2.inc
@@ -0,0 +1,9 @@
+DESCRIPTION = "Object-oriented filesystem paths"
+HOMEPAGE = "https://github.com/mcmtroffaes/pathlib2"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=042856c23a3e903b33bf361ea1cbe29a"
+
+SRC_URI[md5sum] = "96da6398b3ea944417b84ccb25b171aa"
+SRC_URI[sha256sum] = "446014523bb9be5c28128c4d2a10ad6bb60769e78bd85658fe44a450674e0ef8"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-six"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2_2.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2_2.3.4.bb
new file mode 100644
index 000000000..e4bf78913
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pathlib2_2.3.4.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-pathlib2.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb
deleted file mode 100644
index ccc75de8d..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.2.1.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-inherit setuptools
-# The inc file is in oe-core
-require recipes-devtools/python/python-pbr.inc
-
-SRC_URI[md5sum] = "f72c2dd10602abad3695097d634e94bb"
-SRC_URI[sha256sum] = "93d2dc6ee0c9af4dbc70bc1251d0e545a9910ca8863774761f92716dece400b6"
-
-do_install_append() {
- if [ -f ${D}${bindir}/pbr ]; then
- mv ${D}${bindir}/pbr ${D}${bindir}/pbr-2
- fi
-}
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.3.bb
new file mode 100644
index 000000000..b21722fda
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pbr_5.4.3.bb
@@ -0,0 +1,13 @@
+inherit setuptools
+# The inc file is in oe-core
+require recipes-devtools/python/python-pbr.inc
+
+SRC_URI[md5sum] = "477d2aa285ad97250a172b199f4060b7"
+SRC_URI[sha256sum] = "2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8"
+
+do_install_append() {
+ if [ -f ${D}${bindir}/pbr ]; then
+ mv ${D}${bindir}/pbr ${D}${bindir}/pbr-2
+ fi
+}
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc
new file mode 100644
index 000000000..10be5bb62
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pika.inc
@@ -0,0 +1,22 @@
+SUMMARY = "Pika is a RabbitMQ (AMQP 0-9-1) client library for Python."
+DESCRIPTION = " \
+Pika is a pure-Python implementation of the AMQP 0-9-1 protocol \
+including RabbitMQ’s extensions. \
+"
+SECTION = "devel/python"
+HOMEPAGE = "https://pika.readthedocs.io"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=535836bf0a5de515a7bfee026075701d"
+
+SRC_URI[md5sum] = "6002400cdd33bf85ec8680ece72910d4"
+SRC_URI[sha256sum] = "9fa76ba4b65034b878b2b8de90ff8660a59d925b087c5bb88f8fdbb4b64a1dbf"
+
+inherit pypi
+
+PYPI_PACKAGE = "pika"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-tornado \
+ ${PYTHON_PN}-twisted \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pika_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pika_1.1.0.bb
new file mode 100644
index 000000000..f7e019867
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pika_1.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pika.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc
index 53f778393..2bc8e4ab6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pint.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/AlexandreDecan/python-intervals"
SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bccf824202692270a1e0829a62e3f47b"
PYPI_PACKAGE := "Pint"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.1.1.bb
deleted file mode 100644
index f78265030..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.1.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "PIP is a tool for installing and managing Python packages"
-HOMEPAGE = "https://pip.pypa.io/"
-LICENSE = "MIT & LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e"
-
-SRC_URI[md5sum] = "4fb98a060f21c731d6743b90a714fc73"
-SRC_URI[sha256sum] = "44d3d7d3d30a1eb65c7e5ff1173cdf8f7467850605ac7cc3707b6064bddd0958"
-
-inherit pypi setuptools
-
-# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
-RDEPENDS_${PN}_class-target = "python-modules python-distribute python-misc"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.2.3.bb
new file mode 100644
index 000000000..506a9e21c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pip_19.2.3.bb
@@ -0,0 +1,14 @@
+SUMMARY = "PIP is a tool for installing and managing Python packages"
+HOMEPAGE = "https://pip.pypa.io/"
+LICENSE = "MIT & LGPL-2.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e"
+
+SRC_URI[md5sum] = "f417444c66a0db1a82c8d9d2283a2f95"
+SRC_URI[sha256sum] = "e7a31f147974362e6c82d84b91c7f2bdf57e4d3163d3d454e6c3e71944d67135"
+
+inherit pypi setuptools
+
+# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
+RDEPENDS_${PN}_class-target = "python-modules python-distribute python-misc"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc
index 320359aa6..57660060c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy.inc
@@ -1,9 +1,11 @@
SUMMARY = "Plugin and hook calling mechanisms for python"
HOMEPAGE = "https://github.com/pytest-dev/pluggy"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=338dad807ed9337bfaeb9979c3bfe20f"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2"
-SRC_URI[md5sum] = "ffdde7c3a5ba9a440404570366ffb6d5"
-SRC_URI[sha256sum] = "7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff"
+SRC_URI[md5sum] = "4b8384b69cddbc2e104fdd3ff5631788"
+SRC_URI[sha256sum] = "fa5fa1622fa6dd5c030e9cad086fa19ef6a0cf6d7a2d12318e10cb49d6d68f34"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.0.bb
index edcd4f512..edcd4f512 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pluggy_0.13.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc
new file mode 100644
index 000000000..6004ecd33
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable.inc
@@ -0,0 +1,25 @@
+SUMMARY = "Python library for displaying tabular data in a ASCII table format"
+HOMEPAGE = "http://code.google.com/p/prettytable"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3e73500ffa52de5071cff65990055282"
+
+SRC_URI[md5sum] = "0c1361104caff8b09f220748f9d69899"
+SRC_URI[sha256sum] = "a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f"
+
+SRCNAME = "prettytable"
+
+SRC_URI = "https://pypi.python.org/packages/source/P/PrettyTable/${SRCNAME}-${PV}.zip"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+do_install_append() {
+ perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "*.txt" -o -name "PKG-INFO"`
+ for f in $perm_files; do
+ chmod 644 "${f}"
+ done
+}
+
+UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/PrettyTable/"
+UPSTREAM_CHECK_REGEX = "/PrettyTable/(?P<pver>(\d+[\.\-_]*)+)"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
index 406555ac3..69ff25927 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb
@@ -1,27 +1,3 @@
-SUMMARY = "Python library for displaying tabular data in a ASCII table format"
-HOMEPAGE = "http://code.google.com/p/prettytable"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3e73500ffa52de5071cff65990055282"
-
-SRC_URI[md5sum] = "0c1361104caff8b09f220748f9d69899"
-SRC_URI[sha256sum] = "a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f"
-
-SRCNAME = "prettytable"
-
-SRC_URI = "https://pypi.python.org/packages/source/P/PrettyTable/${SRCNAME}-${PV}.zip"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
inherit setuptools
+require python-prettytable.inc
-do_install_append() {
- perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "*.txt" -o -name "PKG-INFO"`
- for f in $perm_files; do
- chmod 644 "${f}"
- done
-}
-
-UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/PrettyTable/"
-UPSTREAM_CHECK_REGEX = "/PrettyTable/(?P<pver>(\d+[\.\-_]*)+)"
-
-BBCLASSEXTEND = "native nativesdk"
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 2929700a0..406131108 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf.inc
@@ -3,12 +3,12 @@ HOMEPAGE = "https://developers.google.com/protocol-buffers/"
SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=19e8f490f9526b1de84f8d949cfcfd4e"
inherit pypi
-SRC_URI[md5sum] = "b7095f3eb736459716d606677b5a29ee"
-SRC_URI[sha256sum] = "8c61cc8a76e9d381c665aecc5105fa0f1878cf7db8b5cd17202603bcb386d0fc"
+SRC_URI[md5sum] = "d634666c898148e4565ac62f3ba4a2ca"
+SRC_URI[sha256sum] = "843f498e98ad1469ad54ecb4a7ccf48605a1c5d2bd26ae799c7a2cddab4a37ec"
# 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.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.9.2.bb
index f04fc489f..f04fc489f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-protobuf_3.9.2.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 e466c5cd4..0908c1c92 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-psutil.inc
@@ -18,3 +18,5 @@ RDEPENDS_${PN} += " \
${PYTHON_PN}-threading \
${PYTHON_PN}-xml \
"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
index 87dbd1d3c..a9e4bbef0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules.inc
@@ -4,10 +4,10 @@ DESCRIPTION = "A collection of ASN.1 modules expressed in form of pyasn1\
data structures (X.509, PKCS etc.)."
HOMEPAGE = "https://github.com/etingof/pyasn1-modules"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=815ac3f9ca693006349094b358ab3155"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a14482d15c2249de3b6f0e8a47e021fd"
-SRC_URI[md5sum] = "65ce1ea1021679bffe96065baab232de"
-SRC_URI[sha256sum] = "a0cf3e1842e7c60fde97cb22d275eb6f9524f5c5250489e292529de841417547"
+SRC_URI[md5sum] = "c0bbe9820c971a97f156ff343ae67911"
+SRC_URI[sha256sum] = "43c17a83c155229839cc5c6b868e8d0c6041dba149789b6d6e28801c64821722"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.6.bb
index eb7888408..eb7888408 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1-modules_0.2.6.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
index 3827feaba..014fcf9a3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "http://pyasn1.sourceforge.net/"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=a14482d15c2249de3b6f0e8a47e021fd"
-SRC_URI[md5sum] = "f3c0cfbf882a20811be5ad5a41f74b82"
-SRC_URI[sha256sum] = "da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7"
+SRC_URI[md5sum] = "50290e833395016c49903f4f9c7e47e5"
+SRC_URI[sha256sum] = "a9495356ca1d66ed197a0f72b41eb1823cf7ea8b5bd07191673e8147aecf8604"
RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-codecs \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.7.bb
index a13c74dda..a13c74dda 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyasn1_0.4.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc
index c0e46b7ea..96cdc5dee 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle.inc
@@ -4,8 +4,8 @@ LICENSE = "MIT"
SECTION = "devel/python"
LIC_FILES_CHKSUM = "file://LICENSE;md5=01831ddbaf398471da3cc87f5037e822"
-SRC_URI[md5sum] = "85bbebd2c90d2f833c1db467d4d0e9a3"
-SRC_URI[sha256sum] = "cbfca99bd594a10f674d0cd97a3d802a1fdef635d4361e1a2658de47ed261e3a"
+SRC_URI[md5sum] = "40e7a76f364a18f531aaba11a4476e21"
+SRC_URI[sha256sum] = "e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.5.0.bb
index ec6c12f2f..ec6c12f2f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycodestyle_2.5.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycurl.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pycurl.inc
new file mode 100644
index 000000000..ac9a370c4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycurl.inc
@@ -0,0 +1,26 @@
+SUMMARY = "A Python Interface To The cURL library"
+DESCRIPTION = "\
+PycURL is a Python interface to libcurl, the multiprotocol file \
+transfer library. Similarly to the urllib Python module, PycURL can \
+be used to fetch objects identified by a URL from a Python program \
+"
+SECTION = "devel/python"
+HOMEPAGE = "http://pycurl.io/"
+
+LICENSE = "LGPLv2 | MIT"
+LIC_FILES_CHKSUM = " \
+ file://COPYING-LGPL;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING-MIT;md5=2df767ed35d8ea83de4a93feb55e7815 \
+"
+
+SRC_URI[md5sum] = "f0ed4c805e8bec734990e2e0ee78568e"
+SRC_URI[sha256sum] = "6f08330c5cf79fa8ef68b9912b9901db7ffd34b63e225dce74db56bb21deda8e"
+
+inherit pypi
+
+PYPI_PACKAGE = "pycurl"
+
+DEPENDS = "\
+ curl \
+ ${PYTHON_PN}\
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pycurl_7.43.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pycurl_7.43.0.3.bb
new file mode 100644
index 000000000..7ab259265
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pycurl_7.43.0.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pycurl.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb
deleted file mode 100644
index a16a880db..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_1.6.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "passive checker of Python programs"
-HOMEPAGE = "https://github.com/dreamhost/cliff"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.rst;md5=029ce1beb023f2c4ca9f417e4984a865"
-
-SRC_URI[md5sum] = "b385b0e4cd40a522553e97cd2d83573e"
-SRC_URI[sha256sum] = "8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805"
-
-inherit pypi setuptools
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-prettytable \
- ${PYTHON_PN}-cmd2 \
- ${PYTHON_PN}-pyparsing"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_2.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_2.1.1.bb
new file mode 100644
index 000000000..1c03f3990
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyflakes_2.1.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "passive checker of Python programs"
+HOMEPAGE = "https://github.com/dreamhost/cliff"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=5127315117a8561a1504343d59620647"
+
+SRC_URI[md5sum] = "a0f71a15724e553c46e03ba5ed56703c"
+SRC_URI[sha256sum] = "d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2"
+
+inherit pypi setuptools
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-prettytable \
+ ${PYTHON_PN}-cmd2 \
+ ${PYTHON_PN}-pyparsing"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
index 88786ec67..cd11d9812 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo.inc
@@ -8,8 +8,8 @@ HOMEPAGE = "http://github.com/mongodb/mongo-python-driver"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRC_URI[md5sum] = "3e8035f85cfb2be95207724c59bddfaa"
-SRC_URI[sha256sum] = "9d50c99c6388863cbfdc5db9bad62e3a7c2e5fc151554a07c7f3c2530334a34f"
+SRC_URI[md5sum] = "531786df7ad98f15c43f1b17edf5f84c"
+SRC_URI[sha256sum] = "4249c6ba45587b959292a727532826c5032d59171f923f7f823788f413c2a5a3"
PACKAGES =+ "${PYTHON_PN}-bson"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.9.0.bb
index b1778b2f1..b1778b2f1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pymongo_3.9.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymysql.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pymysql.inc
new file mode 100644
index 000000000..8c7f4556c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pymysql.inc
@@ -0,0 +1,18 @@
+SUMMARY = "A pure-Python MySQL client library"
+DESCRIPTION = " \
+ This package contains a pure-Python MySQL client library, based on PEP 249 \
+ Most public APIs are compatible with mysqlclient and MySQLdb. \
+ "
+SECTION = "devel/python"
+HOMEPAGE = "https://pymysql.readthedocs.io"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=528175c84163bb800d23ad835c7fa0fc"
+
+SRC_URI[md5sum] = "e5d9183cc0a775ac29f9e0365cca6556"
+SRC_URI[sha256sum] = "d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7"
+
+inherit pypi
+
+PYPI_PACKAGE = "PyMySQL"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-cryptography"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pymysql_0.9.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pymysql_0.9.3.bb
new file mode 100644
index 000000000..27d097ee6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pymysql_0.9.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-pymysql.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
index e0df4e9b8..556946e76 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "http://pyparsing.wikispaces.com/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=657a566233888513e1f07ba13e2f47f1"
-SRC_URI[md5sum] = "e534c0ca755155823bf45fdd8d084922"
-SRC_URI[sha256sum] = "1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a"
+SRC_URI[md5sum] = "46d02cbe0461fe0571d51649e6006ef5"
+SRC_URI[sha256sum] = "6f98a7b9397e206d78cc01df10131398f1c8b8510a2f4d97d9abd82e1aacdd80"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.2.bb
index 90217f3c3..90217f3c3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyparsing_2.4.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf.inc
new file mode 100644
index 000000000..81837f300
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf.inc
@@ -0,0 +1,23 @@
+SUMMARY = "A toolkit to write, run and analyze benchmarks"
+DESCRIPTION = " \
+The Python pyperf module is a toolkit to write, run and analyze benchmarks. \
+Features: \
+ * Simple API to run reliable benchmarks \
+ * Automatically calibrate a benchmark for a time budget. \
+ * Spawn multiple worker processes. \
+ * Compute the mean and standard deviation. \
+ * Detect if a benchmark result seems unstable. \
+ * JSON format to store benchmark results. \
+ * Support multiple units: seconds, bytes and integer. \
+"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8"
+
+SRC_URI[md5sum] = "d67fe5f447963da8873f3e9923f76de1"
+SRC_URI[sha256sum] = "8d0143a22a13ee10c997a648f30b82cdc40175d5a20b11055ae058a82e45d371"
+
+inherit pypi
+
+PYPI_PACKAGE = "pyperf"
+
+DEPENDS += "${PYTHON_PN}-six-native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.6.1.bb
new file mode 100644
index 000000000..a9d5c7488
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyperf_1.6.1.bb
@@ -0,0 +1,4 @@
+inherit setuptools
+require python-pyperf.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-statistics"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyrsistent.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyrsistent.inc
new file mode 100644
index 000000000..2add037de
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyrsistent.inc
@@ -0,0 +1,13 @@
+SUMMARY = "Persistent/Immutable/Functional data structures for Python"
+HOMEPAGE = "https://github.com/tobgu/pyrsistent"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE.mit;md5=ca574f2891cf528b3e7a2ee570337e7c"
+
+SRC_URI[md5sum] = "0298efae86e009e24136d39dc8b2d33e"
+SRC_URI[sha256sum] = "34b47fa169d6006b32e99d4b3c4031f155e6e68ebcc107d6454852e8e0ee6533"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-six \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyrsistent_0.15.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyrsistent_0.15.4.bb
new file mode 100644
index 000000000..832eb8038
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyrsistent_0.15.4.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-pyrsistent.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
index 52a7e05ce..870f1d8a8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyserial.inc
@@ -40,3 +40,5 @@ RDEPENDS_${PN} = "\
${PYTHON_PN}-stringold \
${PYTHON_PN}-threading \
"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
index 32cb50ce1..ceadcb20d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "http://python-requests.org"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1d457bcffb9661b45f799d4efee72f16"
-SRC_URI[md5sum] = "ffea8bdc4eee054df2f9f6a9c3752567"
-SRC_URI[sha256sum] = "d9031ea45fdfacbe59a99273e9f0448ddb33c1580fe3831c1b09557c5718977c"
+SRC_URI[md5sum] = "89b1a6865c61bae67a32417517612ee6"
+SRC_URI[sha256sum] = "3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"
PYPI_PACKAGE = "PySocks"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.7.1.bb
index 8a24e4c49..8a24e4c49 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pysocks_1.7.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-asyncio.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-asyncio.inc
new file mode 100644
index 000000000..9132c7452
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-asyncio.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest"
+HOMEPAGE = "https://github.com/pytest-dev/pytest-asyncio"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.rst;md5=ae62268d207c73b615fbefddaf91a881"
+
+SRC_URI[md5sum] = "247a7ec32f24a185341327c42a0f85bf"
+SRC_URI[sha256sum] = "9fac5100fd716cbecf6ef89233e8590a4ad61d729d1732e0a96b84182df1daaf"
+
+inherit pypi
+
+DEPENDS += "${PYTHON_PN}-pytest-native"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
index 3b057b0ca..113ab41f5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner.inc
@@ -2,8 +2,8 @@ SUMMARY = "Invoke py.test as distutils command with dependency resolution"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
-SRC_URI[md5sum] = "4b696b0f35767f0694f183d0a1855300"
-SRC_URI[sha256sum] = "d23f117be39919f00dd91bffeb4f15e031ec797501b717a245e377aee0f577be"
+SRC_URI[md5sum] = "a52d65bd3dbc88bed751cf934dc41db3"
+SRC_URI[sha256sum] = "25a013c8d84f0ca60bb01bd11913a3bcab420f601f0f236de4423074af656e7a"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_5.1.bb
index 1765a732d..1765a732d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest-runner_5.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
index 4c32dfb04..576361c41 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest.inc
@@ -1,13 +1,13 @@
SUMMARY = "Simple powerful teting with python"
HOMEPAGE = "http://pytest.org"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c39b24965f4aef64222cb35de9d47cc4"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=640061b8cee64b308a4d2f9f556c12f2"
-SRC_URI[md5sum] = "1b83a25d45fad893f430fc5031653c56"
-SRC_URI[sha256sum] = "117bad36c1a787e1a8a659df35de53ba05f9f3398fb9e4ac17e80ad5903eb8c5"
+SRC_URI[md5sum] = "79efe2708aa73dd5c618e5a89d80ce58"
+SRC_URI[sha256sum] = "cc6620b96bc667a0c8d4fa592a8c9c94178a1bd6cc799dbb057dfd9286d31a31"
SRC_URI_append = " file://0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch \
- file://pytest_version_fix.patch "
+ "
inherit update-alternatives
@@ -20,6 +20,12 @@ RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-py \
${PYTHON_PN}-setuptools \
${PYTHON_PN}-six \
+ ${PYTHON_PN}-atomicwrites \
+ ${PYTHON_PN}-importlib-metadata \
+ ${PYTHON_PN}-pathlib2 \
+ ${PYTHON_PN}-wcwidth \
+ ${PYTHON_PN}-more-itertools \
+ ${PYTHON_PN}-packaging \
"
FILESEXTRAPATHS_prepend := "${THISDIR}/python-pytest:"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
index 06dfcdfc6..c29fb12de 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/0001-setup.py-remove-the-setup_requires-for-setuptools-scm.patch
@@ -1,7 +1,7 @@
-From 24a901fd17926e8e05be4ed2e01b0113a2e3a852 Mon Sep 17 00:00:00 2001
-From: Derek Straka <derek@asterius.io>
-Date: Tue, 19 Dec 2017 11:36:39 -0500
-Subject: [PATCH] [PATCH 1/1] setup.py: remove the setup_requires for
+From ff784f4803ab33f5e3389e40d038d52d1e211843 Mon Sep 17 00:00:00 2001
+From: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+Date: Wed, 28 Aug 2019 16:12:27 +0900
+Subject: [PATCH] [PATCH] setup.py: remove the setup_requires for
setuptools-scm
The setup_requires argument forces the download of the egg file for setuptools-scm
@@ -12,21 +12,25 @@ file and in the release tarball it is already correctly created
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Derek Straka <derek@asterius.io>
+
+Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
---
- setup.py | 1 -
- 1 file changed, 1 deletion(-)
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
-index 3eb38ef..1163202 100644
+index adbafb5..75fdd09 100644
--- a/setup.py
+++ b/setup.py
-@@ -82,7 +82,6 @@ def main():
- keywords="test unittest",
- cmdclass={'test': PyTest},
- # the following should be enabled for release
-- setup_requires=['setuptools-scm'],
- python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
- install_requires=install_requires,
- extras_require=extras_require,
+@@ -19,7 +19,7 @@ INSTALL_REQUIRES = [
+ def main():
+ setup(
+ use_scm_version={"write_to": "src/_pytest/_version.py"},
+- setup_requires=["setuptools-scm", "setuptools>=40.0"],
++ setup_requires=["setuptools>=40.0"],
+ package_dir={"": "src"},
+ extras_require={
+ "testing": [
--
-2.7.4
+2.17.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch
deleted file mode 100644
index b373d93e8..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest/pytest_version_fix.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Upstream-Status: Inappropriate (OE specific)
-
-python-pytest: remove fetch during do_compile phase
-commit: c974fbf9ebf185552ab65301e07af44f36517abf
-
-introduced an issue by making the version 0.0.0
-this fixes that
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: pytest-3.2.2/setup.py
-===================================================================
---- pytest-3.2.2.orig/setup.py
-+++ pytest-3.2.2/setup.py
-@@ -1,5 +1,6 @@
- import os
- import sys
-+import re
- import setuptools
- import pkg_resources
- from setuptools import setup, Command
-@@ -22,6 +23,18 @@ classifiers = [
- with open('README.rst') as fd:
- long_description = fd.read()
-
-+def read(*names, **kwargs):
-+ with open(os.path.join( *names), 'r') as fp:
-+ return fp.read()
-+
-+def find_version(*file_paths):
-+ version_file = read(*file_paths)
-+ version_match = re.search(r"^version = ['\']([^'\"]*)['\']",
-+ version_file, re.M)
-+
-+ if version_match:
-+ return version_match.group(1)
-+ raise RuntimeError("Unable to find version string.")
-
- def get_environment_marker_support_level():
- """
-@@ -59,9 +72,7 @@ def main():
- name='pytest',
- description='pytest: simple powerful testing with Python',
- long_description=long_description,
-- use_scm_version={
-- 'write_to': '_pytest/_version.py',
-- },
-+ version=find_version("_pytest", "_version.py"),
- url='http://pytest.org',
- license='MIT license',
- platforms=['unix', 'linux', 'osx', 'cygwin', 'win32'],
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.1.3.bb
index 39e50aca9..39e50aca9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_3.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytest_5.1.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
index 928dbc00c..ddeedc6c8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytz.inc
@@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4878a915709225bceab739bdc2a18e8d"
inherit pypi
-SRC_URI[md5sum] = "8b2860a161bfb0a6165798b1a2d8c40c"
-SRC_URI[sha256sum] = "d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141"
+SRC_URI[md5sum] = "8c21963449c3a793aa61ef122e171516"
+SRC_URI[sha256sum] = "26c0b32e437e54a18161324a2fca3c4b9846b74a8dccddd843113109e1116b32"
RDEPENDS_${PN}_class-target += "\
${PYTHON_PN}-datetime \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2019.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2019.2.bb
index f2ffc596f..f2ffc596f 100755
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2019.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pytz_2019.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
index 30bbe85a9..baf2db530 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyusb.inc
@@ -8,3 +8,5 @@ SRC_URI[md5sum] = "862b56452c64948c787ad8ef9498590b"
SRC_URI[sha256sum] = "4e9b72cc4a4205ca64fbf1f3fff39a335512166c151ad103e55c8223ac147362"
inherit pypi
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
index afce543f1..e9ae85eb0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml.inc
@@ -2,14 +2,14 @@ SUMMARY = "Python support for YAML"
HOMEPAGE = "http://www.pyyaml.org"
SECTION = "devel/python"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5591701d32590f9fa94f3bfee820b634"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a76b4c69bfcf82313bbdc0393b04438a"
DEPENDS = "libyaml ${PYTHON_PN}-cython-native ${PYTHON_PN}"
PYPI_PACKAGE = "PyYAML"
inherit pypi
-SRC_URI[md5sum] = "b78b96636d68ac581c0e2f38158c224f"
-SRC_URI[sha256sum] = "3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf"
+SRC_URI[md5sum] = "20f87ab421b0271dbf371dc5c1cddb5c"
+SRC_URI[sha256sum] = "01adf0b6c6f61bd11af6e10ca52b7d4057dd0be0343eb9283c878cf3af56aee4"
RDEPENDS_${PN} += "\
${PYTHON_PN}-datetime \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.1.2.bb
index 5a4c92d88..5a4c92d88 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_3.13.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-pyyaml_5.1.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc
index 9f07b6577..bfcb023a2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-robotframework-seriallibrary.inc
@@ -1,7 +1,7 @@
SUMMARY = "Robot Framework test library for serial connection"
HOMEPAGE = "https://github.com/whosaysni/robotframework-seriallibrary"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=7145f7cdd263359b62d342a02f005515"
SRC_URI[md5sum] = "b7c9565d54c30df7cd3f3c0e29adffa3"
SRC_URI[sha256sum] = "256ad60fc0b7df4be44d82c302f5ed8fad4935cda99e4b45942e3c88179d1e19"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc
index 783d05b7e..aff86a594 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-scrypt.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "Bindings for the scrypt key derivation function library"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=8bef8e6712b1be5aa76af1ebde9d6378"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=168ff75417f75a83e63c8875292d44dc"
HOMEPAGE="https://bitbucket.org/mhallin/py-scrypt/overview"
FILESEXTRAPATHS_prepend := "${THISDIR}/python-scrypt:"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
deleted file mode 100644
index 47129258e..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-six.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Python 2 and 3 compatibility library"
-HOMEPAGE = "http://pypi.python.org/pypi/six/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=83e0f622bd5ac7d575dbd83d094d69b5"
-
-SRC_URI[md5sum] = "9ae5d1feed8c0215f4ae4adcd9207fcb"
-SRC_URI[sha256sum] = "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"
-
-do_compile_append() {
- ${PYTHON} setup.py -q bdist_egg --dist-dir ./
-}
-do_install_append() {
- install -m 0644 ${S}/*.egg ${D}/${PYTHON_SITEPACKAGES_DIR}/
-}
-
-RDEPENDS_${PN} += "${PYTHON_PN}-io"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.12.0.bb
deleted file mode 100644
index 9075745d7..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-six_1.12.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit pypi setuptools
-require python-six.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-socketio.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-socketio.inc
index a23e78079..7ee99f8d9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-socketio.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-socketio.inc
@@ -9,9 +9,20 @@ inherit pypi
PYPI_PACKAGE = "python-socketio"
-SRC_URI[md5sum] = "0b57da61a9464d2e0dc9a8d0164d86d2"
-SRC_URI[sha256sum] = "64feb0817f1bf7e3e7fc05f6f65e28d76146d8061cb7de25b63502717f80e908"
+SRC_URI[md5sum] = "86cd47dddea1785ce7a6c72f55c93fe7"
+SRC_URI[sha256sum] = "506b2cf7a520b40ea0b3f25e1272eff8de134dce6f471c1f6bc0de8c90fe8c57"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets"
+PACKAGECONFIG[client] = ",,,${PYTHON_PN}-requests ${PYTHON_PN}-websocket-client"
RDEPENDS_${PN} += "\
${PYTHON_PN}-engineio \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-pickle \
+ ${PYTHON_PN}-json \
+ ${PYTHON_PN}-threading \
+ ${PYTHON_PN}-six \
+ ${PYTHON_PN}-attrs \
"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-socketio_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-socketio_4.3.1.bb
index e25a6b368..e25a6b368 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-socketio_4.0.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-socketio_4.3.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-statistics_1.0.3.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-statistics_1.0.3.5.bb
new file mode 100644
index 000000000..ee3b822a7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-statistics_1.0.3.5.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A port of Python 3.4 statistics module to Python 2.x"
+DESCRIPTION = " \
+A port of Python 3.4 statistics module to Python 2.*, initially done \
+through the 3to2 tool. This module provides functions for calculating \
+mathematical statistics of numeric (Real-valued) data. \
+"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://statistics/__init__.py;beginline=6;endline=16;md5=b76960ee777a1529f60db47ada2a8e6e"
+
+SRC_URI[md5sum] = "d6d97f3a1a7b3192cff99e0f2b5956c3"
+SRC_URI[sha256sum] = "2dc379b80b07bf2ddd5488cad06b2b9531da4dd31edb04dc9ec0dc226486c138"
+
+inherit pypi setuptools
+
+PYPI_PACKAGE = "statistics"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc
index 0aa0ef2fa..5aa9fb424 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore.inc
@@ -3,8 +3,8 @@ HOMEPAGE = "https://github.com/dreamhost/stevedore"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SRC_URI[md5sum] = "02c747c39f4634465aa2590ceefddf59"
-SRC_URI[sha256sum] = "7be098ff53d87f23d798a7ce7ae5c31f094f3deb92ba18059b1aeb1ca9fec0a0"
+SRC_URI[md5sum] = "42fa2bf0251c96b543765c5ce13f37c9"
+SRC_URI[sha256sum] = "e0739f9739a681c7a1fda76a102b65295e96a144ccdb552f2ae03c5f0abe8a14"
inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.30.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.31.0.bb
index 70a00c131..70a00c131 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.30.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-stevedore_1.31.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-term.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-term.inc
new file mode 100644
index 000000000..8a2df0e19
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-term.inc
@@ -0,0 +1,9 @@
+SUMMARY = "An enhanced version of the tty module"
+SECTION = "devel/python"
+LICENSE = "Python-2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d90e2d280a4836c607520383d1639be1"
+
+PYPI_PACKAGE_EXT = "zip"
+
+SRC_URI[md5sum] = "ab0c1bce381b1109fe4390c56aa06237"
+SRC_URI[sha256sum] = "3dcc8c212e04700784e5c1c5b601916ba0549ae6025b35b64fd62144899e7180"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-toml.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-toml.inc
new file mode 100644
index 000000000..a3b3dfc86
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-toml.inc
@@ -0,0 +1,10 @@
+SUMMARY = "Python Library for Tom's Obvious, Minimal Language"
+HOMEPAGE = "https://github.com/uiri/toml"
+LICENSE = "MIT"
+SECTION = "devel/python"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6d6012eea477117abf51c31262a152f8"
+
+SRC_URI[md5sum] = "63fffbe2d632865ec29cd69bfdf36682"
+SRC_URI[sha256sum] = "229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c"
+
+inherit pypi
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-toml_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-toml_0.10.0.bb
new file mode 100644
index 000000000..3c4acce67
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-toml_0.10.0.bb
@@ -0,0 +1,6 @@
+inherit setuptools
+require python-toml.inc
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-datetime \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twine.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-twine.inc
new file mode 100644
index 000000000..2bc778da2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twine.inc
@@ -0,0 +1,11 @@
+DESCRIPTION = "Six is a Python 2 and 3 compatibility library"
+HOMEPAGE = "https://github.com/benjaminp/six"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.rst;md5=3963bdcee7562bedae1effa09e7542b2"
+
+SRC_URI[md5sum] = "6fb4da0c7d81ddfd48f619b8caa1493c"
+SRC_URI[sha256sum] = "d6c29c933ecfc74e9b1d9fa13aa1f87c5d5770e119f5a4ce032092f0ff5b14dc"
+
+inherit pypi
+
+BBCLASSEXTEND = "native"
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 005aaadef..d70104dc2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted.inc
@@ -5,10 +5,10 @@ HOMEPAGE = "http://www.twistedmatrix.com"
#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL.
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d136e8cf7b52f2e64079186ae2060d8a"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1743f12d8b8f5aec625c0569a058f0a6"
-SRC_URI[sha256sum] = "fa2c04c2d68a9be7fc3975ba4947f653a57a656776f24be58ff0fe4b9aaf3e52"
-SRC_URI[md5sum] = "528b7856938edc2a752c244aebd94981"
+SRC_URI[sha256sum] = "d5db93026568f60cacdc0615fcd21d46f694a6bfad0ef3ff53cde2b4bb85a39d"
+SRC_URI[md5sum] = "5e9296a952430d288cdcdc6ad9eb5ee8"
PYPI_PACKAGE = "Twisted"
PYPI_PACKAGE_EXT = "tar.bz2"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.7.0.bb
index 5903db3e0..5903db3e0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-twisted_19.7.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
index 82c2ab74f..ab8ee81ec 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-typing.inc
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/python/typing"
LICENSE = "PSF"
LIC_FILES_CHKSUM = "file://LICENSE;md5=64fc2b30b67d0a8423c250e0386ed72f"
-SRC_URI[md5sum] = "64614206b4bdc0864fc0e0bccd69efc9"
-SRC_URI[sha256sum] = "4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d"
+SRC_URI[md5sum] = "0a1ebd4af65b4769e33459004eb20345"
+SRC_URI[sha256sum] = "91dfe6f3f706ee8cc32d38edbbf304e9b7583fb37108fef38229617f8b3eba23"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.7.4.1.bb
index 04ce063c9..04ce063c9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.6.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-typing_3.7.4.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 e8cb1ae6e..398b5f2ac 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] = "f09e95a5c42a7cc7ff7cb6a14c55fb69"
-SRC_URI[sha256sum] = "dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232"
+SRC_URI[md5sum] = "a7504a9fcb7ed4ffa482fe098c80b6d4"
+SRC_URI[sha256sum] = "9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86"
RDEPENDS_${PN} += "\
${PYTHON_PN}-certifi \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.6.bb
index 6c81f1db9..6c81f1db9 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-urllib3_1.25.6.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-versiontools.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-versiontools.inc
new file mode 100644
index 000000000..b0e696f9c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-versiontools.inc
@@ -0,0 +1,10 @@
+SUMMARY = "Smart replacement for plain tuple used in __version__"
+SECTION = "devel/python"
+HOMEPAGE = "https://launchpad.net/versiontools"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=3;endline=20;md5=02193721a38fd8a05a4ddeb7df8e294d"
+
+inherit pypi
+
+SRC_URI[md5sum] = "602b7db8eea30dd29a1d451997adf251"
+SRC_URI[sha256sum] = "a969332887a18a9c98b0df0ea4d4ca75972f24ca94f06fb87d591377e83414f6"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-versiontools_1.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-versiontools_1.9.1.bb
new file mode 100644
index 000000000..6bfe82e00
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-versiontools_1.9.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-versiontools.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc
index 9df4520f7..6b4448220 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-xxhash.inc
@@ -1,7 +1,7 @@
SUMMARY = "xxhash is a Python binding for the xxHash library by Yann Collet."
SECTION = "devel/python"
LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d2c6db5887cc6b2fac8b701d64cb8442"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5a8d76283514a1b7e6a414aba38629b5"
-SRC_URI[md5sum] = "a4289aa01839f3ea1fb98929d9131001"
-SRC_URI[sha256sum] = "fe21f23a9d05428c75461790b670f2bf15f50a632d6c171a7e7b588269c619e6"
+SRC_URI[md5sum] = "2e6c0bd69a540e15ff2222d6cb8da466"
+SRC_URI[sha256sum] = "6b5af8c37ff12745ae77f28e695c0d3a3327932fd229824e49382377e940fdf1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-zipp.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-zipp.inc
new file mode 100644
index 000000000..ba18f7216
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-zipp.inc
@@ -0,0 +1,10 @@
+DESCRIPTION = "Backport of pathlib-compatible object wrapper for zip files"
+HOMEPAGE = "https://github.com/jaraco/zipp"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
+
+SRC_URI[md5sum] = "d4451a749d8a7c3c392a9edd1864a937"
+SRC_URI[sha256sum] = "3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS_${PN} += "${PYTHON_PN}-more-itertools"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-zipp_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-zipp_0.6.0.bb
new file mode 100644
index 000000000..85949a2a6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python-zipp_0.6.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools
+require python-zipp.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.4.0.bb
new file mode 100644
index 000000000..b4d188b2e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-aiofiles_0.4.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-aiofiles.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.0.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.2.1.bb
index e248fe7ce..e248fe7ce 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.0.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.2.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-atomicwrites_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-atomicwrites_1.3.0.bb
new file mode 100644
index 000000000..9f306e60d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-atomicwrites_1.3.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-atomicwrites.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.7.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.0.bb
index d98df11e3..d98df11e3 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.7.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-beautifulsoup4_4.8.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.6.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.9.11.bb
index 70f674b22..70f674b22 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.6.16.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-certifi_2019.9.11.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cheetah_3.2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cheetah_3.2.3.bb
new file mode 100644
index 000000000..52e8576ee
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cheetah_3.2.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Python template engine and code generation tool"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=15e13a4ed0e5880e3e55ec88b0921181"
+
+PYPI_PACKAGE = "Cheetah3"
+inherit pypi setuptools3
+
+RDEPENDS_${PN} = "python3-pickle python3-pprint"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI[md5sum] = "5629445e7fef9659da2b49e36aacdbff"
+SRC_URI[sha256sum] = "7c450bce04a82d34cf6d48992c736c2048246cbc00f7b4903a39cf9a8ea3990c"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.17.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.17.bb
new file mode 100644
index 000000000..f5c5c7e1a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmd2_0.9.17.bb
@@ -0,0 +1,9 @@
+inherit setuptools3
+require python-cmd2.inc
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-pyperclip \
+ ${PYTHON_PN}-colorama \
+ ${PYTHON_PN}-attrs \
+ ${PYTHON_PN}-wcwidth \
+ "
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.1.bb
new file mode 100644
index 000000000..9cfca094e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-colorama_0.4.1.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Cross-platform colored terminal text."
+HOMEPAGE = "https://github.com/tartley/colorama"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4936429a56a652b84c5c01280dcaa26"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "f927529cd1735f6f50ee2c61628e9c1f"
+SRC_URI[sha256sum] = "05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coloredlogs_10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coloredlogs_10.0.bb
new file mode 100644
index 000000000..387239966
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coloredlogs_10.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-coloredlogs.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.8.1.bb
index 770cba596..770cba596 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-configparser_3.8.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.13.bb
index 2ce6bdbd6..2ce6bdbd6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cython_0.29.13.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb
new file mode 100644
index 000000000..d041d0e6c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-defusedxml_0.6.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "XML bomb protection for Python stdlib modules"
+DESCRIPTION = "Python package with modified subclasses of all stdlib XML \
+parsers that prevent any potentially malicious operation."
+
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=056fea6a4b395a24d0d278bf5c80249e"
+
+SRC_URI[md5sum] = "a59741f675c4cba649de40a99f732897"
+SRC_URI[sha256sum] = "f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dt-schema_git.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dt-schema_git.bb
new file mode 100644
index 000000000..06a9012ca
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dt-schema_git.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Tooling for devicetree validation using YAML and jsonschema"
+AUTHOR = "Rob Herring"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=2;endline=3;md5=c795d4924c5f739424fa8d9b569c6659"
+
+inherit setuptools3
+
+SRC_URI = "git://github.com/robherring/dt-schema.git"
+SRCREV = "5009e47c1c76e48871f5988e08dad61f3c91196b"
+PV = "0.1+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS_${PN} = "python3-jsonschema python3-ruamel-yaml"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.9.3.bb
index 028d1104a..028d1104a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_3.9.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-fasteners_0.15.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-fasteners_0.15.bb
new file mode 100644
index 000000000..8786a1484
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-fasteners_0.15.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A python package that provides useful locks."
+HOMEPAGE = "https://github.com/harlowja/fasteners"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4476c4be31402271e101d9a4a3430d52"
+
+SRC_URI[md5sum] = "440f8ab461c8fed941355860d8669556"
+SRC_URI[sha256sum] = "3a176da6b70df9bb88498e1a18a9e4a8579ed5b9141207762368a1017bf8f5ef"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb
index 2102554b6..2102554b6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_0.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-flask-pymongo_2.3.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_4.18.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_4.18.bb
new file mode 100644
index 000000000..2ca5fe36f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanfriendly_4.18.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-humanfriendly.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-importlib-metadata_0.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-importlib-metadata_0.23.bb
new file mode 100644
index 000000000..d71c45b5f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-importlib-metadata_0.23.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-importlib-metadata.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.1.bb
index 61156b630..284f5f588 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jinja2_2.10.1.bb
@@ -1,2 +1,4 @@
inherit pypi setuptools3
require python-jinja2.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-asyncio"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.23.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.24.bb
index 73efceeed..73efceeed 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.23.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonpatch_1.24.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.0.2.bb
index 926990747..926990747 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_2.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-jsonschema_3.0.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lrparsing_1.0.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lrparsing_1.0.16.bb
new file mode 100644
index 000000000..21a80cde1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lrparsing_1.0.16.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-lrparsing.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.1.bb
index b95d7bae7..b95d7bae7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.3.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lxml_4.4.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.1.1.bb
index 765e3c906..765e3c906 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-markupsafe_1.1.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.1.1.bb
new file mode 100644
index 000000000..9b86ccc83
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-matplotlib_3.1.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "matplotlib: plotting with Python"
+DESCRIPTION = "\
+Matplotlib is a Python 2D plotting library which produces \
+publication-quality figures in a variety of hardcopy formats \
+and interactive environments across platforms."
+HOMEPAGE = "https://github.com/matplotlib/matplotlib"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74"
+
+DEPENDS = "python3-numpy-native python3-numpy freetype libpng python3-dateutil python3-pytz"
+RDEPENDS_${PN} = "python3-numpy freetype libpng python3-dateutil python3-pytz"
+
+SRC_URI[md5sum] = "f894af5564a588e880644123237251b7"
+SRC_URI[sha256sum] = "1febd22afe1489b13c6749ea059d392c03261b2950d1d45c17e3aed812080c93"
+
+PYPI_PACKAGE = "matplotlib"
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_7.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_7.2.0.bb
new file mode 100644
index 000000000..28ddf88fb
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-more-itertools_7.2.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-more-itertools.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.2.bb
index 096d7ddcb..096d7ddcb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-msgpack_0.6.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb
deleted file mode 100644
index e65d7d4f2..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_3.3.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc."
-HOMEPAGE = "https://github.com/aio-libs/multidict/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e74c98abe0de8f798ca609137f9cef4a"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "06ca91d993de2d04c7ee6df0cbb44ea2"
-SRC_URI[sha256sum] = "f82e61c7408ed0dce1862100db55595481911f159d6ddec0b375d35b6449509b"
-
-# Work-around for broken make clean. Note this is fixed in v4.0.0.
-# https://github.com/aio-libs/multidict/issues/194
-CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_4.5.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_4.5.2.bb
new file mode 100644
index 000000000..57167f219
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-multidict_4.5.2.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Multidicts are useful for working with HTTP headers, URL query args etc."
+HOMEPAGE = "https://github.com/aio-libs/multidict/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e74c98abe0de8f798ca609137f9cef4a"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "5e9d8f7e1ada9a22932aed6a72f88e43"
+SRC_URI[sha256sum] = "024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.3.bb
new file mode 100644
index 000000000..8feb6daa3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-networkx_2.3.bb
@@ -0,0 +1,8 @@
+require python-networkx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b68290ee1026b204170a23bbdb27a4fd"
+
+SRC_URI[md5sum] = "320d3f6c7872732baa63cedafddadea9"
+SRC_URI[sha256sum] = "8311ddef63cf5c5c5e7c1d0212dd141d9a1fe3f474915281b73597ed5f1d4e3d"
+
+inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-packaging_19.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-packaging_19.2.bb
new file mode 100644
index 000000000..aa20fb26f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-packaging_19.2.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-packaging.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-padaos_0.1.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-padaos_0.1.10.bb
new file mode 100644
index 000000000..f506a7863
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-padaos_0.1.10.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A rigid, lightweight, dead-simple intent parser"
+HOMEPAGE = "https://github.com/MycroftAI/padaos"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.md;md5=b51c3e8e53a7cd95c13c5aab6cbc8e67"
+
+SRC_URI[md5sum] = "dbf852015ef87a6694549779fb475b52"
+SRC_URI[sha256sum] = "2ac05fcbc826873c574568aa5ce09945d6ea987bee10399e766eb8f7c6356d72"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-padatious_0.4.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-padatious_0.4.7.bb
new file mode 100644
index 000000000..4abe7c747
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-padatious_0.4.7.bb
@@ -0,0 +1,9 @@
+SUMMARY = "An efficient and agile neural network intent parser. Padatious is a core component of Mycroft AI."
+HOMEPAGE = "https://github.com/MycroftAI/padatious"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.md;md5=77baec496a458dd0e0fc4ca64cd305bc"
+
+SRC_URI[md5sum] = "1f53967a1633baa8fd48f11139808a33"
+SRC_URI[sha256sum] = "3c235942ff4151a3c36536fd776bd8a6d4d57c97046723d2fa80a89b34faac1f"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pathlib2_2.3.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pathlib2_2.3.4.bb
new file mode 100644
index 000000000..66f71e57a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pathlib2_2.3.4.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pathlib2.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-petact_0.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-petact_0.1.2.bb
new file mode 100644
index 000000000..58cd05e22
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-petact_0.1.2.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Petact is a library used for installing and updating compressed tar files"
+HOMEPAGE = "https://github.com/matthewscholefield/petact"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.md;md5=c8533d4ba77519398cdae0173db799a1"
+
+SRC_URI[md5sum] = "47e9a6abc91b4022953e4007ddae9e68"
+SRC_URI[sha256sum] = "5dcb0d44f86a601e41a2def9770993cd0ea45c76d37eb3f35e3dd61aa50350e6"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.1.0.bb
new file mode 100644
index 000000000..a1515881f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pika_1.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pika.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
index de89ba005..d4372696f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-explicitly-set-compile-options.patch
@@ -1,4 +1,4 @@
-From 52879439f2976662140b76951f43f16e1d5ef08e Mon Sep 17 00:00:00 2001
+From 9f3073bf6a7c7c51bb49d25f65c8f75cc704a5ee Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 18 Mar 2019 23:23:55 -0400
Subject: [PATCH] explicitly set compile options
@@ -15,12 +15,12 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 12 insertions(+)
diff --git a/setup.cfg b/setup.cfg
-index 95900ff..27da313 100644
+index 3ab2e127..e92615f3 100644
--- a/setup.cfg
+++ b/setup.cfg
-@@ -9,3 +9,15 @@ addopts = -vx Tests
-
+@@ -4,3 +4,15 @@ test=pytest
[flake8]
+ extend-ignore = E203, W503
max-line-length = 88
+
+[build_ext]
@@ -35,5 +35,5 @@ index 95900ff..27da313 100644
+disable-webpmux = 1
+disable-imagequant = 1
--
-2.8.1
+2.20.1
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch
index e86293421..6de19ad87 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow/0001-support-cross-compiling.patch
@@ -1,4 +1,4 @@
-From a78411402c824668283beb94db4bf7e206a4cf60 Mon Sep 17 00:00:00 2001
+From ae7c8d0336381dd4c10e809e9c8926f9deeafeb8 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Thu, 14 Mar 2019 03:48:10 -0400
Subject: [PATCH] support cross compiling
@@ -11,29 +11,29 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/setup.py b/setup.py
-index 79f912b..37e5827 100755
+index 5ceae344..07863340 100755
--- a/setup.py
+++ b/setup.py
-@@ -50,7 +50,7 @@ _LIB_IMAGING = (
- "ZipEncode", "TiffDecode", "Jpeg2KDecode", "Jpeg2KEncode", "BoxBlur",
- "QuantPngQuant", "codec_fd")
+@@ -105,7 +105,7 @@ _LIB_IMAGING = (
+ "codec_fd",
+ )
-DEBUG = False
+DEBUG = True
class DependencyException(Exception):
-@@ -345,21 +345,16 @@ class pil_build_ext(build_ext):
+@@ -396,21 +396,16 @@ class pil_build_ext(build_ext):
_add_directory(library_dirs, match.group(1))
# include, rpath, if set as environment variables:
-- for k in ('C_INCLUDE_PATH', 'CPATH', 'INCLUDE'):
+- for k in ("C_INCLUDE_PATH", "CPATH", "INCLUDE"):
+ for k in ('C_INCLUDE_PATH', 'CPATH', 'INCLUDE', 'STAGING_INCDIR'):
if k in os.environ:
for d in os.environ[k].split(os.path.pathsep):
_add_directory(include_dirs, d)
-- for k in ('LD_RUN_PATH', 'LIBRARY_PATH', 'LIB'):
+- for k in ("LD_RUN_PATH", "LIBRARY_PATH", "LIB"):
+ for k in ('LD_RUN_PATH', 'LIBRARY_PATH', 'LIB', 'STAGING_LIBDIR'):
if k in os.environ:
for d in os.environ[k].split(os.path.pathsep):
@@ -47,15 +47,15 @@ index 79f912b..37e5827 100755
#
# add platform directories
-@@ -413,8 +408,6 @@ class pil_build_ext(build_ext):
- elif sys.platform.startswith("linux") or \
- sys.platform.startswith("gnu") or \
- sys.platform.startswith("freebsd"):
+@@ -469,8 +464,6 @@ class pil_build_ext(build_ext):
+ or sys.platform.startswith("gnu")
+ or sys.platform.startswith("freebsd")
+ ):
- for dirname in _find_library_dirs_ldconfig():
- _add_directory(library_dirs, dirname)
- if sys.platform.startswith("linux") and \
- os.environ.get('ANDROID_ROOT', None):
- # termux support for android.
+ if sys.platform.startswith("linux") and os.environ.get(
+ "ANDROID_ROOT", None
+ ):
--
-2.8.1
+2.20.1
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb
deleted file mode 100644
index 6fce1623d..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_5.4.1.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \
-Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \
-Contributors."
-HOMEPAGE = "https://pillow.readthedocs.io"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c6379001ecb47e2a0420c40177fc1125"
-
-SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=5.4.x \
- file://0001-support-cross-compiling.patch \
- file://0001-explicitly-set-compile-options.patch \
-"
-SRCREV ?= "f38f01bbe3a0a9f49ce592c86ff20c01c9655133"
-
-
-inherit setuptools3
-
-DEPENDS += " \
- zlib \
- jpeg \
- tiff \
- freetype \
- lcms \
- openjpeg \
-"
-
-CVE_PRODUCT = "pillow"
-
-S = "${WORKDIR}/git"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.1.bb
new file mode 100644
index 000000000..1d9106648
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pillow_6.1.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Python Imaging Library (Fork). Pillow is the friendly PIL fork by Alex \
+Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and \
+Contributors."
+HOMEPAGE = "https://pillow.readthedocs.io"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=55c0f320370091249c1755c0d2b48e89"
+
+SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=6.1.x \
+ file://0001-support-cross-compiling.patch \
+ file://0001-explicitly-set-compile-options.patch \
+"
+SRCREV ?= "aaca672173413883fbcefd659f04d74fe44fb5d5"
+
+
+inherit setuptools3
+
+DEPENDS += " \
+ zlib \
+ jpeg \
+ tiff \
+ freetype \
+ lcms \
+ openjpeg \
+"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-misc \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-numbers \
+"
+
+CVE_PRODUCT = "pillow"
+
+S = "${WORKDIR}/git"
+
+RPROVIDES_${PN} += "python3-imaging"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.0.bb
index 941e8e3d8..941e8e3d8 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pluggy_0.13.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb
new file mode 100644
index 000000000..98b62d899
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-precise-runner_0.3.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A lightweight, simple-to-use, RNN wake word listener."
+HOMEPAGE = "https://github.com/MycroftAI/mycroft-precise"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.md;md5=2ad29e930f3107d52d2a55728bf62116"
+
+SRC_URI[md5sum] = "a2434be110444192e804f4dada0ccecf"
+SRC_URI[sha256sum] = "1a464209fb4bf0a3f5d5a428310cb2a70487a01a6bc3a960d1dda90af896b80d"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_0.7.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_0.7.2.bb
new file mode 100644
index 000000000..5445f1019
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-prettytable_0.7.2.bb
@@ -0,0 +1,3 @@
+inherit setuptools3
+require python-prettytable.inc
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.9.2.bb
index 30ea34e90..30ea34e90 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_3.9.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_18.12.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_18.12.5.bb
new file mode 100644
index 000000000..9882ea6a8
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pulsectl_18.12.5.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Python (3.x and 2.x) high-level interface and ctypes-based bindings for PulseAudio (libpulse), mostly focused on mixer-like controls and introspection-related operations (as opposed to e.g. submitting sound samples to play, player-like client)."
+HOMEPAGE = "https://github.com/mk-fg/python-pulse-control"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f1d10048469ff90123263eb5e214061d"
+
+SRC_URI[md5sum] = "8e79ef002856c1858058ca0b08bf1a01"
+SRC_URI[sha256sum] = "41db4dd19e7cd28e2609baf2b551f34991f1890024be119b6075a286abfb65d3"
+
+RDEPENDS_${PN} += "pulseaudio"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.6.bb
index 3b1186f06..3b1186f06 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1-modules_0.2.6.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.7.bb
index a5e2a7136..a5e2a7136 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.5.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyasn1_0.4.7.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.32.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.32.1.bb
new file mode 100644
index 000000000..c60d40e3a
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyatspi_2.32.1.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Python bindings for DBus AT-SPI2 accessibility"
+DESCRIPTION = "AT-SPI2 is a protocol over DBus, toolkit widgets use to provide content to screen readers such as Orca"
+SECTION = "devel/python"
+HOMEPAGE = "https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886 \
+ file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS = "python3-dbus-native glib-2.0 dbus-glib libxml2 atk gtk+ python3-pygobject"
+
+SRC_URI = "git://github.com/GNOME/pyatspi2.git;protocol=https;branch=gnome-3-32"
+SRCREV = "dc4565208fca00da06b972915a080ad3c63f640d"
+S = "${WORKDIR}/git"
+
+# Same restriction as gtk+
+inherit distro_features_check
+ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+
+inherit pkgconfig autotools python3native
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/pyatspi/*"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_4.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_4.0.1.bb
new file mode 100644
index 000000000..1b9301f96
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pychromecast_4.0.1.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Library for Python 3.6+ to communicate with the Google Chromecast."
+HOMEPAGE = "https://github.com/balloob/pychromecast"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b1dbd4e85f47b389bdadee9c694669f5"
+
+SRC_URI[md5sum] = "d6f96d478fd768696a0e440cb0ea903b"
+SRC_URI[sha256sum] = "d98df28f340bb14a07236846518daad7107b66581512c33da921663df61ac819"
+
+PYPI_PACKAGE = "PyChromecast"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.5.0.bb
index cedcdb3bf..cedcdb3bf 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.5.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.3.bb
new file mode 100644
index 000000000..5ad319ae2
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycurl_7.43.0.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pycurl.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.9.0.bb
index 5164b186b..5164b186b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_3.9.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.9.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.9.3.bb
new file mode 100644
index 000000000..13774bd63
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymysql_0.9.3.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pymysql.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.2.bb
index 0805fee3e..0805fee3e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyparsing_2.4.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.6.1.bb
new file mode 100644
index 000000000..5ba5efb05
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyperf_1.6.1.bb
@@ -0,0 +1,4 @@
+inherit setuptools3
+require python-pyperf.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-misc"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.15.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.15.4.bb
new file mode 100644
index 000000000..2e567e9f9
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyrsistent_0.15.4.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-pyrsistent.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.7.1.bb
index bbda05a51..bbda05a51 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pysocks_1.7.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.6.0.bb
new file mode 100644
index 000000000..89d718de6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pystemd_0.6.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python bindings for interacting with systemd over DBus"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[md5sum] = "c5472be419f53f53f5da089ca8c981c0"
+SRC_URI[sha256sum] = "b1fc072c87e3766711f64caf86fd633dca393e20c8a0a37a5058dd70a21d8a14"
+
+DEPENDS = "systemd"
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit pypi setuptools3 distro_features_check
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.10.0.bb
new file mode 100644
index 000000000..09f26f8d1
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-asyncio_0.10.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-pytest-asyncio.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.1.bb
index df56ba6d4..df56ba6d4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest-runner_5.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.1.3.bb
index eba6632a2..eba6632a2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_3.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytest_5.1.3.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.7110.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.7110.bb
new file mode 100644
index 000000000..be63fed02
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-python-vlc_3.0.7110.bb
@@ -0,0 +1,9 @@
+SUMMARY = "This module provides ctypes-based bindings for the native libvlc API of the VLC video player."
+HOMEPAGE = "wiki.videolan.org/PythonBinding"
+LICENSE = "LGPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[md5sum] = "e128abf7115d6513582bd460c0e74485"
+SRC_URI[sha256sum] = "821bca0dbe08fbff97a65e56ff2318ad7d499330876579c39f01f3fb38c7b679"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2019.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2019.2.bb
index 19a89dc55..19a89dc55 100755
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2019.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pytz_2019.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.13.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.1.2.bb
index 470aca608..470aca608 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_3.13.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyyaml_5.1.2.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2019.08.19.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2019.08.19.bb
new file mode 100755
index 000000000..80194d60f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2019.08.19.bb
@@ -0,0 +1,12 @@
+SUMMARY = ""
+HOMEPAGE = "http://pythonhosted.org/regex"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=51cb124129fa4d157b4aebb77df73629"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "d31ec392ab75b894404d8db76dacd191"
+SRC_URI[sha256sum] = "587b62d48ca359d2d4f02d486f1f0aa9a20fbaf23a9d4198c4bed72ab2f6c849"
+
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-futures_0.9.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-futures_0.9.5.bb
new file mode 100644
index 000000000..b94929d8c
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-requests-futures_0.9.5.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Small add-on for the python requests http library. Makes use of python 3.2’s concurrent.futures or the backport for prior versions of python."
+HOMEPAGE = "https://github.com/ross/requests-futures"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e1e50798d0afe0e1f87594c6619a2fa5"
+
+SRC_URI[md5sum] = "e20dc6f063c70888a7f8225e349b6682"
+SRC_URI[sha256sum] = "33aa8a3b7892850701707d7e094b1e1ce7c4f7a36ff2a1dcc2da4e01a1a00f7e"
+
+inherit pypi setuptools3
+
+RDEPENDS_${PN} += " \
+ python3-requests \
+"
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.5.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.5.bb
new file mode 100644
index 000000000..ba095648f
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ruamel-yaml_0.16.5.bb
@@ -0,0 +1,16 @@
+SUMMARY = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order."
+AUTHOR = "Anthon van der Neut"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=caf8bd842440b537c044e131785a4666"
+
+PYPI_PACKAGE = "ruamel.yaml"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "7d5a5b0a7621a1247b081cc8e4978354"
+SRC_URI[sha256sum] = "412a6f5cfdc0525dee6a27c08f5415c7fd832a7afcb7a0ed7319628aed23d408"
+
+do_install_prepend() {
+ export RUAMEL_NO_PIP_INSTALL_CHECK=1
+}
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.0.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.0.0.bb
deleted file mode 100644
index ce83d09c0..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.0.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-socketio.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.3.1.bb
new file mode 100644
index 000000000..8ff590bd7
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_4.3.1.bb
@@ -0,0 +1,4 @@
+inherit setuptools3
+
+PACKAGECONFIG ?= "asyncio_client client"
+require python-socketio.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.30.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.31.0.bb
index 3f557f2cb..3f557f2cb 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.30.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-stevedore_1.31.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb
new file mode 100644
index 000000000..372cffe04
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-term_2.3.bb
@@ -0,0 +1,2 @@
+require python-term.inc
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb
new file mode 100644
index 000000000..14943a4bd
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-test-generator_0.1.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Generator is a helper for generating test methods for nose while still using unittest."
+DESCRIPTION = "Python package with modified subclasses of all stdlib XML \
+parsers that prevent any potentially malicious operation."
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=041a2bff595d40ccb4b36356f89dab00"
+
+SRC_URI[md5sum] = "6c69e73ba5b4b3ed62f7bcda071c64f1"
+SRC_URI[sha256sum] = "ad5925c814bfe79497b43df096e3bb52c166d1577f7aff160137301676232f4a"
+
+inherit pypi setuptools3
+
+DEPENDS += "python3-nose-native"
+
+RDEPENDS_${PN} += "python3-six"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb
new file mode 100644
index 000000000..cebb41a53
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb
@@ -0,0 +1,6 @@
+inherit setuptools3
+require python-toml.inc
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-misc \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_1.13.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_1.13.0.bb
new file mode 100644
index 000000000..0456ec92d
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twine_1.13.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-twine.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.7.0.bb
index dfb9d4a4c..dfb9d4a4c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twisted_19.7.0.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch
new file mode 100644
index 000000000..c25b2457e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish/0001-Fix-missing-return-statements-in-module-stubs.patch
@@ -0,0 +1,38 @@
+From 5704610f4b3aed5210e9c5b7c05ff8b5b2364c9c Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 12 Aug 2019 08:18:21 +0000
+Subject: [PATCH] Fix missing return statements in module stubs
+
+* fixes build with -Werror=return-type
+ twofish.c: In function 'init_twofish':
+ twofish.c:45:1: error: control reaches end of non-void function [-Werror=return-type]
+ 45 | PyMODINIT_FUNC init_twofish(void) { }
+ | ^~~~~~~~~~~~~~
+ twofish.c: In function 'PyInit__twofish':
+ twofish.c:46:1: error: control reaches end of non-void function [-Werror=return-type]
+ 46 | PyMODINIT_FUNC PyInit__twofish(void) { }
+ | ^~~~~~~~~~~~~~
+ cc1: some warnings being treated as errors
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+Upstream-Status: Submitted [https://github.com/keybase/python-twofish/pull/6]
+---
+ twofish.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/twofish.c b/twofish.c
+index e324c34..d4487d8 100644
+--- a/twofish.c
++++ b/twofish.c
+@@ -42,5 +42,5 @@ DL_EXPORT(void) exp_Twofish_decrypt(Twofish_key * xkey, uint8_t c[16], uint8_t p
+ We need a stub init_twofish function so the module will link as a proper module.
+ Do not import _twofish from python; it will not work since _twofish is not a *real* module
+ */
+-PyMODINIT_FUNC init_twofish(void) { }
+-PyMODINIT_FUNC PyInit__twofish(void) { }
++PyMODINIT_FUNC init_twofish(void) { return NULL; }
++PyMODINIT_FUNC PyInit__twofish(void) { return NULL; }
+--
+2.17.1
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
index e593f6f21..7b8eb2ef0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-twofish_0.3.0.bb
@@ -1,2 +1,4 @@
require python-twofish.inc
inherit setuptools3
+
+SRC_URI += "file://0001-Fix-missing-return-statements-in-module-stubs.patch"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.6.bb
index 19eb7025b..19eb7025b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-urllib3_1.25.6.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-versiontools_1.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-versiontools_1.9.1.bb
new file mode 100644
index 000000000..e8d6b7dda
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-versiontools_1.9.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-versiontools.inc
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb
deleted file mode 100644
index 414129c59..000000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_4.0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)"
-HOMEPAGE = "https://github.com/aaugustin/websockets"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5070256738c06d2e59adbec1f4057dac"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "9e8c6b3c70def4146d75fbb0f52bdfc7"
-SRC_URI[sha256sum] = "da4d4fbe059b0453e726d6d993760065d69b823a27efc3040402a6fcfe6a1ed9"
-
-BBCLASSEXTEND = "native nativesdk"
-
-RDEPENDS_${PN} = "\
- ${PYTHON_PN}-asyncio \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.0.2.bb
new file mode 100644
index 000000000..6da73ce35
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-websockets_8.0.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "An implementation of the WebSocket Protocol (RFC 6455)"
+HOMEPAGE = "https://github.com/aaugustin/websockets"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ad5c6d36b3d0098b2f33a5ab69a9e750"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "a37f0e22c3aa5f1cf12a6a3ae22b36ca"
+SRC_URI[sha256sum] = "882a7266fa867a2ebb2c0baaa0f9159cabf131cf18c1b4270d79ad42f9208dc5"
+
+BBCLASSEXTEND = "native nativesdk"
+
+RDEPENDS_${PN} = "\
+ ${PYTHON_PN}-asyncio \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb
new file mode 100644
index 000000000..7e7b5235e
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xmlrunner_1.7.7.bb
@@ -0,0 +1,9 @@
+SUMMARY = "unittest-based test runner with Ant/JUnit like XML reporting"
+HOMEPAGE = "https://github.com/pycontribs/xmlrunner"
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=fa964f202b6ae067ed5828fe43c77c1a"
+
+SRC_URI[md5sum] = "7b0b152ed2d278516aedbc0cac22dfb3"
+SRC_URI[sha256sum] = "5a6113d049eca7646111ee657266966e5bbfb0b5ceb2e83ee0772e16d7110f39"
+
+inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.3.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.1.bb
index 76bc41a11..76bc41a11 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-xxhash_1.4.1.bb
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zipp_0.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zipp_0.6.0.bb
new file mode 100644
index 000000000..b78663fd6
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zipp_0.6.0.bb
@@ -0,0 +1,2 @@
+inherit pypi setuptools3
+require python-zipp.inc
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.2.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.2.bb
deleted file mode 100644
index 45565ba71..000000000
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.2.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-DESCRIPTION = "A python module for system storage configuration"
-HOMEPAGE = "http://fedoraproject.org/wiki/blivet"
-LICENSE = "LGPLv2+"
-SECTION = "devel/python"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "878f794a38120a652cab0026b77175b099bf1f9d"
-SRC_URI = "git://github.com/rhinstaller/blivet;branch=3.1-release \
- file://0001-comment-out-selinux.patch \
- file://0002-run_program-support-timeout.patch \
- file://0003-support-infinit-timeout.patch \
- file://0004-fix-new.roots-object-is-not-iterable.patch \
- file://0005-fix-incorrect-timeout-while-system-time-changed.patch \
- file://0006-tweak-btrfs-packages.patch \
- file://0007-invoking-mount-with-infinite-timeout.patch \
- file://0008-use-oe-variable-to-replace-hardcoded-dir.patch \
- file://0009-invoking-fsck-with-infinite-timeout.patch \
- file://0010-invoking-mkfs-with-infinite-timeout.patch \
- file://0011-invoking-dd-with-infinite-timeout.patch \
-"
-
-UPSTREAM_CHECK_GITTAGREGEX = "blivet-(?P<pver>\d+(\.\d+)+)$"
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-inherit setuptools3 python3native
-
-RDEPENDS_${PN} = "python3-pykickstart python3-pyudev \
- parted python3-pyparted multipath-tools \
- lsof cryptsetup libblockdev \
- libbytesize \
-"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1/system-services \
-"
-
-inherit systemd
-
-SYSTEMD_AUTO_ENABLE = "disable"
-SYSTEMD_SERVICE_${PN} = "blivet.service"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.4.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.4.bb
new file mode 100644
index 000000000..fe9d27ab8
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet_3.1.4.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "A python module for system storage configuration"
+HOMEPAGE = "http://fedoraproject.org/wiki/blivet"
+LICENSE = "LGPLv2+"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+B = "${S}"
+
+SRCREV = "9b5ad2d5b5df159963e1c6c24523e1dfe1f71435"
+SRC_URI = "git://github.com/rhinstaller/blivet;branch=3.1-release \
+ file://0001-comment-out-selinux.patch \
+ file://0002-run_program-support-timeout.patch \
+ file://0003-support-infinit-timeout.patch \
+ file://0004-fix-new.roots-object-is-not-iterable.patch \
+ file://0005-fix-incorrect-timeout-while-system-time-changed.patch \
+ file://0006-tweak-btrfs-packages.patch \
+ file://0007-invoking-mount-with-infinite-timeout.patch \
+ file://0008-use-oe-variable-to-replace-hardcoded-dir.patch \
+ file://0009-invoking-fsck-with-infinite-timeout.patch \
+ file://0010-invoking-mkfs-with-infinite-timeout.patch \
+ file://0011-invoking-dd-with-infinite-timeout.patch \
+"
+
+UPSTREAM_CHECK_GITTAGREGEX = "blivet-(?P<pver>\d+(\.\d+)+)$"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit setuptools3 python3native
+
+RDEPENDS_${PN} += "python3-pykickstart python3-pyudev \
+ parted python3-pyparted multipath-tools \
+ lsof cryptsetup libblockdev \
+ libbytesize \
+"
+
+FILES_${PN} += " \
+ ${datadir}/dbus-1/system-services \
+"
+
+inherit systemd
+
+SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE_${PN} = "blivet.service"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Fix-return-type-of-BlivetUtils.get_disks-1658893.patch b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Fix-return-type-of-BlivetUtils.get_disks-1658893.patch
new file mode 100644
index 000000000..cf8056685
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui/0001-Fix-return-type-of-BlivetUtils.get_disks-1658893.patch
@@ -0,0 +1,32 @@
+From 4d0f9f961704bc1dd83fdf6808fb6ab91dc6a768 Mon Sep 17 00:00:00 2001
+From: Vojtech Trefny <vtrefny@redhat.com>
+Date: Thu, 13 Dec 2018 13:39:03 +0100
+Subject: [PATCH] Fix return type of BlivetUtils.get_disks (#1658893)
+
+This must be a list, not a generator, because we are iterating
+over it multiple times in some cases.
+
+Upstream-Status: Backport[git://github.com/rhinstaller/blivet-gui]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ blivetgui/blivet_utils.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivetgui/blivet_utils.py b/blivetgui/blivet_utils.py
+index e2bd802..ddb04fc 100644
+--- a/blivetgui/blivet_utils.py
++++ b/blivetgui/blivet_utils.py
+@@ -204,7 +204,7 @@ class BlivetUtils(object):
+
+ """
+
+- return (device for device in self.storage.disks if device.type != "mdarray")
++ return [device for device in self.storage.disks if device.type != "mdarray"]
+
+ def get_group_devices(self):
+ """ Return list of LVM2 Volume Group devices
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb
index 2ea810327..b7e2493c3 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.1.10.bb
@@ -10,6 +10,7 @@ B = "${S}"
SRCREV = "67ec0b7a0e065ba24ab87963409bfb21b2aac6dd"
SRC_URI = "git://github.com/rhinstaller/blivet-gui;branch=master \
+ file://0001-Fix-return-type-of-BlivetUtils.get_disks-1658893.patch \
"
inherit distro_features_check
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.bb b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.bb
deleted file mode 100644
index 1a038848c..000000000
--- a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "A python library for manipulating kickstart files"
-HOMEPAGE = "http://fedoraproject.org/wiki/pykickstart"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-DEPENDS = "python3"
-RDEPENDS_${PN} = "python3 \
- python3-requests \
- python3-six \
-"
-
-S = "${WORKDIR}/git"
-SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=master \
- file://0001-support-authentication-for-kickstart.patch \
- file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \
- file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \
- file://0004-load.py-retry-to-invoke-request-with-timeout.patch \
- "
-SRCREV = "ad942f2644337c4672c7a22bd24a5b7268c1f5e9"
-
-UPSTREAM_CHECK_GITTAGREGEX = "r(?P<pver>\d+(\.\d+)+(-\d+)*)"
-
-inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.20.bb b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.20.bb
new file mode 100644
index 000000000..ed10ce958
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.20.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "A python library for manipulating kickstart files"
+HOMEPAGE = "http://fedoraproject.org/wiki/pykickstart"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+DEPENDS = "python3"
+RDEPENDS_${PN} = "python3 \
+ python3-requests \
+ python3-six \
+"
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=master \
+ file://0001-support-authentication-for-kickstart.patch \
+ file://0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch \
+ file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \
+ file://0004-load.py-retry-to-invoke-request-with-timeout.patch \
+ "
+SRCREV = "487edfded19d5969db0673b200ee4272b7dc6697"
+
+UPSTREAM_CHECK_GITTAGREGEX = "r(?P<pver>\d+(\.\d+)+(-\d+)*)"
+
+inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc b/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
index a0ec02817..f769f95a0 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
+++ b/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted.inc
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "\
DEPENDS += "parted"
# upstream only publishes releases in github archives which are discouraged
-SRCREV = "1fdb15120f35f5da1dc7ec116522f0c796a8376a"
+SRCREV = "2396ba7df56de277b4999bdd5f7d1a1706a6388a"
SRC_URI = "git://github.com/rhinstaller/pyparted.git;protocol=https"
S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb b/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.2.bb
index 32aa378cc..32aa378cc 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-pyparted/python-pyparted_3.11.2.bb
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb b/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.2.bb
index d83901ff3..d83901ff3 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-pyparted/python3-pyparted_3.11.2.bb
diff --git a/meta-openembedded/meta-webserver/conf/layer.conf b/meta-openembedded/meta-webserver/conf/layer.conf
index 0d694789f..6157d4d30 100644
--- a/meta-openembedded/meta-webserver/conf/layer.conf
+++ b/meta-openembedded/meta-webserver/conf/layer.conf
@@ -17,7 +17,7 @@ LAYERVERSION_webserver = "1"
LAYERDEPENDS_webserver = "core openembedded-layer"
-LAYERSERIES_COMPAT_webserver = "thud warrior"
+LAYERSERIES_COMPAT_webserver = "thud warrior zeus"
LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
index c44efb6cd..3cbab22c3 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache-mod/apache-websocket_git.bb
@@ -25,9 +25,9 @@ EXTRA_OECONF = "APACHECTL=${STAGING_DIR_TARGET}${sbindir}/apachectl \
LIBTOOL=${STAGING_DIR_TARGET}${bindir_crossscripts}/${HOST_SYS}-libtool"
do_install() {
- install -d ${D}${libdir}/apache2/modules
- install -m 755 ${B}/.libs/mod_websocket.so ${D}${libdir}/apache2/modules
+ install -d ${D}${libexecdir}/apache2/modules
+ install -m 755 ${B}/.libs/mod_websocket.so ${D}${libexecdir}/apache2/modules
}
-FILES_${PN} += " ${libdir}/apache2/modules/* "
-FILES_${PN}-dbg += " ${libdir}/apache2/modules/.debug/* "
+FILES_${PN} += " ${libexecdir}/apache2/modules/* "
+FILES_${PN}-dbg += " ${libexecdir}/apache2/modules/.debug/* "
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
deleted file mode 100644
index da96086e4..000000000
--- a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.39.bb
+++ /dev/null
@@ -1,215 +0,0 @@
-DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
-extensible web server."
-SUMMARY = "Apache HTTP Server"
-HOMEPAGE = "http://httpd.apache.org/"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-
-SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
- file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
- file://0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch \
- file://0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch \
- file://0004-apache2-log-the-SELinux-context-at-startup.patch \
- file://0005-replace-lynx-to-curl-in-apachectl-script.patch \
- file://0006-apache2-fix-the-race-issue-of-parallel-installation.patch \
- file://0007-apache2-allow-to-disable-selinux-support.patch \
- file://apache-configure_perlbin.patch \
- "
-
-SRC_URI_append_class-target = " \
- file://0008-apache2-do-not-use-relative-path-for-gen_test_char.patch \
- file://init \
- file://apache2-volatile.conf \
- file://apache2.service \
- file://volatiles.04_apache2 \
- "
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d52d0fd0bc788f068e647116c01ddfcd"
-SRC_URI[md5sum] = "930e217ba2d71e708a3f1521ecae7ec0"
-SRC_URI[sha256sum] = "b4ca9d05773aa59b54d66cd8f4744b945289f084d3be17d7981d1783a5decfa2"
-
-S = "${WORKDIR}/httpd-${PV}"
-
-inherit autotools update-rc.d pkgconfig systemd update-alternatives
-
-DEPENDS = "openssl expat pcre apr apr-util apache2-native "
-
-CVE_PRODUCT = "http_server"
-
-SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
-PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
-PACKAGECONFIG[zlib] = "--enable-deflate,,zlib,zlib"
-
-CFLAGS_append = " -DPATH_MAX=4096"
-
-EXTRA_OECONF_class-target = "\
- --enable-layout=Debian \
- --prefix=${base_prefix} \
- --exec_prefix=${exec_prefix} \
- --includedir=${includedir}/${BPN} \
- --sysconfdir=${sysconfdir}/${BPN} \
- --datadir=${datadir}/${BPN} \
- --libdir=${libdir} \
- --libexecdir=${libdir}/${BPN}/modules \
- --localstatedir=${localstatedir} \
- --enable-ssl \
- --with-dbm=sdbm \
- --with-gdbm=no \
- --with-ndbm=no \
- --with-berkeley-db=no \
- --enable-info \
- --enable-rewrite \
- --enable-mpms-shared \
- ap_cv_void_ptr_lt_long=no \
- ac_cv_have_threadsafe_pollset=no \
- "
-
-EXTRA_OECONF_class-native = "\
- --prefix=${prefix} \
- --includedir=${includedir}/${BPN} \
- --sysconfdir=${sysconfdir}/${BPN} \
- --datadir=${datadir}/${BPN} \
- --libdir=${libdir} \
- --libexecdir=${libdir}/${BPN}/modules \
- --localstatedir=${localstatedir} \
- "
-
-do_configure_prepend() {
- sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libdir}/cgi-bin:g' ${S}/config.layout
-}
-
-do_install_append_class-target() {
- install -d ${D}/${sysconfdir}/init.d
-
- cat ${WORKDIR}/init | \
- sed -e 's,/usr/sbin/,${sbindir}/,g' \
- -e 's,/usr/bin/,${bindir}/,g' \
- -e 's,/usr/lib/,${libdir}/,g' \
- -e 's,/etc/,${sysconfdir}/,g' \
- -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN}
-
- chmod 755 ${D}/${sysconfdir}/init.d/${BPN}
-
- # Remove the goofy original files...
- rm -rf ${D}/${sysconfdir}/${BPN}/original
-
- install -d ${D}${sysconfdir}/${BPN}/conf.d
- install -d ${D}${sysconfdir}/${BPN}/modules.d
-
- # Ensure configuration file pulls in conf.d and modules.d
- printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
- printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
-
- # Match with that is in init script
- printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
-
- # Set 'ServerName' to fix error messages when restart apache service
- sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf
-
- sed -i 's/^ServerRoot/#ServerRoot/' ${D}/${sysconfdir}/${BPN}/httpd.conf
-
- sed -i -e 's,${STAGING_DIR_TARGET},,g' \
- -e 's,${DEBUG_PREFIX_MAP},,g' \
- -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
- -e 's,${HOSTTOOLS_DIR}/,,g' \
- -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
- -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk
-
- sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's,${DEBUG_PREFIX_MAP},,g' \
- -e 's,${RECIPE_SYSROOT},,g' \
- -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
- -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
- -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d/
- install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service
- elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2
- fi
-
- rm -rf ${D}${localstatedir}
- chown -R root:root ${D}
-}
-
-do_install_append_class-native() {
- install -d ${D}${bindir} ${D}${libdir}
- install -m 755 server/gen_test_char ${D}${bindir}
-}
-
-SYSROOT_PREPROCESS_FUNCS_append_class-target = " apache_sysroot_preprocess"
-
-apache_sysroot_preprocess() {
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
- install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts}
- install -d ${SYSROOT_DESTDIR}${sbindir}
- install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir}
- sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
- sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
-
- sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
- sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
-}
-
-# Implications - used by update-rc.d scripts
-INITSCRIPT_NAME = "apache2"
-INITSCRIPT_PARAMS = "defaults 91 20"
-
-SYSTEMD_SERVICE_${PN} = "apache2.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
-
-ALTERNATIVE_${PN}-doc = "htpasswd.1"
-ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
-
-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}/extra/*"
-
-# We override here rather than append so that .so links are
-# included in the runtime package rather than here (-dev)
-# and to get build, icons, error into the -dev package
-FILES_${PN}-dev = "${datadir}/${BPN}/build \
- ${datadir}/${BPN}/icons \
- ${datadir}/${BPN}/error \
- ${includedir}/${BPN} \
- ${bindir}/apxs \
- "
-
-# Add the manual to -doc
-FILES_${PN}-doc += " ${datadir}/${BPN}/manual"
-
-FILES_${PN}-scripts += "${bindir}/dbmmanage"
-
-# Override this too - here is the default, less datadir
-FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir} \
- ${sysconfdir} ${libdir}/${BPN}"
-
-# We want htdocs and cgi-bin to go with the binary
-FILES_${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin"
-
-FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
-
-RDEPENDS_${PN} += "openssl libgcc"
-RDEPENDS_${PN}-scripts += "perl ${PN}"
-RDEPENDS_${PN}-dev = "perl"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb
new file mode 100644
index 000000000..a34734c20
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/apache2/apache2_2.4.41.bb
@@ -0,0 +1,215 @@
+DESCRIPTION = "The Apache HTTP Server is a powerful, efficient, and \
+extensible web server."
+SUMMARY = "Apache HTTP Server"
+HOMEPAGE = "http://httpd.apache.org/"
+SECTION = "net"
+LICENSE = "Apache-2.0"
+
+SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
+ file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
+ file://0002-apache2-bump-up-the-core-size-limit-if-CoreDumpDirec.patch \
+ file://0003-apache2-do-not-export-apr-apr-util-symbols-when-usin.patch \
+ file://0004-apache2-log-the-SELinux-context-at-startup.patch \
+ file://0005-replace-lynx-to-curl-in-apachectl-script.patch \
+ file://0006-apache2-fix-the-race-issue-of-parallel-installation.patch \
+ file://0007-apache2-allow-to-disable-selinux-support.patch \
+ file://apache-configure_perlbin.patch \
+ "
+
+SRC_URI_append_class-target = " \
+ file://0008-apache2-do-not-use-relative-path-for-gen_test_char.patch \
+ file://init \
+ file://apache2-volatile.conf \
+ file://apache2.service \
+ file://volatiles.04_apache2 \
+ "
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d52d0fd0bc788f068e647116c01ddfcd"
+SRC_URI[md5sum] = "dfc674f8f454e3bc2d4ccd73ad3b5f1e"
+SRC_URI[sha256sum] = "133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40"
+
+S = "${WORKDIR}/httpd-${PV}"
+
+inherit autotools update-rc.d pkgconfig systemd update-alternatives
+
+DEPENDS = "openssl expat pcre apr apr-util apache2-native "
+
+CVE_PRODUCT = "http_server"
+
+SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
+PACKAGECONFIG[openldap] = "--enable-ldap --enable-authnz-ldap,--disable-ldap --disable-authnz-ldap,openldap"
+PACKAGECONFIG[zlib] = "--enable-deflate,,zlib,zlib"
+
+CFLAGS_append = " -DPATH_MAX=4096"
+
+EXTRA_OECONF_class-target = "\
+ --enable-layout=Debian \
+ --prefix=${base_prefix} \
+ --exec_prefix=${exec_prefix} \
+ --includedir=${includedir}/${BPN} \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --datadir=${datadir}/${BPN} \
+ --libdir=${libdir} \
+ --libexecdir=${libexecdir}/${BPN}/modules \
+ --localstatedir=${localstatedir} \
+ --enable-ssl \
+ --with-dbm=sdbm \
+ --with-gdbm=no \
+ --with-ndbm=no \
+ --with-berkeley-db=no \
+ --enable-info \
+ --enable-rewrite \
+ --enable-mpms-shared \
+ ap_cv_void_ptr_lt_long=no \
+ ac_cv_have_threadsafe_pollset=no \
+ "
+
+EXTRA_OECONF_class-native = "\
+ --prefix=${prefix} \
+ --includedir=${includedir}/${BPN} \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --datadir=${datadir}/${BPN} \
+ --libdir=${libdir} \
+ --libexecdir=${libdir}/${BPN}/modules \
+ --localstatedir=${localstatedir} \
+ "
+
+do_configure_prepend() {
+ sed -i -e 's:$''{prefix}/usr/lib/cgi-bin:$''{libexecdir}/cgi-bin:g' ${S}/config.layout
+}
+
+do_install_append_class-target() {
+ install -d ${D}/${sysconfdir}/init.d
+
+ cat ${WORKDIR}/init | \
+ sed -e 's,/usr/sbin/,${sbindir}/,g' \
+ -e 's,/usr/bin/,${bindir}/,g' \
+ -e 's,/usr/lib/,${libdir}/,g' \
+ -e 's,/etc/,${sysconfdir}/,g' \
+ -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${BPN}
+
+ chmod 755 ${D}/${sysconfdir}/init.d/${BPN}
+
+ # Remove the goofy original files...
+ rm -rf ${D}/${sysconfdir}/${BPN}/original
+
+ install -d ${D}${sysconfdir}/${BPN}/conf.d
+ install -d ${D}${sysconfdir}/${BPN}/modules.d
+
+ # Ensure configuration file pulls in conf.d and modules.d
+ printf "\nIncludeOptional ${sysconfdir}/${BPN}/conf.d/*.conf" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+ printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.load" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+ printf "\nIncludeOptional ${sysconfdir}/${BPN}/modules.d/*.conf\n\n" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ # Match with that is in init script
+ printf "\nPidFile /run/httpd.pid" >> ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ # Set 'ServerName' to fix error messages when restart apache service
+ sed -i 's/^#ServerName www.example.com/ServerName localhost/' ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ sed -i 's/^ServerRoot/#ServerRoot/' ${D}/${sysconfdir}/${BPN}/httpd.conf
+
+ sed -i -e 's,${STAGING_DIR_TARGET},,g' \
+ -e 's,${DEBUG_PREFIX_MAP},,g' \
+ -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
+ -e 's,${HOSTTOOLS_DIR}/,,g' \
+ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
+ -e 's,APU_CONFIG = .*,APU_CONFIG = ,g' ${D}${datadir}/apache2/build/config_vars.mk
+
+ sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's,${DEBUG_PREFIX_MAP},,g' \
+ -e 's,${RECIPE_SYSROOT},,g' \
+ -e 's,-fdebug-prefix-map[^ ]*,,g; s,-fmacro-prefix-map[^ ]*,,g' \
+ -e 's,APU_INCLUDEDIR = .*,APU_INCLUDEDIR = ,g' \
+ -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d/
+ install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service
+ elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2
+ fi
+
+ rm -rf ${D}${localstatedir} ${D}${sbindir}/envvars*
+ chown -R root:root ${D}
+}
+
+do_install_append_class-native() {
+ install -d ${D}${bindir} ${D}${libdir}
+ install -m 755 server/gen_test_char ${D}${bindir}
+}
+
+SYSROOT_PREPROCESS_FUNCS_append_class-target = " apache_sysroot_preprocess"
+
+apache_sysroot_preprocess() {
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
+ install -m 755 ${D}${bindir}/apxs ${SYSROOT_DESTDIR}${bindir_crossscripts}
+ install -d ${SYSROOT_DESTDIR}${sbindir}
+ install -m 755 ${D}${sbindir}/apachectl ${SYSROOT_DESTDIR}${sbindir}
+ sed -i 's!my $installbuilddir = .*!my $installbuilddir = "${STAGING_DIR_HOST}/${datadir}/${BPN}/build";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
+ sed -i 's!my $libtool = .*!my $libtool = "${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool";!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/apxs
+
+ sed -i 's!^APR_CONFIG = .*!APR_CONFIG = ${STAGING_BINDIR_CROSS}/apr-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!^APU_CONFIG = .*!APU_CONFIG = ${STAGING_BINDIR_CROSS}/apu-1-config!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!^includedir = .*!includedir = ${STAGING_INCDIR}/apache2!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!^CFLAGS = -I[^ ]*!CFLAGS = -I${STAGING_INCDIR}/openssl!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!^EXTRA_LDFLAGS = .*!EXTRA_LDFLAGS = -L${STAGING_LIBDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!^EXTRA_INCLUDES = .*!EXTRA_INCLUDES = -I$(includedir) -I. -I${STAGING_INCDIR}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+ sed -i 's!--sysroot=[^ ]*!--sysroot=${STAGING_DIR_HOST}!' ${SYSROOT_DESTDIR}${datadir}/${BPN}/build/config_vars.mk
+}
+
+# Implications - used by update-rc.d scripts
+INITSCRIPT_NAME = "apache2"
+INITSCRIPT_PARAMS = "defaults 91 20"
+
+SYSTEMD_SERVICE_${PN} = "apache2.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+ALTERNATIVE_${PN}-doc = "htpasswd.1"
+ALTERNATIVE_LINK_NAME[htpasswd.1] = "${mandir}/man1/htpasswd.1"
+
+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}/extra/*"
+
+# We override here rather than append so that .so links are
+# included in the runtime package rather than here (-dev)
+# and to get build, icons, error into the -dev package
+FILES_${PN}-dev = "${datadir}/${BPN}/build \
+ ${datadir}/${BPN}/icons \
+ ${datadir}/${BPN}/error \
+ ${includedir}/${BPN} \
+ ${bindir}/apxs \
+ "
+
+# Add the manual to -doc
+FILES_${PN}-doc += " ${datadir}/${BPN}/manual"
+
+FILES_${PN}-scripts += "${bindir}/dbmmanage"
+
+# Override this too - here is the default, less datadir
+FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir} \
+ ${sysconfdir} ${libdir}/${BPN}"
+
+# We want htdocs and cgi-bin to go with the binary
+FILES_${PN} += "${datadir}/${BPN}/ ${libdir}/cgi-bin"
+
+FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug"
+
+RDEPENDS_${PN} += "openssl libgcc"
+RDEPENDS_${PN}-scripts += "perl ${PN}"
+RDEPENDS_${PN}-dev = "perl"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb b/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
index 8632b97f4..560dd9b6e 100644
--- a/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
+++ b/meta-openembedded/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.27.1.bb
@@ -6,18 +6,16 @@ LIC_FILES_CHKSUM = "file://src/thttpd.c;beginline=1;endline=26;md5=0c5762c2c34dc
DEPENDS += "base-passwd virtual/crypt"
-SRC_URI = "https://github.com/blueness/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+SRCREV = "2845bf5bff2b820d2336c8c8061cbfc5f271e720"
+SRC_URI = "git://github.com/blueness/${BPN} \
file://thttpd.service \
file://thttpd.conf \
file://init"
-SRC_URI[md5sum] = "3cda1b6c8c8542b1510eadb8e540d8b6"
-SRC_URI[sha256sum] = "a1ee2806432eaf5b5dd267a0523701f9f1fa00fefd499d5bec42165a41e05846"
-
UPSTREAM_CHECK_URI = "https://github.com/blueness/sthttpd/releases/"
UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+).tar.gz"
-S = "${WORKDIR}/sthttpd-${PV}"
+S = "${WORKDIR}/git"
inherit autotools update-rc.d systemd update-alternatives
diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb
deleted file mode 100644
index a2fbbefee..000000000
--- a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.0.1.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Web-based MySQL administration interface"
-HOMEPAGE = "http://www.phpmyadmin.net"
-# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT
-LICENSE = "GPLv2 & LGPLv3 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=5c87b66a5358ebcc495b03e0afcd342c \
- file://js/vendor/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \
-"
-
-SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
- file://apache.conf \
-"
-
-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"
-
-S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages"
-
-inherit allarch
-
-do_install() {
- install -d ${D}${datadir}/${BPN}
- cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN}
- chown -R root:root ${D}${datadir}/${BPN}
- # Don't install patches to target
- rm -rf ${D}${datadir}/${BPN}/patches
-
- install -d ${D}${sysconfdir}/apache2/conf.d
- install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
-
- # Remove a few scripts that explicitly require bash (!)
- rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh
-}
-
-FILES_${PN} = "${datadir}/${BPN} \
- ${sysconfdir}/apache2/conf.d"
-
-RDEPENDS_${PN} += "bash php-cli"
diff --git a/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.1.bb b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.1.bb
new file mode 100644
index 000000000..3da2d9ba2
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.9.1.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Web-based MySQL administration interface"
+HOMEPAGE = "http://www.phpmyadmin.net"
+# Main code is GPLv2, vendor/tecnickcom/tcpdf is under LGPLv3, js/jquery is under MIT
+LICENSE = "GPLv2 & LGPLv3 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://vendor/tecnickcom/tcpdf/LICENSE.TXT;md5=dd6470bbcd3436ca317f82d34abaf688 \
+ file://js/vendor/jquery/MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9 \
+"
+
+SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-languages.tar.xz \
+ file://apache.conf \
+"
+
+SRC_URI[md5sum] = "a165109629731f5311ec3171cce50972"
+SRC_URI[sha256sum] = "8f89dd62e3fdddabca187b092eeb5af4a4fb956189564c56038970519d0496c5"
+
+UPSTREAM_CHECK_URI = "https://www.phpmyadmin.net/downloads/"
+UPSTREAM_CHECK_REGEX = "phpMyAdmin-(?P<pver>\d+(\.\d+)+)-all-languages.tar.xz"
+
+S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${datadir}/${BPN}
+ cp -R --no-dereference --preserve=mode,links -v * ${D}${datadir}/${BPN}
+ chown -R root:root ${D}${datadir}/${BPN}
+ # Don't install patches to target
+ rm -rf ${D}${datadir}/${BPN}/patches
+
+ install -d ${D}${sysconfdir}/apache2/conf.d
+ install -m 0644 ${WORKDIR}/apache.conf ${D}${sysconfdir}/apache2/conf.d/phpmyadmin.conf
+
+ # Remove a few scripts that explicitly require bash (!)
+ rm -f ${D}${datadir}/phpmyadmin/libraries/transformations/*.sh
+}
+
+FILES_${PN} = "${datadir}/${BPN} \
+ ${sysconfdir}/apache2/conf.d"
+
+RDEPENDS_${PN} += "bash php-cli"
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch
deleted file mode 100644
index abea0d66b..000000000
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-Timeout-issue.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: git/plugins.d/charts.d.plugin
-===================================================================
---- git.orig/plugins.d/charts.d.plugin
-+++ git/plugins.d/charts.d.plugin
-@@ -246,16 +246,6 @@ else
- info "configuration file '$myconfig' not found. Using defaults."
- fi
-
--# we check for the timeout command, after we load our
--# configuration, so that the user may overwrite the
--# timeout command we use, providing a function that
--# can emulate the timeout command we need:
--# > timeout SECONDS command ...
--if [ $check_for_timeout -eq 1 ]
-- then
-- require_cmd timeout || exit 1
--fi
--
- # -----------------------------------------------------------------------------
- # internal checks
-
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-timeout-issue.patch b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-timeout-issue.patch
new file mode 100644
index 000000000..c4be8270c
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-Correct-timeout-issue.patch
@@ -0,0 +1,42 @@
+From ccaf4225239c3092a51cf44f2ab0a2141b8a5fa6 Mon Sep 17 00:00:00 2001
+From: Luca Palano <github@lpzone.it>
+Date: Wed, 5 Dec 2018 10:36:52 +0100
+Subject: [PATCH 1/2] Correct of timeout issue
+
+The timeout issue has been disabled
+
+Signed-off-by: Luca Palano <github@lpzone.it>
+---
+ collectors/charts.d.plugin/charts.d.plugin.in | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/collectors/charts.d.plugin/charts.d.plugin.in b/collectors/charts.d.plugin/charts.d.plugin.in
+index 0df6c30c..63ea4506 100755
+--- a/collectors/charts.d.plugin/charts.d.plugin.in
++++ b/collectors/charts.d.plugin/charts.d.plugin.in
+@@ -156,7 +156,7 @@ restart_timeout=$((3600 * 4))
+ dryrunner=0
+
+ # check for timeout command
+-check_for_timeout=1
++check_for_timeout=0
+
+ # the default enable/disable value for all charts
+ enable_all_charts="yes"
+@@ -251,9 +251,10 @@ time_divisor=$((time_divisor))
+ # timeout command we use, providing a function that
+ # can emulate the timeout command we need:
+ # > timeout SECONDS command ...
+-if [ $check_for_timeout -eq 1 ]; then
+- require_cmd timeout || exit 1
+-fi
++#if [ $check_for_timeout -eq 1 ]
++# then
++# require_cmd timeout || exit 1
++#fi
+
+ # -----------------------------------------------------------------------------
+ # internal checks
+--
+2.20.1 (Apple Git-117)
+
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
deleted file mode 100644
index 6a0d75e37..000000000
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0001-makefile-Do-not-build-contrib-dir.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 87f868918a9ae1dcf93e01f3e177d185c19a149a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Jul 2017 14:32:09 -0700
-Subject: [PATCH] makefile: Do not build contrib dir
-
-It contains debian build iteams anyway
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.am | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 2ea9e40..acb1bd8 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -56,7 +56,6 @@ SUBDIRS = \
- src \
- system \
- web \
-- contrib \
- tests \
- $(NULL)
-
---
-2.13.2
-
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0002-Makefiles-does-not-build-contrib-dir.patch b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0002-Makefiles-does-not-build-contrib-dir.patch
new file mode 100644
index 000000000..f0887fed0
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata/0002-Makefiles-does-not-build-contrib-dir.patch
@@ -0,0 +1,24 @@
+From 95e1da77de80e38068bb2739faeaad49105700cf Mon Sep 17 00:00:00 2001
+From: Luca Palano <github@lpzone.it>
+Date: Mon, 15 Jul 2019 10:16:32 +0200
+Subject: [PATCH 2/2] Makefiles does not build contrib
+
+Signed-off-by: Luca Palano <github@lpzone.it>
+---
+ Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index bc928bba..ba9edc6b 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -54,7 +54,6 @@ dist_noinst_DATA= \
+ CHANGELOG.md \
+ cppcheck.sh \
+ configs.signatures \
+- contrib \
+ netdata.cppcheck \
+ netdata.spec \
+ package.json \
+--
+2.20.1 (Apple Git-117)
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
index 390fa4ba9..d179e84e3 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/netdata/netdata_git.bb
@@ -1,19 +1,17 @@
HOMEPAGE = "https://github.com/firehol/netdata/"
SUMMARY = "Real-time performance monitoring"
LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=95b49e9ea979a337578f13c2a3ab9535 \
- file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- "
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fc9b848046ef54b5eaee6071947abd24"
SRC_URI = "git://github.com/firehol/netdata.git;protocol=https \
- file://0001-makefile-Do-not-build-contrib-dir.patch \
+ file://0002-Makefiles-does-not-build-contrib-dir.patch \
"
-SRCREV = "89ed309252981ddd50f697fde4fe93019cb3e652"
-PV = "1.8.0+git${SRCPV}"
+SRCREV = "588ce5a7b18999dfa66698cd3a2f005f7a3c31cf"
+PV = "1.17.0"
# patch to disable timeout because timeout are not available with actual version
# of core-utils
-SRC_URI += "file://0001-Correct-Timeout-issue.patch"
+SRC_URI += "file://0001-Correct-timeout-issue.patch"
# default netdata.conf for netdata configuration
SRC_URI += "file://netdata.conf"
@@ -25,9 +23,10 @@ S = "${WORKDIR}/git"
DEPENDS += "zlib util-linux"
-inherit pkgconfig autotools useradd systemd
+inherit pkgconfig autotools-brokensep useradd systemd
-LDFLAGS += "-pthread"
+LIBS_toolchain-clang_x86 = "-latomic"
+export LIBS
#systemd
SYSTEMD_PACKAGES = "${PN}"
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
index ce9bc9280..d54d6223c 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/webmin/webmin_1.850.bb
@@ -160,8 +160,8 @@ python populate_packages_prepend() {
elif os.path.exists(themeinfo):
themes.append(mod)
- do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', allow_dirs=True, prepend=True)
- do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', allow_dirs=True, prepend=True)
+ do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', extra_depends='perl', allow_dirs=True, prepend=True)
+ do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', extra_depends='perl', allow_dirs=True, prepend=True)
}
# Time-savers
diff --git a/meta-openembedded/meta-xfce/README b/meta-openembedded/meta-xfce/README
index 84b019896..70ad47a2d 100644
--- a/meta-openembedded/meta-xfce/README
+++ b/meta-openembedded/meta-xfce/README
@@ -19,3 +19,4 @@ Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-xfce
When sending single patches, please using something like:
'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-xfce][PATCH'
+Layer maintainer: Kai Kang <kai.kang@windriver.com>
diff --git a/meta-openembedded/meta-xfce/conf/layer.conf b/meta-openembedded/meta-xfce/conf/layer.conf
index da07f8e16..070ea6ac7 100644
--- a/meta-openembedded/meta-xfce/conf/layer.conf
+++ b/meta-openembedded/meta-xfce/conf/layer.conf
@@ -19,4 +19,4 @@ LAYERDEPENDS_xfce-layer += "multimedia-layer"
LAYERDEPENDS_xfce-layer += "meta-python"
LAYERDEPENDS_xfce-layer += "networking-layer"
-LAYERSERIES_COMPAT_xfce-layer = "thud warrior"
+LAYERSERIES_COMPAT_xfce-layer = "thud warrior zeus"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.7.bb b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.7.bb
deleted file mode 100644
index 84d5692ef..000000000
--- a/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.7.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Catfish is a handy file searching tool for linux and unix"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-
-inherit xfce-app distutils3 gtk-icon-cache
-
-DEPENDS += "python3-distutils-extra-native"
-
-B = "${S}"
-
-SRC_URI[md5sum] = "f4c1c2b2c560824cab8d7f6c7bd624ca"
-SRC_URI[sha256sum] = "48caaac872d29e2762e31e59ade1310cb860af55f1a36f2520ce1d90c39227e9"
-
-FILES_${PN} += "${datadir}/metainfo"
-
-RDEPENDS_${PN} += "python3-pygobject"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.9.bb b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.9.bb
new file mode 100644
index 000000000..eec525b88
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/catfish/catfish_1.4.9.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Catfish is a handy file searching tool for linux and unix"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
+
+inherit xfce-app distutils3 gtk-icon-cache
+
+DEPENDS += "python3-distutils-extra-native"
+
+B = "${S}"
+
+SRC_URI[md5sum] = "829824fba33e86d03345bbc718e7b2d9"
+SRC_URI[sha256sum] = "29a39b85804336e4819dceff203693a5904b7e11d7e024b49b5aab2649ed944e"
+
+FILES_${PN} += "${datadir}/metainfo"
+
+RDEPENDS_${PN} += "python3-pygobject"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb b/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb
deleted file mode 100644
index c846e7802..000000000
--- a/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.4.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Gigolo is a frontend to easily manage connections to remote filesystems using GIO/GVfs"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "gtk+ intltool-native xfce4-dev-tools-native"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "4abc6fde56572adf3ec3a0181092584c"
-SRC_URI[sha256sum] = "553fc78fe4e7bd2f01f3851baea7e63f6414fe652dfb4b08c60b5c4b2b909164"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.0.bb b/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.0.bb
new file mode 100644
index 000000000..4446214f8
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/gigolo/gigolo_0.5.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Gigolo is a frontend to easily manage connections to remote filesystems using GIO/GVfs"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "gtk+3 intltool-native xfce4-dev-tools-native"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "273111f5d7c26898e5ddea7b97d5dfe1"
+SRC_URI[sha256sum] = "97a301aff012a143d0b99e7ecbb27084d3872aa203a74745e8357aab3a1880dc"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.1.bb b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.1.bb
deleted file mode 100644
index d122bfe37..000000000
--- a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A simple text editor for Xfce"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-# intltool to provide intltool.m4 with AC_PROG_INTLTOOL
-# xfce4-dev-tools-native for XDT_I18N macro and more importantly XDT_CHECK_OPTIONAL_PACKAGE
-# which fixes mousepad/Makefile.am:72: error: HAVE_DBUS does not appear in AM_CONDITIONAL
-DEPENDS = "gtk+ dbus dbus-glib gtksourceview2 intltool-native xfce4-dev-tools-native"
-
-inherit xfce-app gsettings
-
-SRC_URI[md5sum] = "fb85c23bcb096a46aee9ec22b4e4fdf5"
-SRC_URI[sha256sum] = "39a7379b929d964665299c385b2cf705e32e8760698ccc34f91c990bb733518b"
-
-# we have no gtksourceview 3.x around
-EXTRA_OECONF = "--disable-gtk3"
-
-FILES_${PN} += "${datadir}/glib-2.0/schemas"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.2.bb b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.2.bb
new file mode 100644
index 000000000..4bf10a47b
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/mousepad/mousepad_0.4.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A simple text editor for Xfce"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "gtk+3 gtksourceview3 xfconf xfce4-dev-tools-native"
+
+inherit xfce-app gsettings
+
+SRC_URI[md5sum] = "98d908842d4a93c35756a67d681c08fe"
+SRC_URI[sha256sum] = "84c02adfca7f8b33b9466a306ded72fb9f38f93c9edb78660343854c4a3aded7"
+
+FILES_${PN} += " \
+ ${datadir}/glib-2.0/schemas \
+ ${datadir}/polkit-1 \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/orage/orage/0001-drop-setting-is_utc-member-of-icaltimetype.patch b/meta-openembedded/meta-xfce/recipes-apps/orage/orage/0001-drop-setting-is_utc-member-of-icaltimetype.patch
new file mode 100644
index 000000000..517de5f92
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/orage/orage/0001-drop-setting-is_utc-member-of-icaltimetype.patch
@@ -0,0 +1,77 @@
+From 5bdf11fe3638d279edcad911906f801751e024da Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Jul 2019 14:22:08 -0700
+Subject: [PATCH] drop setting is_utc member of icaltimetype
+
+This seems to be gone in libical3
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/ical-code.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/src/ical-code.c b/src/ical-code.c
+index d583140..d8e5543 100644
+--- a/src/ical-code.c
++++ b/src/ical-code.c
+@@ -129,7 +129,6 @@ static struct icaltimetype ical_get_current_local_time()
+ && (strcmp(g_par.local_timezone, "floating") != 0))
+ ctime = icaltime_current_time_with_zone(local_icaltimezone);
+ else { / * use floating time * /
+- ctime.is_utc = 0;
+ ctime.is_date = 0;
+ ctime.is_daylight = 0;
+ ctime.zone = NULL;
+@@ -2579,7 +2578,6 @@ static struct icaltimetype count_first_alarm_time(xfical_period per
+ * when counting alarm time. */
+ if (rel == ICAL_RELATED_START) {
+ per.stime.is_date = 0;
+- per.stime.is_utc = 1;
+ per.stime.is_daylight = 0;
+ per.stime.zone = utc_icaltimezone;
+ per.stime.hour = 0;
+@@ -2588,7 +2586,6 @@ static struct icaltimetype count_first_alarm_time(xfical_period per
+ }
+ else {
+ per.etime.is_date = 0;
+- per.etime.is_utc = 1;
+ per.etime.is_daylight = 0;
+ per.etime.zone = utc_icaltimezone;
+ per.etime.hour = 0;
+@@ -2613,7 +2610,6 @@ static struct icaltimetype count_next_alarm_time(struct icaltimetype start_time
+ /* HACK: convert to UTC time so that we can use time arithmetic
+ * when counting alarm time. */
+ start_time.is_date = 0;
+- start_time.is_utc = 1;
+ start_time.is_daylight = 0;
+ start_time.zone = utc_icaltimezone;
+ start_time.hour = 0;
+@@ -2768,7 +2764,6 @@ static alarm_struct *process_alarm_trigger(icalcomponent *c
+ */
+ if (icaltime_is_date(per.stime)) {
+ if (local_icaltimezone != utc_icaltimezone) {
+- next_alarm_time.is_utc = 0;
+ next_alarm_time.is_daylight = 0;
+ next_alarm_time.zone = local_icaltimezone;
+ }
+@@ -2850,7 +2845,6 @@ orage_message(120, P_N "Alarm rec loop next_start:%s next_alarm:%s per.stime:%s"
+ */
+ if (icaltime_is_date(per.stime)) {
+ if (local_icaltimezone != utc_icaltimezone) {
+- next_alarm_time.is_utc = 0;
+ next_alarm_time.is_daylight = 0;
+ next_alarm_time.zone = local_icaltimezone;
+ }
+@@ -2944,7 +2938,6 @@ orage_message(120, P_N "*****After loop Alarm %s %s", icaltime_as_ical_string(ne
+ */
+ if (icaltime_is_date(per.stime)) {
+ if (local_icaltimezone != utc_icaltimezone) {
+- next_alarm_time.is_utc = 0;
+ next_alarm_time.is_daylight = 0;
+ next_alarm_time.zone = local_icaltimezone;
+ }
+--
+2.22.0
+
diff --git a/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.12.1.bb b/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.12.1.bb
index eb9da2dff..9662b614f 100644
--- a/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.12.1.bb
+++ b/meta-openembedded/meta-xfce/recipes-apps/orage/orage_4.12.1.bb
@@ -6,6 +6,8 @@ DEPENDS = "gtk+ xfce4-panel libical popt"
inherit xfce-app
+SRC_URI += "file://0001-drop-setting-is_utc-member-of-icaltimetype.patch"
+
SRC_URI[md5sum] = "2b7f5d38cb5c6edbcc65d0f52a742e46"
SRC_URI[sha256sum] = "3cf9aa441ae83c8688865f82217025cdf3ebaa152cce4571777b8c2aa8dd9062"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/ristretto/files/0001-Fix-build-after-update-of-xfconf.patch b/meta-openembedded/meta-xfce/recipes-apps/ristretto/files/0001-Fix-build-after-update-of-xfconf.patch
deleted file mode 100644
index 5cdc8c728..000000000
--- a/meta-openembedded/meta-xfce/recipes-apps/ristretto/files/0001-Fix-build-after-update-of-xfconf.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 2b6bdb860ef53975c7e866f393b61d253c00754d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Mon, 22 Jan 2018 15:52:09 +0100
-Subject: [PATCH] Fix build after update of xfconf
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-xfconf stopped using dbus-glib so required flags must be included here
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- src/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 36a31dc..3dd56bc 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -30,6 +30,7 @@ ristretto_CFLAGS = \
- $(GIO_UNIX_CFLAGS) \
- $(LIBEXIF_CFLAGS) \
- $(XFCONF_CFLAGS) \
-+ $(DBUS_GLIB_CFLAGS) \
- $(EXO_CFLAGS) \
- $(CAIRO_CFLAGS) \
- $(LIBXFCE4UTIL_CFLAGS) \
-@@ -48,6 +49,7 @@ ristretto_LDADD = \
- $(GIO_UNIX_LIBS) \
- $(LIBEXIF_LIBS) \
- $(XFCONF_LIBS) \
-+ $(DBUS_GLIB_LIBS) \
- $(EXO_LIBS) \
- $(CAIRO_LIBS) \
- $(LIBXFCE4UTIL_LIBS) \
---
-2.14.3
-
diff --git a/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.10.0.bb b/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.10.0.bb
new file mode 100644
index 000000000..9c5bb12e8
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.10.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Tiny image-viewer"
+HOMEPAGE = "https://docs.xfce.org/apps/ristretto/start"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=35d145429ad3cbf5308d1dc93f66376b"
+
+DEPENDS = "exo libexif libxfce4ui libxfce4util xfconf cairo file"
+
+inherit xfce-app
+
+RRECOMMENDS_${PN} += "tumbler"
+
+SRC_URI[md5sum] = "4249e14fba78728481d89ce61a8771fc"
+SRC_URI[sha256sum] = "16225dd74245eb6e0f82b9c72c6112f161bb8d8b11f3fc77277b7bc3432d4769"
+
+FILES_${PN} += "${datadir}/metainfo"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.4.bb b/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.4.bb
deleted file mode 100644
index 416ac2adc..000000000
--- a/meta-openembedded/meta-xfce/recipes-apps/ristretto/ristretto_0.8.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Tiny image-viewer"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/ristretto"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=35d145429ad3cbf5308d1dc93f66376b"
-DEPENDS = "exo libexif gtk+ dbus-glib libxfce4ui libxfce4util xfconf cairo file"
-
-inherit xfce-app
-
-RRECOMMENDS_${PN} += "tumbler"
-
-SRC_URI[md5sum] = "0142c8b9c492cf447e563b00c6204359"
-SRC_URI[sha256sum] = "3a0be4526c93ec0ebbf2e63e69dd0c98f16b20b863d3b6426272592e5b00cea2"
-SRC_URI += "file://0001-Fix-build-after-update-of-xfconf.patch"
-
-FILES_${PN} += "${datadir}/appdata"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb
index 54bf7c752..62d8d6de9 100644
--- a/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce-polkit/xfce-polkit_0.2.bb
@@ -4,7 +4,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=758b03f872a88c99fc36d50c5932091c"
DEPENDS = "libxfce4ui polkit"
-inherit xfce-app
+inherit xfce-app distro_features_check
+REQUIRED_DISTRO_FEATURES = "polkit"
SRC_URI = " \
git://github.com/ncopa/${BPN}.git \
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/files/fix-inner-dependency.patch b/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/files/fix-inner-dependency.patch
new file mode 100644
index 000000000..9cccb892f
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/files/fix-inner-dependency.patch
@@ -0,0 +1,28 @@
+It fails to compile xfce4-datetime-setter occasionally when system load is high:
+
+| ../git/xfce/main.c:42:10: fatal error: cc-datetime-resources.h: No such file or directory
+| 42 | #include "cc-datetime-resources.h"
+| | ^~~~~~~~~~~~~~~~~~~~~~~~~
+| compilation terminated.
+
+Update datetime_panel_dep to make sure cc-datetime-resources.h be generated
+before including.
+
+Upstream-Status: Submitted [https://github.com/schnitzeltony/xfce4-datetime-setter/pull/2]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/panels/datetime/meson.build b/panels/datetime/meson.build
+index c5bf39c..241e177 100644
+--- a/panels/datetime/meson.build
++++ b/panels/datetime/meson.build
+@@ -175,7 +175,8 @@ datetime_panel_lib = static_library(
+
+ datetime_panel_dep = declare_dependency(
+ include_directories: [ common_inc, include_directories('.') ],
+- link_with: datetime_panel_lib
++ link_with: datetime_panel_lib,
++ sources: resources
+ )
+
+ subdir('po-timezones')
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb
new file mode 100644
index 000000000..4d128ac51
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-datetime-setter/xfce4-datetime-setter_3.32.2.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A fork of (early) gnome-control-center datetime panel for XFCE. \
+It is based upon GTK3 and embedds into recent xfce4-settings."
+HOMEPAGE = "https://github.com/schnitzeltony/xfce4-datetime-setter"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
+
+DEPENDS = "glib-2.0-native libxfce4ui"
+
+SRC_URI = "git://github.com/schnitzeltony/xfce4-datetime-setter.git;protocol=https \
+ file://fix-inner-dependency.patch \
+"
+SRCREV = "5c7a73a3824b03b91719e05e2604b97c7a72d50f"
+
+S = "${WORKDIR}/git"
+
+inherit gettext meson distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "systemd x11"
+
+FILES_${PN} += "${datadir}/icons/hicolor"
+
+RDEPENDS_${PN} = "tzdata"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.5.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.5.bb
deleted file mode 100644
index 9f8f61a4a..000000000
--- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.5.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Application to take screenshots"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-screenshooter"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
-DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+ glib-2.0 libsoup-2.4 exo libxfixes xext virtual/libx11"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "0354811cd2622d3de92e342c7eaa184d"
-SRC_URI[sha256sum] = "bf35b5432cb920987c6d7ff193600e5dd4d73422b6aa02b4ec5288744053b38c"
-
-do_compile_prepend() {
- mkdir -p lib
- mkdir -p src panel-plugin
-}
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${datadir}/xfce4/panel/plugins \
- ${libdir}/xfce4/panel/plugins \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.6.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.6.bb
new file mode 100644
index 000000000..7f6756fc9
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.6.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Application to take screenshots"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-screenshooter"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
+DEPENDS = "xfce4-panel libxfce4util libxfce4ui gdk-pixbuf gtk+ glib-2.0 libsoup-2.4 exo libxfixes xext virtual/libx11"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "9e4026d9ae7850b290992c9d2aea80dd"
+SRC_URI[sha256sum] = "88c174ce687d1f7ba5470d6ab5784d33dc215f8f220211e892e268189dbea658"
+
+do_compile_prepend() {
+ mkdir -p lib
+ mkdir -p src panel-plugin
+}
+
+FILES_${PN} += " \
+ ${datadir}/metainfo \
+ ${datadir}/xfce4/panel/plugins \
+ ${libdir}/xfce4/panel/plugins \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.4.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.4.bb
deleted file mode 100644
index 426282e14..000000000
--- a/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.7.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Terminal emulator for the Xfce desktop environment"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui"
-
-inherit xfce-app
-
-FILES_${PN} += "${datadir}/xfce4 \
- ${datadir}/gnome-control-center"
-
-SRC_URI[md5sum] = "c861540dd1dd05f56e62382b3851cf66"
-SRC_URI[sha256sum] = "a88f98af4da72394f2cfbd7f14b0f053ec0a3b58a4f6a577836357c60a6c42ab"
-
-RRECOMMENDS_${PN} += "vte-prompt"
diff --git a/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.8.bb b/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.8.bb
new file mode 100644
index 000000000..ebc046b78
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-apps/xfce4-terminal/xfce4-terminal_0.8.8.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Terminal emulator for the Xfce desktop environment"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "glib-2.0 gtk+3 vte libxfce4ui"
+
+inherit xfce-app
+
+FILES_${PN} += "${datadir}/xfce4 \
+ ${datadir}/gnome-control-center"
+
+SRC_URI[md5sum] = "4295d4d783f6d6dfe92f5bb15d96f6c6"
+SRC_URI[sha256sum] = "8fba6a60d3a0fee07417ad7c36bf78cc45be1b27f0759e125051aa73f08487fd"
+
+RRECOMMENDS_${PN} += "vte-prompt"
diff --git a/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend b/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend
deleted file mode 100644
index 916f083b9..000000000
--- a/meta-openembedded/meta-xfce/recipes-connectivity/blueman/blueman_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-# Just a comment line to avoid PAK archive (application/x-pak)
-PACKAGECONFIG_append = " thunar"
diff --git a/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb b/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb
deleted file mode 100644
index 8f622bf6f..000000000
--- a/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.7.3.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Delivery framework for general Input Method configuration"
-DESCRIPTION = "IMSettings is a framework that delivers Input Method \
-settings and applies the changes so they take effect \
-immediately without any need to restart applications \
-or the desktop. \
-This package contains the core DBus services and some utilities."
-HOMEPAGE = "http://code.google.com/p/imsettings/"
-SECTION = "Applications/System"
-
-inherit autotools gtk-doc gobject-introspection distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2 \
- "
-
-SRC_URI[md5sum] = "c6c65a2b2654fe9dfe9ab2e8b80c079a"
-SRC_URI[sha256sum] = "196d3a74cef254ff812c32682d1818d740e36a68b976fef9e99748d23a71a71a"
-
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-EXTRA_OECONF = "--with-xinputsh=50-xinput.sh \
- --disable-static \
- "
-
-DEPENDS = "gtk+ gconf libnotify dbus-glib libgxim xfconf intltool-native"
-
-RDEPENDS_${PN} += "bash"
-
-FILES_${PN} += "${datadir}/dbus-1/* ${datadir}/gir-1.0/* ${libdir}/girepository-1.0/*"
diff --git a/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.8.1.bb b/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.8.1.bb
new file mode 100644
index 000000000..5c94cb6bc
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-extended/imsettings/imsettings_1.8.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Delivery framework for general Input Method configuration"
+DESCRIPTION = "IMSettings is a framework that delivers Input Method \
+settings and applies the changes so they take effect \
+immediately without any need to restart applications \
+or the desktop. \
+This package contains the core DBus services and some utilities."
+HOMEPAGE = "http://code.google.com/p/imsettings/"
+SECTION = "Applications/System"
+
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+inherit autotools gtk-doc gobject-introspection gettext distro_features_check
+
+DEPENDS = "gtk+3 libnotify"
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://bitbucket.org/tagoh/imsettings/downloads/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "c04341a008d8c60e1532f033f4020f44"
+SRC_URI[sha256sum] = "ebf578299a10c6a1fea9047be6577df6d2b6470d3cc9d40f8a6589a3c13c4c8b"
+
+EXTRA_OECONF = "--with-xinputsh=50-xinput.sh \
+ --disable-static \
+ "
+
+PACKAGECONFIG ??= "xfce"
+PACKAGECONFIG[xfce] = ",,xfconf"
+PACKAGECONFIG[xim] = ",,libgxim"
+
+RDEPENDS_${PN} += "bash"
+
+FILES_${PN} += "${datadir}/dbus-1/*"
diff --git a/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm/gdmflexiserver b/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm/gdmflexiserver
deleted file mode 100644
index 4be65c0c8..000000000
--- a/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm/gdmflexiserver
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/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
deleted file mode 100644
index 4a799a98a..000000000
--- a/meta-openembedded/meta-xfce/recipes-graphics/lxdm/lxdm_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-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-multimedia/packagegroups/packagegroup-xfce-multimedia.bb b/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb
index 19a6e2b04..c30c79907 100644
--- a/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb
+++ b/meta-openembedded/meta-xfce/recipes-multimedia/packagegroups/packagegroup-xfce-multimedia.bb
@@ -1,6 +1,4 @@
SUMMARY = "All packages multimedia packages available for XFCE"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
inherit packagegroup
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.2.bb b/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.2.bb
deleted file mode 100644
index a286a5adb..000000000
--- a/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.2.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "Parole is a modern simple media player based on the GStreamer framework"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/parole"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-app gtk-doc mime
-
-DEPENDS += " \
- glib-2.0 \
- dbus-glib \
- gtk+3 \
- \
- xfce4-dev-tools-native \
- libxfce4util \
- libxfce4ui \
- xfconf \
- \
- gstreamer1.0-plugins-base \
- taglib \
-"
-
-SRC_URI[md5sum] = "cd22ab579470c5728db0aa6c0b9d4c7d"
-SRC_URI[sha256sum] = "bff0fc846d0d7b8f435ac5514976f1cd1d82b62dbf1b7d470e253a5b439407da"
-
-RDEPENDS_${PN} += "gstreamer1.0-plugins-good"
-
-EXTRA_OECONF = "--disable-gtk-doc"
-
-PACKAGECONFIG ??= "notify"
-PACKAGECONFIG[clutter] = "--enable-clutter, --disable-clutter, clutter"
-PACKAGECONFIG[notify] = "--enable-notify-plugin, --disable-notify-plugin, libnotify"
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${libdir}/parole-0/*.so \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.4.bb b/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.4.bb
new file mode 100644
index 000000000..68556a2ab
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-multimedia/parole/parole_1.0.4.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Parole is a modern simple media player based on the GStreamer framework"
+HOMEPAGE = "https://docs.xfce.org/apps/parole/start"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce-app gtk-doc mime
+
+DEPENDS += " \
+ dbus-glib \
+ xfce4-dev-tools-native \
+ libxfce4util \
+ libxfce4ui \
+ xfconf \
+ \
+ gstreamer1.0-plugins-base \
+ taglib \
+"
+
+SRC_URI[md5sum] = "c23621eb44df292f828e86074d4e719d"
+SRC_URI[sha256sum] = "e92b8ec369e53d921b47d2473c2e2a1e9e04d3c5d536d419abdff40e5e136dc1"
+
+RDEPENDS_${PN} += "gstreamer1.0-plugins-good"
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+PACKAGECONFIG ??= "notify"
+PACKAGECONFIG[clutter] = "--enable-clutter, --disable-clutter, clutter"
+PACKAGECONFIG[notify] = "--enable-notify-plugin, --disable-notify-plugin, libnotify"
+
+FILES_${PN} += " \
+ ${datadir}/metainfo \
+ ${libdir}/parole-0/*.so \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.1.bb b/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.1.bb
deleted file mode 100644
index 85235490c..000000000
--- a/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Simple client plugin for Music Player Daemon"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-mpc-plugin"
-SECTION = "x11/application"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3604d987e6dfdfc672c754d08953b0e0"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "libmpd"
-
-# While this item does not require it, it depends on mpd which does
-LICENSE_FLAGS = "commercial"
-
-# for now we recommend our own mpd-server
-RRECOMMENDS_${PN} = "mpd"
-
-SRC_URI[md5sum] = "305dfdacb2b2198e1f1673d61f86e4f5"
-SRC_URI[sha256sum] = "635e678c9729663e9eaadfcf58426f7cea37e6d3fda5e818955fbc8ade00de01"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb b/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb
new file mode 100644
index 000000000..ff954acb8
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-multimedia/xfce4-mpc-plugin/xfce4-mpc-plugin_0.5.2.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Simple client plugin for Music Player Daemon"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-mpc-plugin"
+SECTION = "x11/application"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3604d987e6dfdfc672c754d08953b0e0"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "libmpd"
+
+# While this item does not require it, it depends on mpd which does
+LICENSE_FLAGS = "commercial"
+
+# for now we recommend our own mpd-server
+RRECOMMENDS_${PN} = "mpd"
+
+SRC_URI[md5sum] = "26a1e8658df2b51967dc2250e23f467d"
+SRC_URI[sha256sum] = "eefe78b7b6b95312b3a52814b7f632dc92970c1b3e9535de616315749bf67760"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb b/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb
deleted file mode 100644
index 869435d68..000000000
--- a/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.2.3.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Music Player Daemon (MPD) client written in GTK+"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfmpc"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "gtk+ libxfce4util libxfce4ui libmpd vala-native"
-
-# While this item does not require it, it depends on mpd which does
-LICENSE_FLAGS = "commercial"
-
-# for now we recommend our own mpd-server
-RRECOMMENDS_${PN} = "mpd"
-
-inherit xfce-app
-
-SRC_URI[md5sum] = "e2d2faeb7a6f62813e287f3d12522b71"
-SRC_URI[sha256sum] = "4189c0c82b66b758a6d5bc651493b675d3d46329e5f1a76ff26c448125f4fcb0"
diff --git a/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb b/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb
new file mode 100644
index 000000000..0f5ed8957
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-multimedia/xfmpc/xfmpc_0.3.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Music Player Daemon (MPD) client written in GTK+"
+HOMEPAGE = "https://goodies.xfce.org/projects/applications/xfmpc"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "libxfce4util libxfce4ui libmpd vala-native"
+
+# While this item does not require it, it depends on mpd which does
+LICENSE_FLAGS = "commercial"
+
+# for now we recommend our own mpd-server
+RRECOMMENDS_${PN} = "mpd"
+
+inherit xfce-app
+
+SRC_URI[md5sum] = "e6ff8563f159d1e727d656fb88964998"
+SRC_URI[sha256sum] = "c76e2a88dc3e1d345da7a5c68fa39981494c2b40033748efcac54411c9e65689"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.2.bb
deleted file mode 100644
index 5de1ce5e0..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "A battery monitor panel plugin for Xfce4, compatible with APM and ACP"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "ba1cfe619046373f9af5b903c77d1858"
-SRC_URI[sha256sum] = "d601349fa9a979dae99ace39b24d99b97f62b80f42ac5dea5a99e5af3e88d7db"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.3.bb
new file mode 100644
index 000000000..ecbdc265e
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/battery/xfce4-battery-plugin_1.1.3.bb
@@ -0,0 +1,9 @@
+SUMMARY = "A battery monitor panel plugin for Xfce4, compatible with APM and ACP"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-battery-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "9f82c7e77de0a417716d68d33367973b"
+SRC_URI[sha256sum] = "12be0a44d16bd1e1618513ee64f946814925872db7d1c1188ab1454b00d040a3"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.0.5.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.0.5.bb
deleted file mode 100644
index 83e2bb5c0..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.0.5.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin with graphical representation of the cpu frequency"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-cpugraph-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=415654f59d8fa70fe4eac2c3f86c8f5e"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "f0ebfabb273adf69361b37a3fa4b7912"
-SRC_URI[sha256sum] = "85da0ec89aacfd31e0bbafcefea37cdca618d62e681c1c9da8bdd492f028f4c7"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.1.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.1.0.bb
new file mode 100644
index 000000000..eeb54b315
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/cpugraph/xfce4-cpugraph-plugin_1.1.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin with graphical representation of the cpu frequency"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-cpugraph-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=415654f59d8fa70fe4eac2c3f86c8f5e"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "48ead9dcc019212795637c170d9e2ca2"
+SRC_URI[sha256sum] = "3ece0a24e55827e0d9b6314129906da60513acdc1748d9dece9f50526e906ba4"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.1.bb
deleted file mode 100644
index 97aa184b0..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.7.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin displaying date and time and a calendar when left-clicked"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-datetime-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "c42149ec71836fe83085511429e638dc"
-SRC_URI[sha256sum] = "e0c7321346ded2539c4688c593f650696ed0ddca0a5f9d4e404d0e7fc42ae256"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.0.bb
new file mode 100644
index 000000000..a1fc139bb
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/datetime/xfce4-datetime-plugin_0.8.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin displaying date and time and a calendar when left-clicked"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-datetime-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "b88e47af4e9e156e43dc993f18218bd3"
+SRC_URI[sha256sum] = "cd358bc2ff0707b8ef1504396a19b0a27f802c2ec7bceb5cebe2c7baf6adebd4"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin/0001-panel-plugin-Include-sys-sysmacros.h-for-major-minor.patch b/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin/0001-panel-plugin-Include-sys-sysmacros.h-for-major-minor.patch
deleted file mode 100644
index 007d3e585..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin/0001-panel-plugin-Include-sys-sysmacros.h-for-major-minor.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c35a8cb24e8adafb11cbc261de37d97244e55927 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 11 Aug 2018 10:08:27 -0700
-Subject: [PATCH] panel-plugin: Include sys/sysmacros.h for major/minor
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-glibc 2.28+ needs it
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Cc: Andreas Müller <schnitzeltony@googlemail.com>
----
- panel-plugin/devperf.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/panel-plugin/devperf.c b/panel-plugin/devperf.c
-index 175fd44..cb2e88a 100644
---- a/panel-plugin/devperf.c
-+++ b/panel-plugin/devperf.c
-@@ -34,6 +34,7 @@
- #include <errno.h>
- #include <sys/time.h>
- /* for major() and minor() */
-+#include <sys/sysmacros.h>
- #define _BSD_SOURCE
- #include <sys/types.h>
-
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb
deleted file mode 100644
index dc7f1fcd9..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Panel plugin displaying instant disk/partition performance"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-diskperf-plugin"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d3e627798d6a60bece47aa8b3532e1f1"
-
-inherit xfce-panel-plugin
-
-SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2 \
- file://0001-panel-plugin-Include-sys-sysmacros.h-for-major-minor.patch \
- "
-SRC_URI[md5sum] = "63d5f03934c2dbddb3ad7bf7f535cc23"
-SRC_URI[sha256sum] = "212ddc742be3eecb6ad5554e1b1df03d5685cb71f48a558d5f895de37c57e4fa"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.2.bb
new file mode 100644
index 000000000..04da55d61
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/diskperf/xfce4-diskperf-plugin_2.6.2.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Panel plugin displaying instant disk/partition performance"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-diskperf-plugin"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d3e627798d6a60bece47aa8b3532e1f1"
+
+inherit xfce-panel-plugin
+
+SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "538119ea97a217695b297e2d165b305f"
+SRC_URI[sha256sum] = "fd2e9843da5822de96a7829e50ba496c34a50fb8492d5b5f792558c6b7ce9644"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb
deleted file mode 100644
index 8b924ac75..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-DESCRIPTION = "The FSGuard panel plugin checks free space on a chosen mount point frequently and displays a message when a limit is reached"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-fsguard-plugin?&#recet_releases"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "c9fcc1ff37f38e6ed518eca3b9887aa8"
-SRC_URI[sha256sum] = "6b038322b49d29625219e6a54497085b8f834b9c1fd15282ce286a6529d7c445"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.1.bb
new file mode 100644
index 000000000..183d521af
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/fsguard/xfce4-fsguard-plugin_1.1.1.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "The FSGuard panel plugin checks free space on a chosen mount point frequently and displays a message when a limit is reached"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-fsguard-plugin"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3434d79d62df09abf5f78bb76d6cd21b"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "d1e1fda4e80c36741643b1d9eca5c5c1"
+SRC_URI[sha256sum] = "d6d05d0a90a68453d65cdceec5ca7eeaef864393ab62eef532a7ba58f374d516"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch b/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch
deleted file mode 100644
index e35418192..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin/0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7fcc7352ec11644ac8be4e9ec1584a5be3333684 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 12 Jul 2017 18:18:30 -0700
-Subject: [PATCH] Do not include sys/sysctl.h its unused on linux port
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- panel-plugin/os.h | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/panel-plugin/os.h b/panel-plugin/os.h
-index 473c2a4..9a5c544 100644
---- a/panel-plugin/os.h
-+++ b/panel-plugin/os.h
-@@ -170,7 +170,6 @@
- #elif __linux__ /* L I N U X */
- # include <stdio.h>
- # include <sys/param.h>
--# include <sys/sysctl.h>
- # include <stdlib.h>
- # include <stdarg.h>
- # include <unistd.h>
---
-2.13.2
-
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb
deleted file mode 100644
index 35c8861bc..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Panel plugin displaying current load of the network interfaces"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f"
-
-inherit xfce-panel-plugin
-
-SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2 \
- file://0001-Do-not-include-sys-sysctl.h-its-unused-on-linux-port.patch \
- "
-SRC_URI[md5sum] = "f25aa3242e3119b49f259a3e4a1af08b"
-SRC_URI[sha256sum] = "99762781099d1e0ab9aa6a7b30c2bd94d8f658dbe61c760410d5d42d0766391c"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb
new file mode 100644
index 000000000..13e7b1db7
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/netload/xfce4-netload-plugin_1.3.2.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Panel plugin displaying current load of the network interfaces"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-netload-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=35a7203c41b86d15546dddc05995f97f"
+
+inherit xfce-panel-plugin
+
+SRC_URI = "http://archive.xfce.org/src/panel-plugins/${BPN}/${@'${PV}'[0:3]}/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "ae4652711812a77a58c3dc96650a74dc"
+SRC_URI[sha256sum] = "22e40425cfe1e07b01fe275b1afddc7c788af34d9c2c7e2842166963cb41215d"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.0.bb
deleted file mode 100644
index 698152bae..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Menu for quick access to folders, documents and removable media"
-DESCRIPTION = "Panel plugin displaying menu with quick access to folders, documents and removable media"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-places-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b6952d9a47fc2ad0f315510e1290455f"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "e3a306d927befb8afcb5212f8ab0b8c9"
-SRC_URI[sha256sum] = "7ba3f46f88c2845cbf413efeefaed29157f8b98571856c6e2bf35e4de5d8ecce"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb
new file mode 100644
index 000000000..c88e8439e
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/places/xfce4-places-plugin_1.8.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Menu for quick access to folders, documents and removable media"
+DESCRIPTION = "Panel plugin displaying menu with quick access to folders, documents and removable media"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-places-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b6952d9a47fc2ad0f315510e1290455f"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "bde92cbd08f129d517524784e5060816"
+SRC_URI[sha256sum] = "f211219f03c9260f624370e18c79e4176c9d35a8247158e77e5d811327610ab2"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.1.bb
deleted file mode 100644
index b42370764..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Pulseaudio mixer for the xfce panel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f5eac6bb0d6ec0dc655e417781d4015f"
-
-inherit xfce-panel-plugin distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "pulseaudio x11"
-
-DEPENDS += "pulseaudio"
-
-SRC_URI[md5sum] = "7df7280c19c2c8b8c5bc4f4f2136d1dd"
-SRC_URI[sha256sum] = "6ca88314dbac3e24c0e1bfc593fad6edb66319766be62e8256c81b0314f049f0"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libnotify] = "--enable-libnotify,--disable-libnotify,libnotify"
-
-RRECOMMENDS_${PN} = "pavucontrol"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.2.bb
new file mode 100644
index 000000000..8b8f5f21c
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/xfce4-pulseaudio-plugin_0.4.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Pulseaudio mixer for the xfce panel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f5eac6bb0d6ec0dc655e417781d4015f"
+
+inherit xfce-panel-plugin distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "pulseaudio x11"
+
+DEPENDS += "dbus-glib pulseaudio"
+
+SRC_URI[md5sum] = "9a34eadf06ed217ec0732a096f178987"
+SRC_URI[sha256sum] = "4ae8aebc2458675d4f885bf16f73829be359e16370a684301bbef6a23758a120"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libnotify] = "--enable-libnotify,--disable-libnotify,libnotify"
+
+RRECOMMENDS_${PN} = "pavucontrol"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb
deleted file mode 100644
index 6289ad31a..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin allowing to send requests directly to browser"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-smartbookmark-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "6f242fe584ee2fdd2b1d3d69ef3d5914"
-SRC_URI[sha256sum] = "139539c58d54d878de86ef8a882c793cd909981e6b888f7f9d5e230a8fe310a4"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.1.bb
new file mode 100644
index 000000000..fa2c474d6
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/smartbookmark/xfce4-smartbookmark-plugin_0.5.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin allowing to send requests directly to browser"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-smartbookmark-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "f1c97ac62dd9054e8f2b01568fef3ba6"
+SRC_URI[sha256sum] = "3e28fb7cd2e2251e89a8715684081b862406e3fb4e6d8c0caa1b798a97703600"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.2.bb
deleted file mode 100644
index f9fb2cad7..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "upower"
-
-SRC_URI[md5sum] = "c7b9237ec4a421de5dac76449b4b5a78"
-SRC_URI[sha256sum] = "3c67dfeb042eaea5aca440de9c6b3ecf99be0fbaa1cf7fdf9e6528233b46c99e"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.3.bb
new file mode 100644
index 000000000..88d40c495
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/systemload/xfce4-systemload-plugin_1.2.3.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Panel plugin displaying current CPU load, the memory in use, the swap space and the system uptime"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9acb172a93ff6c43cce2aff790a8aef8"
+
+inherit xfce-panel-plugin
+
+DEPENDS += "upower"
+
+SRC_URI[md5sum] = "5d75865be699d0b3d36a5fc17ed02d44"
+SRC_URI[sha256sum] = "052407c575203da4de2db6f4a5e997220d95ec655d393dc3875a0d5a20520775"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.2.bb
deleted file mode 100644
index facbb0d86..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "This plugin makes it possible to take periodical breaks"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-time-out-plugin"
-SECTION = "x11/application"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "d7d743794a766ba1b00647828a099053"
-SRC_URI[sha256sum] = "c69fb7218c685e516454810291c5245c49a80d774a6bded59c645a1af427c4e5"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.3.bb
new file mode 100644
index 000000000..4218c0c50
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/time-out/xfce4-time-out-plugin_1.0.3.bb
@@ -0,0 +1,10 @@
+SUMMARY = "This plugin makes it possible to take periodical breaks"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-time-out-plugin"
+SECTION = "x11/application"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "81e1a961032c7b87d672bed09c681a73"
+SRC_URI[sha256sum] = "7f9cd4694e83d9cc5e41140d174dcc5ffe00fd546f2706f619031039ad7e0f6b"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb
deleted file mode 100644
index 57951608f..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_1.1.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Verve panel plugin is a comfortable command line plugin for the Xfce panel"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-verve-plugin"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit xfce-panel-plugin
-
-DEPENDS += "dbus-glib-native"
-
-SRC_URI[md5sum] = "ddd0190ae56f6117dbcf9ff2bf5a8cbf"
-SRC_URI[sha256sum] = "a3196f818c7ad57d19cd6581e168fd2b9f96de070246aea70c35ce2e5f9d9c84"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.0.bb
new file mode 100644
index 000000000..36e04a438
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/verve/xfce4-verve-plugin_2.0.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Verve panel plugin is a comfortable command line plugin for the Xfce panel"
+HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-verve-plugin"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "94429b1be9d66ba9b31e4aafb726a8c7"
+SRC_URI[sha256sum] = "9e6510ba6c48fcfc60d1c6ab14613dd7b6ff095cabbf4746f82bf788d8ab4cd2"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb
deleted file mode 100644
index 0c94f3c4b..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Panel plugin displaying stats from a wireless lan interface"
-HOMEPAGE = "http://goodies.xfce.org/projects/panel-plugins/xfce4-wavelan-plugin"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e1e5872df9c5cf1a23f16493d9104920"
-
-inherit xfce-panel-plugin
-
-SRC_URI[md5sum] = "b163b22f8543e5e5767a68af35c9028e"
-SRC_URI[sha256sum] = "4d5bd6654cfd077f3432b08d296f7bd052e765e51b77c629886a9542f4e5ecdc"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.1.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.1.bb
new file mode 100644
index 000000000..6ffa35aad
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.6.1.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Panel plugin displaying stats from a wireless lan interface"
+HOMEPAGE = "https://goodies.xfce.org/projects/panel-plugins/xfce4-wavelan-plugin"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e1e5872df9c5cf1a23f16493d9104920"
+
+inherit xfce-panel-plugin
+
+SRC_URI[md5sum] = "e4e3d5240297253d242464e77f6145df"
+SRC_URI[sha256sum] = "f41f81ea063ae3c7d7904e1ee647a6b5efafc7436f47caed662ee417038eed17"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.2.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.2.bb
deleted file mode 100644
index 230a24faf..000000000
--- a/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "An alternate menu for the Xfce desktop environment"
-HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-inherit xfce-panel-plugin cmake
-
-SRC_URI[md5sum] = "e9aa6c33463bd564c47e1943c0fc7ac3"
-SRC_URI[sha256sum] = "f1bf6be37f7778a486b16ef115d4c05120cc12c87e4af3af9c5001276bdcb7cc"
-
-RRECOMMENDS_${PN} += "menulibre"
diff --git a/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.3.bb b/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.3.bb
new file mode 100644
index 000000000..a05f0dc6f
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-panel-plugins/whiskermenu/xfce4-whiskermenu-plugin_2.3.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "An alternate menu for the Xfce desktop environment"
+HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit xfce-panel-plugin cmake
+
+SRC_URI[md5sum] = "21f1e1d8d4a030f23d358d6c5ac50f2a"
+SRC_URI[sha256sum] = "e0c6cc4fc1e685bc9601ec217a803d5489ca3276f4008bf056600471c6ac1848"
+
+RRECOMMENDS_${PN} += "menulibre"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.5.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.5.bb
deleted file mode 100644
index 7d61e8f83..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.5.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-DESCRIPTION="Application library for the Xfce desktop environment"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "gtk+ libxfce4util libxfce4ui virtual/libx11 liburi-perl-native cairo"
-DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native"
-
-inherit xfce pythonnative perlnative gtk-doc distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-REQUIRED_DISTRO_FEATURES_class-native = ""
-
-# SRC_URI must follow inherited one
-SRC_URI += " \
- file://exo-no-tests-0.8.patch \
- file://configure.patch \
-"
-
-SRC_URI_append_class-native = " \
- file://reduce-build-to-exo-csource-only.patch \
-"
-
-SRC_URI[md5sum] = "1de1d539262847d49474d20cbebc78ea"
-SRC_URI[sha256sum] = "e8f434d6436ae647dd1614e8a24aba23c83f70cb14037b5bc98652f558be43e8"
-
-PACKAGES =+ "exo-csource"
-
-# Note: python bindings did not work in oe-dev and are about to be moved to
-# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560
-FILES_${PN} += " \
- ${datadir}/xfce4/ \
- ${libdir}/xfce4/exo* \
-"
-
-FILES_exo-csource += "${bindir}/exo-csource"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.8.bb b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.8.bb
new file mode 100644
index 000000000..fdd50d435
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/exo/exo_0.12.8.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Application library for the Xfce desktop environment"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "gtk+3 libxfce4ui virtual/libx11 liburi-perl-native cairo"
+DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native"
+
+inherit xfce pythonnative perlnative gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+REQUIRED_DISTRO_FEATURES_class-native = ""
+
+# SRC_URI must follow inherited one
+SRC_URI += " \
+ file://exo-no-tests-0.8.patch \
+ file://configure.patch \
+"
+
+SRC_URI_append_class-native = " \
+ file://reduce-build-to-exo-csource-only.patch \
+"
+
+SRC_URI[md5sum] = "e618ce760a12ac7427a48a44c69f3d31"
+SRC_URI[sha256sum] = "3400a2e64aa41ede25bedaca4909bde7ea4f8698d9598d1b80f02a40ac89fcde"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG_class-target ??= "gtk"
+PACKAGECONFIG[gtk] = "--enable-gtk2,--disable-gtk2,gtk+"
+
+PACKAGES =+ "exo-csource"
+
+# Note: python bindings did not work in oe-dev and are about to be moved to
+# pyxfce see http://comments.gmane.org/gmane.comp.desktop.xfce.devel.version4/19560
+FILES_${PN} += " \
+ ${datadir}/xfce4/ \
+ ${libdir}/xfce4/exo* \
+"
+
+FILES_exo-csource += "${bindir}/exo-csource"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.2.bb
deleted file mode 100644
index 27096da60..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.2.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION="Xfce Menu Library"
-SECTION = "x11/libs"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
-DEPENDS = "xfce4-dev-tools-native libxfce4util libxfce4ui intltool-native"
-
-inherit xfce gtk-doc distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
-SRC_URI[md5sum] = "a4b6332ff6f090575d534d6a9d2761d8"
-SRC_URI[sha256sum] = "a87f09648ff10d45c524b3bfe618f18622bdd8b205589d35fed2f12d9c79c47c"
-
-EXTRA_OECONF = "--disable-gtk-doc"
-
-FILES_${PN} += "${datadir}/desktop-directories"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.4.bb
new file mode 100644
index 000000000..62c789019
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/garcon/garcon_0.6.4.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Xfce Menu Library"
+SECTION = "x11/libs"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b"
+DEPENDS = "xfce4-dev-tools-native libxfce4ui intltool-native"
+
+inherit xfce gtk-doc distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch"
+SRC_URI[md5sum] = "9715aa8214be9c553d9b8c44fde90b9f"
+SRC_URI[sha256sum] = "d75e4753037a74733c07b71b8db7a656d869869f0f107f6411a306bbc87a762d"
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+FILES_${PN} += "${datadir}/desktop-directories"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb
deleted file mode 100644
index 2bea5f0f6..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.13.5.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Xfce4 Widget library and X Window System interaction"
-SECTION = "x11/libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "perl-native glib-2.0 gtk+ gtk+3 intltool-native libxfce4util xfconf xfce4-dev-tools virtual/libx11 libsm libice"
-
-inherit xfce autotools gettext gtk-doc gobject-introspection distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += " \
- file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \
-"
-SRC_URI[md5sum] = "692520f2a2cccaaafb0357c3dcbb015b"
-SRC_URI[sha256sum] = "3c38b065796a1cb2c2f2e9a28edaa6b37a3728c1c0b7a4297af9ecd82a8ab66d"
-
-EXTRA_OECONF += "--with-vendor-info=${DISTRO}"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gladeui] = "--enable-gladeui,--disable-gladeui,glade3"
-PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade"
-PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-
-PACKAGES =+ "${PN}-gtk2 ${PN}-gtk3"
-FILES_${PN}-gtk2 += "${libdir}/libxfce4ui-1.so.* ${libdir}/libxfce4kbd-private-2.so.*"
-FILES_${PN}-gtk3 += "${libdir}/libxfce4ui-2.so.* ${libdir}/libxfce4kbd-private-3.so.*"
-
-PACKAGES += "${PN}-glade"
-FILES_${PN}-glade = " \
- ${libdir}/glade \
- ${libdir}/glade3 \
- ${datadir}/glade \
- ${datadir}/glade3 \
-"
-
-RDEPENDS_${PN}-gtk2 = "${PN}"
-RDEPENDS_${PN}-gtk3 = "${PN}"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb
new file mode 100644
index 000000000..6b26200aa
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.14.1.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Xfce4 Widget library and X Window System interaction"
+SECTION = "x11/libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
+DEPENDS = "intltool-native perl-native gtk+ gtk+3 libice libsm libxfce4util xfce4-dev-tools xfconf virtual/libx11"
+
+inherit xfce gtk-doc gobject-introspection distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += " \
+ file://0001-libxfce4kbd-private-xfce4-keyboard-shortcuts.xml-fix.patch \
+"
+SRC_URI[md5sum] = "50eae4bab5eeced186bce16fb5f802ac"
+SRC_URI[sha256sum] = "c449075eaeae4d1138d22eeed3d2ad7032b87fb8878eada9b770325bed87f2da"
+
+EXTRA_OECONF += "--with-vendor-info=${DISTRO}"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gladeui] = "--enable-gladeui,--disable-gladeui,glade3"
+PACKAGECONFIG[gladeui2] = "--enable-gladeui2,--disable-gladeui2,glade"
+PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+
+PACKAGES =+ "${PN}-gtk2 ${PN}-gtk3"
+FILES_${PN}-gtk2 += "${libdir}/libxfce4ui-1.so.* ${libdir}/libxfce4kbd-private-2.so.*"
+FILES_${PN}-gtk3 += "${libdir}/libxfce4ui-2.so.* ${libdir}/libxfce4kbd-private-3.so.*"
+
+PACKAGES += "${PN}-glade"
+FILES_${PN}-glade = " \
+ ${libdir}/glade \
+ ${libdir}/glade3 \
+ ${datadir}/glade \
+ ${datadir}/glade3 \
+"
+
+RDEPENDS_${PN}-gtk2 = "${PN}"
+RDEPENDS_${PN}-gtk3 = "${PN}"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb
deleted file mode 100644
index 89a385989..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.13.3.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "Basic utility library for Xfce4"
-SECTION = "x11/libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0"
-
-inherit xfce gtk-doc gobject-introspection
-
-SRC_URI[md5sum] = "f39185afe5f612bd2c9b3dfbaf50b4d2"
-SRC_URI[sha256sum] = "724b523a4a9ec8cada727950ab2173be30f256fa332a891ccd28b46f4b91b67e"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.14.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.14.0.bb
new file mode 100644
index 000000000..1bb5007fd
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.14.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Basic utility library for Xfce4"
+SECTION = "x11/libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475"
+DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0"
+
+inherit xfce gtk-doc gobject-introspection
+
+SRC_URI[md5sum] = "46f44e36acc3abf1a5ba814c22a773cb"
+SRC_URI[sha256sum] = "32ad79b7992ec3fd863e8ff2f03eebda8740363ef9d7d910a35963ac1c1a6324"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
index 140de416b..daee73eb3 100644
--- a/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
+++ b/meta-openembedded/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb
@@ -1,7 +1,5 @@
SUMMARY = "All packages required for a base installation of XFCE"
SECTION = "x11/wm"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r5"
inherit packagegroup distro_features_check
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 62b89fd47..527f81f1f 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
@@ -1,7 +1,5 @@
SUMMARY = "All packages for full XFCE installation"
SECTION = "x11/wm"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r10"
@@ -55,7 +53,7 @@ RRECOMMENDS_${PN} = " \
xfce4-calculator-plugin \
xfce4-verve-plugin \
\
- xfce-polkit \
+ ${@bb.utils.contains('DISTRO_FEATURES','polkit','xfce-polkit','',d)} \
${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "blueman", "", d)} \
\
thunar-media-tags-plugin \
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb
deleted file mode 100644
index 3139625ac..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.2.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Automatic management of removable drives and media for thunar"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "exo glib-2.0 libxfce4ui libxfce4util xfconf libnotify libgudev"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "af216d5b60820e7cd39aae1b5ad869a3"
-SRC_URI[sha256sum] = "b944b4299b73d2ca79184922dfea49782e4849f5960e209def71ac700a92ff27"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
-
-RDEPENDS_${PN} = "eject"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.5.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.5.bb
new file mode 100644
index 000000000..fff7c0302
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar-volman/thunar-volman_0.9.5.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Automatic management of removable drives and media for thunar"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "exo libnotify libgudev"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "f9ef39ed4bbff05eb74058dfff24dd84"
+SRC_URI[sha256sum] = "7ea7c6693334f2248cf399586af8974dfb7db9aad685ee31ac100e62e19a1837"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
+
+RDEPENDS_${PN} = "eject"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb
deleted file mode 100644
index 4375ce065..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.6.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "File manager for the Xfce Desktop Environment"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "exo glib-2.0 gtk+3 gdk-pixbuf libxfce4util libxfce4ui xfconf libsm dbus-glib startup-notification libnotify xfce4-panel udev"
-
-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] = "3cb40548d7c642176eab8b97a5ba6d29"
-SRC_URI[sha256sum] = "c0e5fb828e3d036941dfeb7ed7f9f2b17b729fc044c2bf7c4218c1c91b38ef2a"
-
-S = "${WORKDIR}/Thunar-${PV}/"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
-
-FILES_${PN} += " \
- ${libdir}/thunarx-3/* \
- ${libdir}/xfce4/panel/plugins/* \
- ${libdir}/Thunar/[Tt]hunar* \
- ${systemd_user_unitdir} \
- ${datadir}/dbus-1 \
- ${datadir}/metainfo \
- ${datadir}/polkit-1 \
- ${datadir}/Thunar \
- ${datadir}/xfce4/panel/plugins/* \
-"
-
-RRECOMMENDS_${PN} = "gvfs gvfsd-trash"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.9.bb b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.9.bb
new file mode 100644
index 000000000..ff020d0c7
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/thunar/thunar_1.8.9.bb
@@ -0,0 +1,32 @@
+SUMMARY = "File manager for the Xfce Desktop Environment"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "exo gdk-pixbuf libxfce4ui libsm startup-notification libnotify xfce4-panel udev"
+
+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] = "fd1166e879294e4490d5fa9dccfdd9da"
+SRC_URI[sha256sum] = "7a758e7ac03501c520c304f8845353315c954d429b17d591b8eea8b14f1350b9"
+
+S = "${WORKDIR}/Thunar-${PV}/"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
+
+FILES_${PN} += " \
+ ${libdir}/thunarx-3/* \
+ ${libdir}/xfce4/panel/plugins/* \
+ ${libdir}/Thunar/[Tt]hunar* \
+ ${systemd_user_unitdir} \
+ ${datadir}/dbus-1 \
+ ${datadir}/metainfo \
+ ${datadir}/polkit-1 \
+ ${datadir}/Thunar \
+ ${datadir}/xfce4/panel/plugins/* \
+"
+
+RRECOMMENDS_${PN} = "gvfs gvfsd-trash"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch b/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch
deleted file mode 100644
index 5ecc35e37..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From f5c283b1251ad005da7342e654cd2ec5ae9e5fb2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Fri, 26 Sep 2014 13:44:36 +0200
-Subject: [PATCH] configure: use pkg-config for freetype2
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- acinclude.m4 | 16 +---------------
- 1 file changed, 1 insertion(+), 15 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 66e79d1..4c70b00 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -52,21 +52,7 @@ if test x"$ac_tumbler_font_thumbnailer" = x"yes"; then
- PKG_CHECK_MODULES([GDK_PIXBUF], [gdk-pixbuf-2.0 >= 2.14],
- [
- dnl Check for FreeType 2.x
-- FREETYPE_LIBS=""
-- FREETYPE_CFLAGS=""
-- AC_PATH_PROG([FREETYPE_CONFIG], [freetype-config], [no])
-- if test x"$FREETYPE_CONFIG" != x"no"; then
-- AC_MSG_CHECKING([FREETYPE_CFLAGS])
-- FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
-- AC_MSG_RESULT([$FREETYPE_CFLAGS])
--
-- AC_MSG_CHECKING([FREETYPE_LIBS])
-- FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
-- AC_MSG_RESULT([$FREETYPE_LIBS])
-- else
-- dnl We can only build the font thumbnailer if FreeType 2.x is available
-- ac_tumbler_font_thumbnailer=no
-- fi
-+ PKG_CHECK_MODULES(FREETYPE, freetype2, , [ac_tumbler_font_thumbnailer=no])
- AC_SUBST([FREETYPE_CFLAGS])
- AC_SUBST([FREETYPE_LIBS])
- ], [ac_tumbler_font_thumbnailer=no])
---
-1.8.3.1
-
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb
deleted file mode 100644
index 9d2669475..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION="Thumbnail service implementing the thumbnail management D-Bus specification"
-SECTION = "x11/libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "dbus-glib dbus-glib-native freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf"
-
-inherit xfce gtk-doc
-
-SRC_URI[md5sum] = "dd5f9bae6a2470eb5fff0dc9edd3ea09"
-SRC_URI[sha256sum] = "4e27a59694b0a5cc69ebccbdb00c724e670b5b7c30bc4dc0b461aac93f234fac"
-SRC_URI += "file://0001-configure-use-pkg-config-for-freetype2.patch"
-
-INSANE_SKIP_${PN} = "dev-so"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base"
-
-do_install_append() {
- # Makefile seems to race on creation of symlink. So ensure creation here
- # until fixed properly
- ln -sf tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so
-}
-
-FILES_${PN} += "${datadir}/dbus-1/services \
- ${libdir}/tumbler-1/tumblerd \
- ${libdir}/tumbler-1/plugins/*.so \
- ${libdir}/tumbler-1/plugins/cache/*.so \
-"
-
-FILES_${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \
- ${libdir}/tumbler-1/plugins/cache/*.la \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.7.bb b/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.7.bb
new file mode 100644
index 000000000..434f8741a
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/tumbler/tumbler_0.2.7.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Thumbnail service implementing the thumbnail management D-Bus specification"
+SECTION = "x11/libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf"
+
+inherit xfce gtk-doc
+
+SRC_URI[md5sum] = "a59b2a545c9c128dbd2b960a7779dec0"
+SRC_URI[sha256sum] = "f704c35f16716cbee3c94883cee2a8d865e9cf2535d0e84f57e1c8cce00314e4"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gstreamer-thumbnailer] = "--enable-gstreamer-thumbnailer,--disable-gstreamer-thumbnailer,gstreamer1.0 gstreamer1.0-plugins-base"
+
+do_install_append() {
+ # Makefile seems to race on creation of symlink. So ensure creation here
+ # until fixed properly
+ ln -sf tumbler-xdg-cache.so ${D}${libdir}/tumbler-1/plugins/cache/tumbler-cache-plugin.so
+}
+
+FILES_${PN} += "${datadir}/dbus-1/services \
+ ${libdir}/tumbler-1/tumblerd \
+ ${libdir}/tumbler-1/plugins/*.so \
+ ${libdir}/tumbler-1/plugins/cache/*.so \
+"
+
+FILES_${PN}-dev += "${libdir}/tumbler-1/plugins/*.la \
+ ${libdir}/tumbler-1/plugins/cache/*.la \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb
deleted file mode 100644
index 309559646..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.13.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION="Xfce4 Application Finder"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS="glib-2.0 gtk+3 libxfce4util libxfce4ui garcon dbus-glib xfconf"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "c2069a14c85c8a3e537b2d4c552d36d2"
-SRC_URI[sha256sum] = "d738082a5fb01e42ea6333803012fd80258061f444afbbbd7b05a0f620a32ba6"
-
-FILES_${PN} += "${datadir}/metainfo"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.14.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.14.0.bb
new file mode 100644
index 000000000..2d6b7a550
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-appfinder/xfce4-appfinder_4.14.0.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Xfce4 Application Finder"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "glib-2.0 gtk+3 libxfce4util libxfce4ui garcon xfconf"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "03b226a2ee20f95243e74d1868e94e0e"
+SRC_URI[sha256sum] = "7ec175d4954fceb2e76cbfbca76ac4a4f53fe799d097a14117e7de68e88a4d98"
+
+FILES_${PN} += "${datadir}/metainfo"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.12.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.12.0.bb
deleted file mode 100644
index 5557f6df9..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.12.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Xfce4 development tools"
-HOMEPAGE = "http://www.xfce.org"
-SECTION = "x11/libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
-DEPENDS = "glib-2.0"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native"
-
-SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "559202c4d9650e23696c44aa94cfc5a9"
-SRC_URI[sha256sum] = "e2e3a654fe9110df81f8c2483c9cbfa6d656fed15d5e5e717d6ef10bd0f5b5cb"
-
-do_install_append() {
- install -d ${D}${datadir}/aclocal
- install -m 644 ${S}/m4macros/*.m4 ${D}${datadir}/aclocal/
-}
-
-FILES_${PN} += "${datadir}/xfce4/dev-tools/m4macros/*.m4"
-
-RDEPENDS_${PN} = "bash"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.14.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.14.0.bb
new file mode 100644
index 000000000..0b1196619
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools_4.14.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Xfce4 development tools"
+HOMEPAGE = "http://www.xfce.org"
+SECTION = "x11/libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
+DEPENDS = "glib-2.0"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native"
+
+SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "5f8fc8af73819c08d9e4c26a3ac457e7"
+SRC_URI[sha256sum] = "2c9eb8e0fe23e47dc31411a93b683fd1b7a49140e9163f0aab9e94a3d8a0b5fd"
+
+do_install_append() {
+ install -d ${D}${datadir}/aclocal
+ install -m 644 ${S}/m4macros/*.m4 ${D}${datadir}/aclocal/
+}
+
+FILES_${PN} += "${datadir}/xfce4/dev-tools/m4macros/*.m4"
+
+RDEPENDS_${PN} = "bash"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-use-lxdm-to-replace-dm-tool.patch b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-use-lxdm-to-replace-dm-tool.patch
new file mode 100644
index 000000000..b06e26e91
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/files/0001-use-lxdm-to-replace-dm-tool.patch
@@ -0,0 +1,49 @@
+From b80108f01b1425427f98341168ea44c4b1a5a2cf Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 28 Jun 2019 16:02:13 +0800
+Subject: [PATCH] use lxdm to replace dm-tool
+
+OE does not support lightdm but lxdm,
+so use lxdm to replace dm-tool
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ plugins/actions/actions.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/plugins/actions/actions.c b/plugins/actions/actions.c
+index 474798e..63eb41d 100644
+--- a/plugins/actions/actions.c
++++ b/plugins/actions/actions.c
+@@ -905,12 +905,12 @@ actions_plugin_actions_allowed (void)
+ GError *error = NULL;
+
+ /* check for commands we use */
+- path = g_find_program_in_path ("dm-tool");
++ path = g_find_program_in_path ("lxdm");
+ if (path != NULL)
+ PANEL_SET_FLAG (allow_mask, ACTION_TYPE_SWITCH_USER);
+ else
+ {
+- /* check for gdmflexiserver if dm-tool is not present */
++ /* check for gdmflexiserver if lxdm is not present */
+ g_free (path);
+ path = g_find_program_in_path ("gdmflexiserver");
+ if (path != NULL)
+@@ -1027,9 +1027,9 @@ actions_plugin_action_activate (GtkWidget *widget,
+ break;
+
+ case ACTION_TYPE_SWITCH_USER:
+- path = g_find_program_in_path ("dm-tool");
++ path = g_find_program_in_path ("lxdm");
+ if (path != NULL)
+- succeed = g_spawn_command_line_async ("dm-tool switch-to-greeter", &error);
++ succeed = g_spawn_command_line_async ("lxdm -c USER_SWITCH", &error);
+ else
+ succeed = g_spawn_command_line_async ("gdmflexiserver", &error);
+ g_free (path);
+--
+2.8.1
+
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb
deleted file mode 100644
index a4b200a7e..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.13.5.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "Xfce4 Panel"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee"
-DEPENDS = "libxfce4util garcon libxfce4ui xfconf exo gtk+ gtk+3 dbus cairo virtual/libx11 libxml2 libwnck3 vala-native"
-
-inherit xfce gtk-doc gobject-introspection distro_features_check gtk-icon-cache remove-libtool
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "376e360fb87095edaea7df8ca34fe6a7"
-SRC_URI[sha256sum] = "0d05b6dd8c91c154a364a3e31583c5f423c33e26d44d43cc409165f7d578ca15"
-SRC_URI += " \
- file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \
-"
-
-python populate_packages_prepend() {
- plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/')
- plugin_name = d.expand('${PN}-plugin-%s')
- do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name,
- '${PN} plugin for %s', extra_depends='', prepend=True,
- aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop',
- '${sysconfdir}/xdg/xfce/panel/%s-*',
- '${datadir}/icons/hicolor/48x48/apps/*-%s.png',
- '${bindir}/*%s*'])
-}
-
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
-
-PACKAGES =+ "${PN}-gtk3"
-
-FILES_${PN} += "${libdir}/xfce4/panel/migrate \
- ${libdir}/xfce4/panel/wrapper-1.0"
-
-FILES_${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la"
-
-FILES_${PN}-gtk3 = " \
- ${libdir}/libxfce4panel-2.0${SOLIBS} \
- ${libdir}/xfce4/panel/wrapper-2.0 \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.14.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.14.0.bb
new file mode 100644
index 000000000..749c3fea4
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-panel/xfce4-panel_4.14.0.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Xfce4 Panel"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=26a8bd75d8f8498bdbbe64a27791d4ee"
+DEPENDS = "garcon exo gtk+3 cairo virtual/libx11 libxml2 libwnck3 vala-native"
+
+inherit xfce gtk-doc gobject-introspection distro_features_check remove-libtool
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "940e8b430e28093a2e56e390055bcd51"
+SRC_URI[sha256sum] = "d5f8f3bd7e142139987e5e62cda26135a424baabb5e47aa0c23b4169d0a66ef4"
+SRC_URI += " \
+ file://0001-windowmenu-do-not-display-desktop-icon-when-no-windo.patch \
+ file://0001-use-lxdm-to-replace-dm-tool.patch \
+"
+
+python populate_packages_prepend() {
+ plugin_dir = d.expand('${libdir}/xfce4/panel/plugins/')
+ plugin_name = d.expand('${PN}-plugin-%s')
+ do_split_packages(d, plugin_dir, '^lib(.*).so$', plugin_name,
+ '${PN} plugin for %s', extra_depends='', prepend=True,
+ aux_files_pattern=['${datadir}/xfce4/panel/plugins/%s.desktop',
+ '${sysconfdir}/xdg/xfce/panel/%s-*',
+ '${datadir}/icons/hicolor/48x48/apps/*-%s.png',
+ '${bindir}/*%s*'])
+}
+
+PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
+
+PACKAGES =+ "${PN}-gtk3"
+
+FILES_${PN} += "${libdir}/xfce4/panel/migrate \
+ ${libdir}/xfce4/panel/wrapper-1.0"
+
+FILES_${PN}-dev += "${libdir}/xfce4/panel/plugins/*.la"
+
+FILES_${PN}-gtk3 = " \
+ ${libdir}/libxfce4panel-2.0${SOLIBS} \
+ ${libdir}/xfce4/panel/wrapper-2.0 \
+"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb
deleted file mode 100644
index 0a44b1f5d..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.2.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Power manager for the Xfce desktop environment"
-HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-power-manager"
-SECTION = "x11"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-inherit xfce distro_features_check
-
-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] = "2a49be4eca78fb519984db5aae38e4ab"
-SRC_URI[sha256sum] = "66ac34b33a2021b5af04c0181dfab6e6ee2bfab0ae07ed4527ca4552a66e1c01"
-
-EXTRA_OECONF = " \
- --enable-network-manager \
- --enable-panel-plugins \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
-PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit"
-
-PACKAGES += "xfce4-powermanager-plugin"
-
-FILES_${PN} += " \
- ${datadir}/polkit-1 \
- ${datadir}/metainfo \
-"
-
-FILES_xfce4-powermanager-plugin = " \
- ${libdir}/xfce4 \
- ${datadir}/xfce4 \
-"
-
-RDEPENDS_xfce4-powermanager-plugin = "${PN}"
-RDEPENDS_${PN} = "networkmanager ${@bb.utils.contains('DISTRO_FEATURES','systemd','','consolekit',d)}"
-
-# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin
-RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
-RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
-RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.5.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.5.bb
new file mode 100644
index 000000000..284a29ba2
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-power-manager/xfce4-power-manager_1.6.5.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Power manager for the Xfce desktop environment"
+HOMEPAGE = "http://goodies.xfce.org/projects/applications/xfce4-power-manager"
+SECTION = "x11"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS += "libnotify libxrandr virtual/libx11 libxext xfce4-panel upower libxscrnsaver"
+
+SRC_URI[md5sum] = "709efbc2de9ed84b4831847ff70bcd7f"
+SRC_URI[sha256sum] = "10adb67899b181ca5fc577fc9bb7a698fb94e42073585f7e2be642c7db127a74"
+
+EXTRA_OECONF = " \
+ --enable-network-manager \
+ --enable-panel-plugins \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
+PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit"
+
+PACKAGES += "xfce4-powermanager-plugin"
+
+FILES_${PN} += " \
+ ${datadir}/polkit-1 \
+ ${datadir}/metainfo \
+"
+
+FILES_xfce4-powermanager-plugin = " \
+ ${libdir}/xfce4 \
+ ${datadir}/xfce4 \
+"
+
+RDEPENDS_xfce4-powermanager-plugin = "${PN}"
+RDEPENDS_${PN} = "networkmanager ${@bb.utils.contains('DISTRO_FEATURES','systemd','','consolekit',d)}"
+
+# xfce4-brightness-plugin was replaced by xfce4-powermanager-plugin
+RPROVIDES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
+RREPLACES_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
+RCONFLICTS_xfce4-powermanager-plugin += "xfce4-brightness-plugin"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb
deleted file mode 100644
index dc44c4b0b..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.13.2.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment"
-SECTION = "x11"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
-
-DEPENDS = " \
- dbus \
- dbus-glib \
- gtk+ \
- libwnck3 \
- libsm \
- libxfce4ui \
- libxfce4util \
- polkit \
- virtual/libx11 \
- xfconf \
-"
-
-inherit xfce update-alternatives distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += " \
- file://0001-configure.in-hard-code-path-to-iceauth.patch \
-"
-SRC_URI[md5sum] = "1306b6166f47cdf6e0c61259abbb621f"
-SRC_URI[sha256sum] = "c0be0c7e602c962d0e8fca63bd86165e60313d07bfb72cf2c3f99ab53e2a22a1"
-
-ALTERNATIVE_${PN} = "x-session-manager"
-ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session"
-ALTERNATIVE_PRIORITY_${PN} = "100"
-
-FILES_${PN} += " \
- ${libdir}/xfce4/*/*/*.so \
- ${libdir}/xfce4/session/*-*-* \
- ${datadir}/xsessions \
- ${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-session/xfce4-session_4.14.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.14.0.bb
new file mode 100644
index 000000000..6b4cafd00
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-session/xfce4-session_4.14.0.bb
@@ -0,0 +1,40 @@
+SUMMARY = "xfce4-session is a session manager for Xfce 4 Desktop Environment"
+SECTION = "x11"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
+
+DEPENDS = "libwnck3 libsm libxfce4ui virtual/libx11"
+
+inherit xfce update-alternatives distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
+PACKAGECONFIG[polkit] = "--enable-polkit, --disable-polkit, polkit"
+
+SRC_URI += " \
+ file://0001-configure.in-hard-code-path-to-iceauth.patch \
+"
+SRC_URI[md5sum] = "635361f99a01b2d26c430a520b6d1314"
+SRC_URI[sha256sum] = "14fb6db74eb69eb400673856ba307a0e57f577cf77c3561a5910151e3d52043f"
+
+ALTERNATIVE_${PN} = "x-session-manager"
+ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/xfce4-session"
+ALTERNATIVE_PRIORITY_${PN} = "100"
+
+FILES_${PN} += " \
+ ${libdir}/xfce4/*/*/*.so \
+ ${libdir}/xfce4/session/*-*-* \
+ ${datadir}/xsessions \
+ ${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/0002-Fix-linking-to-dbus-glib-bug-13633.patch b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0002-Fix-linking-to-dbus-glib-bug-13633.patch
deleted file mode 100644
index 109b7b145..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/files/0002-Fix-linking-to-dbus-glib-bug-13633.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From b6e46e6a84e45f7bd954687be703987825a54c1e Mon Sep 17 00:00:00 2001
-From: Eric Koegel <eric.koegel@gmail.com>
-Date: Sun, 11 Jun 2017 11:38:26 +0300
-Subject: [PATCH] Fix linking to dbus-glib (bug #13633)
-
-With xfconf moving to GDBus nothing provides the libs for dbus-glib
-that xfce4-settings requires. This patch adds the libs back in until
-settings can be ported to GDBus.
-
-Signed-off-by: Sean Davis <smd.seandavis@gmail.com>
-
-Upstream-Status: Backport
----
- xfce4-settings-editor/Makefile.am | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/xfce4-settings-editor/Makefile.am b/xfce4-settings-editor/Makefile.am
-index 5964366..c2c7c4b 100644
---- a/xfce4-settings-editor/Makefile.am
-+++ b/xfce4-settings-editor/Makefile.am
-@@ -28,6 +28,7 @@ xfce4_settings_editor_CFLAGS = \
- $(LIBXFCE4UTIL_CFLAGS) \
- $(LIBXFCE4UI_CFLAGS) \
- $(XFCONF_CFLAGS) \
-+ $(DBUS_GLIB_CFLAGS) \
- $(PLATFORM_CFLAGS)
-
- xfce4_settings_editor_LDFLAGS = \
-@@ -39,7 +40,8 @@ xfce4_settings_editor_LDADD = \
- $(DBUS_GLIB_LIBS) \
- $(LIBXFCE4UTIL_LIBS) \
- $(LIBXFCE4UI_LIBS) \
-- $(XFCONF_LIBS)
-+ $(XFCONF_LIBS) \
-+ $(DBUS_GLIB_LIBS)
-
- desktopdir = $(datadir)/applications
- desktop_in_files = xfce4-settings-editor.desktop.in
---
-2.14.3
-
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.14.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.14.1.bb
new file mode 100644
index 000000000..a24928cf6
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_4.14.1.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Xfce4 settings"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "exo exo-native garcon libxi virtual/libx11 xrandr libxcursor libxklavier upower"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += " \
+ file://0001-xsettings.xml-Set-default-themes.patch \
+"
+SRC_URI[md5sum] = "2f4171c21db905d9ba0ca9bee3fc7a5b"
+SRC_URI[sha256sum] = "e873e9f6b8e801fd9304ee100c4c76ed9987446c38429d02477c086431c0bf7a"
+
+EXTRA_OECONF += "--enable-maintainer-mode --disable-debug"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.contains('DISTRO_FEATURES','alsa','sound-setter', bb.utils.contains('DISTRO_FEATURES','pulseaudio','sound-setter','',d),d)} \
+"
+PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify"
+PACKAGECONFIG[sound-setter] = "--enable-sound-settings, --disable-sound-settings, libcanberra, libcanberra-gtk2 sound-theme-freedesktop"
+
+FILES_${PN} += " \
+ ${libdir}/xfce4 \
+ ${datadir}/xfce4 \
+"
+
+RRECOMMENDS_${PN} += "adwaita-icon-theme"
+RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','alsa','libcanberra-alsa','',d)}"
+RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','pulseaudio','libcanberra-pulse','',d)}"
+RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','xfce4-datetime-setter','',d)}"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb
deleted file mode 100644
index a4685aed3..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Xfce4 settings"
-SECTION = "x11/wm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "exo exo-native garcon gtk+ libxfce4util libxfce4ui xfconf dbus-glib libxi virtual/libx11 xrandr libxcursor libxklavier upower"
-
-inherit xfce xfce-git distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-# schnitzeltony git repo is the mainline repo
-# + datetime-setter - sent to mainline but strange response
-# + minor bugfixes - sent mainline but no response
-# + option to hide mousepointer for a specific (touch) input device - sent mainline but no response
-SRC_URI = " \
- git://github.com/schnitzeltony/xfce4-settings.git;protocol=git;branch=for-oe-4.12.4 \
- file://0001-xsettings.xml-Set-default-themes.patch \
- file://0002-Fix-linking-to-dbus-glib-bug-13633.patch \
-"
-SRCREV = "75d7c9b15e5ccce12b0864d3659ae9b6de96e245"
-S = "${WORKDIR}/git"
-PV = "4.12.4+git${SRCPV}"
-
-EXTRA_OECONF += "--enable-maintainer-mode --disable-debug"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.contains('DISTRO_FEATURES','systemd','datetime-setter','',d)} \
- ${@bb.utils.contains('DISTRO_FEATURES','alsa','sound-setter', bb.utils.contains('DISTRO_FEATURES','pulseaudio','sound-setter','',d),d)} \
-"
-PACKAGECONFIG[datetime-setter] = "--enable-datetime-settings, --disable-datetime-settings,, tzdata"
-PACKAGECONFIG[notify] = "--enable-libnotify,--disable-libnotify,libnotify"
-PACKAGECONFIG[sound-setter] = "--enable-sound-settings, --disable-sound-settings, libcanberra, libcanberra-gtk2 sound-theme-freedesktop"
-
-FILES_${PN} += " \
- ${libdir}/xfce4 \
- ${datadir}/xfce4 \
-"
-
-RRECOMMENDS_${PN} += "adwaita-icon-theme"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','alsa','libcanberra-alsa','',d)}"
-RRECOMMENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','pulseaudio','libcanberra-pulse','',d)}"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb
deleted file mode 100644
index 9f08f74ed..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.13.7.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Xfce configuration daemon and utilities"
-SECTION = "x11/wm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-DEPENDS = "dbus-glib libxfce4util perl intltool-native xfce4-dev-tools-native"
-
-inherit xfce gtk-doc
-
-EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl"
-
-SRC_URI[md5sum] = "ea4c070c4ed8387e6435b56d0e871559"
-SRC_URI[sha256sum] = "5deb13fc48a4116f5ebdee5c21d0fd3deb85bec2f69602beb3c3adb4f85e5bde"
-
-FILES_${PN} += "${libdir}/xfce4/xfconf/xfconfd \
- ${libdir}/gio/modules/libxfconfgsettingsbackend.so \
- ${datadir}/dbus-1/services/org.xfce.Xfconf.service"
-
-FILES_${PN}-dev += "${libdir}/gio/modules/libxfconfgsettingsbackend.la"
-
-PACKAGECONFIG[gsettings-backend] = "--enable-gsettings-backend,--disable-gsettings-backend,"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.14.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.14.1.bb
new file mode 100644
index 000000000..8da96a420
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfconf/xfconf_4.14.1.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Xfce configuration daemon and utilities"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+DEPENDS = "libxfce4util perl intltool-native xfce4-dev-tools-native"
+
+inherit xfce gtk-doc gobject-introspection
+
+EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl"
+
+SRC_URI[md5sum] = "cb51a59e2a89d05232f825ad8c74a7c0"
+SRC_URI[sha256sum] = "b893e0a329aee00902fec2f0509f56916c9dcc7844e1b1f9e3c7399458290d59"
+
+FILES_${PN} += "${libdir}/xfce4/xfconf/xfconfd \
+ ${libdir}/gio/modules/libxfconfgsettingsbackend.so \
+ ${datadir}/dbus-1/services/org.xfce.Xfconf.service"
+
+FILES_${PN}-dev += "${libdir}/gio/modules/libxfconfgsettingsbackend.la"
+
+PACKAGECONFIG[gsettings-backend] = "--enable-gsettings-backend,--disable-gsettings-backend,"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb
deleted file mode 100644
index f02a6bffe..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.13.4.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Xfce4 Desktop Manager"
-SECTION = "x11/base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "libxfce4util libxfce4ui libwnck xfconf dbus-glib dbus-glib-native thunar garcon exo"
-
-inherit xfce distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "d1174af12148141a07b62cc051c43c84"
-SRC_URI[sha256sum] = "f4f7fa5162512971c25066eb04ef78f0d075656da79b6f7425ffb619a5119ca0"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
-
-FILES_${PN} += "${datadir}/backgrounds"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.14.1.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.14.1.bb
new file mode 100644
index 000000000..ec4f00f3d
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfdesktop/xfdesktop_4.14.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Xfce4 Desktop Manager"
+SECTION = "x11/base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "libxfce4ui libwnck thunar garcon exo"
+
+inherit xfce distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "de4b8f6687862ad46dbe4e1ced453f4d"
+SRC_URI[sha256sum] = "f705a016246ec54ab0c688d1a0577f6c2b45a446690aa8d9e5a7ac23efebf882"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[notify] = "--enable-notifications,--disable-notifications,libnotify"
+
+FILES_${PN} += "${datadir}/backgrounds"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch b/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch
new file mode 100644
index 000000000..04fd623e8
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch
@@ -0,0 +1,92 @@
+From acdceb0b28d86199b8c2233880fa8a04cb24d4d4 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Wed, 24 Jul 2019 09:48:04 +0800
+Subject: [PATCH] Revert "compositor: Revert to GLX as default vblank method
+ (again)"
+
+This reverts commit e07574d6e7a2dbaa08c3ba4765c6306073d9493e.
+
+It sets the default vblank method (auto) to GLX from 4.13.2. But it
+fails to start xfwm4 on intel-x86-64 boards with error:
+
+| xfwm4: ../mesa-19.1.1/src/mesa/drivers/dri/i965/intel_mipmap_tree.c:1293:
+| intel_miptree_match_image: Assertion `image->TexObject->Target == mt->target' failed.
+| Aborted
+
+There is also a RHEL defect:
+https://bugzilla.redhat.com/show_bug.cgi?id=1678334
+
+Revert the commit to fix the issue.
+
+Upstream-Status: Inappropriate [workaround]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ src/compositor.c | 41 +++++++++++++++++++----------------------
+ 1 file changed, 19 insertions(+), 22 deletions(-)
+
+diff --git a/src/compositor.c b/src/compositor.c
+index 25615282..daced607 100644
+--- a/src/compositor.c
++++ b/src/compositor.c
+@@ -4483,13 +4483,28 @@ compositorManageScreen (ScreenInfo *screen_info)
+ XClearArea (display_info->dpy, screen_info->output, 0, 0, 0, 0, TRUE);
+ TRACE ("manual compositing enabled");
+
++#ifdef HAVE_PRESENT_EXTENSION
++ screen_info->use_present = display_info->have_present &&
++ (screen_info->vblank_mode == VBLANK_AUTO ||
++ screen_info->vblank_mode == VBLANK_XPRESENT);
++ if (screen_info->use_present)
++ {
++ screen_info->present_pending = FALSE;
++ XPresentSelectInput (display_info->dpy,
++ screen_info->output,
++ PresentCompleteNotifyMask);
++ }
++#else /* HAVE_PRESENT_EXTENSION */
++ screen_info->use_present = FALSE;
++#endif /* HAVE_PRESENT_EXTENSION */
++
+ #ifdef HAVE_EPOXY
+- screen_info->use_glx = (screen_info->vblank_mode == VBLANK_AUTO ||
+- screen_info->vblank_mode == VBLANK_GLX);
++ screen_info->use_glx = !screen_info->use_present &&
+ #ifdef HAVE_XSYNC
+- screen_info->use_glx &= display_info->have_xsync;
++ display_info->have_xsync &&
+ #endif /* HAVE_XSYNC */
+-
++ (screen_info->vblank_mode == VBLANK_AUTO ||
++ screen_info->vblank_mode == VBLANK_GLX);
+ if (screen_info->use_glx)
+ {
+ screen_info->glx_context = None;
+@@ -4503,24 +4518,6 @@ compositorManageScreen (ScreenInfo *screen_info)
+ screen_info->use_glx = FALSE;
+ #endif /* HAVE_EPOXY */
+
+-#ifdef HAVE_PRESENT_EXTENSION
+- screen_info->use_present = display_info->have_present &&
+-#ifdef HAVE_EPOXY
+- !screen_info->use_glx &&
+-#endif /* HAVE_EPOXY */
+- (screen_info->vblank_mode == VBLANK_AUTO ||
+- screen_info->vblank_mode == VBLANK_XPRESENT);
+- if (screen_info->use_present)
+- {
+- screen_info->present_pending = FALSE;
+- XPresentSelectInput (display_info->dpy,
+- screen_info->output,
+- PresentCompleteNotifyMask);
+- }
+-#else /* HAVE_PRESENT_EXTENSION */
+- screen_info->use_present = FALSE;
+-#endif /* HAVE_PRESENT_EXTENSION */
+-
+ if (screen_info->use_present)
+ {
+ g_info ("Compositor using XPresent for vsync");
+--
+2.20.1
+
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb
deleted file mode 100644
index 6075977f2..000000000
--- a/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.2.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-DESCRIPTION="Xfce4 Window Manager"
-SECTION = "x11/wm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
-DEPENDS = "virtual/libx11 libxfce4util libxfce4ui xfconf libwnck3 dbus-glib libxinerama exo-native"
-
-inherit xfce update-alternatives distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[md5sum] = "aee4a8375beeae09715e77479610ff02"
-SRC_URI[sha256sum] = "7be8a63e92077e42e6cc064a1dfdae608ab99fdc730adbd5200802dbdd86d5a9"
-
-PACKAGECONFIG ?= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'epoxy', '', d)} \
- xpresent \
- startup-notification \
-"
-
-PACKAGECONFIG[epoxy] = "--enable-epoxy,--disable-epoxy,libepoxy"
-PACKAGECONFIG[xpresent] = "--enable-xpresent,--disable-xpresent,libxpresent"
-PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-
-python populate_packages_prepend () {
- themedir = d.expand('${datadir}/themes')
- do_split_packages(d, themedir, '^(.*)', 'xfwm4-theme-%s', 'XFWM4 theme %s', allow_dirs=True)
-}
-
-PACKAGES_DYNAMIC += "^xfwm4-theme-.*"
-
-ALTERNATIVE_${PN} = "x-window-manager"
-ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/xfwm4"
-ALTERNATIVE_PRIORITY[x-window-manager] = "30"
-
-RDEPENDS_${PN} = "xfwm4-theme-default"
-FILES_${PN} += "${libdir}/xfce4/xfwm4/helper-dialog \
- ${datadir}/xfwm4/defaults \
-"
diff --git a/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.14.0.bb b/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.14.0.bb
new file mode 100644
index 000000000..77b45a7c9
--- /dev/null
+++ b/meta-openembedded/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.14.0.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "Xfce4 Window Manager"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d791728a073bc009b4ffaf00b7599855"
+DEPENDS = "virtual/libx11 libxfce4ui libwnck3 libxinerama exo-native"
+
+inherit xfce update-alternatives distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += "file://0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch"
+SRC_URI[md5sum] = "c33847836958d540e3ecd0a27f131c0f"
+SRC_URI[sha256sum] = "b4182bf8dc63d092f120a51fcae0eb54b9bd4aa4f8486f47e5a65a108322b615"
+
+PACKAGECONFIG ?= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'epoxy', '', d)} \
+ xpresent \
+ startup-notification \
+"
+
+PACKAGECONFIG[epoxy] = "--enable-epoxy,--disable-epoxy,libepoxy"
+PACKAGECONFIG[xpresent] = "--enable-xpresent,--disable-xpresent,libxpresent"
+PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+
+python populate_packages_prepend () {
+ themedir = d.expand('${datadir}/themes')
+ do_split_packages(d, themedir, '^(.*)', 'xfwm4-theme-%s', 'XFWM4 theme %s', allow_dirs=True)
+}
+
+PACKAGES_DYNAMIC += "^xfwm4-theme-.*"
+
+ALTERNATIVE_${PN} = "x-window-manager"
+ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/xfwm4"
+ALTERNATIVE_PRIORITY[x-window-manager] = "30"
+
+RDEPENDS_${PN} = "xfwm4-theme-default"
+FILES_${PN} += "${libdir}/xfce4/xfwm4/helper-dialog \
+ ${datadir}/xfwm4/defaults \
+"
diff --git a/meta-openpower/README.md b/meta-openpower/README.md
index 5558eb1ee..df764b8c2 100644
--- a/meta-openpower/README.md
+++ b/meta-openpower/README.md
@@ -1,6 +1,48 @@
-OpenPOWER
-================
+OpenEmbedded/Yocto/OpenBMC BSP layer for OpenPOWER reference platforms
+======================================================================
-meta-openpower is the OpenPOWER layer and should be included in all OpenPOWER
-systems' bblayers.conf. More information on OpenPOWER can be found
+This layer provides support for the BMC firmware on OpenPOWER reference
+platforms, and/or a base upon which to create a BMC firmware implementation on
+any POWER system.
+
+```
+This layer depends on:
+
+URI: git://git.openembedded.org/openembedded-core
+layers: meta
+branch: master
+revision: HEAD
+
+URI: https://github.com/openbmc/meta-phosphor
+branch: master
+revision: HEAD
+
+URI: https://github.com/openbmc/meta-aspeed
+branch: master
+revision: HEAD
+```
+
+More information on OpenPOWER can be found
[here](https://openpowerfoundation.org/).
+
+Contributing
+------------
+
+meta-openpower patches are reviewed using the Gerrit instance at
+https://gerrit.openbmc-project.xyz.
+
+Please submit patches to Gerrit. More information on using Gerrit can be found
+[here](https://github.com/openbmc/docs/blob/master/CONTRIBUTING.md#submitting-changes-via-gerrit-server).
+https://github.com/openbmc/meta-openpower is a hosting mirror only and GitHub
+pull requests are not monitored and will not be accepted.
+
+Patch checklist. Please ensure patches adhere to the following guidelines:
+
+ - meta-openpower uses the [OE style
+ guidelines](https://www.openembedded.org/wiki/Styleguide).
+ - follow [the seven rules of a great git commit
+ message](https://chris.beams.io/posts/git-commit/#seven-rules)
+
+For questions or help please come join us on the [mailing
+list](https://lists.ozlabs.org/listinfo/openbmc) or in
+[IRC](irc://freenode.net/openbmc).
diff --git a/meta-openpower/conf/layer.conf b/meta-openpower/conf/layer.conf
index 6bc20a421..0b3f1a8b6 100644
--- a/meta-openpower/conf/layer.conf
+++ b/meta-openpower/conf/layer.conf
@@ -8,7 +8,5 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "openpower-layer"
BBFILE_PATTERN_openpower-layer := "^${LAYERDIR}/"
LAYERVERSION_openpower-layer = "1"
-LAYERSERIES_COMPAT_openpower-layer = "thud warrior"
-
-# Provide a variable that points the base of the openpower layer.
-OPENPOWERBASE = '${@os.path.normpath("${LAYERDIR}/")}'
+LAYERDEPENDS_openpower-layer = "core phosphor-layer aspeed-layer"
+LAYERSERIES_COMPAT_openpower-layer = "warrior zeus"
diff --git a/meta-openpower/recipes-bsp/pdbg/pdbg_2.2.bb b/meta-openpower/recipes-bsp/pdbg/pdbg_2.2.bb
deleted file mode 100644
index cd2b8fe44..000000000
--- a/meta-openpower/recipes-bsp/pdbg/pdbg_2.2.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "PowerPC FSI Debugger"
-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.2+git${SRCPV}"
-
-SRC_URI += "git://github.com/open-power/pdbg.git"
-SRCREV = "dbbb35af951e36cb1ff134bdf74a5346d316e782"
-
-DEPENDS += "dtc-native"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
diff --git a/meta-openpower/recipes-bsp/pdbg/pdbg_2.3.bb b/meta-openpower/recipes-bsp/pdbg/pdbg_2.3.bb
new file mode 100644
index 000000000..faca30fde
--- /dev/null
+++ b/meta-openpower/recipes-bsp/pdbg/pdbg_2.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "PowerPC FSI Debugger"
+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.3+git${SRCPV}"
+
+SRC_URI += "git://github.com/open-power/pdbg.git"
+SRCREV = "8a10a05c89db666bf98734139334166da7c370a4"
+
+DEPENDS += "dtc-native"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/meta-openpower/recipes-phosphor/configuration/openpower-yaml-config.bb b/meta-openpower/recipes-phosphor/configuration/openpower-yaml-config.bb
index 52ac769ab..39141bab8 100644
--- a/meta-openpower/recipes-phosphor/configuration/openpower-yaml-config.bb
+++ b/meta-openpower/recipes-phosphor/configuration/openpower-yaml-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "Shared OpenPOWER configuration"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
diff --git a/meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces-mapper-config-native.bb b/meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces-mapper-config-native.bb
index 6f0771aa6..e0b296fb9 100644
--- a/meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces-mapper-config-native.bb
+++ b/meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces-mapper-config-native.bb
@@ -3,7 +3,7 @@ DESCRIPTION="Add the /org/open_power path namespace and \
org.open_power interface prefix to the mapper \
watch list."
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit phosphor-mapper
inherit native
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 23381bee9..f376ab011 100644
--- a/meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces_git.bb
+++ b/meta-openpower/recipes-phosphor/dbus/openpower-dbus-interfaces_git.bb
@@ -16,7 +16,7 @@ DEPENDS += "sdbus++-native"
DEPENDS += "phosphor-dbus-interfaces"
SRC_URI += "git://github.com/openbmc/openpower-dbus-interfaces"
-SRCREV = "84a750aeee62b90a5817f4eea39562d2f277cd63"
+SRCREV = "c5191609d0a738fdc2c2887bf06b8f69824d515b"
DEPENDS_remove_class-native = "sdbus++-native"
DEPENDS_remove_class-nativesdk = "sdbus++-native"
diff --git a/meta-openpower/recipes-phosphor/dump/phosphor-debug-collector/plugins.d/guard b/meta-openpower/recipes-phosphor/dump/phosphor-debug-collector/plugins.d/guard
new file mode 100644
index 000000000..cdd461fec
--- /dev/null
+++ b/meta-openpower/recipes-phosphor/dump/phosphor-debug-collector/plugins.d/guard
@@ -0,0 +1,18 @@
+#!/bin/bash
+#
+# config: 2 40
+# @brief: Collect GUARD record information.
+#
+
+. $DREPORT_INCLUDE/functions
+
+desc="GUARD Records"
+file_name="/var/lib/phosphor-software-manager/pnor/prsv/GUARD"
+
+# Check file is present and not empty.
+if [ ! -s "$file_name" ]; then
+ log_info "No $desc"
+ exit 0
+fi
+
+add_copy_file "$file_name" "$desc"
diff --git a/meta-openpower/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend b/meta-openpower/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend
new file mode 100644
index 000000000..a4cb739e8
--- /dev/null
+++ b/meta-openpower/recipes-phosphor/dump/phosphor-debug-collector_%.bbappend
@@ -0,0 +1,18 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+SRC_URI += "file://plugins.d/guard"
+
+install_openpower_plugins() {
+ install -m 0755 ${WORKDIR}/plugins.d/guard ${D}${dreport_plugin_dir}
+}
+
+#Link in the plugins so dreport run them at the appropriate time
+python link_openpower_plugins() {
+ workdir = d.getVar('WORKDIR', True)
+ script = os.path.join(workdir, 'plugins.d', 'guard')
+ install_dreport_user_script(script, d)
+}
+
+DEBUG_COLLECTOR_INSTALL_POSTFUNCS ?= ""
+DEBUG_COLLECTOR_INSTALL_POSTFUNCS_df-openpower ?= "install_openpower_plugins link_openpower_plugins"
+
+do_install[postfuncs] += "${DEBUG_COLLECTOR_INSTALL_POSTFUNCS}"
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 982a1678d..a59bcac19 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 = "4d3d91262bcaf1afc2eee54145052106644410be"
+SRCREV = "b41a57d52c6e5f6673b784a7a94a8dec0787770b"
DBUS_SERVICE_${PN} += "org.open_power.Software.Host.Updater.service"
diff --git a/meta-openpower/recipes-phosphor/fsi/op-fsi.bb b/meta-openpower/recipes-phosphor/fsi/op-fsi.bb
index 7af9731f5..e056d6d28 100644
--- a/meta-openpower/recipes-phosphor/fsi/op-fsi.bb
+++ b/meta-openpower/recipes-phosphor/fsi/op-fsi.bb
@@ -2,7 +2,7 @@ SUMMARY = "FSI Services"
DESCRIPTION = "Install FSI related services"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-openpower/recipes-phosphor/host/checkstop-monitor.bb b/meta-openpower/recipes-phosphor/host/checkstop-monitor.bb
index 452cdeb87..ebb3a2f77 100644
--- a/meta-openpower/recipes-phosphor/host/checkstop-monitor.bb
+++ b/meta-openpower/recipes-phosphor/host/checkstop-monitor.bb
@@ -1,7 +1,7 @@
SUMMARY = "OpenPOWER Host checkstop monitor application"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
inherit allarch
diff --git a/meta-openpower/recipes-phosphor/host/hostboot-settings.bb b/meta-openpower/recipes-phosphor/host/hostboot-settings.bb
deleted file mode 100644
index 0a713e766..000000000
--- a/meta-openpower/recipes-phosphor/host/hostboot-settings.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "OpenPower Hostboot Boot settings tool"
-PR = "r1"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
-
-inherit obmc-phosphor-systemd
-inherit allarch
-
-SRC_URI = "file://hb_settings"
-SYSTEMD_SERVICE_${PN} += "hostboot-settings.service"
-
-do_fetch[noexec] = "1"
-do_patch[noexec] = "1"
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/hb_settings ${D}${bindir}
-}
diff --git a/meta-openpower/recipes-phosphor/host/hostboot-settings/hb_settings b/meta-openpower/recipes-phosphor/host/hostboot-settings/hb_settings
deleted file mode 100644
index d75d4b74d..000000000
--- a/meta-openpower/recipes-phosphor/host/hostboot-settings/hb_settings
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/bin/sh
-# Copyright 2018 IBM Corp
-# SPDX-License-Identifier: Apache-2.0
-# Authored May 2018, Joel Stanley <joel@jms.id.au>
-#
-# This script sets the SIO scratch registers 0x2D in order to configure
-# hostboot. It supports boot flags v1 as defined in hostboot source:
-# src/usr/initservice/bootconfig/bootconfig_ast2400.C
-# src/usr/console/ast2400.C
-#
-# BOOT_FLAGS_VERSION_REG = 0x28,
-# Serial config reg: 0x2d
-# Serial config mask: 0xc0
-#
-# NONE = 0x00, // No output selected
-# SELECT_SUART = 0x40, // SIO Uart
-# SELECT_VUART = 0x80, // SOL virtual uart
-# RESERVED = 0xc0, // Reserved
-
-
-SYSFS_SIO=/sys/devices/platform/ahb/ahb:apb/1e789000.lpc/1e789080.lpc-host/1e789080.lpc-host:regs
-SYSFS_SIO28=$SYSFS_SIO/sio_28
-SYSFS_SIO2D=$SYSFS_SIO/sio_2d
-
-FLAGS_VERSION1=$((0x42))
-
-usage()
-{
- echo "usage: hb_settings [[-u|--uart vuart|suart|none] | [-s|--show] | [-h]]"
-}
-
-show_regs()
-{
- SIO28=$(cat $SYSFS_SIO28)
- SIO2D=$(cat $SYSFS_SIO2D)
-
- case $SIO28 in
- $FLAGS_VERSION1)
- echo "Boot flags version 1"
- ;;
- * )
- echo "Unknown boot flags version"
- ;;
- esac
-
- case $(($SIO2D >> 6)) in
- 0)
- echo "Hostboot serial output disabled"
- ;;
- 1)
- echo "Hostboot serial output on SUART"
- ;;
- 2)
- echo "Hostboot serial output on VUART"
- ;;
- 3)
- echo "Reserved value"
- ;;
- * )
- echo "Invalid uart value"
- ;;
- esac
-}
-
-set_regs()
-{
- case $uart in
- suart)
- echo "Hostboot serial output on SUART"
- VAL=0x40
- ;;
- vuart)
- echo "Hostboot serial output on VUART"
- VAL=0x80
- ;;
- none)
- echo "Hostboot serial output disabled"
- VAL=0x00
- ;;
- * )
- echo "Invalid uart value"
- usage
- exit 1
- esac
-
- echo $FLAGS_VERSION1 > $SYSFS_SIO28
- echo $VAL > $SYSFS_SIO2D
-}
-
-while [ "$1" != "" ]; do
- case $1 in
- -u | --uart) shift
- uart=$1
- set_regs
- exit
- ;;
- -s | --show ) show_regs
- exit
- ;;
- -h | --help ) usage
- exit
- ;;
- * ) usage
- exit 1
- esac
- shift
-done
-
-usage
-exit 0
diff --git a/meta-openpower/recipes-phosphor/host/hostboot-settings/hostboot-settings.service b/meta-openpower/recipes-phosphor/host/hostboot-settings/hostboot-settings.service
deleted file mode 100644
index 9ce81d79b..000000000
--- a/meta-openpower/recipes-phosphor/host/hostboot-settings/hostboot-settings.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Hostboot Boot Settings
-
-[Service]
-Type=oneshot
-RemainAfterExit=true
-ExecStart=/usr/bin/hb_settings --uart vuart
-
-[Install]
-WantedBy=multi-user.target
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 05d6d90df..33ac60c6c 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 = "16ab00cb9383b17b8dd033a1cb300e2a013d55b1"
+SRCREV = "60db8b147dad15890ffed21230537cd8d4898efc"
DEPENDS += " \
autoconf-archive-native \
@@ -23,13 +23,6 @@ DEPENDS += " \
# For libpdbg, provided by the pdbg package
DEPENDS += "pdbg"
-# For now, explicitly depend on the pdbg package for the pdbg binary at runtime
-# (as documentation). This will be removed shortly when we only depend on
-# libpdbg; the pdbg package will automatically injected into RDEPENDS by
-# bitbake as it is in DEPENDS and openpower-proc-nmi has a runtime link
-# dependency on libpdbg.
-RDEPENDS_${PN} += "pdbg"
-
TEMPLATE = "pcie-poweroff@.service"
INSTANCE_FORMAT = "pcie-poweroff@{}.service"
INSTANCES = "${@compose_list(d, 'INSTANCE_FORMAT', 'OBMC_CHASSIS_INSTANCES')}"
@@ -38,5 +31,4 @@ SYSTEMD_SERVICE_${PN} = "${TEMPLATE} ${INSTANCES}"
SYSTEMD_SERVICE_${PN} += " \
xyz.openbmc_project.Control.Host.NMI.service \
- nmi.service \
"
diff --git a/meta-openpower/recipes-phosphor/host/p9-cfam-override.bb b/meta-openpower/recipes-phosphor/host/p9-cfam-override.bb
index e395841ba..769a1348d 100644
--- a/meta-openpower/recipes-phosphor/host/p9-cfam-override.bb
+++ b/meta-openpower/recipes-phosphor/host/p9-cfam-override.bb
@@ -2,7 +2,7 @@ SUMMARY = "POWER9 CFAM override"
DESCRIPTION = "Applies user CFAM register overrides from file"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-openpower/recipes-phosphor/host/p9-host-start.bb b/meta-openpower/recipes-phosphor/host/p9-host-start.bb
index b9110010e..374359838 100644
--- a/meta-openpower/recipes-phosphor/host/p9-host-start.bb
+++ b/meta-openpower/recipes-phosphor/host/p9-host-start.bb
@@ -2,7 +2,7 @@ SUMMARY = "POWER9 start host"
DESCRIPTION = "Service to start POWER9 IPL through SBE"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-openpower/recipes-phosphor/host/p9-vcs-workaround.bb b/meta-openpower/recipes-phosphor/host/p9-vcs-workaround.bb
index 43efeab24..29167b0e1 100644
--- a/meta-openpower/recipes-phosphor/host/p9-vcs-workaround.bb
+++ b/meta-openpower/recipes-phosphor/host/p9-vcs-workaround.bb
@@ -2,7 +2,7 @@ SUMMARY = "POWER9 VCS workaround"
DESCRIPTION = "Apply fixes over FSI to POWER9 CPUs prior to host power on"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-openpower/recipes-phosphor/ipmi/hostboot-inventory-config-native.bb b/meta-openpower/recipes-phosphor/ipmi/hostboot-inventory-config-native.bb
index b60a9e38f..bd0a8eea4 100644
--- a/meta-openpower/recipes-phosphor/ipmi/hostboot-inventory-config-native.bb
+++ b/meta-openpower/recipes-phosphor/ipmi/hostboot-inventory-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Hostboot hostfw inventory map for phosphor-ipmi-fru"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-fru
diff --git a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem-sensor-inventory-mrw-native.bb b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem-sensor-inventory-mrw-native.bb
index b9fd60552..6e2c1fc5d 100644
--- a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem-sensor-inventory-mrw-native.bb
+++ b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem-sensor-inventory-mrw-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "OEM sensor config for phosphor-host-ipmid"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem-whitelist-native.bb b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem-whitelist-native.bb
index 4ca070784..1c8758793 100644
--- a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem-whitelist-native.bb
+++ b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem-whitelist-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Whitelisted OpenBMC IPMI OEM commands"
DESCRIPTION = "Whitelisted OpenBMC IPMI OEM commands for OpenPOWER based systems"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host-whitelist
diff --git a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc
index f13d3046a..b0daf33c5 100644
--- a/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc
+++ b/meta-openpower/recipes-phosphor/ipmi/openpower-ipmi-oem.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/openpower-host-ipmi-oem"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
SRC_URI += "git://github.com/openbmc/openpower-host-ipmi-oem"
-SRCREV = "81c34dfea4f6535cfe9519fa9fc2be798456132a"
+SRCREV = "64354b6604e6a1d6b60463cae15c33b137768e1b"
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 42a85b873..62284d16b 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
@@ -12,9 +12,10 @@ sync_hostname() {
MAPPER_IFACE='xyz.openbmc_project.ObjectMapper'
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_SN=''
BMC_ITEM_PATH=$(busctl --no-pager --verbose call \
${MAPPER_IFACE} \
${MAPPER_PATH} \
@@ -30,21 +31,54 @@ sync_hostname() {
BMC_ITEM_SERVICE=$(mapper get-service \
${BMC_ITEM_PATH} 2>/dev/null || true)
- if [[ -z "${BMC_ITEM_SERVICE}" ]]; then
+ if [[ -n "${BMC_ITEM_SERVICE}" ]]; then
+ BMC_SN=$(busctl get-property ${BMC_ITEM_SERVICE} \
+ ${BMC_ITEM_PATH} \
+ ${INV_ASSET_IFACE} SerialNumber)
+ # 's "002B0DH1000"'
+ BMC_SN=${BMC_SN#*\"}
+ BMC_SN=${BMC_SN%\"*}
+ else
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} \
- ${INV_ASSET_IFACE} SerialNumber)
- # 's "002B0DH1000"'
- BMC_SN=${BMC_SN#*\"}
- BMC_SN=${BMC_SN%\"*}
+ if [[ -z "${BMC_SN}" ]] ; then
+ show_error "BMC Serial Number empty! Setting Hostname as 'hostname + mac address' "
+
+ NETWORK_ITEM_IFACE='xyz.openbmc_project.Inventory.Item.NetworkInterface'
+ NETWORK_ITEM_PATH=$(busctl --no-pager --verbose call \
+ ${MAPPER_IFACE} \
+ ${MAPPER_PATH} \
+ ${MAPPER_IFACE} \
+ GetSubTree sias \
+ ${INVENTORY_PATH} 0 1 ${NETWORK_ITEM_IFACE} \
+ 2>/dev/null | grep ${INVENTORY_PATH} || true)
+
+ NETWORK_ITEM_PATH=${NETWORK_ITEM_PATH#*\"}
+ NETWORK_ITEM_PATH=${NETWORK_ITEM_PATH%\"*}
+
+ NETWORK_ITEM_OBJ=$(mapper get-service ${NETWORK_ITEM_PATH} 2>/dev/null || true)
+
+ if [[ -z "${NETWORK_ITEM_OBJ}" ]]; then
+ show_error 'No Ethernet interface found in the Inventory. Unique hostname not set!'
+ exit 1
+ fi
+
+ MAC_ADDR=$(busctl get-property ${NETWORK_ITEM_OBJ} \
+ ${NETWORK_ITEM_PATH} \
+ ${NETWORK_ITEM_IFACE} MACAddress)
+
+ # 's "54:52:01:02:03:04"'
+ MAC_ADDR=${MAC_ADDR#*\"}
+ MAC_ADDR=${MAC_ADDR%\"*}
+
+ hostnamectl set-hostname $(hostname)-${MAC_ADDR}
+ else
+ hostnamectl set-hostname $(hostname)-${BMC_SN}
+ fi
- hostnamectl set-hostname {MACHINE}-${BMC_SN}
}
-[ "$(hostname)" = "{MACHINE}" ] && sync_hostname
+sync_hostname
-systemctl disable first-boot-set-hostname.service
+systemctl --no-reload disable first-boot-set-hostname.service
diff --git a/meta-openpower/recipes-phosphor/network/first-boot-set-hostname_1.0.bb b/meta-openpower/recipes-phosphor/network/first-boot-set-hostname_1.0.bb
index 7f71e7c01..f3f7d34cf 100644
--- a/meta-openpower/recipes-phosphor/network/first-boot-set-hostname_1.0.bb
+++ b/meta-openpower/recipes-phosphor/network/first-boot-set-hostname_1.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Init BMC Hostname"
DESCRIPTION = "Setup BMC Unique hostname"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch systemd
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 9668ed5f1..da1b305d4 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
@@ -15,13 +15,34 @@ sync_mac() {
INVENTORY_PATH='/xyz/openbmc_project/inventory'
NETWORK_ITEM_IFACE='xyz.openbmc_project.Inventory.Item.NetworkInterface'
- NETWORK_ITEM_PATH=$(busctl --no-pager --verbose call \
+ # Get the NETWORK ITEM count
+ NETWORK_ITEM_PATH_COUNT=$(busctl --no-pager --verbose call \
+ ${MAPPER_IFACE} \
+ ${MAPPER_PATH} \
+ ${MAPPER_IFACE} \
+ GetSubTree sias \
+ ${INVENTORY_PATH} 0 1 ${NETWORK_ITEM_IFACE} \
+ 2>/dev/null | grep ${INVENTORY_PATH} | wc -l || true)
+
+ if [ $NETWORK_ITEM_PATH_COUNT -gt 1 ]; then
+ # If there are more than 2 NETOWRK ITEM and path must contain $1
+ # for finding the right NETWORK ITEM
+ NETWORK_ITEM_PATH=$(busctl --no-pager --verbose call \
+ ${MAPPER_IFACE} \
+ ${MAPPER_PATH} \
+ ${MAPPER_IFACE} \
+ GetSubTree sias \
+ ${INVENTORY_PATH} 0 1 ${NETWORK_ITEM_IFACE} \
+ 2>/dev/null | grep ${INVENTORY_PATH} | grep $1 || true)
+ else
+ NETWORK_ITEM_PATH=$(busctl --no-pager --verbose call \
${MAPPER_IFACE} \
${MAPPER_PATH} \
${MAPPER_IFACE} \
GetSubTree sias \
${INVENTORY_PATH} 0 1 ${NETWORK_ITEM_IFACE} \
2>/dev/null | grep ${INVENTORY_PATH} || true)
+ fi
# ' STRING "/xyz/openbmc_project/inventory/system/chassis/ethernet";'
NETWORK_ITEM_PATH=${NETWORK_ITEM_PATH#*\"}
@@ -58,4 +79,4 @@ fi
sync_mac $1
-systemctl disable first-boot-set-mac@${1}.service
+systemctl --no-reload disable first-boot-set-mac@${1}.service
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 1a1ee97dc..f67ddd464 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
@@ -2,7 +2,7 @@ SUMMARY = "Init BMC MAC address"
DESCRIPTION = "Setup BMC MAC address read from VPD"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch systemd
diff --git a/meta-openpower/recipes-phosphor/occ/openpower-occ-control-config-mrw-native.bb b/meta-openpower/recipes-phosphor/occ/openpower-occ-control-config-mrw-native.bb
index 1b228adb3..796088546 100644
--- a/meta-openpower/recipes-phosphor/occ/openpower-occ-control-config-mrw-native.bb
+++ b/meta-openpower/recipes-phosphor/occ/openpower-occ-control-config-mrw-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "OpenPower OCC Control with MRW generated sensor IDs"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-occ-control
diff --git a/meta-openpower/recipes-phosphor/packagegroups/packagegroup-op-apps.bb b/meta-openpower/recipes-phosphor/packagegroups/packagegroup-op-apps.bb
index 51045253a..2832c940a 100644
--- a/meta-openpower/recipes-phosphor/packagegroups/packagegroup-op-apps.bb
+++ b/meta-openpower/recipes-phosphor/packagegroups/packagegroup-op-apps.bb
@@ -47,6 +47,5 @@ RDEPENDS_${PN}-flash = " \
SUMMARY_${PN}-system = "OpenPOWER System"
RDEPENDS_${PN}-system = " \
- hostboot-settings \
pdbg \
"
diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-example-native.bb b/meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-example-native.bb
index e04ebd908..3c9c8eae2 100644
--- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-example-native.bb
+++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-example-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Inventory config for openpower-vpd-parser"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-fru-vpd
diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-mrw-native.bb b/meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-mrw-native.bb
index 12e9f277e..be0779fef 100644
--- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-mrw-native.bb
+++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-inventory-mrw-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Inventory config for openpower-vpd-parser"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-fru-vpd
diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-properties-example-native.bb b/meta-openpower/recipes-phosphor/vpd/openpower-fru-properties-example-native.bb
index c398cc8f8..67107a6e8 100644
--- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-properties-example-native.bb
+++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-properties-example-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "FRU properties config for openpower-vpd-parser"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-fru-vpd
diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-properties-mrw-native.bb b/meta-openpower/recipes-phosphor/vpd/openpower-fru-properties-mrw-native.bb
index 0e32a4268..42b1f37e4 100644
--- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-properties-mrw-native.bb
+++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-properties-mrw-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "FRU properties config for openpower-vpd-parser"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-fru-vpd
diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd-layout-native.bb b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd-layout-native.bb
index e0717e36d..5b0188614 100644
--- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd-layout-native.bb
+++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd-layout-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "VPD layout for openpower-fru-vpd"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${OPENPOWERBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-fru-vpd
diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd-layout/layout.yaml b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd-layout/layout.yaml
index b7db18f0c..b13ff8d67 100644
--- a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd-layout/layout.yaml
+++ b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd-layout/layout.yaml
@@ -11,3 +11,8 @@ ETHERNET:
VINI,B1: MACAddress
OPFR,B1: MACAddress
xyz.openbmc_project.Inventory.Item.Ethernet:
+ETHERNET1:
+ xyz.openbmc_project.Inventory.Item.NetworkInterface:
+ VINI,B1: MACAddress
+ OPFR,B1: MACAddress
+ xyz.openbmc_project.Inventory.Item.Ethernet:
diff --git a/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc b/meta-openpower/recipes-phosphor/vpd/openpower-fru-vpd.inc
index b3b125ba3..80fb65fbc 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 = "ee79ca842542c240d9f87166d2aecde32d6b6f80"
+SRCREV = "18197ae979ea3fea5f5f34216987f497e02ce96e"
diff --git a/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend b/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
new file mode 100644
index 000000000..0e18a7c1d
--- /dev/null
+++ b/meta-phosphor/aspeed-layer/recipes-bsp/u-boot/u-boot-aspeed-sdk_%.bbappend
@@ -0,0 +1,2 @@
+FLASH_SIZE ?= "32768"
+ASPEED_IMAGE_SIZE_KB = "${FLASH_SIZE}"
diff --git a/meta-phosphor/classes/image_types_phosphor.bbclass b/meta-phosphor/classes/image_types_phosphor.bbclass
index 1edf3a3be..f7742c85e 100644
--- a/meta-phosphor/classes/image_types_phosphor.bbclass
+++ b/meta-phosphor/classes/image_types_phosphor.bbclass
@@ -27,6 +27,7 @@ IMAGE_TYPEDEP_mtd-ubi-tar = "${FLASH_UBI_BASETYPE}"
IMAGE_TYPES_MASKED += "mtd-static mtd-static-alltar mtd-static-tar mtd-ubi mtd-ubi-tar"
# Flash characteristics in KB unless otherwise noted
+DISTROOVERRIDES .= ":flash-${FLASH_SIZE}"
FLASH_SIZE ?= "32768"
FLASH_PEB_SIZE ?= "64"
# Flash page and overhead sizes in bytes
@@ -36,13 +37,18 @@ FLASH_NOR_UBI_OVERHEAD ?= "64"
# Fixed partition offsets
FLASH_UBOOT_OFFSET ?= "0"
FLASH_KERNEL_OFFSET ?= "512"
+FLASH_KERNEL_OFFSET_flash-131072 ?= "1024"
FLASH_UBI_OFFSET ?= "${FLASH_KERNEL_OFFSET}"
FLASH_ROFS_OFFSET ?= "4864"
+FLASH_ROFS_OFFSET_flash-131072 ?= "10240"
FLASH_RWFS_OFFSET ?= "28672"
+FLASH_RWFS_OFFSET_flash-131072 ?= "98304"
# UBI volume sizes in KB unless otherwise noted.
FLASH_UBI_RWFS_SIZE ?= "6144"
+FLASH_UBI_RWFS_SIZE_flash-131072 ?= "32768"
FLASH_UBI_RWFS_TXT_SIZE ?= "6MiB"
+FLASH_UBI_RWFS_TXT_SIZE_flash-131072 ?= "32MiB"
SIGNING_KEY ?= "${STAGING_DIR_NATIVE}${datadir}/OpenBMC.priv"
INSECURE_KEY = "${@'${SIGNING_KEY}' == '${STAGING_DIR_NATIVE}${datadir}/OpenBMC.priv'}"
@@ -72,8 +78,8 @@ python() {
DISTROOVERRIDES .= ":static-rwfs-${OVERLAY_BASETYPE}"
DISTROOVERRIDES .= ":ubi-rwfs-${FLASH_UBI_OVERLAY_BASETYPE}"
-JFFS2_RWFS_CMD = "mkfs.jffs2 --root=jffs2 --faketime --output=rwfs.jffs2"
-UBIFS_RWFS_CMD = "mkfs.ubifs -r ubifs -c ${FLASH_UBI_RWFS_LEBS} -m ${FLASH_PAGE_SIZE} -e ${FLASH_LEB_SIZE} rwfs.ubifs"
+JFFS2_RWFS_CMD = "mkfs.jffs2 --root=jffs2 --faketime --output=${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.jffs2"
+UBIFS_RWFS_CMD = "mkfs.ubifs -r ubifs -c ${FLASH_UBI_RWFS_LEBS} -m ${FLASH_PAGE_SIZE} -e ${FLASH_LEB_SIZE} ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.ubifs"
FLASH_STATIC_RWFS_CMD_static-rwfs-jffs2 = "${JFFS2_RWFS_CMD}"
FLASH_UBI_RWFS_CMD_ubi-rwfs-jffs2 = "${JFFS2_RWFS_CMD}"
@@ -93,7 +99,7 @@ make_rwfs() {
shift
opts="$@"
- rm -f rwfs.$type
+ rm -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.$type
rm -rf $type
mkdir $type
@@ -158,7 +164,7 @@ do_make_ubi() {
add_volume $cfg 1 static rofs-${VERSION_ID} \
${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${FLASH_UBI_BASETYPE}
- add_volume $cfg 2 dynamic rwfs rwfs.${FLASH_UBI_OVERLAY_BASETYPE} ${FLASH_UBI_RWFS_TXT_SIZE}
+ add_volume $cfg 2 dynamic rwfs ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${FLASH_UBI_OVERLAY_BASETYPE} ${FLASH_UBI_RWFS_TXT_SIZE}
# Build the ubi partition image
ubinize -p ${FLASH_PEB_SIZE}KiB -m ${FLASH_PAGE_SIZE} -o ubi-img $cfg
@@ -223,7 +229,10 @@ python do_generate_static() {
int(d.getVar('FLASH_ROFS_OFFSET', True)),
int(d.getVar('FLASH_RWFS_OFFSET', True)))
- _append_image('rwfs.%s' % d.getVar('OVERLAY_BASETYPE', True),
+ _append_image(os.path.join(d.getVar('IMGDEPLOYDIR', True),
+ '%s.%s' % (
+ d.getVar('IMAGE_LINK_NAME', True),
+ d.getVar('OVERLAY_BASETYPE', True))),
int(d.getVar('FLASH_RWFS_OFFSET', True)),
int(d.getVar('FLASH_SIZE', True)))
@@ -231,9 +240,6 @@ python do_generate_static() {
}
do_mk_static_symlinks() {
- # File needed for generating non-standard legacy links below
- cp rwfs.${OVERLAY_BASETYPE} ${IMGDEPLOYDIR}/rwfs.${OVERLAY_BASETYPE}
-
cd ${IMGDEPLOYDIR}
ln -sf ${IMAGE_NAME}.static.mtd ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.static.mtd
@@ -243,7 +249,7 @@ do_mk_static_symlinks() {
ln -sf u-boot.${UBOOT_SUFFIX} ${IMGDEPLOYDIR}/image-u-boot
ln -sf ${FLASH_KERNEL_IMAGE} ${IMGDEPLOYDIR}/image-kernel
ln -sf ${IMAGE_LINK_NAME}.${IMAGE_BASETYPE} ${IMGDEPLOYDIR}/image-rofs
- ln -sf rwfs.${OVERLAY_BASETYPE} ${IMGDEPLOYDIR}/image-rwfs
+ ln -sf ${IMAGE_LINK_NAME}.${OVERLAY_BASETYPE} ${IMGDEPLOYDIR}/image-rwfs
}
do_generate_static[dirs] = "${S}/static"
do_generate_static[depends] += " \
@@ -299,7 +305,7 @@ make_image_links() {
ln -sf ${DEPLOY_DIR_IMAGE}/u-boot.${UBOOT_SUFFIX} image-u-boot
ln -sf ${DEPLOY_DIR_IMAGE}/${FLASH_KERNEL_IMAGE} image-kernel
ln -sf ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.$rofs image-rofs
- ln -sf rwfs.$rwfs image-rwfs
+ ln -sf ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.$rwfs image-rwfs
}
make_tar_of_images() {
diff --git a/meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass b/meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass
new file mode 100644
index 000000000..16112e638
--- /dev/null
+++ b/meta-phosphor/classes/image_types_phosphor_nuvoton.bbclass
@@ -0,0 +1,46 @@
+UBOOT_BINARY := "u-boot.${UBOOT_SUFFIX}"
+BOOTBLOCK = "Poleg_bootblock.bin"
+FULL_SUFFIX = "full"
+MERGED_SUFFIX = "merged"
+UBOOT_SUFFIX_append = ".${MERGED_SUFFIX}"
+
+# Prepare the Bootblock and U-Boot images using npcm7xx-bingo
+do_prepare_bootloaders() {
+ local olddir="$(pwd)"
+ cd ${DEPLOY_DIR_IMAGE}
+ bingo ${STAGING_DIR_NATIVE}/${bindir}/BootBlockAndHeader_EB.xml \
+ -o ${DEPLOY_DIR_IMAGE}/${BOOTBLOCK}.${FULL_SUFFIX}
+
+ bingo ${STAGING_DIR_NATIVE}/${bindir}/UbootHeader_EB.xml \
+ -o ${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY}.${FULL_SUFFIX}
+
+ bingo ${STAGING_DIR_NATIVE}/${bindir}/mergedBootBlockAndUboot.xml \
+ -o ${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY}.${MERGED_SUFFIX}
+ cd "$olddir"
+}
+
+do_prepare_bootloaders[depends] += " \
+ npcm7xx-bootblock:do_deploy \
+ npcm7xx-bingo-native:do_populate_sysroot \
+ "
+
+addtask do_prepare_bootloaders before do_generate_static after do_generate_rwfs_static
+
+# Include the full bootblock and u-boot in the final static image
+python do_generate_static_append() {
+ _append_image(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True),
+ 'u-boot.%s' % d.getVar('UBOOT_SUFFIX',True)),
+ int(d.getVar('FLASH_UBOOT_OFFSET', True)),
+ int(d.getVar('FLASH_KERNEL_OFFSET', True)))
+}
+
+do_make_ubi_append() {
+ # Concatenate the uboot and ubi partitions
+ dd bs=1k conv=notrunc seek=${FLASH_UBOOT_OFFSET} \
+ if=${DEPLOY_DIR_IMAGE}/u-boot.${UBOOT_SUFFIX} \
+ of=${IMGDEPLOYDIR}/${IMAGE_NAME}.ubi.mtd
+}
+
+do_make_ubi[depends] += "${PN}:do_prepare_bootloaders"
+do_generate_ubi_tar[depends] += "${PN}:do_prepare_bootloaders"
+do_generate_static_tar[depends] += "${PN}:do_prepare_bootloaders"
diff --git a/meta-phosphor/classes/mrw-rev.bbclass b/meta-phosphor/classes/mrw-rev.bbclass
index 72a22393b..b0a6b1f40 100644
--- a/meta-phosphor/classes/mrw-rev.bbclass
+++ b/meta-phosphor/classes/mrw-rev.bbclass
@@ -2,4 +2,4 @@ MRW_API_SRC_URI ?= "git://github.com/open-power/serverwiz.git"
MRW_API_SRCREV ?= "60c8e10cbb11768cd1ba394b35cb1d6627efec42"
MRW_TOOLS_SRC_URI ?= "git://github.com/openbmc/phosphor-mrw-tools"
-MRW_TOOLS_SRCREV ?= "5dd783bfab6c73851fa31d50e6184a9511f20bcd"
+MRW_TOOLS_SRCREV ?= "715c97ea76bb6c976e57dfa899f76a7106a7c2d5"
diff --git a/meta-phosphor/classes/phosphor-networkd-rev.bbclass b/meta-phosphor/classes/phosphor-networkd-rev.bbclass
index f5553a6a0..57878ddac 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 = "2dae96946ba6ea78e20823ab3aeba75f2e033a41"
+SRCREV = "046b2a0b3707621a3828da1318b628bcc31d1aaa"
diff --git a/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass b/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass
index 6b0a78ec0..0280133fe 100644
--- a/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass
+++ b/meta-phosphor/classes/phosphor-software-manager-ubi-fs.bbclass
@@ -41,7 +41,10 @@ SYSTEMD_SERVICE_phosphor-software-manager-updater-ubi += " \
BMC_RW_MTD ??= "bmc"
BMC_RO_MTD ??= "bmc"
BMC_KERNEL_MTD ??= "bmc"
+FLASH_SIZE ?= "32768"
+DISTROOVERRIDES .= ":flash-${FLASH_SIZE}"
BMC_RW_SIZE ??= "0x600000"
+BMC_RW_SIZE_flash-131072 = "0x2000000"
SYSTEMD_SUBSTITUTIONS += "RW_MTD:${BMC_RW_MTD}:obmc-flash-bmc-ubirw.service"
SYSTEMD_SUBSTITUTIONS += "RO_MTD:${BMC_RO_MTD}:obmc-flash-bmc-ubiro@.service"
SYSTEMD_SUBSTITUTIONS += "KERNEL_MTD:${BMC_KERNEL_MTD}:obmc-flash-bmc-ubiro@.service"
diff --git a/meta-phosphor/conf/distro/include/phosphor-base.inc b/meta-phosphor/conf/distro/include/phosphor-base.inc
index b6f155122..2a9301d76 100644
--- a/meta-phosphor/conf/distro/include/phosphor-base.inc
+++ b/meta-phosphor/conf/distro/include/phosphor-base.inc
@@ -134,6 +134,9 @@ KERNEL_FEATURES_append = " phosphor-gpio-keys"
KERNEL_FEATURES_remove_qemuall = " phosphor-gpio-keys"
IMAGE_CLASSES_append = " image_types_phosphor"
+IMAGE_CLASSES_append_npcm7xx = " image_types_phosphor_nuvoton"
+
+IMAGE_INSTALL_append = " dbus-broker"
# OpenBMC uses a couple recipes from meta-virtualization
# but we do not actually want any virtualization support
@@ -144,8 +147,8 @@ SKIP_META_VIRT_SANITY_CHECK = "1"
# Skip the udev database by default. It adds around 2MB
# compressed to the root filesystem, and probably doesn't
# make sense on a BMC anyway.
-BAD_RECOMMENDATIONS_pn-obmc-phosphor-image = "udev-hwdb"
-BAD_RECOMMENDATIONS_pn-obmc-phosphor-image += "shared-mime-info"
+BAD_RECOMMENDATIONS += "udev-hwdb"
+BAD_RECOMMENDATIONS += "shared-mime-info"
LAYER_CONF_VERSION ?= "8"
diff --git a/meta-phosphor/conf/layer.conf b/meta-phosphor/conf/layer.conf
index 0df82a724..d35230656 100644
--- a/meta-phosphor/conf/layer.conf
+++ b/meta-phosphor/conf/layer.conf
@@ -8,10 +8,7 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "phosphor-layer"
BBFILE_PATTERN_phosphor-layer := "^${LAYERDIR}/"
LAYERVERSION_phosphor-layer = "1"
-LAYERSERIES_COMPAT_phosphor-layer = "thud warrior"
-
-# Provide a variable that points the base of the phosphor layer.
-PHOSPHORBASE = '${@os.path.normpath("${LAYERDIR}/")}'
+LAYERSERIES_COMPAT_phosphor-layer = "warrior zeus"
IMAGE_FEATURES[validitems] += "tools-profile"
diff --git a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
index 7162b5d8d..4bafeafce 100644
--- a/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
+++ b/meta-phosphor/conf/machine/include/obmc-bsp-common.inc
@@ -10,7 +10,7 @@ IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', \
'mtd-ubi mtd-ubi-tar', \
'mtd-static mtd-static-tar mtd-static-alltar', d)}"
-INITRAMFS_CTYPE ?= "lzma"
-INITRAMFS_FSTYPES += "cpio.${INITRAMFS_CTYPE}"
-INITRAMFS_IMAGE ?= "obmc-phosphor-initramfs"
-INITRAMFS_IMAGE_df-obmc-ubi-fs ?= ""
+INITRAMFS_CTYPE ?= "xz"
+INITRAMFS_FSTYPES = "cpio.${INITRAMFS_CTYPE}"
+INITRAMFS_IMAGE = "obmc-phosphor-initramfs"
+INITRAMFS_IMAGE_df-obmc-ubi-fs = ""
diff --git a/meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend b/meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend
new file mode 100644
index 000000000..60d561011
--- /dev/null
+++ b/meta-phosphor/nuvoton-layer/recipes-phosphor/host/phosphor-host-postd_%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SNOOP_DEVICE = "npcm7xx-lpc-bpc0"
diff --git a/meta-phosphor/nuvoton-layer/recipes-phosphor/images/obmc-phosphor-image.bbappend b/meta-phosphor/nuvoton-layer/recipes-phosphor/images/obmc-phosphor-image.bbappend
deleted file mode 100644
index e60401e89..000000000
--- a/meta-phosphor/nuvoton-layer/recipes-phosphor/images/obmc-phosphor-image.bbappend
+++ /dev/null
@@ -1,70 +0,0 @@
-EXTRA_DEPENDS = ""
-
-EXTRA_DEPENDS_npcm7xx = " \
- npcm7xx-bootblock:do_deploy \
- npcm7xx-bingo-native:do_populate_sysroot \
- "
-
-UBOOT_BINARY := "u-boot.${UBOOT_SUFFIX}"
-
-BOOTBLOCK = "Poleg_bootblock.bin"
-
-
-FULL_SUFFIX = "full"
-MERGED_SUFFIX = "merged"
-
-UBOOT_SUFFIX_append_npcm7xx = ".${MERGED_SUFFIX}"
-
-
-do_prepare_bootloaders() {
-
-}
-
-
-# Prepare the Bootblock and U-Boot images using npcm7xx-bingo
-
-do_prepare_bootloaders_npcm7xx() {
-
- currdir=`pwd`
- cd ${DEPLOY_DIR_IMAGE}
-
- bingo ${STAGING_DIR_NATIVE}/${bindir}/BootBlockAndHeader_EB.xml \
- -o ${DEPLOY_DIR_IMAGE}/${BOOTBLOCK}.${FULL_SUFFIX}
-
- bingo ${STAGING_DIR_NATIVE}/${bindir}/UbootHeader_EB.xml \
- -o ${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY}.${FULL_SUFFIX}
-
- bingo ${STAGING_DIR_NATIVE}/${bindir}/mergedBootBlockAndUboot.xml \
- -o ${DEPLOY_DIR_IMAGE}/${UBOOT_BINARY}.${MERGED_SUFFIX}
-
- cd $currdir
-}
-
-
-do_prepare_bootloaders[depends] += "${EXTRA_DEPENDS}"
-
-
-addtask do_prepare_bootloaders before do_generate_static after do_generate_rwfs_static
-
-
-# Include the full bootblock and u-boot in the final static image
-
-python do_generate_static_append_npcm7xx() {
-
- _append_image(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True),
- 'u-boot.%s' % d.getVar('UBOOT_SUFFIX',True)),
- int(d.getVar('FLASH_UBOOT_OFFSET', True)),
- int(d.getVar('FLASH_KERNEL_OFFSET', True)))
-}
-
-do_make_ubi_append_npcm7xx() {
-
- # Concatenate the uboot and ubi partitions
- dd bs=1k conv=notrunc seek=${FLASH_UBOOT_OFFSET} \
- if=${DEPLOY_DIR_IMAGE}/u-boot.${UBOOT_SUFFIX} \
- of=${IMGDEPLOYDIR}/${IMAGE_NAME}.ubi.mtd
-}
-
-do_make_ubi[depends] += "${PN}:do_prepare_bootloaders"
-do_generate_ubi_tar[depends] += "${PN}:do_prepare_bootloaders"
-do_generate_static_tar[depends] += "${PN}:do_prepare_bootloaders"
diff --git a/meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi/phosphor-gpio-keys.cfg b/meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi/phosphor-gpio-keys.cfg
new file mode 100644
index 000000000..f5c01bed7
--- /dev/null
+++ b/meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi/phosphor-gpio-keys.cfg
@@ -0,0 +1,7 @@
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_INPUT_LEDS is not set
+# CONFIG_INPUT_MOUSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_KEYBOARD_ATKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_INPUT_MOUSE is not set
diff --git a/meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi/phosphor-gpio-keys.scc b/meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi/phosphor-gpio-keys.scc
new file mode 100644
index 000000000..78961af7a
--- /dev/null
+++ b/meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi/phosphor-gpio-keys.scc
@@ -0,0 +1,2 @@
+define KFEATURE_DESCRIPTION "Enable gpio-keys"
+kconf non-hardware phosphor-gpio-keys.cfg
diff --git a/meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend b/meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend
new file mode 100644
index 000000000..71e208cd4
--- /dev/null
+++ b/meta-phosphor/raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend
@@ -0,0 +1,4 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://phosphor-gpio-keys.scc"
+SRC_URI += "file://phosphor-gpio-keys.cfg"
diff --git a/meta-phosphor/recipes-core/dropbear/dropbear/dropbear.default b/meta-phosphor/recipes-core/dropbear/dropbear/dropbear.default
new file mode 100644
index 000000000..b2f1ecc7d
--- /dev/null
+++ b/meta-phosphor/recipes-core/dropbear/dropbear/dropbear.default
@@ -0,0 +1 @@
+DROPBEAR_EXTRA_ARGS="-G priv-admin"
diff --git a/meta-phosphor/recipes-core/dropbear/dropbear_%.bbappend b/meta-phosphor/recipes-core/dropbear/dropbear_%.bbappend
index cab454af2..e3749acc9 100644
--- a/meta-phosphor/recipes-core/dropbear/dropbear_%.bbappend
+++ b/meta-phosphor/recipes-core/dropbear/dropbear_%.bbappend
@@ -3,4 +3,6 @@
# to yocto 2.5 or later which will pull in the latest dropbear code.
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://dropbearkey.service \
- file://localoptions.h"
+ file://localoptions.h \
+ file://dropbear.default \
+ "
diff --git a/meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend b/meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend
index 7eef4f9bb..d62dc9985 100644
--- a/meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend
+++ b/meta-phosphor/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend
@@ -1 +1 @@
-RRECOMMENDS_${PN}_append = " gtest sdbusplus phosphor-logging libstdc++-staticdev"
+RRECOMMENDS_${PN}_append = " googletest sdbusplus phosphor-logging libstdc++-staticdev"
diff --git a/meta-phosphor/recipes-core/systemd/obmc-targets.bb b/meta-phosphor/recipes-core/systemd/obmc-targets.bb
index 00c21b93a..4146dba5c 100644
--- a/meta-phosphor/recipes-core/systemd/obmc-targets.bb
+++ b/meta-phosphor/recipes-core/systemd/obmc-targets.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Provides well known Systemd synchronization points for OpenBMC."
HOMEPAGE = "http://github.com/openbmc"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
inherit allarch
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
deleted file mode 100644
index 1c101056c..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0001-networkd-fix-link_up-12505.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-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
deleted file mode 100644
index c359a1f33..000000000
--- a/meta-phosphor/recipes-core/systemd/systemd/0002-network-do-not-send-ipv6-token-to-kernel.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-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 5660e7cbf..0e76c2ea9 100644
--- a/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-phosphor/recipes-core/systemd/systemd_%.bbappend
@@ -2,16 +2,12 @@ FILES_${PN}-catalog-extralocales = \
"${exec_prefix}/lib/systemd/catalog/*.*.catalog"
PACKAGES =+ "${PN}-catalog-extralocales"
PACKAGECONFIG = "pam hostnamed networkd randomseed resolved sysusers timedated \
- timesyncd xz"
+ timesyncd xz kmod"
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/pam/libpam/pam.d/common-auth b/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-auth
index 7bebd9a6a..58ed74f19 100644
--- a/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-auth
+++ b/meta-phosphor/recipes-extended/pam/libpam/pam.d/common-auth
@@ -8,7 +8,7 @@
# traditional Unix authentication mechanisms.
# here are the per-package modules (the "Primary" block)
-auth [success=ok default=2] pam_tally2.so deny=0 unlock_time=0
+auth [success=ok user_unknown=ignore default=2] pam_tally2.so deny=0 unlock_time=0
# Try for local user first, and then try for ldap
auth [success=2 default=ignore] pam_unix.so nullok_secure
-auth [success=1 default=ignore] pam_ldap.so ignore_unknown_user ignore_authinfo_unavail
diff --git a/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb b/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb
index 7b721e01b..e0f35354a 100644
--- a/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb
+++ b/meta-phosphor/recipes-graphics/obmc-ikvm/obmc-ikvm_git.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=75859989545e37968a99b631ef42722e"
DEPENDS = " libvncserver systemd sdbusplus phosphor-logging phosphor-dbus-interfaces"
SRC_URI = "git://github.com/openbmc/obmc-ikvm"
-SRCREV = "133bfa2d5b1b3af0b8e819b4cd210a0e1ac0445c"
+SRCREV = "7cf1f1d43ef9b4c312bfb2c7c61514ca93a53ee6"
PV = "1.0+git${SRCPV}"
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config.bb
index c0cea9cb8..cc1f0825f 100644
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config.bb
+++ b/meta-phosphor/recipes-phosphor/certificate/phosphor-bmcweb-cert-config.bb
@@ -3,7 +3,7 @@ SUMMARY = "Phosphor certificate manager configuration for a bmcweb service"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/LICENSE;md5=19407077e42b1ba3d653da313f1f5b4e"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
RDEPENDS_${PN} = "phosphor-certificate-manager"
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 15395148d..028434a52 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 = "b57d75e2b1871fe048216ae98ae3a224ca3adb9e"
+SRCREV = "06a69d7b0674857ebe708025c17ce2fca93e1bf0"
inherit autotools \
pkgconfig \
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config.bb
index d41de2b59..f15fc73d3 100644
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config.bb
+++ b/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-authority-cert-config.bb
@@ -3,7 +3,7 @@ SUMMARY = "Phosphor certificate manager configuration for an nslcd authority ser
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/LICENSE;md5=19407077e42b1ba3d653da313f1f5b4e"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
RDEPENDS_${PN} = "phosphor-certificate-manager"
diff --git a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config.bb b/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config.bb
index d344851fc..0a53a3202 100644
--- a/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config.bb
+++ b/meta-phosphor/recipes-phosphor/certificate/phosphor-nslcd-cert-config.bb
@@ -3,7 +3,7 @@ SUMMARY = "Phosphor certificate manager configuration for a nslcd certificate"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/LICENSE;md5=19407077e42b1ba3d653da313f1f5b4e"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
RDEPENDS_${PN} = "phosphor-certificate-manager"
diff --git a/meta-phosphor/recipes-phosphor/chassis/obmc-host-failure-reboots.bb b/meta-phosphor/recipes-phosphor/chassis/obmc-host-failure-reboots.bb
index e82eaeac4..490a61534 100644
--- a/meta-phosphor/recipes-phosphor/chassis/obmc-host-failure-reboots.bb
+++ b/meta-phosphor/recipes-phosphor/chassis/obmc-host-failure-reboots.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Manages the settings entry that controls reboots \
on host failures"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-chassisd.bb b/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-chassisd.bb
index fb56db251..a32ba1246 100644
--- a/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-chassisd.bb
+++ b/meta-phosphor/recipes-phosphor/chassis/obmc-phosphor-chassisd.bb
@@ -2,7 +2,7 @@ SUMMARY = "Phosphor OpenBMC Chassis Management"
DESCRIPTION = "Phosphor OpenBMC chassis management reference implementation."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-pydbus-service
diff --git a/meta-phosphor/recipes-phosphor/clear-once/clear-once.bb b/meta-phosphor/recipes-phosphor/clear-once/clear-once.bb
index 5d6d8894c..4f32a0694 100644
--- a/meta-phosphor/recipes-phosphor/clear-once/clear-once.bb
+++ b/meta-phosphor/recipes-phosphor/clear-once/clear-once.bb
@@ -6,4 +6,4 @@ RDEPENDS_${PN} = "${@d.getVar('PREFERRED_PROVIDER_u-boot-fw-utils', True) or 'u-
inherit obmc-phosphor-systemd
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
diff --git a/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb b/meta-phosphor/recipes-phosphor/configuration/entity-manager_git.bb
index cb519cdb5..765ae6f71 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 = "ce66b3ae7091bf806542147bf9848dcc1a2215b6"
+SRCREV = "ce80db74ee4eceef3dcd236c74ba4d2aaaf76bda"
PV = "0.1+git${SRCPV}"
LICENSE = "Apache-2.0"
diff --git a/meta-phosphor/recipes-phosphor/dbus/dbus-perms.bb b/meta-phosphor/recipes-phosphor/dbus/dbus-perms.bb
index 1ba73d81f..b194740d3 100644
--- a/meta-phosphor/recipes-phosphor/dbus/dbus-perms.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/dbus-perms.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Phosphor OpenBMC DBUS Permissions."
HOMEPAGE = "http://github.com/openbmc/"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit dbus-dir
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces-mapper-config-native.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces-mapper-config-native.bb
index 7c9d5daf2..3dfc3b1a6 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces-mapper-config-native.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-interfaces-mapper-config-native.bb
@@ -4,7 +4,7 @@ xyz.openbmc_project interface prefix to the mapper \
watch list."
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit phosphor-mapper
inherit native
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 12c5ee108..84d9cdf9b 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 = "ddc9e9f9d6ed0282ec6c1421a706b45f3c09ebcc"
+SRCREV = "7aa705a9356c16d3540943a0436ea09c0fa61ab2"
DEPENDS_remove_class-native = "sdbus++-native"
DEPENDS_remove_class-nativesdk = "sdbus++-native"
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bb
index 6fadcae21..d1de054be 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor-config.bb
@@ -4,7 +4,7 @@ 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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit phosphor-dbus-monitor
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 ae2274369..faac52ce5 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-dbus-monitor_git.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-dbus-monitor"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI = "git://github.com/openbmc/phosphor-dbus-monitor"
-SRCREV = "92907da08e311656bd5980476c252c19e8dbad11"
+SRCREV = "91e14a58027e8084eb114e0afce6081a6a95a478"
inherit autotools \
pkgconfig \
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-legacy-namespace-mapper-config-native.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-legacy-namespace-mapper-config-native.bb
index fe0bea3d0..c92351214 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-legacy-namespace-mapper-config-native.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-legacy-namespace-mapper-config-native.bb
@@ -3,7 +3,7 @@ DESCRIPTION="Add the legacy org.openbmc service namespace and \
org.openbmc interface prefix to the mapper watch list."
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit phosphor-mapper
inherit native
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper-config-native.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper-config-native.bb
index 68163e1f3..37b9f64b3 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper-config-native.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper-config-native.bb
@@ -4,7 +4,7 @@ configuration files to the native /usr/share/phosphor-mapper filesystem."
HOMEPAGE = "http://github.com/openbmc/phosphor-objmgr"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-mapper
diff --git a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
index 1f64caf8a..a74bb6991 100644
--- a/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
+++ b/meta-phosphor/recipes-phosphor/dbus/phosphor-mapper_git.bb
@@ -26,7 +26,7 @@ SYSTEMD_SERVICE_${PN} += " \
"
SRC_URI += "git://github.com/openbmc/phosphor-objmgr"
-SRCREV = "5eddf44006cf9ad5b9a5c103adc1682fc835f932"
+SRCREV = "d0cf94288f597191bff5960b36145f9d94735cd8"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-errors-native.bb b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-errors-native.bb
index 7a6870c5d..0a232c8fa 100644
--- a/meta-phosphor/recipes-phosphor/dump/phosphor-debug-errors-native.bb
+++ b/meta-phosphor/recipes-phosphor/dump/phosphor-debug-errors-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Debug collector error watch config file"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-phosphor/recipes-phosphor/fans/obmc-phosphor-fand.bb b/meta-phosphor/recipes-phosphor/fans/obmc-phosphor-fand.bb
index 70028af07..f7a3e051d 100644
--- a/meta-phosphor/recipes-phosphor/fans/obmc-phosphor-fand.bb
+++ b/meta-phosphor/recipes-phosphor/fans/obmc-phosphor-fand.bb
@@ -2,7 +2,7 @@ SUMMARY = "Phosphor OpenBMC Fan Management."
DESCRIPTION = "Phosphor OpenBMC fan management reference implementation."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit pkgconfig
inherit obmc-phosphor-sdbus-service
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-events-config.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-events-config.bb
index 360650f8f..433ac65c2 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-events-config.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-events-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor zone events definition default data"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-fan
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-fan-config.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-fan-config.bb
index b82da0a0c..ae3b80ca3 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-fan-config.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-fan-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor fan definition example data"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-fan
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bb
index 1dc114990..319175343 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-zone-conditions-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor zone conditions definition default data"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-fan
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-zone-config.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-zone-config.bb
index e649777e7..3e47d92d4 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-zone-config.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-control-zone-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor fan zone definition default data"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-fan
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-monitor-config.bb b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-monitor-config.bb
index 9285981ef..98604dee6 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-monitor-config.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-monitor-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor fan monitor definition default data"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-fan
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 d4176c512..938509cd5 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-fan-presence-config.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-fan-presence-config.bb
@@ -7,7 +7,7 @@
SUMMARY = "Config file for phosphor-fan-presence"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-fan
diff --git a/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc b/meta-phosphor/recipes-phosphor/fans/phosphor-fan.inc
index 85619eab0..0c6092a9e 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 = "efbe7abd508a3e24fc4d1f4ed0ac6c04836c3d72"
+SRCREV = "301ec595f551393ebe0624e64b4b40bfc3bc1fcf"
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 276feee0b..881bfd7f7 100644
--- a/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
+++ b/meta-phosphor/recipes-phosphor/fans/phosphor-pid-control_git.bb
@@ -14,7 +14,7 @@ inherit systemd
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-pid-control"
-SRCREV = "a7ec8350d17b70153cebe666d3fbe88bddd02a1a"
+SRCREV = "6b9f59991b7f694866c98775b4179ae97c5e69a8"
# Each platform will need a service file that starts
# at an appropriate time per system. For instance, if
diff --git a/meta-phosphor/recipes-phosphor/flash/obmc-phosphor-flashd.bb b/meta-phosphor/recipes-phosphor/flash/obmc-phosphor-flashd.bb
index b596b8194..602dbe9ec 100644
--- a/meta-phosphor/recipes-phosphor/flash/obmc-phosphor-flashd.bb
+++ b/meta-phosphor/recipes-phosphor/flash/obmc-phosphor-flashd.bb
@@ -2,7 +2,7 @@ SUMMARY = "Phosphor OpenBMC Flash Management"
DESCRIPTION = "Phosphor OpenBMC flash management reference implementation."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-pydbus-service
diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-image-signing.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-image-signing.bb
index bce985360..16e1d999f 100644
--- a/meta-phosphor/recipes-phosphor/flash/phosphor-image-signing.bb
+++ b/meta-phosphor/recipes-phosphor/flash/phosphor-image-signing.bb
@@ -2,7 +2,7 @@ SUMMARY = "OpenBMC image signing public key"
DESCRIPTION = "Public key information to be included in images for image verification."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-insecure-signing-key-native.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-insecure-signing-key-native.bb
index dc2243acf..d16cea313 100644
--- a/meta-phosphor/recipes-phosphor/flash/phosphor-insecure-signing-key-native.bb
+++ b/meta-phosphor/recipes-phosphor/flash/phosphor-insecure-signing-key-native.bb
@@ -2,7 +2,7 @@ SUMMARY = "Insecure private key for testing and development"
DESCRIPTION = "Do not use this key to sign images."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit native
diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-error-native_git.bb b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-error-native_git.bb
index ade18da8f..806f07ca5 100644
--- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-error-native_git.bb
+++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager-error-native_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "Copy error yaml files to known path for elog parsing"
PR = "r1"
PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-dbus-yaml
diff --git a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc
index bdc16038a..17a9e385b 100644
--- a/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc
+++ b/meta-phosphor/recipes-phosphor/flash/phosphor-software-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "https://github.com/openbmc/phosphor-bmc-code-mgmt"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
SRC_URI += "git://github.com/openbmc/phosphor-bmc-code-mgmt"
-SRCREV = "a013560f96a9ee5c2db4e1778c7dcee199c3acf1"
+SRCREV = "85c356f76fe07db3c1253c48f5b35c5811a15c07"
diff --git a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb
index 683a5aca0..b18f27794 100644
--- a/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb
+++ b/meta-phosphor/recipes-phosphor/gpio/phosphor-gpio-monitor_git.bb
@@ -38,5 +38,5 @@ FILES_${PN}-monitor += "${bindir}/phosphor-gpio-util"
FILES_${PN}-presence += "${bindir}/phosphor-gpio-presence"
SRC_URI += "git://github.com/openbmc/phosphor-gpio-monitor"
-SRCREV = "206f0040985e27a0651a9164d7958bf347142a31"
+SRCREV = "86d16f037350afd379d062ca17cab5d553a1c8f2"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb
index d77f92c48..739aab50b 100644
--- a/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb
+++ b/meta-phosphor/recipes-phosphor/images/obmc-phosphor-initramfs.bb
@@ -2,10 +2,10 @@ DESCRIPTION = "Small image capable of booting a device. The kernel includes \
the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \
first 'init' program more efficiently."
-PACKAGE_INSTALL = "${VIRTUAL-RUNTIME_base-utils} udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL} obmc-phosphor-initfs"
+PACKAGE_INSTALL = "${VIRTUAL-RUNTIME_base-utils} base-passwd ${ROOTFS_BOOTSTRAP_INSTALL} obmc-phosphor-initfs"
# Do not pollute the initrd image with rootfs features
-IMAGE_FEATURES = ""
+IMAGE_FEATURES = "read-only-rootfs"
export IMAGE_BASENAME = "obmc-phosphor-initramfs"
IMAGE_LINGUAS = ""
@@ -18,6 +18,9 @@ inherit core-image
IMAGE_ROOTFS_SIZE = "8192"
IMAGE_ROOTFS_EXTRA_SPACE = "0"
+# Needed for the set_user_group functions to succeed
+DEPENDS += "shadow-native"
+
PACKAGE_INSTALL_remove = "shadow"
PACKAGE_EXCLUDE = "shadow"
BAD_RECOMMENDATIONS += "busybox-syslog"
diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bb b/meta-phosphor/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bb
index ab2c38e90..4c6fad8e4 100644
--- a/meta-phosphor/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bb
+++ b/meta-phosphor/recipes-phosphor/initrdscripts/obmc-phosphor-initfs.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor OpenBMC pre-init scripts"
DESCRIPTION = "Phosphor OpenBMC filesystem mount reference implementation."
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
PR = "r1"
diff --git a/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb b/meta-phosphor/recipes-phosphor/interfaces/bmcweb_git.bb
index b79388406..dab8e0dd3 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 = "b6a61a5ec6aa3509c7dccad521e3850c71008a7a"
+SRCREV = "a3268f98f308ca7c8660b1ace44d5b9a40be204b"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager-assettag.bb b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager-assettag.bb
index 2dd6e281c..2cba64e71 100644
--- a/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager-assettag.bb
+++ b/meta-phosphor/recipes-phosphor/inventory/phosphor-inventory-manager-assettag.bb
@@ -1,7 +1,7 @@
SUMMARY = "Recipe to create AssetTag property in inventory manager"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit phosphor-inventory-manager
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config.bb
index 96e977c15..8de43d28f 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor IPMI daemon configuration"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
@@ -13,6 +13,7 @@ SRC_URI = " \
file://power_reading.json \
file://channel_access.json \
file://channel_config.json \
+ file://entity-map.json \
"
FILES_${PN} = " \
@@ -23,6 +24,7 @@ FILES_${PN} = " \
${datadir}/ipmi-providers/power_reading.json \
${datadir}/ipmi-providers/channel_access.json \
${datadir}/ipmi-providers/channel_config.json \
+ ${datadir}/ipmi-providers/entity-map.json \
"
do_fetch[noexec] = "1"
@@ -46,5 +48,6 @@ do_install() {
${D}${datadir}/ipmi-providers/channel_access.json
install -m 0644 -D ${WORKDIR}/channel_config.json \
${D}${datadir}/ipmi-providers/channel_config.json
-
+ install -m 0644 -D ${WORKDIR}/entity-map.json \
+ ${D}${datadir}/ipmi-providers/entity-map.json
}
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/entity-map.json b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/entity-map.json
new file mode 100644
index 000000000..cdb1ea847
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-config/entity-map.json
@@ -0,0 +1,15 @@
+[
+ {
+ "id" : 1,
+ "containerEntityId" : 30,
+ "containerEntityInstance" : 1,
+ "isList" : true,
+ "isLinked" : false,
+ "entities" : [
+ {"id" : 3, "instance" : 1},
+ {"id" : 4, "instance" : 1},
+ {"id" : 0, "instance" : 0},
+ {"id" : 0, "instance" : 0}
+ ]
+ }
+]
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 59f244c61..09bf1029b 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-flash_git.bb
@@ -21,7 +21,10 @@ 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.
+# To be able to track the update status, update-status option can be used.
+# Note that both reboot-update and update-status cannot be enabled at the same time.
PACKAGECONFIG[reboot-update] = "--enable-reboot-update, --disable-reboot-update"
+PACKAGECONFIG[update-status] = "--enable-update-status, --disable-update-status"
# Default options for supporting various flash types:
PACKAGECONFIG[static-bmc] = "--enable-static-layout, --disable-static-layout"
@@ -41,7 +44,7 @@ EXTRA_OECONF_append = " MAPPED_ADDRESS=${IPMI_FLASH_BMC_ADDRESS}"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/openbmc/phosphor-ipmi-flash"
-SRCREV = "9cce5a26729f4485676999e3f8eae0aec4fffaa0"
+SRCREV = "6749ba1c93c9b4f65c9ef7791987fc2f98bc15d1"
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} += "phosphor-ipmi-flash-bmc-prepare.target \
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-merge-config-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-merge-config-native.bb
index 734aca11c..d86b7e9f6 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-merge-config-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-merge-config-native.bb
@@ -5,7 +5,7 @@ files generated by gen-ipmi-fru.pl into a single config file. \
fru-gen parser parses the merged config file and generates cpp file"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-mrw-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-mrw-native.bb
index 31fba5aab..5c1a4b4c0 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-mrw-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-mrw-native.bb
@@ -1,7 +1,7 @@
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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-fru
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native.bb
index 02f4514e4..5b56f6bd7 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-properties-native.bb
@@ -1,7 +1,7 @@
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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-fru
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native.bb
index 1cd726f10..dc696b138 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-bmc-inventory-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "BMC accesible FRU inventory map for phosphor-ipmi-host"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native.bb
index 6c0da6cc9..828648745 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-read-not-sent-by-host-inventory-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "The inventory map of frus not sent by host for phosphor-ipmi-host"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-whitelist-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-whitelist-native.bb
index 99036b529..a4e93e260 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-whitelist-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-fru-whitelist-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Whitelisted IPMI FRU Parser commands"
DESCRIPTION = "Whitelisted IPMI FRU Parser commands for OpenBMC"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host-whitelist
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host.inc
index 4969e6bfd..88c53d393 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 = "9cf85627cf6fe224b7bf9399a60022397ebeb970"
+SRCREV = "e7023926675030a5976dffda0825445ca0b5ef84"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/entity.yaml b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/entity.yaml
deleted file mode 100644
index f41c2fda6..000000000
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host/entity.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-0x01:
- containerEntityId: 0x1E
- containerEntityInstance: 0x1
- isList: "true"
- isLinked: "false"
- entityId1: 0x03
- entityInstance1: 0x1
- entityId2: 0x04
- entityInstance2: 0x1
- entityId3: 0x00
- entityInstance3: 0x00
- entityId4: 0x00
- entityInstance4: 0x00
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 f5606cbf7..f654d0ce6 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb
@@ -14,8 +14,6 @@ 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 ''
@@ -103,16 +101,6 @@ 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-inventory-sel-mrw-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-inventory-sel-mrw-native.bb
index 6989358f9..86a6411c7 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-inventory-sel-mrw-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-inventory-sel-mrw-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Inventory to Sensor config for phosphor-host-ipmi"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-inventory-sel-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-inventory-sel-native.bb
index b99ccc76f..2a0aab673 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-inventory-sel-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-inventory-sel-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Inventory to Sensor config for non-mrw machines"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
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 1ffec62ed..f6b63dfe3 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 = "35ca150beb7d5faf2fe0ca44c87bc7b0ade0aee7"
+SRCREV = "ddba9d15af607274462fc3372b3d72393d03899a"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-config-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-config-native.bb
index dfbb93874..6259e4feb 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-config-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "OpenBMC - IPMI sensors"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config-native.bb
index a01a5430f..76fff8e27 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "sensor config for phosphor-host-ipmid"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-native.bb
index 5d679b4fb..23bd32b45 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-mrw-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "sensor config for phosphor-host-ipmid"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native.bb b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native.bb
index 4e58cf446..1f5df6d27 100644
--- a/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native.bb
+++ b/meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-sensor-inventory-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Sensor config for phosphor-host-ipmi"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-config-mrw-native.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-config-mrw-native.bb
index ccc0fc280..4eeb6cec5 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-config-mrw-native.bb
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-config-mrw-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor LED Group Management with MRW generated data"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit mrw-xml
diff --git a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-error-native_git.bb b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-error-native_git.bb
index a2b9c3f78..a24476745 100644
--- a/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-error-native_git.bb
+++ b/meta-phosphor/recipes-phosphor/leds/phosphor-led-manager-error-native_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "Copy error yaml files to known path for elog parsing"
PR = "r1"
PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-dbus-yaml
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging-callouts-example-native.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging-callouts-example-native.bb
index 434d5d02a..7362c792f 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging-callouts-example-native.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging-callouts-example-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Generated callout information for phosphor-logging"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-logging
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging-callouts-mrw-native.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging-callouts-mrw-native.bb
index be53df536..9515c6882 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging-callouts-mrw-native.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging-callouts-mrw-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Generated callout information for phosphor-logging"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-logging
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging-error-logs-native.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging-error-logs-native.bb
index ddb7faa5e..23464ebbd 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging-error-logs-native.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging-error-logs-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor OpenBMC - error log meta data generation"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
index 4b48c23e1..aeae1ff35 100644
--- a/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
+++ b/meta-phosphor/recipes-phosphor/logging/phosphor-logging_git.bb
@@ -54,7 +54,7 @@ FILES_phosphor-rsyslog-config += " \
"
SRC_URI += "git://github.com/openbmc/phosphor-logging"
-SRCREV = "3fb83b3787c8440e48d37eb4c488fa253d63a807"
+SRCREV = "14d671fa2311144fe43047486c4938e9c461ce24"
S = "${WORKDIR}/git"
@@ -92,6 +92,13 @@ PACKAGECONFIG[install_scripts] = " \
--disable-install_scripts, ,\
"
+PACKAGECONFIG[openpower-pels] = " \
+ --enable-openpower-pel-extension, \
+ --disable-openpower-pel-extension, \
+ nlohmann-json, \
+ , \
+ "
+
# Enable install_scripts during native and native SDK build
PACKAGECONFIG_add_class-native = "install_scripts"
PACKAGECONFIG_add_class-nativesdk = "install_scripts"
diff --git a/meta-phosphor/recipes-phosphor/mrw/mrw-native_git.bb b/meta-phosphor/recipes-phosphor/mrw/mrw-native_git.bb
index 80bfabcec..b17b7f63a 100644
--- a/meta-phosphor/recipes-phosphor/mrw/mrw-native_git.bb
+++ b/meta-phosphor/recipes-phosphor/mrw/mrw-native_git.bb
@@ -10,7 +10,7 @@ inherit native
inherit mrw-xml
PHOSPHOR_MRW_LICENSE ?= "Apache-2.0"
-PHOSPHOR_MRW_LIC_FILES_CHKSUM ?= "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+PHOSPHOR_MRW_LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
PHOSPHOR_MRW_URI ?= "http://missing-mrw-uri"
LICENSE = "${PHOSPHOR_MRW_LICENSE}"
diff --git a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
index 96a65c182..28f375363 100644
--- a/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
+++ b/meta-phosphor/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bb
@@ -28,6 +28,7 @@ PACKAGES = " \
SUMMARY_${PN}-bmc-state-mgmt = "BMC state management"
RDEPENDS_${PN}-bmc-state-mgmt = " \
${VIRTUAL-RUNTIME_obmc-bmc-state-manager} \
+ phosphor-state-manager-systemd-target-monitor \
"
SUMMARY_${PN}-chassis-state-mgmt = "Chassis state management"
@@ -45,7 +46,6 @@ RDEPENDS_${PN}-extras = " \
obmc-ikvm \
phosphor-dbus-monitor \
phosphor-systemd-policy \
- dbus-broker \
"
SUMMARY_${PN}-extrasdev = "Development features"
diff --git a/meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts.bb b/meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts.bb
index 934d8da5f..5642f1601 100644
--- a/meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts.bb
+++ b/meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts.bb
@@ -2,7 +2,7 @@ inherit allarch
inherit update-alternatives
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_base-utils}"
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 44305c423..04e9864c4 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 = "3d300fca24b30864b3e9a4f5768cfe5e769458ae"
+SRCREV = "6afe9560852c6431c43c8e79a28e2b7cb498e355"
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 ff19a2555..1d70a0c3f 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 = "ffa07e254fb36bf54c92ba3714e5fc4b6dbc2f8c"
+SRCREV = "1a70a588dc6d57e68e684a789f46178efeeaf1cb"
PV = "0.1+git${SRCPV}"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb
index 91e4fa59b..ab222ab0f 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon-config-mrw.bb
@@ -2,7 +2,7 @@ SUMMARY = "Phosphor hwmon configuration generator"
DESCRIPTION = "Generate phosphor-hwmon configuration from an MRW."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit mrw-xml
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
index 8515f21a8..6697c7a3d 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 = "2227bd52c5bb8d62dcfe33b58d65515d21e9be17"
+SRCREV = "778f5c39b1e53ee291f10a6d4d13d8fb16bbc112"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults-native.bb b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults-native.bb
index ad156f988..eaf9fba4a 100644
--- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults-native.bb
+++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-defaults-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Default settings"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-settings-manager
diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager.inc b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager.inc
index a3cd90240..a6223e9ac 100644
--- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager.inc
+++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-manager.inc
@@ -2,4 +2,4 @@ HOMEPAGE = "http://github.com/openbmc/phosphor-settingsd"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
SRC_URI += "git://github.com/openbmc/phosphor-settingsd"
-SRCREV = "f1d09b0121d2cad6b996c09122e3266da7eecbfd"
+SRCREV = "3d805fe94abf741d4a228f8eef59f70bcb2328a7"
diff --git a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-read-settings-mrw-native.bb b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-read-settings-mrw-native.bb
index 023626ed8..7490d54d2 100644
--- a/meta-phosphor/recipes-phosphor/settings/phosphor-settings-read-settings-mrw-native.bb
+++ b/meta-phosphor/recipes-phosphor/settings/phosphor-settings-read-settings-mrw-native.bb
@@ -5,7 +5,7 @@
SUMMARY = "Generates MRW settings override YAML for phosphor-settings-manager."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-settings-manager
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 7aba09545..7cae3902a 100644
--- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
+++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager_git.bb
@@ -15,6 +15,7 @@ STATE_MGR_PACKAGES = " \
${PN}-discover \
${PN}-host-check \
${PN}-reset-sensor-states \
+ ${PN}-systemd-target-monitor \
"
PACKAGE_BEFORE_PN += "${STATE_MGR_PACKAGES}"
ALLOW_EMPTY_${PN} = "1"
@@ -23,6 +24,7 @@ DBUS_PACKAGES = "${STATE_MGR_PACKAGES}"
SYSTEMD_PACKAGES = "${PN}-discover \
${PN}-reset-sensor-states \
+ ${PN}-systemd-target-monitor \
"
# The host-check function will check if the host is running
@@ -42,6 +44,8 @@ DEPENDS += "sdeventplus"
DEPENDS += "phosphor-logging"
DEPENDS += "phosphor-dbus-interfaces"
DEPENDS += "libcereal"
+DEPENDS += "nlohmann-json"
+DEPENDS += "cli11"
FILES_${PN}-host = "${bindir}/phosphor-host-state-manager"
DBUS_SERVICE_${PN}-host += "xyz.openbmc_project.State.Host.service"
@@ -66,6 +70,12 @@ SYSTEMD_SERVICE_${PN}-host-check += "phosphor-reset-host-running@.service"
SYSTEMD_SERVICE_${PN}-reset-sensor-states += "phosphor-reset-sensor-states@.service"
+FILES_${PN}-systemd-target-monitor = " \
+ ${bindir}/phosphor-systemd-target-monitor \
+ ${sysconfdir}/phosphor-systemd-target-monitor/phosphor-target-monitor-default.json \
+ "
+SYSTEMD_SERVICE_${PN}-systemd-target-monitor += "phosphor-systemd-target-monitor.service"
+
RESET_CHECK_TMPL = "phosphor-reset-host-check@.service"
RESET_CHECK_TGTFMT = "obmc-host-reset@{1}.target"
RESET_CHECK_INSTFMT = "phosphor-reset-host-check@{0}.service"
@@ -131,7 +141,12 @@ HOST_RST_RBT_ATTEMPTS_SVC_INST = "phosphor-reset-host-reboot-attempts@{0}.servic
HOST_RST_RBT_ATTEMPTS_SVC_FMT = "../${HOST_RST_RBT_ATTEMPTS_SVC}:${HOST_START_TGTFMT}.requires/${HOST_RST_RBT_ATTEMPTS_SVC_INST}"
SYSTEMD_LINK_${PN}-host += "${@compose_list_zip(d, 'HOST_RST_RBT_ATTEMPTS_SVC_FMT', 'OBMC_HOST_INSTANCES', 'OBMC_HOST_INSTANCES')}"
+do_install_append() {
+ install -d ${D}${sysconfdir}/phosphor-systemd-target-monitor
+ install ${S}/phosphor-target-monitor-default.json ${D}${sysconfdir}/phosphor-systemd-target-monitor/phosphor-target-monitor-default.json
+}
+
SRC_URI += "git://github.com/openbmc/phosphor-state-manager"
-SRCREV = "27115aec886d69def59d18be7534d1156a9712ce"
+SRCREV = "60c3ac8c874da1a037cb338ca033655a122aca9d"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/system/obmc-phosphor-sysd.bb b/meta-phosphor/recipes-phosphor/system/obmc-phosphor-sysd.bb
index 07b360ae3..9879a61f4 100644
--- a/meta-phosphor/recipes-phosphor/system/obmc-phosphor-sysd.bb
+++ b/meta-phosphor/recipes-phosphor/system/obmc-phosphor-sysd.bb
@@ -2,7 +2,7 @@ SUMMARY = "Phosphor OpenBMC System Management"
DESCRIPTION = "Phosphor OpenBMC system management reference implementation."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-pydbus-service
diff --git a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy.bb b/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy.bb
index 9a9f2bc81..21433976b 100644
--- a/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy.bb
+++ b/meta-phosphor/recipes-phosphor/systemd-policy/phosphor-systemd-policy.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Overrides for systemd and its applications"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
DEPENDS += "systemd"
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 1acefd1a7..d1c96662c 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 = "1af1223304dbf7aaecd5f238227abee95cce8b39"
+SRCREV = "7c6e7cffaf061aabfe5489ef52442e2f7cbd0fb7"
S = "${WORKDIR}/git"
diff --git a/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb b/meta-phosphor/recipes-phosphor/webui/phosphor-webui_git.bb
index 4df925b74..82c78a915 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 = "c652ed1889599da3ca2a0e0d36979e099f9b3b8c"
+SRCREV = "ff7f10685d0ce060bf2d1a90872c0c6016711b41"
S = "${WORKDIR}/git"
DEPENDS_prepend = "nodejs-native "
diff --git a/meta-qualcomm/conf/layer.conf b/meta-qualcomm/conf/layer.conf
index 51c563e86..5079054e3 100644
--- a/meta-qualcomm/conf/layer.conf
+++ b/meta-qualcomm/conf/layer.conf
@@ -3,6 +3,3 @@ BBPATH .= ":${LAYERDIR}"
BBFILE_COLLECTIONS += "qualcomm"
BBFILE_PATTERN_qualcomm = ""
-
-# Provide a variable that points the base of the qualcomm layer.
-QUALCOMMBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround.bb b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround.bb
index c7169a999..fb9a728e3 100644
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround.bb
+++ b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/chassis/ir38163-workaround.bb
@@ -2,7 +2,7 @@ SUMMARY = "centriq2400 VR sensor Re-Probe"
DESCRIPTION = "IR38163 work on DC on state, need re-probe for centriq2400 HW design"
PR = "r0"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUALCOMMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client.bb b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client.bb
index eb7ed1f78..929a11a5f 100644
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client.bb
+++ b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/console/centriq-2400rep-console-client.bb
@@ -1,6 +1,6 @@
FILESEXTRAPATHS_prepend_centriq2400-rep := "${THISDIR}/${PN}:"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUALCOMMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
SRC_URI += "file://centriq-2400rep-console-client.sh"
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config-native.bb b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config-native.bb
index 6e4d51744..d43aee8bf 100644
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config-native.bb
+++ b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/leds/centriq2400-rep-led-manager-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor LED Group Management for Centriq2400 REP"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUALCOMMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/socupdate.bb b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/socupdate.bb
index 16b11a346..9c4a0bd7e 100644
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/socupdate.bb
+++ b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/socupdate/socupdate.bb
@@ -3,7 +3,7 @@ DESCRIPTION = ""
HOMEPAGE = ""
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUALCOMMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
SRC_URI += "file://socupdate.sh"
diff --git a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config.bb b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config.bb
index 2f2fd6254..220adaca4 100644
--- a/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config.bb
+++ b/meta-qualcomm/meta-centriq2400-rep/recipes-phosphor/workbook/centriq2400-rep-config.bb
@@ -2,7 +2,7 @@ SUMMARY = "Qualcomm Rep board wiring"
DESCRIPTION = "Board wiring information for the Qualcomm Rep system."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUALCOMMBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
inherit setuptools
diff --git a/meta-quanta/conf/layer.conf b/meta-quanta/conf/layer.conf
index 6bc649299..81759fe51 100644
--- a/meta-quanta/conf/layer.conf
+++ b/meta-quanta/conf/layer.conf
@@ -7,7 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "quanta-layer"
BBFILE_PATTERN_quanta-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_quanta-layer = "thud warrior"
-
-# Provide a variable that points the base of the quanta layer.
-QUANTABASE = '${@os.path.normpath("${LAYERDIR}/")}'
+LAYERSERIES_COMPAT_quanta-layer = "warrior zeus"
diff --git a/meta-quanta/meta-f0b/conf/layer.conf b/meta-quanta/meta-f0b/conf/layer.conf
index dc1004297..cfffcf275 100644
--- a/meta-quanta/meta-f0b/conf/layer.conf
+++ b/meta-quanta/meta-f0b/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "f0b-layer"
BBFILE_PATTERN_f0b-layer = ""
-LAYERSERIES_COMPAT_f0b-layer = "thud warrior"
+LAYERSERIES_COMPAT_f0b-layer = "warrior zeus"
diff --git a/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-fru-read-inventory-native.bb b/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-fru-read-inventory-native.bb
index 89d861033..ac198a177 100644
--- a/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-fru-read-inventory-native.bb
+++ b/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-fru-read-inventory-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "F0B inventory map for phosphor-ipmi-host"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-inventory-map-native.bb b/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-inventory-map-native.bb
index 1831e59a9..edd8364c0 100644
--- a/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-inventory-map-native.bb
+++ b/meta-quanta/meta-f0b/recipes-phosphor/ipmi/f0b-ipmi-inventory-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "F0B IPMI to DBus Inventory mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-fru
diff --git a/meta-quanta/meta-gsj/conf/layer.conf b/meta-quanta/meta-gsj/conf/layer.conf
index e7dcbfeab..1da7654b5 100644
--- a/meta-quanta/meta-gsj/conf/layer.conf
+++ b/meta-quanta/meta-gsj/conf/layer.conf
@@ -7,4 +7,4 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
BBFILE_COLLECTIONS += "gsj-layer"
BBFILE_PATTERN_gsj-layer := "^${LAYERDIR}/"
-LAYERSERIES_COMPAT_gsj-layer = "thud warrior"
+LAYERSERIES_COMPAT_gsj-layer = "warrior zeus"
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
index 86303c359..24ca38d8f 100644
--- 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
@@ -2,7 +2,7 @@ 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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit systemd
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
index 8d3fbf376..37e4e44cf 100644
--- a/meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb
+++ b/meta-quanta/meta-gsj/recipes-gsj/mac-address/mac-address.bb
@@ -2,7 +2,7 @@ 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"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit autotools pkgconfig
inherit systemd
diff --git a/meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb b/meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb
index ada2a6a36..887b50305 100644
--- a/meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb
+++ b/meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb
@@ -2,7 +2,7 @@ SUMMARY = "Phosphor OpenBMC Quanta NVME Power Control Service"
DESCRIPTION = "Phosphor OpenBMC Quanta NVME Power Control Daemon."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
FILESEXTRAPATHS_append := "${THISDIR}/files:"
diff --git a/meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.service b/meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.service
index 913f5fbee..81a4e4244 100644
--- a/meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.service
+++ b/meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.service
@@ -1,5 +1,6 @@
[Unit]
Description=enable usb network
+After=phosphor-ipmi-host.service
[Service]
Type=oneshot
diff --git a/meta-quanta/meta-gsj/recipes-gsj/usb-network/usb-network.bb b/meta-quanta/meta-gsj/recipes-gsj/usb-network/usb-network.bb
index 591ca5afd..ad46c0b32 100644
--- a/meta-quanta/meta-gsj/recipes-gsj/usb-network/usb-network.bb
+++ b/meta-quanta/meta-gsj/recipes-gsj/usb-network/usb-network.bb
@@ -1,6 +1,6 @@
FILESEXTRAPATHS_append := "${THISDIR}/files:"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
DEPENDS += "systemd"
RDEPENDS_${PN} += "libsystemd"
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
index c294a733a..694ea2a0b 100644
--- 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
@@ -55,6 +55,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -64,6 +65,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -73,6 +75,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
}
],
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
index 430c3f4d2..f323219d1 100644
--- 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
@@ -55,6 +55,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -64,6 +65,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -73,6 +75,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -82,6 +85,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -91,6 +95,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -100,6 +105,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -109,6 +115,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -118,6 +125,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
},
{
@@ -127,6 +135,7 @@
"writePath": "",
"min": 0,
"max": 0,
+ "ignoreDbusMinMax": true,
"timeout": 0
}
],
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-fru-read-inventory-native.bb b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-fru-read-inventory-native.bb
index 340955c1a..c6061a23e 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-fru-read-inventory-native.bb
+++ b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-fru-read-inventory-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "gsj inventory map for phosphor-ipmi-host"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-inventory-map-native.bb b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-inventory-map-native.bb
index db3aaf20e..d46a7abdd 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-inventory-map-native.bb
+++ b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-inventory-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "gsj IPMI to DBus Inventory mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-fru
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-sensor-map-native.bb b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-sensor-map-native.bb
index b716bf054..2389730e8 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-sensor-map-native.bb
+++ b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/gsj-ipmi-sensor-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Quanta gsj IPMI to DBus Sensor mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/phosphor-ipmi-host/gsj-ipmid-whitelist.conf b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/phosphor-ipmi-host/gsj-ipmid-whitelist.conf
index a0d18b480..5eabef339 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/ipmi/phosphor-ipmi-host/gsj-ipmid-whitelist.conf
+++ b/meta-quanta/meta-gsj/recipes-phosphor/ipmi/phosphor-ipmi-host/gsj-ipmid-whitelist.conf
@@ -6,26 +6,33 @@
0x00:0x06 //<Chassis>:<Set Power Restore Policy>
0x00:0x08 //<Chassis>:<Set System Boot Options>
0x00:0x09 //<Chassis>:<Get System Boot Options>
-0x00:0x0F //<Chassis>:<Get POH Counter Command>
-0x04:0x02 //<Sensor/Event>:<Platform event>
+0x04:0x20 //<Sensor/Event>:<Get Device SDR Info>
+0x04:0x21 //<Sensor/Event>:<Get Device SDR>
+0x04:0x22 //<Sensor/Event>:<Reserve Device SDR Repository>
+0x04:0x27 //<Sensor/Event>:<Get Sensor Threshold>
+0x04:0x29 //<Sensor/Event>:<Get Sensor Event Enable>
+0x04:0x2B //<Sensor/Event>:<Get Sensor Event Status>
0x04:0x2D //<Sensor/Event>:<Get Sensor Reading>
0x04:0x2F //<Sensor/Event>:<Get Sensor Type>
0x04:0x30 //<Sensor/Event>:<Set Sensor Reading and Event Status>
0x06:0x01 //<App>:<Get Device ID>
+0x06:0x02 //<App>:<Cold Reset>
+0x06:0x03 //<App>:<Warm Reset>
0x06:0x04 //<App>:<Get Self Test Results>
-0x06:0x06 //<App>:<Set ACPI Power State>
-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:0x2E //<App>:<Set BMC Global Enables>
-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:0x40 //<App>:<Set Channel Access>
+0x06:0x41 //<App>:<Get Channel Access>
+0x06:0x42 //<App>:<Get Channel Info>
+0x06:0x43 //<App>:<Set User Access>
+0x06:0x44 //<App>:<Get User Access>
+0x06:0x45 //<App>:<Set User Name>
+0x06:0x46 //<App>:<Get User Name>
+0x06:0x47 //<App>:<Set User Password>
+0x06:0x48 //<App>:<Activate Payload>
+0x06:0x49 //<App>:<Deactivate Payload>
+0x06:0x4A //<App>:<Get Payload Activation Status>
+0x06:0x4B //<App>:<Get Payload Instance Info>
0x06:0x54 //<App>:<Get Channel Cipher Suites>
0x0A:0x10 //<Storage>:<Get FRU Inventory Area Info>
0x0A:0x11 //<Storage>:<Read FRU Data>
@@ -34,9 +41,12 @@
0x0A:0x23 //<Storage>:<Get SDR>
0x0A:0x40 //<Storage>:<Get SEL Info>
0x0A:0x42 //<Storage>:<Reserve SEL>
+0x0A:0x43 //<Storage>:<Get SEL Entry>
0x0A:0x44 //<Storage>:<Add SEL Entry>
+0x0A:0x47 //<Storage>:<Clear SEL>
0x0A:0x48 //<Storage>:<Get SEL Time>
0x0A:0x49 //<Storage>:<Set SEL Time>
+0x0C:0x01 //<Transport>:<Set LAN Configuration Parameters>
0x0C:0x02 //<Transport>:<Get LAN Configuration Parameters>
0x2C:0x00 //<Group Extension>:<Group Extension Command>
0x2C:0x01 //<Group Extension>:<Get DCMI Capabilities>
@@ -45,3 +55,7 @@
0x2C:0x06 //<Group Extension>:<Get Asset Tag>
0x2C:0x07 //<Group Extension>:<Get Sensor Info>
0x2C:0x10 //<Group Extension>:<Get Temperature Readings>
+0x2C:0x3E //<Group Extension>:<Get HPM.x Capabilities>
+0x2E:0x02 //<Google OEM>:<I2C via Proxy Adapter>
+0x2E:0x30 //<Google OEM>:<Ethernet Statistics>
+0x2E:0x32 //<Google OEM>:<Sys Commands>
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/leds/gsj-led-manager-config-native.bb b/meta-quanta/meta-gsj/recipes-phosphor/leds/gsj-led-manager-config-native.bb
index c8a8291e1..a91420fe9 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/leds/gsj-led-manager-config-native.bb
+++ b/meta-quanta/meta-gsj/recipes-phosphor/leds/gsj-led-manager-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor LED Group Management for gsj"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${PHOSPHORBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8b000/hotswap@15.conf b/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8b000/hotswap@15.conf
index b1dc82192..c2060ccb9 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8b000/hotswap@15.conf
+++ b/meta-quanta/meta-gsj/recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/i2c@8b000/hotswap@15.conf
@@ -8,13 +8,14 @@ MAXVALUE_temp1 = "127"
EVENT_temp1= "WARNHI,WARNLO,CRITHI,CRITLO"
LABEL_curr1= "P48V_HSC_Current"
-WARNLO_curr1= "3"
+WARNLO_curr1= "4"
CRITLO_curr1= "0"
-WARNHI_curr1= "13750"
-CRITHI_curr1= "15000"
+WARNHI_curr1= "17629"
+CRITHI_curr1= "19231"
MINVALUE_curr1 = "0"
MAXVALUE_curr1 = "23"
EVENT_curr1= "WARNHI,WARNLO,CRITHI,CRITLO"
+GAIN_curr1= "0.78"
LABEL_in3= "P48V_HSC_Vol"
WARNLO_in3= "39500"
@@ -26,10 +27,11 @@ MAXVALUE_in3 = "62"
EVENT_in3= "WARNHI,WARNLO,CRITHI,CRITLO"
LABEL_power1= "P48V_HSC_Power"
-WARNLO_power1= "100000"
+WARNLO_power1= "128205"
CRITLO_power1= "0"
-WARNHI_power1= "550000000"
-CRITHI_power1= "600000000"
+WARNHI_power1= "705128205"
+CRITHI_power1= "769230770"
MINVALUE_power1 = "0"
MAXVALUE_power1 = "795"
EVENT_power1= "WARNHI,WARNLO,CRITHI,CRITLO"
+GAIN_power1= "0.78"
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager/restrictionmode-default-whitelist.override.yml b/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager/restrictionmode-default-whitelist.override.yml
new file mode 100644
index 000000000..b0de5dd1a
--- /dev/null
+++ b/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager/restrictionmode-default-whitelist.override.yml
@@ -0,0 +1,6 @@
+---
+/xyz/openbmc_project/control/host0/restriction_mode:
+ - Interface: xyz.openbmc_project.Control.Security.RestrictionMode
+ Properties:
+ RestrictionMode:
+ Default: RestrictionMode::Modes::Whitelist
diff --git a/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend b/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
index da834423f..53db04d03 100644
--- a/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
+++ b/meta-quanta/meta-gsj/recipes-phosphor/settings/phosphor-settings-manager_%.bbappend
@@ -1,2 +1,3 @@
FILESEXTRAPATHS_prepend_gsj := "${THISDIR}/${BPN}:"
SRC_URI_append_gsj = " file://time-default.override.yml"
+SRC_URI_append_gsj = " file://restrictionmode-default-whitelist.override.yml"
diff --git a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-merge-config-native.bb b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-merge-config-native.bb
index 83bf5c2b2..f6db0c914 100644
--- a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-merge-config-native.bb
+++ b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-fru-merge-config-native.bb
@@ -1,5 +1,5 @@
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
diff --git a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb
index dbb59178f..85c085e99 100644
--- a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb
+++ b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-inventory-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Quanta-Q71l IPMI to DBus Inventory mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-fru
diff --git a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb
index 07c53e416..0c595fa71 100644
--- a/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb
+++ b/meta-quanta/meta-q71l/recipes-phosphor/ipmi/q71l-ipmi-sensor-map-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Quanta Q71l IPMI to DBus Sensor mapping."
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit phosphor-ipmi-host
diff --git a/meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/quanta-powerctrl.bb b/meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/quanta-powerctrl.bb
index f6f6458bf..37b27ac69 100644
--- a/meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/quanta-powerctrl.bb
+++ b/meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/quanta-powerctrl.bb
@@ -1,6 +1,6 @@
FILESEXTRAPATHS_append := "${THISDIR}/files:"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${QUANTABASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit systemd
inherit obmc-phosphor-systemd
diff --git a/meta-quanta/meta-runbmc-nuvoton/conf/layer.conf b/meta-quanta/meta-runbmc-nuvoton/conf/layer.conf
index e5aca0ef8..ccb683fe8 100644
--- a/meta-quanta/meta-runbmc-nuvoton/conf/layer.conf
+++ b/meta-quanta/meta-runbmc-nuvoton/conf/layer.conf
@@ -6,5 +6,5 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "runbmc-nuvoton-layer"
-BBFILE_PATTERN_runbmc-nuvoton-layer = ""
-LAYERSERIES_COMPAT_runbmc-nuvoton-layer = "thud warrior"
+BBFILE_PATTERN_runbmc-nuvoton-layer := "^${LAYERDIR}/"
+LAYERSERIES_COMPAT_runbmc-nuvoton-layer = "warrior zeus"
diff --git a/meta-quanta/meta-runbmc-nuvoton/conf/machine/runbmc-nuvoton.conf b/meta-quanta/meta-runbmc-nuvoton/conf/machine/runbmc-nuvoton.conf
index 4653ce568..c8e8257ca 100644
--- a/meta-quanta/meta-runbmc-nuvoton/conf/machine/runbmc-nuvoton.conf
+++ b/meta-quanta/meta-runbmc-nuvoton/conf/machine/runbmc-nuvoton.conf
@@ -1,11 +1,26 @@
KMACHINE = "nuvoton"
-KERNEL_DEVICETREE = "${KMACHINE}-npcm750-runbmc.dtb"
+KERNEL_DEVICETREE = "${KMACHINE}-npcm750-runbmc-olympus.dtb"
-UBOOT_MACHINE = "PolegSVB_config"
-
-FLASH_SIZE = "32768"
require conf/machine/include/npcm7xx.inc
require conf/machine/include/obmc-bsp-common.inc
+FLASH_SIZE = "32768"
+FLASH_UBOOT_OFFSET = "0"
+FLASH_KERNEL_OFFSET = "2048"
+FLASH_ROFS_OFFSET = "8192"
+FLASH_RWFS_OFFSET = "29696"
+
+UBOOT_MACHINE = "PolegRunBMC_defconfig"
+
IMAGE_FSTYPES += " cpio.${INITRAMFS_CTYPE}.u-boot"
IMAGE_FSTYPES += " mtd-ubi-tar"
+
+OBMC_MACHINE_FEATURES += "\
+ obmc-phosphor-fan-mgmt \
+ obmc-phosphor-chassis-mgmt \
+ obmc-phosphor-flash-mgmt \
+ obmc-host-ipmi \
+ obmc-host-state-mgmt \
+ obmc-chassis-state-mgmt \
+ obmc-bmc-state-mgmt \
+ "
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_RunBMC.xml b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_RunBMC.xml
new file mode 100644
index 000000000..58723e60e
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/BootBlockAndHeader_RunBMC.xml
@@ -0,0 +1,166 @@
+<!-- SPDX-License-Identifier: GPL-2.0
+#
+# Nuvoton IGPS: Image Generation And Programming Scripts For Poleg BMC
+#
+# Copyright (C) 2018 Nuvoton Technologies, All Rights Reserved
+#--------------------------------------------------------------------------->
+
+<?xml version="1.0" encoding="UTF-8"?>
+
+<Bin_Ecc_Map>
+ <!-- BMC mandatory fields -->
+ <ImageProperties>
+ <BinSize>0</BinSize> <!-- If 0 the binary size will be calculated by the tool -->
+ <PadValue>0xFF</PadValue> <!-- Byte value to pad the empty areas, default is 0 -->
+ </ImageProperties>
+
+ <BinField>
+ <!-- BootBlock tag (0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42) or
+ uboot tag (0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B) -->
+ <name>StartTag</name> <!-- name of field -->
+ <config>
+ <offset>0</offset> <!-- offset in the header -->
+ <size>0x8</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Code destination address, 32-bit aligned: for BootBlock should be 0xFFFD5E00 so code will run in 0xFFFD6000 as linked for -->
+ <name>DestAddr</name> <!-- name of field -->
+ <config>
+ <offset>0x140</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0xFFFD5E00</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- BootBlock or u-boot Code size -->
+ <name>CodeSize</name> <!-- name of field -->
+ <config>
+ <offset>0x144</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='FileSize'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- The BootBlock or u-boot binary file -->
+ <name>Code</name> <!-- name of field -->
+ <config>
+ <offset>0x200</offset> <!-- offset in the header -->
+ <size format='FileSize'>Poleg_bootblock.bin</size> <!-- size in the header calculated by tool-->
+ </config>
+ <content format='FileContent'>Poleg_bootblock.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <!-- BMC optional fields -->
+ <BinField>
+ <!-- Word contents copied by ROM code to FIU0 FIU_DRD_CFG register -->
+ <name>FIU0_DRD_CFG_Set</name> <!-- name of field -->
+ <config>
+ <offset>0x108</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x030011BB</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines the clock divide ratio from AHB to FIU0 clock -->
+ <name>FIU_Clk_Divider</name> <!-- name of field -->
+ <config>
+ <offset>0x10C</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>4</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Version (Major.Minor) -->
+ <name>Version</name> <!-- name of field -->
+ <config>
+ <offset>0x148</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x0201</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Board manufaturer ( Dell = 0, Nuvoton = 100, Google = 1, MS = 2) -->
+ <name>BOARD_VENDOR</name> <!-- name of field -->
+ <config>
+ <offset>0x124</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>100</content> <!--Board_manufacturer: Nuvoton-->
+ </BinField>
+ <BinField>
+ <!-- Board type ( DRB = 0, SVB = 1, EB = 2,HORIZON = 3, SANDSTORM = 4, ROCKAWAY = 100 RunBMC = 10) -->
+ <!-- WARNING: Currently this value is only printed to serial. Set BOARD_VENDOR to 1 get Dell specific customization. -->
+ <name>BOARD_TYPE</name> <!-- name of field -->
+ <config>
+ <offset>0x120</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x0A</content> <!--Board_type: SVB-->
+ </BinField>
+
+ <!-- the next two fields are available since version 10.7.0 -->
+ <BinField>
+ <!-- supported values: 333,444,500,600,666,700,720,750,775,787,800,825,850,900,950,1000,1060 -->
+ <name>MC_FREQ_IN_MHZ</name> <!-- name of field -->
+ <config>
+ <offset>0x128</offset> <!-- offset in the header -->
+ <size>0x2</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>800</content>
+ </BinField>
+ <BinField>
+ <!-- supporeted values: 333,500,600,666,700,720,750,800,825,850,900,950,1000,1060 -->
+ <name>CPU_FREQ_IN_MHZ</name> <!-- name of field -->
+ <config>
+ <offset>0x12A</offset> <!-- offset in the header -->
+ <size>0x2</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>800</content>
+ </BinField>
+
+ <BinField>
+ <!-- MC_CONFIG.
+ Bit 0: MC_DISABLE_CAPABILITY_INPUT_DQS_ENHANCE_TRAINING (0x01)
+ Bit 1: MC_CAPABILITY_IGNORE_ECC_DEVICE (0x02) -->
+ <name>MC_CONFIG</name> <!-- name of field -->
+ <config>
+ <offset>0x12C</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x01</content>
+ </BinField>
+
+ <BinField>
+ <!-- HOST_IF.
+ 0xFF: LPC backward compatible
+ 0x00: LPC.
+ 0x01: eSPI
+ 0x02: GPIOs TRIS. -->
+ <name>HOST_IF</name> <!-- name of field -->
+ <config>
+ <offset>0x12D</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x00</content>
+ </BinField>
+
+ <!-- reserved fields -->
+ <BinField>
+ <!-- reserved field for sample -->
+ <name>My_reserved</name> <!-- name of field -->
+ <config>
+ <offset>0x110</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0xFF 0xFF 0xFF 0xFF</content> <!-- content the user should fill -->
+ </BinField>
+
+</Bin_Ecc_Map>
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/UbootHeader_RunBMC.xml b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/UbootHeader_RunBMC.xml
new file mode 100644
index 000000000..1612a8368
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/files/UbootHeader_RunBMC.xml
@@ -0,0 +1,191 @@
+<!-- SPDX-License-Identifier: GPL-2.0
+#
+# Nuvoton IGPS: Image Generation And Programming Scripts For Poleg BMC
+#
+# Copyright (C) 2018 Nuvoton Technologies, All Rights Reserved
+#--------------------------------------------------------------------------->
+
+<?xml version="1.0" encoding="UTF-8"?>
+
+<Bin_Ecc_Map>
+ <!-- BMC mandatory fields -->
+ <ImageProperties>
+ <BinSize>0</BinSize> <!-- If 0 the binary size will be calculated by the tool -->
+ <PadValue>0xFF</PadValue> <!-- Byte value to pad the empty areas, default is 0 -->
+ </ImageProperties>
+
+ <BinField>
+ <!-- BootBlock tag (0x50 0x07 0x55 0xAA 0x54 0x4F 0x4F 0x42) or
+ uboot tag (0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B) -->
+ <name>StartTag</name> <!-- name of field -->
+ <config>
+ <offset>0</offset> <!-- offset in the header -->
+ <size>0x8</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x55 0x42 0x4F 0x4F 0x54 0x42 0x4C 0x4B</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Code destination address, 32-bit aligned: for u-boot should be 0x80005000 so code will run in 0x80005200 as linked for -->
+ <name>DestAddr</name> <!-- name of field -->
+ <config>
+ <offset>0x140</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x8000</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- BootBlock or u-boot Code size -->
+ <name>CodeSize</name> <!-- name of field -->
+ <config>
+ <offset>0x144</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='FileSize'>u-boot.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- The BootBlock or u-boot binary file -->
+ <name>Code</name> <!-- name of field -->
+ <config>
+ <offset>0x200</offset> <!-- offset in the header -->
+ <size format='FileSize'>u-boot.bin</size> <!-- size in the header calculated by tool-->
+ </config>
+ <content format='FileContent'>u-boot.bin</content> <!-- content the user should fill -->
+ </BinField>
+
+ <!-- BMC optional fields -->
+ <BinField>
+ <!-- Word contents copied by ROM code to FIU0 FIU_DRD_CFG register -->
+ <name>FIU0_DRD_CFG_Set</name> <!-- name of field -->
+ <config>
+ <offset>0x108</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x030111BC</content> <!-- content the user should fill 0x030032EB -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines the clock divide ratio from AHB to FIU0 clock -->
+ <name>FIU0_Clk_Divider</name> <!-- name of field -->
+ <config>
+ <offset>0x10C</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU0 CS1 is enabled -->
+ <name>fiu0_cs1_en</name> <!-- name of field -->
+ <config>
+ <offset>0x10D</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU0 CS2 is enabled -->
+ <name>fiu0_cs2_en</name> <!-- name of field -->
+ <config>
+ <offset>0x10E</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU0 CS3 is enabled -->
+ <name>fiu0_cs3_en</name> <!-- name of field -->
+ <config>
+ <offset>0x10F</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <!-- BMC optional fields -->
+ <BinField>
+ <!-- Word contents copied by ROM code to FIU3 FIU_DRD_CFG register -->
+ <name>FIU3_DRD_CFG_Set</name> <!-- name of field -->
+ <config>
+ <offset>0x110</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x030011BB</content> <!-- content the user should fill -->
+ </BinField>
+
+ <!-- BMC optional fields -->
+ <BinField>
+ <!-- Word contents copied by ROM code to FIU3 FIU_DRD_CFG register -->
+ <name>FIU3_DWR_CFG_Set</name> <!-- name of field -->
+ <config>
+ <offset>0x114</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines the clock divide ratio from AHB to FIU3 clock -->
+ <name>FIU3_Clk_Divider</name> <!-- name of field -->
+ <config>
+ <offset>0x118</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU3 CS0 is enabled -->
+ <name>fiu3_cs0_en</name> <!-- name of field -->
+ <config>
+ <offset>0x119</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU3 CS1 is enabled -->
+ <name>fiu3_cs1_en</name> <!-- name of field -->
+ <config>
+ <offset>0x11A</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU3 CS2 is enabled -->
+ <name>fiu3_cs2_en</name> <!-- name of field -->
+ <config>
+ <offset>0x11B</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Defines if FIU3 CS3 is enabled -->
+ <name>fiu3_cs3_en</name> <!-- name of field -->
+ <config>
+ <offset>0x11C</offset> <!-- offset in the header -->
+ <size>0x1</size> <!-- size in the header -->
+ </config>
+ <content format='bytes'>0x0</content> <!-- content the user should fill -->
+ </BinField>
+
+ <BinField>
+ <!-- Version (Major.Minor) -->
+ <name>Version</name> <!-- name of field -->
+ <config>
+ <offset>0x148</offset> <!-- offset in the header -->
+ <size>0x4</size> <!-- size in the header -->
+ </config>
+ <content format='32bit'>0x0201</content> <!-- content the user should fill -->
+ </BinField>
+
+</Bin_Ecc_Map>
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_%.bbappend b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_%.bbappend
new file mode 100644
index 000000000..664fcb01d
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/images/npcm7xx-bingo-native_%.bbappend
@@ -0,0 +1,12 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI_remove = "file://BootBlockAndHeader_EB.xml"
+SRC_URI_remove = "file://UbootHeader_EB.xml"
+SRC_URI += " file://BootBlockAndHeader_RunBMC.xml"
+SRC_URI += " file://UbootHeader_RunBMC.xml"
+
+
+do_install_append() {
+ install ${WORKDIR}/BootBlockAndHeader_RunBMC.xml ${D}${bindir}/BootBlockAndHeader_EB.xml
+ install ${WORKDIR}/UbootHeader_RunBMC.xml ${D}${bindir}/UbootHeader_EB.xml
+}
+
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend b/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend
deleted file mode 100644
index cdcbecb66..000000000
--- a/meta-quanta/meta-runbmc-nuvoton/recipes-bsp/u-boot/u-boot-nuvoton_%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-UBRANCH = "runbmc_mdio"
-SRC_URI = "git://github.com/Nuvoton-Israel/u-boot.git;branch=${UBRANCH}"
-SRCREV = "${AUTOREV}"
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-kernel/linux/linux-nuvoton/runbmc-nuvoton.cfg b/meta-quanta/meta-runbmc-nuvoton/recipes-kernel/linux/linux-nuvoton/runbmc-nuvoton.cfg
index 6890fbe35..d970410dd 100644
--- a/meta-quanta/meta-runbmc-nuvoton/recipes-kernel/linux/linux-nuvoton/runbmc-nuvoton.cfg
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-kernel/linux/linux-nuvoton/runbmc-nuvoton.cfg
@@ -2,8 +2,21 @@ CONFIG_HWMON=y
CONFIG_SENSORS_TMP100=y
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_FAN=y
+CONFIG_SENSORS_ADC128D818=y
+CONFIG_SENSORS_ADM1275=y
+CONFIG_SENSORS_TMP102=y
+CONFIG_SENSORS_TMP421=y
+
+CONFIG_PMBUS=y
+CONFIG_SENSORS_PMBUS=y
+CONFIG_SENSORS_INA2XX=y
+CONFIG_SENSORS_TPS53679=y
+
+CONFIG_IIO=y
+CONFIG_IIO_MUX=y
+CONFIG_NPCM_ADC=y
+CONFIG_SENSORS_IIO_HWMON=y
-CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGERS=y
@@ -16,9 +29,9 @@ CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_XZ=y
CONFIG_JFFS2_FS=y
-CONFIG_MTD_M25P80=y
-CONFIG_SPI_NPCM_FIU=y
CONFIG_SPI=y
+CONFIG_SPI_NPCM_FIU=y
+CONFIG_MTD_M25P80=y
CONFIG_SPI_NPCM_PSPI=y
CONFIG_NET_NCSI=y
@@ -30,12 +43,6 @@ CONFIG_I2C_SLAVE_EEPROM=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCF857X=y
-CONFIG_PMBUS=y
-CONFIG_SENSORS_PMBUS=y
-CONFIG_SENSORS_ADM1275=y
-CONFIG_SENSORS_TMP102=y
-CONFIG_SENSORS_TMP421=y
-CONFIG_NUVOTON_JTAG=y
CONFIG_MUX_MMIO=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_F_ECM=y
@@ -56,3 +63,15 @@ CONFIG_VIDEO_NUVOTON=y
CONFIG_NPCM750_VCD=y
CONFIG_NPCM750_ECE=y
CONFIG_FORCE_MAX_ZONEORDER=12
+
+CONFIG_USB_GADGET_NPCM_USB2=y
+
+CONFIG_PECI=y
+CONFIG_PECI_NPCM=y
+CONFIG_MFD_INTEL_PECI_CLIENT=y
+CONFIG_SENSORS_PECI_CPUTEMP=y
+CONFIG_SENSORS_PECI_DIMMTEMP=y
+CONFIG_RESET_NPCM=y
+
+CONFIG_I2C_SLAVE_MQUEUE=y
+CONFIG_NUVOTON_JTAG=y
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/files/obmc-console.conf b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/files/obmc-console.conf
new file mode 100644
index 000000000..f99eaff47
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/files/obmc-console.conf
@@ -0,0 +1 @@
+baud = 57600
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/obmc-console_%.bbappend b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/obmc-console_%.bbappend
new file mode 100644
index 000000000..5967ce1bb
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/console/obmc-console_%.bbappend
@@ -0,0 +1,12 @@
+SUMMARY = "Nuvoton OpenBMC console daemon"
+DESCRIPTION = "Nuvoton Daemon to handle UART console connections"
+HOMEPAGE = "http://github.com/openbmc/obmc-console"
+PR = "r1"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+OBMC_CONSOLE_HOST_TTY := "ttyS2"
+
+do_build_append() {
+ install -m 0644 ${THISDIR}/files/${PN}.conf ${WORKDIR}/${PN}.conf
+}
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-runbmc-nuvoton.json b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-runbmc-nuvoton.json
new file mode 100644
index 000000000..5a78db6ee
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/config-runbmc-nuvoton.json
@@ -0,0 +1,400 @@
+{
+ "sensors" : [
+ {
+ "name": "fan1",
+ "type": "fan",
+ "readPath": "/xyz/openbmc_project/sensors/fan_tach/fan1",
+ "writePath": "/sys/devices/platform/ahb/ahb:apb/f0103000.pwm-fan-controller/hwmon/**/pwm1",
+ "min": 0,
+ "max": 255
+ },
+ {
+ "name": "Core_0_CPU0",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_0_CPU0",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_0_CPU1",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_0_CPU1",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_1_CPU0",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_1_CPU0",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_1_CPU1",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_1_CPU1",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_2_CPU0",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_2_CPU0",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_2_CPU1",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_2_CPU1",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_3_CPU0",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_3_CPU0",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_3_CPU1",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_3_CPU1",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_4_CPU0",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_4_CPU0",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_4_CPU1",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_4_CPU1",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_5_CPU0",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_5_CPU0",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ },
+ {
+ "name": "Core_5_CPU1",
+ "type": "temp",
+ "readPath": "/xyz/openbmc_project/sensors/temperature/Core_5_CPU1",
+ "writePath": "",
+ "min": 0,
+ "max": 0,
+ "timeout": 0
+ }
+ ],
+ "zones" : [
+ {
+ "id": 0,
+ "minThermalOutput": 0.0,
+ "failsafePercent": 100.0,
+ "pids": [
+ {
+ "name": "fan1",
+ "type": "fan",
+ "inputs": ["fan1"],
+ "setpoint": 40.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": "Core_0_CPU0",
+ "type": "temp",
+ "inputs": ["Core_0_CPU0"],
+ "setpoint": 30.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": "Core_0_CPU1",
+ "type": "temp",
+ "inputs": ["Core_0_CPU1"],
+ "setpoint": 30.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": "Core_1_CPU0",
+ "type": "temp",
+ "inputs": ["Core_1_CPU0"],
+ "setpoint": 30.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": "Core_1_CPU1",
+ "type": "temp",
+ "inputs": ["Core_1_CPU1"],
+ "setpoint": 30.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": "Core_2_CPU0",
+ "type": "temp",
+ "inputs": ["Core_2_CPU0"],
+ "setpoint": 30.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": "Core_2_CPU1",
+ "type": "temp",
+ "inputs": ["Core_2_CPU1"],
+ "setpoint": 30.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": "Core_3_CPU0",
+ "type": "temp",
+ "inputs": ["Core_3_CPU0"],
+ "setpoint": 30.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": "Core_3_CPU1",
+ "type": "temp",
+ "inputs": ["Core_3_CPU1"],
+ "setpoint": 30.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": "Core_4_CPU0",
+ "type": "temp",
+ "inputs": ["Core_4_CPU0"],
+ "setpoint": 30.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": "Core_4_CPU1",
+ "type": "temp",
+ "inputs": ["Core_4_CPU1"],
+ "setpoint": 30.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": "Core_5_CPU0",
+ "type": "temp",
+ "inputs": ["Core_5_CPU0"],
+ "setpoint": 30.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": "Core_5_CPU1",
+ "type": "temp",
+ "inputs": ["Core_5_CPU1"],
+ "setpoint": 30.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
+ }
+ }
+ ]
+ }
+ ]
+}
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh
new file mode 100644
index 000000000..9a0d8e2e7
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh
@@ -0,0 +1,3 @@
+#!bin/bash
+
+echo 255 > /sys/class/hwmon/*/pwm1
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service
new file mode 100644
index 000000000..3ce2e01b0
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-reboot-control.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Set Fan to Full Speed as Rebooting
+DefaultDependencies=no
+After=shutdown.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=true
+ExecStart=/usr/bin/fan-full-speed.sh
+
+[Install]
+WantedBy=shutdown.target
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service
new file mode 100644
index 000000000..57ae69c56
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=OpenBMC Fan Control Daemon
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/swampd
+Restart=always
+RestartSec=5
+StartLimitInterval=0
+ExecStopPost=/usr/bin/fan-full-speed.sh
+
+[Install]
+WantedBy=basic.target
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
new file mode 100644
index 000000000..5d7e0f977
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/fans/phosphor-pid-control_%.bbappend
@@ -0,0 +1,29 @@
+FILESEXTRAPATHS_prepend_runbmc-nuvoton := "${THISDIR}/${PN}:"
+
+SRC_URI_append_runbmc-nuvoton = " file://config-runbmc-nuvoton.json"
+SRC_URI_append_runbmc-nuvoton = " file://fan-full-speed.sh"
+SRC_URI_append_runbmc-nuvoton = " file://phosphor-pid-control.service"
+SRC_URI_append_runbmc-nuvoton = " file://fan-reboot-control.service"
+
+FILES_${PN}_append_runbmc-nuvoton = " ${bindir}/fan-full-speed.sh"
+FILES_${PN}_append_runbmc-nuvoton = " ${datadir}/swampd/config.json"
+
+RDEPENDS_${PN} += "bash"
+
+SYSTEMD_SERVICE_${PN}_append_runbmc-nuvoton = " phosphor-pid-control.service"
+SYSTEMD_SERVICE_${PN}_append_runbmc-nuvoton = " fan-reboot-control.service"
+
+do_install_append_runbmc-nuvoton() {
+ install -d ${D}/${bindir}
+ install -m 0755 ${WORKDIR}/fan-full-speed.sh ${D}/${bindir}
+
+ install -d ${D}${datadir}/swampd
+ install -m 0644 -D ${WORKDIR}/config-runbmc-nuvoton.json \
+ ${D}${datadir}/swampd/config.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
+}
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-runbmc-channels.json b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-runbmc-channels.json
new file mode 100644
index 000000000..45100bd1d
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb/ipmb-runbmc-channels.json
@@ -0,0 +1,11 @@
+{
+ "channels": [
+ {
+ "type": "me",
+ "master-path": "/dev/i2c-5",
+ "slave-path": "/sys/bus/i2c/devices/5-1010/slave-mqueue",
+ "bmc-addr": 32,
+ "remote-addr": 44
+ }
+ ]
+}
diff --git a/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
new file mode 100644
index 000000000..ef0838e10
--- /dev/null
+++ b/meta-quanta/meta-runbmc-nuvoton/recipes-phosphor/ipmi/phosphor-ipmi-ipmb_%.bbappend
@@ -0,0 +1,11 @@
+FILESEXTRAPATHS_prepend_runbmc-nuvoton := "${THISDIR}/${PN}:"
+
+SRC_URI_append_runbmc-nuvoton = " file://ipmb-runbmc-channels.json"
+FILES_${PN}_append_runbmc-nuvoton = " ${datadir}/ipmbbridge/ipmb-channels.json"
+
+do_install_append_runbmc-nuvoton() {
+ install -d ${D}${datadir}/ipmbbridge
+ install -m 0644 -D ${WORKDIR}/ipmb-runbmc-channels.json \
+ ${D}${datadir}/ipmbbridge/ipmb-channels.json
+}
+
diff --git a/meta-raspberrypi/README.md b/meta-raspberrypi/README.md
index b49405b21..7768a00ab 100644
--- a/meta-raspberrypi/README.md
+++ b/meta-raspberrypi/README.md
@@ -5,7 +5,7 @@ Yocto BSP layer for the Raspberry Pi boards - <http://www.raspberrypi.org/>.
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi1/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi1)
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi2/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi2)
[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi3/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi3)
-[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/agherzan/meta-raspberrypi)
+[![Matrix](https://img.shields.io/matrix/meta-raspberrypi:cub.icu.svg?server_fqdn=matrix.cub.icu)](https://matrix.to/#/#meta-raspberrypi:cub.icu)
## Quick links
diff --git a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
index 6cbee8b37..d3447689a 100644
--- a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
+++ b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
@@ -55,6 +55,8 @@ do_image_rpi_sdimg[depends] = " \
dosfstools-native:do_populate_sysroot \
virtual/kernel:do_deploy \
${IMAGE_BOOTLOADER}:do_deploy \
+ rpi-config:do_deploy \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'armstub', 'armstubs:do_deploy', '' ,d)} \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'rpi-u-boot-scr:do_deploy', '',d)} \
"
@@ -112,48 +114,51 @@ IMAGE_CMD_rpi-sdimg () {
BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
rm -f ${WORKDIR}/boot.img
mkfs.vfat -F32 -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/ || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* into boot.img"
+ if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/armstubs/${ARMSTUB} ::/ || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/armstubs/${ARMSTUB} into boot.img"
+ fi
if test -n "${DTS}"; then
# Copy board device trees to root folder
for dtbf in ${@split_overlays(d, True)}; do
dtb=`basename $dtbf`
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::$dtb
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::$dtb || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/$dtb into boot.img"
done
# Copy device tree overlays to dedicated folder
mmd -i ${WORKDIR}/boot.img overlays
for dtbf in ${@split_overlays(d, False)}; do
dtb=`basename $dtbf`
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::overlays/$dtb
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$dtb ::overlays/$dtb || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/$dtb into boot.img"
done
fi
if [ "${RPI_USE_U_BOOT}" = "1" ]; then
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE}
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/u-boot.bin into boot.img"
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/boot.scr into boot.img"
if [ ! -z "${INITRAMFS_IMAGE}" -a "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${KERNEL_IMAGETYPE}
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${KERNEL_IMAGETYPE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin into boot.img"
else
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${KERNEL_IMAGETYPE}
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${KERNEL_IMAGETYPE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} into boot.img"
fi
else
if [ ! -z "${INITRAMFS_IMAGE}" -a "${INITRAMFS_IMAGE_BUNDLE}" = "1" ]; then
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${SDIMG_KERNELIMAGE}
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin ::${SDIMG_KERNELIMAGE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${INITRAMFS_LINK_NAME}.bin into boot.img"
else
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${SDIMG_KERNELIMAGE}
+ mcopy -v -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} ::${SDIMG_KERNELIMAGE} || bbfatal "mcopy cannot copy ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE} into boot.img"
fi
fi
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
- mcopy -i ${WORKDIR}/boot.img -s -v ${IMAGE_ROOTFS}$entry :: || true
+ # use bbwarn instead of bbfatal to stop aborting on vfat issues like not supporting .~lock files
+ mcopy -v -i ${WORKDIR}/boot.img -s ${IMAGE_ROOTFS}$entry :: || bbwarn "mcopy cannot copy ${IMAGE_ROOTFS}$entry into boot.img"
done
fi
# Add stamp file
echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
- mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
+ mcopy -v -i ${WORKDIR}/boot.img ${WORKDIR}/image-version-info :: || bbfatal "mcopy cannot copy ${WORKDIR}/image-version-info into boot.img"
# Deploy vfat partition
if [ "${SDIMG_VFAT_DEPLOY}" = "1" ]; then
diff --git a/meta-raspberrypi/conf/layer.conf b/meta-raspberrypi/conf/layer.conf
index 264b2c030..c958587b2 100644
--- a/meta-raspberrypi/conf/layer.conf
+++ b/meta-raspberrypi/conf/layer.conf
@@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "9"
-LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior"
+LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior zeus"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
@@ -27,6 +27,8 @@ BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer
BBFILES_DYNAMIC += " \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \
+ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \
+ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \
qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \
"
diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc
index cc6a54ecf..36a8daf1a 100644
--- a/meta-raspberrypi/conf/machine/include/rpi-base.inc
+++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc
@@ -35,17 +35,19 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
overlays/rpi-ft5406.dtbo \
overlays/rpi-poe.dtbo \
overlays/vc4-kms-v3d.dtbo \
+ overlays/vc4-fkms-v3d.dtbo \
overlays/w1-gpio-pullup.dtbo \
overlays/w1-gpio.dtbo \
"
RPI_KERNEL_DEVICETREE ?= " \
- bcm2708-rpi-0-w.dtb \
+ bcm2708-rpi-zero-w.dtb \
bcm2708-rpi-b.dtb \
bcm2708-rpi-b-plus.dtb \
bcm2709-rpi-2-b.dtb \
bcm2710-rpi-3-b.dtb \
bcm2710-rpi-3-b-plus.dtb \
+ bcm2711-rpi-4-b.dtb \
bcm2708-rpi-cm.dtb \
bcm2710-rpi-cm3.dtb \
"
@@ -68,7 +70,7 @@ KERNEL_IMAGETYPE_DIRECT ??= "zImage"
KERNEL_IMAGETYPE ?= "${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
'${KERNEL_IMAGETYPE_UBOOT}', '${KERNEL_IMAGETYPE_DIRECT}', d)}"
-MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio"
+MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio ${@bb.utils.contains('DISABLE_VC4GRAPHICS', '1', '', 'vc4graphics', d)}"
# Raspberry Pi has no hardware clock
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi-cm.conf b/meta-raspberrypi/conf/machine/raspberrypi-cm.conf
index 2da7d50b7..f9371df6f 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi-cm.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi-cm.conf
@@ -4,3 +4,5 @@
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
include conf/machine/raspberrypi.conf
+
+ARMSTUB ?= "armstub.bin"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf b/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
index c8677b4ff..638c2ea5f 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
@@ -10,3 +10,5 @@ KBUILD_DEFCONFIG ?= "bcm2709_defconfig"
SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyAMA0"
+
+ARMSTUB ?= "armstub.bin"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi.conf b/meta-raspberrypi/conf/machine/raspberrypi.conf
index e94ad867e..b23687b24 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi.conf
@@ -10,3 +10,5 @@ include conf/machine/include/rpi-base.inc
SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_config"
+
+ARMSTUB ?= "armstub.bin"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf b/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
index 2c4f760ea..8689bca93 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
@@ -14,3 +14,5 @@ MACHINE_EXTRA_RRECOMMENDS += "\
SDIMG_KERNELIMAGE ?= "kernel.img"
UBOOT_MACHINE ?= "rpi_0_w_defconfig"
SERIAL_CONSOLES ?= "115200;ttyS0"
+
+ARMSTUB ?= "armstub.bin"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi2.conf b/meta-raspberrypi/conf/machine/raspberrypi2.conf
index bd191c3fa..505c6f2ff 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi2.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi2.conf
@@ -10,3 +10,5 @@ include conf/machine/include/rpi-base.inc
SERIAL_CONSOLES ?= "115200;ttyAMA0"
UBOOT_MACHINE = "rpi_2_config"
+
+ARMSTUB ?= "armstub7.bin"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi3-64.conf b/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
index 80b6bc463..23b59ed95 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
@@ -23,7 +23,6 @@ RPI_KERNEL_DEVICETREE = " \
SERIAL_CONSOLES ?= "115200;ttyS0"
UBOOT_MACHINE = "rpi_3_config"
-MACHINE_FEATURES_append = " vc4graphics"
# When u-boot is enabled we need to use the "Image" format and the "booti"
# command to load the kernel
@@ -31,3 +30,5 @@ KERNEL_IMAGETYPE_UBOOT ?= "Image"
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
KERNEL_IMAGETYPE_DIRECT ?= "Image"
KERNEL_BOOTCMD ?= "booti"
+
+ARMSTUB ?= "armstub8.bin"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi3.conf b/meta-raspberrypi/conf/machine/raspberrypi3.conf
index df64cbb7b..581e47c8f 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi3.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi3.conf
@@ -1,6 +1,6 @@
#@TYPE: Machine
-#@NAME: RaspberryPi 3 Development Board
-#@DESCRIPTION: Machine configuration for the RaspberryPi 3
+#@NAME: RaspberryPi 3 Development Board (32bit)
+#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 32 bits mode
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
require conf/machine/include/tune-cortexa7.inc
@@ -16,3 +16,5 @@ MACHINE_EXTRA_RRECOMMENDS += "\
SDIMG_KERNELIMAGE ?= "kernel7.img"
UBOOT_MACHINE = "rpi_3_32b_config"
SERIAL_CONSOLES ?= "115200;ttyS0"
+
+ARMSTUB ?= "armstub7.bin"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi4-64.conf b/meta-raspberrypi/conf/machine/raspberrypi4-64.conf
new file mode 100644
index 000000000..2bf62ef2b
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/raspberrypi4-64.conf
@@ -0,0 +1,35 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi 4 Development Board (64bit)
+#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode
+
+MACHINEOVERRIDES = "raspberrypi4:${MACHINE}"
+
+MACHINE_EXTRA_RRECOMMENDS += "\
+ linux-firmware-rpidistro-bcm43455 \
+ bluez-firmware-rpidistro-bcm4345c0-hcd \
+"
+
+require conf/machine/include/tune-cortexa72.inc
+include conf/machine/include/rpi-base.inc
+
+RPI_KERNEL_DEVICETREE = " \
+ broadcom/bcm2711-rpi-4-b.dtb \
+"
+
+SDIMG_KERNELIMAGE ?= "kernel8.img"
+SERIAL_CONSOLES ?= "115200;ttyS0"
+
+UBOOT_MACHINE = "rpi_4_config"
+
+VC4DTBO ?= "vc4-fkms-v3d"
+
+# When u-boot is enabled we need to use the "Image" format and the "booti"
+# command to load the kernel
+KERNEL_IMAGETYPE_UBOOT ?= "Image"
+# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
+KERNEL_IMAGETYPE_DIRECT ?= "Image"
+KERNEL_BOOTCMD ?= "booti"
+
+RPI_EXTRA_CONFIG ?= "\n# Force arm in 64bit mode. See: https://github.com/raspberrypi/firmware/issues/1193.\narm_64bit=1"
+
+ARMSTUB ?= "armstub8-gic.bin"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi4.conf b/meta-raspberrypi/conf/machine/raspberrypi4.conf
new file mode 100644
index 000000000..1bcf9311d
--- /dev/null
+++ b/meta-raspberrypi/conf/machine/raspberrypi4.conf
@@ -0,0 +1,20 @@
+#@TYPE: Machine
+#@NAME: RaspberryPi 4 Development Board (32bit)
+#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 32 bit mode
+
+DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
+require conf/machine/include/tune-cortexa7.inc
+include conf/machine/include/rpi-base.inc
+
+MACHINE_EXTRA_RRECOMMENDS += "\
+ linux-firmware-rpidistro-bcm43455 \
+ bluez-firmware-rpidistro-bcm4345c0-hcd \
+"
+
+# 'l' stands for LPAE
+SDIMG_KERNELIMAGE ?= "kernel7l.img"
+UBOOT_MACHINE = "rpi_4_32b_config"
+SERIAL_CONSOLES ?= "115200;ttyS0"
+
+VC4DTBO ?= "vc4-fkms-v3d"
+ARMSTUB ?= "armstub7.bin"
diff --git a/meta-raspberrypi/docs/extra-build-config.md b/meta-raspberrypi/docs/extra-build-config.md
index b44dece3a..1f7ef68bf 100644
--- a/meta-raspberrypi/docs/extra-build-config.md
+++ b/meta-raspberrypi/docs/extra-build-config.md
@@ -31,6 +31,10 @@ Accommodate the values above to your own needs (ex: ext3 / ext4).
See: <https://www.raspberrypi.org/documentation/configuration/config-txt/memory.md>
+## VC4
+
+By default, each machine uses `vc4` for graphics. This will in turn sets mesa as provider for `gl` libraries. `DISABLE_VC4GRAPHICS` can be set to `1` to disable this behaviour falling back to using `userland`. Be aware that `userland` has not support for 64-bit arch. If you disable `vc4` on a 64-bit Raspberry Pi machine, expect build breakage.
+
## Add purchased license codecs
To add you own licenses use variables `KEY_DECODE_MPG2` and `KEY_DECODE_WVC1` in
@@ -219,7 +223,7 @@ needs a fixed core frequency and enable_uart wil set it to the minimum. Certain
operations - 60fps h264 decode, high quality deinterlace - which aren't
performed on the ARM may be affected, and we wouldn't want to do that to users
who don't want to use the serial port. Users who want serial console support on
-RaspberryPi3 will have to explicitly set in local.conf:
+RaspberryPi 0 Wifi or 3 will have to explicitly set in local.conf:
ENABLE_UART = "1"
diff --git a/meta-raspberrypi/dynamic-layers/networking-layer/recipes-support/drbd/drbd_%.bbappend b/meta-raspberrypi/dynamic-layers/networking-layer/recipes-support/drbd/drbd_%.bbappend
new file mode 100644
index 000000000..933aaf6c4
--- /dev/null
+++ b/meta-raspberrypi/dynamic-layers/networking-layer/recipes-support/drbd/drbd_%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+COMPATIBLE_MACHINE_rpi = "(null)"
diff --git a/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend b/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend
deleted file mode 100644
index 7536f3903..000000000
--- a/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-# remove it when we upgrade to kernel > 4.14
-#
-COMPATIBLE_HOST_rpi = "null"
diff --git a/meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb b/meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb
new file mode 100644
index 000000000..66f283334
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/armstubs/armstubs.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Boot strap code that the GPU puts on memory to start running the boot loader"
+LICENSE = "Proprietary"
+
+LIC_FILES_CHKSUM = "file://armstub.S;beginline=1;endline=26;md5=9888f34ac06a676129416c952a6a521e"
+
+inherit deploy nopackages
+
+include recipes-bsp/common/raspberrypi-tools.inc
+
+COMPATIBLE_MACHINE = "^rpi$"
+
+S = "${RPITOOLS_S}/armstubs"
+
+export CC8="${CC}"
+export LD8="${LD}"
+export OBJCOPY8="${OBJCOPY}"
+export OBJDUMP8="${OBJDUMP} -maarch64"
+
+do_compile() {
+ [ -z "${ARMSTUB}" ] && bbfatal "No ARMSTUB defined for your machine."
+ oe_runmake ${ARMSTUB}
+}
+
+do_deploy() {
+ install -d ${DEPLOYDIR}/${PN}
+ cp ${S}/armstub*.bin ${DEPLOYDIR}/${PN}
+}
+
+addtask deploy before do_build after do_install
+do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb b/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb
index 466f44381..bbaf61906 100644
--- a/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb
+++ b/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=4a4d169737c0786fb9482bb6d30401d1
inherit deploy nopackages
-include recipes-bsp/common/firmware.inc
+include recipes-bsp/common/raspberrypi-firmware.inc
INHIBIT_DEFAULT_DEPS = "1"
@@ -34,6 +34,8 @@ do_deploy() {
touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
}
+do_deploy[depends] += "rpi-config:do_deploy"
+
addtask deploy before do_build after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
index b3356edff..160bc16d0 100644
--- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
+++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
@@ -41,7 +41,7 @@ do_deploy() {
if [ -n "${DISABLE_OVERSCAN}" ]; then
sed -i '/#disable_overscan=/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
- if [ -n "${DISABLE_SPLASH}" ]; then
+ if [ "${DISABLE_SPLASH}" = "1" ]; then
sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
@@ -111,25 +111,25 @@ do_deploy() {
fi
# Video camera support
- if [ -n "${VIDEO_CAMERA}" ]; then
+ if [ "${VIDEO_CAMERA}" = "1" ]; then
echo "# Enable video camera" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "start_x=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
# Offline compositing support
- if [ -n "${DISPMANX_OFFLINE}" ]; then
+ if [ "${DISPMANX_OFFLINE}" = "1" ]; then
echo "# Enable offline compositing" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dispmanx_offline=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
# SPI bus support
- if [ -n "${ENABLE_SPI_BUS}" ] || [ "${PITFT}" = "1" ]; then
+ if [ "${ENABLE_SPI_BUS}" = "1" ] || [ "${PITFT}" = "1" ]; then
echo "# Enable SPI bus" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
# I2C support
- if [ -n "${ENABLE_I2C}" ] || [ "${PITFT}" = "1" ]; then
+ if [ "${ENABLE_I2C}" = "1" ] || [ "${PITFT}" = "1" ]; then
echo "# Enable I2C" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=i2c1=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=i2c_arm=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
@@ -191,6 +191,17 @@ do_deploy() {
# Append extra config if the user has provided any
printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+
+ # Handle setup with armstub file
+ if [ "${@bb.utils.contains("MACHINE_FEATURES", "armstub", "1", "0", d)}" = "1" ]; then
+ echo "\n# ARM stub configuration" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "armstub=${ARMSTUB}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ case "${ARMSTUB}" in
+ *-gic.bin)
+ echo "enable_gic=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ ;;
+ esac
+ fi
}
do_deploy_append_raspberrypi3-64() {
diff --git a/meta-raspberrypi/recipes-bsp/common/firmware.inc b/meta-raspberrypi/recipes-bsp/common/firmware.inc
deleted file mode 100644
index e2c3b1a14..000000000
--- a/meta-raspberrypi/recipes-bsp/common/firmware.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-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] = "ba272fed3661f0c8d5e4c424d2617246"
-SRC_URI[sha256sum] = "2a4c566e98b16575ebf295b795b40a5772f81282948e957bdc9733cf72fdcd39"
-
-PV = "${RPIFW_DATE}"
diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
new file mode 100644
index 000000000..f8ae2f57d
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc
@@ -0,0 +1,10 @@
+RPIFW_DATE ?= "20190823"
+SRCREV ?= "7163480fff007dc98978899b556dcf06f8a462c8"
+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] = "b10044aa637ed170eef2ca6c1dcc8aba"
+SRC_URI[sha256sum] = "012bc542157d03d19c52dfb2ff9e828905d1991a8b33420f1a2e3730040c167f"
+
+PV = "${RPIFW_DATE}"
diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc
new file mode 100644
index 000000000..1ea65dbd1
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-tools.inc
@@ -0,0 +1,9 @@
+SRCREV ?= "76f64a28dc4685507d12f57fe5cfc89f6c32f8e6"
+RPITOOLS_SRC_URI ?= "https://github.com/raspberrypi/tools/archive/${SRCREV}.tar.gz"
+RPITOOLS_S ?= "${WORKDIR}/tools-${SRCREV}"
+
+SRC_URI = "${RPITOOLS_SRC_URI}"
+SRC_URI[md5sum] = "e2d4709b62e1536aeaaeabcbae82a03e"
+SRC_URI[sha256sum] = "5f1c5eb8af9dff71b7cae30ffa6541d689d269a7b86013b365215adfb4c1c27d"
+
+PV = "0.0+git${SRCREV}"
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0001-configs-rpi4-Add-defconfigs-for-rpi4-32-64.patch b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0001-configs-rpi4-Add-defconfigs-for-rpi4-32-64.patch
new file mode 100644
index 000000000..391b26a1c
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0001-configs-rpi4-Add-defconfigs-for-rpi4-32-64.patch
@@ -0,0 +1,104 @@
+From 5bf85d04b440ce874310e701abded823dc1864bc Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei@balena.io>
+Date: Wed, 17 Jul 2019 15:32:11 +0100
+Subject: [PATCH 1/7] configs: rpi4: Add defconfigs for rpi4 (32/64)
+
+This defines a minimum defconfig for each of the two Raspberry Pi 4
+variants. One notable difference is that we don't have a embedded dt for
+this board given that the fw supplies us with one which we can reuse.
+Furthermore, the ram size is not queryable through mbox interface as the
+maximum reported size is 1G. The fw patches the dt with the right
+memory configuration and uboot uses it as it is. We avoid u-boot
+touching this configuration by making sure CONFIG_ARCH_FIXUP_FDT_MEMORY
+is deactivated.
+
+Signed-off-by: Andrei Gherzan <andrei@balena.io>
+Upstream-status: Pending
+---
+ configs/rpi_4_32b_defconfig | 33 +++++++++++++++++++++++++++++++++
+ configs/rpi_4_defconfig | 33 +++++++++++++++++++++++++++++++++
+ 2 files changed, 66 insertions(+)
+ create mode 100644 configs/rpi_4_32b_defconfig
+ create mode 100644 configs/rpi_4_defconfig
+
+diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
+new file mode 100644
+index 0000000000..a31a617a5f
+--- /dev/null
++++ b/configs/rpi_4_32b_defconfig
+@@ -0,0 +1,33 @@
++CONFIG_ARM=y
++CONFIG_ARCH_BCM283X=y
++CONFIG_SYS_TEXT_BASE=0x00008000
++CONFIG_TARGET_RPI_4_32B=y
++CONFIG_SYS_MALLOC_F_LEN=0x2000
++CONFIG_DISTRO_DEFAULTS=y
++CONFIG_NR_DRAM_BANKS=1
++# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
++CONFIG_OF_BOARD=y
++CONFIG_OF_BOARD_SETUP=y
++CONFIG_MISC_INIT_R=y
++# CONFIG_DISPLAY_CPUINFO is not set
++# CONFIG_DISPLAY_BOARDINFO is not set
++CONFIG_SYS_PROMPT="U-Boot> "
++# CONFIG_CMD_FLASH is not set
++CONFIG_CMD_GPIO=y
++CONFIG_CMD_MMC=y
++CONFIG_CMD_FS_UUID=y
++CONFIG_ENV_FAT_INTERFACE="mmc"
++CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
++CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
++CONFIG_DM_KEYBOARD=y
++CONFIG_DM_MMC=y
++CONFIG_MMC_SDHCI=y
++CONFIG_MMC_SDHCI_BCM2835=y
++CONFIG_PINCTRL=y
++# CONFIG_PINCTRL_GENERIC is not set
++# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
++CONFIG_DM_VIDEO=y
++CONFIG_SYS_WHITE_ON_BLACK=y
++CONFIG_CONSOLE_SCROLL_LINES=10
++CONFIG_PHYS_TO_BUS=y
++CONFIG_OF_LIBFDT_OVERLAY=y
+diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
+new file mode 100644
+index 0000000000..da8c960a2a
+--- /dev/null
++++ b/configs/rpi_4_defconfig
+@@ -0,0 +1,33 @@
++CONFIG_ARM=y
++CONFIG_ARCH_BCM283X=y
++CONFIG_SYS_TEXT_BASE=0x00080000
++CONFIG_TARGET_RPI_4=y
++CONFIG_SYS_MALLOC_F_LEN=0x2000
++CONFIG_DISTRO_DEFAULTS=y
++CONFIG_NR_DRAM_BANKS=1
++# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
++CONFIG_OF_BOARD=y
++CONFIG_OF_BOARD_SETUP=y
++CONFIG_MISC_INIT_R=y
++# CONFIG_DISPLAY_CPUINFO is not set
++# CONFIG_DISPLAY_BOARDINFO is not set
++CONFIG_SYS_PROMPT="U-Boot> "
++# CONFIG_CMD_FLASH is not set
++CONFIG_CMD_GPIO=y
++CONFIG_CMD_MMC=y
++CONFIG_CMD_FS_UUID=y
++CONFIG_ENV_FAT_INTERFACE="mmc"
++CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
++CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
++CONFIG_DM_KEYBOARD=y
++CONFIG_DM_MMC=y
++CONFIG_MMC_SDHCI=y
++CONFIG_MMC_SDHCI_BCM2835=y
++CONFIG_PINCTRL=y
++# CONFIG_PINCTRL_GENERIC is not set
++# CONFIG_REQUIRE_SERIAL_CONSOLE is not set
++CONFIG_DM_VIDEO=y
++CONFIG_SYS_WHITE_ON_BLACK=y
++CONFIG_CONSOLE_SCROLL_LINES=10
++CONFIG_PHYS_TO_BUS=y
++CONFIG_OF_LIBFDT_OVERLAY=y
+--
+2.22.0
+
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0002-ARM-bcm283x-Add-BCM283x_BASE-define.patch b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0002-ARM-bcm283x-Add-BCM283x_BASE-define.patch
new file mode 100644
index 000000000..fcf91a6a7
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0002-ARM-bcm283x-Add-BCM283x_BASE-define.patch
@@ -0,0 +1,105 @@
+From df2aa4c6be33b468adc09de337a055556d1f37fb Mon Sep 17 00:00:00 2001
+From: Matthias Brugger <mbrugger@suse.com>
+Date: Fri, 12 Jul 2019 18:20:53 +0200
+Subject: [PATCH 2/7] ARM: bcm283x: Add BCM283x_BASE define
+
+Devices of bcm283x have different base address, depending if they are on
+bcm2835 or bcm2836/7. Use BCM283x_BASE depending on the SoC you want to
+build and only add the offset in the header files.
+
+Signed-off-by: Matthias Brugger <mbrugger@suse.com>
+Signed-off-by: Andrei Gherzan <andrei@balena.io>
+Upstream-status: Pending
+---
+ arch/arm/mach-bcm283x/Kconfig | 5 +++++
+ arch/arm/mach-bcm283x/include/mach/mbox.h | 6 +-----
+ arch/arm/mach-bcm283x/include/mach/sdhci.h | 6 +-----
+ arch/arm/mach-bcm283x/include/mach/timer.h | 6 +-----
+ arch/arm/mach-bcm283x/include/mach/wdog.h | 6 +-----
+ 5 files changed, 9 insertions(+), 20 deletions(-)
+
+diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
+index 3eb5a9a897..8e69914a83 100644
+--- a/arch/arm/mach-bcm283x/Kconfig
++++ b/arch/arm/mach-bcm283x/Kconfig
+@@ -141,4 +141,9 @@ config SYS_SOC
+ config SYS_CONFIG_NAME
+ default "rpi"
+
++config BCM283x_BASE
++ hex
++ default "0x20000000" if BCM2835
++ default "0x3f000000" if BCM2836 || BCM2837
++
+ endmenu
+diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
+index e3a893e49c..e44c7577da 100644
+--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
++++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
+@@ -37,11 +37,7 @@
+
+ /* Raw mailbox HW */
+
+-#ifndef CONFIG_BCM2835
+-#define BCM2835_MBOX_PHYSADDR 0x3f00b880
+-#else
+-#define BCM2835_MBOX_PHYSADDR 0x2000b880
+-#endif
++#define BCM2835_MBOX_PHYSADDR (CONFIG_BCM283x_BASE + 0x0000b880)
+
+ struct bcm2835_mbox_regs {
+ u32 read;
+diff --git a/arch/arm/mach-bcm283x/include/mach/sdhci.h b/arch/arm/mach-bcm283x/include/mach/sdhci.h
+index 5cb6ec3340..b443c379d8 100644
+--- a/arch/arm/mach-bcm283x/include/mach/sdhci.h
++++ b/arch/arm/mach-bcm283x/include/mach/sdhci.h
+@@ -6,11 +6,7 @@
+ #ifndef _BCM2835_SDHCI_H_
+ #define _BCM2835_SDHCI_H_
+
+-#ifndef CONFIG_BCM2835
+-#define BCM2835_SDHCI_BASE 0x3f300000
+-#else
+-#define BCM2835_SDHCI_BASE 0x20300000
+-#endif
++#define BCM2835_SDHCI_BASE (CONFIG_BCM283x_BASE + 0x00300000)
+
+ int bcm2835_sdhci_init(u32 regbase, u32 emmc_freq);
+
+diff --git a/arch/arm/mach-bcm283x/include/mach/timer.h b/arch/arm/mach-bcm283x/include/mach/timer.h
+index 56b0c356bb..014355e759 100644
+--- a/arch/arm/mach-bcm283x/include/mach/timer.h
++++ b/arch/arm/mach-bcm283x/include/mach/timer.h
+@@ -6,11 +6,7 @@
+ #ifndef _BCM2835_TIMER_H
+ #define _BCM2835_TIMER_H
+
+-#ifndef CONFIG_BCM2835
+-#define BCM2835_TIMER_PHYSADDR 0x3f003000
+-#else
+-#define BCM2835_TIMER_PHYSADDR 0x20003000
+-#endif
++#define BCM2835_TIMER_PHYSADDR (CONFIG_BCM283x_BASE + 0x00003000)
+
+ #define BCM2835_TIMER_CS_M3 (1 << 3)
+ #define BCM2835_TIMER_CS_M2 (1 << 2)
+diff --git a/arch/arm/mach-bcm283x/include/mach/wdog.h b/arch/arm/mach-bcm283x/include/mach/wdog.h
+index 99c88e5df7..00b5e06c3a 100644
+--- a/arch/arm/mach-bcm283x/include/mach/wdog.h
++++ b/arch/arm/mach-bcm283x/include/mach/wdog.h
+@@ -6,11 +6,7 @@
+ #ifndef _BCM2835_WDOG_H
+ #define _BCM2835_WDOG_H
+
+-#ifndef CONFIG_BCM2835
+-#define BCM2835_WDOG_PHYSADDR 0x3f100000
+-#else
+-#define BCM2835_WDOG_PHYSADDR 0x20100000
+-#endif
++#define BCM2835_WDOG_PHYSADDR (CONFIG_BCM283x_BASE + 0x00100000)
+
+ struct bcm2835_wdog_regs {
+ u32 unknown0[7];
+--
+2.22.0
+
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch
new file mode 100644
index 000000000..029cac496
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch
@@ -0,0 +1,108 @@
+From c03f551cab8fe38de8f0e1781f0e2e339419b003 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei@balena.io>
+Date: Wed, 17 Jul 2019 15:33:01 +0100
+Subject: [PATCH 3/7] arm: mach-bcm283x: Define configs for RaspberryPi 4
+
+Define two target configs for Raspberry Pi 4 (32 and 64bit) and the
+corresponding BCM2838* configs.
+
+Be aware of the current limitation in firmware which requires an
+explicit configuration to force the arm in 64bit mode when the
+respective target is used.
+
+Signed-off-by: Andrei Gherzan <andrei@balena.io>
+Signed-off-by: Matthias Brugger <mbrugger@suse.com>
+Upstream-status: Pending
+---
+ arch/arm/mach-bcm283x/Kconfig | 62 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 62 insertions(+)
+
+diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
+index 8e69914a83..09a5b42bbb 100644
+--- a/arch/arm/mach-bcm283x/Kconfig
++++ b/arch/arm/mach-bcm283x/Kconfig
+@@ -26,6 +26,23 @@ config BCM2837_64B
+ select BCM2837
+ select ARM64
+
++config BCM2838
++ bool "Broadcom BCM2838 SoC support"
++ depends on ARCH_BCM283X
++
++config BCM2838_32B
++ bool "Broadcom BCM2838 SoC 32-bit support"
++ depends on ARCH_BCM283X
++ select BCM2838
++ select ARMV7_LPAE
++ select CPU_V7A
++
++config BCM2838_64B
++ bool "Broadcom BCM2838 SoC 64-bit support"
++ depends on ARCH_BCM283X
++ select BCM2838
++ select ARM64
++
+ menu "Broadcom BCM283X family"
+ depends on ARCH_BCM283X
+
+@@ -127,6 +144,50 @@ config TARGET_RPI_3
+ This option creates a build targeting the ARMv8/AArch64 ISA.
+ select BCM2837_64B
+
++config TARGET_RPI_4_32B
++ bool "Raspberry Pi 4 32-bit build"
++ help
++ Support for all BCM2838-based Raspberry Pi variants, such as
++ the RPi 4 model B, in AArch32 (32-bit) mode.
++
++ This option assumes the VideoCore firmware is configured to use the
++ mini UART (rather than PL011) for the serial console. This is the
++ default on the RPi 4. To enable the UART console, the following non-
++ default option must be present in config.txt: enable_uart=1. This is
++ required for U-Boot to operate correctly, even if you only care
++ about the HDMI/usbkbd console.
++
++ Due to hardware incompatibilities, this can't be used with
++ BCM283/5/6/7.
++
++ This option creates a build targeting the ARMv7/AArch32 ISA.
++ select BCM2838_32B
++
++config TARGET_RPI_4
++ bool "Raspberry Pi 4 64-bit build"
++ help
++ Support for all BCM2838-based Raspberry Pi variants, such as
++ the RPi 4 model B, in AArch64 (64-bit) mode.
++
++ This option assumes the VideoCore firmware is configured to use the
++ mini UART (rather than PL011) for the serial console. This is the
++ default on the RPi 4. To enable the UART console, the following non-
++ default option must be present in config.txt: enable_uart=1. This is
++ required for U-Boot to operate correctly, even if you only care
++ about the HDMI/usbkbd console.
++
++ Due to hardware incompatibilities, this can't be used with
++ BCM283/5/6/7.
++
++ Also, due to a bug in firmware, switching to 64bit mode doesn't
++ happen automatically based on the kernel's image filename. See
++ https://github.com/raspberrypi/firmware/issues/1193 for more details.
++ Until that is resolved, the configuration (config.txt) needs to
++ explicitly set: arm_64bit=1.
++
++ This option creates a build targeting the ARMv8/AArch64 ISA.
++ select BCM2838_64B
++
+ endchoice
+
+ config SYS_BOARD
+@@ -145,5 +206,6 @@ config BCM283x_BASE
+ hex
+ default "0x20000000" if BCM2835
+ default "0x3f000000" if BCM2836 || BCM2837
++ default "0xfe000000" if BCM2838
+
+ endmenu
+--
+2.22.0
+
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0004-rpi-Add-entry-for-Raspberry-Pi-4-model-B.patch b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0004-rpi-Add-entry-for-Raspberry-Pi-4-model-B.patch
new file mode 100644
index 000000000..7309d2b22
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0004-rpi-Add-entry-for-Raspberry-Pi-4-model-B.patch
@@ -0,0 +1,33 @@
+From 12fbbd5bc12e225b19d3b4cb193a1bf3d9fa752a Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei@balena.io>
+Date: Wed, 17 Jul 2019 15:34:18 +0100
+Subject: [PATCH 4/7] rpi: Add entry for Raspberry Pi 4 model B
+
+The Raspebrry Pi 4 uses the new revision code scheme as documented by
+the foundation. This change adds an entry for this board as well.
+
+Signed-off-by: Andrei Gherzan <andrei@balena.io>
+Upstream-status: Pending
+---
+ board/raspberrypi/rpi/rpi.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
+index 617c892dde..92c6534da6 100644
+--- a/board/raspberrypi/rpi/rpi.c
++++ b/board/raspberrypi/rpi/rpi.c
+@@ -148,6 +148,11 @@ static const struct rpi_model rpi_models_new_scheme[] = {
+ DTB_DIR "bcm2837-rpi-cm3.dtb",
+ false,
+ },
++ [0x11] = {
++ "4 Model B",
++ DTB_DIR "bcm2838-rpi-4-b.dtb",
++ true,
++ },
+ };
+
+ static const struct rpi_model rpi_models_old_scheme[] = {
+--
+2.22.0
+
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0005-arm-bcm283x-Include-definition-for-additional-emmc-c.patch b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0005-arm-bcm283x-Include-definition-for-additional-emmc-c.patch
new file mode 100644
index 000000000..44847e017
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0005-arm-bcm283x-Include-definition-for-additional-emmc-c.patch
@@ -0,0 +1,30 @@
+From fd99a249e6faf234066a6b5da2ed34aaead3d6d9 Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei@balena.io>
+Date: Fri, 12 Jul 2019 11:26:10 +0100
+Subject: [PATCH 5/7] arm: bcm283x: Include definition for additional emmc
+ clock
+
+This clock has a different mbox ID so have this included in the relevant
+header file.
+
+Signed-off-by: Andrei Gherzan <andrei@balena.io>
+Upstream-status: Pending
+---
+ arch/arm/mach-bcm283x/include/mach/mbox.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
+index e44c7577da..f2a98acddd 100644
+--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
++++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
+@@ -230,6 +230,7 @@ struct bcm2835_mbox_tag_set_power_state {
+ #define BCM2835_MBOX_CLOCK_ID_SDRAM 8
+ #define BCM2835_MBOX_CLOCK_ID_PIXEL 9
+ #define BCM2835_MBOX_CLOCK_ID_PWM 10
++#define BCM2835_MBOX_CLOCK_ID_EMMC2 12
+
+ struct bcm2835_mbox_tag_get_clock_rate {
+ struct bcm2835_mbox_tag_hdr tag_hdr;
+--
+2.22.0
+
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch
new file mode 100644
index 000000000..d9de5c425
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch
@@ -0,0 +1,53 @@
+From 1f42758fe69648340cfae6cae98e667b88923cf6 Mon Sep 17 00:00:00 2001
+From: Matthias Brugger <mbrugger@suse.com>
+Date: Wed, 10 Jul 2019 13:24:36 +0200
+Subject: [PATCH 6/7] mmc: bcm2835_sdhci: Add support for bcm2711 device
+
+The bcm2711 has two emmc controller. The difference is the clocks
+they use. Add support for the second emmc contoller.
+
+Signed-off-by: Matthias Brugger <mbrugger@suse.com>
+Signed-off-by: Andrei Gherzan <andrei@balena.io>
+Upstream-status: Pending
+---
+ drivers/mmc/bcm2835_sdhci.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mmc/bcm2835_sdhci.c b/drivers/mmc/bcm2835_sdhci.c
+index 08bddd410e..e68dec3be7 100644
+--- a/drivers/mmc/bcm2835_sdhci.c
++++ b/drivers/mmc/bcm2835_sdhci.c
+@@ -178,12 +178,13 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
+ fdt_addr_t base;
+ int emmc_freq;
+ int ret;
++ int clock_id = (int)dev_get_driver_data(dev);
+
+ base = devfdt_get_addr(dev);
+ if (base == FDT_ADDR_T_NONE)
+ return -EINVAL;
+
+- ret = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_EMMC);
++ ret = bcm2835_get_mmc_clock(clock_id);
+ if (ret < 0) {
+ debug("%s: Failed to set MMC clock (err=%d)\n", __func__, ret);
+ return ret;
+@@ -228,7 +229,14 @@ static int bcm2835_sdhci_probe(struct udevice *dev)
+ }
+
+ static const struct udevice_id bcm2835_sdhci_match[] = {
+- { .compatible = "brcm,bcm2835-sdhci" },
++ {
++ .compatible = "brcm,bcm2835-sdhci",
++ .data = BCM2835_MBOX_CLOCK_ID_EMMC
++ },
++ {
++ .compatible = "brcm,bcm2711-emmc2",
++ .data = BCM2835_MBOX_CLOCK_ID_EMMC2
++ },
+ { /* sentinel */ }
+ };
+
+--
+2.22.0
+
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0007-rpi-Add-memory-map-for-bcm2838.patch b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0007-rpi-Add-memory-map-for-bcm2838.patch
new file mode 100644
index 000000000..1d23d9f99
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-2019.07/0007-rpi-Add-memory-map-for-bcm2838.patch
@@ -0,0 +1,62 @@
+From 76b656349a6786fa81cf69ac7762c31675cd567e Mon Sep 17 00:00:00 2001
+From: Andrei Gherzan <andrei@balena.io>
+Date: Fri, 12 Jul 2019 14:27:31 +0100
+Subject: [PATCH 7/7] rpi: Add memory map for bcm2838
+
+Define the memory map for the BCM2838 based on the dt configuration
+available in the Raspberry Pi kernel fork.
+
+Signed-off-by: Andrei Gherzan <andrei@balena.io>
+Upstream-status: Pending
+---
+ board/raspberrypi/rpi/rpi.c | 27 ++++++++++++++++++++++++---
+ 1 file changed, 24 insertions(+), 3 deletions(-)
+
+diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
+index 92c6534da6..bddf2a578d 100644
+--- a/board/raspberrypi/rpi/rpi.c
++++ b/board/raspberrypi/rpi/rpi.c
+@@ -249,7 +249,8 @@ static uint32_t rev_type;
+ static const struct rpi_model *model;
+
+ #ifdef CONFIG_ARM64
+-static struct mm_region bcm2837_mem_map[] = {
++#ifndef CONFIG_BCM2838
++static struct mm_region bcm283x_mem_map[] = {
+ {
+ .virt = 0x00000000UL,
+ .phys = 0x00000000UL,
+@@ -268,8 +269,28 @@ static struct mm_region bcm2837_mem_map[] = {
+ 0,
+ }
+ };
+-
+-struct mm_region *mem_map = bcm2837_mem_map;
++#else
++static struct mm_region bcm283x_mem_map[] = {
++ {
++ .virt = 0x00000000UL,
++ .phys = 0x00000000UL,
++ .size = 0xfe000000UL,
++ .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
++ PTE_BLOCK_INNER_SHARE
++ }, {
++ .virt = 0xfe000000UL,
++ .phys = 0xfe000000UL,
++ .size = 0x01800000UL,
++ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
++ PTE_BLOCK_NON_SHARE |
++ PTE_BLOCK_PXN | PTE_BLOCK_UXN
++ }, {
++ /* List terminator */
++ 0,
++ }
++};
++#endif
++struct mm_region *mem_map = bcm283x_mem_map;
+ #endif
+
+ int dram_init(void)
+--
+2.22.0
+
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot-fw-utils_2019.07.bbappend b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-fw-utils_2019.07.bbappend
new file mode 100644
index 000000000..3daf157d7
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-fw-utils_2019.07.bbappend
@@ -0,0 +1,2 @@
+# Apply the same patches for rpi4 as u-boot recipe
+require u-boot-rpi4-${PV}.inc
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot-rpi4-2019.07.inc b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-rpi4-2019.07.inc
new file mode 100644
index 000000000..2ce55a2b1
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot-rpi4-2019.07.inc
@@ -0,0 +1,12 @@
+FILESEXTRAPATHS_prepend_raspberrypi4 := "${THISDIR}/u-boot-2019.07:"
+UBOOT_RPI4_SUPPORT_PATCHES = " \
+ file://0001-configs-rpi4-Add-defconfigs-for-rpi4-32-64.patch \
+ file://0002-ARM-bcm283x-Add-BCM283x_BASE-define.patch \
+ file://0003-arm-mach-bcm283x-Define-configs-for-RaspberryPi-4.patch \
+ file://0004-rpi-Add-entry-for-Raspberry-Pi-4-model-B.patch \
+ file://0005-arm-bcm283x-Include-definition-for-additional-emmc-c.patch \
+ file://0006-mmc-bcm2835_sdhci-Add-support-for-bcm2711-device.patch \
+ file://0007-rpi-Add-memory-map-for-bcm2838.patch \
+"
+
+SRC_URI_append_raspberrypi4 = "${UBOOT_RPI4_SUPPORT_PATCHES}"
diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot_2019.07.bbappend b/meta-raspberrypi/recipes-bsp/u-boot/u-boot_2019.07.bbappend
new file mode 100644
index 000000000..3daf157d7
--- /dev/null
+++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot_2019.07.bbappend
@@ -0,0 +1,2 @@
+# Apply the same patches for rpi4 as u-boot recipe
+require u-boot-rpi4-${PV}.inc
diff --git a/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend b/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend
index 09fbaaa0d..d1a07a461 100644
--- a/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend
+++ b/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend
@@ -1,6 +1,6 @@
FILESEXTRAPATHS_prepend_rpi := "${THISDIR}/${PN}:"
-RC_URI_append_rpi = "\
+SRC_URI_append_rpi = "\
file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
file://0003-Increase-firmware-load-timeout-to-30s.patch \
diff --git a/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb b/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
index 915934697..57400b1ce 100644
--- a/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
+++ b/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
@@ -15,11 +15,11 @@ RDEPENDS_${PN} = "\
rpio \
rpi-gpio \
pi-blaster \
- python-rtimu \
- python-sense-hat \
+ python3-rtimu \
+ python3-sense-hat \
connman \
connman-client \
- crda \
+ wireless-regdb \
bluez5 \
"
diff --git a/meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb b/meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb
deleted file mode 100644
index 63c92b381..000000000
--- a/meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "RTIMULib is a C++ and Python library that makes it easy to use 9-dof and \
-10-dof IMUs with embedded Linux systems"
-HOMEPAGE = "https://github.com/RPi-Distro/RTIMULib/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://../../LICENSE;md5=96cdecb41125f498958e09b72faf318e"
-
-SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master \
- file://0001-include-asm-ioctl.h-for-ioctl-define.patch;patchdir=../.. \
- "
-SRCREV = "b949681af69b45f0f7f4bb53b6770037b5b02178"
-
-S = "${WORKDIR}/git/Linux/python/"
-
-inherit setuptools
diff --git a/meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb b/meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb
deleted file mode 100644
index f7c4e349d..000000000
--- a/meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Python module to control the Raspberry Pi Sense HAT used in the Astro Pi mission"
-HOMEPAGE = "https://github.com/RPi-Distro/python-sense-hat"
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
-
-inherit setuptools pypi
-
-PYPI_PACKAGE = "sense-hat"
-
-SRC_URI[md5sum] = "69929250cb72349a8a82edf2584b1d83"
-SRC_URI[sha256sum] = "f000998d042d96ed722d459312e1bebd0107f9f3015cd34b3e4fabcab9c800af"
-
-DEPENDS += " \
- jpeg \
- zlib \
- freetype \
- "
-
-RDEPENDS_${PN} += " \
- python-numpy \
- python-rtimu \
- python-imaging \
- "
diff --git a/meta-raspberrypi/recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch b/meta-raspberrypi/recipes-devtools/python/python3-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
index 4a93a1ce9..4a93a1ce9 100644
--- a/meta-raspberrypi/recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
+++ b/meta-raspberrypi/recipes-devtools/python/python3-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
diff --git a/meta-raspberrypi/recipes-devtools/python/python3-rtimu_git.bb b/meta-raspberrypi/recipes-devtools/python/python3-rtimu_git.bb
new file mode 100644
index 000000000..c0cb31100
--- /dev/null
+++ b/meta-raspberrypi/recipes-devtools/python/python3-rtimu_git.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "RTIMULib is a C++ and Python library that makes it easy to use 9-dof and \
+10-dof IMUs with embedded Linux systems"
+HOMEPAGE = "https://github.com/RPi-Distro/RTIMULib/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://../../LICENSE;md5=96cdecb41125f498958e09b72faf318e"
+
+SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master \
+ file://0001-include-asm-ioctl.h-for-ioctl-define.patch;patchdir=../.. \
+ "
+SRCREV = "b949681af69b45f0f7f4bb53b6770037b5b02178"
+
+S = "${WORKDIR}/git/Linux/python/"
+
+inherit setuptools3
diff --git a/meta-raspberrypi/recipes-devtools/python/python3-sense-hat_2.2.0.bb b/meta-raspberrypi/recipes-devtools/python/python3-sense-hat_2.2.0.bb
new file mode 100644
index 000000000..5ea00142a
--- /dev/null
+++ b/meta-raspberrypi/recipes-devtools/python/python3-sense-hat_2.2.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Python module to control the Raspberry Pi Sense HAT used in the Astro Pi mission"
+HOMEPAGE = "https://github.com/RPi-Distro/python-sense-hat"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
+
+inherit setuptools3 pypi
+
+PYPI_PACKAGE = "sense-hat"
+
+SRC_URI[md5sum] = "69929250cb72349a8a82edf2584b1d83"
+SRC_URI[sha256sum] = "f000998d042d96ed722d459312e1bebd0107f9f3015cd34b3e4fabcab9c800af"
+
+DEPENDS += " \
+ jpeg \
+ zlib \
+ freetype \
+ "
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-numpy \
+ ${PYTHON_PN}-rtimu \
+ ${PYTHON_PN}-imaging \
+ "
diff --git a/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend b/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
deleted file mode 100644
index c152bd973..000000000
--- a/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-EGLINFO_DEVICE_rpi = "raspberrypi"
-COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'null', '(.*)', d)}"
diff --git a/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend b/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
deleted file mode 100644
index 2d720baaa..000000000
--- a/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-EGLINFO_DEVICE_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'generic', 'raspberrypi', d)}"
-ASNEEDED = ""
diff --git a/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
index 8152cc3ea..eaa46f27b 100644
--- a/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
+++ b/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
@@ -2,6 +2,5 @@
# With oe-core commit 8509e2e1a87578882b71948ccef3b50ccf1228b3 dri3 is set
# as default. To state out clearly that Raspi needs dri3 and to avoid surprises
# in case oe-core changes this default, we set dri3 explicitly.
-PACKAGECONFIG_append_rpi = " gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}"
-GALLIUMDRIVERS_append_rpi = ",vc4"
-DRIDRIVERS_rpi = ""
+PACKAGECONFIG_append_rpi = " gallium vc4 v3d kmsro ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}"
+DRIDRIVERS_class-target_rpi = ""
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 b2bd46f6f..af803a3de 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,7 +1,7 @@
-From e94675aa943c114ff801167c69bdd2d366d01665 Mon Sep 17 00:00:00 2001
+From ccb7f6f1a2bc491a24c0402616a2d24b85e3933a 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
+Subject: [PATCH 01/19] Allow applications to set next resource handle
This patch adds provisions in userland to
let apps callers set the next rendereing dispmanx resource.
@@ -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.21.0
+2.22.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 5efc7a4d3..8ce9090c1 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,7 +1,7 @@
-From ad6f485d9eb809b67398ce0948844dd30ea1c8e3 Mon Sep 17 00:00:00 2001
+From 7432d49ddca97b34e402d0108221d34ec69bcd66 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
+Subject: [PATCH 02/19] wayland: Add support for the Wayland winsys
* Adds EGL_WL_bind_wayland_display extension
* Adds wayland-egl library
@@ -1551,12 +1551,12 @@ index 0000000..8bafc15
+Libs: -L${libdir} -lwayland-egl
+Cflags: -I${includedir}
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
-index fde18da..6718215 100755
+index a157db1..55b6ace 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
-@@ -9,13 +9,24 @@ add_definitions(-fno-strict-aliasing)
-
- include_directories(${VMCS_TARGET}/vcfiled)
+@@ -7,13 +7,24 @@
+ # vc_vchi_gencmd.c has a type-punning problem in vc_gencmd_read_response
+ add_definitions(-fno-strict-aliasing)
-add_library(vchostif
- ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c
@@ -1894,5 +1894,5 @@ index 0000000..ad90d30
+ set(${_sources} ${${_sources}} PARENT_SCOPE)
+endfunction()
--
-2.21.0
+2.22.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 ba83db8c7..3da0f50de 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,7 +1,7 @@
-From 642110bbc9ebcb9ad497f4f1c1ccbc5a9afda753 Mon Sep 17 00:00:00 2001
+From 481a9aeba3f84371668fdf8a1380a3cb23bfc502 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
+Subject: [PATCH 03/19] wayland: Add Wayland example
---
.../linux/apps/hello_pi/CMakeLists.txt | 1 +
@@ -19,10 +19,10 @@ Subject: [PATCH 03/18] wayland: Add Wayland example
create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/triangle.c
diff --git a/host_applications/linux/apps/hello_pi/CMakeLists.txt b/host_applications/linux/apps/hello_pi/CMakeLists.txt
-index f2c6aef..0df78f7 100644
+index b28a94a..2849fad 100644
--- a/host_applications/linux/apps/hello_pi/CMakeLists.txt
+++ b/host_applications/linux/apps/hello_pi/CMakeLists.txt
-@@ -21,6 +21,7 @@ add_subdirectory(hello_encode)
+@@ -25,6 +25,7 @@ add_subdirectory(hello_encode)
add_subdirectory(hello_jpeg)
add_subdirectory(hello_videocube)
add_subdirectory(hello_teapot)
@@ -862,5 +862,5 @@ index 8225dd5..0be6ce7 100755
-
+make -C hello_wayland
--
-2.21.0
+2.22.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 c806e7b6b..9ca6b9f87 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,7 +1,7 @@
-From 33374e6b19a28d52a0089aa7b9af9b698fb98a86 Mon Sep 17 00:00:00 2001
+From 4463e2732a09dbb721d0614e7147cbfaa9059930 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
+Subject: [PATCH 04/19] wayland-egl: Add bcm_host to dependencies
It uses headers like vcos_platform_types.h but does not
depend on module which should add the required include paths
@@ -24,5 +24,5 @@ index 8bafc15..fd259c9 100644
Libs: -L${libdir} -lwayland-egl
Cflags: -I${includedir}
--
-2.21.0
+2.22.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 bcf828ce0..459fc04a1 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,7 +1,7 @@
-From e2d13265a34519364bd7d27d54a860967b320504 Mon Sep 17 00:00:00 2001
+From 571c417c055a57cfd42c30a7a8279332397bad83 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
+Subject: [PATCH 05/19] interface: remove faulty assert() to make weston happy
at runtime
This was removed after a discussion on IRC with the weston guys
@@ -25,5 +25,5 @@ index eab146e..29e0dee 100755
}
} else {
--
-2.21.0
+2.22.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 ed7baf869..cc59ca619 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,7 +1,7 @@
-From 0c64a21bd90b9dea9916dcdc7c8c23b93518ccb8 Mon Sep 17 00:00:00 2001
+From 393e90beb9f5e535b5ce5d9eba4bc74907a96afe 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
+Subject: [PATCH 06/19] zero-out wl buffers in egl_surface_free
origins from buildroot
@@ -29,5 +29,5 @@ index 42350bf..1f923d9 100644
#endif
}
--
-2.21.0
+2.22.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 3bc633f39..c5ad5195f 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,7 +1,7 @@
-From 4e0f83d815461d501fef788236dab356c9b60ea5 Mon Sep 17 00:00:00 2001
+From 3e7e309de25d546a4836c59523060f286aadd87d 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
+Subject: [PATCH 07/19] initialize front back wayland buffers
origins from metrological wayland support
@@ -30,5 +30,5 @@ index 1f923d9..9a9582c 100644
}
#endif
--
-2.21.0
+2.22.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 94dee0710..219a25874 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,7 +1,7 @@
-From 67384449b85e65661558b9ebe059792cdd737fc7 Mon Sep 17 00:00:00 2001
+From a08887086cf4418fa0999a340c574b66a5ab4412 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
+Subject: [PATCH 08/19] Remove RPC_FLUSH
Origins from buildroot
@@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644
}
#endif
--
-2.21.0
+2.22.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 375b1815e..9e148ee44 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,7 +1,7 @@
-From a4a31696bddb72f3bf58f6b5303816fd31081566 Mon Sep 17 00:00:00 2001
+From e14d2bfff42be64361a873e73674ce1205af3ee5 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
+Subject: [PATCH 09/19] fix cmake dependency race
Fixes errors like
@@ -42,10 +42,10 @@ index 1d81ca3..d6cd415 100644
add_library (vcos SHARED ${SOURCES})
target_link_libraries (vcos pthread dl rt)
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
-index 6718215..c415176 100755
+index 55b6ace..ae52495 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
-@@ -17,14 +17,6 @@ set(VCHOSTIF_SOURCE
+@@ -15,14 +15,6 @@ set(VCHOSTIF_SOURCE
# ${VMCS_TARGET}/vmcs_main.c
# vc_vchi_haud.c
@@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644
struct wl_resource *resource;
struct wl_dispmanx *dispmanx;
--
-2.21.0
+2.22.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 20a374389..a075b1efa 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,7 +1,7 @@
-From c7acd48a9044e24d64ef453ff35202d6a697eb5d Mon Sep 17 00:00:00 2001
+From ea3f7c3822efd33cec96a79eb9a345544b942d9e 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
+Subject: [PATCH 10/19] Fix for framerate with nested composition
frame rate appears irregular and lower than expected when using nested composition.
@@ -56,5 +56,5 @@ index 03fe67b..13a110c 100644
#ifdef ANDROID
CLIENT_UNLOCK();
--
-2.21.0
+2.22.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 5e141358b..1e6075118 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,7 +1,7 @@
-From a49fbbc6abc3d57d45011a3410d3b8f04349e424 Mon Sep 17 00:00:00 2001
+From 407ab0ed315b4c7b49d1a1dd3777d5af8e0b7e66 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
+Subject: [PATCH 11/19] build shared library for vchostif
Fixes #149
@@ -11,10 +11,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
-index c415176..d0cca1a 100755
+index ae52495..369758b 100755
--- a/interface/vmcs_host/CMakeLists.txt
+++ b/interface/vmcs_host/CMakeLists.txt
-@@ -17,7 +17,7 @@ set(VCHOSTIF_SOURCE
+@@ -15,7 +15,7 @@ set(VCHOSTIF_SOURCE
# ${VMCS_TARGET}/vmcs_main.c
# vc_vchi_haud.c
@@ -24,5 +24,5 @@ index c415176..d0cca1a 100755
#add_library(bufman vc_vchi_bufman.c )
--
-2.21.0
+2.22.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 0bb9ef703..c4ec57161 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,7 +1,7 @@
-From 70c5c684fbfbc8ebd890b0aafb2bb5c13d6cfb11 Mon Sep 17 00:00:00 2001
+From 48a946e24c3e7172f1044f5815e9cfed96982830 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
+Subject: [PATCH 12/19] implement buffer wrapping interface for dispmanx
Courtesy: Zan Dobersek
@@ -88,5 +88,5 @@ index c18626d..11ed1ef 100644
</protocol>
--
-2.21.0
+2.22.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 aae0b0257..85b9a4e46 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,7 +1,7 @@
-From 789d16a9d5aa57b201e9d6be9427671f48fec5e4 Mon Sep 17 00:00:00 2001
+From 31e61d1a1d26442be9c90c479e2b14589acedb0e 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
+Subject: [PATCH 13/19] Implement triple buffering for wayland
Change from double to triple buffering for wayland.
This enables higher frame rates without tearing artifacts
@@ -86,5 +86,5 @@ index e328b77..58a3184 100644
back_wl_buffer
--
-2.21.0
+2.22.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 dd27e6819..c49155096 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,7 +1,7 @@
-From 49604e158b8171033bc8a9db5d8893887fb98557 Mon Sep 17 00:00:00 2001
+From 961cd03f4db37041ae068cd8535f11cf739e42c0 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
+Subject: [PATCH 14/19] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT
weston code uses these defines
Upstream-Status: Pending
@@ -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.21.0
+2.22.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 5a5a0322d..2fc16b159 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,7 +1,7 @@
-From 90f6ebc04c688720f45c7009d12d524d33f51781 Mon Sep 17 00:00:00 2001
+From 9568135c3e4c23e9056135a13cee58c37456aaac 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
+Subject: [PATCH 15/19] EGL/glplatform.h: define EGL_CAST
C++ / C typecast macros for special EGL handle values: used by libepoxy code
The definition comes from the updated version of this header in mesa.
@@ -28,5 +28,5 @@ index 1f7c930..c39d425 100644
+
#endif /* __eglplatform_h */
--
-2.21.0
+2.22.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 da18541b6..570b72cac 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,7 +1,7 @@
-From b8a1516fd1d8c8a5f2400a7fb7bd6b9e05d33a55 Mon Sep 17 00:00:00 2001
+From 493b013cb702b821fdeaef7021ae25dea88900c6 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
+Subject: [PATCH 16/19] Allow multiple wayland compositor state data per
process
When eglBindWaylandDisplayWL is called store the wl_global
@@ -141,5 +141,5 @@ index 9ef89cd..abd5ab3 100644
CLIENT_UNLOCK();
--
-2.21.0
+2.22.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 9d96d5fe9..2f37989fd 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,7 +1,7 @@
-From d65939b5bdc6cfddb68803e87efffac13182ae46 Mon Sep 17 00:00:00 2001
+From cc25f8abd4498004a276a4ee40e37681fa42422a 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
+Subject: [PATCH 17/19] khronos: backport typedef for
EGL_EXT_image_dma_buf_import
The `gstreamer1.0-plugins-base` package version `1.14` uses `EGL_EXT_image_dma_buf_import`, which
@@ -34,5 +34,5 @@ index d7e5ba7..dcc90ce 100755
#ifndef EGL_WL_bind_wayland_display
#define EGL_WL_bind_wayland_display 1
--
-2.21.0
+2.22.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 86f7b3635..c44c82165 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,7 +1,7 @@
-From e5fcfe7af2c7f75b66356680bb641f4f6555d0c5 Mon Sep 17 00:00:00 2001
+From e091388b4382d90494b5842e9f591043a45b2b21 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
+Subject: [PATCH 18/19] Add EGL_IMG_context_priority related defines
These defines are needed for compiling weston 4.x
taken from Khronos headers
@@ -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.21.0
+2.22.0
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch b/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch
new file mode 100644
index 000000000..fc66f535a
--- /dev/null
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch
@@ -0,0 +1,31 @@
+From 5229430874b5275547babdbef1e322922317456d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 25 Jul 2019 23:30:27 -0700
+Subject: [PATCH 19/19] libfdt: Undefine __wordsize if already defined
+
+glibc 2.30+ defines __wordsize, which is same so its easier to compile
+for multiple versions of glibc even ones which does not have this define
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ opensrc/helpers/libfdt/libfdt_env.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/opensrc/helpers/libfdt/libfdt_env.h b/opensrc/helpers/libfdt/libfdt_env.h
+index 1c966b8..fc25ca6 100644
+--- a/opensrc/helpers/libfdt/libfdt_env.h
++++ b/opensrc/helpers/libfdt/libfdt_env.h
+@@ -56,6 +56,10 @@
+ #include <stdint.h>
+ #include <string.h>
+
++#ifdef __bitwise
++#undef __bitwise
++#endif
++
+ #ifdef __CHECKER__
+ #define __force __attribute__((force))
+ #define __bitwise __attribute__((bitwise))
+--
+2.22.0
+
diff --git a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
index 2b5ac3301..99a3f23c2 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 = "517cdc30da167d81a485e7a994e02cec2390a269"
+SRCREV = "17d2fdc1abd370e09ba7074753294c7976dd6b0d"
# Use the date of the above commit as the package version. Update this when
# SRCREV is changed.
-PV = "20190501"
+PV = "20190724"
SRC_URI = "\
git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
@@ -38,6 +38,7 @@ SRC_URI = "\
file://0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch \
file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch \
file://0018-Add-EGL_IMG_context_priority-related-defines.patch \
+ file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch \
"
S = "${WORKDIR}/git"
@@ -64,7 +65,6 @@ do_install_append () {
sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f}
sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f}
done
- install -D -m 0755 ${D}${prefix}${sysconfdir}/init.d/vcfiled ${D}${sysconfdir}/init.d/vcfiled
rm -rf ${D}${prefix}${sysconfdir}
if [ "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" = "1" ]; then
rm -rf ${D}${libdir}/libEGL*
diff --git a/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc b/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
index 4d8b282f1..8b3f2bf0f 100644
--- a/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
+++ b/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
@@ -8,7 +8,7 @@ COMPATIBLE_MACHINE = "^rpi$"
INHIBIT_DEFAULT_DEPS = "1"
-include recipes-bsp/common/firmware.inc
+include recipes-bsp/common/raspberrypi-firmware.inc
SRC_URI += " \
file://egl.pc \
diff --git a/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
index a5a6af3f3..fba163219 100644
--- a/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ b/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -1,9 +1 @@
-OPENGL_PKGCFG = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
-
-# slightly modified to oe-core's default: add ${OPENGL_PKGCFG}
-PACKAGECONFIG_rpi ?= " \
- dri2 udev ${XORG_CRYPTO} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri glx ${OPENGL_PKGCFG}', '', d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "xwayland", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", d)} \
-"
+OPENGL_PKGCONFIGS_rpi = "dri glx ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
index 1f63c329c..2bc55223b 100644
--- a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
+++ b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
@@ -25,7 +25,7 @@ LICENSE = "\
"
LIC_FILES_CHKSUM = "\
file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
- file://WHENCE;md5=a9c2c217f513c20e1d16b384b3e2c12d \
+ file://WHENCE;md5=7b12b2224438186e4c97c4c7f3a5cc28 \
"
# These are not common licenses, set NO_GENERIC_LICENSE for them
@@ -34,7 +34,8 @@ NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx-rpidistro] = "LICENCE.broadcom_bcm4
NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree"
-SRCREV = "b518de45ced519e8f7a499f4778100173402ae43"
+
+SRCREV = "f0ad1a42b051aa9da1d9e1dc606dd68ec2f163a5"
PV = "0.0+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/meta-raspberrypi/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg b/meta-raspberrypi/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg
new file mode 100644
index 000000000..fd97ed71f
--- /dev/null
+++ b/meta-raspberrypi/recipes-kernel/linux/files/raspberrypi4-64/rpi4-64-kernel-misc.cfg
@@ -0,0 +1,2 @@
+# see emmc node
+CONFIG_MMC_SDHCI_IPROC=y
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb
index 1a990fe0f..224bc6ddb 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.14.bb
@@ -1,6 +1,6 @@
-LINUX_VERSION ?= "4.14.81"
+LINUX_VERSION ?= "4.14.91"
-SRCREV = "acf578d07d57480674d5361df9171fe9528765cb"
+SRCREV = "0b520d5f1f580d36a742a9457a5673fa1578fff3"
SRC_URI = " \
git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y-rt \
file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb
new file mode 100644
index 000000000..17791b091
--- /dev/null
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-rt_4.19.bb
@@ -0,0 +1,6 @@
+LINUX_VERSION ?= "4.19.59"
+LINUX_RPI_BRANCH ?= "rpi-4.19.y-rt"
+
+SRCREV = "1dae1f0521d69bfd22454180c40fe85fdd80ffc6"
+
+require linux-raspberrypi_4.19.inc
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
index 01f2425ed..ea7f77837 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
@@ -19,6 +19,8 @@ KBUILD_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig"
KBUILD_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig"
KBUILD_DEFCONFIG_raspberrypi3 ?= "bcm2709_defconfig"
KBUILD_DEFCONFIG_raspberrypi3-64 ?= "bcmrpi3_defconfig"
+KBUILD_DEFCONFIG_raspberrypi4 ?= "bcm2711_defconfig"
+KBUILD_DEFCONFIG_raspberrypi4-64 ?= "bcm2711_defconfig"
# CMDLINE for raspberrypi
SERIAL = "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0,115200", "", d)}"
@@ -120,9 +122,11 @@ do_configure_prepend() {
rm -f ${B}/.config.patched
}
-do_compile_append_raspberrypi3-64() {
- cc_extra=$(get_cc_option)
- oe_runmake dtbs CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+do_compile_append() {
+ if [ "${SITEINFO_BITS}" = "64" ]; then
+ cc_extra=$(get_cc_option)
+ oe_runmake dtbs CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
+ fi
}
do_deploy_append() {
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
index 6563918cc..03710edf1 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
@@ -1,6 +1,6 @@
-LINUX_VERSION ?= "4.14.112"
+LINUX_VERSION ?= "4.14.114"
-SRCREV = "6b5c4a2508403839af29ef44059d04acbe0ee204"
+SRCREV = "7688b39276ff9952df381d79de63b258e73971ce"
SRC_URI = " \
git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y \
file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
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 396dd6f75..900570de1 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb
@@ -1,12 +1,6 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
-
-LINUX_VERSION ?= "4.19.44"
+LINUX_VERSION ?= "4.19.71"
LINUX_RPI_BRANCH ?= "rpi-4.19.y"
-SRCREV = "b45a32b47b76cb64225d19841c20ee85ea97874d"
-SRC_URI = " \
- git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_BRANCH} \
- "
-require linux-raspberrypi.inc
+SRCREV = "13ce09db830e0c2fe524460b0673afb974359bc2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+require linux-raspberrypi_4.19.inc
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.inc b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.inc
new file mode 100644
index 000000000..d6c1223c7
--- /dev/null
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.inc
@@ -0,0 +1,12 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
+
+SRC_URI = " \
+ git://github.com/raspberrypi/linux.git;branch=${LINUX_RPI_BRANCH} \
+ "
+SRC_URI_append_raspberrypi4-64 = " file://rpi4-64-kernel-misc.cfg"
+
+require linux-raspberrypi.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+KERNEL_EXTRA_ARGS_append_rpi = " DTC_FLAGS='-@ -H epapr'"
diff --git a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch
index 383cdf7cf..d137592cf 100644
--- a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch
+++ b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch
@@ -20,7 +20,7 @@ Index: git/Makefile.ffmpeg
@@ -1,5 +1,7 @@
CFLAGS=-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_HAVE_SBRK -D_LARGEFILE64_SOURCE -DHAVE_CMAKE_CONFIG -DHAVE_VMCS_CONFIG -D_REENTRANT -DUSE_VCHIQ_ARM -DVCHI_BULK_ALIGN=1 -DVCHI_BULK_GRANULARITY=1 -DEGL_SERVER_DISPMANX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__VIDEOCORE4__ -DGRAPHICS_X_VG=1 -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT
-+FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog
++FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT)
+
WORK=$(PWD)
@@ -29,7 +29,7 @@ Index: git/Makefile.ffmpeg
CFLAGS="$(CFLAGS) ${INCLUDES}" \
LDFLAGS="" \
./configure \
-- --extra-cflags="-mfpu=vfp -mfloat-abi=hard -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog" \
+- --extra-cflags="-mfpu=vfp -mfloat-abi=hard" \
+ --extra-cflags="$(FFMPEG_EXTRA_CFLAGS)" \
+ --extra-ldflags="$(FFMPEG_EXTRA_LDFLAGS)" \
--enable-shared \
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
index 03319739b..a8c51d5ce 100644
--- 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
@@ -1,8 +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=-pipe -mfloat-abi=hard -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -g
++CFLAGS+= -fomit-frame-pointer -mabi=aapcs-linux -Wno-psabi -g
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 831a91be6..a09a9fcf0 100644
--- a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
+++ b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
@@ -5,13 +5,13 @@ HOMEPAGE = "https://github.com/popcornmix/omxplayer"
SECTION = "console/utils"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+LIC_FILES_CHKSUM = "file://COPYING;md5=00a27da7ac0f9bcd17320ec29ef4bbf6"
DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl libssh libomxil coreutils-native curl-native userland"
-PR = "r4"
+PR = "r5"
-SRCREV_default = "b4bbef8fac5e8c2ddafa895f98456ba715b39c6b"
+SRCREV_default = "f543a0d0e707ab56415f17b0ca6d397394ee8b63"
# omxplayer builds its own copy of ffmpeg from source instead of using the
# system's ffmpeg library. This isn't ideal but it's ok for now. We do however
diff --git a/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend b/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend
deleted file mode 100644
index a4cc96ee6..000000000
--- a/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_OECMAKE_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' -DUSE_GSTREAMER_GL=OFF ', '', d)}"
diff --git a/meta-security/conf/distro/include/maintainers.inc b/meta-security/conf/distro/include/maintainers.inc
index 94b45f288..7b82ef749 100644
--- a/meta-security/conf/distro/include/maintainers.inc
+++ b/meta-security/conf/distro/include/maintainers.inc
@@ -35,7 +35,6 @@ RECIPE_MAINTAINER_pn-hash-perl = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-isic = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-keyutils = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libaes-siv = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libenv-perl = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libgssglue = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libhtp = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libmhash = "Armin Kuster <akuster808@gmail.com>"
@@ -56,4 +55,3 @@ RECIPE_MAINTAINER_pn-smack = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-sssd = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-suricata = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-tripwire = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-xmlsec1 = "Armin Kuster <akuster808@gmail.com>"
diff --git a/meta-security/conf/layer.conf b/meta-security/conf/layer.conf
index 4beac385f..b9a4f254c 100644
--- a/meta-security/conf/layer.conf
+++ b/meta-security/conf/layer.conf
@@ -9,8 +9,6 @@ BBFILE_COLLECTIONS += "security"
BBFILE_PATTERN_security = "^${LAYERDIR}/"
BBFILE_PRIORITY_security = "8"
-LAYERSERIES_COMPAT_security = "thud warrior"
+LAYERSERIES_COMPAT_security = "warrior"
LAYERDEPENDS_security = "core openembedded-layer perl-layer networking-layer meta-python"
-
-DEFAULT_TEST_SUITES_pn-security-build-image = " ping ssh ptest"
diff --git a/meta-security/files/waf-cross-answers/README b/meta-security/files/waf-cross-answers/README
deleted file mode 100644
index dda45c508..000000000
--- a/meta-security/files/waf-cross-answers/README
+++ /dev/null
@@ -1,3 +0,0 @@
-The files in this directory are cross answers files
-used by waf-samba.bbclass, please see waf-samba.bbclass
-for details about how they are used.
diff --git a/meta-security/files/waf-cross-answers/cross-answers-aarch64.txt b/meta-security/files/waf-cross-answers/cross-answers-aarch64.txt
deleted file mode 100644
index 1023f6aff..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-aarch64.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "65"
-Checking value of _NSIG: "65"
-Checking value of SIGRTMAX: "64"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: OK
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-aarch64_be.txt b/meta-security/files/waf-cross-answers/cross-answers-aarch64_be.txt
deleted file mode 100644
index 1023f6aff..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-aarch64_be.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "65"
-Checking value of _NSIG: "65"
-Checking value of SIGRTMAX: "64"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: OK
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-arm.txt b/meta-security/files/waf-cross-answers/cross-answers-arm.txt
deleted file mode 100644
index a5cd9981a..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-arm.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: NO
-Checking for -D_FILE_OFFSET_BITS=64: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "65"
-Checking value of _NSIG: "65"
-Checking value of SIGRTMAX: "64"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: NO
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-armeb.txt b/meta-security/files/waf-cross-answers/cross-answers-armeb.txt
deleted file mode 100644
index a5cd9981a..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-armeb.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: NO
-Checking for -D_FILE_OFFSET_BITS=64: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "65"
-Checking value of _NSIG: "65"
-Checking value of SIGRTMAX: "64"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: NO
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-i586.txt b/meta-security/files/waf-cross-answers/cross-answers-i586.txt
deleted file mode 100644
index a5cd9981a..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-i586.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: NO
-Checking for -D_FILE_OFFSET_BITS=64: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "65"
-Checking value of _NSIG: "65"
-Checking value of SIGRTMAX: "64"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: NO
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-i686.txt b/meta-security/files/waf-cross-answers/cross-answers-i686.txt
deleted file mode 100644
index a5cd9981a..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-i686.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: NO
-Checking for -D_FILE_OFFSET_BITS=64: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "65"
-Checking value of _NSIG: "65"
-Checking value of SIGRTMAX: "64"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: NO
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-mips.txt b/meta-security/files/waf-cross-answers/cross-answers-mips.txt
deleted file mode 100644
index 3e239e727..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-mips.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: NO
-Checking for -D_FILE_OFFSET_BITS=64: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "128"
-Checking value of _NSIG: "128"
-Checking value of SIGRTMAX: "127"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: NO
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-mips64.txt b/meta-security/files/waf-cross-answers/cross-answers-mips64.txt
deleted file mode 100644
index 82e694fda..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-mips64.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: OK
-Checking for HAVE_INCOHERENT_MMAP: OK
-Checking value of NSIG: "128"
-Checking value of _NSIG: "128"
-Checking value of SIGRTMAX: "127"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: OK
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-mips64el.txt b/meta-security/files/waf-cross-answers/cross-answers-mips64el.txt
deleted file mode 100644
index 82e694fda..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-mips64el.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: OK
-Checking for HAVE_INCOHERENT_MMAP: OK
-Checking value of NSIG: "128"
-Checking value of _NSIG: "128"
-Checking value of SIGRTMAX: "127"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: OK
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-mipsel.txt b/meta-security/files/waf-cross-answers/cross-answers-mipsel.txt
deleted file mode 100644
index 3e239e727..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-mipsel.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: NO
-Checking for -D_FILE_OFFSET_BITS=64: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "128"
-Checking value of _NSIG: "128"
-Checking value of SIGRTMAX: "127"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: NO
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-powerpc.txt b/meta-security/files/waf-cross-answers/cross-answers-powerpc.txt
deleted file mode 100644
index 27b9378a4..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-powerpc.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: NO
-Checking for -D_FILE_OFFSET_BITS=64: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "65"
-Checking value of _NSIG: "65"
-Checking value of SIGRTMAX: "64"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: NO
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-powerpc64.txt b/meta-security/files/waf-cross-answers/cross-answers-powerpc64.txt
deleted file mode 100644
index 7fd3092cb..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-powerpc64.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "65"
-Checking value of _NSIG: "65"
-Checking value of SIGRTMAX: "64"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: (255, "")
-Checking if can we convert from IBM850 to UCS-2LE: (255, "")
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: OK
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-riscv64.txt b/meta-security/files/waf-cross-answers/cross-answers-riscv64.txt
deleted file mode 100644
index 1023f6aff..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-riscv64.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "65"
-Checking value of _NSIG: "65"
-Checking value of SIGRTMAX: "64"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: OK
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/files/waf-cross-answers/cross-answers-x86_64.txt b/meta-security/files/waf-cross-answers/cross-answers-x86_64.txt
deleted file mode 100644
index 1023f6aff..000000000
--- a/meta-security/files/waf-cross-answers/cross-answers-x86_64.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-Checking uname sysname type: "Linux"
-Checking uname version type: "# Wed May 20 10:34:39 UTC 2015"
-Checking simple C program: "hello world"
-rpath library support: OK
--Wl,--version-script support: OK
-Checking getconf LFS_CFLAGS: NO
-Checking correct behavior of strtoll: NO
-Checking for working strptime: OK
-Checking for C99 vsnprintf: "1"
-Checking for HAVE_SHARED_MMAP: OK
-Checking for HAVE_MREMAP: OK
-Checking for HAVE_SECURE_MKSTEMP: OK
-Checking for HAVE_IFACE_GETIFADDRS: NO
-Checking for HAVE_IFACE_IFCONF: NO
-Checking for HAVE_IFACE_IFREQ: NO
-Checking for large file support without additional flags: OK
-Checking for HAVE_INCOHERENT_MMAP: NO
-Checking value of NSIG: "65"
-Checking value of _NSIG: "65"
-Checking value of SIGRTMAX: "64"
-Checking value of SIGRTMIN: "34"
-Checking whether the WRFILE -keytab is supported: OK
-Checking for kernel change notify support: OK
-Checking for Linux kernel oplocks: OK
-Checking for kernel share modes: OK
-Checking whether POSIX capabilities are available: OK
-Checking if can we convert from CP850 to UCS-2LE: OK
-Checking if can we convert from UTF-8 to UCS-2LE: OK
-vfs_fileid checking for statfs() and struct statfs.f_fsid: OK
-Checking whether we can use Linux thread-specific credentials: OK
-Checking whether fcntl locking is available: OK
-Checking for the maximum value of the 'time_t' type: OK
-Checking whether the realpath function allows a NULL argument: OK
-Checking for ftruncate extend: OK
-getcwd takes a NULL argument: OK
-Checking for small off_t: NO
-Checking whether blkcnt_t is 32 bit: NO
-Checking whether blkcnt_t is 64 bit: OK
-Checking whether fcntl lock supports open file description locks: OK
diff --git a/meta-security/lib/oeqa/runtime/cases/clamav.py b/meta-security/lib/oeqa/runtime/cases/clamav.py
index d0bc645ae..2808df4dc 100644
--- a/meta-security/lib/oeqa/runtime/cases/clamav.py
+++ b/meta-security/lib/oeqa/runtime/cases/clamav.py
@@ -57,7 +57,7 @@ class ClamavTest(OERuntimeTestCase):
'Status and output:%s and %s' % (status, output))
self.assertEqual(status, 1, msg = msg)
- @OETestDepends(['clamav.ClamavTest.test_freshclam_download'])
+ @OETestDepends(['clamav.ClamavTest.test_ping_clamav_net'])
def test_freshclam_check_mirrors(self):
status, output = self.target.run('freshclam --list-mirrors')
match = re.search('Failures: 0', output)
diff --git a/meta-security/meta-integrity/README.md b/meta-security/meta-integrity/README.md
index 5bef76e8d..460794878 100644
--- a/meta-security/meta-integrity/README.md
+++ b/meta-security/meta-integrity/README.md
@@ -74,7 +74,7 @@ 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"
+ IMA_EVM_KEY_DIR = "${INTEGRITY_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
@@ -96,7 +96,7 @@ for that are included in the layer. This is also how the
# In that shell, create the keys. Several options exist:
# 1. Self-signed keys.
- $IMA_EVM_BASE/scripts/ima-gen-self-signed.sh
+ $INTEGRITY_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.
@@ -104,11 +104,11 @@ for that are included in the layer. This is also how the
# 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
+ # $INTEGRITY_BASE/scripts/ima-gen-local-ca.sh
+ # $INTEGRITY_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>
+ # $INTEGRITY_BASE/scripts/ima-gen-CA-signed.sh <CA.pem> <CA.priv>
exit
When using ``ima-self-signed.sh`` as described above, self-signed keys
@@ -169,7 +169,7 @@ IMA policy loading became broken in systemd 2.18. The modified systemd
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"
+ IMA_EVM_POLICY_SYSTEMD = "${INTEGRITY_BASE}/data/ima_policy_simple"
To check that measuring works, look at `/sys/kernel/security/ima/ascii_runtime_measurements`
diff --git a/meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass b/meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass
index 8aec388df..d6ade3bf9 100644
--- a/meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass
+++ b/meta-security/meta-integrity/classes/ima-evm-rootfs.bbclass
@@ -1,7 +1,7 @@
# 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 = "${INTEGRITY_BASE}/data/debug-keys"
IMA_EVM_KEY_DIR ?= "IMA_EVM_KEY_DIR_NOT_SET"
# Private key for IMA signing. The default is okay when
diff --git a/meta-security/meta-integrity/classes/kernel-modsign.bbclass b/meta-security/meta-integrity/classes/kernel-modsign.bbclass
new file mode 100644
index 000000000..09025baa7
--- /dev/null
+++ b/meta-security/meta-integrity/classes/kernel-modsign.bbclass
@@ -0,0 +1,29 @@
+# No default! Either this or MODSIGN_PRIVKEY/MODSIGN_X509 have to be
+# set explicitly in a local.conf before activating kernel-modsign.
+# To use the insecure (because public) example keys, use
+# MODSIGN_KEY_DIR = "${INTEGRITY_BASE}/data/debug-keys"
+MODSIGN_KEY_DIR ?= "MODSIGN_KEY_DIR_NOT_SET"
+
+# Private key for modules signing. The default is okay when
+# using the example key directory.
+MODSIGN_PRIVKEY ?= "${MODSIGN_KEY_DIR}/privkey_modsign.pem"
+
+# Public part of certificates used for modules signing.
+# The default is okay when using the example key directory.
+MODSIGN_X509 ?= "${MODSIGN_KEY_DIR}/x509_modsign.crt"
+
+# If this class is enabled, disable stripping signatures from modules
+INHIBIT_PACKAGE_STRIP = "1"
+
+kernel_do_configure_prepend() {
+ if [ -f "${MODSIGN_PRIVKEY}" -a -f "${MODSIGN_X509}" ]; then
+ cat "${MODSIGN_PRIVKEY}" "${MODSIGN_X509}" \
+ > "${B}/modsign_key.pem"
+ else
+ bberror "Either modsign key or certificate are invalid"
+ fi
+}
+
+do_shared_workdir_append() {
+ cp modsign_key.pem $kerneldir/
+}
diff --git a/meta-security/meta-integrity/conf/layer.conf b/meta-security/meta-integrity/conf/layer.conf
index 2f696cf7c..41989da38 100644
--- a/meta-security/meta-integrity/conf/layer.conf
+++ b/meta-security/meta-integrity/conf/layer.conf
@@ -13,12 +13,14 @@ 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}'
+INTEGRITY_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
+# INTEGRITY_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"
+OE_TERMINAL_EXPORTS += "INTEGRITY_BASE"
LAYERSERIES_COMPAT_integrity = "warrior"
+# ima-evm-utils depends on keyutils from meta-oe
+LAYERDEPENDS_integrity = "core openembedded-layer"
diff --git a/meta-security/meta-integrity/data/debug-keys/privkey_modsign.pem b/meta-security/meta-integrity/data/debug-keys/privkey_modsign.pem
new file mode 100644
index 000000000..4cac00ae3
--- /dev/null
+++ b/meta-security/meta-integrity/data/debug-keys/privkey_modsign.pem
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDEWsJjB2pA5Ih6
+EelXvVjwWY1ix1azMciNRNPPQN1AMXF0K/VUkfOYbaPajg1cQYEf9gk3q7OZ5Axk
+UY/e5piZORaPcsmj0lV0L+NSlRYydR5M/QxtEz26585FgqRGdAe6umStPmVKdqa2
+d68O4PgQgJJtVuz6ndm+0uNEUDCVLwhkGQSwNB3qBbZAUX9escZ/a8eUiBfMYKaO
+k8JRyM+2br9dgpTFg4UfBYexgNSQo8g5TIBGc8KgQiKCuFj1fQEhV5z4RusHthjc
+NYXa3RHmdclxyrGeYr5ZRc47HqE1gd5NDR0WeHn4C4YKcfK1rZZz/2+6hfsIRfGx
+6cQKk23hAgMBAAECggEAJ0ULiWirPG04SkmYxF5vEiqm1zGMymvTc0VnoxSS60q4
+KQa9mvtRn5OV6JjuXRwQqga30zV4xvdP7yRMxMSTkllThL7tSuE/C+yj5xlABjlc
+JQOa35mwh9fibg5xslF0Vkj+55MKCPlv4CBRl4Uwt4QvRMTUwk6dhMeCgmATR1J1
+2/7AipjtfFYreDx7sLbRVvSzUhmZS0iCbNOhtTWPLNW+9YKHTOffKa04HzNtnAXq
+OjJ0IRZD/C6LfkBUsnHg2eEiA97QXh/Srsl9nc8DaUK1IXRywEdmYIoNMWMav2Hm
+RO8kkU30BqKW+/EO2ZbH2GmkxvwWd0ocBnLC3FRWEQKBgQDu4T8CB3YsOcVjqem4
+iBlaSht/b46YQc7A1SOqZCimehmmXNSxQOkapIG3wlIr5edtXQA+xv09+WrproUB
+SjAnqaH6pYeCvbNlY5k344gtYs+Kco2rq5GYa+LumAeX2Sam8F7u4LxvEogCecX7
+e4rnG3lt3AVuuRE7zpCQtaWcJQKBgQDSbUvea9pcYli9pssTl+ijQKkgG9DdaYbA
+I5w5bY1TPYZ/Ocysljefv/ssaHFh4DPxE1MQ5JHwZgZRo1EICxxYzGsLjyR/fmjz
+1c/NJlTtalCNtLvWaf7b02ag/abnP8neiSpLL5xqHvGo5ikWwgYQD+9HVKGvL3S1
+kI7x/ziADQKBgQCqFbkuMa/jh3LTJp0iZc1fa1qu3vhx0pFq3Zeab9w9xLxUps5O
+MwCGltFBzNuDJBwm00wkZrzTjq6gGkHbjD5DT1XkyE13OqjsLQFgOOKyJiPN2Qik
+TfHJzC91YMwvQ09xF78QaPXiRBiRYrEkAXACY56PKVS45I6vvcFTN/Ll/QKBgA9m
+KDMyuVwhZlUaq6nXaBLqXHYZEwPhARd2g6xANCNvUTRmSnAm3hM2vW7WhdWfzq1J
+uL53u6ZYEQZQaVGpXn2xF/RUmVsrKQsPDpH4yCZHrXVxUH20bA4yPkRxy5EIvgEn
+EI1IAq5RbWXq0f70W/U49U3HB74GPwg6d/uFreDRAoGAN+v9gMQA6A1vM7LvbYR8
+5CwwyqS/CfI9zKPLn53QstguXC/ObafIYQzVRqGb9lCQgtlmmKw4jMY0B/lDzpcH
+zS8rqoyvDj/m7i17NYkqXErJKLRQ0ptXKdLXHlG0u185e7Y5p4O3Z5dk8bACkpHi
+hp764y+BtU4qIcVaPsPK4uU=
+-----END PRIVATE KEY-----
diff --git a/meta-security/meta-integrity/data/debug-keys/x509_modsign.crt b/meta-security/meta-integrity/data/debug-keys/x509_modsign.crt
new file mode 100644
index 000000000..5fa2a9062
--- /dev/null
+++ b/meta-security/meta-integrity/data/debug-keys/x509_modsign.crt
@@ -0,0 +1,22 @@
+-----BEGIN CERTIFICATE-----
+MIIDnjCCAoagAwIBAgIUUqmBj5Q8edHMMTXsoGVGEEKdwV4wDQYJKoZIhvcNAQEL
+BQAwZzEqMCgGA1UEAxMhbWV0YS1zZWN1cml0eSBtb2R1bGVzIHNpZ25pbmcga2V5
+MRQwEgYDVQQKEwtleGFtcGxlLmNvbTEjMCEGCSqGSIb3DQEJARYUam9obi5kb2VA
+ZXhhbXBsZS5jb20wIBcNMTkwNzI3MjIzOTA3WhgPMjExOTA3MjcyMjM5MTVaMGcx
+KjAoBgNVBAMTIW1ldGEtc2VjdXJpdHkgbW9kdWxlcyBzaWduaW5nIGtleTEUMBIG
+A1UEChMLZXhhbXBsZS5jb20xIzAhBgkqhkiG9w0BCQEWFGpvaG4uZG9lQGV4YW1w
+bGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxFrCYwdqQOSI
+ehHpV71Y8FmNYsdWszHIjUTTz0DdQDFxdCv1VJHzmG2j2o4NXEGBH/YJN6uzmeQM
+ZFGP3uaYmTkWj3LJo9JVdC/jUpUWMnUeTP0MbRM9uufORYKkRnQHurpkrT5lSnam
+tnevDuD4EICSbVbs+p3ZvtLjRFAwlS8IZBkEsDQd6gW2QFF/XrHGf2vHlIgXzGCm
+jpPCUcjPtm6/XYKUxYOFHwWHsYDUkKPIOUyARnPCoEIigrhY9X0BIVec+EbrB7YY
+3DWF2t0R5nXJccqxnmK+WUXOOx6hNYHeTQ0dFnh5+AuGCnHyta2Wc/9vuoX7CEXx
+senECpNt4QIDAQABo0AwPjAMBgNVHRMBAf8EAjAAMA8GA1UdDwEB/wQFAwMHgAAw
+HQYDVR0OBBYEFDa35X9LnPlrd76inh/cYgeXh6X4MA0GCSqGSIb3DQEBCwUAA4IB
+AQBTPTh7zY9BrfZW9Izk9JSZYNigwUDwjrhNBSLr5NKi2A/LmZ0jjdCDkwaCn5io
+xrAq5oxPCAkwlzKwY2ootcL3+En4Pq2e5U+n9kRrpDpKKiR5/0S0d9vpgg4eZR0R
+kxqE9APCQ5SFU3PgnJ5H5y2SPXzle3bgUsWxNGD81zXFn5clJj4XHvJDWTQ/jG7C
+FTQ1o1HXtzda4EmKIzrSU/ayVbpPg5fPEBJjk/hHPT45kfzVZBuxwBLXVbe/YyWi
+NTFWCbJwjZwVRKrsQ3HFpYMWvugtcsSHo7vGi06FvUHcS2sUZH5sFn7hulcIGICt
+EztTO8Q+yhZujZbmEyJmxqZv
+-----END CERTIFICATE-----
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
index 6ed724df2..1a3a30a19 100644
--- a/meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb
+++ b/meta-security/meta-integrity/recipes-core/images/integrity-image-minimal.bb
@@ -17,6 +17,5 @@ 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
index 6057e8daf..95c853a72 100644
--- a/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb
+++ b/meta-security/meta-integrity/recipes-core/initrdscripts/initramfs-framework-ima.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
# 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"
+IMA_POLICY ?= "ima-policy-hashed"
SRC_URI = " file://ima"
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend b/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend
index 931854ef8..f9a48cd05 100644
--- a/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend
+++ b/meta-security/meta-integrity/recipes-kernel/linux/linux-%.bbappend
@@ -1,3 +1,5 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux:"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ima", " features/ima/ima.scc", "" ,d)}"
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ima', ' file://ima.cfg', '', d)}"
+KERNEL_FEATURES_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'modsign', ' features/ima/modsign.scc', '', d)}"
+
+inherit ${@bb.utils.contains('DISTRO_FEATURES', 'modsign', 'kernel-modsign', '', d)}
diff --git a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg b/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg
deleted file mode 100644
index b3e47ba37..000000000
--- a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-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
deleted file mode 100644
index 9a454257a..000000000
--- a/meta-security/meta-integrity/recipes-kernel/linux/linux/ima_evm_root_ca.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# 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
deleted file mode 100644
index 5ccb73d9b..000000000
--- a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0001-ima-evm-utils-link-to-libcrypto-instead-of-OpenSSL.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-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
deleted file mode 100644
index 8237274ca..000000000
--- a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0002-ima-evm-utils-replace-INCLUDES-with-AM_CPPFLAGS.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-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
deleted file mode 100644
index 3d250d2fc..000000000
--- a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0003-ima-evm-utils-include-hash-info.gen-into-distributio.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-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
deleted file mode 100644
index 4ada1a271..000000000
--- a/meta-security/meta-integrity/recipes-security/ima-evm-utils/ima-evm-utils/0004-ima-evm-utils-update-.gitignore-files.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-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/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
index c0bdd9b49..ffa65dfb0 100644
--- 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
@@ -23,9 +23,9 @@ 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>
+@@ -57,6 +57,18 @@
#include <termios.h>
+ #include <assert.h>
+/*
+ * linux/xattr.h might be old to have this. Allow compilation on older
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
index 929d85348..92c24c902 100644
--- 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
@@ -6,9 +6,9 @@ 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"
+PV = "1.2.1+git${SRCPV}"
+SRCREV = "3eab1f93b634249c1720f65fcb495b1996f0256e"
+SRC_URI = "git://git.code.sf.net/p/linux-ima/ima-evm-utils;branch=ima-evm-utils-1.2.y"
# Documentation depends on asciidoc, which we do not have, so
# do not build documentation.
@@ -21,12 +21,6 @@ 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
diff --git a/meta-security/meta-security-compliance/README b/meta-security/meta-security-compliance/README
index b29c143b7..320f85676 100644
--- a/meta-security/meta-security-compliance/README
+++ b/meta-security/meta-security-compliance/README
@@ -28,9 +28,9 @@ Maintenance
Send pull requests, patches, comments or questions to yocto@yoctoproject.org
When sending single patches, please using something like:
-'git send-email -1 --to yocto@yoctoproject.org --subject-prefix=meta-security][PATCH'
+'git send-email -1 --to yocto@yoctoproject.org --subject-prefix=meta-security-compliance][PATCH'
-Layer Maintainer: Armin Kuster <akuster@mvista.com>
+Layer Maintainer: Armin Kuster <akuster808@gmail.com>
License
diff --git a/meta-security/meta-security-compliance/conf/layer.conf b/meta-security/meta-security-compliance/conf/layer.conf
index d48feb97a..9ccadab8b 100644
--- a/meta-security/meta-security-compliance/conf/layer.conf
+++ b/meta-security/meta-security-compliance/conf/layer.conf
@@ -8,8 +8,6 @@ BBFILE_COLLECTIONS += "scanners-layer"
BBFILE_PATTERN_scanners-layer = "^${LAYERDIR}/"
BBFILE_PRIORITY_scanners-layer = "10"
-LAYERSERIES_COMPAT_scanners-layer = "thud warrior"
+LAYERSERIES_COMPAT_scanners-layer = "warrior"
-LAYERDEPENDS_scanners-layer = " \
- core \
-"
+LAYERDEPENDS_scanners-layer = "core openembedded-layer meta-python"
diff --git a/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.2.bb b/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.2.bb
deleted file mode 100644
index 3ba82f9e4..000000000
--- a/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.2.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (C) 2017 Armin Kuster <akuster808@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Lynis is a free and open source security and auditing tool."
-HOMEDIR = "https://cisofy.com/"
-LICENSE = "GPL-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3edd6782854304fd11da4975ab9799c1"
-
-SRC_URI = "https://cisofy.com/files/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "3422cee3b12fc33338fcde003d65e234"
-SRC_URI[sha256sum] = "fde6ccf8d6ec0ae1e9c9f4a6d640cddcde4bf7a92f8437d47d16a5477e21bfda"
-
-S = "${WORKDIR}/${BPN}"
-
-inherit autotools-brokensep
-
-do_compile[noexec] = "1"
-do_configure[noexec] = "1"
-
-do_install () {
- install -d ${D}/${bindir}
- install -d ${D}/${sysconfdir}/lynis
- install -m 555 ${S}/lynis ${D}/${bindir}
-
- install -d ${D}/${datadir}/lynis/db
- install -d ${D}/${datadir}/lynis/plugins
- install -d ${D}/${datadir}/lynis/include
- install -d ${D}/${datadir}/lynis/extras
-
- cp -r ${S}/db/* ${D}/${datadir}/lynis/db/.
- cp -r ${S}/plugins/* ${D}/${datadir}/lynis/plugins/.
- cp -r ${S}/include/* ${D}/${datadir}/lynis/include/.
- cp -r ${S}/extras/* ${D}/${datadir}/lynis/extras/.
- cp ${S}/*.prf ${D}/${sysconfdir}/lynis
-}
-
-FILES_${PN} += "${sysconfdir}/developer.prf ${sysconfdir}/default.prf"
-FILES_${PN}-doc += "lynis.8 FAQ README CHANGELOG.md CONTRIBUTIONS.md CONTRIBUTORS.md"
-
-RDEPENDS_${PN} += "procps"
diff --git a/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.5.bb b/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.5.bb
new file mode 100644
index 000000000..21e451794
--- /dev/null
+++ b/meta-security/meta-security-compliance/recipes-auditors/lynis/lynis_2.7.5.bb
@@ -0,0 +1,41 @@
+# Copyright (C) 2017 Armin Kuster <akuster808@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Lynis is a free and open source security and auditing tool."
+HOMEDIR = "https://cisofy.com/"
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3edd6782854304fd11da4975ab9799c1"
+
+SRC_URI = "https://cisofy.com/files/${BPN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "fb527b6976e70a6bcd57036c9cddc242"
+SRC_URI[sha256sum] = "3d27ade73a5c1248925ad9c060024940ce5d2029f40aaa901f43314888fe324d"
+
+S = "${WORKDIR}/${BPN}"
+
+inherit autotools-brokensep
+
+do_compile[noexec] = "1"
+do_configure[noexec] = "1"
+
+do_install () {
+ install -d ${D}/${bindir}
+ install -d ${D}/${sysconfdir}/lynis
+ install -m 555 ${S}/lynis ${D}/${bindir}
+
+ install -d ${D}/${datadir}/lynis/db
+ install -d ${D}/${datadir}/lynis/plugins
+ install -d ${D}/${datadir}/lynis/include
+ install -d ${D}/${datadir}/lynis/extras
+
+ cp -r ${S}/db/* ${D}/${datadir}/lynis/db/.
+ cp -r ${S}/plugins/* ${D}/${datadir}/lynis/plugins/.
+ cp -r ${S}/include/* ${D}/${datadir}/lynis/include/.
+ cp -r ${S}/extras/* ${D}/${datadir}/lynis/extras/.
+ cp ${S}/*.prf ${D}/${sysconfdir}/lynis
+}
+
+FILES_${PN} += "${sysconfdir}/developer.prf ${sysconfdir}/default.prf"
+FILES_${PN}-doc += "lynis.8 FAQ README CHANGELOG.md CONTRIBUTIONS.md CONTRIBUTORS.md"
+
+RDEPENDS_${PN} += "procps"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/oe-scap/oe-scap_1.0.bb b/meta-security/meta-security-compliance/recipes-openscap/oe-scap/oe-scap_1.0.bb
index e84ed30f8..fd53fcba5 100644
--- a/meta-security/meta-security-compliance/recipes-openscap/oe-scap/oe-scap_1.0.bb
+++ b/meta-security/meta-security-compliance/recipes-openscap/oe-scap/oe-scap_1.0.bb
@@ -30,4 +30,4 @@ do_install () {
FILES_${PN} += "${datadir}/oe-scap"
-RDEPENDS_${PN} = "openscap"
+RDEPENDS_${PN} = "openscap bash"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/openscap/files/crypto_pkgconfig.patch b/meta-security/meta-security-compliance/recipes-openscap/openscap/files/crypto_pkgconfig.patch
deleted file mode 100644
index 2d70855ab..000000000
--- a/meta-security/meta-security-compliance/recipes-openscap/openscap/files/crypto_pkgconfig.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -360,25 +360,13 @@ case "${with_crypto}" in
- AC_DEFINE([HAVE_NSS3], [1], [Define to 1 if you have 'NSS' library.])
- ;;
- gcrypt)
-- SAVE_LIBS=$LIBS
-- AC_CHECK_LIB([gcrypt], [gcry_check_version],
-- [crapi_CFLAGS=`libgcrypt-config --cflags`;
-- crapi_LIBS=`libgcrypt-config --libs`;
-- crapi_libname="GCrypt";],
-- [AC_MSG_ERROR([library 'gcrypt' is required for GCrypt.])],
-- [])
-- AC_DEFINE([HAVE_GCRYPT], [1], [Define to 1 if you have 'gcrypt' library.])
-- AC_CACHE_CHECK([for GCRYCTL_SET_ENFORCED_FIPS_FLAG],
-- [ac_cv_gcryctl_set_enforced_fips_flag],
-- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include<gcrypt.h>],
-- [return GCRYCTL_SET_ENFORCED_FIPS_FLAG;])],
-- [ac_cv_gcryctl_set_enforced_fips_flag=yes],
-- [ac_cv_gcryctl_set_enforced_fips_flag=no])])
-+ PKG_CHECK_MODULES([libgcrypt], [libgcrypt >= 1.7.9],[],
-+ AC_MSG_FAILURE([libgcrypt devel support is missing]))
-
-- if test "${ac_cv_gcryctl_set_enforced_fips_flag}" == "yes"; then
-- AC_DEFINE([HAVE_GCRYCTL_SET_ENFORCED_FIPS_FLAG], [1], [Define to 1 if you have 'gcrypt' library with GCRYCTL_SET_ENFORCED_FIPS_FLAG.])
-- fi
-- LIBS=$SAVE_LIBS
-+ crapi_libname="libgcrypt"
-+ crapi_CFLAGS=$libgcrypt_CFLAGS
-+ crapi_LIBS=$libgcrypt_LIBS
-+ AC_DEFINE([HAVE_GCRYPT], [1], [Define to 1 if you have 'libgcrypt' library.])
- ;;
- *)
- AC_MSG_ERROR([unknown crypto backend])
diff --git a/meta-security/meta-security-compliance/recipes-openscap/openscap/files/probe_dir_fixup.patch b/meta-security/meta-security-compliance/recipes-openscap/openscap/files/probe_dir_fixup.patch
deleted file mode 100644
index ecbe6026f..000000000
--- a/meta-security/meta-security-compliance/recipes-openscap/openscap/files/probe_dir_fixup.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -1109,11 +1109,7 @@ AC_ARG_WITH([crypto],
- [],
- [crypto=gcrypt])
-
--if test "x${libexecdir}" = xNONE; then
-- probe_dir="/usr/local/libexec/openscap"
--else
-- EXPAND_DIR(probe_dir,"${libexecdir}/openscap")
--fi
-+probe_dir="/usr/local/libexec/openscap"
-
- AC_SUBST(probe_dir)
-
diff --git a/meta-security/meta-security-compliance/recipes-openscap/openscap/files/run-ptest b/meta-security/meta-security-compliance/recipes-openscap/openscap/files/run-ptest
deleted file mode 100644
index 454a6a3c9..000000000
--- a/meta-security/meta-security-compliance/recipes-openscap/openscap/files/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-cd tests
-make -k check
diff --git a/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap.inc b/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap.inc
index e9589b6bd..afa576a9b 100644
--- a/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap.inc
+++ b/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap.inc
@@ -1,2 +1,55 @@
+# Copyright (C) 2017 Armin Kuster <akuster808@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMARRY = "NIST Certified SCAP 1.2 toolkit"
+HOME_URL = "https://www.open-scap.org/tools/openscap-base/"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+LICENSE = "LGPL-2.1"
+
+DEPENDS = "dbus acl bzip2 pkgconfig gconf procps curl libxml2 libxslt libcap swig"
+DEPENDS_class-native = "pkgconfig-native swig-native curl-native libxml2-native libxslt-native libcap-native"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig python3native perlnative
+
+PACKAGECONFIG ?= "python3 rpm perl gcrypt ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG[python3] = "-DENABLE_PYTHON3=ON, ,python3, python3"
+PACKAGECONFIG[perl] = "-DENABLE_PERL=ON, ,perl, perl"
+PACKAGECONFIG[rpm] = "-DENABLE_OSCAP_UTIL_AS_RPM=ON, ,rpm, rpm"
+PACKAGECONFIG[gcrypt] = "-DWITH_CRYPTO=gcrypt, ,libgcrypt"
+PACKAGECONFIG[nss3] = "-DWITH_CRYPTO=nss3, ,nss"
+PACKAGECONFIG[selinux] = ", ,libselinux"
+
+EXTRA_OECMAKE += "-DENABLE_PROBES_LINUX=ON -DENABLE_PROBES_UNIX=ON \
+ -DENABLE_PROBES_SOLARIS=OFF -DENABLE_PROBES_INDEPENDENT=ON \
+ -DENABLE_OSCAP_UTIL=ON -DENABLE_OSCAP_UTIL_SSH=ON \
+ -DENABLE_OSCAP_UTIL_DOCKER=OFF -DENABLE_OSCAP_UTIL_CHROOT=OFF \
+ -DENABLE_OSCAP_UTIL_PODMAN=OFF -DENABLE_OSCAP_UTIL_VM=OFF \
+ -DENABLE_PROBES_WINDOWS=OFF -DENABLE_VALGRIND=OFF \
+ -DENABLE_SCE=ON -DENABLE_MITRE=OFF -DENABLE_TESTS=OFF \
+ -DCMAKE_SKIP_INSTALL_RPATH=ON -DCMAKE_SKIP_RPATH=ON \
+ "
+
STAGING_OSCAP_DIR = "${TMPDIR}/work-shared/${MACHINE}/oscap-source"
STAGING_OSCAP_BUILDDIR = "${TMPDIR}/work-shared/openscap/oscap-build-artifacts"
+
+do_configure_append_class-native () {
+ sed -i 's:OSCAP_DEFAULT_CPE_PATH.*$:OSCAP_DEFAULT_CPE_PATH "${STAGING_OSCAP_BUILDDIR}${datadir_native}/openscap/cpe":' ${B}/config.h
+ sed -i 's:OSCAP_DEFAULT_SCHEMA_PATH.*$:OSCAP_DEFAULT_SCHEMA_PATH "${STAGING_OSCAP_BUILDDIR}${datadir_native}/openscap/schemas":' ${B}/config.h
+ sed -i 's:OSCAP_DEFAULT_XSLT_PATH.*$:OSCAP_DEFAULT_XSLT_PATH "${STAGING_OSCAP_BUILDDIR}${datadir_native}/openscap/xsl":' ${B}/config.h
+}
+
+do_install_class-native[cleandirs] += " ${STAGING_OSCAP_BUILDDIR}"
+do_install_append_class-native () {
+ oscapdir=${STAGING_OSCAP_BUILDDIR}/${datadir_native}
+ install -d $oscapdir
+ cp -a ${D}/${STAGING_DATADIR_NATIVE}/openscap $oscapdir
+}
+
+
+FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
+
+RDEPENDS_${PN} += "libxml2 python3-core libgcc bash"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_1.2.17.bb b/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_1.2.17.bb
deleted file mode 100644
index e2a4fa2e6..000000000
--- a/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_1.2.17.bb
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright (C) 2017 Armin Kuster <akuster808@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMARRY = "NIST Certified SCAP 1.2 toolkit"
-HOME_URL = "https://www.open-scap.org/tools/openscap-base/"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-LICENSE = "LGPL-2.1"
-
-DEPENDS = "autoconf-archive pkgconfig gconf procps curl libxml2 rpm \
- libxslt libcap swig swig-native"
-
-DEPENDS_class-native = "autoconf-archive-native pkgconfig-native swig-native curl-native libxml2-native libxslt-native dpkg-native libgcrypt-native nss-native"
-
-SRCREV = "59c234b3e9907480c89dfbd1b466a6bf72a2d2ed"
-SRC_URI = "git://github.com/akuster/openscap.git;branch=oe \
- file://crypto_pkgconfig.patch \
- file://run-ptest \
-"
-
-inherit autotools-brokensep pkgconfig python3native perlnative ptest
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ?= "nss3 pcre rpm"
-PACKAGECONFIG[pcre] = ",--enable-regex-posix, libpcre"
-PACKAGECONFIG[gcrypt] = "--with-crypto=gcrypt,, libgcrypt "
-PACKAGECONFIG[nss3] = "--with-crypto=nss3,, nss"
-PACKAGECONFIG[python] = "--enable-python, --disable-python, python, python"
-PACKAGECONFIG[python3] = "--enable-python3, --disable-python3, python3, python3"
-PACKAGECONFIG[perl] = "--enable-perl, --disable-perl, perl, perl"
-PACKAGECONFIG[rpm] = " --enable-util-scap-as-rpm, --disable-util-scap-as-rpm, rpm, rpm"
-
-export LDFLAGS += " -ldl"
-
-EXTRA_OECONF += "--enable-probes-independent --enable-probes-linux \
- --enable-probes-solaris --enable-probes-unix --disable-util-oscap-docker\
- --enable-util-oscap-ssh --enable-util-oscap --enable-ssp --enable-sce \
-"
-
-EXTRA_OECONF_class-native += "--disable-probes-independent --enable-probes-linux \
- --disable-probes-solaris --disable-probes-unix \
- --enable-util-oscap \
-"
-
-do_configure_prepend () {
- sed -i 's:-I/usr/include:-I${STAGING_INCDIR}:' ${S}/swig/perl/Makefile.am
- sed -i 's:-I/usr/include:-I${STAGING_INCDIR}:' ${S}/swig/python3/Makefile.am
- sed -i 's:-I/usr/include:-I${STAGING_INCDIR}:' ${S}/swig/python2/Makefile.am
- sed -i 's:python2:python:' ${S}/utils/scap-as-rpm
-}
-
-
-include openscap.inc
-
-do_configure_append_class-native () {
- sed -i 's:OSCAP_DEFAULT_CPE_PATH.*$:OSCAP_DEFAULT_CPE_PATH "${STAGING_OSCAP_BUILDDIR}${datadir_native}/openscap/cpe":' ${S}/config.h
- sed -i 's:OSCAP_DEFAULT_SCHEMA_PATH.*$:OSCAP_DEFAULT_SCHEMA_PATH "${STAGING_OSCAP_BUILDDIR}${datadir_native}/openscap/schemas":' ${S}/config.h
- sed -i 's:OSCAP_DEFAULT_XSLT_PATH.*$:OSCAP_DEFAULT_XSLT_PATH "${STAGING_OSCAP_BUILDDIR}${datadir_native}/openscap/xsl":' ${S}/config.h
-}
-
-do_clean[cleandirs] += " ${STAGING_OSCAP_BUILDDIR}"
-
-do_install_append_class-native () {
- oscapdir=${STAGING_OSCAP_BUILDDIR}/${datadir_native}
- install -d $oscapdir
- cp -a ${D}/${STAGING_DATADIR_NATIVE}/openscap $oscapdir
-}
-
-TESTDIR = "tests"
-
-do_compile_ptest() {
- sed -i 's:python2:python:' ${S}/${TESTDIR}/nist/test_worker.py
- echo 'buildtest-TESTS: $(check)' >> ${TESTDIR}/Makefile
- oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
- # install the tests
- cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
-}
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
-
-RDEPENDS_${PN} += "libxml2 python libgcc"
-RDEPENDS_${PN}-ptest = "bash perl python"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_1.3.1.bb b/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_1.3.1.bb
new file mode 100644
index 000000000..ad29efdad
--- /dev/null
+++ b/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_1.3.1.bb
@@ -0,0 +1,9 @@
+SUMARRY = "NIST Certified SCAP 1.2 toolkit"
+
+require openscap.inc
+
+SRCREV = "3a4c635691380fa990a226acc8558db35d7ebabc"
+SRC_URI = "git://github.com/OpenSCAP/openscap.git;branch=maint-1.3 \
+"
+
+DEFAULT_PREFERENCE = "-1"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_git.bb b/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_git.bb
new file mode 100644
index 000000000..963d3dec9
--- /dev/null
+++ b/meta-security/meta-security-compliance/recipes-openscap/openscap/openscap_git.bb
@@ -0,0 +1,12 @@
+# Copyright (C) 2017 Armin Kuster <akuster808@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMARRY = "NIST Certified SCAP 1.2 toolkit with OE changes"
+
+include openscap.inc
+
+SRCREV = "4bbdb46ff651f809d5b38ca08d769790c4bfff90"
+SRC_URI = "git://github.com/akuster/openscap.git;branch=oe-1.3 \
+"
+
+PV = "1.3.1+git${SRCPV}"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide.inc b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide.inc
new file mode 100644
index 000000000..3212310fb
--- /dev/null
+++ b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide.inc
@@ -0,0 +1,32 @@
+# Copyright (C) 2017 Armin Kuster <akuster808@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMARRY = "SCAP content for various platforms"
+HOME_URL = "https://www.open-scap.org/security-policies/scap-security-guide/"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=97662e4486d9a1d09f358851d9f41a1a"
+LICENSE = "LGPL-2.1"
+
+DEPENDS = "openscap-native python3 python3-pyyaml-native python3-jinja2-native libxml2-native"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig python3native
+
+STAGING_OSCAP_BUILDDIR = "${TMPDIR}/work-shared/openscap/oscap-build-artifacts"
+
+OECMAKE_GENERATOR = "Unix Makefiles"
+
+EXTRA_OECMAKE += "-DENABLE_PYTHON_COVERAGE=OFF"
+
+B = "${S}/build"
+
+do_configure[depends] += "openscap-native:do_install"
+
+do_configure_prepend () {
+ sed -i -e 's:NAMES\ sed:NAMES\ ${HOSTTOOLS_DIR}/sed:g' ${S}/CMakeLists.txt
+ sed -i -e 's:NAMES\ grep:NAMES\ ${HOSTTOOLS_DIR}/grep:g' ${S}/CMakeLists.txt
+}
+
+FILES_${PN} += "${datadir}/xml"
+
+RDEPENDS_${PN} = "openscap"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.33.bb b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.33.bb
deleted file mode 100644
index 27d3d869a..000000000
--- a/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.33.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright (C) 2017 Armin Kuster <akuster808@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMARRY = "SCAP content for various platforms"
-HOME_URL = "https://www.open-scap.org/security-policies/scap-security-guide/"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=236e81befc8154d18c93c848185d7e52"
-LICENSE = "LGPL-2.1"
-
-DEPENDS = "openscap-native"
-
-SRCREV = "423d9f40021a03abd018bef7818a3a9fe91a083c"
-SRC_URI = "git://github.com/akuster/scap-security-guide.git;branch=oe;"
-
-inherit cmake
-
-PARALLEL_MAKE = ""
-
-S = "${WORKDIR}/git"
-
-STAGING_OSCAP_BUILDDIR = "${TMPDIR}/work-shared/openscap/oscap-build-artifacts"
-
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-EXTRA_OECMAKE += "-DSSG_PRODUCT_CHROMIUM:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_DEBIAN8:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_FEDORA:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_FIREFOX:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_JBOSS_EAP5:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_JBOSS_FUSE6:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_JRE:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_OPENSUSE:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_OSP7:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_RHEL5:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_RHEL6:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_RHEL7:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_RHEV3:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_SUSE11:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_SUSE12:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_UBUNTU1404:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_UBUNTU1604:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_WRLINUX:BOOL=OFF"
-EXTRA_OECMAKE += "-DSSG_PRODUCT_WEBMIN:BOOL=OFF"
-
-do_configure_prepend () {
- sed -i -e 's:NAMES\ sed:NAMES\ ${HOSTTOOLS_DIR}/sed:g' ${S}/CMakeLists.txt
- sed -i 's:/usr/share/openscap/:${STAGING_OSCAP_BUILDDIR}${datadir_native}/openscap/:g' ${S}/cmake/SSGCommon.cmake
-}
-
-do_compile () {
- cd ${B}
- make openembedded
-}
-
-do_install () {
- cd ${B}
- make DESTDIR=${D} install
-}
-FILES_${PN} += "${datadir}/xml"
-RDEPNEDS_${PN} = "openscap"
diff --git a/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.44.bb b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.44.bb
new file mode 100644
index 000000000..d80ecd7ed
--- /dev/null
+++ b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_0.1.44.bb
@@ -0,0 +1,8 @@
+SUMARRY = "SCAP content for various platforms, upstream version"
+
+SRCREV = "8cb2d0f351faff5440742258782281164953b0a6"
+SRC_URI = "git://github.com/ComplianceAsCode/content.git"
+
+DEFAULT_PREFERENCE = "-1"
+
+require scap-security-guide.inc
diff --git a/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_git.bb b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_git.bb
new file mode 100644
index 000000000..d9238c03f
--- /dev/null
+++ b/meta-security/meta-security-compliance/recipes-openscap/scap-security-guide/scap-security-guide_git.bb
@@ -0,0 +1,9 @@
+SUMARRY = "SCAP content for various platforms, OE changes"
+
+SRCREV = "5fdfdcb2e95afbd86ace555beca5d20cbf1043ed"
+SRC_URI = "git://github.com/akuster/scap-security-guide.git;branch=oe-0.1.44;"
+PV = "0.1.44+git${SRCPV}"
+
+require scap-security-guide.inc
+
+EXTRA_OECMAKE += "-DSSG_PRODUCT_OPENEMBEDDED=ON"
diff --git a/meta-security/meta-tpm/conf/layer.conf b/meta-security/meta-tpm/conf/layer.conf
index bf9a76ea6..cdccc553e 100644
--- a/meta-security/meta-tpm/conf/layer.conf
+++ b/meta-security/meta-tpm/conf/layer.conf
@@ -8,7 +8,7 @@ BBFILE_COLLECTIONS += "tpm-layer"
BBFILE_PATTERN_tpm-layer = "^${LAYERDIR}/"
BBFILE_PRIORITY_tpm-layer = "10"
-LAYERSERIES_COMPAT_tpm-layer = "thud warrior"
+LAYERSERIES_COMPAT_tpm-layer = "warrior"
LAYERDEPENDS_tpm-layer = " \
core \
diff --git a/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py b/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
index 240a9b3ba..c6f9d9224 100644
--- a/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
+++ b/meta-security/meta-tpm/lib/oeqa/runtime/cases/tpm2.py
@@ -16,9 +16,9 @@ class Tpm2Test(OERuntimeTestCase):
if expected_endlines:
self.fail('Missing expected line endings:\n %s' % '\n '.join(expected_endlines))
- @OEHasPackage(['tpm2.0-tss'])
+ @OEHasPackage(['tpm2-tss'])
@OEHasPackage(['tpm2-abrmd'])
- @OEHasPackage(['tpm2.0-tools'])
+ @OEHasPackage(['tpm2-tools'])
@OEHasPackage(['ibmswtpm2'])
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_tpm2_sim(self):
diff --git a/meta-security/meta-tpm/recipes-core/images/security-tpm-image.bb b/meta-security/meta-tpm/recipes-core/images/security-tpm-image.bb
index a337076dc..dbdd309c0 100644
--- a/meta-security/meta-tpm/recipes-core/images/security-tpm-image.bb
+++ b/meta-security/meta-tpm/recipes-core/images/security-tpm-image.bb
@@ -1,14 +1,13 @@
-DESCRIPTION = "A small image for building meta-security packages"
+DESCRIPTION = "A small image for building a tpm image for testing"
IMAGE_FEATURES += "ssh-server-openssh"
IMAGE_INSTALL = "\
packagegroup-base \
packagegroup-core-boot \
- ${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'packagegroup-security-tpm', '', d)} \
- ${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'packagegroup-security-tpm2', '', d)} \
+ packagegroup-security-tpm \
os-release \
- ${CORE_IMAGE_EXTRA_INSTALL}"
+"
IMAGE_LINGUAS ?= " "
diff --git a/meta-security/meta-tpm/recipes-core/images/security-tpm2-image.bb b/meta-security/meta-tpm/recipes-core/images/security-tpm2-image.bb
new file mode 100644
index 000000000..7e047d127
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-core/images/security-tpm2-image.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "A small image for building a tpm2 image for testing"
+
+IMAGE_FEATURES += "ssh-server-openssh"
+
+IMAGE_INSTALL = "\
+ packagegroup-base \
+ packagegroup-core-boot \
+ packagegroup-security-tpm2 \
+ os-release \
+"
+
+IMAGE_LINGUAS ?= " "
+
+LICENSE = "MIT"
+
+inherit core-image
+
+export IMAGE_BASENAME = "security-tpm2-image"
diff --git a/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb b/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
index 5ded3a2cc..8f5c537b9 100644
--- a/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
+++ b/meta-security/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
@@ -5,19 +5,19 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
inherit packagegroup
-PACKAGES = "packagegroup-security-tpm2"
+PACKAGES = "${PN}"
SUMMARY_packagegroup-security-tpm2 = "Security TPM 2.0 support"
RDEPENDS_packagegroup-security-tpm2 = " \
tpm2-tools \
trousers \
+ tpm2-tss \
libtss2 \
+ libtss2-mu \
libtss2-tcti-device \
libtss2-tcti-mssim \
tpm2-abrmd \
tpm2-pkcs11 \
+ ibmswtpm2 \
cryptsetup-tpm-incubator \
"
-
-RDEPENDS_packagegroup-security-tpm2_append_x86 = " tpm2-tcti-uefi"
-RDEPENDS_packagegroup-security-tpm2_append_x86-64 = " tpm2-tcti-uefi"
diff --git a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.6.0.bb b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.6.0.bb
deleted file mode 100644
index a88296046..000000000
--- a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.6.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "LIBPM - Software TPM Library"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e73f0786a936da3814896df06ad225a9"
-
-SRCREV = "9dc915572b51db0714640ba1ddf8cca9c0f24f05"
-SRC_URI = "git://github.com/stefanberger/libtpms.git;branch=stable-${PV}"
-
-PE = "1"
-
-S = "${WORKDIR}/git"
-inherit autotools-brokensep pkgconfig
-
-PACKAGECONFIG ?= "openssl"
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.7.0.bb b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.7.0.bb
new file mode 100644
index 000000000..d9863fa4a
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm/libtpm/libtpm_0.7.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "LIBPM - Software TPM Library"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e73f0786a936da3814896df06ad225a9"
+
+SRCREV = "c26e8f7b08b19a69cea9e8f1f1e6639c7951fb01"
+SRC_URI = "git://github.com/stefanberger/libtpms.git;branch=stable-${PV}"
+
+PE = "1"
+
+S = "${WORKDIR}/git"
+inherit autotools-brokensep pkgconfig
+
+PACKAGECONFIG ?= "openssl"
+PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.1.0.bb b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.1.0.bb
deleted file mode 100644
index 42de8b18e..000000000
--- a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.1.0.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "SWTPM - Software TPM Emulator"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fe8092c832b71ef20dfe4c6d3decb3a8"
-SECTION = "apps"
-
-DEPENDS = "libtasn1 expect socat glib-2.0 net-tools-native libtpm libtpm-native"
-
-# configure checks for the tools already during compilation and
-# then swtpm_setup needs them at runtime
-DEPENDS += "tpm-tools-native expect-native socat-native"
-
-SRCREV = "d803d84575ab3e5dac316bf863c7f569a27ea35f"
-SRC_URI = "git://github.com/stefanberger/swtpm.git;branch=stable-${PV} \
- file://fix_fcntl_h.patch \
- file://ioctl_h.patch \
- "
-PE = "1"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-PARALLEL_MAKE = ""
-
-TSS_USER="tss"
-TSS_GROUP="tss"
-
-PACKAGECONFIG ?= "openssl"
-PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
-PACKAGECONFIG += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', 'cuse', '', d)}"
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
-PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
-PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
-PACKAGECONFIG[cuse] = "--with-cuse, --without-cuse, fuse"
-
-EXTRA_OECONF += "--with-tss-user=${TSS_USER} --with-tss-group=${TSS_GROUP}"
-
-export SEARCH_DIR = "${STAGING_LIBDIR_NATIVE}"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system ${TSS_USER}"
-USERADD_PARAM_${PN} = "--system -g ${TSS_GROUP} --home-dir \
- --no-create-home --shell /bin/false ${BPN}"
-
-PACKAGE_BEFORE_PN = "${PN}-cuse"
-FILES_${PN}-cuse = "${bindir}/swtpm_cuse"
-
-INSANE_SKIP_${PN} += "dev-so"
-
-RDEPENDS_${PN} = "libtpm expect socat bash tpm-tools"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.2.0.bb b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.2.0.bb
new file mode 100644
index 000000000..f3a53dd9b
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm/swtpm/swtpm_0.2.0.bb
@@ -0,0 +1,51 @@
+SUMMARY = "SWTPM - Software TPM Emulator"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fe8092c832b71ef20dfe4c6d3decb3a8"
+SECTION = "apps"
+
+DEPENDS = "libtasn1 expect socat glib-2.0 net-tools-native libtpm libtpm-native"
+
+# configure checks for the tools already during compilation and
+# then swtpm_setup needs them at runtime
+DEPENDS += "tpm-tools-native expect-native socat-native"
+
+SRCREV = "39673a0139b0ee14a0109aba50a0635592c672c4"
+SRC_URI = "git://github.com/stefanberger/swtpm.git;branch=stable-${PV} \
+ file://fix_fcntl_h.patch \
+ file://ioctl_h.patch \
+ "
+PE = "1"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+PARALLEL_MAKE = ""
+
+TSS_USER="tss"
+TSS_GROUP="tss"
+
+PACKAGECONFIG ?= "openssl"
+PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG += "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', 'cuse', '', d)}"
+PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
+PACKAGECONFIG[gnutls] = "--with-gnutls, --without-gnutls, gnutls"
+PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
+PACKAGECONFIG[cuse] = "--with-cuse, --without-cuse, fuse"
+
+EXTRA_OECONF += "--with-tss-user=${TSS_USER} --with-tss-group=${TSS_GROUP}"
+
+export SEARCH_DIR = "${STAGING_LIBDIR_NATIVE}"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system ${TSS_USER}"
+USERADD_PARAM_${PN} = "--system -g ${TSS_GROUP} --home-dir \
+ --no-create-home --shell /bin/false ${BPN}"
+
+PACKAGE_BEFORE_PN = "${PN}-cuse"
+FILES_${PN}-cuse = "${bindir}/swtpm_cuse"
+
+INSANE_SKIP_${PN} += "dev-so"
+
+RDEPENDS_${PN} = "libtpm expect socat bash tpm-tools"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/cryptsetup-tpm-incubator_0.9.9.bb b/meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/cryptsetup-tpm-incubator_0.9.9.bb
index 8b504453f..8385c9403 100644
--- a/meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/cryptsetup-tpm-incubator_0.9.9.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/cryptsetup-tpm-incubator/cryptsetup-tpm-incubator_0.9.9.bb
@@ -32,7 +32,7 @@ RRECOMMENDS_${PN} = "kernel-module-aes-generic \
kernel-module-xts \
"
-RDEPENDS_${PN} += "lvm2"
+RDEPENDS_${PN} += "lvm2 libdevmapper"
RRECOMMENDS_${PN} += "lvm2-udevrules"
RREPLACES_${PN} = "cryptsetup"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.1.1.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.1.1.bb
deleted file mode 100644
index a4c66823f..000000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.1.1.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "TPM2 Access Broker & Resource Manager"
-DESCRIPTION = "This is a system daemon implementing the TPM2 access \
-broker (TAB) & Resource Manager (RM) spec from the TCG. The daemon (tpm2-abrmd) \
-is implemented using Glib and the GObject system. In this documentation and \
-in the code we use `tpm2-abrmd` and `tabrmd` interchangeably. \
-"
-SECTION = "security/tpm"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
-
-DEPENDS = "autoconf-archive dbus glib-2.0 tpm2-tss glib-2.0-native \
- libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim"
-
-
-SRC_URI = "\
- git://github.com/tpm2-software/tpm2-abrmd.git \
- file://tpm2-abrmd-init.sh \
- file://tpm2-abrmd.default \
-"
-
-SRCREV = "06d9d433ba27159687255406baa37940db15465b"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig systemd update-rc.d useradd
-
-SYSTEMD_PACKAGES += "${PN}"
-SYSTEMD_SERVICE_${PN} = "tpm2-abrmd.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-INITSCRIPT_NAME = "${PN}"
-INITSCRIPT_PARAMS = "start 99 2 3 4 5 . stop 19 0 1 6 ."
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "tss"
-USERADD_PARAM_${PN} = "--system -M -d /var/lib/tpm -s /bin/false -g tss tss"
-
-PACKAGECONFIG ?="${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd', '', d)}"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}, --with-systemdsystemunitdir=no"
-
-do_install_append() {
- install -d "${D}${sysconfdir}/init.d"
- install -m 0755 "${WORKDIR}/tpm2-abrmd-init.sh" "${D}${sysconfdir}/init.d/tpm2-abrmd"
-
- install -d "${D}${sysconfdir}/default"
- install -m 0644 "${WORKDIR}/tpm2-abrmd.default" "${D}${sysconfdir}/default/tpm2-abrmd"
-}
-
-FILES_${PN} += "${libdir}/systemd/system-preset \
- ${datadir}/dbus-1"
-
-RDEPENDS_${PN} += "tpm2-tss"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.2.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.2.0.bb
new file mode 100644
index 000000000..021c96930
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-abrmd/tpm2-abrmd_2.2.0.bb
@@ -0,0 +1,54 @@
+SUMMARY = "TPM2 Access Broker & Resource Manager"
+DESCRIPTION = "This is a system daemon implementing the TPM2 access \
+broker (TAB) & Resource Manager (RM) spec from the TCG. The daemon (tpm2-abrmd) \
+is implemented using Glib and the GObject system. In this documentation and \
+in the code we use `tpm2-abrmd` and `tabrmd` interchangeably. \
+"
+SECTION = "security/tpm"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
+
+DEPENDS = "autoconf-archive dbus glib-2.0 tpm2-tss glib-2.0-native \
+ libtss2 libtss2-mu libtss2-tcti-device libtss2-tcti-mssim"
+
+SRC_URI = "\
+ git://github.com/tpm2-software/tpm2-abrmd.git \
+ file://tpm2-abrmd-init.sh \
+ file://tpm2-abrmd.default \
+"
+
+SRCREV = "ac2a5a4b5a4e548177ed7a5b74cea23e00fd30b4"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig systemd update-rc.d useradd
+
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN} = "tpm2-abrmd.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+INITSCRIPT_NAME = "${PN}"
+INITSCRIPT_PARAMS = "start 99 2 3 4 5 . stop 19 0 1 6 ."
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "tss"
+USERADD_PARAM_${PN} = "--system -M -d /var/lib/tpm -s /bin/false -g tss tss"
+
+PACKAGECONFIG ?="${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd', '', d)}"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}, --with-systemdsystemunitdir=no"
+
+do_install_append() {
+ install -d "${D}${sysconfdir}/init.d"
+ install -m 0755 "${WORKDIR}/tpm2-abrmd-init.sh" "${D}${sysconfdir}/init.d/tpm2-abrmd"
+
+ install -d "${D}${sysconfdir}/default"
+ install -m 0644 "${WORKDIR}/tpm2-abrmd.default" "${D}${sysconfdir}/default/tpm2-abrmd"
+}
+
+FILES_${PN} += "${libdir}/systemd/system-preset \
+ ${datadir}/dbus-1"
+
+RDEPENDS_${PN} += "tpm2-tss"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_0.9.9.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_0.9.9.bb
index 9031e63e4..218574999 100644
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_0.9.9.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_0.9.9.bb
@@ -2,7 +2,7 @@ SUMMARY = "A PKCS#11 interface for TPM2 hardware"
DESCRIPTION = "PKCS #11 is a Public-Key Cryptography Standard that defines a standard method to access cryptographic services from tokens/ devices such as hardware security modules (HSM), smart cards, etc. In this project we intend to use a TPM2 device as the cryptographic token."
SECTION = "security/tpm"
LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b748af41ef1300c98e105b3b7ec4ecc1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=93645981214b60a02688745c14f93c95"
DEPENDS = "autoconf-archive pkgconfig dstat sqlite3 openssl libtss2-dev tpm2-tools"
@@ -10,7 +10,7 @@ SRC_URI = "git://github.com/tpm2-software/tpm2-pkcs11.git \
file://bootstrap_fixup.patch \
"
-SRCREV = "3107d89b406ecd9c007884613733c9a344ef6d39"
+SRCREV = "caf20c04651029626466c59d88b36c05cc6ea20b"
S = "${WORKDIR}/git"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi/0001-configure.ac-stop-inserting-host-directories-into-co.patch b/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi/0001-configure.ac-stop-inserting-host-directories-into-co.patch
new file mode 100644
index 000000000..3b54dddf7
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi/0001-configure.ac-stop-inserting-host-directories-into-co.patch
@@ -0,0 +1,27 @@
+From b74837184cfdefb45e48f3fdc974fc67691fc861 Mon Sep 17 00:00:00 2001
+From: Dmitry Eremin-Solenikov <dmitry_eremin-solenikov@mentor.com>
+Date: Wed, 3 Jul 2019 19:16:35 +0300
+Subject: [PATCH] configure.ac: stop inserting host directories into compile
+ path
+
+Do not insert /usr/lib and /usr/lib64 into library search path.
+
+Upstream-Status: OE specific
+Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin-solenikov@mentor.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac
++++ git/configure.ac
+@@ -81,7 +81,7 @@ AC_ARG_WITH([efi-lds],
+ AS_HELP_STRING([--with-efi-lds=LDS_PATH],[Path to gnu-efi lds file.]),
+ [],
+ [with_efi_lds="/usr/lib/elf_${ARCH}_efi.lds"])
+-EXTRA_LDFLAGS="-L /usr/lib -L /usr/lib64 -Wl,--script=${with_efi_lds}"
++EXTRA_LDFLAGS="-Wl,--script=${with_efi_lds}"
+
+ # path to object file from gnu-efi
+ AC_ARG_WITH([efi-crt0],
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb
index 815691dfe..f4918ec02 100644
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tcti-uefi/tpm2-tcti-uefi_0.9.9.bb
@@ -2,17 +2,38 @@ SUMMARY = "TCTI module for use with TSS2 libraries in UEFI environment"
SECTION = "security/tpm"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
-DEPENDS = "libtss2-dev gnu-efi-native gnu-efi pkgconfig"
+DEPENDS = "libtss2-dev gnu-efi-native gnu-efi pkgconfig autoconf-archive-native"
SRC_URI = "git://github.com/tpm2-software/tpm2-tcti-uefi.git \
file://configure_oe_fixup.patch \
+ file://0001-configure.ac-stop-inserting-host-directories-into-co.patch \
"
-SRCREV = "131889d12d2c7d8974711d2ebd1032cd32577b7f"
+SRCREV = "431c85f45dcdca5da003ed47c6e9814282476938"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
+EFIDIR ?= "/EFI/BOOT"
+
+do_compile_append() {
+ oe_runmake example
+}
+
+do_install_append() {
+ install -d "${D}${EFIDIR}"
+ install -m 0755 "${B}"/example/*.efi "${D}${EFIDIR}"
+}
+
+EFI_ARCH_x86 = "ia32"
+EFI_ARCH_x86-64 = "x86_64"
+
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
-EXTRA_OECONF_append = " --with-efi-includedir=${STAGING_INCDIR}/efi --with-efi-lds=${STAGING_LIBDIR_NATIVE}/"
+EXTRA_OECONF_append = "\
+ --with-efi-includedir=${STAGING_INCDIR}/efi \
+ --with-efi-crt0=${STAGING_LIBDIR_NATIVE}/crt0-efi-${EFI_ARCH}.o \
+ --with-efi-lds=${STAGING_LIBDIR_NATIVE}/elf_${EFI_ARCH}_efi.lds \
+"
RDEPENDS_${PN} = "gnu-efi"
+
+FILES_${PN} += "${EFIDIR}"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.1.3.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.1.3.bb
deleted file mode 100644
index 1f1f5c606..000000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.1.3.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Tools for TPM2."
-DESCRIPTION = "tpm2-tools"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=91b7c548d73ea16537799e8060cea819"
-SECTION = "tpm"
-
-DEPENDS = "pkgconfig tpm2-tss openssl curl autoconf-archive"
-
-SRCREV = "74ba065e5914bc5d713ca3709d62a5751b097369"
-
-SRC_URI = "git://github.com/tpm2-software/tpm2-tools.git;branch=3.X"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.2.0.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.2.0.bb
new file mode 100644
index 000000000..b6f1be0d9
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tools/tpm2-tools_3.2.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Tools for TPM2."
+DESCRIPTION = "tpm2-tools"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=91b7c548d73ea16537799e8060cea819"
+SECTION = "tpm"
+
+DEPENDS = "pkgconfig tpm2-tss openssl curl autoconf-archive"
+
+SRCREV = "a17daa948fc67685651bf3b7a589ed341080ddd3"
+
+SRC_URI = "git://github.com/tpm2-software/tpm2-tools.git;branch=3.X"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.1.2.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.1.2.bb
new file mode 100644
index 000000000..8a2504d94
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.1.2.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Attest the trustworthiness of a device against a human using time-based one-time passwords"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ed23833e93c95173c8d8913745e4b4e1"
+
+SECTION = "security/tpm"
+
+DEPENDS = "autoconf-archive libtss2-dev qrencode"
+
+PE = "1"
+
+SRCREV = "15cc8fbc8fe71be9c04c3169ee1f70450d52a51a"
+SRC_URI = "git://github.com/tpm2-software/tpm2-totp.git;branch=v0.1.x \
+ file://litpm2_totp_build_fix.patch "
+
+inherit autotools-brokensep pkgconfig
+
+S = "${WORKDIR}/git"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.9.9.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.9.9.bb
deleted file mode 100644
index bc94ab711..000000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-totp/tpm2-totp_0.9.9.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL."
-DESCRIPTION = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL for Trusted Platform Module (TPM 2.0) using the tpm2-tss software stack that follows the Trusted Computing Groups (TCG) TPM Software Stack (TSS 2.0). It uses the Enhanced System API (ESAPI) interface of the TSS 2.0 for downwards communication. It supports RSA decryption and signatures as well as ECDSA signatures."
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ed23833e93c95173c8d8913745e4b4e1"
-
-SECTION = "security/tpm"
-
-DEPENDS = "autoconf-archive libtss2-dev qrencode"
-
-SRCREV = "44fcb6819f79302d5a088b3def648616e3551d4a"
-SRC_URI = "git://github.com/tpm2-software/tpm2-totp.git \
- file://litpm2_totp_build_fix.patch "
-
-inherit autotools-brokensep pkgconfig
-
-S = "${WORKDIR}/git"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_0.9.9.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_0.9.9.bb
deleted file mode 100644
index 36530be2c..000000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_0.9.9.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL."
-DESCRIPTION = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL for Trusted Platform Module (TPM 2.0) using the tpm2-tss software stack that follows the Trusted Computing Groups (TCG) TPM Software Stack (TSS 2.0). It uses the Enhanced System API (ESAPI) interface of the TSS 2.0 for downwards communication. It supports RSA decryption and signatures as well as ECDSA signatures."
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3fb0047fd29391478a71e8e6101c76eb"
-
-SECTION = "security/tpm"
-
-DEPENDS = "autoconf-archive-native bash-completion libtss2 libgcrypt openssl"
-
-SRCREV = "bef89ec79cbb4c99963b0e336d9184827c545782"
-SRC_URI = "git://github.com/tpm2-software/tpm2-tss-engine.git"
-
-inherit autotools-brokensep pkgconfig systemd
-
-S = "${WORKDIR}/git"
-
-PACKAGES += "${PN}-engines ${PN}-engines-staticdev ${PN}-bash-completion"
-
-FILES_${PN}-dev = "${libdir}/engines-1.1/tpm2tss.so ${includedir}/*"
-FILES_${PN}-engines = "${libdir}/engines-1.1/lib*.so*"
-FILES_${PN}-engines-staticdev = "${libdir}/engines-1.1/libtpm2tss.a"
-FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.0.1.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.0.1.bb
new file mode 100644
index 000000000..8825737ee
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss-engine/tpm2-tss-engine_1.0.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL."
+DESCRIPTION = "The tpm2-tss-engine project implements a cryptographic engine for OpenSSL for Trusted Platform Module (TPM 2.0) using the tpm2-tss software stack that follows the Trusted Computing Groups (TCG) TPM Software Stack (TSS 2.0). It uses the Enhanced System API (ESAPI) interface of the TSS 2.0 for downwards communication. It supports RSA decryption and signatures as well as ECDSA signatures."
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3fb0047fd29391478a71e8e6101c76eb"
+
+SECTION = "security/tpm"
+
+DEPENDS = "autoconf-archive-native bash-completion libtss2 libgcrypt openssl"
+
+SRCREV = "e1bbabe29377e45282d753a1b103625c420a19cf"
+SRC_URI = "git://github.com/tpm2-software/tpm2-tss-engine.git"
+
+inherit autotools-brokensep pkgconfig systemd
+
+S = "${WORKDIR}/git"
+
+PACKAGES += "${PN}-engines ${PN}-engines-staticdev ${PN}-bash-completion"
+
+FILES_${PN}-dev = "${libdir}/engines-1.1/tpm2tss.so ${includedir}/*"
+FILES_${PN}-engines = "${libdir}/engines-1.1/lib*.so*"
+FILES_${PN}-engines-staticdev = "${libdir}/engines-1.1/libtpm2tss.a"
+FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.2.1.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.2.1.bb
deleted file mode 100644
index 78bdeebe0..000000000
--- a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.2.1.bb
+++ /dev/null
@@ -1,79 +0,0 @@
-SUMMARY = "Software stack for TPM2."
-DESCRIPTION = "OSS implementation of the TCG TPM2 Software Stack (TSS2) "
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
-SECTION = "tpm"
-
-DEPENDS = "autoconf-archive-native libgcrypt openssl"
-
-SRCREV = "eb69e13559f20a0b49002a685c6f4a39be9503e2"
-
-SRC_URI = "git://github.com/tpm2-software/tpm2-tss.git;branch=2.2.x"
-
-inherit autotools-brokensep pkgconfig systemd
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[oxygen] = ",--disable-doxygen-doc, "
-
-do_configure_prepend () {
- ./bootstrap
-}
-
-INHERIT += "extrausers"
-EXTRA_USERS_PARAMS = "\
- useradd -p '' tss; \
- groupadd tss; \
- "
-
-PROVIDES = "${PACKAGES}"
-PACKAGES = " \
- ${PN} \
- ${PN}-dbg \
- ${PN}-doc \
- libtss2-mu \
- libtss2-mu-dev \
- libtss2-mu-staticdev \
- libtss2-tcti-device \
- libtss2-tcti-device-dev \
- libtss2-tcti-device-staticdev \
- libtss2-tcti-mssim \
- libtss2-tcti-mssim-dev \
- libtss2-tcti-mssim-staticdev \
- libtss2 \
- libtss2-dev \
- libtss2-staticdev \
-"
-
-FILES_libtss2-tcti-device = "${libdir}/libtss2-tcti-device.so.*"
-FILES_libtss2-tcti-device-dev = " \
- ${includedir}/tss2/tss2_tcti_device.h \
- ${libdir}/pkgconfig/tss2-tcti-device.pc \
- ${libdir}/libtss2-tcti-device.so"
-FILES_libtss2-tcti-device-staticdev = "${libdir}/libtss2-tcti-device.*a"
-
-FILES_libtss2-tcti-mssim = "${libdir}/libtss2-tcti-mssim.so.*"
-FILES_libtss2-tcti-mssim-dev = " \
- ${includedir}/tss2/tss2_tcti_mssim.h \
- ${libdir}/pkgconfig/tss2-tcti-mssim.pc \
- ${libdir}/libtss2-tcti-mssim.so"
-FILES_libtss2-tcti-mssim-staticdev = "${libdir}/libtss2-tcti-mssim.*a"
-
-FILES_libtss2-mu = "${libdir}/libtss2-mu.so.*"
-FILES_libtss2-mu-dev = " \
- ${includedir}/tss2/tss2_mu.h \
- ${libdir}/pkgconfig/tss2-mu.pc \
- ${libdir}/libtss2-mu.so"
-FILES_libtss2-mu-staticdev = "${libdir}/libtss2-mu.*a"
-
-FILES_libtss2 = "${libdir}/libtss2*so.*"
-FILES_libtss2-dev = " \
- ${includedir} \
- ${libdir}/pkgconfig \
- ${libdir}/libtss2*so"
-FILES_libtss2-staticdev = "${libdir}/libtss*a"
-
-FILES_${PN} = "${libdir}/udev"
-
-RDEPENDS_libtss2 = "libgcrypt"
diff --git a/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.3.1.bb b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.3.1.bb
new file mode 100644
index 000000000..3e77f71d2
--- /dev/null
+++ b/meta-security/meta-tpm/recipes-tpm2/tpm2-tss/tpm2-tss_2.3.1.bb
@@ -0,0 +1,79 @@
+SUMMARY = "Software stack for TPM2."
+DESCRIPTION = "OSS implementation of the TCG TPM2 Software Stack (TSS2) "
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=500b2e742befc3da00684d8a1d5fd9da"
+SECTION = "tpm"
+
+DEPENDS = "autoconf-archive-native libgcrypt openssl"
+
+SRCREV = "a99e733ba66c359502689a9c42fd5e02ed1dd7d6"
+
+SRC_URI = "git://github.com/tpm2-software/tpm2-tss.git;branch=2.3.x"
+
+inherit autotools-brokensep pkgconfig systemd
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[oxygen] = ",--disable-doxygen-doc, "
+
+do_configure_prepend () {
+ ./bootstrap
+}
+
+INHERIT += "extrausers"
+EXTRA_USERS_PARAMS = "\
+ useradd -p '' tss; \
+ groupadd tss; \
+ "
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dbg \
+ ${PN}-doc \
+ libtss2-mu \
+ libtss2-mu-dev \
+ libtss2-mu-staticdev \
+ libtss2-tcti-device \
+ libtss2-tcti-device-dev \
+ libtss2-tcti-device-staticdev \
+ libtss2-tcti-mssim \
+ libtss2-tcti-mssim-dev \
+ libtss2-tcti-mssim-staticdev \
+ libtss2 \
+ libtss2-dev \
+ libtss2-staticdev \
+"
+
+FILES_libtss2-tcti-device = "${libdir}/libtss2-tcti-device.so.*"
+FILES_libtss2-tcti-device-dev = " \
+ ${includedir}/tss2/tss2_tcti_device.h \
+ ${libdir}/pkgconfig/tss2-tcti-device.pc \
+ ${libdir}/libtss2-tcti-device.so"
+FILES_libtss2-tcti-device-staticdev = "${libdir}/libtss2-tcti-device.*a"
+
+FILES_libtss2-tcti-mssim = "${libdir}/libtss2-tcti-mssim.so.*"
+FILES_libtss2-tcti-mssim-dev = " \
+ ${includedir}/tss2/tss2_tcti_mssim.h \
+ ${libdir}/pkgconfig/tss2-tcti-mssim.pc \
+ ${libdir}/libtss2-tcti-mssim.so"
+FILES_libtss2-tcti-mssim-staticdev = "${libdir}/libtss2-tcti-mssim.*a"
+
+FILES_libtss2-mu = "${libdir}/libtss2-mu.so.*"
+FILES_libtss2-mu-dev = " \
+ ${includedir}/tss2/tss2_mu.h \
+ ${libdir}/pkgconfig/tss2-mu.pc \
+ ${libdir}/libtss2-mu.so"
+FILES_libtss2-mu-staticdev = "${libdir}/libtss2-mu.*a"
+
+FILES_libtss2 = "${libdir}/libtss2*so.*"
+FILES_libtss2-dev = " \
+ ${includedir} \
+ ${libdir}/pkgconfig \
+ ${libdir}/libtss2*so"
+FILES_libtss2-staticdev = "${libdir}/libtss*a"
+
+FILES_${PN} = "${libdir}/udev"
+
+RDEPENDS_libtss2 = "libgcrypt"
diff --git a/meta-security/recipes-core/busybox/busybox_%.bbappend b/meta-security/recipes-core/busybox/busybox_%.bbappend
index 8bb0706ec..27a24824d 100644
--- a/meta-security/recipes-core/busybox/busybox_%.bbappend
+++ b/meta-security/recipes-core/busybox/busybox_%.bbappend
@@ -1,3 +1 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://head.cfg"
+require ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'busybox_libsecomp.inc', '', d)}
diff --git a/meta-security/recipes-core/busybox/busybox_libsecomp.inc b/meta-security/recipes-core/busybox/busybox_libsecomp.inc
new file mode 100644
index 000000000..4af22ce3e
--- /dev/null
+++ b/meta-security/recipes-core/busybox/busybox_libsecomp.inc
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/busybox:"
+
+SRC_URI_append = " file://head.cfg"
diff --git a/meta-security/recipes-ids/samhain/files/samhain-cross-compile.patch b/meta-security/recipes-ids/samhain/files/samhain-cross-compile.patch
deleted file mode 100644
index 7f80a5c61..000000000
--- a/meta-security/recipes-ids/samhain/files/samhain-cross-compile.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From f63908427b2adb1792c59edbe38618e14ef5bc7b Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Fri, 15 Jan 2016 00:48:58 -0500
-Subject: [PATCH] Enable obfuscating binaries natively.
-
-Enable obfuscating binaries natively.
-
-The samhain build process involves an obfuscation step that attempts to
-defeat decompilation or other binary analysis techniques which might reveal
-secret information that should be known only to the system administrator.
-The obfuscation step builds several applications which run on the build host
-and then generate target code, which is then built into target binaries.
-
-This patch creates a basic infrastructure that supports building the
-obfuscation binaries natively then cross-compiling the target code by adding
-a special configure option. In the absence of this option the old behaviour
-is preserved.
-
-Upstream-Status: Inappropriate [cross compile specific]
-
-Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- Makefile.in | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 684e92b..fb090e2 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -54,7 +54,7 @@ selectconfig = @selectconfig@
- top_builddir = .
-
- INSTALL = @INSTALL@
--INSTALL_PROGRAM = @INSTALL@ -s -m 700
-+INSTALL_PROGRAM = @INSTALL@ -m 700
- INSTALL_SHELL = @INSTALL@ -m 700
- INSTALL_DATA = @INSTALL@ -m 600
- INSTALL_MAN = @INSTALL@ -m 644
-@@ -525,8 +525,6 @@ install-program: $(PROGRAMS) sstrip
- echo " $(INSTALL_PROGRAM) $$p $$target"; \
- $(INSTALL_PROGRAM) $$p $$target; \
- chmod 0700 $$target; \
-- echo " ./sstrip $$target"; \
-- ./sstrip $$target; \
- else \
- echo " $(INSTALL_SHELL) $$p $$target"; \
- $(INSTALL_SHELL) $$p $$target; \
---
-1.9.1
-
diff --git a/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb b/meta-security/recipes-ids/samhain/samhain-client.bb
index 0f53a8cde..0f53a8cde 100644
--- a/meta-security/recipes-ids/samhain/samhain-client_4.3.2.bb
+++ b/meta-security/recipes-ids/samhain/samhain-client.bb
diff --git a/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb b/meta-security/recipes-ids/samhain/samhain-server.bb
index d304912e7..d304912e7 100644
--- a/meta-security/recipes-ids/samhain/samhain-server_4.3.2.bb
+++ b/meta-security/recipes-ids/samhain/samhain-server.bb
diff --git a/meta-security/recipes-ids/samhain/samhain-standalone_4.3.2.bb b/meta-security/recipes-ids/samhain/samhain-standalone.bb
index 4fed9e9e9..4fed9e9e9 100644
--- a/meta-security/recipes-ids/samhain/samhain-standalone_4.3.2.bb
+++ b/meta-security/recipes-ids/samhain/samhain-standalone.bb
diff --git a/meta-security/recipes-ids/samhain/samhain.inc b/meta-security/recipes-ids/samhain/samhain.inc
index 1b9af39ce..16222ba10 100644
--- a/meta-security/recipes-ids/samhain/samhain.inc
+++ b/meta-security/recipes-ids/samhain/samhain.inc
@@ -3,9 +3,9 @@ HOMEPAGE = "http://www.la-samhna.de/samhain/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8ca43cbc842c2336e835926c2166c28b"
+PV = "4.3.3"
SRC_URI = "http://la-samhna.de/archive/samhain_signed-${PV}.tar.gz \
- file://samhain-cross-compile.patch \
file://samhain-mips64-aarch64-dnmalloc-hash-fix.patch \
file://samhain-samhainrc.patch \
file://samhain-samhainrc-fix-files-dirs-path.patch \
@@ -19,8 +19,8 @@ SRC_URI = "http://la-samhna.de/archive/samhain_signed-${PV}.tar.gz \
file://samhain.service \
"
-SRC_URI[md5sum] = "eae4674164d7c78f5bb39c72b7029c8b"
-SRC_URI[sha256sum] = "0582864ef56ab796031e8e611ed66c48adeb3a30ec34e1a8d0088572442035fc"
+SRC_URI[md5sum] = "7be46ae7d03f53ba21afafd41cff8926"
+SRC_URI[sha256sum] = "33ad4bc3dad4699694553bd9635a6b5827939f965d1f0f05fce0b4e9cdadf21b"
UPSTREAM_CHECK_URI = "https://www.la-samhna.de/samhain/archive.html"
UPSTREAM_CHECK_REGEX = "samhain_signed-(?P<pver>(\d+(\.\d+)+))\.tar"
diff --git a/meta-security/recipes-ids/suricata/files/0001-af-packet-fix-build-on-recent-Linux-kernels.patch b/meta-security/recipes-ids/suricata/files/0001-af-packet-fix-build-on-recent-Linux-kernels.patch
new file mode 100644
index 000000000..530568b19
--- /dev/null
+++ b/meta-security/recipes-ids/suricata/files/0001-af-packet-fix-build-on-recent-Linux-kernels.patch
@@ -0,0 +1,26 @@
+From b37554e0bc3cf383e6547c5c6a69c6f6849c09e3 Mon Sep 17 00:00:00 2001
+From: Eric Leblond <eric@regit.org>
+Date: Wed, 17 Jul 2019 12:35:12 +0200
+Subject: [PATCH] af-packet: fix build on recent Linux kernels
+
+Upstream-Status: Backport
+Signed-off-by: Armin kuster <akuster808@gmail.com>
+---
+ src/source-af-packet.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+Index: suricata-4.1.5/src/source-af-packet.c
+===================================================================
+--- suricata-4.1.5.orig/src/source-af-packet.c
++++ suricata-4.1.5/src/source-af-packet.c
+@@ -68,6 +68,10 @@
+ #include <linux/sockios.h>
+ #endif
+
++#if HAVE_LINUX_SOCKIOS_H
++#include <linux/sockios.h>
++#endif
++
+ #ifdef HAVE_PACKET_EBPF
+ #include "util-ebpf.h"
+ #include <bpf/libbpf.h>
diff --git a/meta-security/recipes-ids/suricata/files/emerging.rules.tar.gz b/meta-security/recipes-ids/suricata/files/emerging.rules.tar.gz
deleted file mode 100644
index aed375474..000000000
--- a/meta-security/recipes-ids/suricata/files/emerging.rules.tar.gz
+++ /dev/null
Binary files differ
diff --git a/meta-security/recipes-ids/suricata/libhtp_0.5.29.bb b/meta-security/recipes-ids/suricata/libhtp_0.5.31.bb
index 8305f7010..8305f7010 100644
--- a/meta-security/recipes-ids/suricata/libhtp_0.5.29.bb
+++ b/meta-security/recipes-ids/suricata/libhtp_0.5.31.bb
diff --git a/meta-security/recipes-ids/suricata/python3-suricata-update_1.0.5.bb b/meta-security/recipes-ids/suricata/python3-suricata-update_1.0.5.bb
new file mode 100644
index 000000000..63f75e096
--- /dev/null
+++ b/meta-security/recipes-ids/suricata/python3-suricata-update_1.0.5.bb
@@ -0,0 +1,15 @@
+SUMMARY = "The tool for updating your Suricata rules. "
+HOMEPAGE = "http://suricata-ids.org/"
+SECTION = "security Monitor/Admin"
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
+
+SRCREV = "dcd0f630e13463750efb1593ad3ccae1ae6c27d4"
+SRC_URI = "git://github.com/OISF/suricata-update;branch='master-1.0.x'"
+
+S = "${WORKDIR}/git"
+
+inherit python3native setuptools3
+
+RDEPENDS_${PN} = "python3-pyyaml"
diff --git a/meta-security/recipes-ids/suricata/suricata.inc b/meta-security/recipes-ids/suricata/suricata.inc
index 7be403ccb..1f4baffcc 100644
--- a/meta-security/recipes-ids/suricata/suricata.inc
+++ b/meta-security/recipes-ids/suricata/suricata.inc
@@ -2,8 +2,8 @@ HOMEPAGE = "http://suricata-ids.org/"
SECTION = "security Monitor/Admin"
LICENSE = "GPLv2"
-VER = "4.1.3"
+VER = "4.1.5"
SRC_URI = "http://www.openinfosecfoundation.org/download/suricata-${VER}.tar.gz"
-SRC_URI[md5sum] = "35c4a8e6be3910831649a073950195df"
-SRC_URI[sha256sum] = "6cda6c80b753ce36483c6be535358b971f3890b9aa27a58c2d2f7e89dd6c6aa0"
+SRC_URI[md5sum] = "0dfd68f6f4314c5c2eed7128112eff3b"
+SRC_URI[sha256sum] = "cee5f6535cd7fe63fddceab62eb3bc66a63fc464466c88ec7a41b7a1331ac74b"
diff --git a/meta-security/recipes-ids/suricata/suricata_4.1.3.bb b/meta-security/recipes-ids/suricata/suricata_4.1.3.bb
deleted file mode 100644
index d6f5937d1..000000000
--- a/meta-security/recipes-ids/suricata/suricata_4.1.3.bb
+++ /dev/null
@@ -1,97 +0,0 @@
-SUMMARY = "The Suricata Engine is an Open Source Next Generation Intrusion Detection and Prevention Engine"
-
-require suricata.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
-
-SRC_URI += "file://emerging.rules.tar.gz;name=rules"
-
-SRC_URI += " \
- file://volatiles.03_suricata \
- file://suricata.yaml \
- file://suricata.service \
- file://run-ptest \
- "
-
-SRC_URI[rules.md5sum] = "205c5e5b54e489207ed892c03ad75b33"
-SRC_URI[rules.sha256sum] = "4aa81011b246875a57181c6a0569ca887845e366904bcaf0043220f33bd69798"
-
-inherit autotools-brokensep pkgconfig python3-dir systemd ptest
-
-CFLAGS += "-D_DEFAULT_SOURCE"
-
-CACHED_CONFIGUREVARS = "ac_cv_header_htp_htp_h=yes ac_cv_lib_htp_htp_conn_create=yes \
- ac_cv_path_HAVE_WGET=no ac_cv_path_HAVE_CURL=no "
-
-EXTRA_OECONF += " --disable-debug \
- --enable-non-bundled-htp \
- --disable-gccmarch-native \
- --disable-suricata-update \
- "
-
-PACKAGECONFIG ??= "htp jansson file pcre yaml pcap cap-ng net nfnetlink nss nspr"
-PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'unittests', '', d)}"
-
-PACKAGECONFIG[htp] = "--with-libhtp-includes=${STAGING_INCDIR} --with-libhtp-libraries=${STAGING_LIBDIR}, ,libhtp,"
-PACKAGECONFIG[pcre] = "--with-libpcre-includes=${STAGING_INCDIR} --with-libpcre-libraries=${STAGING_LIBDIR}, ,libpcre ,"
-PACKAGECONFIG[yaml] = "--with-libyaml-includes=${STAGING_INCDIR} --with-libyaml-libraries=${STAGING_LIBDIR}, ,libyaml ,"
-PACKAGECONFIG[pcap] = "--with-libpcap-includes=${STAGING_INCDIR} --with-libpcap-libraries=${STAGING_LIBDIR}, ,libpcap ,"
-PACKAGECONFIG[cap-ng] = "--with-libcap_ng-includes=${STAGING_INCDIR} --with-libcap_ng-libraries=${STAGING_LIBDIR}, ,libcap-ng , "
-PACKAGECONFIG[net] = "--with-libnet-includes=${STAGING_INCDIR} --with-libnet-libraries=${STAGING_LIBDIR}, , libnet,"
-PACKAGECONFIG[nfnetlink] = "--with-libnfnetlink-includes=${STAGING_INCDIR} --with-libnfnetlink-libraries=${STAGING_LIBDIR}, ,libnfnetlink ,"
-PACKAGECONFIG[nfq] = "--enable-nfqueue, --disable-nfqueue,libnetfilter-queue,"
-
-PACKAGECONFIG[jansson] = "--with-libjansson-includes=${STAGING_INCDIR} --with-libjansson-libraries=${STAGING_LIBDIR},,jansson, jansson"
-PACKAGECONFIG[file] = ",,file, file"
-PACKAGECONFIG[nss] = "--with-libnss-includes=${STAGING_INCDIR} --with-libnss-libraries=${STAGING_LIBDIR}, nss, nss,"
-PACKAGECONFIG[nspr] = "--with-libnspr-includes=${STAGING_INCDIR} --with-libnspr-libraries=${STAGING_LIBDIR}, nspr, nspr,"
-PACKAGECONFIG[python] = "--enable-python, --disable-python, python3, python3"
-PACKAGECONFIG[unittests] = "--enable-unittests, --disable-unittests,"
-
-export logdir = "${localstatedir}/log"
-
-do_install_append () {
-
- install -d ${D}${sysconfdir}/suricata
-
- oe_runmake install-conf DESTDIR=${D}
-
- # mimic move of downloaded rules to e_sysconfrulesdir
- cp -rf ${WORKDIR}/rules ${D}${sysconfdir}/suricata
-
- oe_runmake install-rules DESTDIR=${D}
-
- install -d ${D}${sysconfdir}/suricata ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/volatiles.03_suricata ${D}${sysconfdir}/default/volatiles/volatiles.03_suricata
-
- install -m 0644 ${S}/threshold.config ${D}${sysconfdir}/suricata
-
- install -d ${D}${systemd_unitdir}/system
- sed -e s:/etc:${sysconfdir}:g \
- -e s:/var/run:/run:g \
- -e s:/var:${localstatedir}:g \
- -e s:/usr/bin:${bindir}:g \
- -e s:/bin/kill:${base_bindir}/kill:g \
- -e s:/usr/lib:${libdir}:g \
- ${WORKDIR}/suricata.service > ${D}${systemd_unitdir}/system/suricata.service
-
- # Remove /var/run as it is created on startup
- rm -rf ${D}${localstatedir}/run
-
-}
-
-pkg_postinst_ontarget_${PN} () {
-if [ -e /etc/init.d/populate-volatile.sh ] ; then
- ${sysconfdir}/init.d/populate-volatile.sh update
-fi
-}
-
-SYSTEMD_PACKAGES = "${PN}"
-
-PACKAGES =+ "${PN}-socketcontrol"
-FILES_${PN} += "${systemd_unitdir}"
-FILES_${PN}-socketcontrol = "${bindir}/suricatasc ${PYTHON_SITEPACKAGES_DIR}"
-
-CONFFILES_${PN} = "${sysconfdir}/suricata/suricata.yaml"
-
-RDEPENDS_${PN}-python = "python"
diff --git a/meta-security/recipes-ids/suricata/suricata_4.1.5.bb b/meta-security/recipes-ids/suricata/suricata_4.1.5.bb
new file mode 100644
index 000000000..cda1c870f
--- /dev/null
+++ b/meta-security/recipes-ids/suricata/suricata_4.1.5.bb
@@ -0,0 +1,93 @@
+SUMMARY = "The Suricata Engine is an Open Source Next Generation Intrusion Detection and Prevention Engine"
+
+require suricata.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=2;md5=c70d8d3310941dcdfcd1e02800a1f548"
+
+SRC_URI += " \
+ file://volatiles.03_suricata \
+ file://suricata.yaml \
+ file://suricata.service \
+ file://run-ptest \
+ file://0001-af-packet-fix-build-on-recent-Linux-kernels.patch \
+ "
+
+inherit autotools-brokensep pkgconfig python3-dir systemd ptest
+
+CFLAGS += "-D_DEFAULT_SOURCE"
+
+CACHED_CONFIGUREVARS = "ac_cv_header_htp_htp_h=yes ac_cv_lib_htp_htp_conn_create=yes \
+ ac_cv_path_HAVE_WGET=no ac_cv_path_HAVE_CURL=no "
+
+EXTRA_OECONF += " --disable-debug \
+ --enable-non-bundled-htp \
+ --disable-gccmarch-native \
+ --disable-suricata-update \
+ "
+
+PACKAGECONFIG ??= "htp jansson file pcre yaml pcap cap-ng net nfnetlink nss nspr"
+PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'unittests', '', d)}"
+
+PACKAGECONFIG[htp] = "--with-libhtp-includes=${STAGING_INCDIR} --with-libhtp-libraries=${STAGING_LIBDIR}, ,libhtp,"
+PACKAGECONFIG[pcre] = "--with-libpcre-includes=${STAGING_INCDIR} --with-libpcre-libraries=${STAGING_LIBDIR}, ,libpcre ,"
+PACKAGECONFIG[yaml] = "--with-libyaml-includes=${STAGING_INCDIR} --with-libyaml-libraries=${STAGING_LIBDIR}, ,libyaml ,"
+PACKAGECONFIG[pcap] = "--with-libpcap-includes=${STAGING_INCDIR} --with-libpcap-libraries=${STAGING_LIBDIR}, ,libpcap ,"
+PACKAGECONFIG[cap-ng] = "--with-libcap_ng-includes=${STAGING_INCDIR} --with-libcap_ng-libraries=${STAGING_LIBDIR}, ,libcap-ng , "
+PACKAGECONFIG[net] = "--with-libnet-includes=${STAGING_INCDIR} --with-libnet-libraries=${STAGING_LIBDIR}, , libnet,"
+PACKAGECONFIG[nfnetlink] = "--with-libnfnetlink-includes=${STAGING_INCDIR} --with-libnfnetlink-libraries=${STAGING_LIBDIR}, ,libnfnetlink ,"
+PACKAGECONFIG[nfq] = "--enable-nfqueue, --disable-nfqueue,libnetfilter-queue,"
+
+PACKAGECONFIG[jansson] = "--with-libjansson-includes=${STAGING_INCDIR} --with-libjansson-libraries=${STAGING_LIBDIR},,jansson, jansson"
+PACKAGECONFIG[file] = ",,file, file"
+PACKAGECONFIG[nss] = "--with-libnss-includes=${STAGING_INCDIR} --with-libnss-libraries=${STAGING_LIBDIR}, nss, nss,"
+PACKAGECONFIG[nspr] = "--with-libnspr-includes=${STAGING_INCDIR} --with-libnspr-libraries=${STAGING_LIBDIR}, nspr, nspr,"
+PACKAGECONFIG[python] = "--enable-python, --disable-python, python3, python3"
+PACKAGECONFIG[unittests] = "--enable-unittests, --disable-unittests,"
+
+export logdir = "${localstatedir}/log"
+
+do_install_append () {
+
+ install -d ${D}${sysconfdir}/suricata
+
+ oe_runmake install-conf DESTDIR=${D}
+
+ # mimic move of downloaded rules to e_sysconfrulesdir
+ cp -rf ${WORKDIR}/rules ${D}${sysconfdir}/suricata
+
+ oe_runmake install-rules DESTDIR=${D}
+
+ install -d ${D}${sysconfdir}/suricata ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/volatiles.03_suricata ${D}${sysconfdir}/default/volatiles/volatiles.03_suricata
+
+ install -m 0644 ${S}/threshold.config ${D}${sysconfdir}/suricata
+
+ install -d ${D}${systemd_unitdir}/system
+ sed -e s:/etc:${sysconfdir}:g \
+ -e s:/var/run:/run:g \
+ -e s:/var:${localstatedir}:g \
+ -e s:/usr/bin:${bindir}:g \
+ -e s:/bin/kill:${base_bindir}/kill:g \
+ -e s:/usr/lib:${libdir}:g \
+ ${WORKDIR}/suricata.service > ${D}${systemd_unitdir}/system/suricata.service
+
+ # Remove /var/run as it is created on startup
+ rm -rf ${D}${localstatedir}/run
+
+}
+
+pkg_postinst_ontarget_${PN} () {
+if [ -e /etc/init.d/populate-volatile.sh ] ; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+fi
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+
+PACKAGES =+ "${PN}-socketcontrol"
+FILES_${PN} += "${systemd_unitdir}"
+FILES_${PN}-socketcontrol = "${bindir}/suricatasc ${PYTHON_SITEPACKAGES_DIR}"
+
+CONFFILES_${PN} = "${sysconfdir}/suricata/suricata.yaml"
+
+RDEPENDS_${PN}-python = "python"
diff --git a/meta-security/recipes-kernel/linux/linux-%_5.%.bbappend b/meta-security/recipes-kernel/linux/linux-%_5.%.bbappend
new file mode 100644
index 000000000..76b5df55b
--- /dev/null
+++ b/meta-security/recipes-kernel/linux/linux-%_5.%.bbappend
@@ -0,0 +1,4 @@
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "apparmor", " features/apparmor/apparmor.scc", "" ,d)}"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "smack", " features/smack/smack.scc", "" ,d)}"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "yama", " features/yama/yama.scc", "" ,d)}"
+
diff --git a/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor.cfg b/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor.cfg
deleted file mode 100644
index ae6cdcdf0..000000000
--- a/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-CONFIG_AUDIT=y
-CONFIG_SECURITY_PATH=y
-CONFIG_SECURITY_APPARMOR=y
-CONFIG_SECURITY_APPARMOR_HASH=y
-CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
-CONFIG_INTEGRITY_AUDIT=y
-CONFIG_DEFAULT_SECURITY_APPARMOR=y
-CONFIG_DEFAULT_SECURITY="apparmor"
-CONFIG_AUDIT_GENERIC=y
diff --git a/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor_on_boot.cfg b/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor_on_boot.cfg
deleted file mode 100644
index fc3574015..000000000
--- a/meta-security/recipes-kernel/linux/linux-yocto-5.0/apparmor_on_boot.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
diff --git a/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack-default-lsm.cfg b/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack-default-lsm.cfg
deleted file mode 100644
index b5c48454e..000000000
--- a/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack-default-lsm.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_DEFAULT_SECURITY="smack"
-CONFIG_DEFAULT_SECURITY_SMACK=y
diff --git a/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack.cfg b/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack.cfg
deleted file mode 100644
index 0d5fc645c..000000000
--- a/meta-security/recipes-kernel/linux/linux-yocto-5.0/smack.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-CONFIG_NETLABEL=y
-CONFIG_SECURITY_NETWORK=y
-# CONFIG_SECURITY_NETWORK_XFRM is not set
-CONFIG_SECURITY_SMACK=y
-CONFIG_SECURITY_SMACK_BRINGUP=y
-CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y
-CONFIG_TMPFS_XATTR=y
diff --git a/meta-security/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-security/recipes-kernel/linux/linux-yocto-dev.bbappend
new file mode 100644
index 000000000..239e30e70
--- /dev/null
+++ b/meta-security/recipes-kernel/linux/linux-yocto-dev.bbappend
@@ -0,0 +1,2 @@
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "apparmor", " features/apparmor/apparmor.scc", "" ,d)}"
++KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "smack", " features/smack/smack.scc", "" ,d)}"
diff --git a/meta-security/recipes-kernel/linux/linux-yocto/apparmor.cfg b/meta-security/recipes-kernel/linux/linux-yocto/apparmor.cfg
deleted file mode 100644
index b5f9bb2a6..000000000
--- a/meta-security/recipes-kernel/linux/linux-yocto/apparmor.cfg
+++ /dev/null
@@ -1,15 +0,0 @@
-CONFIG_AUDIT=y
-# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set
-CONFIG_SECURITY_NETWORK=y
-# CONFIG_SECURITY_NETWORK_XFRM is not set
-CONFIG_SECURITY_PATH=y
-# CONFIG_SECURITY_SELINUX is not set
-CONFIG_SECURITY_APPARMOR=y
-CONFIG_SECURITY_APPARMOR_HASH=y
-CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
-# CONFIG_SECURITY_APPARMOR_DEBUG is not set
-CONFIG_INTEGRITY_AUDIT=y
-CONFIG_DEFAULT_SECURITY_APPARMOR=y
-# CONFIG_DEFAULT_SECURITY_DAC is not set
-CONFIG_DEFAULT_SECURITY="apparmor"
-CONFIG_AUDIT_GENERIC=y
diff --git a/meta-security/recipes-kernel/linux/linux-yocto/apparmor_on_boot.cfg b/meta-security/recipes-kernel/linux/linux-yocto/apparmor_on_boot.cfg
deleted file mode 100644
index fc3574015..000000000
--- a/meta-security/recipes-kernel/linux/linux-yocto/apparmor_on_boot.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
diff --git a/meta-security/recipes-kernel/linux/linux-yocto/smack-default-lsm.cfg b/meta-security/recipes-kernel/linux/linux-yocto/smack-default-lsm.cfg
deleted file mode 100644
index b5c48454e..000000000
--- a/meta-security/recipes-kernel/linux/linux-yocto/smack-default-lsm.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_DEFAULT_SECURITY="smack"
-CONFIG_DEFAULT_SECURITY_SMACK=y
diff --git a/meta-security/recipes-kernel/linux/linux-yocto/smack.cfg b/meta-security/recipes-kernel/linux/linux-yocto/smack.cfg
deleted file mode 100644
index 62f465a45..000000000
--- a/meta-security/recipes-kernel/linux/linux-yocto/smack.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-CONFIG_IP_NF_SECURITY=m
-CONFIG_IP6_NF_SECURITY=m
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_EXT4_FS_SECURITY=y
-CONFIG_SECURITY=y
-CONFIG_SECURITY_SMACK=y
-CONFIG_TMPFS_XATTR=y
diff --git a/meta-security/recipes-kernel/linux/linux-yocto_4.%.bbappend b/meta-security/recipes-kernel/linux/linux-yocto_4.%.bbappend
index 321392c0b..39d4e6f50 100644
--- a/meta-security/recipes-kernel/linux/linux-yocto_4.%.bbappend
+++ b/meta-security/recipes-kernel/linux/linux-yocto_4.%.bbappend
@@ -1,11 +1,2 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', ' file://apparmor.cfg', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', ' file://apparmor_on_boot.cfg', '', d)} \
-"
-
-SRC_URI += "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'smack', ' file://smack.cfg', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'smack', ' file://smack-default-lsm.cfg', '', d)} \
-"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "apparmor", " features/apparmor/apparmor.scc", "" ,d)}"
+KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "smack", " features/smack/smack.scc", "" ,d)}"
diff --git a/meta-security/recipes-kernel/linux/linux-yocto_5.0.%.bbappend b/meta-security/recipes-kernel/linux/linux-yocto_5.0.%.bbappend
deleted file mode 100644
index f810e2112..000000000
--- a/meta-security/recipes-kernel/linux/linux-yocto_5.0.%.bbappend
+++ /dev/null
@@ -1,11 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-5.0:"
-
-SRC_URI += "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', ' file://apparmor.cfg', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', ' file://apparmor_on_boot.cfg', '', d)} \
-"
-
-SRC_URI += "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'smack', ' file://smack.cfg', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'smack', ' file://smack-default-lsm.cfg', '', d)} \
-"
diff --git a/meta-security/recipes-mac/AppArmor/apparmor_2.13.2.bb b/meta-security/recipes-mac/AppArmor/apparmor_2.13.2.bb
deleted file mode 100644
index 4eaec001e..000000000
--- a/meta-security/recipes-mac/AppArmor/apparmor_2.13.2.bb
+++ /dev/null
@@ -1,160 +0,0 @@
-SUMMARY = "AppArmor another MAC control system"
-DESCRIPTION = "user-space parser utility for AppArmor \
- This provides the system initialization scripts needed to use the \
- AppArmor Mandatory Access Control system, including the AppArmor Parser \
- which is required to convert AppArmor text profiles into machine-readable \
- policies that are loaded into the kernel for use with the AppArmor Linux \
- Security Module."
-HOMEAPAGE = "http://apparmor.net/"
-SECTION = "admin"
-
-LICENSE = "GPLv2 & GPLv2+ & BSD-3-Clause & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=fd57a4b0bc782d7b80fd431f10bbf9d0"
-
-DEPENDS = "bison-native apr gettext-native coreutils-native"
-
-SRC_URI = " \
- git://gitlab.com/apparmor/apparmor.git;protocol=https;branch=apparmor-2.13 \
- file://disable_perl_h_check.patch \
- file://crosscompile_perl_bindings.patch \
- file://apparmor.rc \
- file://functions \
- file://apparmor \
- file://apparmor.service \
- file://run-ptest \
- "
-
-SRCREV = "af4808b5f6b58946f5c5a4de4b77df5e0eae6ca0"
-S = "${WORKDIR}/git"
-
-PARALLEL_MAKE = ""
-
-inherit pkgconfig autotools-brokensep update-rc.d python3native perlnative ptest cpan manpages systemd
-
-PACKAGECONFIG ??= "python perl"
-PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages"
-PACKAGECONFIG[python] = "--with-python, --without-python, python3 swig-native"
-PACKAGECONFIG[perl] = "--with-perl, --without-perl, perl perl-native swig-native"
-PACKAGECONFIG[apache2] = ",,apache2,"
-
-PAMLIB="${@bb.utils.contains('DISTRO_FEATURES', 'pam', '1', '0', d)}"
-HTTPD="${@bb.utils.contains('PACKAGECONFIG', 'apache2', '1', '0', d)}"
-
-
-python() {
- if 'apache2' in d.getVar('PACKAGECONFIG').split() and \
- 'webserver' not in d.getVar('BBFILE_COLLECTIONS').split():
- raise bb.parse.SkipRecipe('Requires meta-webserver to be present.')
-}
-
-DISABLE_STATIC = ""
-
-do_configure() {
- cd ${S}/libraries/libapparmor
- aclocal
- autoconf --force
- libtoolize --automake -c --force
- automake -ac
- ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
-}
-
-do_compile () {
- # Fixes:
- # | sed -ie 's///g' Makefile.perl
- # | sed: -e expression #1, char 0: no previous regular expression
- #| Makefile:478: recipe for target 'Makefile.perl' failed
- sed -i "s@sed -ie 's///g' Makefile.perl@@" ${S}/libraries/libapparmor/swig/perl/Makefile
-
-
- oe_runmake -C ${B}/libraries/libapparmor
- oe_runmake -C ${B}/binutils
- oe_runmake -C ${B}/utils
- oe_runmake -C ${B}/parser
- oe_runmake -C ${B}/profiles
-
- if test -z "${HTTPD}" ; then
- oe_runmake -C ${B}/changehat/mod_apparmor
- fi
-
- if test -z "${PAMLIB}" ; then
- oe_runmake -C ${B}/changehat/pam_apparmor
- fi
-}
-
-do_install () {
- install -d ${D}/${INIT_D_DIR}
- install -d ${D}/lib/apparmor
-
- oe_runmake -C ${B}/libraries/libapparmor DESTDIR="${D}" install
- oe_runmake -C ${B}/binutils DESTDIR="${D}" install
- oe_runmake -C ${B}/utils DESTDIR="${D}" install
- oe_runmake -C ${B}/parser DESTDIR="${D}" install
- oe_runmake -C ${B}/profiles DESTDIR="${D}" install
-
- # If perl is disabled this script won't be any good
- if ! ${@bb.utils.contains('PACKAGECONFIG','perl','true','false', d)}; then
- rm -f ${D}${sbindir}/aa-notify
- fi
-
- if test -z "${HTTPD}" ; then
- oe_runmake -C ${B}/changehat/mod_apparmor DESTDIR="${D}" install
- fi
-
- if test -z "${PAMLIB}" ; then
- oe_runmake -C ${B}/changehat/pam_apparmor DESTDIR="${D}" install
- fi
-
- # aa-easyprof is installed by python-tools-setup.py, fix it up
- sed -i -e 's:/usr/bin/env.*:/usr/bin/python3:' ${D}${bindir}/aa-easyprof
- chmod 0755 ${D}${bindir}/aa-easyprof
-
- install ${WORKDIR}/apparmor ${D}/${INIT_D_DIR}/apparmor
- install ${WORKDIR}/functions ${D}/lib/apparmor
- install -d ${D}${systemd_system_unitdir}
- install ${WORKDIR}/apparmor.service ${D}${systemd_system_unitdir}
-}
-
-do_compile_ptest () {
- oe_runmake -C ${B}/tests/regression/apparmor
- oe_runmake -C ${B}/parser/tst
- oe_runmake -C ${B}/libraries/libapparmor
-}
-
-do_install_ptest () {
- t=${D}/${PTEST_PATH}/testsuite
- install -d ${t}
- install -d ${t}/tests/regression/apparmor
- cp -rf ${B}/tests/regression/apparmor ${t}/tests/regression
-
- install -d ${t}/parser/tst
- cp -rf ${B}/parser/tst ${t}/parser
- cp ${B}/parser/apparmor_parser ${t}/parser
- cp ${B}/parser/frob_slack_rc ${t}/parser
-
- install -d ${t}/libraries/libapparmor
- cp -rf ${B}/libraries/libapparmor ${t}/libraries
-
- install -d ${t}/common
- cp -rf ${B}/common ${t}
-
- install -d ${t}/binutils
- cp -rf ${B}/binutils ${t}
-}
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME = "apparmor"
-INITSCRIPT_PARAMS = "start 16 2 3 4 5 . stop 35 0 1 6 ."
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "apparmor.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-PACKAGES += "mod-${PN}"
-
-FILES_${PN} += "/lib/apparmor/ ${sysconfdir}/apparmor ${PYTHON_SITEPACKAGES_DIR}"
-FILES_mod-${PN} = "${libdir}/apache2/modules/*"
-
-RDEPENDS_${PN} += "bash lsb"
-RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','python','python3 python3-modules','', d)}"
-RDEPENDS_${PN}_remove += "${@bb.utils.contains('PACKAGECONFIG','perl','','perl', d)}"
-RDEPENDS_${PN}-ptest += "perl coreutils dbus-lib bash"
diff --git a/meta-security/recipes-mac/AppArmor/apparmor_2.13.3.bb b/meta-security/recipes-mac/AppArmor/apparmor_2.13.3.bb
new file mode 100644
index 000000000..2e5d221c3
--- /dev/null
+++ b/meta-security/recipes-mac/AppArmor/apparmor_2.13.3.bb
@@ -0,0 +1,167 @@
+SUMMARY = "AppArmor another MAC control system"
+DESCRIPTION = "user-space parser utility for AppArmor \
+ This provides the system initialization scripts needed to use the \
+ AppArmor Mandatory Access Control system, including the AppArmor Parser \
+ which is required to convert AppArmor text profiles into machine-readable \
+ policies that are loaded into the kernel for use with the AppArmor Linux \
+ Security Module."
+HOMEAPAGE = "http://apparmor.net/"
+SECTION = "admin"
+
+LICENSE = "GPLv2 & GPLv2+ & BSD-3-Clause & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=fd57a4b0bc782d7b80fd431f10bbf9d0"
+
+DEPENDS = "bison-native apr gettext-native coreutils-native"
+
+SRC_URI = " \
+ git://gitlab.com/apparmor/apparmor.git;protocol=https;branch=apparmor-2.13 \
+ file://disable_perl_h_check.patch \
+ file://crosscompile_perl_bindings.patch \
+ file://apparmor.rc \
+ file://functions \
+ file://apparmor \
+ file://apparmor.service \
+ file://0001-Makefile.am-suppress-perllocal.pod.patch \
+ file://run-ptest \
+ "
+
+SRCREV = "2f9d9ea7e01a115b29858455d3b1b5c6a0bab75c"
+S = "${WORKDIR}/git"
+
+PARALLEL_MAKE = ""
+
+inherit pkgconfig autotools-brokensep update-rc.d python3native perlnative ptest cpan manpages systemd
+
+PACKAGECONFIG ??= "python perl"
+PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages"
+PACKAGECONFIG[python] = "--with-python, --without-python, python3 swig-native"
+PACKAGECONFIG[perl] = "--with-perl, --without-perl, perl perl-native swig-native"
+PACKAGECONFIG[apache2] = ",,apache2,"
+
+PAMLIB="${@bb.utils.contains('DISTRO_FEATURES', 'pam', '1', '0', d)}"
+HTTPD="${@bb.utils.contains('PACKAGECONFIG', 'apache2', '1', '0', d)}"
+
+
+python() {
+ if 'apache2' in d.getVar('PACKAGECONFIG').split() and \
+ 'webserver' not in d.getVar('BBFILE_COLLECTIONS').split():
+ raise bb.parse.SkipRecipe('Requires meta-webserver to be present.')
+}
+
+DISABLE_STATIC = ""
+
+do_configure() {
+ cd ${S}/libraries/libapparmor
+ aclocal
+ autoconf --force
+ libtoolize --automake -c --force
+ automake -ac
+ ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+}
+
+do_compile () {
+ # Fixes:
+ # | sed -ie 's///g' Makefile.perl
+ # | sed: -e expression #1, char 0: no previous regular expression
+ #| Makefile:478: recipe for target 'Makefile.perl' failed
+ sed -i "s@sed -ie 's///g' Makefile.perl@@" ${S}/libraries/libapparmor/swig/perl/Makefile
+
+
+ oe_runmake -C ${B}/libraries/libapparmor
+ oe_runmake -C ${B}/binutils
+ oe_runmake -C ${B}/utils
+ oe_runmake -C ${B}/parser
+ oe_runmake -C ${B}/profiles
+
+ if test -z "${HTTPD}" ; then
+ oe_runmake -C ${B}/changehat/mod_apparmor
+ fi
+
+ if test -z "${PAMLIB}" ; then
+ oe_runmake -C ${B}/changehat/pam_apparmor
+ fi
+}
+
+do_install () {
+ install -d ${D}/${INIT_D_DIR}
+ install -d ${D}/lib/apparmor
+
+ oe_runmake -C ${B}/libraries/libapparmor DESTDIR="${D}" install
+ oe_runmake -C ${B}/binutils DESTDIR="${D}" install
+ oe_runmake -C ${B}/utils DESTDIR="${D}" install
+ oe_runmake -C ${B}/parser DESTDIR="${D}" install
+ oe_runmake -C ${B}/profiles DESTDIR="${D}" install
+
+ # If perl is disabled this script won't be any good
+ if ! ${@bb.utils.contains('PACKAGECONFIG','perl','true','false', d)}; then
+ rm -f ${D}${sbindir}/aa-notify
+ fi
+
+ if test -z "${HTTPD}" ; then
+ oe_runmake -C ${B}/changehat/mod_apparmor DESTDIR="${D}" install
+ fi
+
+ if test -z "${PAMLIB}" ; then
+ oe_runmake -C ${B}/changehat/pam_apparmor DESTDIR="${D}" install
+ fi
+
+ # aa-easyprof is installed by python-tools-setup.py, fix it up
+ sed -i -e 's:/usr/bin/env.*:/usr/bin/python3:' ${D}${bindir}/aa-easyprof
+ chmod 0755 ${D}${bindir}/aa-easyprof
+
+ install ${WORKDIR}/apparmor ${D}/${INIT_D_DIR}/apparmor
+ install ${WORKDIR}/functions ${D}/lib/apparmor
+ install -d ${D}${systemd_system_unitdir}
+ install ${WORKDIR}/apparmor.service ${D}${systemd_system_unitdir}
+}
+
+do_compile_ptest () {
+ oe_runmake -C ${B}/tests/regression/apparmor
+ oe_runmake -C ${B}/parser/tst
+ oe_runmake -C ${B}/libraries/libapparmor
+}
+
+do_install_ptest () {
+ t=${D}/${PTEST_PATH}/testsuite
+ install -d ${t}
+ install -d ${t}/tests/regression/apparmor
+ cp -rf ${B}/tests/regression/apparmor ${t}/tests/regression
+
+ install -d ${t}/parser/tst
+ cp -rf ${B}/parser/tst ${t}/parser
+ cp ${B}/parser/apparmor_parser ${t}/parser
+ cp ${B}/parser/frob_slack_rc ${t}/parser
+
+ install -d ${t}/libraries/libapparmor
+ cp -rf ${B}/libraries/libapparmor ${t}/libraries
+
+ install -d ${t}/common
+ cp -rf ${B}/common ${t}
+
+ install -d ${t}/binutils
+ cp -rf ${B}/binutils ${t}
+}
+
+pkg_postinst_ontarget_${PN} () {
+if [ ! -d /etc/apparmor.d/cache ] ; then
+ mkdir /etc/apparmor.d/cache
+fi
+}
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME = "apparmor"
+INITSCRIPT_PARAMS = "start 16 2 3 4 5 . stop 35 0 1 6 ."
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "apparmor.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+PACKAGES += "mod-${PN}"
+
+FILES_${PN} += "/lib/apparmor/ ${sysconfdir}/apparmor ${PYTHON_SITEPACKAGES_DIR}"
+FILES_mod-${PN} = "${libdir}/apache2/modules/*"
+
+RDEPENDS_${PN} += "bash"
+RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG','python','python3-core python3-modules','', d)}"
+RDEPENDS_${PN}_remove += "${@bb.utils.contains('PACKAGECONFIG','perl','','perl', d)}"
+RDEPENDS_${PN}-ptest += "perl coreutils dbus-lib bash"
diff --git a/meta-security/recipes-mac/AppArmor/files/0001-Makefile.am-suppress-perllocal.pod.patch b/meta-security/recipes-mac/AppArmor/files/0001-Makefile.am-suppress-perllocal.pod.patch
new file mode 100644
index 000000000..9807be129
--- /dev/null
+++ b/meta-security/recipes-mac/AppArmor/files/0001-Makefile.am-suppress-perllocal.pod.patch
@@ -0,0 +1,28 @@
+From 9f9cfbf07214ac68a55372a3c2777192765cbeb9 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Fri, 20 Sep 2019 18:53:53 +0800
+Subject: [PATCH] Makefile.am: suppress perllocal.pod
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ libraries/libapparmor/swig/perl/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libraries/libapparmor/swig/perl/Makefile.am b/libraries/libapparmor/swig/perl/Makefile.am
+index 6ae4e30c..be00dc7f 100644
+--- a/libraries/libapparmor/swig/perl/Makefile.am
++++ b/libraries/libapparmor/swig/perl/Makefile.am
+@@ -11,7 +11,7 @@ MOSTLYCLEANFILES=libapparmor_wrap.c LibAppArmor.pm
+ LibAppArmor.pm: libapparmor_wrap.c
+
+ Makefile.perl: Makefile.PL LibAppArmor.pm
+- $(PERL) $< PREFIX=$(prefix) MAKEFILE=$@
++ $(PERL) $< PREFIX=$(prefix) MAKEFILE=$@ NO_PERLLOCAL=1
+ sed -ie 's/LD_RUN_PATH="\x24(LD_RUN_PATH)"//g' Makefile.perl
+ sed -ie 's/^LD_RUN_PATH.*//g' Makefile.perl
+
+--
+2.17.1
+
diff --git a/meta-security/recipes-mac/AppArmor/files/apparmor b/meta-security/recipes-mac/AppArmor/files/apparmor
index ac3ab9a4a..604e48d56 100644
--- a/meta-security/recipes-mac/AppArmor/files/apparmor
+++ b/meta-security/recipes-mac/AppArmor/files/apparmor
@@ -47,7 +47,6 @@ log_end_msg () {
}
. /lib/apparmor/functions
-. /lib/lsb/init-functions
usage() {
echo "Usage: $0 {start|stop|restart|reload|force-reload|status|recache}"
diff --git a/meta-security/recipes-mac/smack/smack_1.3.1.bb b/meta-security/recipes-mac/smack/smack_1.3.1.bb
index 246562afe..f32d91ba3 100644
--- a/meta-security/recipes-mac/smack/smack_1.3.1.bb
+++ b/meta-security/recipes-mac/smack/smack_1.3.1.bb
@@ -48,7 +48,7 @@ INITSCRIPT_PARAMS = "start 16 2 3 4 5 . stop 35 0 1 6 ."
FILES_${PN} += "${sysconfdir}/init.d/smack"
FILES_${PN}-ptest += "generator"
-RDEPENDS_${PN} += "coreutils"
+RDEPENDS_${PN} += "coreutils python3-core"
RDEPENDS_${PN}-ptest += "make bash bc"
BBCLASSEXTEND = "native"
diff --git a/meta-security/recipes-security/checksec/checksec_1.11.1.bb b/meta-security/recipes-security/checksec/checksec_1.11.1.bb
deleted file mode 100644
index 835dffcd8..000000000
--- a/meta-security/recipes-security/checksec/checksec_1.11.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Linux system security checks"
-DESCRIPTION = "The checksec script is designed to test what standard Linux OS and PaX security features are being used."
-SECTION = "security"
-LICENSE = "BSD"
-HOMEPAGE="https://github.com/slimm609/checksec.sh"
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=93fddcca19f6c897871f9b5f9a035f4a"
-
-SRCREV = "3c15cb89641c700096fdec0c1904a0cf9b83c5e2"
-SRC_URI = "git://github.com/slimm609/checksec.sh"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${S}/checksec ${D}${bindir}
-}
-
-RDEPENDS_${PN} = "bash openssl-bin"
diff --git a/meta-security/recipes-security/checksec/checksec_2.1.0.bb b/meta-security/recipes-security/checksec/checksec_2.1.0.bb
new file mode 100644
index 000000000..5c6528e48
--- /dev/null
+++ b/meta-security/recipes-security/checksec/checksec_2.1.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Linux system security checks"
+DESCRIPTION = "The checksec script is designed to test what standard Linux OS and PaX security features are being used."
+SECTION = "security"
+LICENSE = "BSD"
+HOMEPAGE="https://github.com/slimm609/checksec.sh"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=93fddcca19f6c897871f9b5f9a035f4a"
+
+SRCREV = "04582bad41589ad479ca8b1f0170ed317475b5a5"
+SRC_URI = "git://github.com/slimm609/checksec.sh"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/checksec ${D}${bindir}
+}
+
+RDEPENDS_${PN} = "bash openssl-bin"
diff --git a/meta-security/recipes-security/clamav/clamav_0.99.4.bb b/meta-security/recipes-security/clamav/clamav_0.99.4.bb
index 7d8767e2f..7f0433777 100644
--- a/meta-security/recipes-security/clamav/clamav_0.99.4.bb
+++ b/meta-security/recipes-security/clamav/clamav_0.99.4.bb
@@ -66,14 +66,12 @@ EXTRA_OECONF_class-native += "${EXTRA_OECONF_CLAMAV}"
EXTRA_OECONF_class-target += "--with-user=${UID} --with-group=${GID} --disable-rpath ${EXTRA_OECONF_CLAMAV}"
do_configure () {
- cd ${S}
- ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+ ${S}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
install -d ${S}/clamav_db
}
do_configure_class-native () {
- cd ${S}
- ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+ ${S}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
}
diff --git a/meta-security/recipes-security/ecryptfs-utils/ecryptfs-utils_111.bb b/meta-security/recipes-security/ecryptfs-utils/ecryptfs-utils_111.bb
index 1f780f9e3..e45ee0ba0 100644
--- a/meta-security/recipes-security/ecryptfs-utils/ecryptfs-utils_111.bb
+++ b/meta-security/recipes-security/ecryptfs-utils/ecryptfs-utils_111.bb
@@ -14,6 +14,7 @@ DEPENDS = "keyutils libgcrypt intltool-native glib-2.0-native"
SRC_URI = "\
https://launchpad.net/ecryptfs/trunk/${PV}/+download/${BPN}_${PV}.orig.tar.gz \
file://ecryptfs-utils-CVE-2016-6224.patch \
+ file://0001-avoid-race-condition.patch \
file://ecryptfs.service \
"
@@ -30,13 +31,13 @@ EXTRA_OECONF = "\
--disable-pywrap \
--disable-nls \
--with-pamdir=${base_libdir}/security \
+ --disable-openssl \
"
PACKAGECONFIG ??= "nss \
${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
"
PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss,"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,"
PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam,"
do_configure_prepend() {
diff --git a/meta-security/recipes-security/ecryptfs-utils/files/0001-avoid-race-condition.patch b/meta-security/recipes-security/ecryptfs-utils/files/0001-avoid-race-condition.patch
new file mode 100644
index 000000000..af28d5810
--- /dev/null
+++ b/meta-security/recipes-security/ecryptfs-utils/files/0001-avoid-race-condition.patch
@@ -0,0 +1,32 @@
+From ab671b02e3aaf65dd1fd279789ea933b8140fe52 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 27 Aug 2019 16:08:00 +0800
+Subject: [PATCH] avoid race condition
+
+The rootsbin directory is self defined. The install-rootsbinPROGRAMS
+is actually treated as part of install-data.
+
+This would avoid race condition which causes install failure.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/utils/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/utils/Makefile.am b/src/utils/Makefile.am
+index 83cf851..344883a 100644
+--- a/src/utils/Makefile.am
++++ b/src/utils/Makefile.am
+@@ -67,6 +67,6 @@ ecryptfs_stat_LDADD = $(top_builddir)/src/libecryptfs/libecryptfs.la
+ test_SOURCES = test.c io.c
+ test_LDADD = $(top_builddir)/src/libecryptfs/libecryptfs.la
+
+-install-exec-hook: install-rootsbinPROGRAMS
++install-data-hook: install-rootsbinPROGRAMS
+ -rm -f "$(DESTDIR)/$(rootsbindir)/umount.ecryptfs_private"
+ $(LN_S) "mount.ecryptfs_private" "$(DESTDIR)/$(rootsbindir)/umount.ecryptfs_private"
+--
+2.17.1
+
diff --git a/meta-security/recipes-security/images/security-test-image.bb b/meta-security/recipes-security/images/security-test-image.bb
new file mode 100644
index 000000000..c71d7267d
--- /dev/null
+++ b/meta-security/recipes-security/images/security-test-image.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "A small image for testing meta-security packages"
+
+IMAGE_FEATURES += "ssh-server-openssh"
+
+TEST_SUITES = "ssh ping ptest apparmor clamav samhain sssd tripwire checksec smack suricata"
+
+INSTALL_CLAMAV_CVD = "1"
+
+IMAGE_INSTALL = "\
+ packagegroup-base \
+ packagegroup-core-boot \
+ packagegroup-core-security-ptest \
+ clamav \
+ tripwire \
+ checksec \
+ suricata \
+ samhain-standalone \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "sssd", "",d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "apparmor", "apparmor", "",d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "smack", "smack-test", "",d)} \
+ os-release \
+ "
+
+
+IMAGE_LINGUAS ?= " "
+
+LICENSE = "MIT"
+
+inherit core-image
+
+export IMAGE_BASENAME = "security-test-image"
+
+IMAGE_ROOTFS_EXTRA_SPACE = "5242880"
diff --git a/meta-security/recipes-security/libmspack/libmspack_0.10.1.bb b/meta-security/recipes-security/libmspack/libmspack_0.10.1.bb
deleted file mode 100644
index b46159f20..000000000
--- a/meta-security/recipes-security/libmspack/libmspack_0.10.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A library for Microsoft compression formats"
-HOMEPAGE = "http://www.cabextract.org.uk/libmspack/"
-SECTION = "lib"
-LICENSE = "LGPL-2.1"
-DEPENDS = ""
-
-LIC_FILES_CHKSUM = "file://COPYING.LIB;beginline=1;endline=2;md5=5b1fd1f66ef926b3c8a5bb00a72a28dd"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/libm/${BPN}/${BPN}_${PV}.orig.tar.xz"
-
-SRC_URI[md5sum] = "d894d91eba4d2c6f76695fc9566d5387"
-SRC_URI[sha256sum] = "850c57442b850bf1bc0fc4ea8880903ebf2bed063c3c80782ee4626fbcb0e67d"
-
-inherit autotools
-
-S = "${WORKDIR}/${BP}alpha"
diff --git a/meta-security/recipes-security/libmspack/libmspack_1.9.1.bb b/meta-security/recipes-security/libmspack/libmspack_1.9.1.bb
new file mode 100644
index 000000000..8c288beeb
--- /dev/null
+++ b/meta-security/recipes-security/libmspack/libmspack_1.9.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A library for Microsoft compression formats"
+HOMEPAGE = "http://www.cabextract.org.uk/libmspack/"
+SECTION = "lib"
+LICENSE = "LGPL-2.1"
+DEPENDS = ""
+
+LIC_FILES_CHKSUM = "file://COPYING.LIB;beginline=1;endline=2;md5=5b1fd1f66ef926b3c8a5bb00a72a28dd"
+
+SRCREV = "63d3faf90423a4a6c174539a7d32111a840adadc"
+SRC_URI = "git://github.com/kyz/libmspack.git"
+
+inherit autotools
+
+S = "${WORKDIR}/git/${BPN}"
+
+inherit autotools
diff --git a/meta-security/recipes-security/libseccomp/libseccomp_2.4.1.bb b/meta-security/recipes-security/libseccomp/libseccomp_2.4.1.bb
index dba1be574..37a79829f 100644
--- a/meta-security/recipes-security/libseccomp/libseccomp_2.4.1.bb
+++ b/meta-security/recipes-security/libseccomp/libseccomp_2.4.1.bb
@@ -17,6 +17,8 @@ inherit autotools-brokensep pkgconfig ptest
PACKAGECONFIG ??= ""
PACKAGECONFIG[python] = "--enable-python, --disable-python, python"
+DISABLE_STATIC = ""
+
do_compile_ptest() {
oe_runmake -C tests check-build
}
diff --git a/meta-security/recipes-security/ncrack/ncrack_0.7.bb b/meta-security/recipes-security/ncrack/ncrack_0.7.bb
index 06ba2b6df..ba269657f 100644
--- a/meta-security/recipes-security/ncrack/ncrack_0.7.bb
+++ b/meta-security/recipes-security/ncrack/ncrack_0.7.bb
@@ -4,9 +4,9 @@ HOMEPAGE = "https://nmap.org/ncrack"
SECTION = "security"
LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=198fa93d4e80225839e595336f3b5ff0"
+LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=66938a7e5b4c118eda78271de14874c2"
-SRCREV = "3a793a21820708466081825beda9fce857f36cb6"
+SRCREV = "dc570e7e3cec1fb176c0168eaedc723084bd0426"
SRC_URI = "git://github.com/nmap/ncrack.git"
DEPENDS = "openssl zlib"
diff --git a/meta-security/recipes-security/packagegroup/packagegroup-core-security-ptest.bb b/meta-security/recipes-security/packagegroup/packagegroup-core-security-ptest.bb
new file mode 100644
index 000000000..39873b850
--- /dev/null
+++ b/meta-security/recipes-security/packagegroup/packagegroup-core-security-ptest.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "Security ptest packagegroup"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \
+ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "ptest"
+
+PACKAGES = "\
+ ${PN} \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+SUMMARY_${PN} = "Security packages with ptests"
+RDEPENDS_${PN} = " \
+ ptest-runner \
+ samhain-standalone-ptest \
+ keyutils-ptest \
+ libseccomp-ptest \
+ python3-scapy-ptest \
+ suricata-ptest \
+ tripwire-ptest \
+ python-fail2ban-ptest \
+ ${@bb.utils.contains("DISTRO_FEATURES", "apparmor", "apparmor-ptest", "",d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "smack", "smack-ptest", "",d)} \
+ "
diff --git a/meta-security/recipes-security/packagegroup/packagegroup-core-security.bb b/meta-security/recipes-security/packagegroup/packagegroup-core-security.bb
index b8ab27df1..e0a9d0534 100644
--- a/meta-security/recipes-security/packagegroup/packagegroup-core-security.bb
+++ b/meta-security/recipes-security/packagegroup/packagegroup-core-security.bb
@@ -11,8 +11,6 @@ PACKAGES = "\
packagegroup-security-scanners \
packagegroup-security-ids \
packagegroup-security-mac \
- ${@bb.utils.contains("MACHINE_FEATURES", "tpm", "packagegroup-security-tpm", "",d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-security-ptest", "", d)} \
"
RDEPENDS_packagegroup-core-security = "\
@@ -20,8 +18,6 @@ RDEPENDS_packagegroup-core-security = "\
packagegroup-security-scanners \
packagegroup-security-ids \
packagegroup-security-mac \
- ${@bb.utils.contains("MACHINE_FEATURES", "tpm", "packagegroup-security-tpm", "",d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-security-ptest", "", d)} \
"
SUMMARY_packagegroup-security-utils = "Security utilities"
@@ -29,11 +25,11 @@ RDEPENDS_packagegroup-security-utils = "\
checksec \
nmap \
pinentry \
- python-scapy \
+ python3-scapy \
ding-libs \
- xmlsec1 \
keyutils \
libseccomp \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "sssd", "",d)} \
${@bb.utils.contains("DISTRO_FEATURES", "pax", "pax-utils", "",d)} \
"
@@ -42,6 +38,8 @@ RDEPENDS_packagegroup-security-scanners = "\
nikto \
checksecurity \
clamav \
+ clamav-freshclam \
+ clamav-cvd \
"
SUMMARY_packagegroup-security-audit = "Security Audit tools "
@@ -68,18 +66,3 @@ RDEPENDS_packagegroup-security-mac = " \
${@bb.utils.contains("DISTRO_FEATURES", "apparmor", "apparmor", "",d)} \
${@bb.utils.contains("DISTRO_FEATURES", "smack", "smack", "",d)} \
"
-
-SUMMARY_packagegroup-security-ptest = "Security packages with ptests"
-RDEPENDS_packagegroup-security-ptest = " \
- samhain-standalone-ptest \
- xmlsec1-ptest \
- keyutils-ptest \
- libseccomp-ptest \
- python-scapy-ptest \
- suricata-ptest \
- tripwire-ptest \
- python-fail2ban-ptest \
- ${@bb.utils.contains("DISTRO_FEATURES", "apparmor", "apparmor-ptest", "",d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "smack", "smack-ptest", "",d)} \
- ptest-runner \
- "
diff --git a/meta-security/recipes-security/scapy/files/run-ptest b/meta-security/recipes-security/scapy/files/run-ptest
index 91b29f907..797d8ecf7 100644
--- a/meta-security/recipes-security/scapy/files/run-ptest
+++ b/meta-security/recipes-security/scapy/files/run-ptest
@@ -1,4 +1,4 @@
#!/bin/sh
-UTscapy -t regression.uts -f text -l -C \
+UTscapy3 -t regression.uts -f text -l -C \
-o @PTEST_PATH@/scapy_ptest_$(date +%Y%m%d-%H%M%S).log \
2>&1 | sed -e 's/^passed None/PASS:/' -e 's/^failed None/FAIL:/'
diff --git a/meta-security/recipes-security/scapy/python-scapy.inc b/meta-security/recipes-security/scapy/python-scapy.inc
deleted file mode 100644
index baa69b244..000000000
--- a/meta-security/recipes-security/scapy/python-scapy.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Network scanning and manipulation tool"
-DESCRIPTION = "Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, etc.). It also performs very well at a lot of other specific tasks that most other tools can't handle, like sending invalid frames, injecting your own 802.11 frames, combining technics (VLAN hopping+ARP cache poisoning, VOIP decoding on WEP encrypted channel, ...), etc."
-SECTION = "security"
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://bin/scapy;beginline=9;endline=13;md5=1d5249872cc54cd4ca3d3879262d0c69"
-
-S = "${WORKDIR}/git"
-
-SRCREV = "bad14cb1a5aee29f8107fbe8ad008d4645f14da7"
-SRC_URI = "git://github.com/secdev/scapy.git"
-
-inherit ptest
-
-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
-}
-
-RDEPENDS_${PN} = "tcpdump ${PYTHON_PN}-compression ${PYTHON_PN}-cryptography ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-netserver ${PYTHON_PN}-pydoc ${PYTHON_PN}-pkgutil ${PYTHON_PN}-shell \
- ${PYTHON_PN}-threading ${PYTHON_PN}-numbers ${PYTHON_PN}-pycrypto"
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
deleted file mode 100644
index 982620e0b..000000000
--- a/meta-security/recipes-security/scapy/python-scapy_2.4.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-inherit setuptools
-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
deleted file mode 100644
index abcaeeb0b..000000000
--- a/meta-security/recipes-security/scapy/python3-scapy_2.4.2.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-inherit setuptools3
-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-security/recipes-security/scapy/python3-scapy_2.4.3.bb b/meta-security/recipes-security/scapy/python3-scapy_2.4.3.bb
new file mode 100644
index 000000000..925f188cd
--- /dev/null
+++ b/meta-security/recipes-security/scapy/python3-scapy_2.4.3.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Network scanning and manipulation tool"
+DESCRIPTION = "Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, etc.). It also performs very well at a lot of other specific tasks that most other tools can't handle, like sending invalid frames, injecting your own 802.11 frames, combining technics (VLAN hopping+ARP cache poisoning, VOIP decoding on WEP encrypted channel, ...), etc."
+SECTION = "security"
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+
+SRCREV = "3047580162a9407ef05fe981983cacfa698f1159"
+SRC_URI = "git://github.com/secdev/scapy.git \
+ file://run-ptest"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3 ptest
+
+do_install_append() {
+ mv ${D}${bindir}/scapy ${D}${bindir}/scapy3
+ mv ${D}${bindir}/UTscapy ${D}${bindir}/UTscapy3
+}
+
+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
+}
+
+RDEPENDS_${PN} = "tcpdump ${PYTHON_PN}-compression ${PYTHON_PN}-cryptography ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-netserver ${PYTHON_PN}-pydoc ${PYTHON_PN}-pkgutil ${PYTHON_PN}-shell \
+ ${PYTHON_PN}-threading ${PYTHON_PN}-numbers ${PYTHON_PN}-pycrypto"
diff --git a/meta-security/recipes-security/xmlsec1/xmlsec1_1.2.27.bb b/meta-security/recipes-security/xmlsec1/xmlsec1_1.2.27.bb
deleted file mode 100644
index eac8d6bd4..000000000
--- a/meta-security/recipes-security/xmlsec1/xmlsec1_1.2.27.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "XML Security Library is a C library based on LibXML2"
-DESCRIPTION = "\
- XML Security Library is a C library based on \
- LibXML2 and OpenSSL. The library was created with a goal to support major \
- XML security standards "XML Digital Signature" and "XML Encryption". \
- "
-HOMEPAGE = "http://www.aleksey.com/xmlsec/"
-DEPENDS = "libtool libxml2 libxslt zlib"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=352791d62092ea8104f085042de7f4d0"
-
-SECTION = "libs"
-
-SRC_URI = "http://www.aleksey.com/xmlsec/download/${BP}.tar.gz \
- file://fix-ltmain.sh.patch \
- file://change-finding-path-of-nss.patch \
- file://makefile-ptest.patch \
- file://xmlsec1-examples-allow-build-in-separate-dir.patch \
- file://run-ptest \
- "
-
-SRC_URI[md5sum] = "508bee7e4f1b99f2d50aaa7d38ede56e"
-SRC_URI[sha256sum] = "97d756bad8e92588e6997d2227797eaa900d05e34a426829b149f65d87118eb6"
-
-inherit autotools-brokensep ptest pkgconfig
-
-CFLAGS += "-I${STAGING_INCDIR}/nspr4 -I${STAGING_INCDIR}/nss3"
-CPPFLAGS += "-I${STAGING_INCDIR}/nspr4 -I${STAGING_INCDIR}/nss3"
-
-PACKAGECONFIG ??= "gnutls libgcrypt nss openssl des"
-PACKAGECONFIG[gnutls] = ",,gnutls"
-PACKAGECONFIG[libgcrypt] = ",,libgcrypt"
-PACKAGECONFIG[nss] = "--with-nss=${STAGING_LIBDIR}/../.. --with-nspr=${STAGING_LIBDIR}/../..,,nss nspr"
-PACKAGECONFIG[openssl] = ",,openssl"
-PACKAGECONFIG[des] = ",--disable-des,,"
-
-# these can be dynamically loaded with xmlSecCryptoDLLoadLibrary()
-FILES_SOLIBSDEV = "${libdir}/libxmlsec1.so"
-FILES_${PN} += "${libdir}/libxmlsec1-*.so"
-INSANE_SKIP_${PN} = "dev-so"
-
-FILES_${PN}-dev += "${libdir}/xmlsec1Conf.sh"
-FILES_${PN}-dbg += "${PTEST_PATH}/.debug/*"
-
-RDEPENDS_${PN}-ptest += "${PN}-dev"
-INSANE_SKIP_${PN}-ptest += "dev-deps"
-
-PTEST_EXTRA_ARGS = "top_srcdir=${S} top_builddir=${B}"
-
-do_compile_ptest () {
- oe_runmake -C ${S}/examples ${PTEST_EXTRA_ARGS} all
-}
-
-do_install_append() {
- for i in ${bindir}/xmlsec1-config ${libdir}/xmlsec1Conf.sh \
- ${libdir}/pkgconfig/xmlsec1-openssl.pc; do
- sed -i -e "s@${RECIPE_SYSROOT}@@g" ${D}$i
- done
-}
-
-do_install_ptest () {
- oe_runmake -C ${S}/examples DESTDIR=${D}${PTEST_PATH} ${PTEST_EXTRA_ARGS} install-ptest
-}
diff --git a/meta-security/recipes-support/libldb/libldb/avoid-openldap-unless-wanted.patch b/meta-security/recipes-support/libldb/libldb/avoid-openldap-unless-wanted.patch
deleted file mode 100644
index 8ab094fa7..000000000
--- a/meta-security/recipes-support/libldb/libldb/avoid-openldap-unless-wanted.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/wscript 2015-11-18 12:43:33.000000000 +0100
-+++ b/wscript 2015-11-18 12:46:25.000000000 +0100
-@@ -58,9 +58,7 @@
- if conf.env.standalone_ldb:
- conf.CHECK_XSLTPROC_MANPAGES()
-
-- # we need this for the ldap backend
-- if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'):
-- conf.env.ENABLE_LDAP_BACKEND = True
-+ conf.env.ENABLE_LDAP_BACKEND = False
-
- # we don't want any libraries or modules to rely on runtime
- # resolution of symbols
diff --git a/meta-security/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch b/meta-security/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
deleted file mode 100755
index fdd312c0a..000000000
--- a/meta-security/recipes-support/libldb/libldb/do-not-import-target-module-while-cross-compile.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Some modules such as dynamic library maybe cann't be imported while cross compile,
-we just check whether does the module exist.
-
-Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
-
-Index: ldb-1.1.26/buildtools/wafsamba/samba_bundled.py
-===================================================================
---- ldb-1.1.26.orig/buildtools/wafsamba/samba_bundled.py
-+++ ldb-1.1.26/buildtools/wafsamba/samba_bundled.py
-@@ -2,6 +2,7 @@
-
- import sys
- import Build, Options, Logs
-+import imp, os
- from Configure import conf
- from samba_utils import TO_LIST
-
-@@ -230,17 +231,32 @@ def CHECK_BUNDLED_SYSTEM_PYTHON(conf, li
- # versions
- minversion = minimum_library_version(conf, libname, minversion)
-
-- try:
-- m = __import__(modulename)
-- except ImportError:
-- found = False
-- else:
-+ # Find module in PYTHONPATH
-+ stuff = imp.find_module(modulename, [os.environ["PYTHONPATH"]])
-+ if stuff:
- try:
-- version = m.__version__
-- except AttributeError:
-+ m = imp.load_module(modulename, stuff[0], stuff[1], stuff[2])
-+ except ImportError:
- found = False
-+
-+ if conf.env.CROSS_COMPILE:
-+ # Some modules such as dynamic library maybe cann't be imported
-+ # while cross compile, we just check whether the module exist
-+ Logs.warn('Cross module[%s] has been found, but can not be loaded.' % (stuff[1]))
-+ found = True
- else:
-- found = tuplize_version(version) >= tuplize_version(minversion)
-+ try:
-+ version = m.__version__
-+ except AttributeError:
-+ found = False
-+ else:
-+ found = tuplize_version(version) >= tuplize_version(minversion)
-+ finally:
-+ if stuff[0]:
-+ stuff[0].close()
-+ else:
-+ found = False
-+
- if not found and not conf.LIB_MAY_BE_BUNDLED(libname):
- Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
- sys.exit(1)
diff --git a/meta-security/recipes-support/libldb/libldb/options-1.3.1.patch b/meta-security/recipes-support/libldb/libldb/options-1.3.1.patch
deleted file mode 100644
index ffe253b63..000000000
--- a/meta-security/recipes-support/libldb/libldb/options-1.3.1.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-From a4da3ab4d76013aaa731d43d52ccca1ebd37c395 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 21 Sep 2016 10:06:39 +0800
-Subject: [PATCH 1/1] ldb: Add configure options for packages
-
-Add configure options for the following packages:
- - acl
- - attr
- - libaio
- - libbsd
- - libcap
- - valgrind
-
-Upstream-Status: Inappropriate [oe deterministic build specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- lib/replace/system/wscript_configure | 6 ++-
- lib/replace/wscript | 94 +++++++++++++++++++++++++++---------
- wscript | 7 +++
- 3 files changed, 83 insertions(+), 24 deletions(-)
-
-diff --git a/lib/replace/system/wscript_configure b/lib/replace/system/wscript_configure
-index 2035474..10f9ae7 100644
---- a/lib/replace/system/wscript_configure
-+++ b/lib/replace/system/wscript_configure
-@@ -1,6 +1,10 @@
- #!/usr/bin/env python
-
--conf.CHECK_HEADERS('sys/capability.h')
-+import Options
-+
-+if Options.options.enable_libcap:
-+ conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_FUNCS('getpwnam_r getpwuid_r getpwent_r')
-
- # solaris varients of getXXent_r
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 2f94d49..68b2d3a 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -23,6 +23,41 @@ def set_options(opt):
- opt.PRIVATE_EXTENSION_DEFAULT('')
- opt.RECURSE('buildtools/wafsamba')
-
-+ opt.add_option('--with-acl',
-+ help=("Enable use of acl"),
-+ action="store_true", dest='enable_acl')
-+ opt.add_option('--without-acl',
-+ help=("Disable use of acl"),
-+ action="store_false", dest='enable_acl', default=False)
-+
-+ opt.add_option('--with-attr',
-+ help=("Enable use of attr"),
-+ action="store_true", dest='enable_attr')
-+ opt.add_option('--without-attr',
-+ help=("Disable use of attr"),
-+ action="store_false", dest='enable_attr', default=False)
-+
-+ opt.add_option('--with-libaio',
-+ help=("Enable use of libaio"),
-+ action="store_true", dest='enable_libaio')
-+ opt.add_option('--without-libaio',
-+ help=("Disable use of libaio"),
-+ action="store_false", dest='enable_libaio', default=False)
-+
-+ opt.add_option('--with-libbsd',
-+ help=("Enable use of libbsd"),
-+ action="store_true", dest='enable_libbsd')
-+ opt.add_option('--without-libbsd',
-+ help=("Disable use of libbsd"),
-+ action="store_false", dest='enable_libbsd', default=False)
-+
-+ opt.add_option('--with-libcap',
-+ help=("Enable use of libcap"),
-+ action="store_true", dest='enable_libcap')
-+ opt.add_option('--without-libcap',
-+ help=("Disable use of libcap"),
-+ action="store_false", dest='enable_libcap', default=False)
-+
- @Utils.run_once
- def configure(conf):
- conf.RECURSE('buildtools/wafsamba')
-@@ -32,12 +67,25 @@ def configure(conf):
- conf.DEFINE('HAVE_LIBREPLACE', 1)
- conf.DEFINE('LIBREPLACE_NETWORK_CHECKS', 1)
-
-- conf.CHECK_HEADERS('linux/types.h crypt.h locale.h acl/libacl.h compat.h')
-- conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h')
-+ conf.CHECK_HEADERS('linux/types.h crypt.h locale.h compat.h')
-+ conf.CHECK_HEADERS('compat.h ctype.h dustat.h')
- conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h')
-- conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h')
-- conf.CHECK_HEADERS('shadow.h sys/acl.h')
-- conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h')
-+ conf.CHECK_HEADERS('locale.h ndir.h pwd.h')
-+ conf.CHECK_HEADERS('shadow.h')
-+ conf.CHECK_HEADERS('sys/attributes.h sys/dir.h sys/epoll.h')
-+
-+ if Options.options.enable_acl:
-+ conf.CHECK_HEADERS('acl/libacl.h sys/acl.h')
-+
-+ if Options.options.enable_attr:
-+ conf.CHECK_HEADERS('attr/attributes.h attr/xattr.h')
-+
-+ if Options.options.enable_libaio:
-+ conf.CHECK_HEADERS('libaio.h')
-+
-+ if Options.options.enable_libcap:
-+ conf.CHECK_HEADERS('sys/capability.h')
-+
- conf.CHECK_HEADERS('port.h')
- conf.CHECK_HEADERS('sys/fcntl.h sys/filio.h sys/filsys.h sys/fs/s5param.h sys/fs/vx/quota.h')
- conf.CHECK_HEADERS('sys/id.h sys/ioctl.h sys/ipc.h sys/mman.h sys/mode.h sys/ndir.h sys/priv.h')
-@@ -73,7 +121,9 @@ def configure(conf):
-
- conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H')
-
-- conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+ if Options.options.enable_valgrind:
-+ conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h')
-+
- conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h')
- conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
- conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
-@@ -266,22 +316,20 @@ def configure(conf):
-
- conf.CHECK_FUNCS('prctl dirname basename')
-
-- strlcpy_in_bsd = False
--
-- # libbsd on some platforms provides strlcpy and strlcat
-- if not conf.CHECK_FUNCS('strlcpy strlcat'):
-- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-- checklibc=True):
-- strlcpy_in_bsd = True
-- if not conf.CHECK_FUNCS('getpeereid'):
-- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-- if not conf.CHECK_FUNCS('setproctitle_init'):
-- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
--
-- if not conf.CHECK_FUNCS('closefrom'):
-- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-+ if Options.options.enable_libbsd:
-+ # libbsd on some platforms provides strlcpy and strlcat
-+ if not conf.CHECK_FUNCS('strlcpy strlcat'):
-+ conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-+ checklibc=True)
-+ if not conf.CHECK_FUNCS('getpeereid'):
-+ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
-+ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
-+ if not conf.CHECK_FUNCS('setproctitle_init'):
-+ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
-+
-+ if not conf.CHECK_FUNCS('closefrom'):
-+ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
-
- conf.CHECK_CODE('''
- struct ucred cred;
-@@ -632,7 +680,7 @@ removeea setea
- # look for a method of finding the list of network interfaces
- for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
- bsd_for_strlcpy = ''
-- if strlcpy_in_bsd:
-+ if Options.options.enable_libbsd:
- bsd_for_strlcpy = ' bsd'
- if conf.CHECK_CODE('''
- #define %s 1
-diff --git a/wscript b/wscript
-index 8ae5be3..a178cc4 100644
---- a/wscript
-+++ b/wscript
-@@ -31,6 +31,13 @@ def set_options(opt):
- opt.RECURSE('lib/replace')
- opt.tool_options('python') # options for disabling pyc or pyo compilation
-
-+ opt.add_option('--with-valgrind',
-+ help=("enable use of valgrind"),
-+ action="store_true", dest='enable_valgrind')
-+ opt.add_option('--without-valgrind',
-+ help=("disable use of valgrind"),
-+ action="store_false", dest='enable_valgrind', default=False)
-+
- def configure(conf):
- conf.RECURSE('lib/tdb')
- conf.RECURSE('lib/tevent')
---
-2.16.2
-
diff --git a/meta-security/recipes-support/libldb/libldb_1.3.1.bb b/meta-security/recipes-support/libldb/libldb_1.3.1.bb
deleted file mode 100644
index c644b20b0..000000000
--- a/meta-security/recipes-support/libldb/libldb_1.3.1.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
-HOMEPAGE = "http://ldb.samba.org"
-SECTION = "libs"
-LICENSE = "LGPL-3.0+ & LGPL-2.1+ & GPL-3.0+"
-
-DEPENDS += "libtdb libtalloc libtevent popt"
-RDEPENDS_pyldb += "python"
-
-SRC_URI = "http://samba.org/ftp/ldb/ldb-${PV}.tar.gz \
- file://do-not-import-target-module-while-cross-compile.patch \
- file://options-1.3.1.patch \
- "
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
-"
-PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
-PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
-PACKAGECONFIG[ldap] = ",,openldap"
-PACKAGECONFIG[libaio] = "--with-libaio,--without-libaio,libaio"
-PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
-PACKAGECONFIG[libcap] = "--with-libcap,--without-libcap,libcap"
-PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'ldap', '', 'file://avoid-openldap-unless-wanted.patch', d)}"
-
-LIC_FILES_CHKSUM = "file://pyldb.h;endline=24;md5=dfbd238cecad76957f7f860fbe9adade \
- file://man/ldb.3.xml;beginline=261;endline=262;md5=137f9fd61040c1505d1aa1019663fd08 \
- file://tools/ldbdump.c;endline=19;md5=a7d4fc5d1f75676b49df491575a86a42"
-
-SRC_URI[md5sum] = "e5233f202bca27f6ce8474fb8ae65983"
-SRC_URI[sha256sum] = "b19f2c9f55ae0f46aa5ebaea0bf1a47ec1ac135e1d78af0f6318cf50bf62cbd2"
-
-CROSS_METHOD="exec"
-inherit waf-samba
-
-S = "${WORKDIR}/ldb-${PV}"
-
-EXTRA_OECONF += "--disable-rpath \
- --disable-rpath-install \
- --bundled-libraries=cmocka \
- --builtin-libraries=replace \
- --with-modulesdir=${libdir}/ldb/modules \
- --with-privatelibdir=${libdir}/ldb \
- --with-libiconv=${STAGING_DIR_HOST}${prefix}\
- "
-
-PACKAGES =+ "pyldb pyldb-dbg pyldb-dev"
-
-NOAUTOPACKAGEDEBUG = "1"
-
-FILES_${PN} += "${libdir}/ldb/*"
-FILES_${PN}-dbg += "${bindir}/.debug/* \
- ${libdir}/.debug/* \
- ${libdir}/ldb/.debug/* \
- ${libdir}/ldb/modules/ldb/.debug/*"
-
-FILES_pyldb = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/* \
- ${libdir}/libpyldb-util.so.* \
- "
-FILES_pyldb-dbg = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug \
- ${libdir}/.debug/libpyldb-util.so.*"
-FILES_pyldb-dev = "${libdir}/libpyldb-util.so"
diff --git a/meta-xilinx/meta-xilinx-bsp/README.building.md b/meta-xilinx/meta-xilinx-bsp/README.building.md
index b127db363..230037c17 100644
--- a/meta-xilinx/meta-xilinx-bsp/README.building.md
+++ b/meta-xilinx/meta-xilinx-bsp/README.building.md
@@ -56,33 +56,40 @@ https://github.com/lucaceresoli/zynqmp-pmufw-builder/blob/master/0001-Load-XPm_C
Using multiconfig to build ZU+
------------------------------
-multiconfig dependency has to be added in image file or local.conf.
-For example in core-image-minimal you will need
-do_image[mcdepends] = "multiconfig:zcu102:pmu:pmu-firmware:do_deploy"
+In your local.conf multiconfig should be enabled by:
-Add conf/multiconfig in the build directory and create pmu.conf and zcu102.conf
+`BBMULTICONFIG ?= "pmu"`
-Add the following in pmu.conf:
- MACHINE="zynqmp-pmu"
- DISTRO="xilinx-standalone"
- GCCVERSION="7.%"
- TMPDIR="${TOPDIR}/pmutmp"
+Add a directory conf/multiconfig in the build directory and create pmu.conf inside it.
-Add the following in zcu102.conf:
- MACHINE="zcu102-zynqmp"
- DISTRO="poky"
+Add the following in pmu.conf:
-In local.conf multiconfig is enabled by: BBMULTICONFIG ?= "zcu102 pmu"
+ MACHINE="zynqmp-pmu"
+ DISTRO="xilinx-standalone"
+ TMPDIR="${TOPDIR}/pmutmp"
+
+Add the following in your local.conf
+
+ MACHINE="zcu102-zynqmp"
+ DISTRO="poky"
+
+A multiconfig dependency has to be added in the image recipe or local.conf.
+
+For example in core-image-minimal you would need:
+
+ do_image[mcdepends] = "multiconfig::pmu:pmu-firmware:do_deploy"
+
+This creates a multiconfig dependency between the task do_image from the default multiconfig '' (which has no name)
+to the task do_deploy() from the package pmu-firmware from the pmu multiconfig which was just created above.
+
+ $ bitbake core-image-minimal
+
+This will build both core-image-minimal and pmu-firmware.
-bitbake multiconfig:zcu102:core-image-minimal
More information about multiconfig:
https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#dev-building-images-for-multiple-targets-using-multiple-configurations
-Workaround:
-There is additional workaround required in u-boot-xlnx recipe. Add the below dependency
-do_compile[mcdepends] = "multiconfig:zcu102:pmu:pmu-firmware:do_deploy"
-
Additional Information
----------------------
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass
index be70ffa38..6da28f36f 100644
--- a/meta-xilinx/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass
+++ b/meta-xilinx/meta-xilinx-bsp/classes/kernel-simpleimage.bbclass
@@ -13,10 +13,23 @@ do_prep_simpleimage[dirs] += "${B}"
do_prep_simpleimage () {
install -d ${B}/arch/${ARCH}/boot/dts
for type in ${KERNEL_IMAGETYPES} ; do
- if [[ "${type}" =~ "simpleImage" ]] && [ ${ARCH} = "microblaze" ]; then
+ if [ -z "${type##*simpleImage*}" ] && [ ${ARCH} = "microblaze" ]; then
ext="${type##*.}"
- cp ${RECIPE_SYSROOT}/boot/devicetree/${ext}.dtb ${B}/arch/${ARCH}/boot/dts/
+ # Microblaze simpleImage only works with dts file
+ cp ${RECIPE_SYSROOT}/boot/devicetree/${ext}.dts ${B}/arch/${ARCH}/boot/dts/
fi
done
}
+do_deploy_append () {
+ for type in ${KERNEL_IMAGETYPES} ; do
+ if [ -z "${type##*simpleImage*}" ] && [ ${ARCH} = "microblaze" ]; then
+ base_name=${imageType}-${KERNEL_IMAGE_NAME}
+ install -m 0644 ${KERNEL_OUTPUT_DIR}/${type}.strip $deployDir/${base_name}.strip
+ install -m 0644 ${KERNEL_OUTPUT_DIR}/${type}.unstrip $deployDir/${base_name}.unstrip
+ symlink_name=${imageType}-${KERNEL_IMAGE_LINK_NAME}
+ ln -sf ${base_name}.strip $deployDir/${symlink_name}.strip
+ ln -sf ${base_name}.unstrip $deployDir/${symlink_name}.unstrip
+ fi
+ done
+}
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/xilinx-testimage.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/xilinx-testimage.bbclass
index d9086ec04..0126d8ba8 100644
--- a/meta-xilinx/meta-xilinx-bsp/classes/xilinx-testimage.bbclass
+++ b/meta-xilinx/meta-xilinx-bsp/classes/xilinx-testimage.bbclass
@@ -7,3 +7,5 @@ python do_testimage_prepend () {
supported_fstypes.append('wic.qemu-sd')
}
+IMAGE_AUTOLOGIN = "0"
+IMAGE_FSTYPES = "wic.qemu-sd"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/layer.conf b/meta-xilinx/meta-xilinx-bsp/conf/layer.conf
index fc5116550..437616cf2 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/layer.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/layer.conf
@@ -11,5 +11,7 @@ BBFILE_PRIORITY_xilinx = "5"
LAYERDEPENDS_xilinx = "core"
-LAYERSERIES_COMPAT_xilinx = "sumo thud"
+LAYERSERIES_COMPAT_xilinx = "warrior"
+
+BB_DANGLINGAPPENDS_WARNONLY ?= "1"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
index 153a47fba..1367e57ab 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/machine-xilinx-default.inc
@@ -23,7 +23,9 @@ UBOOT_SUFFIX_microblaze ?= "bin"
UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
UBOOT_ELF ?= "u-boot"
+UBOOT_ELF_zynq ?= "u-boot.elf"
UBOOT_ELF_aarch64 ?= "u-boot.elf"
+UBOOT_ELF_versal ?= "u-boot.elf"
#Hardware accelaration
PREFERRED_PROVIDER_virtual/libgles1_mali400 = "libmali-xlnx"
@@ -32,6 +34,11 @@ PREFERRED_PROVIDER_virtual/egl_mali400 = "libmali-xlnx"
PREFERRED_PROVIDER_virtual/libgl_mali400 = "mesa-gl"
PREFERRED_PROVIDER_virtual/mesa_mali400 = "mesa-gl"
+# microblaze does not get on with pie for reasons not looked into as yet
+GCCPIE_microblaze = ""
+GLIBCPIE_microblaze = ""
+SECURITY_CFLAGS_microblaze = ""
+SECURITY_LDFLAGS_microblaze = ""
XSERVER ?= " \
xserver-xorg \
@@ -77,3 +84,4 @@ XSERVER_EXT_zynqmp ?= "xf86-video-armsoc"
# For MicroBlaze default all microblaze machines to use GDB 7.7.1 (for gdbserver/gdb)
PREFERRED_VERSION_gdb_microblaze = "7.7.1"
+FPGA_MNGR_RECONFIG_ENABLE ?= "${@bb.utils.contains('IMAGE_FEATURES', 'fpga-manager', '1', '0', d)}"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc
index 270e2d937..f7006026a 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/include/tune-zynq.inc
@@ -12,6 +12,7 @@ require conf/machine/include/soc-family.inc
# Linux Configuration
KERNEL_IMAGETYPE ?= "uImage"
+KERNEL_IMAGETYPES += "zImage"
# Set default load address.
# Override with KERNEL_EXTRA_ARGS_<board> += "..." in machine file if required
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
index 73ff40fdd..d79e4efd9 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/kc705-microblazeel.conf
@@ -6,7 +6,7 @@
require conf/machine/include/tune-microblaze.inc
require conf/machine/include/machine-xilinx-default.inc
-TUNE_FEATURES_tune-microblaze += "v10.0 barrel-shift reorder pattern-compare multiply-high divide-hard"
+TUNE_FEATURES_tune-microblaze += "v11.0 barrel-shift reorder pattern-compare multiply-high divide-hard"
MACHINE_FEATURES = ""
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf
new file mode 100644
index 000000000..00aede111
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-mh-div-generic.conf
@@ -0,0 +1,17 @@
+#@TYPE: Machine
+#@NAME: microblazeel-v11.0-bs-cmp-mh-div-generic
+#@DESCRIPTION: microblazeel-v11.0-bs-cmp-mh-div
+
+require conf/machine/include/tune-microblaze.inc
+require conf/machine/include/machine-xilinx-default.inc
+
+TUNE_FEATURES_tune-microblaze += "v11.0 barrel-shift pattern-compare reorder divide-hard multiply-high"
+
+MACHINE_FEATURES = ""
+
+KERNEL_IMAGETYPE = "linux.bin.ub"
+KERNEL_IMAGETYPES = ""
+
+SERIAL_CONSOLE = "115200 ttyS0"
+
+EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf
new file mode 100644
index 000000000..30afbd71b
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microblazeel-v11.0-bs-cmp-ml-generic.conf
@@ -0,0 +1,17 @@
+#@TYPE: Machine
+#@NAME: microblazeel-v11.0-bs-cmp-ml-generic
+#@DESCRIPTION: microblazeel-v11.0-bs-cmp-ml
+
+require conf/machine/include/tune-microblaze.inc
+require conf/machine/include/machine-xilinx-default.inc
+
+TUNE_FEATURES_tune-microblaze += "v11.0 barrel-shift reorder pattern-compare multiply-low"
+
+MACHINE_FEATURES = ""
+
+KERNEL_IMAGETYPE = "linux.bin.ub"
+KERNEL_IMAGETYPES = ""
+
+SERIAL_CONSOLE = "115200 ttyS0"
+
+EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
index 8869424dc..83c5fc1e5 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/microzed-zynq7.conf
@@ -14,6 +14,7 @@ MACHINE_FEATURES = "ext2 vfat usbhost"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
UBOOT_MACHINE = "zynq_microzed_config"
SPL_BINARY ?= "spl/boot.bin"
+UBOOT_ELF_zynq = "u-boot"
EXTRA_IMAGEDEPENDS += " \
u-boot-zynq-uenv \
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
index 911bf90ed..c229dac65 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/picozed-zynq7.conf
@@ -18,6 +18,7 @@ MACHINE_FEATURES = "ext2 vfat usbhost usbgadget"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
UBOOT_MACHINE = "zynq_picozed_config"
SPL_BINARY ?= "spl/boot.bin"
+UBOOT_ELF_zynq = "u-boot"
EXTRA_IMAGEDEPENDS += " \
u-boot-zynq-uenv \
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf
new file mode 100644
index 000000000..51dd2a9d5
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1254-zynqmp.conf
@@ -0,0 +1,38 @@
+#@TYPE: Machine
+#@NAME: zc1254-zynqmp
+#@DESCRIPTION: Machine support for ZC1254 Evaluation Board.
+#
+
+SOC_VARIANT ?= "dr"
+
+require conf/machine/include/tune-zynqmp.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+
+UBOOT_MACHINE = "xilinx_zynqmp_zc1254_revA_defconfig"
+SPL_BINARY ?= "spl/boot.bin"
+
+SERIAL_CONSOLE ?= "115200 ttyPS0"
+
+SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
+
+KERNEL_DEVICETREE = "xilinx/zynqmp-zc1254-revA.dtb"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
+
+PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
+PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ arm-trusted-firmware \
+ virtual/boot-bin \
+ virtual/bootloader \
+ "
+IMAGE_BOOT_FILES += " \
+ uEnv.txt \
+ atf-uboot.ub \
+ "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1275-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1275-zynqmp.conf
new file mode 100644
index 000000000..1e5cd0d7a
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zc1275-zynqmp.conf
@@ -0,0 +1,38 @@
+#@TYPE: Machine
+#@NAME: zc1275-zynqmp
+#@DESCRIPTION: Machine support for ZC1275 Evaluation Board.
+#
+
+SOC_VARIANT ?= "dr"
+
+require conf/machine/include/tune-zynqmp.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+
+UBOOT_MACHINE = "xilinx_zynqmp_zc1275_revB_defconfig"
+SPL_BINARY ?= "spl/boot.bin"
+
+SERIAL_CONSOLE ?= "115200 ttyPS0"
+
+SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
+
+KERNEL_DEVICETREE = "xilinx/zynqmp-zc1275-revB.dtb"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
+
+PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
+PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ arm-trusted-firmware \
+ virtual/boot-bin \
+ virtual/bootloader \
+ "
+IMAGE_BOOT_FILES += " \
+ uEnv.txt \
+ atf-uboot.ub \
+ "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
index fba55a3ee..281110d96 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf
@@ -63,7 +63,7 @@ QB_OPT_APPEND_append_qemuboot-xilinx = " \
# Attach the rootfs disk image to the second SD interface of QEMU (which is SD0)
QB_DEFAULT_FSTYPE_qemuboot-xilinx = "wic.qemu-sd"
-QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=3"
+QB_OPT_APPEND_append_qemuboot-xilinx = " -boot mode=5"
QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"
# PMU instance args
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf
new file mode 100644
index 000000000..068e48903
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf
@@ -0,0 +1,38 @@
+#@TYPE: Machine
+#@NAME: zcu111-zynqmp
+#@DESCRIPTION: Machine support for ZCU111 Evaluation Board.
+#
+
+SOC_VARIANT ?= "dr"
+
+require conf/machine/include/tune-zynqmp.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+
+UBOOT_MACHINE = "xilinx_zynqmp_zcu111_revA_defconfig"
+SPL_BINARY ?= "spl/boot.bin"
+
+SERIAL_CONSOLE ?= "115200 ttyPS0"
+
+SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
+
+KERNEL_DEVICETREE = "xilinx/zynqmp-zcu111-revA.dtb"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
+
+PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
+PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ arm-trusted-firmware \
+ virtual/boot-bin \
+ virtual/bootloader \
+ "
+IMAGE_BOOT_FILES += " \
+ uEnv.txt \
+ atf-uboot.ub \
+ "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf
new file mode 100644
index 000000000..04508540d
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zcu1285-zynqmp.conf
@@ -0,0 +1,38 @@
+#@TYPE: Machine
+#@NAME: zcu1285-zynqmp
+#@DESCRIPTION: Machine support for ZCU1285 Evaluation Board.
+#
+
+SOC_VARIANT ?= "dr"
+
+require conf/machine/include/tune-zynqmp.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+
+UBOOT_MACHINE = "xilinx_zynqmp_zc1275_revB_defconfig"
+SPL_BINARY ?= "spl/boot.bin"
+
+SERIAL_CONSOLE ?= "115200 ttyPS0"
+
+SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
+
+KERNEL_DEVICETREE = "xilinx/zynqmp-zcu1285-revA.dtb"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-xlnx"
+PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-xlnx"
+
+PMU_FIRMWARE_IMAGE_NAME ?= "pmu-firmware-zynqmp-pmu"
+PMU_FIRMWARE_DEPLOY_DIR ?= "${TOPDIR}/pmutmp/deploy/images/zynqmp-pmu"
+
+EXTRA_IMAGEDEPENDS += " \
+ u-boot-zynq-uenv \
+ arm-trusted-firmware \
+ virtual/boot-bin \
+ virtual/bootloader \
+ "
+IMAGE_BOOT_FILES += " \
+ uEnv.txt \
+ atf-uboot.ub \
+ "
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
index 36c51b70b..0b0a0de28 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zedboard-zynq7.conf
@@ -17,6 +17,7 @@ require conf/machine/include/machine-xilinx-default.inc
# u-boot configuration
UBOOT_MACHINE = "zynq_zed_config"
SPL_BINARY ?= "spl/boot.bin"
+UBOOT_ELF_zynq = "u-boot"
EXTRA_IMAGEDEPENDS += " \
u-boot-zynq-uenv \
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
index ba355d568..87634fcc2 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-linux-bd-zynq7.conf
@@ -22,6 +22,7 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
UBOOT_MACHINE = "zynq_zybo_config"
SPL_BINARY ?= "spl/boot.bin"
FORCE_PLATFORM_INIT = "1"
+UBOOT_ELF_zynq = "u-boot"
EXTRA_IMAGEDEPENDS += " \
u-boot-zynq-uenv \
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
index 049add9cc..732fa9435 100644
--- a/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zybo-zynq7.conf
@@ -18,6 +18,7 @@ MACHINE_FEATURES = "ext2 vfat usbhost usbgadget"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
UBOOT_MACHINE = "zynq_zybo_config"
SPL_BINARY ?= "spl/boot.bin"
+UBOOT_ELF_zynq = "u-boot"
EXTRA_IMAGEDEPENDS += " \
u-boot-zynq-uenv \
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf
new file mode 100644
index 000000000..12fd13881
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zynq-generic.conf
@@ -0,0 +1,11 @@
+#@TYPE: Machine
+#@NAME:
+#@DESCRIPTION: zynq devices
+
+require conf/machine/include/tune-zynq.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost usbgadget"
+
+EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
diff --git a/meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf b/meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf
new file mode 100644
index 000000000..98385d251
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/conf/machine/zynqmp-generic.conf
@@ -0,0 +1,15 @@
+#@TYPE: Machine
+#@NAME:
+#@DESCRIPTION: zynqmp devices
+
+require conf/machine/include/tune-zynqmp.inc
+require conf/machine/include/machine-xilinx-overrides.inc
+require conf/machine/include/machine-xilinx-default.inc
+require conf/machine/include/machine-xilinx-qemu.inc
+
+MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"
+
+PREFERRED_PROVIDER_qemu-helper-native = "qemu-xilinx-helper-native"
+
+EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native"
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
index d64fad9cc..785f915ea 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware.inc
@@ -13,7 +13,7 @@ S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
XILINX_RELEASE_VERSION ?= ""
-ATF_VERSION ?= "1.4"
+ATF_VERSION ?= "2.0"
ATF_VERSION_EXTENSION ?= "-xilinx-${XILINX_RELEASE_VERSION}"
PV = "${ATF_VERSION}${ATF_VERSION_EXTENSION}+git${SRCPV}"
@@ -25,9 +25,12 @@ SRC_URI = "${REPO};${BRANCHARG}"
ATF_BASE_NAME ?= "${PN}-${PKGE}-${PKGV}-${PKGR}-${DATETIME}"
ATF_BASE_NAME[vardepsexclude] = "DATETIME"
-COMPATIBLE_MACHINE = "zynqmp"
-PLATFORM_zynqmp = "zynqmp"
+COMPATIBLE_MACHINE ?= "^$"
+COMPATIBLE_MACHINE_zynqmp = ".*"
+COMPATIBLE_MACHINE_versal = ".*"
+PLATFORM_zynqmp = "zynqmp"
+PLATFORM_versal = "versal"
# requires CROSS_COMPILE set by hand as there is no configure script
export CROSS_COMPILE="${TARGET_PREFIX}"
@@ -40,9 +43,13 @@ LD[unexport] = "1"
ATF_CONSOLE ?= ""
ATF_CONSOLE_zynqmp = "cadence"
+ATF_CONSOLE_versal ?= "pl011"
DEBUG ?= ""
+DEBUG_versal ?= "1"
+
EXTRA_OEMAKE_zynqmp_append = "${@' ZYNQMP_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}"
+EXTRA_OEMAKE_append_versal = "${@' VERSAL_CONSOLE=${ATF_CONSOLE}' if d.getVar('ATF_CONSOLE', True) != '' else ''}"
EXTRA_OEMAKE_append = " ${@bb.utils.contains('DEBUG', '1', ' DEBUG=${DEBUG}', '', d)}"
OUTPUT_DIR = "${@bb.utils.contains('DEBUG', '1', '${B}/${PLATFORM}/debug', '${B}/${PLATFORM}/release', d)}"
@@ -53,6 +60,9 @@ ATF_MEM_SIZE ?= ""
EXTRA_OEMAKE_zynqmp_append = "${@' ZYNQMP_ATF_MEM_BASE=${ATF_MEM_BASE}' if d.getVar('ATF_MEM_BASE', True) != '' else ''}"
EXTRA_OEMAKE_zynqmp_append = "${@' ZYNQMP_ATF_MEM_SIZE=${ATF_MEM_SIZE}' if d.getVar('ATF_MEM_SIZE', True) != '' else ''}"
+EXTRA_OEMAKE_append_versal = "${@' VERSAL_ATF_MEM_BASE=${ATF_MEM_BASE}' if d.getVar('ATF_MEM_BASE', True) != '' else ''}"
+EXTRA_OEMAKE_append_versal = "${@' VERSAL_ATF_MEM_SIZE=${ATF_MEM_SIZE}' if d.getVar('ATF_MEM_SIZE', True) != '' else ''}"
+
do_configure() {
oe_runmake clean -C ${S} BUILD_BASE=${B} PLAT=${PLATFORM}
}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2018.3.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2018.3.bb
deleted file mode 100644
index 8c8a5d00c..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2018.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-ATF_VERSION = "1.5"
-XILINX_RELEASE_VERSION = "v2018.3"
-BRANCH ?= "master"
-SRCREV ?= "08560c36ea5b6f48b962cb4bd9a79b35bb3d95ce"
-
-include arm-trusted-firmware.inc
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2019.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2019.1.bb
new file mode 100644
index 000000000..64cbddc4e
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2019.1.bb
@@ -0,0 +1,7 @@
+ATF_VERSION = "2.0"
+XILINX_RELEASE_VERSION = "v2019.1"
+BRANCH ?= "master"
+SRCREV ?= "80d1c79007fda42d4cc0be31b185a1da5799cd4d"
+
+include arm-trusted-firmware.inc
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2018.3.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2019.1.bb
index 6a2ca7cc4..6a2ca7cc4 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2018.3.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/reference-design/kc705-bitstream_2019.1.bb
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc
index 689249f23..737f5f91b 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx.inc
@@ -1,6 +1,6 @@
require recipes-bsp/u-boot/u-boot.inc
-DEPENDS += "bc-native dtc-native"
+DEPENDS += "bc-native dtc-native bison-native"
XILINX_RELEASE_VERSION ?= ""
UBOOT_VERSION_EXTENSION ?= "-xilinx-${XILINX_RELEASE_VERSION}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2018.3/microblaze-kc705-Convert-microblaze-generic-to-k.patch b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2019.1/microblaze-kc705-Convert-microblaze-generic-to-k.patch
index ce8771f82..7e25f87cc 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2018.3/microblaze-kc705-Convert-microblaze-generic-to-k.patch
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2019.1/microblaze-kc705-Convert-microblaze-generic-to-k.patch
@@ -1,26 +1,25 @@
-From 539838b4fe4afecd9b6874c5ac397ab7f5b343d4 Mon Sep 17 00:00:00 2001
-From: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Date: Tue, 10 Apr 2018 18:34:45 -0700
+From afe880f500cff7a9486379c5ad7a4f3379015a62 Mon Sep 17 00:00:00 2001
+From: Jaewon Lee <jaewon.lee@xilinx.com>
+Date: Mon, 14 Jan 2019 11:30:56 -0800
Subject: [PATCH] kc705-microblazeel: Convert microblaze-generic to
kc705-microblazeel
This is an update to earlier kc705-trd patch done by Nathan Rossi.
-Starting from v2016.1, KC705 will no longer refer to deprecated KC705
-TRD application.
Change the microblaze-generic board to match the kc705-microblazeel.
This patch is not intended for upstream and serves as an intermediate
solution until OF support in upstream u-boot allows for easy support for
custom microblaze boards.
+Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Upstream-Status: Not-Upstreamable [meta-xilinx/kc705 specific]
---
arch/microblaze/dts/microblaze-generic.dts | 590 ++++++++++++++++++++++++++++-
- board/xilinx/microblaze-generic/config.mk | 30 +-
- configs/microblaze-generic_defconfig | 57 ++-
- include/configs/microblaze-generic.h | 396 ++++++++-----------
- 4 files changed, 782 insertions(+), 291 deletions(-)
+ board/xilinx/microblaze-generic/config.mk | 28 +-
+ configs/microblaze-generic_defconfig | 75 ++--
+ include/configs/microblaze-generic.h | 348 ++++++++---------
+ 4 files changed, 782 insertions(+), 259 deletions(-)
diff --git a/arch/microblaze/dts/microblaze-generic.dts b/arch/microblaze/dts/microblaze-generic.dts
index 08a1396..f8e616b 100644
@@ -621,17 +620,15 @@ index 08a1396..f8e616b 100644
+};
+
diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk
-index 1dee2d6..cb75fde 100644
+index a953977..cb75fde 100644
--- a/board/xilinx/microblaze-generic/config.mk
+++ b/board/xilinx/microblaze-generic/config.mk
-@@ -1,20 +1,10 @@
+@@ -1,18 +1,10 @@
+-# SPDX-License-Identifier: GPL-2.0+
-#
-# (C) Copyright 2007 - 2016 Michal Simek
-#
-# Michal SIMEK <monstr@monstr.eu>
--#
--# SPDX-License-Identifier: GPL-2.0+
--#
-
-CPU_VER := $(shell echo $(CONFIG_XILINX_MICROBLAZE0_HW_VER))
-
@@ -653,24 +650,27 @@ index 1dee2d6..cb75fde 100644
+PLATFORM_CPPFLAGS += -mxl-pattern-compare
+PLATFORM_CPPFLAGS += -mxl-multiply-high
+PLATFORM_CPPFLAGS += -mno-xl-soft-mul
-+PLATFORM_CPPFLAGS += -mcpu=v10.0
++PLATFORM_CPPFLAGS += -mcpu=v11.0
+PLATFORM_CPPFLAGS += -fgnu89-inline
diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig
-index 08d99f2..bac6939 100644
+index 02e62e2..8d64be4 100644
--- a/configs/microblaze-generic_defconfig
+++ b/configs/microblaze-generic_defconfig
-@@ -1,5 +1,4 @@
+@@ -1,73 +1,58 @@
CONFIG_MICROBLAZE=y
-CONFIG_SYS_TEXT_BASE=0x29000000
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_SPL_SERIAL_SUPPORT=y
-@@ -8,50 +7,50 @@ CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1
+-CONFIG_SPL=y
+ CONFIG_TARGET_MICROBLAZE_GENERIC=y
+ CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1
CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1
CONFIG_XILINX_MICROBLAZE0_USE_DIV=1
CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
+-CONFIG_NR_DRAM_BANKS=1
+CONFIG_SYS_TEXT_BASE=0x80400000
- CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
++CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
-CONFIG_BOOTDELAY=-1
@@ -678,13 +678,14 @@ index 08d99f2..bac6939 100644
-CONFIG_BOOTARGS="root=romfs"
+CONFIG_BOOTDELAY=4
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
--CONFIG_SPL=y
+-CONFIG_DISPLAY_BOARDINFO=y
-CONFIG_SPL_BOARD_INIT=y
-CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_NOR_SUPPORT=y
CONFIG_SPL_OS_BOOT=y
CONFIG_SYS_OS_BASE=0x2c060000
CONFIG_HUSH_PARSER=y
+-# CONFIG_AUTO_COMPLETE is not set
-CONFIG_SYS_PROMPT="U-Boot-mONStR> "
-CONFIG_CMD_IMLS=y
-CONFIG_CMD_SPL=y
@@ -693,50 +694,65 @@ index 08d99f2..bac6939 100644
-CONFIG_CMD_GPIO=y
CONFIG_CMD_SAVES=y
# CONFIG_CMD_SETEXPR is not set
--CONFIG_CMD_TFTPPUT=y
+CONFIG_SYS_ENET=y
+CONFIG_NET=y
+CONFIG_NETDEVICES=y
+CONFIG_CMD_NET=y
CONFIG_CMD_DHCP=y
+-CONFIG_CMD_TFTPPUT=y
+CONFIG_CMD_NFS=y
CONFIG_CMD_MII=y
CONFIG_CMD_PING=y
CONFIG_CMD_JFFS2=y
-CONFIG_SPL_OF_CONTROL=y
CONFIG_OF_EMBED=y
--CONFIG_ENV_IS_IN_FLASH=y
+-CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
-CONFIG_NETCONSOLE=y
-CONFIG_SPL_DM=y
--CONFIG_MTD_NOR_FLASH=y
--CONFIG_PHY_ATHEROS=y
--CONFIG_PHY_BROADCOM=y
--CONFIG_PHY_DAVICOM=y
--CONFIG_PHY_LXT=y
--CONFIG_PHY_MARVELL=y
--CONFIG_PHY_MICREL=y
--CONFIG_PHY_MICREL_KSZ90X1=y
--CONFIG_PHY_NATSEMI=y
--CONFIG_PHY_REALTEK=y
--CONFIG_PHY_VITESSE=y
- CONFIG_DM_ETH=y
++CONFIG_DM_ETH=y
+CONFIG_SYS_MALLOC_F=y
+CONFIG_SYS_GENERIC_BOARD=y
- CONFIG_XILINX_AXIEMAC=y
--CONFIG_XILINX_EMACLITE=y
- CONFIG_SYS_NS16550=y
--CONFIG_XILINX_UARTLITE=y
++CONFIG_XILINX_AXIEMAC=y
++CONFIG_SYS_NS16550=y
+CONFIG_CMD_FLASH=y
+CONFIG_MTD_NOR_FLASH=y
+CONFIG_CMD_IMLS=y
+CONFIG_CMD_GPIO=y
+ CONFIG_DM_GPIO=y
+ CONFIG_XILINX_GPIO=y
+-CONFIG_LED=y
+-CONFIG_LED_GPIO=y
+-CONFIG_MTD_NOR_FLASH=y
+-CONFIG_MTD_DEVICE=y
+-CONFIG_FLASH_CFI_DRIVER=y
+-CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
+-CONFIG_FLASH_CFI_MTD=y
+-CONFIG_SYS_FLASH_PROTECTION=y
+-CONFIG_SYS_FLASH_CFI=y
+-CONFIG_PHY_ATHEROS=y
+-CONFIG_PHY_BROADCOM=y
+-CONFIG_PHY_DAVICOM=y
+-CONFIG_PHY_LXT=y
+-CONFIG_PHY_MARVELL=y
+CONFIG_CMD_TFTPPUT=y
+CONFIG_NETCONSOLE=y
+CONFIG_XILINX_FSL_LINKS=0
+CONFIG_PHY_GIGE=y
+CONFIG_ENV_IS_IN_FLASH=y
-+CONFIG_PHY_MICREL=y
-+CONFIG_PHY_MICREL_KSZ90X1=y
+ CONFIG_PHY_MICREL=y
+ CONFIG_PHY_MICREL_KSZ90X1=y
+-CONFIG_PHY_NATSEMI=y
+-CONFIG_PHY_REALTEK=y
+-CONFIG_PHY_VITESSE=y
+-CONFIG_DM_ETH=y
+-CONFIG_XILINX_AXIEMAC=y
+-CONFIG_XILINX_EMACLITE=y
+-CONFIG_SYS_NS16550=y
+-CONFIG_XILINX_UARTLITE=y
+-CONFIG_SYSRESET_GPIO=y
+-CONFIG_SYSRESET_MICROBLAZE=y
+-CONFIG_WDT=y
+-CONFIG_XILINX_TB_WATCHDOG=y
+CONFIG_SPL_DM_SERIAL=y
+CONFIG_SPL_OF_LIBFDT=y
+CONFIG_PHY_XILINX=y
@@ -745,16 +761,15 @@ index 08d99f2..bac6939 100644
+# CONFIG_BOOTARGS is not set
+# CONFIG_USE_BOOTARGS is not set
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
-index 16481cb..1377c5e 100644
+index ba0952c..fd1da2b 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
-@@ -1,254 +1,178 @@
+@@ -1,205 +1,173 @@
+-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * (C) Copyright 2007-2010 Michal Simek
- *
- * Michal SIMEK <monstr@monstr.eu>
-- *
-- * SPDX-License-Identifier: GPL-2.0+
- */
-
#ifndef __CONFIG_H
@@ -771,17 +786,96 @@ index 16481cb..1377c5e 100644
-#undef SPIFLASH
-#undef RAMENV /* hold environment in flash */
-#else
--#ifdef XILINX_SPI_FLASH_BASEADDR
--#undef FLASH
--#define SPIFLASH
--#undef RAMENV /* hold environment in flash */
--#else
-#undef FLASH
-#undef SPIFLASH
-#define RAMENV /* hold environment in RAM */
-#endif
--#endif
--
++#define CONFIG_SYS_BAUDRATE_TABLE { 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400 }
++
++/* processor - microblaze_0 */
++#define XILINX_USE_MSR_INSTR 1
++#define XILINX_USE_ICACHE 1
++#define XILINX_USE_DCACHE 1
++#define XILINX_DCACHE_BYTE_SIZE 16384
++#define XILINX_PVR 2
++#define MICROBLAZE_V5
++#define CONFIG_CMD_IRQ
++#define CONFIG_DCACHE
++#define CONFIG_ICACHE
++
++/* main_memory - ddr3_sdram */
++
++
++/* uart - rs232_uart */
++#define CONFIG_SYS_NS16550_COM1 ((XILINX_UART16550_BASEADDR & ~0xF) + 0x1000)
++#define CONFIG_SYS_NS16550_REG_SIZE -4
++#define CONSOLE_ARG "console=console=ttyS0,115200\0"
++#define CONFIG_SYS_NS16550_SERIAL
++#define CONFIG_CONS_INDEX 1
++#define ESERIAL0 "eserial0=setenv stdout eserial0;setenv stdin eserial0\0"
++#define SERIAL_MULTI "serial=setenv stdout serial;setenv stdin serial\0"
++#define CONFIG_SYS_NS16550_CLK 200000000
++#define CONFIG_BAUDRATE 115200
++
++/* ethernet - axi_ethernet */
++#define CONFIG_PHY_XILINX
++#define CONFIG_MII
++#define CONFIG_PHY_MARVELL
++#define CONFIG_PHY_NATSEMI
++#define CONFIG_NET_MULTI
++#define CONFIG_PHY_REALTEK
++#define CONFIG_NETCONSOLE 1
++#define CONFIG_SERVERIP 172.25.229.115
++#define CONFIG_IPADDR
++
++/* nor_flash - linear_flash */
++#define CONFIG_SYS_FLASH_BASE 0x60000000
++#define CONFIG_FLASH_END 0x68000000
++#define CONFIG_SYS_MAX_FLASH_SECT 2048
++#define CONFIG_SYS_FLASH_PROTECTION
++#define CONFIG_SYS_FLASH_EMPTY_INFO
++#define CONFIG_SYS_FLASH_CFI
++#define CONFIG_FLASH_CFI_DRIVER
++#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
++#define CONFIG_SYS_MAX_FLASH_BANKS 1
++
++/* timer - axi_timer_0 */
++
++/* intc - microblaze_0_axi_intc */
++
++/* FPGA */
++
++/* Memory testing handling */
++#define CONFIG_SYS_MEMTEST_START 0x80000000
++#define CONFIG_SYS_MEMTEST_END (0x80000000 + 0x1000)
++#define CONFIG_SYS_LOAD_ADDR 0x80000000 /* default load address */
++
++/* global pointer options */
++#define CONFIG_SYS_GBL_DATA_OFFSET (0x40000000 - GENERATED_GBL_DATA_SIZE)
++
++/* Size of malloc() pool */
++#define SIZE 0x100000
++#define CONFIG_SYS_MALLOC_LEN SIZE
++#define CONFIG_SYS_MONITOR_LEN SIZE
++#define CONFIG_SYS_MONITOR_BASE (0x80000000 + CONFIG_SYS_GBL_DATA_OFFSET - CONFIG_SYS_MONITOR_LEN - GENERATED_BD_INFO_SIZE)
++#define CONFIG_SYS_MALLOC_BASE (CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN)
++
++/* stack */
++#define CONFIG_SYS_INIT_SP_OFFSET (CONFIG_SYS_TEXT_BASE - CONFIG_SYS_MALLOC_F_LEN)
++
++/* No of_control support yet*/
++
++/* BOOTP options */
++#define CONFIG_BOOTP_SERVERIP
++#define CONFIG_BOOTP_BOOTFILESIZE
++#define CONFIG_BOOTP_BOOTPATH
++#define CONFIG_BOOTP_GATEWAY
++#define CONFIG_BOOTP_HOSTNAME
++#define CONFIG_BOOTP_MAY_FAIL
++#define CONFIG_BOOTP_DNS
++#define CONFIG_BOOTP_SUBNETMASK
++#define CONFIG_BOOTP_PXE
+
-/* uart */
-/* The following table includes the supported baudrates */
-# define CONFIG_SYS_BAUDRATE_TABLE \
@@ -790,22 +884,6 @@ index 16481cb..1377c5e 100644
-/* setting reset address */
-/*#define CONFIG_SYS_RESET_ADDRESS CONFIG_SYS_TEXT_BASE*/
-
--/* gpio */
--#ifdef XILINX_GPIO_BASEADDR
--# define CONFIG_XILINX_GPIO
--# define CONFIG_SYS_GPIO_0_ADDR XILINX_GPIO_BASEADDR
--#endif
--
--/* watchdog */
--#if defined(XILINX_WATCHDOG_BASEADDR) && defined(XILINX_WATCHDOG_IRQ)
--# define CONFIG_WATCHDOG_BASEADDR XILINX_WATCHDOG_BASEADDR
--# define CONFIG_WATCHDOG_IRQ XILINX_WATCHDOG_IRQ
--# ifndef CONFIG_SPL_BUILD
--# define CONFIG_HW_WATCHDOG
--# define CONFIG_XILINX_TB_WATCHDOG
--# endif
--#endif
--
-#define CONFIG_SYS_MALLOC_LEN 0xC0000
-
-/* Stack location before relocation */
@@ -833,8 +911,6 @@ index 16481cb..1377c5e 100644
-#ifdef FLASH
-# define CONFIG_SYS_FLASH_BASE XILINX_FLASH_START
-# define CONFIG_SYS_FLASH_SIZE XILINX_FLASH_SIZE
--# define CONFIG_SYS_FLASH_CFI 1
--# define CONFIG_FLASH_CFI_DRIVER 1
-/* ?empty sector */
-# define CONFIG_SYS_FLASH_EMPTY_INFO 1
-/* max number of memory banks */
@@ -842,9 +918,7 @@ index 16481cb..1377c5e 100644
-/* max number of sectors on one chip */
-# define CONFIG_SYS_MAX_FLASH_SECT 512
-/* hardware flash protection */
--# define CONFIG_SYS_FLASH_PROTECTION
-/* use buffered writes (20x faster) */
--# define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1
-# ifdef RAMENV
-# define CONFIG_ENV_SIZE 0x1000
-# define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
@@ -859,8 +933,6 @@ index 16481cb..1377c5e 100644
-#else /* !FLASH */
-
-#ifdef SPIFLASH
--# define CONFIG_SYS_SPI_BASE XILINX_SPI_FLASH_BASEADDR
--# define CONFIG_SPI 1
-# define CONFIG_SF_DEFAULT_MODE SPI_MODE_3
-# define CONFIG_SF_DEFAULT_SPEED XILINX_SPI_FLASH_MAX_FREQ
-# define CONFIG_SF_DEFAULT_CS XILINX_SPI_FLASH_CS
@@ -892,139 +964,53 @@ index 16481cb..1377c5e 100644
-#else
-# undef CONFIG_ICACHE
-#endif
--
++/*Command line configuration.*/
++#define CONFIG_CMDLINE_EDITING
++#define CONFIG_AUTO_COMPLETE
+
-#if defined(XILINX_USE_DCACHE)
-# define CONFIG_DCACHE
-#else
-# undef CONFIG_DCACHE
-#endif
--
++/* Miscellaneous configurable options */
++#define CONFIG_SYS_CBSIZE 2048/* Console I/O Buffer Size */
++#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
++#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
+
-#ifndef XILINX_DCACHE_BYTE_SIZE
-#define XILINX_DCACHE_BYTE_SIZE 32768
-#endif
--
+
-/*
- * BOOTP options
- */
-+#define CONFIG_SYS_BAUDRATE_TABLE { 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400 }
-+
-+/* processor - microblaze_0 */
-+#define XILINX_USE_MSR_INSTR 1
-+#define XILINX_USE_ICACHE 1
-+#define XILINX_USE_DCACHE 1
-+#define XILINX_DCACHE_BYTE_SIZE 16384
-+#define XILINX_PVR 2
-+#define MICROBLAZE_V5
-+#define CONFIG_CMD_IRQ
-+#define CONFIG_DCACHE
-+#define CONFIG_ICACHE
-+
-+/* main_memory - ddr3_sdram */
-+
-+
-+/* uart - rs232_uart */
-+#define CONFIG_SYS_NS16550_COM1 ((XILINX_UART16550_BASEADDR & ~0xF) + 0x1000)
-+#define CONFIG_SYS_NS16550_REG_SIZE -4
-+#define CONSOLE_ARG "console=console=ttyS0,115200\0"
-+#define CONFIG_SYS_NS16550_SERIAL
-+#define CONFIG_CONS_INDEX 1
-+#define ESERIAL0 "eserial0=setenv stdout eserial0;setenv stdin eserial0\0"
-+#define SERIAL_MULTI "serial=setenv stdout serial;setenv stdin serial\0"
-+#define CONFIG_SYS_NS16550_CLK 200000000
-+#define CONFIG_BAUDRATE 115200
-+
-+/* ethernet - axi_ethernet */
-+#define CONFIG_PHY_XILINX
-+#define CONFIG_MII
-+#define CONFIG_PHY_MARVELL
-+#define CONFIG_PHY_NATSEMI
-+#define CONFIG_NET_MULTI
-+#define CONFIG_PHY_REALTEK
-+#define CONFIG_NETCONSOLE 1
-+#define CONFIG_SERVERIP 172.25.229.115
-+#define CONFIG_IPADDR
-+
-+/* nor_flash - linear_flash */
-+#define CONFIG_SYS_FLASH_BASE 0x60000000
-+#define CONFIG_FLASH_END 0x68000000
-+#define CONFIG_SYS_MAX_FLASH_SECT 2048
-+#define CONFIG_SYS_FLASH_PROTECTION
-+#define CONFIG_SYS_FLASH_EMPTY_INFO
-+#define CONFIG_SYS_FLASH_CFI
-+#define CONFIG_FLASH_CFI_DRIVER
-+#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
-+#define CONFIG_SYS_MAX_FLASH_BANKS 1
-+
-+/* timer - axi_timer_0 */
-+
-+/* gpio - reset_gpio */
-+#define XILINX_GPIO_BASEADDR 0x40000000
-+#define CONFIG_SYS_GPIO_0_ADDR 0x40000000
-+#define CONFIG_XILINX_GPIO
-+
-+/* intc - microblaze_0_axi_intc */
-+
-+/* FPGA */
-+
-+/* Memory testing handling */
-+#define CONFIG_SYS_MEMTEST_START 0x80000000
-+#define CONFIG_SYS_MEMTEST_END (0x80000000 + 0x1000)
-+#define CONFIG_SYS_LOAD_ADDR 0x80000000 /* default load address */
-+
-+/* global pointer options */
-+#define CONFIG_SYS_GBL_DATA_OFFSET (0x40000000 - GENERATED_GBL_DATA_SIZE)
-+
-+/* Size of malloc() pool */
-+#define SIZE 0x100000
-+#define CONFIG_SYS_MALLOC_LEN SIZE
-+#define CONFIG_SYS_MONITOR_LEN SIZE
-+#define CONFIG_SYS_MONITOR_BASE (0x80000000 + CONFIG_SYS_GBL_DATA_OFFSET - CONFIG_SYS_MONITOR_LEN - GENERATED_BD_INFO_SIZE)
-+#define CONFIG_SYS_MALLOC_BASE (CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN)
-+
-+/* stack */
-+#define CONFIG_SYS_INIT_SP_OFFSET (CONFIG_SYS_TEXT_BASE - CONFIG_SYS_MALLOC_F_LEN)
-+
-+/* No of_control support yet*/
-+
-+/* BOOTP options */
-+#define CONFIG_BOOTP_SERVERIP
- #define CONFIG_BOOTP_BOOTFILESIZE
- #define CONFIG_BOOTP_BOOTPATH
- #define CONFIG_BOOTP_GATEWAY
- #define CONFIG_BOOTP_HOSTNAME
-+#define CONFIG_BOOTP_MAY_FAIL
-+#define CONFIG_BOOTP_DNS
-+#define CONFIG_BOOTP_SUBNETMASK
-+#define CONFIG_BOOTP_PXE
+-#define CONFIG_BOOTP_BOOTFILESIZE
++/* Use the HUSH parser */
++#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
--#if defined(CONFIG_CMD_JFFS2)
--# define CONFIG_MTD_PARTITIONS
--#endif
--
--#if defined(CONFIG_CMD_UBI)
--# define CONFIG_MTD_PARTITIONS
--#endif
--
-#if defined(CONFIG_MTD_PARTITIONS)
-/* MTD partitions */
--#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
--#define CONFIG_FLASH_CFI_MTD
--
++#define CONFIG_ENV_VARS_UBOOT_CONFIG
++#define CONFIG_ENV_OVERWRITE /* Allow to overwrite the u-boot environment variables */
+
-/* default mtd partition table */
-#endif
--
++#define CONFIG_LMB
+
-/* size of console buffer */
-#define CONFIG_SYS_CBSIZE 512
-/* max number of command args */
-#define CONFIG_SYS_MAXARGS 15
--#define CONFIG_SYS_LONGHELP
-/* default load address */
-#define CONFIG_SYS_LOAD_ADDR 0
--
--#define CONFIG_HOSTNAME XILINX_BOARD_NAME
++/* FDT support */
++#define CONFIG_DISPLAY_BOARDINFO_LATE
+
+-#define CONFIG_HOSTNAME "microblaze-generic"
-#define CONFIG_BOOTCOMMAND "base 0;tftp 11000000 image.img;bootm"
--
--/* architecture dependent code */
+
+ /* architecture dependent code */
-#define CONFIG_SYS_USR_EXCEP /* user exception */
-
-#define CONFIG_PREBOOT "echo U-BOOT for ${hostname};setenv preboot;echo"
@@ -1041,66 +1027,8 @@ index 16481cb..1377c5e 100644
- "setenv stdin serial\0"
-#endif
-
-+/*Command line configuration.*/
- #define CONFIG_CMDLINE_EDITING
-+#define CONFIG_AUTO_COMPLETE
-
-/* Enable flat device tree support */
-#define CONFIG_LMB 1
--
--#if defined(CONFIG_XILINX_AXIEMAC)
--# define CONFIG_MII 1
--# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 1
--#else
--# undef CONFIG_MII
--#endif
--
--/* SPL part */
--#define CONFIG_SPL_FRAMEWORK
-+/* Miscellaneous configurable options */
-+#define CONFIG_SYS_CBSIZE 2048/* Console I/O Buffer Size */
-+#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
-+#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
-
--#ifdef CONFIG_SYS_FLASH_BASE
--# define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_FLASH_BASE
--#endif
--
--/* for booting directly linux */
-
--#define CONFIG_SYS_FDT_BASE (CONFIG_SYS_FLASH_BASE + \
-- 0x40000)
--#define CONFIG_SYS_FDT_SIZE (16<<10)
--#define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_TEXT_BASE + \
-- 0x1000000)
-+/* Use the HUSH parser */
-+#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
-
--/* SP location before relocation, must use scratch RAM */
--/* BRAM start */
--#define CONFIG_SYS_INIT_RAM_ADDR 0x0
--/* BRAM size - will be generated */
--#define CONFIG_SYS_INIT_RAM_SIZE 0x100000
-+#define CONFIG_ENV_VARS_UBOOT_CONFIG
-+#define CONFIG_ENV_OVERWRITE /* Allow to overwrite the u-boot environment variables */
-
--# define CONFIG_SPL_STACK_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \
-- CONFIG_SYS_INIT_RAM_SIZE - \
-- CONFIG_SYS_MALLOC_F_LEN)
-+#define CONFIG_LMB
-
--/* Just for sure that there is a space for stack */
--#define CONFIG_SPL_STACK_SIZE 0x100
-+/* FDT support */
-+#define CONFIG_DISPLAY_BOARDINFO_LATE
-
--#define CONFIG_SYS_UBOOT_START CONFIG_SYS_TEXT_BASE
-
--#define CONFIG_SPL_MAX_FOOTPRINT (CONFIG_SYS_INIT_RAM_SIZE - \
-- CONFIG_SYS_INIT_RAM_ADDR - \
-- CONFIG_SYS_MALLOC_F_LEN - \
-- CONFIG_SPL_STACK_SIZE)
-+/* architecture dependent code */
+#define CONFIG_SYS_USR_EXCEP /* user exception */
+#define CONFIG_SYS_HZ 1000
+
@@ -1161,8 +1089,45 @@ index 16481cb..1377c5e 100644
+/* BOOTCOMMAND */
+#define CONFIG_BOOTCOMMAND "run default_bootcmd"
+-#if defined(CONFIG_XILINX_AXIEMAC)
+-# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 1
+ #endif
+-
+-/* SPL part */
+-
+-#ifdef CONFIG_SYS_FLASH_BASE
+-# define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_FLASH_BASE
+-#endif
+-
+-/* for booting directly linux */
+-
+-#define CONFIG_SYS_FDT_BASE (CONFIG_SYS_FLASH_BASE + \
+- 0x40000)
+-#define CONFIG_SYS_FDT_SIZE (16 << 10)
+-#define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_TEXT_BASE + \
+- 0x1000000)
+-
+-/* SP location before relocation, must use scratch RAM */
+-/* BRAM start */
+-#define CONFIG_SYS_INIT_RAM_ADDR 0x0
+-/* BRAM size - will be generated */
+-#define CONFIG_SYS_INIT_RAM_SIZE 0x100000
+-
+-# define CONFIG_SPL_STACK_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \
+- CONFIG_SYS_INIT_RAM_SIZE - \
+- CONFIG_SYS_MALLOC_F_LEN)
+-
+-/* Just for sure that there is a space for stack */
+-#define CONFIG_SPL_STACK_SIZE 0x100
+-
+-#define CONFIG_SYS_UBOOT_START CONFIG_SYS_TEXT_BASE
+-
+-#define CONFIG_SPL_MAX_FOOTPRINT (CONFIG_SYS_INIT_RAM_SIZE - \
+- CONFIG_SYS_INIT_RAM_ADDR - \
+- CONFIG_SYS_MALLOC_F_LEN - \
+- CONFIG_SPL_STACK_SIZE)
+-
-#endif /* __CONFIG_H */
-+#endif
--
-2.7.4
+2.7.5
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb
deleted file mode 100644
index c87672e9e..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-UBOOT_VERSION = "v2018.01"
-XILINX_RELEASE_VERSION = "v2018.3"
-
-UBRANCH ?= "master"
-
-SRCREV ?= "d8fc4b3b70bccf1577dab69f6ddfd4ada9a93bac"
-
-include u-boot-xlnx.inc
-include u-boot-spl-zynq-init.inc
-
-SRC_URI_append_kc705-microblazeel = " file://microblaze-kc705-Convert-microblaze-generic-to-k.patch"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://README;beginline=1;endline=6;md5=157ab8408beab40cd8ce1dc69f702a6c"
-
-# u-boot-xlnx has support for these
-HAS_PLATFORM_INIT ?= " \
- zynq_microzed_config \
- zynq_zed_config \
- zynq_zc702_config \
- zynq_zc706_config \
- zynq_zybo_config \
- xilinx_zynqmp_zcu102_rev1_0_config \
- xilinx_zynqmp_zcu106_revA_config \
- xilinx_zynqmp_zcu104_revC_config \
- xilinx_zynqmp_zcu100_revC_config \
- xilinx_zynqmp_zcu111_revA_config \
- xilinx_zynqmp_zc1275_revA_config \
- xilinx_zynqmp_zc1275_revB_config \
- xilinx_zynqmp_zc1254_revA_config \
- "
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2019.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2019.1.bb
new file mode 100644
index 000000000..3377635df
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2019.1.bb
@@ -0,0 +1,32 @@
+UBOOT_VERSION = "v2019.01"
+XILINX_RELEASE_VERSION = "v2019.1"
+
+UBRANCH ?= "master"
+
+SRCREV ?= "d895ac5e94815d4b45dcf09d4752c5c2334a51db"
+
+include u-boot-xlnx.inc
+include u-boot-spl-zynq-init.inc
+
+SRC_URI_append_kc705-microblazeel = " file://microblaze-kc705-Convert-microblaze-generic-to-k.patch"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
+
+# u-boot-xlnx has support for these
+HAS_PLATFORM_INIT ?= " \
+ zynq_microzed_config \
+ zynq_zed_config \
+ zynq_zc702_config \
+ zynq_zc706_config \
+ zynq_zybo_config \
+ xilinx_zynqmp_zcu102_rev1_0_config \
+ xilinx_zynqmp_zcu106_revA_config \
+ xilinx_zynqmp_zcu104_revC_config \
+ xilinx_zynqmp_zcu100_revC_config \
+ xilinx_zynqmp_zcu111_revA_config \
+ xilinx_zynqmp_zc1275_revA_config \
+ xilinx_zynqmp_zc1275_revB_config \
+ xilinx_zynqmp_zc1254_revA_config \
+ "
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb
new file mode 100644
index 000000000..d2eedd58a
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb
@@ -0,0 +1,81 @@
+SUMMARY = "U-boot boot scripts for Xilinx devices"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+DEPENDS = "u-boot-mkimage-native"
+
+inherit deploy nopackages
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+COMPATIBLE_MACHINE ?= "^$"
+COMPATIBLE_MACHINE_zynqmp = "zynqmp"
+COMPATIBLE_MACHINE_zynq = "zynq"
+COMPATIBLE_MACHINE_versal = "versal"
+
+KERNELDT = "${@os.path.basename(d.getVar('KERNEL_DEVICETREE').split(' ')[0]) if d.getVar('KERNEL_DEVICETREE') else ''}"
+DEVICE_TREE_NAME ?= "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', d.getVar('KERNELDT'), d)}"
+#Need to copy a rootfs.cpio.gz.u-boot as uramdisk.image.gz into boot partition
+RAMDISK_IMAGE ?= ""
+RAMDISK_IMAGE_zynq ?= "uramdisk.image.gz"
+
+KERNEL_BOOTCMD_zynqmp ?= "booti"
+KERNEL_BOOTCMD_zynq ?= "bootm"
+KERNEL_BOOTCMD_versal ?= "booti"
+
+BOOTMODE ?= "sd"
+BOOTMODE_versal ?= "qspi"
+
+SRC_URI = " \
+ file://boot.cmd.sd.zynq \
+ file://boot.cmd.sd.zynqmp \
+ file://boot.cmd.qspi.versal \
+ file://pxeboot.pxe \
+ "
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+UBOOTSCR_BASE_NAME ?= "${PN}-${PKGE}-${PKGV}-${PKGR}-${DATETIME}"
+UBOOTSCR_BASE_NAME[vardepsexclude] = "DATETIME"
+UBOOTPXE_CONFIG ?= "pxelinux.cfg"
+UBOOTPXE_CONFIG_NAME = "${UBOOTPXE_CONFIG}-${DATETIME}"
+UBOOTPXE_CONFIG_NAME[vardepsexclude] = "DATETIME"
+
+DEVICETREE_ADDRESS_zynqmp ?= "0x4000000"
+DEVICETREE_ADDRESS_zynq ?= "0x2000000"
+DEVICETREE_ADDRESS_versal ?= "0x1000"
+KERNEL_LOAD_ADDRESS_zynqmp ?= "0x80000"
+KERNEL_LOAD_ADDRESS_zynq ?= "0x2080000"
+KERNEL_LOAD_ADDRESS_versal ?= "0x80000"
+
+RAMDISK_IMAGE_ADDRESS_zynq ?= "0x4000000"
+RAMDISK_IMAGE_ADDRESS_versal ?= "0x6000000"
+
+do_configure[noexec] = "1"
+do_install[noexec] = "1"
+
+do_compile() {
+ sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
+ -e 's/@@KERNEL_LOAD_ADDRESS@@/${KERNEL_LOAD_ADDRESS}/' \
+ -e 's/@@DEVICE_TREE_NAME@@/${DEVICE_TREE_NAME}/' \
+ -e 's/@@DEVICETREE_ADDRESS@@/${DEVICETREE_ADDRESS}/' \
+ -e 's/@@RAMDISK_IMAGE@@/${RAMDISK_IMAGE}/' \
+ -e 's/@@RAMDISK_IMAGE_ADDRESS@@/${RAMDISK_IMAGE_ADDRESS}/' \
+ -e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
+ "${WORKDIR}/boot.cmd.${BOOTMODE}.${SOC_FAMILY}" > "${WORKDIR}/boot.cmd"
+ mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
+ sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
+ -e 's/@@DEVICE_TREE_NAME@@/${DEVICE_TREE_NAME}/' \
+ "${WORKDIR}/pxeboot.pxe" > "pxeboot.pxe"
+}
+
+
+do_deploy() {
+ install -d ${DEPLOYDIR}
+ install -m 0644 boot.scr ${DEPLOYDIR}/${UBOOTSCR_BASE_NAME}.scr
+ ln -sf ${UBOOTSCR_BASE_NAME}.scr ${DEPLOYDIR}/boot.scr
+ install -d ${DEPLOYDIR}/pxeboot/${UBOOTPXE_CONFIG_NAME}
+ install -m 0644 pxeboot.pxe ${DEPLOYDIR}/pxeboot/${UBOOTPXE_CONFIG_NAME}/default
+ ln -sf pxeboot/${UBOOTPXE_CONFIG_NAME} ${DEPLOYDIR}/${UBOOTPXE_CONFIG}
+}
+
+addtask do_deploy after do_compile before do_build
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi
new file mode 100644
index 000000000..84a25d291
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi
@@ -0,0 +1 @@
+booti 0x80000 0x6000000 0x1000
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi.versal b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi.versal
new file mode 100644
index 000000000..d56b7c8cd
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.qspi.versal
@@ -0,0 +1 @@
+@@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd
new file mode 100644
index 000000000..67a8057be
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd
@@ -0,0 +1,6 @@
+setenv bootargs $bootargs root=/dev/mmcblk0p2 rw rootwait earlycon clk_ignore_unused
+devicetree_image=@@DEVICE_TREE_NAME@@
+fatload mmc 0 ${fdt_addr_r} ${devicetree_image}
+fatload mmc $sdbootdev:$partid ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
+booti ${kernel_addr_r} - ${fdt_addr_r}
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq
new file mode 100644
index 000000000..f593ab4a6
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq
@@ -0,0 +1,4 @@
+fatload mmc 0 @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@
+fatload mmc 0 @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@
+fatload mmc 0 @@RAMDISK_IMAGE_ADDRESS@@ @@RAMDISK_IMAGE@@
+@@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp
new file mode 100644
index 000000000..18f82d784
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp
@@ -0,0 +1,4 @@
+setenv bootargs $bootargs root=/dev/mmcblk0p2 rw rootwait earlycon clk_ignore_unused
+fatload mmc 0 @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@
+fatload mmc $sdbootdev:$partid @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@
+@@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe
new file mode 100644
index 000000000..6d7a0a946
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/pxeboot.pxe
@@ -0,0 +1,3 @@
+LABEL Linux
+KERNEL @@KERNEL_IMAGETYPE@@
+FDT @@DEVICE_TREE_NAME@@
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch
new file mode 100644
index 000000000..8f41f7469
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch
@@ -0,0 +1,56 @@
+From 206d1b9c38daed50fcc08d2e743e649fbb82d60b Mon Sep 17 00:00:00 2001
+From: Laurent Vivier <laurent@vivier.eu>
+Date: Tue, 5 Jun 2018 18:09:58 +0200
+Subject: [PATCH] linux-user: disable qemu-bridge-helper and socket_scm_helper
+ build
+
+linux-user targets don't need them, and if we ask to build statically
+linked binaries, some static libraries they need are not available.
+
+Signed-off-by: Laurent Vivier <laurent@vivier.eu>
+Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
+Message-Id: <20180605160958.5434-1-laurent@vivier.eu>
+
+Upstream-Status: Pending
+
+
+With the split of qemu-xilinx into target,native and system-native recipes,
+we need to avoid duplicating providers for qemu-brigde-helper.
+
+Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
+
+
+---
+ Makefile | 2 +-
+ tests/Makefile.include | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 023b343..e4bc34a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -351,7 +351,7 @@ $(call set-vpath, $(SRC_PATH))
+
+ LIBS+=-lz $(LIBS_TOOLS)
+
+-HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
++HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = qemu-bridge-helper$(EXESUF)
+
+ ifdef BUILD_DOCS
+ DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
+diff --git a/tests/Makefile.include b/tests/Makefile.include
+index d098a10..10397ed 100644
+--- a/tests/Makefile.include
++++ b/tests/Makefile.include
+@@ -930,7 +930,7 @@ check-report.html: check-report.xml
+
+ # Other tests
+
+-QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXESUF)
++QEMU_IOTESTS_HELPERS-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_LINUX)) = tests/qemu-iotests/socket_scm_helper$(EXESUF)
+
+ .PHONY: check-tests/qemu-iotests-quick.sh
+ check-tests/qemu-iotests-quick.sh: tests/qemu-iotests-quick.sh qemu-img$(EXESUF) qemu-io$(EXESUF) $(QEMU_IOTESTS_HELPERS-y)
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch
index 2c92c686f..ba0e27430 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch
@@ -13,15 +13,27 @@ mach_path = tempfile.mkdtemp()
# Separate PMU and APU arguments
APU_args = sys.argv[1:]
-PMU_args = APU_args[APU_args.index('-pmu-args')+1]
-APU_args.remove('-pmu-args')
-APU_args.remove(PMU_args)
-PMU_args = PMU_args.split()
+mbtype=''
-PMU_rom = PMU_args[PMU_args.index('-kernel')+1]
-error_msg = None
+if '-pmu-args' in APU_args:
+ MB_args = APU_args[APU_args.index('-pmu-args')+1]
+ APU_args.remove('-pmu-args')
+ APU_args.remove(MB_args)
+ MB_args = MB_args.split()
+ PMU_rom = MB_args[MB_args.index('-kernel')+1]
+ mbtype='PMU'
+elif '-plm-args' in APU_args:
+ MB_args = APU_args[APU_args.index('-plm-args')+1]
+ APU_args.remove('-plm-args')
+ APU_args.remove(MB_args)
+ MB_args = MB_args.split()
+ mbtype='PLM'
+else:
+ error_msg = '\nMultiarch not setup properly.'
+ sys.exit(error_msg)
-if os.path.exists(PMU_rom):
+error_msg = None
+if (mbtype == 'PMU' and os.path.exists(PMU_rom)) or mbtype == 'PLM':
# We need to switch tcp serial arguments (if they exist, e.g. qemurunner) to get the output correctly
tcp_serial_ports = [i for i, s in enumerate(APU_args) if 'tcp:127.0.0.1:' in s]
@@ -30,16 +42,16 @@ if os.path.exists(PMU_rom):
if len(tcp_serial_ports) == 2:
APU_args[tcp_serial_ports[0]],APU_args[tcp_serial_ports[1]] = APU_args[tcp_serial_ports[1]],APU_args[tcp_serial_ports[0]]
- pmu_cmd = binpath + '/qemu-system-microblazeel ' + ' '.join(PMU_args) + ' -machine-path ' + mach_path
+ mb_cmd = binpath + '/qemu-system-microblazeel ' + ' '.join(MB_args) + ' -machine-path ' + mach_path
apu_cmd = binpath + '/qemu-system-aarch64 ' + ' '.join(APU_args) + ' -machine-path ' + mach_path
# Debug prints
- print('\nPMU instance cmd: %s\n' % pmu_cmd)
+ print('\n%s instance cmd: %s\n' % (mbtype, mb_cmd))
print('APU instance cmd: %s\n' % apu_cmd)
# Invoke QEMU pmu instance
- process_pmu = subprocess.Popen(pmu_cmd, shell=True, stderr=subprocess.PIPE)
+ process_pmu = subprocess.Popen(mb_cmd, shell=True, stderr=subprocess.PIPE)
# Invoke QEMU APU instance
process_apu = subprocess.Popen(apu_cmd, shell=True, stderr=subprocess.PIPE)
@@ -47,8 +59,9 @@ if os.path.exists(PMU_rom):
error_msg = '\nQEMU APU instance failed:\n%s' % process_apu.stderr.read().decode()
else:
- error_msg = '\nError: Missing PMU ROM: %s' % PMU_rom
- error_msg += '\nSee "meta-xilinx/README.qemu.md" for more information on accquiring the PMU ROM.\n'
+ if mbtype == 'PMU':
+ error_msg = '\nError: Missing PMU ROM: %s' % PMU_rom
+ error_msg += '\nSee "meta-xilinx/README.qemu.md" for more information on accquiring the PMU ROM.\n'
shutil.rmtree(mach_path)
sys.exit(error_msg)
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2018.3.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2018.3.bb
deleted file mode 100644
index 6f8eda2f6..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2018.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require qemu-devicetrees.inc
-
-XILINX_RELEASE_VERSION = "v2018.3"
-
-BRANCH ?= "master"
-SRCREV ?= "e3e40b8829894a479c7d7380fc8137886645dda8"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2019.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2019.1.bb
new file mode 100644
index 000000000..064816609
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-devicetrees_2019.1.bb
@@ -0,0 +1,6 @@
+require qemu-devicetrees.inc
+
+XILINX_RELEASE_VERSION = "v2019.1"
+
+BRANCH ?= "branch/xilinx-v2019.1"
+SRCREV ?= "445406ef4d06303f00387f7d81e8718255336fd0"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
index 55b35b53e..ecc965216 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-helper-native_1.0.bb
@@ -20,9 +20,11 @@ FILESEXTRAPATHS_prepend := "${@get_filespath_extra(d, 'recipes-devtools/qemu/qem
PROVIDES += "qemu-helper-native"
# replace qemu with qemu-xilinx
-DEPENDS_remove = "qemu-native"
+DEPENDS_remove = "qemu-system-native"
DEPENDS_append = " \
- qemu-xilinx-native \
+ qemu-xilinx-system-native \
qemu-xilinx-multiarch-helper-native \
"
+RDEPENDS_${PN}_remove = "qemu-system-native"
+RDEPENDS_${PN}_append = " qemu-xilinx-system-native"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc
new file mode 100644
index 000000000..aae607f56
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native.inc
@@ -0,0 +1,7 @@
+require recipes-devtools/qemu/qemu-native.inc
+require qemu-xilinx.inc
+
+DEPENDS = "glib-2.0-native zlib-native"
+
+SRC_URI_remove = "file://0012-fix-libcap-header-issue-on-some-distro.patch"
+SRC_URI_remove = "file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch" \ No newline at end of file
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2019.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2019.1.bb
new file mode 100644
index 000000000..bc5a3850c
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2019.1.bb
@@ -0,0 +1,7 @@
+require qemu-xilinx-native.inc
+BPN = "qemu-xilinx"
+
+EXTRA_OECONF_append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
+
+
+SRC_URI_append = "file://0001-linux-user-disable-qemu-bridge-helper-and-socket_scm.patch"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2019.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2019.1.bb
new file mode 100644
index 000000000..a138704e0
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2019.1.bb
@@ -0,0 +1,16 @@
+require qemu-xilinx-native.inc
+
+EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
+
+PACKAGECONFIG ??= "fdt alsa kvm"
+
+PACKAGECONFIG_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
+
+DEPENDS += "pixman-native qemu-xilinx-native"
+
+do_install_append() {
+ # The following is also installed by qemu-native
+ rm -f ${D}${datadir}/${BPN}/trace-events-all
+ rm -rf ${D}${datadir}/${BPN}/keymaps
+}
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc
index daff5ffc9..ad44f098c 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx.inc
@@ -1,14 +1,19 @@
+SUMMARY = "Xilinx's fork of a fast open source processor emulator"
+HOMEPAGE = "https://github.com/xilinx/qemu/"
+
QEMU_TARGETS = "aarch64 arm microblaze microblazeel"
-require recipes-devtools/qemu/qemu.inc
+XILINX_RELEASE_VERSION = "v2019.1"
+XILINX_QEMU_VERSION ?= "v2.11.1"
+BRANCH ?= "branch/xilinx-v2019.1"
+SRCREV ?= "5f38ea92fb697b94ad43f01fe162f3ed6e6b0e16"
-SUMMARY = "Xilinx's fork of a fast open source processor emulator"
-HOMEPAGE = "https://github.com/xilinx/qemu/"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913 \
"
+DEPENDS = "glib-2.0 zlib pixman"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
@@ -45,5 +50,4 @@ do_configure_prepend() {
do_install_append() {
# Prevent QA warnings about installed ${localstatedir}/run
if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
-}
-
+} \ No newline at end of file
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2018.3.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2018.3.bb
deleted file mode 100644
index 57547dff5..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2018.3.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require qemu-xilinx.inc
-
-XILINX_RELEASE_VERSION = "v2018.3"
-XILINX_QEMU_VERSION ?= "v2.11.0"
-BRANCH ?= "master"
-SRCREV ?= "f70bd86859c7a1a075ac864b4765168f821f1aae"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2019.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2019.1.bb
new file mode 100644
index 000000000..c158b1857
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx_2019.1.bb
@@ -0,0 +1,13 @@
+require recipes-devtools/qemu/qemu.inc
+require qemu-xilinx.inc
+
+BBCLASSEXTEND = "nativesdk"
+
+RDEPENDS_${PN}_class-target += "bash"
+
+EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}"
+EXTRA_OECONF_append_class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
+
+do_install_append_class-nativesdk() {
+ ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
+}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
index 8c6ab3e9f..113710e33 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/libgles/libmali-xlnx.bb
@@ -37,7 +37,7 @@ COMPATIBLE_MACHINE = "^$"
COMPATIBLE_MACHINE_zynqmpeg = "zynqmpeg"
COMPATIBLE_MACHINE_zynqmpev = "zynqmpev"
-PACKAGE_ARCH = "${SOC_FAMILY}${SOC_VARIANT}"
+PACKAGE_ARCH = "${SOC_FAMILY}"
S = "${WORKDIR}/mali-400"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali.bb b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali.bb
index 327f8f09e..fe2fbdcf5 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali.bb
@@ -21,6 +21,9 @@ SRC_URI = " \
file://0009-mali_memory_swap_alloc.c-Rename-global_page_state-wi.patch \
file://0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch \
file://0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch\
+ file://0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch\
+ file://0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch\
+ file://0014-linux-mali_-timer-Get-rid-of-init_timer.patch\
"
SRC_URI[md5sum] = "8f04ae86957fd56197ad5a9d017b84ff"
SRC_URI[sha256sum] = "bfd14fa3f75a71d4ba313534e651ca1c58dc354e882c0b39867e335882a06350"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch
new file mode 100644
index 000000000..24f0a22c4
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch
@@ -0,0 +1,33 @@
+From 779b1883d56804ecd08fe7f57d6c01e3db4e893b Mon Sep 17 00:00:00 2001
+From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
+Date: Wed, 5 Dec 2018 18:07:29 -0800
+Subject: [PATCH 1/3] linux: mali_memory_os_alloc: Remove __GFP_COLD
+
+The support for Cache hot and cold pages are removed from the kernel.
+For more information refer kernel commit 453f85d43fa9ee243f0fc3ac4e1be45615301e3f
+
+Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
+Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
+Upstream Status: Pending
+---
+ driver/src/devicedrv/mali/linux/mali_memory_os_alloc.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/driver/src/devicedrv/mali/linux/mali_memory_os_alloc.c b/driver/src/devicedrv/mali/linux/mali_memory_os_alloc.c
+index 1602371..830e8c6 100644
+--- linux/mali_memory_os_alloc.c
++++ b/linux/mali_memory_os_alloc.c
+@@ -202,7 +202,9 @@ int mali_mem_os_alloc_pages(mali_mem_os_mem *os_mem, u32 size)
+ /* Allocate new pages, if needed. */
+ for (i = 0; i < remaining; i++) {
+ dma_addr_t dma_addr;
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++ gfp_t flags = __GFP_ZERO | __GFP_RETRY_MAYFAIL | __GFP_NOWARN;
++#elif LINUX_VERSION_CODE == KERNEL_VERSION(4, 14, 0)
+ gfp_t flags = __GFP_ZERO | __GFP_RETRY_MAYFAIL | __GFP_NOWARN | __GFP_COLD;
+ #else
+ gfp_t flags = __GFP_ZERO | __GFP_REPEAT | __GFP_NOWARN | __GFP_COLD;
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch
new file mode 100644
index 000000000..c28a83f47
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch
@@ -0,0 +1,34 @@
+From d20b6eb3e48e56558488dbdda98875b1aed0c29f Mon Sep 17 00:00:00 2001
+From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
+Date: Wed, 5 Dec 2018 18:13:28 -0800
+Subject: [PATCH 2/3] linux: mali_memory_secure: Add header file dma-direct.h
+
+Add dma-direct.h header, as API dma_to_phys is defined here.
+refer kernel commit ea8c64ace86647260ec4255f483e5844d62af2df
+
+Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
+Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
+Upstream Status: Pending
+---
+ driver/src/devicedrv/mali/linux/mali_memory_secure.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/driver/src/devicedrv/mali/linux/mali_memory_secure.c b/driver/src/devicedrv/mali/linux/mali_memory_secure.c
+index 2836b1b..4f55fa5 100644
+--- linux/mali_memory_secure.c
++++ b/linux/mali_memory_secure.c
+@@ -13,7 +13,11 @@
+ #include "mali_memory_secure.h"
+ #include "mali_osk.h"
+ #include <linux/mutex.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 16, 0)
++#include <linux/dma-direct.h>
++#else
+ #include <linux/dma-mapping.h>
++#endif
+ #include <linux/dma-buf.h>
+
+ _mali_osk_errcode_t mali_mem_secure_attach_dma_buf(mali_mem_secure *secure_mem, u32 size, int mem_fd)
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch
new file mode 100644
index 000000000..a7c1d5cc6
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch
@@ -0,0 +1,156 @@
+From b6936450484b5aa9dd2438367a907af020341d1d Mon Sep 17 00:00:00 2001
+From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
+Date: Thu, 6 Dec 2018 13:30:44 -0800
+Subject: [PATCH 3/3] linux: mali_*timer: Get rid of init_timer
+
+kernel 4.19 got rid of ancient init_timer. Hence, replace it with
+timer_setup API. For more information refer kernel commit
+7eeb6b893bd28c68b6d664de1d3120e49b855cdb
+
+Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
+Reviewed-by: Hyun Kwon <hyun.kwon@xilinx.com>
+Upstream Status: Pending
+---
+ driver/src/devicedrv/mali/common/mali_control_timer.c | 6 ++++++
+ driver/src/devicedrv/mali/common/mali_group.c | 6 ++++++
+ driver/src/devicedrv/mali/common/mali_osk.h | 15 ++++++++++++++-
+ driver/src/devicedrv/mali/linux/mali_osk_timers.c | 15 ++++++++++++++-
+ 4 files changed, 40 insertions(+), 2 deletions(-)
+
+diff --git a/driver/src/devicedrv/mali/common/mali_control_timer.c b/driver/src/devicedrv/mali/common/mali_control_timer.c
+index 1296ffe..d24b934 100644
+--- common/mali_control_timer.c
++++ b/common/mali_control_timer.c
+@@ -65,11 +65,17 @@ _mali_osk_errcode_t mali_control_timer_init(void)
+ }
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++ mali_control_timer = _mali_osk_timer_init(mali_control_timer_callback);
++#else
+ mali_control_timer = _mali_osk_timer_init();
++#endif
+ if (NULL == mali_control_timer) {
+ return _MALI_OSK_ERR_FAULT;
+ }
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ _mali_osk_timer_setcallback(mali_control_timer, mali_control_timer_callback, NULL);
++#endif
+
+ return _MALI_OSK_ERR_OK;
+ }
+diff --git a/driver/src/devicedrv/mali/common/mali_group.c b/driver/src/devicedrv/mali/common/mali_group.c
+index 5c7b3f4..1702e9a 100644
+--- common/mali_group.c
++++ b/common/mali_group.c
+@@ -65,9 +65,15 @@ struct mali_group *mali_group_create(struct mali_l2_cache_core *core,
+
+ group = _mali_osk_calloc(1, sizeof(struct mali_group));
+ if (NULL != group) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++ group->timeout_timer = _mali_osk_timer_init(mali_group_timeout);
++#else
+ group->timeout_timer = _mali_osk_timer_init();
++#endif
+ if (NULL != group->timeout_timer) {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ _mali_osk_timer_setcallback(group->timeout_timer, mali_group_timeout, (void *)group);
++#endif
+
+ group->l2_cache_core[0] = core;
+ _mali_osk_list_init(&group->group_list);
+diff --git a/driver/src/devicedrv/mali/common/mali_osk.h b/driver/src/devicedrv/mali/common/mali_osk.h
+index a501778..fe93d79 100644
+--- common/mali_osk.h
++++ b/common/mali_osk.h
+@@ -947,7 +947,17 @@ _mali_osk_errcode_t _mali_osk_notification_queue_dequeue(_mali_osk_notification_
+ * asked for.
+ *
+ * @{ */
+-
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++/** @brief Initialize a timer
++ *
++ * Allocates resources for a new timer, and initializes them. This does not
++ * start the timer.
++ *
++ * @param callback Function to call when timer expires
++ * @return a pointer to the allocated timer object, or NULL on failure.
++ */
++_mali_osk_timer_t *_mali_osk_timer_init(_mali_osk_timer_callback_t callback);
++#else
+ /** @brief Initialize a timer
+ *
+ * Allocates resources for a new timer, and initializes them. This does not
+@@ -956,6 +966,7 @@ _mali_osk_errcode_t _mali_osk_notification_queue_dequeue(_mali_osk_notification_
+ * @return a pointer to the allocated timer object, or NULL on failure.
+ */
+ _mali_osk_timer_t *_mali_osk_timer_init(void);
++#endif
+
+ /** @brief Start a timer
+ *
+@@ -1034,6 +1045,7 @@ void _mali_osk_timer_del_async(_mali_osk_timer_t *tim);
+ */
+ mali_bool _mali_osk_timer_pending(_mali_osk_timer_t *tim);
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ /** @brief Set a timer's callback parameters.
+ *
+ * This must be called at least once before a timer is started/modified.
+@@ -1047,6 +1059,7 @@ mali_bool _mali_osk_timer_pending(_mali_osk_timer_t *tim);
+ * @param data Function-specific data to supply to the function on expiry.
+ */
+ void _mali_osk_timer_setcallback(_mali_osk_timer_t *tim, _mali_osk_timer_callback_t callback, void *data);
++#endif
+
+ /** @brief Terminate a timer, and deallocate resources.
+ *
+diff --git a/driver/src/devicedrv/mali/linux/mali_osk_timers.c b/driver/src/devicedrv/mali/linux/mali_osk_timers.c
+index e5d7238..f9b5a86 100644
+--- linux/mali_osk_timers.c
++++ b/linux/mali_osk_timers.c
+@@ -21,13 +21,24 @@
+ struct _mali_osk_timer_t_struct {
+ struct timer_list timer;
+ };
+-
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++typedef void (*timer_timeout_function_t)(struct timer_list *);
++#else
+ typedef void (*timer_timeout_function_t)(unsigned long);
++#endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++_mali_osk_timer_t *_mali_osk_timer_init(_mali_osk_timer_callback_t callback)
++#else
+ _mali_osk_timer_t *_mali_osk_timer_init(void)
++#endif
+ {
+ _mali_osk_timer_t *t = (_mali_osk_timer_t *)kmalloc(sizeof(_mali_osk_timer_t), GFP_KERNEL);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++ if (NULL != t) timer_setup(&t->timer, (timer_timeout_function_t)callback, 0);
++#else
+ if (NULL != t) init_timer(&t->timer);
++#endif
+ return t;
+ }
+
+@@ -62,12 +73,14 @@ mali_bool _mali_osk_timer_pending(_mali_osk_timer_t *tim)
+ return 1 == timer_pending(&(tim->timer));
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
+ void _mali_osk_timer_setcallback(_mali_osk_timer_t *tim, _mali_osk_timer_callback_t callback, void *data)
+ {
+ MALI_DEBUG_ASSERT_POINTER(tim);
+ tim->timer.data = (unsigned long)data;
+ tim->timer.function = (timer_timeout_function_t)callback;
+ }
++#endif
+
+ void _mali_osk_timer_term(_mali_osk_timer_t *tim)
+ {
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend
new file mode 100644
index 000000000..3ddcf0b81
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/xf86-video-armsoc:"
+
+SRC_URI_append = " file://0001-src-drmmode_xilinx-Add-the-dumb-gem-support-for-Xili.patch"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_git.bb b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_git.bb
deleted file mode 100644
index 7a671fe01..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/xorg-driver/xf86-video-armsoc_git.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-SUMMARY = "X.Org X server -- Xilinx ARM SOC display driver"
-DESCRIPTION = "Xilinx ARM SOC display driver "
-
-LICENSE = "MIT-X & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=10ce5de3b111315ea652a5f74ec0c602"
-
-DEPENDS += "virtual/libx11 libdrm xf86driproto"
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-
-PV = "1.4.1+git${SRCPV}"
-
-SRCREV = "8bbdb2ae3bb8ef649999a8da33ddbe11a04763b8"
-SRC_URI = " \
- git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc \
- file://0001-src-drmmode_xilinx-Add-the-dumb-gem-support-for-Xili.patch \
- "
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF = " --enable-maintainer-mode"
-CFLAGS += " -I${STAGING_INCDIR}/xorg "
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
index ec056db4a..54ec3f216 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx.inc
@@ -17,12 +17,21 @@ require recipes-kernel/linux/linux-yocto.inc
require linux-microblaze.inc
DESCRIPTION = "Xilinx Kernel"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+EXTKERNELSRC = "${@'1' if d.getVar('EXTERNALSRC') else ''}"
# Force the use of the KBUILD_DEFCONFIG even if some other defconfig was generated in the ${WORKDIR}
do_kernel_metadata_prepend () {
[ -n "${KBUILD_DEFCONFIG}" ] && [ -e ${WORKDIR}/defconfig ] && rm ${WORKDIR}/defconfig
}
+do_configure_prepend () {
+ if [ -n "${KBUILD_DEFCONFIG}" ] && [ -n "${EXTKERNELSRC}" ]; then
+ cp ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig
+ fi
+}
+
inherit kernel-simpleimage
# Default to be only compatible with specific machines or soc families
@@ -30,12 +39,14 @@ COMPATIBLE_MACHINE ?= "^$"
COMPATIBLE_MACHINE_zynq = ".*"
COMPATIBLE_MACHINE_zynqmp = ".*"
COMPATIBLE_MACHINE_microblaze = ".*"
+COMPATIBLE_MACHINE_versal = ".*"
# Use DEFCONFIGs for configuring linux-xlnx kernels
KCONFIG_MODE ?= "alldefconfig"
KBUILD_DEFCONFIG_zynqmp = "xilinx_zynqmp_defconfig"
KBUILD_DEFCONFIG_zynq = "xilinx_zynq_defconfig"
KBUILD_DEFCONFIG_microblaze = "mmu_defconfig"
+KBUILD_DEFCONFIG_versal = "xilinx_versal_defconfig"
# Add meta-xilinx kmeta, used for MicroBlaze BSP fragments
FILESEXTRAPATHS_prepend := "${THISDIR}:"
@@ -46,5 +57,7 @@ KERNEL_FEATURES_append_kc705-microblazeel = " bsp/kc705-microblazeel/kc705-micro
KERNEL_FEATURES_append_zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' bsp/xilinx/xen.scc', '', d)}"
-KERNEL_FEATURES_append_zynqmp = "${@bb.utils.contains('IMAGE_FEATURES', 'fpga-manager', ' features/overlay/overlay.scc', '', d)}"
+KERNEL_FEATURES_append_zynqmp = "${@' features/overlay/overlay.scc' if d.getVar('FPGA_MNGR_RECONFIG_ENABLE') == '1' else ''}"
+
+KERNEL_FEATURES_append_versal = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' bsp/xilinx/xen.scc', '', d)}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2018.3.bb b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2018.3.bb
deleted file mode 100644
index ade13e32f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2018.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-LINUX_VERSION = "4.14"
-XILINX_RELEASE_VERSION = "v2018.3"
-KBRANCH ?= "xlnx_rebase_v4.14"
-SRCREV ?= "eeab73d1207d6fc2082776c954eb19fd7290bfbe"
-
-include linux-xlnx.inc
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2019.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2019.1.bb
new file mode 100644
index 000000000..5bac31e99
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2019.1.bb
@@ -0,0 +1,7 @@
+LINUX_VERSION = "4.19"
+XILINX_RELEASE_VERSION = "v2019.1"
+KBRANCH ?= "xlnx_rebase_v4.19"
+SRCREV ?= "9811303824b66a8db9a8ec61b570879336a9fde5"
+
+include linux-xlnx.inc
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.cfg b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.cfg
index bf7f316a8..ef6fd6a8d 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.cfg
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/xilinx-kmeta/bsp/kc705-microblazeel/kc705-microblazeel.cfg
@@ -7,7 +7,7 @@ CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1
CONFIG_XILINX_MICROBLAZE0_USE_DIV=1
CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=2
CONFIG_XILINX_MICROBLAZE0_USE_FPU=0
-CONFIG_XILINX_MICROBLAZE0_HW_VER="10.0"
+CONFIG_XILINX_MICROBLAZE0_HW_VER="11.0"
# Memory Base Address
CONFIG_KERNEL_BASE_ADDR=0x80000000
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend
index 44709727c..1a00c61c0 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils%.bbappend
@@ -1,15 +1,32 @@
-FILESEXTRAPATHS_append_microblaze := "${THISDIR}/binutils-2.31:"
+FILESEXTRAPATHS_append_microblaze := "${THISDIR}/binutils-2.32:"
SRC_URI_append_microblaze = " \
- file://0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch \
- file://0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch \
- file://0003-Disable-the-warning-message-for-eh_frame_hdr.patch \
- file://0004-Fix-relaxation-of-assembler-resolved-references.patch \
- file://0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch \
- file://0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch \
- file://0007-Add-MicroBlaze-address-extension-instructions.patch \
- file://0008-Add-new-MicroBlaze-bit-field-instructions.patch \
- file://0009-Fixing-MicroBlaze-IMM-bug.patch \
- file://0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch \
- file://0011-Fixing-MicroBlaze-constant-range-check-issue.patch \
- file://0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch \
- "
+ file://0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch \
+ file://0002-Add-mlittle-endian-and-mbig-endian-flags.patch \
+ file://0003-Disable-the-warning-message-for-eh_frame_hdr.patch \
+ file://0004-Fix-relaxation-of-assembler-resolved-references.patch \
+ file://0005-LOCAL-Fixup-debug_loc-sections-after-linker-relaxati.patch \
+ file://0006-upstream-change-to-garbage-collection-sweep-causes-m.patch \
+ file://0007-Fix-bug-in-TLSTPREL-Relocation.patch \
+ file://0008-Added-Address-extension-instructions.patch \
+ file://0009-fixing-the-MAX_OPCODES-to-correct-value.patch \
+ file://0010-Add-new-bit-field-instructions.patch \
+ file://0011-fixing-the-imm-bug.patch \
+ file://0012-Patch-Microblaze-fixed-bug-in-GCC-so-that-It-will-su.patch \
+ file://0013-fixing-the-constant-range-check-issue.patch \
+ file://0014-Patch-Microblaze-Compiler-will-give-error-messages-i.patch \
+ file://0015-intial-commit-of-MB-64-bit.patch \
+ file://0016-MB-X-initial-commit.patch \
+ file://0017-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch \
+ file://0018-Added-relocations-for-MB-X.patch \
+ file://0019-Fixed-MB-x-relocation-issues.patch \
+ file://0020-Fixing-the-branch-related-issues.patch \
+ file://0021-Fixed-address-computation-issues-with-64bit-address.patch \
+ file://0022-Adding-new-relocation-to-support-64bit-rodata.patch \
+ file://0023-fixing-the-.bss-relocation-issue.patch \
+ file://0024-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch \
+ file://0025-Patch-MicroBlaze-fixed-Build-issue-which-are-due-to-.patch \
+ file://0026-Patch-Microblaze-changes-of-PR22458-failure-to-choos.patch \
+ file://0029-Patch-Microblaze-Binutils-security-check-is-causing-.patch \
+ file://0030-fixing-the-long-long-long-mingw-toolchain-issue.patch \
+ file://0031-fixing-the-_STACK_SIZE-issue-with-the-flto-flag.patch \
+ "
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
deleted file mode 100644
index 878bb3213..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0001-MicroBlaze-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 91f39b692c48336117c092e4afd80899c97779e6 Mon Sep 17 00:00:00 2001
-From: David Holsgrove <david.holsgrove@xilinx.com>
-Date: Mon, 28 Aug 2017 19:53:52 -0700
-Subject: [PATCH] MicroBlaze Add wdc.ext.clear and wdc.ext.flush insns
-
-Added two new instructions, wdc.ext.clear and wdc.ext.flush,
-to enable MicroBlaze to flush an external cache, which is
-used with the new coherency support for multiprocessing.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
-
----
- opcodes/microblaze-opc.h | 5 ++++-
- opcodes/microblaze-opcm.h | 4 ++--
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index ede8af8..773dc81 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -91,6 +91,7 @@
- #define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
- #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
- #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
-+#define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
- #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
-
- /* New Mask for msrset, msrclr insns. */
-@@ -101,7 +102,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 289
-+#define MAX_OPCODES 291
-
- struct op_code_struct
- {
-@@ -174,7 +175,9 @@ struct op_code_struct
- {"wic", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000068, OPCODE_MASK_H34B, wic, special_inst },
- {"wdc", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000064, OPCODE_MASK_H34B, wdc, special_inst },
- {"wdc.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000066, OPCODE_MASK_H34B, wdcclear, special_inst },
-+ {"wdc.ext.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000466, OPCODE_MASK_H35B, wdcextclear, special_inst },
- {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst },
-+ {"wdc.ext.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000476, OPCODE_MASK_H35B, wdcextflush, special_inst },
- {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst },
- {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst },
- {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst },
-diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
-index 92f3f19..7338f6a 100644
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -33,8 +33,8 @@ enum microblaze_instr
- /* 'or/and/xor' are C++ keywords. */
- microblaze_or, microblaze_and, microblaze_xor,
- andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
-- wic, wdc, wdcclear, wdcflush, mts, mfs, mbar, br, brd,
-- brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
-+ wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, mts, mfs, mbar, br,
-+ brd, brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
- bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
- imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
- brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch
deleted file mode 100644
index edeecfd2f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0002-MicroBlaze-add-mlittle-endian-and-mbig-endian-flags.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 8b733a61ab54ba4cedb234020562502d20eebcbb Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Date: Mon, 28 Aug 2017 19:53:53 -0700
-Subject: [PATCH] MicroBlaze add mlittle-endian and mbig-endian flags
-
-Added support in gas for mlittle-endian and mbig-endian flags
-as options.
-
-Updated show usage for MicroBlaze specific assembler options
-to include new entries.
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
-
----
- gas/config/tc-microblaze.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 0194cd9..42dd7ae 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -37,6 +37,8 @@
-
- #define OPTION_EB (OPTION_MD_BASE + 0)
- #define OPTION_EL (OPTION_MD_BASE + 1)
-+#define OPTION_LITTLE (OPTION_MD_BASE + 2)
-+#define OPTION_BIG (OPTION_MD_BASE + 3)
-
- void microblaze_generate_symbol (char *sym);
- static bfd_boolean check_spl_reg (unsigned *);
-@@ -1837,6 +1839,8 @@ struct option md_longopts[] =
- {
- {"EB", no_argument, NULL, OPTION_EB},
- {"EL", no_argument, NULL, OPTION_EL},
-+ {"mlittle-endian", no_argument, NULL, OPTION_LITTLE},
-+ {"mbig-endian", no_argument, NULL, OPTION_BIG},
- { NULL, no_argument, NULL, 0}
- };
-
-@@ -2471,9 +2475,11 @@ md_parse_option (int c, const char * arg ATTRIBUTE_UNUSED)
- switch (c)
- {
- case OPTION_EB:
-+ case OPTION_BIG:
- target_big_endian = 1;
- break;
- case OPTION_EL:
-+ case OPTION_LITTLE:
- target_big_endian = 0;
- break;
- default:
-@@ -2488,6 +2494,9 @@ md_show_usage (FILE * stream ATTRIBUTE_UNUSED)
- /* fprintf(stream, _("\
- MicroBlaze options:\n\
- -noSmall Data in the comm and data sections do not go into the small data section\n")); */
-+ fprintf (stream, _(" MicroBlaze specific assembler options:\n"));
-+ fprintf (stream, " -%-23s%s\n", "mbig-endian", N_("assemble for a big endian cpu"));
-+ fprintf (stream, " -%-23s%s\n", "mlittle-endian", N_("assemble for a little endian cpu"));
- }
-
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0003-Disable-the-warning-message-for-eh_frame_hdr.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
deleted file mode 100644
index aee0c01ef..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From dac72d809be9faf9380b181df0c19a2c6d744c54 Mon Sep 17 00:00:00 2001
-From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
-Date: Mon, 28 Aug 2017 19:53:54 -0700
-Subject: [PATCH] Disable the warning message for eh_frame_hdr
-
-Upstream-Status: Inappropriate [workaround]
-
-Rebased to 2.31
- - Error hanlder changed
-
-Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-
----
- bfd/elf-eh-frame.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-Index: git/bfd/elf-eh-frame.c
-===================================================================
---- git.orig/bfd/elf-eh-frame.c
-+++ git/bfd/elf-eh-frame.c
-@@ -1042,10 +1042,13 @@ _bfd_elf_parse_eh_frame (bfd *abfd, stru
- goto success;
-
- free_no_table:
-- _bfd_error_handler
-+ /* FIXME: Remove the microblaze specifics when relaxing gets fixed. */
-+ if (bfd_get_arch(abfd) != bfd_arch_microblaze) {
- /* xgettext:c-format */
-- (_("error in %pB(%pA); no .eh_frame_hdr table will be created"),
-- abfd, sec);
-+ _bfd_error_handler
-+ (_("error in %pB(%pA); no .eh_frame_hdr table will be created"),
-+ abfd, sec);
-+ }
- hdr_info->u.dwarf.table = FALSE;
- if (sec_info)
- free (sec_info);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch
deleted file mode 100644
index 6cdd2cc2a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0005-Fixup-MicroBlaze-debug_loc-sections-after-linker-rel.patch
+++ /dev/null
@@ -1,243 +0,0 @@
-From 5bf68bc39976903929f730b6eed18686c3563c05 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Date: Mon, 28 Aug 2017 19:53:56 -0700
-Subject: [PATCH] Fixup MicroBlaze debug_loc sections after linker relaxation
-
-Fixup debug_loc sections after linker relaxation Adds a new reloctype
-R_MICROBLAZE_32_NONE, used for passing reloc info from the assembler to
-the linker when the linker manages to fully resolve a local symbol
-reference.
-
-This is a workaround for design flaws in the assembler to
-linker interface with regards to linker relaxation.
-
-08/2018
-Rebased for binutils 2.31
- - Some RELOC_NUMBERs were added upstream, rebased to use 33 instead of 30
-
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
-Signed-off-by: Nagaraju Mekala <nmekala@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
-
-Upstream-Status: Pending
-
----
- bfd/bfd-in2.h | 9 +++++++--
- bfd/elf32-microblaze.c | 45 ++++++++++++++++++++++++++++++++++++++-------
- bfd/libbfd.h | 1 +
- bfd/reloc.c | 6 ++++++
- binutils/readelf.c | 4 ++++
- gas/config/tc-microblaze.c | 5 ++++-
- include/elf/microblaze.h | 1 +
- 7 files changed, 61 insertions(+), 10 deletions(-)
-
-Index: git/bfd/bfd-in2.h
-===================================================================
---- git.orig/bfd/bfd-in2.h
-+++ git/bfd/bfd-in2.h
-@@ -5791,10 +5791,15 @@ value relative to the read-write small d
- expressions of the form "Symbol Op Symbol" */
- BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM,
-
--/* This is a 64 bit reloc that stores the 32 bit pc relative
-+/* This is a 32 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). No relocation is
- done here - only used for relaxing */
-- BFD_RELOC_MICROBLAZE_64_NONE,
-+ BFD_RELOC_MICROBLAZE_32_NONE,
-+
-+/* This is a 64 bit reloc that stores the 32 bit pc relative
-+ * +value in two words (with an imm instruction). No relocation is
-+ * +done here - only used for relaxing */
-+ BFD_RELOC_MICROBLAZE_64_NONE,
-
- /* This is a 64 bit reloc that stores the 32 bit pc relative
- value in two words (with an imm instruction). The relocation is
-Index: git/bfd/elf32-microblaze.c
-===================================================================
---- git.orig/bfd/elf32-microblaze.c
-+++ git/bfd/elf32-microblaze.c
-@@ -176,6 +176,20 @@ static reloc_howto_type microblaze_elf_h
- 0x0000ffff, /* Dest Mask. */
- FALSE), /* PC relative offset? */
-
-+ HOWTO (R_MICROBLAZE_32_NONE, /* Type. */
-+ 0, /* Rightshift. */
-+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
-+ 32, /* Bitsize. */
-+ TRUE, /* PC_relative. */
-+ 0, /* Bitpos. */
-+ complain_overflow_bitfield, /* Complain on overflow. */
-+ NULL, /* Special Function. */
-+ "R_MICROBLAZE_32_NONE",/* Name. */
-+ FALSE, /* Partial Inplace. */
-+ 0, /* Source Mask. */
-+ 0, /* Dest Mask. */
-+ FALSE), /* PC relative offset? */
-+
- /* This reloc does nothing. Used for relaxation. */
- HOWTO (R_MICROBLAZE_64_NONE, /* Type. */
- 0, /* Rightshift. */
-@@ -562,6 +576,9 @@ microblaze_elf_reloc_type_lookup (bfd *
- case BFD_RELOC_NONE:
- microblaze_reloc = R_MICROBLAZE_NONE;
- break;
-+ case BFD_RELOC_MICROBLAZE_32_NONE:
-+ microblaze_reloc = R_MICROBLAZE_32_NONE;
-+ break;
- case BFD_RELOC_MICROBLAZE_64_NONE:
- microblaze_reloc = R_MICROBLAZE_64_NONE;
- break;
-@@ -1918,14 +1935,23 @@ microblaze_elf_relax_section (bfd *abfd,
- }
- break;
- case R_MICROBLAZE_NONE:
-+ case R_MICROBLAZE_32_NONE:
- {
- /* This was a PC-relative instruction that was
- completely resolved. */
- int sfix, efix;
-+ unsigned int val;
- bfd_vma target_address;
- target_address = irel->r_addend + irel->r_offset;
- sfix = calc_fixup (irel->r_offset, 0, sec);
- efix = calc_fixup (target_address, 0, sec);
-+
-+ /* Validate the in-band val. */
-+ val = bfd_get_32 (abfd, contents + irel->r_offset);
-+ if (val != irel->r_addend && ELF32_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
-+ }
-+
- irel->r_addend -= (efix - sfix);
- /* Should use HOWTO. */
- microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
-@@ -1973,12 +1999,16 @@ microblaze_elf_relax_section (bfd *abfd,
- irelscanend = irelocs + o->reloc_count;
- for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
- {
-- if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_NONE)
-+ if (1 && ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_NONE)
- {
- unsigned int val;
-
- isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
-
-+ /* hax: We only do the following fixup for debug location lists. */
-+ if (strcmp(".debug_loc", o->name))
-+ continue;
-+
- /* This was a PC-relative instruction that was completely resolved. */
- if (ocontents == NULL)
- {
-@@ -2003,15 +2033,16 @@ microblaze_elf_relax_section (bfd *abfd,
- }
- }
-
-- irelscan->r_addend -= calc_fixup (irelscan->r_addend
-- + isym->st_value, sec);
- val = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
-+
-+ if (val != irelscan->r_addend) {
-+ fprintf(stderr, "%d: CORRUPT relax reloc! %x %lx\n", __LINE__, val, irelscan->r_addend);
-+ }
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
-+
- microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
- irelscan->r_addend);
- }
-- if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64_NONE) {
-- fprintf(stderr, "Unhandled NONE 64\n");
-- }
- if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
- {
- isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
-@@ -2071,7 +2102,7 @@ microblaze_elf_relax_section (bfd *abfd,
- elf_section_data (o)->this_hdr.contents = ocontents;
- }
- }
-- irelscan->r_addend -= calc_fixup (irel->r_addend
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend
- + isym->st_value,
- 0,
- sec);
-Index: git/bfd/libbfd.h
-===================================================================
---- git.orig/bfd/libbfd.h
-+++ git/bfd/libbfd.h
-@@ -2862,6 +2862,7 @@ static const char *const bfd_reloc_code_
- "BFD_RELOC_MICROBLAZE_32_ROSDA",
- "BFD_RELOC_MICROBLAZE_32_RWSDA",
- "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
-+ "BFD_RELOC_MICROBLAZE_32_NONE",
- "BFD_RELOC_MICROBLAZE_64_NONE",
- "BFD_RELOC_MICROBLAZE_64_GOTPC",
- "BFD_RELOC_MICROBLAZE_64_GOT",
-Index: git/bfd/reloc.c
-===================================================================
---- git.orig/bfd/reloc.c
-+++ git/bfd/reloc.c
-@@ -6865,6 +6865,12 @@ ENUMDOC
- This is a 32 bit reloc for the microblaze to handle
- expressions of the form "Symbol Op Symbol"
- ENUM
-+ BFD_RELOC_MICROBLAZE_32_NONE
-+ENUMDOC
-+ This is a 32 bit reloc that stores the 32 bit pc relative
-+ value in two words (with an imm instruction). No relocation is
-+ done here - only used for relaxing
-+ENUM
- BFD_RELOC_MICROBLAZE_64_NONE
- ENUMDOC
- This is a 64 bit reloc that stores the 32 bit pc relative
-Index: git/binutils/readelf.c
-===================================================================
---- git.orig/binutils/readelf.c
-+++ git/binutils/readelf.c
-@@ -12908,6 +12908,10 @@ is_none_reloc (Filedata * filedata, unsi
- || reloc_type == 32 /* R_AVR_DIFF32. */);
- case EM_METAG:
- return reloc_type == 3; /* R_METAG_NONE. */
-+ case EM_MICROBLAZE:
-+ return reloc_type == 33 /* R_MICROBLAZE_32_NONE. */
-+ || reloc_type == 0 /* R_MICROBLAZE_NONE. */
-+ || reloc_type == 9; /* R_MICROBLAZE_64_NONE. */
- case EM_NDS32:
- return (reloc_type == 0 /* R_XTENSA_NONE. */
- || reloc_type == 204 /* R_NDS32_DIFF8. */
-Index: git/gas/config/tc-microblaze.c
-===================================================================
---- git.orig/gas/config/tc-microblaze.c
-+++ git/gas/config/tc-microblaze.c
-@@ -2201,7 +2201,9 @@ md_apply_fix (fixS * fixP,
- /* This fixup has been resolved. Create a reloc in case the linker
- moves code around due to relaxing. */
- if (fixP->fx_r_type == BFD_RELOC_64_PCREL)
-- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
-+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
-+ else if (fixP->fx_r_type == BFD_RELOC_32)
-+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_32_NONE;
- else
- fixP->fx_r_type = BFD_RELOC_NONE;
- fixP->fx_addsy = section_symbol (absolute_section);
-@@ -2426,6 +2428,7 @@ tc_gen_reloc (asection * section ATTRIBU
- switch (fixp->fx_r_type)
- {
- case BFD_RELOC_NONE:
-+ case BFD_RELOC_MICROBLAZE_32_NONE:
- case BFD_RELOC_MICROBLAZE_64_NONE:
- case BFD_RELOC_32:
- case BFD_RELOC_MICROBLAZE_32_LO:
-Index: git/include/elf/microblaze.h
-===================================================================
---- git.orig/include/elf/microblaze.h
-+++ git/include/elf/microblaze.h
-@@ -61,6 +61,7 @@ START_RELOC_NUMBERS (elf_microblaze_relo
- RELOC_NUMBER (R_MICROBLAZE_TEXTPCREL_64, 30) /* PC-relative TEXT offset. */
- RELOC_NUMBER (R_MICROBLAZE_TEXTREL_64, 31) /* TEXT Entry offset 64-bit. */
- RELOC_NUMBER (R_MICROBLAZE_TEXTREL_32_LO, 32) /* TEXT Entry offset 32-bit. */
-+ RELOC_NUMBER (R_MICROBLAZE_32_NONE, 33)
- END_RELOC_NUMBERS (R_MICROBLAZE_max)
-
- /* Global base address names. */
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch
deleted file mode 100644
index 8d3d5387b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0006-Fix-bug-in-MicroBlaze-TLSTPREL-Relocation.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ca0336a49c33ccb78962530f2affff8982027e8e Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Date: Mon, 28 Aug 2017 19:53:58 -0700
-Subject: [PATCH] Fix bug in MicroBlaze TLSTPREL Relocation
-
-Fixed the problem related to the fixup/relocations TLSTPREL.
-When the fixup is applied the addend is not added at the correct offset
-of the instruction. The offset is hard coded considering its big endian
-and it fails for Little endian. This patch allows support for both
-big & little-endian compilers
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
-
----
- bfd/elf32-microblaze.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index 1dc56f7..d4e53de 100644
---- a/bfd/elf32-microblaze.c
-+++ b/bfd/elf32-microblaze.c
-@@ -1451,9 +1451,9 @@ microblaze_elf_relocate_section (bfd *output_bfd,
- relocation += addend;
- relocation -= dtprel_base(info);
- bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
-- contents + offset + 2);
-+ contents + offset + endian);
- bfd_put_16 (input_bfd, relocation & 0xffff,
-- contents + offset + 2 + INST_WORD_SIZE);
-+ contents + offset + endian + INST_WORD_SIZE);
- break;
- case (int) R_MICROBLAZE_TEXTREL_64:
- case (int) R_MICROBLAZE_TEXTREL_32_LO:
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0007-Add-MicroBlaze-address-extension-instructions.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0007-Add-MicroBlaze-address-extension-instructions.patch
deleted file mode 100644
index 9672c5169..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0007-Add-MicroBlaze-address-extension-instructions.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 3895968b5c55321d203cadb7630a2baee8699e17 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Date: Mon, 28 Aug 2017 19:53:59 -0700
-Subject: [PATCH] Add MicroBlaze address extension instructions
-
-This patch adds the support of new instructions which are required
-for supporting Address extension feature.
-
-2016-01-18 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-
- * microblaze-opc.h (op_code_struct): Added new instructions
- * microblaze-opcm.h (microblaze_instr): Added new instructions
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
-
----
- opcodes/microblaze-opc.h | 13 ++++++++++++-
- opcodes/microblaze-opcm.h | 10 +++++-----
- 2 files changed, 17 insertions(+), 6 deletions(-)
-
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index 773dc81..4e69f76 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -102,7 +102,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 291
-+#define MAX_OPCODES 299
-
- struct op_code_struct
- {
-@@ -178,8 +178,11 @@ struct op_code_struct
- {"wdc.ext.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000466, OPCODE_MASK_H35B, wdcextclear, special_inst },
- {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst },
- {"wdc.ext.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000476, OPCODE_MASK_H35B, wdcextflush, special_inst },
-+ {"wdc.clear.ea", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900000E6, OPCODE_MASK_H34B, wdcclearea, special_inst },
- {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst },
-+ {"mtse", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9500C000, OPCODE_MASK_H13S, mtse,special_inst },
- {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst },
-+ {"mfse", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94088000, OPCODE_MASK_H23S, mfse, special_inst },
- {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst },
- {"brd", INST_TYPE_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98100000, OPCODE_MASK_H124, brd, branch_inst },
- {"brld", INST_TYPE_RD_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98140000, OPCODE_MASK_H24, brld, branch_inst },
-@@ -229,18 +232,24 @@ struct op_code_struct
- {"bgeid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBEA00000, OPCODE_MASK_H1, bgeid, branch_inst },
- {"lbu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000000, OPCODE_MASK_H4, lbu, memory_load_inst },
- {"lbur", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000200, OPCODE_MASK_H4, lbur, memory_load_inst },
-+ {"lbuea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000080, OPCODE_MASK_H4, lbuea, memory_load_inst },
- {"lhu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000000, OPCODE_MASK_H4, lhu, memory_load_inst },
- {"lhur", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000200, OPCODE_MASK_H4, lhur, memory_load_inst },
-+ {"lhuea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000080, OPCODE_MASK_H4, lhuea, memory_load_inst },
- {"lw", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000000, OPCODE_MASK_H4, lw, memory_load_inst },
- {"lwr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000200, OPCODE_MASK_H4, lwr, memory_load_inst },
- {"lwx", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000400, OPCODE_MASK_H4, lwx, memory_load_inst },
-+ {"lwea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000080, OPCODE_MASK_H4, lwea, memory_load_inst },
- {"sb", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000000, OPCODE_MASK_H4, sb, memory_store_inst },
- {"sbr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000200, OPCODE_MASK_H4, sbr, memory_store_inst },
-+ {"sbea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000080, OPCODE_MASK_H4, sbea, memory_store_inst },
- {"sh", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000000, OPCODE_MASK_H4, sh, memory_store_inst },
- {"shr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000200, OPCODE_MASK_H4, shr, memory_store_inst },
-+ {"shea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000080, OPCODE_MASK_H4, shea, memory_store_inst },
- {"sw", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000000, OPCODE_MASK_H4, sw, memory_store_inst },
- {"swr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000200, OPCODE_MASK_H4, swr, memory_store_inst },
- {"swx", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000400, OPCODE_MASK_H4, swx, memory_store_inst },
-+ {"swea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000080, OPCODE_MASK_H4, swea, memory_store_inst },
- {"lbui", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE0000000, OPCODE_MASK_H, lbui, memory_load_inst },
- {"lhui", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE4000000, OPCODE_MASK_H, lhui, memory_load_inst },
- {"lwi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, lwi, memory_load_inst },
-@@ -405,6 +414,8 @@ struct op_code_struct
- {"clz", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900000E0, OPCODE_MASK_H34, clz, special_inst },
- {"mbar", INST_TYPE_IMM5, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8020004, OPCODE_MASK_HN, mbar, special_inst },
- {"sleep", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBA020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 16. */
-+ {"hibernate", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB9020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 8. */
-+ {"suspend", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBB020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 24. */
- {"swapb", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E0, OPCODE_MASK_H4, swapb, arithmetic_inst },
- {"swaph", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E2, OPCODE_MASK_H4, swaph, arithmetic_inst },
- {"", 0, 0, 0, 0, 0, 0, 0, 0},
-diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
-index 7338f6a..c75f10a 100644
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -33,13 +33,13 @@ enum microblaze_instr
- /* 'or/and/xor' are C++ keywords. */
- microblaze_or, microblaze_and, microblaze_xor,
- andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
-- wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, mts, mfs, mbar, br,
-- brd, brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
-- bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
-+ wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, wdcclearea, mts, mtse,
-+ mfs, mfse, mbar, br, brd, brld, bra, brad, brald, microblaze_brk, beq, beqd,
-+ bne, bned, blt, bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
- imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
- brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
-- bgtid, bgei, bgeid, lbu, lbur, lhu, lhur, lw, lwr, lwx, sb, sbr, sh,
-- shr, sw, swr, swx, lbui, lhui, lwi,
-+ bgtid, bgei, bgeid, lbu, lbuea, lbur, lhu, lhuea, lhur, lw, lwea, lwr, lwx,
-+ sb, sbea, sbr, sh, shea, shr, sw, swea, swr, swx, lbui, lhui, lwi,
- sbi, shi, swi, msrset, msrclr, tuqula, fadd, frsub, fmul, fdiv,
- fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt,
- fint, fsqrt,
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0008-Add-new-MicroBlaze-bit-field-instructions.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0008-Add-new-MicroBlaze-bit-field-instructions.patch
deleted file mode 100644
index 0bc011779..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0008-Add-new-MicroBlaze-bit-field-instructions.patch
+++ /dev/null
@@ -1,232 +0,0 @@
-From 5c4dacaae2ba93569c1d37cda9859c57d6649dc0 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Date: Mon, 28 Aug 2017 19:54:01 -0700
-Subject: [PATCH] Add new MicroBlaze bit-field instructions
-
-This patches adds new bsefi and bsifi instructions. BSEFI- The
-instruction shall extract a bit field from a register and place it
-right-adjusted in the destination register. The other bits in the
-destination register shall be set to zero BSIFI- The instruction shall
-insert a right-adjusted bit field from a register at another position in
-the destination register. The rest of the bits in the destination
-register shall be unchanged
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gas/config/tc-microblaze.c | 71 +++++++++++++++++++++++++++++++++++++++++++++-
- opcodes/microblaze-dis.c | 16 +++++++++++
- opcodes/microblaze-opc.h | 12 +++++++-
- opcodes/microblaze-opcm.h | 6 +++-
- 4 files changed, 102 insertions(+), 3 deletions(-)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index e135547e62..34cb80fac2 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -909,7 +909,7 @@ md_assemble (char * str)
- unsigned reg2;
- unsigned reg3;
- unsigned isize;
-- unsigned int immed, temp;
-+ unsigned int immed, immed2, temp;
- expressionS exp;
- char name[20];
-
-@@ -1164,7 +1164,76 @@ md_assemble (char * str)
- inst |= (reg2 << RA_LOW) & RA_MASK;
- inst |= (immed << IMM_LOW) & IMM5_MASK;
- break;
-+ case INST_TYPE_RD_R1_IMM5_IMM5:
-+ if (strcmp (op_end, ""))
-+ op_end = parse_reg (op_end + 1, &reg1); /* Get rd. */
-+ else
-+ {
-+ as_fatal (_("Error in statement syntax"));
-+ reg1 = 0;
-+ }
-+ if (strcmp (op_end, ""))
-+ op_end = parse_reg (op_end + 1, &reg2); /* Get r1. */
-+ else
-+ {
-+ as_fatal (_("Error in statement syntax"));
-+ reg2 = 0;
-+ }
-+
-+ /* Check for spl registers. */
-+ if (check_spl_reg (&reg1))
-+ as_fatal (_("Cannot use special register with this instruction"));
-+ if (check_spl_reg (&reg2))
-+ as_fatal (_("Cannot use special register with this instruction"));
-
-+ /* Width immediate value. */
-+ if (strcmp (op_end, ""))
-+ op_end = parse_imm (op_end + 1, &exp, MIN_IMM_WIDTH, MAX_IMM_WIDTH);
-+ else
-+ as_fatal (_("Error in statement syntax"));
-+ if (exp.X_op != O_constant)
-+ {
-+ as_warn (_("Symbol used as immediate width value for bit field instruction"));
-+ immed = 1;
-+ }
-+ else
-+ immed = exp.X_add_number;
-+ if (opcode->instr == bsefi && immed > 31)
-+ as_fatal (_("Width value must be less than 32"));
-+
-+ /* Shift immediate value. */
-+ if (strcmp (op_end, ""))
-+ op_end = parse_imm (op_end + 1, &exp, MIN_IMM, MAX_IMM);
-+ else
-+ as_fatal (_("Error in statement syntax"));
-+ if (exp.X_op != O_constant)
-+ {
-+ as_warn (_("Symbol used as immediate shift value for bit field instruction"));
-+ immed2 = 0;
-+ }
-+ else
-+ {
-+ output = frag_more (isize);
-+ immed2 = exp.X_add_number;
-+ }
-+ if (immed2 != (immed2 % 32))
-+ {
-+ as_warn (_("Shift value greater than 32. using <value %% 32>"));
-+ immed2 = immed2 % 32;
-+ }
-+
-+ /* Check combined value. */
-+ if (immed + immed2 > 32)
-+ as_fatal (_("Width value + shift value must not be greater than 32"));
-+
-+ inst |= (reg1 << RD_LOW) & RD_MASK;
-+ inst |= (reg2 << RA_LOW) & RA_MASK;
-+ if (opcode->instr == bsefi)
-+ inst |= (immed & IMM5_MASK) << IMM_WIDTH_LOW; /* bsefi */
-+ else
-+ inst |= ((immed + immed2 - 1) & IMM5_MASK) << IMM_WIDTH_LOW; /* bsifi */
-+ inst |= (immed2 << IMM_LOW) & IMM5_MASK;
-+ break;
- case INST_TYPE_R1_R2:
- if (strcmp (op_end, ""))
- op_end = parse_reg (op_end + 1, &reg1); /* Get r1. */
-diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c
-index 6a174b0eb9..80a47ad2fc 100644
---- a/opcodes/microblaze-dis.c
-+++ b/opcodes/microblaze-dis.c
-@@ -73,6 +73,18 @@ get_field_imm5_mbar (long instr)
- return(strdup(tmpstr));
- }
-
-+static char *
-+get_field_imm5width (long instr)
-+{
-+ char tmpstr[25];
-+
-+ if (instr & 0x00004000)
-+ sprintf (tmpstr, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW))); /* bsefi */
-+ else
-+ sprintf (tmpstr, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW) - ((instr & IMM5_MASK) >> IMM_LOW) + 1)); /* bsifi */
-+ return (strdup (tmpstr));
-+}
-+
- static char *
- get_field_rfsl (long instr)
- {
-@@ -396,6 +408,10 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
- /* For mbar 16 or sleep insn. */
- case INST_TYPE_NONE:
- break;
-+ /* For bit field insns. */
-+ case INST_TYPE_RD_R1_IMM5_IMM5:
-+ print_func (stream, "\t%s, %s, %s, %s", get_field_rd (inst),get_field_r1(inst),get_field_imm5width (inst), get_field_imm5 (inst));
-+ break;
- /* For tuqula instruction */
- case INST_TYPE_RD:
- print_func (stream, "\t%s", get_field_rd (inst));
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index a64f8362da..afb34989d9 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -59,6 +59,9 @@
- /* For mbar. */
- #define INST_TYPE_IMM5 20
-
-+/* For bsefi and bsifi */
-+#define INST_TYPE_RD_R1_IMM5_IMM5 21
-+
- #define INST_TYPE_NONE 25
-
-
-@@ -89,7 +92,9 @@
- #define OPCODE_MASK_H124 0xFFFF07FF /* High 16, and low 11 bits. */
- #define OPCODE_MASK_H1234 0xFFFFFFFF /* All 32 bits. */
- #define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
-+#define OPCODE_MASK_H3B 0xFC00C600 /* High 6 bits and bits 16, 17, 21, 22. */
- #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
-+#define OPCODE_MASK_H32B 0xFC00C000 /* High 6 bits and bit 16, 17. */
- #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
- #define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
- #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
-@@ -102,7 +107,7 @@
- #define DELAY_SLOT 1
- #define NO_DELAY_SLOT 0
-
--#define MAX_OPCODES 299
-+#define MAX_OPCODES 301
-
- struct op_code_struct
- {
-@@ -159,6 +164,8 @@ struct op_code_struct
- {"bslli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3, bslli, barrel_shift_inst },
- {"bsrai", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3, bsrai, barrel_shift_inst },
- {"bsrli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3, bsrli, barrel_shift_inst },
-+ {"bsefi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
-+ {"bsifi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
- {"or", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000000, OPCODE_MASK_H4, microblaze_or, logical_inst },
- {"and", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x84000000, OPCODE_MASK_H4, microblaze_and, logical_inst },
- {"xor", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000000, OPCODE_MASK_H4, microblaze_xor, logical_inst },
-@@ -438,5 +445,8 @@ char pvr_register_prefix[] = "rpvr";
- #define MIN_IMM5 ((int) 0x00000000)
- #define MAX_IMM5 ((int) 0x0000001f)
-
-+#define MIN_IMM_WIDTH ((int) 0x00000001)
-+#define MAX_IMM_WIDTH ((int) 0x00000020)
-+
- #endif /* MICROBLAZE_OPC */
-
-diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
-index 21a3dc8d76..dd6be7f65c 100644
---- a/opcodes/microblaze-opcm.h
-+++ b/opcodes/microblaze-opcm.h
-@@ -29,7 +29,7 @@ enum microblaze_instr
- addi, rsubi, addic, rsubic, addik, rsubik, addikc, rsubikc, mul,
- mulh, mulhu, mulhsu,swapb,swaph,
- idiv, idivu, bsll, bsra, bsrl, get, put, nget, nput, cget, cput,
-- ncget, ncput, muli, bslli, bsrai, bsrli, mului,
-+ ncget, ncput, muli, bslli, bsrai, bsrli, bsefi, bsifi, mului,
- /* 'or/and/xor' are C++ keywords. */
- microblaze_or, microblaze_and, microblaze_xor,
- andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
-@@ -129,6 +129,7 @@ enum microblaze_instr_type
- #define RB_LOW 11 /* Low bit for RB. */
- #define IMM_LOW 0 /* Low bit for immediate. */
- #define IMM_MBAR 21 /* low bit for mbar instruction. */
-+#define IMM_WIDTH_LOW 6 /* Low bit for immediate width */
-
- #define RD_MASK 0x03E00000
- #define RA_MASK 0x001F0000
-@@ -141,6 +142,9 @@ enum microblaze_instr_type
- /* Imm mask for mbar. */
- #define IMM5_MBAR_MASK 0x03E00000
-
-+/* Imm mask for extract/insert width. */
-+#define IMM5_WIDTH_MASK 0x000007C0
-+
- /* FSL imm mask for get, put instructions. */
- #define RFSL_MASK 0x000000F
-
---
-2.15.0
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0009-Fixing-MicroBlaze-IMM-bug.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0009-Fixing-MicroBlaze-IMM-bug.patch
deleted file mode 100644
index bb7e91ccb..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0009-Fixing-MicroBlaze-IMM-bug.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From f649406ccaea992f3931e0d9ca9fbd6efb0c553b Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Date: Mon, 28 Aug 2017 19:54:02 -0700
-Subject: [PATCH] Fixing MicroBlaze IMM bug
-
-Fixing the imm bug. with relax option imm -1 is also getting removed this is corrected now.
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
-
----
- bfd/elf32-microblaze.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index a94799f..74b00d2 100644
---- a/bfd/elf32-microblaze.c
-+++ b/bfd/elf32-microblaze.c
-@@ -1789,8 +1789,7 @@ microblaze_elf_relax_section (bfd *abfd,
- else
- symval += irel->r_addend;
-
-- if ((symval & 0xffff8000) == 0
-- || (symval & 0xffff8000) == 0xffff8000)
-+ if ((symval & 0xffff8000) == 0)
- {
- /* We can delete this instruction. */
- sec->relax[sec->relax_count].addr = irel->r_offset;
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch
deleted file mode 100644
index 077343e67..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0010-Fixed-bug-in-GCC-so-that-it-will-support-.long-0U-an.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From e1bacaa7c1aa387f167afff74876c5acdffc39d9 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Wed, 15 Nov 2017 17:45:35 -0800
-Subject: [PATCH] Fixed bug in GCC so that it will support .long 0U and .long
- 0u
-
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
-
----
- gas/expr.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gas/expr.c b/gas/expr.c
-index 3e28af6..0b7cc76 100644
---- a/gas/expr.c
-+++ b/gas/expr.c
-@@ -810,6 +810,15 @@ operand (expressionS *expressionP, enum expr_mode mode)
- break;
- }
- }
-+ if ((*input_line_pointer == 'U') || (*input_line_pointer == 'u'))
-+ {
-+ input_line_pointer--;
-+
-+ integer_constant ((NUMBERS_WITH_SUFFIX || flag_m68k_mri)
-+ ? 0 : 10,
-+ expressionP);
-+ break;
-+ }
- c = *input_line_pointer;
- switch (c)
- {
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0011-Fixing-MicroBlaze-constant-range-check-issue.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0011-Fixing-MicroBlaze-constant-range-check-issue.patch
deleted file mode 100644
index 244a7ade3..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0011-Fixing-MicroBlaze-constant-range-check-issue.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 9393a3e346d2ccbb86761117260c1dd89070a507 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Date: Wed, 15 Nov 2017 17:45:34 -0800
-Subject: [PATCH] Fixing MicroBlaze constant range check issue
-
-Sample error: not in range ffffffff80000000..7fffffff, not ffffffff70000000
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
-
----
- gas/config/tc-microblaze.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 21a5a0c..c614556 100644
---- a/gas/config/tc-microblaze.c
-+++ b/gas/config/tc-microblaze.c
-@@ -749,7 +749,7 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
- if ((e->X_add_number >> 31) == 1)
- e->X_add_number |= -((addressT) (1U << 31));
-
-- if (e->X_add_number < min || e->X_add_number > max)
-+ if ((int)e->X_add_number < min || (int)e->X_add_number > max)
- {
- as_fatal (_("operand must be absolute in range %lx..%lx, not %lx"),
- (long) min, (long) max, (long) e->X_add_number);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch
deleted file mode 100644
index e340c5069..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0012-MicroBlaze-fix-mask-for-barrel-shift-instructions.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 732b5a44a0a032da5ebb775b5df2ee2a36af988f Mon Sep 17 00:00:00 2001
-From: Nathan Rossi <nathan@nathanrossi.com>
-Date: Sun, 5 Nov 2017 22:17:39 +1000
-Subject: [PATCH] MicroBlaze fix mask for barrel shift instructions
-
-As of v10.0 the bsi (bslli/bsrai/bsrli/bsefi/bsifi) instructions have
-bits 16 and 17 defined as 'Insert' and 'Extract' respectively to support
-bit field insert/extract operations. For the bslli/bsrai/bsrli
-instructions these bits must be 0, as such update the opcode mask so
-that the bslli/bsrai/bsrli instructions do not also match the bsefi and
-bsifi instructions.
-
-Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
-Upstream-Status: Pending
-
----
- opcodes/microblaze-opc.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
-index 4bc400a..9482d81 100644
---- a/opcodes/microblaze-opc.h
-+++ b/opcodes/microblaze-opc.h
-@@ -161,9 +161,9 @@ struct op_code_struct
- {"ncget", INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C006000, OPCODE_MASK_H32, ncget, anyware_inst },
- {"ncput", INST_TYPE_R1_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C00E000, OPCODE_MASK_H32, ncput, anyware_inst },
- {"muli", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x60000000, OPCODE_MASK_H, muli, mult_inst },
-- {"bslli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3, bslli, barrel_shift_inst },
-- {"bsrai", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3, bsrai, barrel_shift_inst },
-- {"bsrli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3, bsrli, barrel_shift_inst },
-+ {"bslli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3B, bslli, barrel_shift_inst },
-+ {"bsrai", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3B, bsrai, barrel_shift_inst },
-+ {"bsrli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3B, bsrli, barrel_shift_inst },
- {"bsefi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
- {"bsifi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
- {"or", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000000, OPCODE_MASK_H4, microblaze_or, logical_inst },
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
new file mode 100644
index 000000000..586084855
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0001-Add-wdc.ext.clear-and-wdc.ext.flush-insns.patch
@@ -0,0 +1,63 @@
+From ad671256112cfee47871e91c6d390daea1b8fa2f Mon Sep 17 00:00:00 2001
+From: David Holsgrove <david.holsgrove@xilinx.com>
+Date: Wed, 8 May 2013 11:03:36 +1000
+Subject: [PATCH] Add wdc.ext.clear and wdc.ext.flush insns
+
+Added two new instructions, wdc.ext.clear and wdc.ext.flush,
+to enable MicroBlaze to flush an external cache, which is
+used with the new coherency support for multiprocessing.
+
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+
+---
+ opcodes/microblaze-opc.h | 5 ++++-
+ opcodes/microblaze-opcm.h | 4 ++--
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
+index 62ee3c9..865151f 100644
+--- a/opcodes/microblaze-opc.h
++++ b/opcodes/microblaze-opc.h
+@@ -91,6 +91,7 @@
+ #define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
+ #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
+ #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
++#define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
+ #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
+
+ /* New Mask for msrset, msrclr insns. */
+@@ -101,7 +102,7 @@
+ #define DELAY_SLOT 1
+ #define NO_DELAY_SLOT 0
+
+-#define MAX_OPCODES 289
++#define MAX_OPCODES 291
+
+ struct op_code_struct
+ {
+@@ -174,7 +175,9 @@ struct op_code_struct
+ {"wic", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000068, OPCODE_MASK_H34B, wic, special_inst },
+ {"wdc", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000064, OPCODE_MASK_H34B, wdc, special_inst },
+ {"wdc.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000066, OPCODE_MASK_H34B, wdcclear, special_inst },
++ {"wdc.ext.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000466, OPCODE_MASK_H35B, wdcextclear, special_inst },
+ {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst },
++ {"wdc.ext.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000476, OPCODE_MASK_H35B, wdcextflush, special_inst },
+ {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst },
+ {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst },
+ {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst },
+diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
+index 5a2d3b0..42f3dd3 100644
+--- a/opcodes/microblaze-opcm.h
++++ b/opcodes/microblaze-opcm.h
+@@ -33,8 +33,8 @@ enum microblaze_instr
+ /* 'or/and/xor' are C++ keywords. */
+ microblaze_or, microblaze_and, microblaze_xor,
+ andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
+- wic, wdc, wdcclear, wdcflush, mts, mfs, mbar, br, brd,
+- brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
++ wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, mts, mfs, mbar, br,
++ brd, brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
+ bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
+ imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
+ brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0002-Add-mlittle-endian-and-mbig-endian-flags.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0002-Add-mlittle-endian-and-mbig-endian-flags.patch
new file mode 100644
index 000000000..f0df4b8fe
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0002-Add-mlittle-endian-and-mbig-endian-flags.patch
@@ -0,0 +1,62 @@
+From cd4e233a38df5eee833c77f4393e710ad5383ac0 Mon Sep 17 00:00:00 2001
+From: nagaraju <nmekala@xilix.com>
+Date: Tue, 19 Mar 2013 17:18:23 +0530
+Subject: [PATCH] Add mlittle-endian and mbig-endian flags
+
+Added support in gas for mlittle-endian and mbig-endian flags
+as options.
+
+Updated show usage for MicroBlaze specific assembler options
+to include new entries.
+
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+
+---
+ gas/config/tc-microblaze.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index ab90c6b..c92e9ce 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -37,6 +37,8 @@
+
+ #define OPTION_EB (OPTION_MD_BASE + 0)
+ #define OPTION_EL (OPTION_MD_BASE + 1)
++#define OPTION_LITTLE (OPTION_MD_BASE + 2)
++#define OPTION_BIG (OPTION_MD_BASE + 3)
+
+ void microblaze_generate_symbol (char *sym);
+ static bfd_boolean check_spl_reg (unsigned *);
+@@ -1845,6 +1847,8 @@ struct option md_longopts[] =
+ {
+ {"EB", no_argument, NULL, OPTION_EB},
+ {"EL", no_argument, NULL, OPTION_EL},
++ {"mlittle-endian", no_argument, NULL, OPTION_LITTLE},
++ {"mbig-endian", no_argument, NULL, OPTION_BIG},
+ { NULL, no_argument, NULL, 0}
+ };
+
+@@ -2498,9 +2502,11 @@ md_parse_option (int c, const char * arg ATTRIBUTE_UNUSED)
+ switch (c)
+ {
+ case OPTION_EB:
++ case OPTION_BIG:
+ target_big_endian = 1;
+ break;
+ case OPTION_EL:
++ case OPTION_LITTLE:
+ target_big_endian = 0;
+ break;
+ default:
+@@ -2515,6 +2521,9 @@ md_show_usage (FILE * stream ATTRIBUTE_UNUSED)
+ /* fprintf(stream, _("\
+ MicroBlaze options:\n\
+ -noSmall Data in the comm and data sections do not go into the small data section\n")); */
++ fprintf (stream, _(" MicroBlaze specific assembler options:\n"));
++ fprintf (stream, " -%-23s%s\n", "mbig-endian", N_("assemble for a big endian cpu"));
++ fprintf (stream, " -%-23s%s\n", "mlittle-endian", N_("assemble for a little endian cpu"));
+ }
+
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0003-Disable-the-warning-message-for-eh_frame_hdr.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
new file mode 100644
index 000000000..64d27d92b
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0003-Disable-the-warning-message-for-eh_frame_hdr.patch
@@ -0,0 +1,30 @@
+From a8cbf5f3e93150132f194cfa3008fe896457171f Mon Sep 17 00:00:00 2001
+From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
+Date: Fri, 22 Jun 2012 01:20:20 +0200
+Subject: [PATCH] Disable the warning message for eh_frame_hdr
+
+Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elf-eh-frame.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
+index a13e81e..1824ba6 100644
+--- a/bfd/elf-eh-frame.c
++++ b/bfd/elf-eh-frame.c
+@@ -1044,10 +1044,13 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
+ goto success;
+
+ free_no_table:
++/* FIXME: Remove the microblaze specifics when relaxing gets fixed. */
++if (bfd_get_arch(abfd) != bfd_arch_microblaze) {
+ _bfd_error_handler
+ /* xgettext:c-format */
+ (_("error in %pB(%pA); no .eh_frame_hdr table will be created"),
+ abfd, sec);
++}
+ hdr_info->u.dwarf.table = FALSE;
+ if (sec_info)
+ free (sec_info);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0004-Fix-relaxation-of-assembler-resolved-references.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0004-Fix-relaxation-of-assembler-resolved-references.patch
index b543c54ee..4cae439ed 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.31/0004-Fix-relaxation-of-assembler-resolved-references.patch
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0004-Fix-relaxation-of-assembler-resolved-references.patch
@@ -1,27 +1,21 @@
-From 927ef228dfedf229dc915b273a308ab2c7bf9e19 Mon Sep 17 00:00:00 2001
+From 2b87c5c4ec4a7d6285c0991c202aae3cf8401d99 Mon Sep 17 00:00:00 2001
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
-Date: Mon, 28 Aug 2017 19:53:55 -0700
+Date: Tue, 14 Feb 2012 01:00:22 +0100
Subject: [PATCH] Fix relaxation of assembler resolved references
-03/2018
-Rebased for binutils 2.30
-
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
-
-Upstream-Status: Pending
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
---
- bfd/elf32-microblaze.c | 39 +++++++++++++++++++++++++++++++++++++++
+ bfd/elf32-microblaze.c | 38 ++++++++++++++++++++++++++++++++++++++
gas/config/tc-microblaze.c | 1 +
- 2 files changed, 40 insertions(+)
+ 2 files changed, 39 insertions(+)
diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
-index f1808bc..a1d810c 100644
+index e3c8027..359484d 100644
--- a/bfd/elf32-microblaze.c
+++ b/bfd/elf32-microblaze.c
-@@ -1887,6 +1887,45 @@ microblaze_elf_relax_section (bfd *abfd,
+@@ -1973,6 +1973,44 @@ microblaze_elf_relax_section (bfd *abfd,
irelscanend = irelocs + o->reloc_count;
for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
{
@@ -54,8 +48,7 @@ index f1808bc..a1d810c 100644
+ elf_section_data (o)->this_hdr.contents = ocontents;
+ }
+ }
-+
-+ irelscan->r_addend -= calc_fixup (irelscan->r_addend
++ irelscan->r_addend -= calc_fixup (irelscan->r_addend
+ + isym->st_value, sec);
+ val = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
@@ -68,10 +61,10 @@ index f1808bc..a1d810c 100644
{
isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
-index 42dd7ae..50dbfc7 100644
+index c92e9ce..3e72840 100644
--- a/gas/config/tc-microblaze.c
+++ b/gas/config/tc-microblaze.c
-@@ -2183,6 +2183,7 @@ md_apply_fix (fixS * fixP,
+@@ -2205,6 +2205,7 @@ md_apply_fix (fixS * fixP,
else
fixP->fx_r_type = BFD_RELOC_NONE;
fixP->fx_addsy = section_symbol (absolute_section);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0005-LOCAL-Fixup-debug_loc-sections-after-linker-relaxati.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0005-LOCAL-Fixup-debug_loc-sections-after-linker-relaxati.patch
new file mode 100644
index 000000000..a2954c91e
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0005-LOCAL-Fixup-debug_loc-sections-after-linker-relaxati.patch
@@ -0,0 +1,245 @@
+From 68a91eb7ac94f0e0c6e9ebd7ad148c80cbc227df Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Mon, 6 Feb 2017 15:53:08 +0530
+Subject: [PATCH] Fixup debug_loc sections after linker relaxation Adds a new
+ reloctype R_MICROBLAZE_32_NONE, used for passing reloc info from the
+ assembler to the linker when the linker manages to fully resolve a local
+ symbol reference.
+
+This is a workaround for design flaws in the assembler to
+linker interface with regards to linker relaxation.
+
+Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/bfd-in2.h | 9 ++++++--
+ bfd/elf32-microblaze.c | 53 ++++++++++++++++++++++++++++++++++------------
+ bfd/libbfd.h | 1 +
+ bfd/reloc.c | 6 ++++++
+ binutils/readelf.c | 4 ++++
+ gas/config/tc-microblaze.c | 5 ++++-
+ include/elf/microblaze.h | 2 ++
+ 7 files changed, 64 insertions(+), 16 deletions(-)
+
+diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
+index e251d7e..fe6933a 100644
+--- a/bfd/bfd-in2.h
++++ b/bfd/bfd-in2.h
+@@ -5867,10 +5867,15 @@ value relative to the read-write small data area anchor */
+ expressions of the form "Symbol Op Symbol" */
+ BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM,
+
+-/* This is a 64 bit reloc that stores the 32 bit pc relative
++/* This is a 32 bit reloc that stores the 32 bit pc relative
+ value in two words (with an imm instruction). No relocation is
+ done here - only used for relaxing */
+- BFD_RELOC_MICROBLAZE_64_NONE,
++ BFD_RELOC_MICROBLAZE_32_NONE,
++
++/* This is a 64 bit reloc that stores the 32 bit pc relative
++ * +value in two words (with an imm instruction). No relocation is
++ * +done here - only used for relaxing */
++ BFD_RELOC_MICROBLAZE_64_NONE,
+
+ /* This is a 64 bit reloc that stores the 32 bit pc relative
+ value in two words (with an imm instruction). The relocation is
+diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
+index 359484d..1c69c26 100644
+--- a/bfd/elf32-microblaze.c
++++ b/bfd/elf32-microblaze.c
+@@ -176,7 +176,21 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
+ 0x0000ffff, /* Dest Mask. */
+ FALSE), /* PC relative offset? */
+
+- /* This reloc does nothing. Used for relaxation. */
++ HOWTO (R_MICROBLAZE_32_NONE, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 32, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_bitfield, /* Complain on overflow. */
++ NULL, /* Special Function. */
++ "R_MICROBLAZE_32_NONE",/* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* This reloc does nothing. Used for relaxation. */
+ HOWTO (R_MICROBLAZE_64_NONE, /* Type. */
+ 0, /* Rightshift. */
+ 3, /* Size (0 = byte, 1 = short, 2 = long). */
+@@ -562,6 +576,9 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+ case BFD_RELOC_NONE:
+ microblaze_reloc = R_MICROBLAZE_NONE;
+ break;
++ case BFD_RELOC_MICROBLAZE_32_NONE:
++ microblaze_reloc = R_MICROBLAZE_32_NONE;
++ break;
+ case BFD_RELOC_MICROBLAZE_64_NONE:
+ microblaze_reloc = R_MICROBLAZE_64_NONE;
+ break;
+@@ -1918,6 +1935,7 @@ microblaze_elf_relax_section (bfd *abfd,
+ }
+ break;
+ case R_MICROBLAZE_NONE:
++ case R_MICROBLAZE_32_NONE:
+ {
+ /* This was a PC-relative instruction that was
+ completely resolved. */
+@@ -1926,12 +1944,18 @@ microblaze_elf_relax_section (bfd *abfd,
+ target_address = irel->r_addend + irel->r_offset;
+ sfix = calc_fixup (irel->r_offset, 0, sec);
+ efix = calc_fixup (target_address, 0, sec);
++
++ /* Validate the in-band val. */
++ val = bfd_get_32 (abfd, contents + irel->r_offset);
++ if (val != irel->r_addend && ELF32_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
++ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
++ }
+ irel->r_addend -= (efix - sfix);
+ /* Should use HOWTO. */
+ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
+ irel->r_addend);
+- }
+- break;
++ }
++ break;
+ case R_MICROBLAZE_64_NONE:
+ {
+ /* This was a PC-relative 64-bit instruction that was
+@@ -1973,12 +1997,16 @@ microblaze_elf_relax_section (bfd *abfd,
+ irelscanend = irelocs + o->reloc_count;
+ for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
+ {
+- if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_NONE)
++ if (1 && ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_NONE)
+ {
+ unsigned int val;
+
+ isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
+
++ /* hax: We only do the following fixup for debug location lists. */
++ if (strcmp(".debug_loc", o->name))
++ continue;
++
+ /* This was a PC-relative instruction that was completely resolved. */
+ if (ocontents == NULL)
+ {
+@@ -1999,18 +2027,17 @@ microblaze_elf_relax_section (bfd *abfd,
+ (file_ptr) 0,
+ o->rawsize))
+ goto error_return;
+- elf_section_data (o)->this_hdr.contents = ocontents;
+- }
+- }
+- irelscan->r_addend -= calc_fixup (irelscan->r_addend
+- + isym->st_value, sec);
++ elf_section_data (o)->this_hdr.contents = ocontents;
++ }
++ }
+ val = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
++ if (val != irelscan->r_addend) {
++ fprintf(stderr, "%d: CORRUPT relax reloc! %x %lx\n", __LINE__, val, irelscan->r_addend);
++ }
++ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
+ irelscan->r_addend);
+ }
+- if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64_NONE) {
+- fprintf(stderr, "Unhandled NONE 64\n");
+- }
+ if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
+ {
+ isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
+@@ -2070,7 +2097,7 @@ microblaze_elf_relax_section (bfd *abfd,
+ elf_section_data (o)->this_hdr.contents = ocontents;
+ }
+ }
+- irelscan->r_addend -= calc_fixup (irel->r_addend
++ irelscan->r_addend -= calc_fixup (irelscan->r_addend
+ + isym->st_value,
+ 0,
+ sec);
+diff --git a/bfd/libbfd.h b/bfd/libbfd.h
+index 36284d7..feb9fad 100644
+--- a/bfd/libbfd.h
++++ b/bfd/libbfd.h
+@@ -2901,6 +2901,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
+ "BFD_RELOC_MICROBLAZE_32_ROSDA",
+ "BFD_RELOC_MICROBLAZE_32_RWSDA",
+ "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
++ "BFD_RELOC_MICROBLAZE_32_NONE",
+ "BFD_RELOC_MICROBLAZE_64_NONE",
+ "BFD_RELOC_MICROBLAZE_64_GOTPC",
+ "BFD_RELOC_MICROBLAZE_64_GOT",
+diff --git a/bfd/reloc.c b/bfd/reloc.c
+index e6446a7..87753ae 100644
+--- a/bfd/reloc.c
++++ b/bfd/reloc.c
+@@ -6796,6 +6796,12 @@ ENUMDOC
+ This is a 32 bit reloc for the microblaze to handle
+ expressions of the form "Symbol Op Symbol"
+ ENUM
++ BFD_RELOC_MICROBLAZE_32_NONE
++ENUMDOC
++ This is a 32 bit reloc that stores the 32 bit pc relative
++ value in two words (with an imm instruction). No relocation is
++ done here - only used for relaxing
++ENUM
+ BFD_RELOC_MICROBLAZE_64_NONE
+ ENUMDOC
+ This is a 64 bit reloc that stores the 32 bit pc relative
+diff --git a/binutils/readelf.c b/binutils/readelf.c
+index 9df3742..1bbc2d1 100644
+--- a/binutils/readelf.c
++++ b/binutils/readelf.c
+@@ -13020,6 +13020,10 @@ is_none_reloc (Filedata * filedata, unsigned int reloc_type)
+ || reloc_type == 32 /* R_AVR_DIFF32. */);
+ case EM_METAG:
+ return reloc_type == 3; /* R_METAG_NONE. */
++ case EM_MICROBLAZE:
++ return reloc_type == 30 /* R_MICROBLAZE_32_NONE. */
++ || reloc_type == 0 /* R_MICROBLAZE_NONE. */
++ || reloc_type == 9; /* R_MICROBLAZE_64_NONE. */
+ case EM_NDS32:
+ return (reloc_type == 0 /* R_XTENSA_NONE. */
+ || reloc_type == 204 /* R_NDS32_DIFF8. */
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index 3e72840..fa665b4 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -2201,7 +2201,9 @@ md_apply_fix (fixS * fixP,
+ /* This fixup has been resolved. Create a reloc in case the linker
+ moves code around due to relaxing. */
+ if (fixP->fx_r_type == BFD_RELOC_64_PCREL)
+- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
++ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
++ else if (fixP->fx_r_type == BFD_RELOC_32)
++ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_32_NONE;
+ else
+ fixP->fx_r_type = BFD_RELOC_NONE;
+ fixP->fx_addsy = section_symbol (absolute_section);
+@@ -2426,6 +2428,7 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
+ switch (fixp->fx_r_type)
+ {
+ case BFD_RELOC_NONE:
++ case BFD_RELOC_MICROBLAZE_32_NONE:
+ case BFD_RELOC_MICROBLAZE_64_NONE:
+ case BFD_RELOC_32:
+ case BFD_RELOC_MICROBLAZE_32_LO:
+diff --git a/include/elf/microblaze.h b/include/elf/microblaze.h
+index 830b5ad..6ee0966 100644
+--- a/include/elf/microblaze.h
++++ b/include/elf/microblaze.h
+@@ -61,6 +61,8 @@ START_RELOC_NUMBERS (elf_microblaze_reloc_type)
+ RELOC_NUMBER (R_MICROBLAZE_TEXTPCREL_64, 30) /* PC-relative TEXT offset. */
+ RELOC_NUMBER (R_MICROBLAZE_TEXTREL_64, 31) /* TEXT Entry offset 64-bit. */
+ RELOC_NUMBER (R_MICROBLAZE_TEXTREL_32_LO, 32) /* TEXT Entry offset 32-bit. */
++ RELOC_NUMBER (R_MICROBLAZE_32_NONE, 33)
++
+ END_RELOC_NUMBERS (R_MICROBLAZE_max)
+
+ /* Global base address names. */
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0006-upstream-change-to-garbage-collection-sweep-causes-m.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0006-upstream-change-to-garbage-collection-sweep-causes-m.patch
new file mode 100644
index 000000000..8c72ecf7d
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0006-upstream-change-to-garbage-collection-sweep-causes-m.patch
@@ -0,0 +1,38 @@
+From 0ee164f7e50d88e1cda4fdebd6f7bd182d0f27b3 Mon Sep 17 00:00:00 2001
+From: David Holsgrove <david.holsgrove@xilinx.com>
+Date: Wed, 27 Feb 2013 13:56:11 +1000
+Subject: [PATCH] upstream change to garbage collection sweep causes mb
+ regression
+
+Upstream change for PR13177 now clears the def_regular during gc_sweep of a
+section. (All other archs in binutils/bfd/elf32-*.c received an update
+to a warning about unresolvable relocations - this warning is not present
+in binutils/bfd/elf32-microblaze.c, but this warning check would not
+prevent the error being seen)
+
+The visible issue with this change is when running a c++ application
+in Petalinux which links libstdc++.so for exception handling it segfaults
+on execution.
+
+This does not occur if static linking libstdc++.a, so its during the
+relocations for a shared lib with garbage collection this occurs
+
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elflink.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/bfd/elflink.c b/bfd/elflink.c
+index e50c0e4..09d43e3 100644
+--- a/bfd/elflink.c
++++ b/bfd/elflink.c
+@@ -6187,7 +6187,6 @@ elf_gc_sweep_symbol (struct elf_link_hash_entry *h, void *data)
+
+ inf = (struct elf_gc_sweep_symbol_info *) data;
+ (*inf->hide_symbol) (inf->info, h, TRUE);
+- h->def_regular = 0;
+ h->ref_regular = 0;
+ h->ref_regular_nonweak = 0;
+ }
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0007-Fix-bug-in-TLSTPREL-Relocation.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0007-Fix-bug-in-TLSTPREL-Relocation.patch
new file mode 100644
index 000000000..472aa0cf8
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0007-Fix-bug-in-TLSTPREL-Relocation.patch
@@ -0,0 +1,33 @@
+From 1367d2933de24720fa24032947f784b72b54e974 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Mon, 15 Jun 2015 16:50:30 +0530
+Subject: [PATCH] Fix bug in TLSTPREL Relocation
+
+Fixed the problem related to the fixup/relocations TLSTPREL.
+When the fixup is applied the addend is not added at the correct offset
+of the instruction. The offset is hard coded considering its big endian
+and it fails for Little endian. This patch allows support for both
+big & little-endian compilers
+
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elf32-microblaze.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
+index 1c69c26..d19a6dc 100644
+--- a/bfd/elf32-microblaze.c
++++ b/bfd/elf32-microblaze.c
+@@ -1451,9 +1451,9 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ relocation += addend;
+ relocation -= dtprel_base(info);
+ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
+- contents + offset + 2);
++ contents + offset + endian);
+ bfd_put_16 (input_bfd, relocation & 0xffff,
+- contents + offset + 2 + INST_WORD_SIZE);
++ contents + offset + endian + INST_WORD_SIZE);
+ break;
+ case (int) R_MICROBLAZE_TEXTREL_64:
+ case (int) R_MICROBLAZE_TEXTREL_32_LO:
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0008-Added-Address-extension-instructions.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0008-Added-Address-extension-instructions.patch
new file mode 100644
index 000000000..23d179352
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0008-Added-Address-extension-instructions.patch
@@ -0,0 +1,96 @@
+From 57675e049d815f6fce100bd5effaea187abacf04 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Mon, 18 Jan 2016 12:28:21 +0530
+Subject: [PATCH] Added Address extension instructions
+
+This patch adds the support of new instructions which are required
+for supporting Address extension feature.
+
+Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+
+ChangeLog:
+ 2016-01-18 Nagaraju Mekala <nmekala@xilix.com>
+
+ *microblaze-opc.h (op_code_struct): Update
+ Added new instructions
+ *microblaze-opcm.h (microblaze_instr): Update
+ Added new instructions
+
+---
+ opcodes/microblaze-opc.h | 11 +++++++++++
+ opcodes/microblaze-opcm.h | 10 +++++-----
+ 2 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
+index 865151f..330f104 100644
+--- a/opcodes/microblaze-opc.h
++++ b/opcodes/microblaze-opc.h
+@@ -178,8 +178,11 @@ struct op_code_struct
+ {"wdc.ext.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000466, OPCODE_MASK_H35B, wdcextclear, special_inst },
+ {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst },
+ {"wdc.ext.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000476, OPCODE_MASK_H35B, wdcextflush, special_inst },
++ {"wdc.clear.ea", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900000E6, OPCODE_MASK_H34B, wdcclearea, special_inst },
+ {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst },
++ {"mtse", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9500C000, OPCODE_MASK_H13S, mtse,special_inst },
+ {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst },
++ {"mfse", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94088000, OPCODE_MASK_H23S, mfse, special_inst },
+ {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst },
+ {"brd", INST_TYPE_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98100000, OPCODE_MASK_H124, brd, branch_inst },
+ {"brld", INST_TYPE_RD_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98140000, OPCODE_MASK_H24, brld, branch_inst },
+@@ -229,18 +232,24 @@ struct op_code_struct
+ {"bgeid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBEA00000, OPCODE_MASK_H1, bgeid, branch_inst },
+ {"lbu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000000, OPCODE_MASK_H4, lbu, memory_load_inst },
+ {"lbur", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000200, OPCODE_MASK_H4, lbur, memory_load_inst },
++ {"lbuea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC0000080, OPCODE_MASK_H4, lbuea, memory_load_inst },
+ {"lhu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000000, OPCODE_MASK_H4, lhu, memory_load_inst },
+ {"lhur", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000200, OPCODE_MASK_H4, lhur, memory_load_inst },
++ {"lhuea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC4000080, OPCODE_MASK_H4, lhuea, memory_load_inst },
+ {"lw", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000000, OPCODE_MASK_H4, lw, memory_load_inst },
+ {"lwr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000200, OPCODE_MASK_H4, lwr, memory_load_inst },
+ {"lwx", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000400, OPCODE_MASK_H4, lwx, memory_load_inst },
++ {"lwea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000080, OPCODE_MASK_H4, lwea, memory_load_inst },
+ {"sb", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000000, OPCODE_MASK_H4, sb, memory_store_inst },
+ {"sbr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000200, OPCODE_MASK_H4, sbr, memory_store_inst },
++ {"sbea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD0000080, OPCODE_MASK_H4, sbea, memory_store_inst },
+ {"sh", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000000, OPCODE_MASK_H4, sh, memory_store_inst },
+ {"shr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000200, OPCODE_MASK_H4, shr, memory_store_inst },
++ {"shea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD4000080, OPCODE_MASK_H4, shea, memory_store_inst },
+ {"sw", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000000, OPCODE_MASK_H4, sw, memory_store_inst },
+ {"swr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000200, OPCODE_MASK_H4, swr, memory_store_inst },
+ {"swx", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000400, OPCODE_MASK_H4, swx, memory_store_inst },
++ {"swea", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000080, OPCODE_MASK_H4, swea, memory_store_inst },
+ {"lbui", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE0000000, OPCODE_MASK_H, lbui, memory_load_inst },
+ {"lhui", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE4000000, OPCODE_MASK_H, lhui, memory_load_inst },
+ {"lwi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, lwi, memory_load_inst },
+@@ -405,6 +414,8 @@ struct op_code_struct
+ {"clz", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900000E0, OPCODE_MASK_H34, clz, special_inst },
+ {"mbar", INST_TYPE_IMM5, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8020004, OPCODE_MASK_HN, mbar, special_inst },
+ {"sleep", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBA020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 16. */
++ {"hibernate", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB9020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 8. */
++ {"suspend", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBB020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 24. */
+ {"swapb", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E0, OPCODE_MASK_H4, swapb, arithmetic_inst },
+ {"swaph", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E2, OPCODE_MASK_H4, swaph, arithmetic_inst },
+ {"", 0, 0, 0, 0, 0, 0, 0, 0},
+diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
+index 42f3dd3..1c39dbf 100644
+--- a/opcodes/microblaze-opcm.h
++++ b/opcodes/microblaze-opcm.h
+@@ -33,13 +33,13 @@ enum microblaze_instr
+ /* 'or/and/xor' are C++ keywords. */
+ microblaze_or, microblaze_and, microblaze_xor,
+ andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
+- wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, mts, mfs, mbar, br,
+- brd, brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt,
+- bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
++ wic, wdc, wdcclear, wdcextclear, wdcflush, wdcextflush, wdcclearea, mts, mtse,
++ mfs, mfse, mbar, br, brd, brld, bra, brad, brald, microblaze_brk, beq, beqd,
++ bne, bned, blt, bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni,
+ imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
+ brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
+- bgtid, bgei, bgeid, lbu, lbur, lhu, lhur, lw, lwr, lwx, sb, sbr, sh,
+- shr, sw, swr, swx, lbui, lhui, lwi,
++ bgtid, bgei, bgeid, lbu, lbuea, lbur, lhu, lhuea, lhur, lw, lwea, lwr, lwx,
++ sb, sbea, sbr, sh, shea, shr, sw, swea, swr, swx, lbui, lhui, lwi,
+ sbi, shi, swi, msrset, msrclr, tuqula, fadd, frsub, fmul, fdiv,
+ fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt,
+ fint, fsqrt,
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0009-fixing-the-MAX_OPCODES-to-correct-value.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0009-fixing-the-MAX_OPCODES-to-correct-value.patch
new file mode 100644
index 000000000..0eaa69900
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0009-fixing-the-MAX_OPCODES-to-correct-value.patch
@@ -0,0 +1,24 @@
+From 98b1a76e13ad32c979208a22e5b6b7cb260426b0 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Thu, 28 Jan 2016 14:07:34 +0530
+Subject: [PATCH] fixing the MAX_OPCODES to correct value
+
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ opcodes/microblaze-opc.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
+index 330f104..2a6b841 100644
+--- a/opcodes/microblaze-opc.h
++++ b/opcodes/microblaze-opc.h
+@@ -102,7 +102,7 @@
+ #define DELAY_SLOT 1
+ #define NO_DELAY_SLOT 0
+
+-#define MAX_OPCODES 291
++#define MAX_OPCODES 299
+
+ struct op_code_struct
+ {
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0010-Add-new-bit-field-instructions.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0010-Add-new-bit-field-instructions.patch
new file mode 100644
index 000000000..ea288aa15
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0010-Add-new-bit-field-instructions.patch
@@ -0,0 +1,228 @@
+From 200359b776fbb19a1423ff4d0c46f5301af197c6 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Mon, 18 Jul 2016 12:24:28 +0530
+Subject: [PATCH] Add new bit-field instructions
+
+This patches adds new bsefi and bsifi instructions.
+BSEFI- The instruction shall extract a bit field from a
+register and place it right-adjusted in the destination register.
+The other bits in the destination register shall be set to zero
+BSIFI- The instruction shall insert a right-adjusted bit field
+from a register at another position in the destination register.
+The rest of the bits in the destination register shall be unchanged
+
+Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+
+---
+ gas/config/tc-microblaze.c | 71 +++++++++++++++++++++++++++++++++++++++++++++-
+ opcodes/microblaze-dis.c | 16 +++++++++++
+ opcodes/microblaze-opc.h | 12 +++++++-
+ opcodes/microblaze-opcm.h | 6 +++-
+ 4 files changed, 102 insertions(+), 3 deletions(-)
+
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index fa665b4..71bb888 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -917,7 +917,7 @@ md_assemble (char * str)
+ unsigned reg2;
+ unsigned reg3;
+ unsigned isize;
+- unsigned int immed, temp;
++ unsigned int immed, immed2, temp;
+ expressionS exp;
+ char name[20];
+
+@@ -1172,7 +1172,76 @@ md_assemble (char * str)
+ inst |= (reg2 << RA_LOW) & RA_MASK;
+ inst |= (immed << IMM_LOW) & IMM5_MASK;
+ break;
++ case INST_TYPE_RD_R1_IMM5_IMM5:
++ if (strcmp (op_end, ""))
++ op_end = parse_reg (op_end + 1, &reg1); /* Get rd. */
++ else
++ {
++ as_fatal (_("Error in statement syntax"));
++ reg1 = 0;
++ }
++ if (strcmp (op_end, ""))
++ op_end = parse_reg (op_end + 1, &reg2); /* Get r1. */
++ else
++ {
++ as_fatal (_("Error in statement syntax"));
++ reg2 = 0;
++ }
++
++ /* Check for spl registers. */
++ if (check_spl_reg (&reg1))
++ as_fatal (_("Cannot use special register with this instruction"));
++ if (check_spl_reg (&reg2))
++ as_fatal (_("Cannot use special register with this instruction"));
+
++ /* Width immediate value. */
++ if (strcmp (op_end, ""))
++ op_end = parse_imm (op_end + 1, &exp, MIN_IMM_WIDTH, MAX_IMM_WIDTH);
++ else
++ as_fatal (_("Error in statement syntax"));
++ if (exp.X_op != O_constant)
++ {
++ as_warn (_("Symbol used as immediate width value for bit field instruction"));
++ immed = 1;
++ }
++ else
++ immed = exp.X_add_number;
++ if (opcode->instr == bsefi && immed > 31)
++ as_fatal (_("Width value must be less than 32"));
++
++ /* Shift immediate value. */
++ if (strcmp (op_end, ""))
++ op_end = parse_imm (op_end + 1, &exp, MIN_IMM, MAX_IMM);
++ else
++ as_fatal (_("Error in statement syntax"));
++ if (exp.X_op != O_constant)
++ {
++ as_warn (_("Symbol used as immediate shift value for bit field instruction"));
++ immed2 = 0;
++ }
++ else
++ {
++ output = frag_more (isize);
++ immed2 = exp.X_add_number;
++ }
++ if (immed2 != (immed2 % 32))
++ {
++ as_warn (_("Shift value greater than 32. using <value %% 32>"));
++ immed2 = immed2 % 32;
++ }
++
++ /* Check combined value. */
++ if (immed + immed2 > 32)
++ as_fatal (_("Width value + shift value must not be greater than 32"));
++
++ inst |= (reg1 << RD_LOW) & RD_MASK;
++ inst |= (reg2 << RA_LOW) & RA_MASK;
++ if (opcode->instr == bsefi)
++ inst |= (immed & IMM5_MASK) << IMM_WIDTH_LOW; /* bsefi */
++ else
++ inst |= ((immed + immed2 - 1) & IMM5_MASK) << IMM_WIDTH_LOW; /* bsifi */
++ inst |= (immed2 << IMM_LOW) & IMM5_MASK;
++ break;
+ case INST_TYPE_R1_R2:
+ if (strcmp (op_end, ""))
+ op_end = parse_reg (op_end + 1, &reg1); /* Get r1. */
+diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c
+index f691740..f8aaf27 100644
+--- a/opcodes/microblaze-dis.c
++++ b/opcodes/microblaze-dis.c
+@@ -74,6 +74,18 @@ get_field_imm5_mbar (long instr)
+ }
+
+ static char *
++get_field_imm5width (long instr)
++{
++ char tmpstr[25];
++
++ if (instr & 0x00004000)
++ sprintf (tmpstr, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW))); /* bsefi */
++ else
++ sprintf (tmpstr, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW) - ((instr & IMM5_MASK) >> IMM_LOW) + 1)); /* bsifi */
++ return (strdup (tmpstr));
++}
++
++static char *
+ get_field_rfsl (long instr)
+ {
+ char tmpstr[25];
+@@ -396,6 +408,10 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
+ /* For mbar 16 or sleep insn. */
+ case INST_TYPE_NONE:
+ break;
++ /* For bit field insns. */
++ case INST_TYPE_RD_R1_IMM5_IMM5:
++ print_func (stream, "\t%s, %s, %s, %s", get_field_rd (inst),get_field_r1(inst),get_field_imm5width (inst), get_field_imm5 (inst));
++ break;
+ /* For tuqula instruction */
+ case INST_TYPE_RD:
+ print_func (stream, "\t%s", get_field_rd (inst));
+diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
+index 2a6b841..ce8ac35 100644
+--- a/opcodes/microblaze-opc.h
++++ b/opcodes/microblaze-opc.h
+@@ -59,6 +59,9 @@
+ /* For mbar. */
+ #define INST_TYPE_IMM5 20
+
++/* For bsefi and bsifi */
++#define INST_TYPE_RD_R1_IMM5_IMM5 21
++
+ #define INST_TYPE_NONE 25
+
+
+@@ -89,7 +92,9 @@
+ #define OPCODE_MASK_H124 0xFFFF07FF /* High 16, and low 11 bits. */
+ #define OPCODE_MASK_H1234 0xFFFFFFFF /* All 32 bits. */
+ #define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
++#define OPCODE_MASK_H3B 0xFC00C600 /* High 6 bits and bits 16, 17, 21, 22. */
+ #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
++#define OPCODE_MASK_H32B 0xFC00C000 /* High 6 bits and bit 16, 17. */
+ #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
+ #define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
+ #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
+@@ -102,7 +107,7 @@
+ #define DELAY_SLOT 1
+ #define NO_DELAY_SLOT 0
+
+-#define MAX_OPCODES 299
++#define MAX_OPCODES 301
+
+ struct op_code_struct
+ {
+@@ -159,6 +164,8 @@ struct op_code_struct
+ {"bslli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3, bslli, barrel_shift_inst },
+ {"bsrai", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3, bsrai, barrel_shift_inst },
+ {"bsrli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3, bsrli, barrel_shift_inst },
++ {"bsefi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
++ {"bsifi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
+ {"or", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000000, OPCODE_MASK_H4, microblaze_or, logical_inst },
+ {"and", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x84000000, OPCODE_MASK_H4, microblaze_and, logical_inst },
+ {"xor", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000000, OPCODE_MASK_H4, microblaze_xor, logical_inst },
+@@ -438,5 +445,8 @@ char pvr_register_prefix[] = "rpvr";
+ #define MIN_IMM5 ((int) 0x00000000)
+ #define MAX_IMM5 ((int) 0x0000001f)
+
++#define MIN_IMM_WIDTH ((int) 0x00000001)
++#define MAX_IMM_WIDTH ((int) 0x00000020)
++
+ #endif /* MICROBLAZE_OPC */
+
+diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
+index 1c39dbf..2866269 100644
+--- a/opcodes/microblaze-opcm.h
++++ b/opcodes/microblaze-opcm.h
+@@ -29,7 +29,7 @@ enum microblaze_instr
+ addi, rsubi, addic, rsubic, addik, rsubik, addikc, rsubikc, mul,
+ mulh, mulhu, mulhsu,swapb,swaph,
+ idiv, idivu, bsll, bsra, bsrl, get, put, nget, nput, cget, cput,
+- ncget, ncput, muli, bslli, bsrai, bsrli, mului,
++ ncget, ncput, muli, bslli, bsrai, bsrli, bsefi, bsifi, mului,
+ /* 'or/and/xor' are C++ keywords. */
+ microblaze_or, microblaze_and, microblaze_xor,
+ andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16,
+@@ -129,6 +129,7 @@ enum microblaze_instr_type
+ #define RB_LOW 11 /* Low bit for RB. */
+ #define IMM_LOW 0 /* Low bit for immediate. */
+ #define IMM_MBAR 21 /* low bit for mbar instruction. */
++#define IMM_WIDTH_LOW 6 /* Low bit for immediate width */
+
+ #define RD_MASK 0x03E00000
+ #define RA_MASK 0x001F0000
+@@ -141,6 +142,9 @@ enum microblaze_instr_type
+ /* Imm mask for mbar. */
+ #define IMM5_MBAR_MASK 0x03E00000
+
++/* Imm mask for extract/insert width. */
++#define IMM5_WIDTH_MASK 0x000007C0
++
+ /* FSL imm mask for get, put instructions. */
+ #define RFSL_MASK 0x000000F
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0011-fixing-the-imm-bug.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0011-fixing-the-imm-bug.patch
new file mode 100644
index 000000000..43d368c3b
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0011-fixing-the-imm-bug.patch
@@ -0,0 +1,26 @@
+From cb65478b8ec240b372a9da7fe33875a59e89a1fe Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Mon, 10 Jul 2017 16:07:28 +0530
+Subject: [PATCH] fixing the imm bug. with relax option imm -1 is also getting
+ removed this is corrected now.
+
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elf32-microblaze.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
+index d19a6dc..d001437 100644
+--- a/bfd/elf32-microblaze.c
++++ b/bfd/elf32-microblaze.c
+@@ -1869,8 +1869,7 @@ microblaze_elf_relax_section (bfd *abfd,
+ else
+ symval += irel->r_addend;
+
+- if ((symval & 0xffff8000) == 0
+- || (symval & 0xffff8000) == 0xffff8000)
++ if ((symval & 0xffff8000) == 0)
+ {
+ /* We can delete this instruction. */
+ sec->relax[sec->relax_count].addr = irel->r_offset;
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0012-Patch-Microblaze-fixed-bug-in-GCC-so-that-It-will-su.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0012-Patch-Microblaze-fixed-bug-in-GCC-so-that-It-will-su.patch
new file mode 100644
index 000000000..9abed968b
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0012-Patch-Microblaze-fixed-bug-in-GCC-so-that-It-will-su.patch
@@ -0,0 +1,33 @@
+From 58271555959fcc3eadb1f23c8d31d793c979984b Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Fri, 29 Sep 2017 18:00:23 +0530
+Subject: [PATCH] fixed bug in GCC so that It will support .long 0U and .long
+ 0u
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ gas/expr.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gas/expr.c b/gas/expr.c
+index ee85bda..b502418 100644
+--- a/gas/expr.c
++++ b/gas/expr.c
+@@ -810,6 +810,15 @@ operand (expressionS *expressionP, enum expr_mode mode)
+ break;
+ }
+ }
++ if ((*input_line_pointer == 'U') || (*input_line_pointer == 'u'))
++ {
++ input_line_pointer--;
++
++ integer_constant ((NUMBERS_WITH_SUFFIX || flag_m68k_mri)
++ ? 0 : 10,
++ expressionP);
++ break;
++ }
+ c = *input_line_pointer;
+ switch (c)
+ {
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0013-fixing-the-constant-range-check-issue.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0013-fixing-the-constant-range-check-issue.patch
new file mode 100644
index 000000000..4aef7c982
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0013-fixing-the-constant-range-check-issue.patch
@@ -0,0 +1,25 @@
+From 70ba2154c2261d5a9d35a765c29acc5fdcdeea38 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Mon, 16 Oct 2017 15:44:23 +0530
+Subject: [PATCH] fixing the constant range check issue sample error: not in
+ range ffffffff80000000..7fffffff, not ffffffff70000000
+
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ gas/config/tc-microblaze.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index 71bb888..16b10d0 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -757,7 +757,7 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
+ if ((e->X_add_number >> 31) == 1)
+ e->X_add_number |= -((addressT) (1U << 31));
+
+- if (e->X_add_number < min || e->X_add_number > max)
++ if ((int)e->X_add_number < min || (int)e->X_add_number > max)
+ {
+ as_fatal (_("operand must be absolute in range %lx..%lx, not %lx"),
+ (long) min, (long) max, (long) e->X_add_number);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0014-Patch-Microblaze-Compiler-will-give-error-messages-i.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0014-Patch-Microblaze-Compiler-will-give-error-messages-i.patch
new file mode 100644
index 000000000..211825694
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0014-Patch-Microblaze-Compiler-will-give-error-messages-i.patch
@@ -0,0 +1,36 @@
+From 1b8f6099c5f85d77ef666becff1c4edd0aa724ab Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 21 Feb 2018 12:32:02 +0530
+Subject: [PATCH] Compiler will give error messages in more detail for
+ mxl-gp-opt flag..
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ ld/ldmain.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/ld/ldmain.c b/ld/ldmain.c
+index 725512f..2ed413a 100644
+--- a/ld/ldmain.c
++++ b/ld/ldmain.c
+@@ -1448,6 +1448,18 @@ reloc_overflow (struct bfd_link_info *info,
+ break;
+ case bfd_link_hash_defined:
+ case bfd_link_hash_defweak:
++
++ if((strcmp(reloc_name,"R_MICROBLAZE_SRW32") == 0) && entry->type == bfd_link_hash_defined)
++ {
++ einfo (_(" relocation truncated to fit: don't enable small data pointer optimizations[mxl-gp-opt] if extern or multiple declarations used: "
++ "%s against symbol `%T' defined in %A section in %B"),
++ reloc_name, entry->root.string,
++ entry->u.def.section,
++ entry->u.def.section == bfd_abs_section_ptr
++ ? info->output_bfd : entry->u.def.section->owner);
++ break;
++ }
++
+ einfo (_(" relocation truncated to fit: "
+ "%s against symbol `%pT' defined in %pA section in %pB"),
+ reloc_name, entry->root.string,
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0015-intial-commit-of-MB-64-bit.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0015-intial-commit-of-MB-64-bit.patch
new file mode 100644
index 000000000..1afe8307e
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0015-intial-commit-of-MB-64-bit.patch
@@ -0,0 +1,4738 @@
+From e0a7cf883ed02a73fda5f7d3e131afc8f1ebe416 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Sun, 30 Sep 2018 16:28:28 +0530
+Subject: [PATCH] intial commit of MB 64-bit
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/Makefile.am | 2 +
+ bfd/Makefile.in | 3 +
+ bfd/config.bfd | 4 +
+ bfd/configure | 2 +
+ bfd/configure.ac | 2 +
+ bfd/cpu-microblaze.c | 52 +-
+ bfd/elf64-microblaze.c | 3584 ++++++++++++++++++++++++++++++++++++
+ bfd/targets.c | 6 +
+ gas/config/tc-microblaze.c | 274 ++-
+ gas/config/tc-microblaze.h | 4 +-
+ include/elf/common.h | 1 +
+ ld/Makefile.am | 8 +
+ ld/Makefile.in | 10 +
+ ld/configure.tgt | 3 +
+ ld/emulparams/elf64microblaze.sh | 23 +
+ ld/emulparams/elf64microblazeel.sh | 23 +
+ opcodes/microblaze-dis.c | 39 +-
+ opcodes/microblaze-opc.h | 162 +-
+ opcodes/microblaze-opcm.h | 20 +-
+ 19 files changed, 4181 insertions(+), 41 deletions(-)
+ create mode 100644 bfd/elf64-microblaze.c
+ create mode 100644 ld/emulparams/elf64microblaze.sh
+ create mode 100644 ld/emulparams/elf64microblazeel.sh
+
+diff --git a/bfd/Makefile.am b/bfd/Makefile.am
+index a919155..c5fd250 100644
+--- a/bfd/Makefile.am
++++ b/bfd/Makefile.am
+@@ -570,6 +570,7 @@ BFD64_BACKENDS = \
+ elf64-riscv.lo \
+ elfxx-riscv.lo \
+ elf64-s390.lo \
++ elf64-microblaze.lo \
+ elf64-sparc.lo \
+ elf64-tilegx.lo \
+ elf64-x86-64.lo \
+@@ -603,6 +604,7 @@ BFD64_BACKENDS_CFILES = \
+ elf64-nfp.c \
+ elf64-ppc.c \
+ elf64-s390.c \
++ elf64-microblaze.c \
+ elf64-sparc.c \
+ elf64-tilegx.c \
+ elf64-x86-64.c \
+diff --git a/bfd/Makefile.in b/bfd/Makefile.in
+index 896df52..fd457cb 100644
+--- a/bfd/Makefile.in
++++ b/bfd/Makefile.in
+@@ -995,6 +995,7 @@ BFD64_BACKENDS = \
+ elf64-riscv.lo \
+ elfxx-riscv.lo \
+ elf64-s390.lo \
++ elf64-microblaze.lo \
+ elf64-sparc.lo \
+ elf64-tilegx.lo \
+ elf64-x86-64.lo \
+@@ -1028,6 +1029,7 @@ BFD64_BACKENDS_CFILES = \
+ elf64-nfp.c \
+ elf64-ppc.c \
+ elf64-s390.c \
++ elf64-microblaze.c \
+ elf64-sparc.c \
+ elf64-tilegx.c \
+ elf64-x86-64.c \
+@@ -1494,6 +1496,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-ppc.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-riscv.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-s390.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-microblaze.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-sparc.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-tilegx.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf64-x86-64.Plo@am__quote@
+diff --git a/bfd/config.bfd b/bfd/config.bfd
+index aef1448..8072c8a 100644
+--- a/bfd/config.bfd
++++ b/bfd/config.bfd
+@@ -850,11 +850,15 @@ case "${targ}" in
+ microblazeel*-*)
+ targ_defvec=microblaze_elf32_le_vec
+ targ_selvecs=microblaze_elf32_vec
++ targ64_selvecs=microblaze_elf64_vec
++ targ64_selvecs=microblaze_elf64_le_vec
+ ;;
+
+ microblaze*-*)
+ targ_defvec=microblaze_elf32_vec
+ targ_selvecs=microblaze_elf32_le_vec
++ targ64_selvecs=microblaze_elf64_vec
++ targ64_selvecs=microblaze_elf64_le_vec
+ ;;
+
+ #ifdef BFD64
+diff --git a/bfd/configure b/bfd/configure
+index e5bde48..5bf94d5 100755
+--- a/bfd/configure
++++ b/bfd/configure
+@@ -15502,6 +15502,8 @@ do
+ rx_elf32_linux_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;;
+ s390_elf32_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;;
+ s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
++ microblaze_elf64_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
++ microblaze_elf64_le_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
+ score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
+ score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
+ sh_coff_vec) tb="$tb coff-sh.lo $coff" ;;
+diff --git a/bfd/configure.ac b/bfd/configure.ac
+index 7cdf9c8..998a651 100644
+--- a/bfd/configure.ac
++++ b/bfd/configure.ac
+@@ -615,6 +615,8 @@ do
+ rx_elf32_linux_le_vec) tb="$tb elf32-rx.lo elf32.lo $elf" ;;
+ s390_elf32_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;;
+ s390_elf64_vec) tb="$tb elf64-s390.lo elf64.lo $elf"; target_size=64 ;;
++ microblaze_elf64_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
++ microblaze_elf64_le_vec) tb="$tb elf64-microblaze.lo elf64.lo $elf"; target_size=64 ;;
+ score_elf32_be_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
+ score_elf32_le_vec) tb="$tb elf32-score.lo elf32-score7.lo elf32.lo $elf"; want64=true; target_size=64 ;;
+ sh_coff_vec) tb="$tb coff-sh.lo $coff" ;;
+diff --git a/bfd/cpu-microblaze.c b/bfd/cpu-microblaze.c
+index 9bc2eb3..c91ba46 100644
+--- a/bfd/cpu-microblaze.c
++++ b/bfd/cpu-microblaze.c
+@@ -23,7 +23,24 @@
+ #include "bfd.h"
+ #include "libbfd.h"
+
+-const bfd_arch_info_type bfd_microblaze_arch =
++const bfd_arch_info_type bfd_microblaze_arch[] =
++{
++#if BFD_DEFAULT_TARGET_SIZE == 64
++{
++ 64, /* 32 bits in a word. */
++ 64, /* 32 bits in an address. */
++ 8, /* 8 bits in a byte. */
++ bfd_arch_microblaze, /* Architecture. */
++ 0, /* Machine number - 0 for now. */
++ "microblaze", /* Architecture name. */
++ "MicroBlaze", /* Printable name. */
++ 3, /* Section align power. */
++ FALSE, /* Is this the default architecture ? */
++ bfd_default_compatible, /* Architecture comparison function. */
++ bfd_default_scan, /* String to architecture conversion. */
++ bfd_arch_default_fill, /* Default fill. */
++ &bfd_microblaze_arch[1] /* Next in list. */
++},
+ {
+ 32, /* 32 bits in a word. */
+ 32, /* 32 bits in an address. */
+@@ -38,4 +55,37 @@ const bfd_arch_info_type bfd_microblaze_arch =
+ bfd_default_scan, /* String to architecture conversion. */
+ bfd_arch_default_fill, /* Default fill. */
+ NULL /* Next in list. */
++}
++#else
++{
++ 32, /* 32 bits in a word. */
++ 32, /* 32 bits in an address. */
++ 8, /* 8 bits in a byte. */
++ bfd_arch_microblaze, /* Architecture. */
++ 0, /* Machine number - 0 for now. */
++ "microblaze", /* Architecture name. */
++ "MicroBlaze", /* Printable name. */
++ 3, /* Section align power. */
++ TRUE, /* Is this the default architecture ? */
++ bfd_default_compatible, /* Architecture comparison function. */
++ bfd_default_scan, /* String to architecture conversion. */
++ bfd_arch_default_fill, /* Default fill. */
++ &bfd_microblaze_arch[1] /* Next in list. */
++},
++{
++ 64, /* 32 bits in a word. */
++ 64, /* 32 bits in an address. */
++ 8, /* 8 bits in a byte. */
++ bfd_arch_microblaze, /* Architecture. */
++ 0, /* Machine number - 0 for now. */
++ "microblaze", /* Architecture name. */
++ "MicroBlaze", /* Printable name. */
++ 3, /* Section align power. */
++ FALSE, /* Is this the default architecture ? */
++ bfd_default_compatible, /* Architecture comparison function. */
++ bfd_default_scan, /* String to architecture conversion. */
++ bfd_arch_default_fill, /* Default fill. */
++ NULL /* Next in list. */
++}
++#endif
+ };
+diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
+new file mode 100644
+index 0000000..0f43ae6
+--- /dev/null
++++ b/bfd/elf64-microblaze.c
+@@ -0,0 +1,3584 @@
++/* Xilinx MicroBlaze-specific support for 32-bit ELF
++
++ Copyright (C) 2009-2016 Free Software Foundation, Inc.
++
++ This file is part of BFD, the Binary File Descriptor library.
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 3 of the License, or
++ (at your option) any later version.
++
++ 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, write to the
++ Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
++ Boston, MA 02110-1301, USA. */
++
++
++int dbg1 = 0;
++
++#include "sysdep.h"
++#include "bfd.h"
++#include "bfdlink.h"
++#include "libbfd.h"
++#include "elf-bfd.h"
++#include "elf/microblaze.h"
++#include <assert.h>
++
++#define USE_RELA /* Only USE_REL is actually significant, but this is
++ here are a reminder... */
++#define INST_WORD_SIZE 4
++
++static int ro_small_data_pointer = 0;
++static int rw_small_data_pointer = 0;
++
++static reloc_howto_type * microblaze_elf_howto_table [(int) R_MICROBLAZE_max];
++
++static reloc_howto_type microblaze_elf_howto_raw[] =
++{
++ /* This reloc does nothing. */
++ HOWTO (R_MICROBLAZE_NONE, /* Type. */
++ 0, /* Rightshift. */
++ 3, /* Size (0 = byte, 1 = short, 2 = long). */
++ 0, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ NULL, /* Special Function. */
++ "R_MICROBLAZE_NONE", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* A standard 32 bit relocation. */
++ HOWTO (R_MICROBLAZE_32, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 32, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_bitfield, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_32", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0xffffffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* A standard PCREL 32 bit relocation. */
++ HOWTO (R_MICROBLAZE_32_PCREL,/* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 32, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_bitfield, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_32_PCREL", /* Name. */
++ TRUE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0xffffffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
++ /* A 64 bit PCREL relocation. Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_64_PCREL,/* Type. */
++ 0, /* Rightshift. */
++ 4, /* Size (0 = byte, 1 = short, 2 = long). */
++ 64, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_64_PCREL", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
++ /* The low half of a PCREL 32 bit relocation. */
++ HOWTO (R_MICROBLAZE_32_PCREL_LO, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_signed, /* Complain on overflow. */
++ bfd_elf_generic_reloc, /* Special Function. */
++ "R_MICROBLAZE_32_PCREL_LO", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
++ /* A 64 bit relocation. Table entry not really used. */
++ HOWTO (R_MICROBLAZE_64, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_64", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* The low half of a 32 bit relocation. */
++ HOWTO (R_MICROBLAZE_32_LO, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_signed, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_32_LO", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* Read-only small data section relocation. */
++ HOWTO (R_MICROBLAZE_SRO32, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_bitfield, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_SRO32", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* Read-write small data area relocation. */
++ HOWTO (R_MICROBLAZE_SRW32, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_bitfield, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_SRW32", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ HOWTO (R_MICROBLAZE_32_NONE, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 32, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_bitfield, /* Complain on overflow. */
++ NULL, /* Special Function. */
++ "R_MICROBLAZE_32_NONE",/* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* This reloc does nothing. Used for relaxation. */
++ HOWTO (R_MICROBLAZE_64_NONE, /* Type. */
++ 0, /* Rightshift. */
++ 3, /* Size (0 = byte, 1 = short, 2 = long). */
++ 0, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ NULL, /* Special Function. */
++ "R_MICROBLAZE_64_NONE",/* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* Symbol Op Symbol relocation. */
++ HOWTO (R_MICROBLAZE_32_SYM_OP_SYM, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 32, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_bitfield, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_32_SYM_OP_SYM", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0xffffffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* GNU extension to record C++ vtable hierarchy. */
++ HOWTO (R_MICROBLAZE_GNU_VTINHERIT, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 0, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont,/* Complain on overflow. */
++ NULL, /* Special Function. */
++ "R_MICROBLAZE_GNU_VTINHERIT", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* GNU extension to record C++ vtable member usage. */
++ HOWTO (R_MICROBLAZE_GNU_VTENTRY, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 0, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont,/* Complain on overflow. */
++ _bfd_elf_rel_vtable_reloc_fn, /* Special Function. */
++ "R_MICROBLAZE_GNU_VTENTRY", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* A 64 bit GOTPC relocation. Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_GOTPC_64, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc, /* Special Function. */
++ "R_MICROBLAZE_GOTPC_64", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
++ /* A 64 bit GOT relocation. Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_GOT_64, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_GOT_64",/* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* A 64 bit PLT relocation. Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_PLT_64, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_PLT_64",/* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
++ /* Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_REL, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_REL", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
++ /* Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_JUMP_SLOT,/* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_JUMP_SLOT", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
++ /* Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_GLOB_DAT,/* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_GLOB_DAT", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
++ /* A 64 bit GOT relative relocation. Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_GOTOFF_64, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_GOTOFF_64", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* A 32 bit GOT relative relocation. Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_GOTOFF_32, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc, /* Special Function. */
++ "R_MICROBLAZE_GOTOFF_32", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* COPY relocation. Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_COPY, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ FALSE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_COPY", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
++ /* Marker relocs for TLS. */
++ HOWTO (R_MICROBLAZE_TLS,
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 32, /* bitsize */
++ FALSE, /* pc_relative */
++ 0, /* bitpos */
++ complain_overflow_dont, /* complain_on_overflow */
++ bfd_elf_generic_reloc, /* special_function */
++ "R_MICROBLAZE_TLS", /* name */
++ FALSE, /* partial_inplace */
++ 0, /* src_mask */
++ 0x0000ffff, /* dst_mask */
++ FALSE), /* pcrel_offset */
++
++ HOWTO (R_MICROBLAZE_TLSGD,
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 32, /* bitsize */
++ FALSE, /* pc_relative */
++ 0, /* bitpos */
++ complain_overflow_dont, /* complain_on_overflow */
++ bfd_elf_generic_reloc, /* special_function */
++ "R_MICROBLAZE_TLSGD", /* name */
++ FALSE, /* partial_inplace */
++ 0, /* src_mask */
++ 0x0000ffff, /* dst_mask */
++ FALSE), /* pcrel_offset */
++
++ HOWTO (R_MICROBLAZE_TLSLD,
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 32, /* bitsize */
++ FALSE, /* pc_relative */
++ 0, /* bitpos */
++ complain_overflow_dont, /* complain_on_overflow */
++ bfd_elf_generic_reloc, /* special_function */
++ "R_MICROBLAZE_TLSLD", /* name */
++ FALSE, /* partial_inplace */
++ 0, /* src_mask */
++ 0x0000ffff, /* dst_mask */
++ FALSE), /* pcrel_offset */
++
++ /* Computes the load module index of the load module that contains the
++ definition of its TLS sym. */
++ HOWTO (R_MICROBLAZE_TLSDTPMOD32,
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 32, /* bitsize */
++ FALSE, /* pc_relative */
++ 0, /* bitpos */
++ complain_overflow_dont, /* complain_on_overflow */
++ bfd_elf_generic_reloc, /* special_function */
++ "R_MICROBLAZE_TLSDTPMOD32", /* name */
++ FALSE, /* partial_inplace */
++ 0, /* src_mask */
++ 0x0000ffff, /* dst_mask */
++ FALSE), /* pcrel_offset */
++
++ /* Computes a dtv-relative displacement, the difference between the value
++ of sym+add and the base address of the thread-local storage block that
++ contains the definition of sym, minus 0x8000. Used for initializing GOT */
++ HOWTO (R_MICROBLAZE_TLSDTPREL32,
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 32, /* bitsize */
++ FALSE, /* pc_relative */
++ 0, /* bitpos */
++ complain_overflow_dont, /* complain_on_overflow */
++ bfd_elf_generic_reloc, /* special_function */
++ "R_MICROBLAZE_TLSDTPREL32", /* name */
++ FALSE, /* partial_inplace */
++ 0, /* src_mask */
++ 0x0000ffff, /* dst_mask */
++ FALSE), /* pcrel_offset */
++
++ /* Computes a dtv-relative displacement, the difference between the value
++ of sym+add and the base address of the thread-local storage block that
++ contains the definition of sym, minus 0x8000. */
++ HOWTO (R_MICROBLAZE_TLSDTPREL64,
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 32, /* bitsize */
++ FALSE, /* pc_relative */
++ 0, /* bitpos */
++ complain_overflow_dont, /* complain_on_overflow */
++ bfd_elf_generic_reloc, /* special_function */
++ "R_MICROBLAZE_TLSDTPREL64", /* name */
++ FALSE, /* partial_inplace */
++ 0, /* src_mask */
++ 0x0000ffff, /* dst_mask */
++ FALSE), /* pcrel_offset */
++
++ /* Computes a tp-relative displacement, the difference between the value of
++ sym+add and the value of the thread pointer (r13). */
++ HOWTO (R_MICROBLAZE_TLSGOTTPREL32,
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 32, /* bitsize */
++ FALSE, /* pc_relative */
++ 0, /* bitpos */
++ complain_overflow_dont, /* complain_on_overflow */
++ bfd_elf_generic_reloc, /* special_function */
++ "R_MICROBLAZE_TLSGOTTPREL32", /* name */
++ FALSE, /* partial_inplace */
++ 0, /* src_mask */
++ 0x0000ffff, /* dst_mask */
++ FALSE), /* pcrel_offset */
++
++ /* Computes a tp-relative displacement, the difference between the value of
++ sym+add and the value of the thread pointer (r13). */
++ HOWTO (R_MICROBLAZE_TLSTPREL32,
++ 0, /* rightshift */
++ 2, /* size (0 = byte, 1 = short, 2 = long) */
++ 32, /* bitsize */
++ FALSE, /* pc_relative */
++ 0, /* bitpos */
++ complain_overflow_dont, /* complain_on_overflow */
++ bfd_elf_generic_reloc, /* special_function */
++ "R_MICROBLAZE_TLSTPREL32", /* name */
++ FALSE, /* partial_inplace */
++ 0, /* src_mask */
++ 0x0000ffff, /* dst_mask */
++ FALSE), /* pcrel_offset */
++
++};
++
++#ifndef NUM_ELEM
++#define NUM_ELEM(a) (sizeof (a) / sizeof (a)[0])
++#endif
++
++/* Initialize the microblaze_elf_howto_table, so that linear accesses can be done. */
++
++static void
++microblaze_elf_howto_init (void)
++{
++ unsigned int i;
++
++ for (i = NUM_ELEM (microblaze_elf_howto_raw); i--;)
++ {
++ unsigned int type;
++
++ type = microblaze_elf_howto_raw[i].type;
++
++ BFD_ASSERT (type < NUM_ELEM (microblaze_elf_howto_table));
++
++ microblaze_elf_howto_table [type] = & microblaze_elf_howto_raw [i];
++ }
++}
++
++static reloc_howto_type *
++microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
++ bfd_reloc_code_real_type code)
++{
++ enum elf_microblaze_reloc_type microblaze_reloc = R_MICROBLAZE_NONE;
++
++ switch (code)
++ {
++ case BFD_RELOC_NONE:
++ microblaze_reloc = R_MICROBLAZE_NONE;
++ break;
++ case BFD_RELOC_MICROBLAZE_32_NONE:
++ microblaze_reloc = R_MICROBLAZE_32_NONE;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_NONE:
++ microblaze_reloc = R_MICROBLAZE_64_NONE;
++ break;
++ case BFD_RELOC_32:
++ microblaze_reloc = R_MICROBLAZE_32;
++ break;
++ /* RVA is treated the same as 32 */
++ case BFD_RELOC_RVA:
++ microblaze_reloc = R_MICROBLAZE_32;
++ break;
++ case BFD_RELOC_32_PCREL:
++ microblaze_reloc = R_MICROBLAZE_32_PCREL;
++ break;
++ case BFD_RELOC_64_PCREL:
++ microblaze_reloc = R_MICROBLAZE_64_PCREL;
++ break;
++ case BFD_RELOC_MICROBLAZE_32_LO_PCREL:
++ microblaze_reloc = R_MICROBLAZE_32_PCREL_LO;
++ break;
++ case BFD_RELOC_64:
++ microblaze_reloc = R_MICROBLAZE_64;
++ break;
++ case BFD_RELOC_MICROBLAZE_32_LO:
++ microblaze_reloc = R_MICROBLAZE_32_LO;
++ break;
++ case BFD_RELOC_MICROBLAZE_32_ROSDA:
++ microblaze_reloc = R_MICROBLAZE_SRO32;
++ break;
++ case BFD_RELOC_MICROBLAZE_32_RWSDA:
++ microblaze_reloc = R_MICROBLAZE_SRW32;
++ break;
++ case BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:
++ microblaze_reloc = R_MICROBLAZE_32_SYM_OP_SYM;
++ break;
++ case BFD_RELOC_VTABLE_INHERIT:
++ microblaze_reloc = R_MICROBLAZE_GNU_VTINHERIT;
++ break;
++ case BFD_RELOC_VTABLE_ENTRY:
++ microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_GOTPC:
++ microblaze_reloc = R_MICROBLAZE_GOTPC_64;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_GOT:
++ microblaze_reloc = R_MICROBLAZE_GOT_64;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_PLT:
++ microblaze_reloc = R_MICROBLAZE_PLT_64;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_GOTOFF:
++ microblaze_reloc = R_MICROBLAZE_GOTOFF_64;
++ break;
++ case BFD_RELOC_MICROBLAZE_32_GOTOFF:
++ microblaze_reloc = R_MICROBLAZE_GOTOFF_32;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_TLSGD:
++ microblaze_reloc = R_MICROBLAZE_TLSGD;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_TLSLD:
++ microblaze_reloc = R_MICROBLAZE_TLSLD;
++ break;
++ case BFD_RELOC_MICROBLAZE_32_TLSDTPREL:
++ microblaze_reloc = R_MICROBLAZE_TLSDTPREL32;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_TLSDTPREL:
++ microblaze_reloc = R_MICROBLAZE_TLSDTPREL64;
++ break;
++ case BFD_RELOC_MICROBLAZE_32_TLSDTPMOD:
++ microblaze_reloc = R_MICROBLAZE_TLSDTPMOD32;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL:
++ microblaze_reloc = R_MICROBLAZE_TLSGOTTPREL32;
++ break;
++ case BFD_RELOC_MICROBLAZE_64_TLSTPREL:
++ microblaze_reloc = R_MICROBLAZE_TLSTPREL32;
++ break;
++ case BFD_RELOC_MICROBLAZE_COPY:
++ microblaze_reloc = R_MICROBLAZE_COPY;
++ break;
++ default:
++ return (reloc_howto_type *) NULL;
++ }
++
++ if (!microblaze_elf_howto_table [R_MICROBLAZE_32])
++ /* Initialize howto table if needed. */
++ microblaze_elf_howto_init ();
++
++ return microblaze_elf_howto_table [(int) microblaze_reloc];
++};
++
++static reloc_howto_type *
++microblaze_elf_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
++ const char *r_name)
++{
++ unsigned int i;
++
++ for (i = 0; i < NUM_ELEM (microblaze_elf_howto_raw); i++)
++ if (microblaze_elf_howto_raw[i].name != NULL
++ && strcasecmp (microblaze_elf_howto_raw[i].name, r_name) == 0)
++ return &microblaze_elf_howto_raw[i];
++
++ return NULL;
++}
++
++/* Set the howto pointer for a RCE ELF reloc. */
++
++static void
++microblaze_elf_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED,
++ arelent * cache_ptr,
++ Elf_Internal_Rela * dst)
++{
++ unsigned int r_type;
++
++ if (!microblaze_elf_howto_table [R_MICROBLAZE_32])
++ /* Initialize howto table if needed. */
++ microblaze_elf_howto_init ();
++
++ r_type = ELF64_R_TYPE (dst->r_info);
++ if (r_type >= R_MICROBLAZE_max)
++ {
++ (*_bfd_error_handler) (_("%B: unrecognised MicroBlaze reloc number: %d"),
++ abfd, r_type);
++ bfd_set_error (bfd_error_bad_value);
++ r_type = R_MICROBLAZE_NONE;
++ }
++
++ cache_ptr->howto = microblaze_elf_howto_table [r_type];
++}
++
++/* Microblaze ELF local labels start with 'L.' or '$L', not '.L'. */
++
++static bfd_boolean
++microblaze_elf_is_local_label_name (bfd *abfd, const char *name)
++{
++ if (name[0] == 'L' && name[1] == '.')
++ return TRUE;
++
++ if (name[0] == '$' && name[1] == 'L')
++ return TRUE;
++
++ /* With gcc, the labels go back to starting with '.', so we accept
++ the generic ELF local label syntax as well. */
++ return _bfd_elf_is_local_label_name (abfd, name);
++}
++
++/* The microblaze linker (like many others) needs to keep track of
++ the number of relocs that it decides to copy as dynamic relocs in
++ check_relocs for each symbol. This is so that it can later discard
++ them if they are found to be unnecessary. We store the information
++ in a field extending the regular ELF linker hash table. */
++
++struct elf64_mb_dyn_relocs
++{
++ struct elf64_mb_dyn_relocs *next;
++
++ /* The input section of the reloc. */
++ asection *sec;
++
++ /* Total number of relocs copied for the input section. */
++ bfd_size_type count;
++
++ /* Number of pc-relative relocs copied for the input section. */
++ bfd_size_type pc_count;
++};
++
++/* ELF linker hash entry. */
++
++struct elf64_mb_link_hash_entry
++{
++ struct elf_link_hash_entry elf;
++
++ /* Track dynamic relocs copied for this symbol. */
++ struct elf64_mb_dyn_relocs *dyn_relocs;
++
++ /* TLS Reference Types for the symbol; Updated by check_relocs */
++#define TLS_GD 1 /* GD reloc. */
++#define TLS_LD 2 /* LD reloc. */
++#define TLS_TPREL 4 /* TPREL reloc, => IE. */
++#define TLS_DTPREL 8 /* DTPREL reloc, => LD. */
++#define TLS_TLS 16 /* Any TLS reloc. */
++ unsigned char tls_mask;
++
++};
++
++#define IS_TLS_GD(x) (x == (TLS_TLS | TLS_GD))
++#define IS_TLS_LD(x) (x == (TLS_TLS | TLS_LD))
++#define IS_TLS_DTPREL(x) (x == (TLS_TLS | TLS_DTPREL))
++#define IS_TLS_NONE(x) (x == 0)
++
++#define elf64_mb_hash_entry(ent) ((struct elf64_mb_link_hash_entry *)(ent))
++
++/* ELF linker hash table. */
++
++struct elf64_mb_link_hash_table
++{
++ struct elf_link_hash_table elf;
++
++ /* Short-cuts to get to dynamic linker sections. */
++ asection *sgot;
++ asection *sgotplt;
++ asection *srelgot;
++ asection *splt;
++ asection *srelplt;
++ asection *sdynbss;
++ asection *srelbss;
++
++ /* Small local sym to section mapping cache. */
++ struct sym_cache sym_sec;
++
++ /* TLS Local Dynamic GOT Entry */
++ union {
++ bfd_signed_vma refcount;
++ bfd_vma offset;
++ } tlsld_got;
++};
++
++/* Nonzero if this section has TLS related relocations. */
++#define has_tls_reloc sec_flg0
++
++/* Get the ELF linker hash table from a link_info structure. */
++
++#define elf64_mb_hash_table(p) \
++ (elf_hash_table_id ((struct elf_link_hash_table *) ((p)->hash)) \
++ == MICROBLAZE_ELF_DATA ? ((struct elf64_mb_link_hash_table *) ((p)->hash)) : NULL)
++
++/* Create an entry in a microblaze ELF linker hash table. */
++
++static struct bfd_hash_entry *
++link_hash_newfunc (struct bfd_hash_entry *entry,
++ struct bfd_hash_table *table,
++ const char *string)
++{
++ /* Allocate the structure if it has not already been allocated by a
++ subclass. */
++ if (entry == NULL)
++ {
++ entry = bfd_hash_allocate (table,
++ sizeof (struct elf64_mb_link_hash_entry));
++ if (entry == NULL)
++ return entry;
++ }
++
++ /* Call the allocation method of the superclass. */
++ entry = _bfd_elf_link_hash_newfunc (entry, table, string);
++ if (entry != NULL)
++ {
++ struct elf64_mb_link_hash_entry *eh;
++
++ eh = (struct elf64_mb_link_hash_entry *) entry;
++ eh->dyn_relocs = NULL;
++ eh->tls_mask = 0;
++ }
++
++ return entry;
++}
++
++/* Create a mb ELF linker hash table. */
++
++static struct bfd_link_hash_table *
++microblaze_elf_link_hash_table_create (bfd *abfd)
++{
++ struct elf64_mb_link_hash_table *ret;
++ bfd_size_type amt = sizeof (struct elf64_mb_link_hash_table);
++
++ ret = (struct elf64_mb_link_hash_table *) bfd_zmalloc (amt);
++ if (ret == NULL)
++ return NULL;
++
++ if (!_bfd_elf_link_hash_table_init (&ret->elf, abfd, link_hash_newfunc,
++ sizeof (struct elf64_mb_link_hash_entry),
++ MICROBLAZE_ELF_DATA))
++ {
++ free (ret);
++ return NULL;
++ }
++
++ return &ret->elf.root;
++}
++
++/* Set the values of the small data pointers. */
++
++static void
++microblaze_elf_final_sdp (struct bfd_link_info *info)
++{
++ struct bfd_link_hash_entry *h;
++
++ h = bfd_link_hash_lookup (info->hash, RO_SDA_ANCHOR_NAME, FALSE, FALSE, TRUE);
++ if (h != (struct bfd_link_hash_entry *) NULL
++ && h->type == bfd_link_hash_defined)
++ ro_small_data_pointer = (h->u.def.value
++ + h->u.def.section->output_section->vma
++ + h->u.def.section->output_offset);
++
++ h = bfd_link_hash_lookup (info->hash, RW_SDA_ANCHOR_NAME, FALSE, FALSE, TRUE);
++ if (h != (struct bfd_link_hash_entry *) NULL
++ && h->type == bfd_link_hash_defined)
++ rw_small_data_pointer = (h->u.def.value
++ + h->u.def.section->output_section->vma
++ + h->u.def.section->output_offset);
++}
++
++static bfd_vma
++dtprel_base (struct bfd_link_info *info)
++{
++ /* If tls_sec is NULL, we should have signalled an error already. */
++ if (elf_hash_table (info)->tls_sec == NULL)
++ return 0;
++ return elf_hash_table (info)->tls_sec->vma;
++}
++
++/* The size of the thread control block. */
++#define TCB_SIZE 8
++
++/* Output a simple dynamic relocation into SRELOC. */
++
++static void
++microblaze_elf_output_dynamic_relocation (bfd *output_bfd,
++ asection *sreloc,
++ unsigned long reloc_index,
++ unsigned long indx,
++ int r_type,
++ bfd_vma offset,
++ bfd_vma addend)
++{
++
++ Elf_Internal_Rela rel;
++
++ rel.r_info = ELF64_R_INFO (indx, r_type);
++ rel.r_offset = offset;
++ rel.r_addend = addend;
++
++ bfd_elf64_swap_reloca_out (output_bfd, &rel,
++ (sreloc->contents + reloc_index * sizeof (Elf64_External_Rela)));
++}
++
++/* This code is taken from elf64-m32r.c
++ There is some attempt to make this function usable for many architectures,
++ both USE_REL and USE_RELA ['twould be nice if such a critter existed],
++ if only to serve as a learning tool.
++
++ The RELOCATE_SECTION function is called by the new ELF backend linker
++ to handle the relocations for a section.
++
++ The relocs are always passed as Rela structures; if the section
++ actually uses Rel structures, the r_addend field will always be
++ zero.
++
++ This function is responsible for adjust the section contents as
++ necessary, and (if using Rela relocs and generating a
++ relocatable output file) adjusting the reloc addend as
++ necessary.
++
++ This function does not have to worry about setting the reloc
++ address or the reloc symbol index.
++
++ LOCAL_SYMS is a pointer to the swapped in local symbols.
++
++ LOCAL_SECTIONS is an array giving the section in the input file
++ corresponding to the st_shndx field of each local symbol.
++
++ The global hash table entry for the global symbols can be found
++ via elf_sym_hashes (input_bfd).
++
++ When generating relocatable output, this function must handle
++ STB_LOCAL/STT_SECTION symbols specially. The output symbol is
++ going to be the section symbol corresponding to the output
++ section, which means that the addend must be adjusted
++ accordingly. */
++
++static bfd_boolean
++microblaze_elf_relocate_section (bfd *output_bfd,
++ struct bfd_link_info *info,
++ bfd *input_bfd,
++ asection *input_section,
++ bfd_byte *contents,
++ Elf_Internal_Rela *relocs,
++ Elf_Internal_Sym *local_syms,
++ asection **local_sections)
++{
++ struct elf64_mb_link_hash_table *htab;
++ Elf_Internal_Shdr *symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
++ struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (input_bfd);
++ Elf_Internal_Rela *rel, *relend;
++ int endian = (bfd_little_endian (output_bfd)) ? 0 : 2;
++ /* Assume success. */
++ bfd_boolean ret = TRUE;
++ asection *sreloc;
++ bfd_vma *local_got_offsets;
++ unsigned int tls_type;
++
++ if (!microblaze_elf_howto_table[R_MICROBLAZE_max-1])
++ microblaze_elf_howto_init ();
++
++ htab = elf64_mb_hash_table (info);
++ if (htab == NULL)
++ return FALSE;
++
++ local_got_offsets = elf_local_got_offsets (input_bfd);
++
++ sreloc = elf_section_data (input_section)->sreloc;
++
++ rel = relocs;
++ relend = relocs + input_section->reloc_count;
++ for (; rel < relend; rel++)
++ {
++ int r_type;
++ reloc_howto_type *howto;
++ unsigned long r_symndx;
++ bfd_vma addend = rel->r_addend;
++ bfd_vma offset = rel->r_offset;
++ struct elf_link_hash_entry *h;
++ Elf_Internal_Sym *sym;
++ asection *sec;
++ const char *sym_name;
++ bfd_reloc_status_type r = bfd_reloc_ok;
++ const char *errmsg = NULL;
++ bfd_boolean unresolved_reloc = FALSE;
++
++ h = NULL;
++ r_type = ELF64_R_TYPE (rel->r_info);
++ tls_type = 0;
++
++ if (r_type < 0 || r_type >= (int) R_MICROBLAZE_max)
++ {
++ (*_bfd_error_handler) (_("%s: unknown relocation type %d"),
++ bfd_get_filename (input_bfd), (int) r_type);
++ bfd_set_error (bfd_error_bad_value);
++ ret = FALSE;
++ continue;
++ }
++
++ howto = microblaze_elf_howto_table[r_type];
++ r_symndx = ELF64_R_SYM (rel->r_info);
++
++ if (bfd_link_relocatable (info))
++ {
++ /* This is a relocatable link. We don't have to change
++ anything, unless the reloc is against a section symbol,
++ in which case we have to adjust according to where the
++ section symbol winds up in the output section. */
++ sec = NULL;
++ if (r_symndx >= symtab_hdr->sh_info)
++ /* External symbol. */
++ continue;
++
++ /* Local symbol. */
++ sym = local_syms + r_symndx;
++ sym_name = "<local symbol>";
++ /* STT_SECTION: symbol is associated with a section. */
++ if (ELF_ST_TYPE (sym->st_info) != STT_SECTION)
++ /* Symbol isn't associated with a section. Nothing to do. */
++ continue;
++
++ sec = local_sections[r_symndx];
++ addend += sec->output_offset + sym->st_value;
++#ifndef USE_REL
++ /* This can't be done for USE_REL because it doesn't mean anything
++ and elf_link_input_bfd asserts this stays zero. */
++ /* rel->r_addend = addend; */
++#endif
++
++#ifndef USE_REL
++ /* Addends are stored with relocs. We're done. */
++ continue;
++#else /* USE_REL */
++ /* If partial_inplace, we need to store any additional addend
++ back in the section. */
++ if (!howto->partial_inplace)
++ continue;
++ /* ??? Here is a nice place to call a special_function like handler. */
++ r = _bfd_relocate_contents (howto, input_bfd, addend,
++ contents + offset);
++#endif /* USE_REL */
++ }
++ else
++ {
++ bfd_vma relocation;
++
++ /* This is a final link. */
++ sym = NULL;
++ sec = NULL;
++ unresolved_reloc = FALSE;
++
++ if (r_symndx < symtab_hdr->sh_info)
++ {
++ /* Local symbol. */
++ sym = local_syms + r_symndx;
++ sec = local_sections[r_symndx];
++ if (sec == 0)
++ continue;
++ sym_name = "<local symbol>";
++ relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
++ /* r_addend may have changed if the reference section was
++ a merge section. */
++ addend = rel->r_addend;
++ }
++ else
++ {
++ /* External symbol. */
++ bfd_boolean warned ATTRIBUTE_UNUSED;
++ bfd_boolean ignored ATTRIBUTE_UNUSED;
++
++ RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
++ r_symndx, symtab_hdr, sym_hashes,
++ h, sec, relocation,
++ unresolved_reloc, warned, ignored);
++ sym_name = h->root.root.string;
++ }
++
++ /* Sanity check the address. */
++ if (offset > bfd_get_section_limit (input_bfd, input_section))
++ {
++ r = bfd_reloc_outofrange;
++ goto check_reloc;
++ }
++
++ switch ((int) r_type)
++ {
++ case (int) R_MICROBLAZE_SRO32 :
++ {
++ const char *name;
++
++ /* Only relocate if the symbol is defined. */
++ if (sec)
++ {
++ name = bfd_get_section_name (sec->owner, sec);
++
++ if (strcmp (name, ".sdata2") == 0
++ || strcmp (name, ".sbss2") == 0)
++ {
++ if (ro_small_data_pointer == 0)
++ microblaze_elf_final_sdp (info);
++ if (ro_small_data_pointer == 0)
++ {
++ ret = FALSE;
++ r = bfd_reloc_undefined;
++ goto check_reloc;
++ }
++
++ /* At this point `relocation' contains the object's
++ address. */
++ relocation -= ro_small_data_pointer;
++ /* Now it contains the offset from _SDA2_BASE_. */
++ r = _bfd_final_link_relocate (howto, input_bfd,
++ input_section,
++ contents, offset,
++ relocation, addend);
++ }
++ else
++ {
++ (*_bfd_error_handler) (_("%s: The target (%s) of an %s relocation is in the wrong section (%s)"),
++ bfd_get_filename (input_bfd),
++ sym_name,
++ microblaze_elf_howto_table[(int) r_type]->name,
++ bfd_get_section_name (sec->owner, sec));
++ /*bfd_set_error (bfd_error_bad_value); ??? why? */
++ ret = FALSE;
++ continue;
++ }
++ }
++ }
++ break;
++
++ case (int) R_MICROBLAZE_SRW32 :
++ {
++ const char *name;
++
++ /* Only relocate if the symbol is defined. */
++ if (sec)
++ {
++ name = bfd_get_section_name (sec->owner, sec);
++
++ if (strcmp (name, ".sdata") == 0
++ || strcmp (name, ".sbss") == 0)
++ {
++ if (rw_small_data_pointer == 0)
++ microblaze_elf_final_sdp (info);
++ if (rw_small_data_pointer == 0)
++ {
++ ret = FALSE;
++ r = bfd_reloc_undefined;
++ goto check_reloc;
++ }
++
++ /* At this point `relocation' contains the object's
++ address. */
++ relocation -= rw_small_data_pointer;
++ /* Now it contains the offset from _SDA_BASE_. */
++ r = _bfd_final_link_relocate (howto, input_bfd,
++ input_section,
++ contents, offset,
++ relocation, addend);
++ }
++ else
++ {
++ (*_bfd_error_handler) (_("%s: The target (%s) of an %s relocation is in the wrong section (%s)"),
++ bfd_get_filename (input_bfd),
++ sym_name,
++ microblaze_elf_howto_table[(int) r_type]->name,
++ bfd_get_section_name (sec->owner, sec));
++ /*bfd_set_error (bfd_error_bad_value); ??? why? */
++ ret = FALSE;
++ continue;
++ }
++ }
++ }
++ break;
++
++ case (int) R_MICROBLAZE_32_SYM_OP_SYM:
++ break; /* Do nothing. */
++
++ case (int) R_MICROBLAZE_GOTPC_64:
++ relocation = htab->sgotplt->output_section->vma
++ + htab->sgotplt->output_offset;
++ relocation -= (input_section->output_section->vma
++ + input_section->output_offset
++ + offset + INST_WORD_SIZE);
++ relocation += addend;
++ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
++ contents + offset + endian);
++ bfd_put_16 (input_bfd, relocation & 0xffff,
++ contents + offset + endian + INST_WORD_SIZE);
++ break;
++
++ case (int) R_MICROBLAZE_PLT_64:
++ {
++ bfd_vma immediate;
++ if (htab->splt != NULL && h != NULL
++ && h->plt.offset != (bfd_vma) -1)
++ {
++ relocation = (htab->splt->output_section->vma
++ + htab->splt->output_offset
++ + h->plt.offset);
++ unresolved_reloc = FALSE;
++ immediate = relocation - (input_section->output_section->vma
++ + input_section->output_offset
++ + offset + INST_WORD_SIZE);
++ bfd_put_16 (input_bfd, (immediate >> 16) & 0xffff,
++ contents + offset + endian);
++ bfd_put_16 (input_bfd, immediate & 0xffff,
++ contents + offset + endian + INST_WORD_SIZE);
++ }
++ else
++ {
++ relocation -= (input_section->output_section->vma
++ + input_section->output_offset
++ + offset + INST_WORD_SIZE);
++ immediate = relocation;
++ bfd_put_16 (input_bfd, (immediate >> 16) & 0xffff,
++ contents + offset + endian);
++ bfd_put_16 (input_bfd, immediate & 0xffff,
++ contents + offset + endian + INST_WORD_SIZE);
++ }
++ break;
++ }
++
++ case (int) R_MICROBLAZE_TLSGD:
++ tls_type = (TLS_TLS | TLS_GD);
++ goto dogot;
++ case (int) R_MICROBLAZE_TLSLD:
++ tls_type = (TLS_TLS | TLS_LD);
++ dogot:
++ case (int) R_MICROBLAZE_GOT_64:
++ {
++ bfd_vma *offp;
++ bfd_vma off, off2;
++ unsigned long indx;
++ bfd_vma static_value;
++
++ bfd_boolean need_relocs = FALSE;
++ if (htab->sgot == NULL)
++ abort ();
++
++ indx = 0;
++ offp = NULL;
++
++ /* 1. Identify GOT Offset;
++ 2. Compute Static Values
++ 3. Process Module Id, Process Offset
++ 4. Fixup Relocation with GOT offset value. */
++
++ /* 1. Determine GOT Offset to use : TLS_LD, global, local */
++ if (IS_TLS_LD (tls_type))
++ offp = &htab->tlsld_got.offset;
++ else if (h != NULL)
++ {
++ if (htab->sgotplt != NULL && h->got.offset != (bfd_vma) -1)
++ offp = &h->got.offset;
++ else
++ abort ();
++ }
++ else
++ {
++ if (local_got_offsets == NULL)
++ abort ();
++ offp = &local_got_offsets[r_symndx];
++ }
++
++ if (!offp)
++ abort ();
++
++ off = (*offp) & ~1;
++ off2 = off;
++
++ if (IS_TLS_LD(tls_type) || IS_TLS_GD(tls_type))
++ off2 = off + 4;
++
++ /* Symbol index to use for relocs */
++ if (h != NULL)
++ {
++ bfd_boolean dyn =
++ elf_hash_table (info)->dynamic_sections_created;
++
++ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn,
++ bfd_link_pic (info),
++ h)
++ && (!bfd_link_pic (info)
++ || !SYMBOL_REFERENCES_LOCAL (info, h)))
++ indx = h->dynindx;
++ }
++
++ /* Need to generate relocs ? */
++ if ((bfd_link_pic (info) || indx != 0)
++ && (h == NULL
++ || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
++ || h->root.type != bfd_link_hash_undefweak))
++ need_relocs = TRUE;
++
++ /* 2. Compute/Emit Static value of r-expression */
++ static_value = relocation + addend;
++
++ /* 3. Process module-id and offset */
++ if (! ((*offp) & 1) )
++ {
++ bfd_vma got_offset;
++
++ got_offset = (htab->sgot->output_section->vma
++ + htab->sgot->output_offset
++ + off);
++
++ /* Process module-id */
++ if (IS_TLS_LD(tls_type))
++ {
++ if (! bfd_link_pic (info))
++ {
++ bfd_put_32 (output_bfd, 1, htab->sgot->contents + off);
++ }
++ else
++ {
++ microblaze_elf_output_dynamic_relocation (output_bfd,
++ htab->srelgot, htab->srelgot->reloc_count++,
++ /* symindex= */ 0, R_MICROBLAZE_TLSDTPMOD32,
++ got_offset, 0);
++ }
++ }
++ else if (IS_TLS_GD(tls_type))
++ {
++ if (! need_relocs)
++ {
++ bfd_put_32 (output_bfd, 1, htab->sgot->contents + off);
++ }
++ else
++ {
++ microblaze_elf_output_dynamic_relocation (output_bfd,
++ htab->srelgot,
++ htab->srelgot->reloc_count++,
++ /* symindex= */ indx, R_MICROBLAZE_TLSDTPMOD32,
++ got_offset, indx ? 0 : static_value);
++ }
++ }
++
++ /* Process Offset */
++ if (htab->srelgot == NULL)
++ abort ();
++
++ got_offset = (htab->sgot->output_section->vma
++ + htab->sgot->output_offset
++ + off2);
++ if (IS_TLS_LD(tls_type))
++ {
++ /* For LD, offset should be 0 */
++ *offp |= 1;
++ bfd_put_32 (output_bfd, 0, htab->sgot->contents + off2);
++ }
++ else if (IS_TLS_GD(tls_type))
++ {
++ *offp |= 1;
++ static_value -= dtprel_base(info);
++ if (need_relocs)
++ {
++ microblaze_elf_output_dynamic_relocation (output_bfd,
++ htab->srelgot, htab->srelgot->reloc_count++,
++ /* symindex= */ indx, R_MICROBLAZE_TLSDTPREL32,
++ got_offset, indx ? 0 : static_value);
++ }
++ else
++ {
++ bfd_put_32 (output_bfd, static_value,
++ htab->sgot->contents + off2);
++ }
++ }
++ else
++ {
++ bfd_put_32 (output_bfd, static_value,
++ htab->sgot->contents + off2);
++
++ /* Relocs for dyn symbols generated by
++ finish_dynamic_symbols */
++ if (bfd_link_pic (info) && h == NULL)
++ {
++ *offp |= 1;
++ microblaze_elf_output_dynamic_relocation (output_bfd,
++ htab->srelgot, htab->srelgot->reloc_count++,
++ /* symindex= */ indx, R_MICROBLAZE_REL,
++ got_offset, static_value);
++ }
++ }
++ }
++
++ /* 4. Fixup Relocation with GOT offset value
++ Compute relative address of GOT entry for applying
++ the current relocation */
++ relocation = htab->sgot->output_section->vma
++ + htab->sgot->output_offset
++ + off
++ - htab->sgotplt->output_section->vma
++ - htab->sgotplt->output_offset;
++
++ /* Apply Current Relocation */
++ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
++ contents + offset + endian);
++ bfd_put_16 (input_bfd, relocation & 0xffff,
++ contents + offset + endian + INST_WORD_SIZE);
++
++ unresolved_reloc = FALSE;
++ break;
++ }
++
++ case (int) R_MICROBLAZE_GOTOFF_64:
++ {
++ bfd_vma immediate;
++ unsigned short lo, high;
++ relocation += addend;
++ relocation -= htab->sgotplt->output_section->vma
++ + htab->sgotplt->output_offset;
++ /* Write this value into correct location. */
++ immediate = relocation;
++ lo = immediate & 0x0000ffff;
++ high = (immediate >> 16) & 0x0000ffff;
++ bfd_put_16 (input_bfd, high, contents + offset + endian);
++ bfd_put_16 (input_bfd, lo, contents + offset + INST_WORD_SIZE + endian);
++ break;
++ }
++
++ case (int) R_MICROBLAZE_GOTOFF_32:
++ {
++ relocation += addend;
++ relocation -= htab->sgotplt->output_section->vma
++ + htab->sgotplt->output_offset;
++ /* Write this value into correct location. */
++ bfd_put_32 (input_bfd, relocation, contents + offset);
++ break;
++ }
++
++ case (int) R_MICROBLAZE_TLSDTPREL64:
++ relocation += addend;
++ relocation -= dtprel_base(info);
++ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
++ contents + offset + endian);
++ bfd_put_16 (input_bfd, relocation & 0xffff,
++ contents + offset + endian + INST_WORD_SIZE);
++ break;
++ case (int) R_MICROBLAZE_64_PCREL :
++ case (int) R_MICROBLAZE_64:
++ case (int) R_MICROBLAZE_32:
++ {
++ /* r_symndx will be STN_UNDEF (zero) only for relocs against symbols
++ from removed linkonce sections, or sections discarded by
++ a linker script. */
++ if (r_symndx == STN_UNDEF || (input_section->flags & SEC_ALLOC) == 0)
++ {
++ relocation += addend;
++ if (r_type == R_MICROBLAZE_32)
++ bfd_put_32 (input_bfd, relocation, contents + offset);
++ else
++ {
++ if (r_type == R_MICROBLAZE_64_PCREL)
++ relocation -= (input_section->output_section->vma
++ + input_section->output_offset
++ + offset + INST_WORD_SIZE);
++ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
++ contents + offset + endian);
++ bfd_put_16 (input_bfd, relocation & 0xffff,
++ contents + offset + endian + INST_WORD_SIZE);
++ }
++ break;
++ }
++
++ if ((bfd_link_pic (info)
++ && (h == NULL
++ || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT
++ || h->root.type != bfd_link_hash_undefweak)
++ && (!howto->pc_relative
++ || (h != NULL
++ && h->dynindx != -1
++ && (!info->symbolic
++ || !h->def_regular))))
++ || (!bfd_link_pic (info)
++ && h != NULL
++ && h->dynindx != -1
++ && !h->non_got_ref
++ && ((h->def_dynamic
++ && !h->def_regular)
++ || h->root.type == bfd_link_hash_undefweak
++ || h->root.type == bfd_link_hash_undefined)))
++ {
++ Elf_Internal_Rela outrel;
++ bfd_byte *loc;
++ bfd_boolean skip;
++
++ /* When generating a shared object, these relocations
++ are copied into the output file to be resolved at run
++ time. */
++
++ BFD_ASSERT (sreloc != NULL);
++
++ skip = FALSE;
++
++ outrel.r_offset =
++ _bfd_elf_section_offset (output_bfd, info, input_section,
++ rel->r_offset);
++ if (outrel.r_offset == (bfd_vma) -1)
++ skip = TRUE;
++ else if (outrel.r_offset == (bfd_vma) -2)
++ skip = TRUE;
++ outrel.r_offset += (input_section->output_section->vma
++ + input_section->output_offset);
++
++ if (skip)
++ memset (&outrel, 0, sizeof outrel);
++ /* h->dynindx may be -1 if the symbol was marked to
++ become local. */
++ else if (h != NULL
++ && ((! info->symbolic && h->dynindx != -1)
++ || !h->def_regular))
++ {
++ BFD_ASSERT (h->dynindx != -1);
++ outrel.r_info = ELF64_R_INFO (h->dynindx, r_type);
++ outrel.r_addend = addend;
++ }
++ else
++ {
++ if (r_type == R_MICROBLAZE_32)
++ {
++ outrel.r_info = ELF64_R_INFO (0, R_MICROBLAZE_REL);
++ outrel.r_addend = relocation + addend;
++ }
++ else
++ {
++ BFD_FAIL ();
++ (*_bfd_error_handler)
++ (_("%B: probably compiled without -fPIC?"),
++ input_bfd);
++ bfd_set_error (bfd_error_bad_value);
++ return FALSE;
++ }
++ }
++
++ loc = sreloc->contents;
++ loc += sreloc->reloc_count++ * sizeof (Elf64_External_Rela);
++ bfd_elf64_swap_reloca_out (output_bfd, &outrel, loc);
++ break;
++ }
++ else
++ {
++ relocation += addend;
++ if (r_type == R_MICROBLAZE_32)
++ bfd_put_32 (input_bfd, relocation, contents + offset);
++ else
++ {
++ if (r_type == R_MICROBLAZE_64_PCREL)
++ relocation -= (input_section->output_section->vma
++ + input_section->output_offset
++ + offset + INST_WORD_SIZE);
++ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
++ contents + offset + endian);
++ bfd_put_16 (input_bfd, relocation & 0xffff,
++ contents + offset + endian + INST_WORD_SIZE);
++ }
++ break;
++ }
++ }
++
++ default :
++ r = _bfd_final_link_relocate (howto, input_bfd, input_section,
++ contents, offset,
++ relocation, addend);
++ break;
++ }
++ }
++
++ check_reloc:
++
++ if (r != bfd_reloc_ok)
++ {
++ /* FIXME: This should be generic enough to go in a utility. */
++ const char *name;
++
++ if (h != NULL)
++ name = h->root.root.string;
++ else
++ {
++ name = (bfd_elf_string_from_elf_section
++ (input_bfd, symtab_hdr->sh_link, sym->st_name));
++ if (name == NULL || *name == '\0')
++ name = bfd_section_name (input_bfd, sec);
++ }
++
++ if (errmsg != NULL)
++ goto common_error;
++
++ switch (r)
++ {
++ case bfd_reloc_overflow:
++ (*info->callbacks->reloc_overflow)
++ (info, (h ? &h->root : NULL), name, howto->name,
++ (bfd_vma) 0, input_bfd, input_section, offset);
++ break;
++
++ case bfd_reloc_undefined:
++ (*info->callbacks->undefined_symbol)
++ (info, name, input_bfd, input_section, offset, TRUE);
++ break;
++
++ case bfd_reloc_outofrange:
++ errmsg = _("internal error: out of range error");
++ goto common_error;
++
++ case bfd_reloc_notsupported:
++ errmsg = _("internal error: unsupported relocation error");
++ goto common_error;
++
++ case bfd_reloc_dangerous:
++ errmsg = _("internal error: dangerous error");
++ goto common_error;
++
++ default:
++ errmsg = _("internal error: unknown error");
++ /* Fall through. */
++ common_error:
++ (*info->callbacks->warning) (info, errmsg, name, input_bfd,
++ input_section, offset);
++ break;
++ }
++ }
++ }
++
++ return ret;
++}
++
++/* Merge backend specific data from an object file to the output
++ object file when linking.
++
++ Note: We only use this hook to catch endian mismatches. */
++static bfd_boolean
++microblaze_elf_merge_private_bfd_data (bfd * ibfd, bfd * obfd)
++{
++ /* Check if we have the same endianess. */
++ if (! _bfd_generic_verify_endian_match (ibfd, obfd))
++ return FALSE;
++
++ return TRUE;
++}
++
++
++/* Calculate fixup value for reference. */
++
++static int
++calc_fixup (bfd_vma start, bfd_vma size, asection *sec)
++{
++ bfd_vma end = start + size;
++ int i, fixup = 0;
++
++ if (sec == NULL || sec->relax == NULL)
++ return 0;
++
++ /* Look for addr in relax table, total fixup value. */
++ for (i = 0; i < sec->relax_count; i++)
++ {
++ if (end <= sec->relax[i].addr)
++ break;
++ if ((end != start) && (start > sec->relax[i].addr))
++ continue;
++ fixup += sec->relax[i].size;
++ }
++ return fixup;
++}
++
++/* Read-modify-write into the bfd, an immediate value into appropriate fields of
++ a 32-bit instruction. */
++static void
++microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
++{
++ unsigned long instr = bfd_get_32 (abfd, bfd_addr);
++ instr &= ~0x0000ffff;
++ instr |= (val & 0x0000ffff);
++ bfd_put_32 (abfd, instr, bfd_addr);
++}
++
++/* Read-modify-write into the bfd, an immediate value into appropriate fields of
++ two consecutive 32-bit instructions. */
++static void
++microblaze_bfd_write_imm_value_64 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
++{
++ unsigned long instr_hi;
++ unsigned long instr_lo;
++
++ instr_hi = bfd_get_32 (abfd, bfd_addr);
++ instr_hi &= ~0x0000ffff;
++ instr_hi |= ((val >> 16) & 0x0000ffff);
++ bfd_put_32 (abfd, instr_hi, bfd_addr);
++
++ instr_lo = bfd_get_32 (abfd, bfd_addr + INST_WORD_SIZE);
++ instr_lo &= ~0x0000ffff;
++ instr_lo |= (val & 0x0000ffff);
++ bfd_put_32 (abfd, instr_lo, bfd_addr + INST_WORD_SIZE);
++}
++
++static bfd_boolean
++microblaze_elf_relax_section (bfd *abfd,
++ asection *sec,
++ struct bfd_link_info *link_info,
++ bfd_boolean *again)
++{
++ Elf_Internal_Shdr *symtab_hdr;
++ Elf_Internal_Rela *internal_relocs;
++ Elf_Internal_Rela *free_relocs = NULL;
++ Elf_Internal_Rela *irel, *irelend;
++ bfd_byte *contents = NULL;
++ bfd_byte *free_contents = NULL;
++ int rel_count;
++ unsigned int shndx;
++ int i, sym_index;
++ asection *o;
++ struct elf_link_hash_entry *sym_hash;
++ Elf_Internal_Sym *isymbuf, *isymend;
++ Elf_Internal_Sym *isym;
++ int symcount;
++ int offset;
++ bfd_vma src, dest;
++
++ /* We only do this once per section. We may be able to delete some code
++ by running multiple passes, but it is not worth it. */
++ *again = FALSE;
++
++ /* Only do this for a text section. */
++ if (bfd_link_relocatable (link_info)
++ || (sec->flags & SEC_RELOC) == 0
++ || (sec->reloc_count == 0)
++ || (sec->flags & SEC_CODE) == 0)
++ return TRUE;
++
++ BFD_ASSERT ((sec->size > 0) || (sec->rawsize > 0));
++
++ /* If this is the first time we have been called for this section,
++ initialize the cooked size. */
++ if (sec->size == 0)
++ sec->size = sec->rawsize;
++
++ /* Get symbols for this section. */
++ symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
++ isymbuf = (Elf_Internal_Sym *) symtab_hdr->contents;
++ symcount = symtab_hdr->sh_size / sizeof (Elf64_External_Sym);
++ if (isymbuf == NULL)
++ isymbuf = bfd_elf_get_elf_syms (abfd, symtab_hdr, symcount,
++ 0, NULL, NULL, NULL);
++ BFD_ASSERT (isymbuf != NULL);
++
++ internal_relocs = _bfd_elf_link_read_relocs (abfd, sec, NULL, NULL, link_info->keep_memory);
++ if (internal_relocs == NULL)
++ goto error_return;
++ if (! link_info->keep_memory)
++ free_relocs = internal_relocs;
++
++ sec->relax = (struct relax_table *) bfd_malloc ((sec->reloc_count + 1)
++ * sizeof (struct relax_table));
++ if (sec->relax == NULL)
++ goto error_return;
++ sec->relax_count = 0;
++
++ irelend = internal_relocs + sec->reloc_count;
++ rel_count = 0;
++ for (irel = internal_relocs; irel < irelend; irel++, rel_count++)
++ {
++ bfd_vma symval;
++ if ((ELF64_R_TYPE (irel->r_info) != (int) R_MICROBLAZE_64_PCREL)
++ && (ELF64_R_TYPE (irel->r_info) != (int) R_MICROBLAZE_64 ))
++ continue; /* Can't delete this reloc. */
++
++ /* Get the section contents. */
++ if (contents == NULL)
++ {
++ if (elf_section_data (sec)->this_hdr.contents != NULL)
++ contents = elf_section_data (sec)->this_hdr.contents;
++ else
++ {
++ contents = (bfd_byte *) bfd_malloc (sec->size);
++ if (contents == NULL)
++ goto error_return;
++ free_contents = contents;
++
++ if (!bfd_get_section_contents (abfd, sec, contents,
++ (file_ptr) 0, sec->size))
++ goto error_return;
++ elf_section_data (sec)->this_hdr.contents = contents;
++ }
++ }
++
++ /* Get the value of the symbol referred to by the reloc. */
++ if (ELF64_R_SYM (irel->r_info) < symtab_hdr->sh_info)
++ {
++ /* A local symbol. */
++ asection *sym_sec;
++
++ isym = isymbuf + ELF64_R_SYM (irel->r_info);
++ if (isym->st_shndx == SHN_UNDEF)
++ sym_sec = bfd_und_section_ptr;
++ else if (isym->st_shndx == SHN_ABS)
++ sym_sec = bfd_abs_section_ptr;
++ else if (isym->st_shndx == SHN_COMMON)
++ sym_sec = bfd_com_section_ptr;
++ else
++ sym_sec = bfd_section_from_elf_index (abfd, isym->st_shndx);
++
++ symval = _bfd_elf_rela_local_sym (abfd, isym, &sym_sec, irel);
++ }
++ else
++ {
++ unsigned long indx;
++ struct elf_link_hash_entry *h;
++
++ indx = ELF64_R_SYM (irel->r_info) - symtab_hdr->sh_info;
++ h = elf_sym_hashes (abfd)[indx];
++ BFD_ASSERT (h != NULL);
++
++ if (h->root.type != bfd_link_hash_defined
++ && h->root.type != bfd_link_hash_defweak)
++ /* This appears to be a reference to an undefined
++ symbol. Just ignore it--it will be caught by the
++ regular reloc processing. */
++ continue;
++
++ symval = (h->root.u.def.value
++ + h->root.u.def.section->output_section->vma
++ + h->root.u.def.section->output_offset);
++ }
++
++ /* If this is a PC-relative reloc, subtract the instr offset from
++ the symbol value. */
++ if (ELF64_R_TYPE (irel->r_info) == (int) R_MICROBLAZE_64_PCREL)
++ {
++ symval = symval + irel->r_addend
++ - (irel->r_offset
++ + sec->output_section->vma
++ + sec->output_offset);
++ }
++ else
++ symval += irel->r_addend;
++
++ if ((symval & 0xffff8000) == 0)
++ {
++ /* We can delete this instruction. */
++ sec->relax[sec->relax_count].addr = irel->r_offset;
++ sec->relax[sec->relax_count].size = INST_WORD_SIZE;
++ sec->relax_count++;
++
++ /* Rewrite relocation type. */
++ switch ((enum elf_microblaze_reloc_type) ELF64_R_TYPE (irel->r_info))
++ {
++ case R_MICROBLAZE_64_PCREL:
++ irel->r_info = ELF64_R_INFO (ELF64_R_SYM (irel->r_info),
++ (int) R_MICROBLAZE_32_PCREL_LO);
++ break;
++ case R_MICROBLAZE_64:
++ irel->r_info = ELF64_R_INFO (ELF64_R_SYM (irel->r_info),
++ (int) R_MICROBLAZE_32_LO);
++ break;
++ default:
++ /* Cannot happen. */
++ BFD_ASSERT (FALSE);
++ }
++ }
++ } /* Loop through all relocations. */
++
++ /* Loop through the relocs again, and see if anything needs to change. */
++ if (sec->relax_count > 0)
++ {
++ shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
++ rel_count = 0;
++ sec->relax[sec->relax_count].addr = sec->size;
++
++ for (irel = internal_relocs; irel < irelend; irel++, rel_count++)
++ {
++ bfd_vma nraddr;
++
++ /* Get the new reloc address. */
++ nraddr = irel->r_offset - calc_fixup (irel->r_offset, 0, sec);
++ switch ((enum elf_microblaze_reloc_type) ELF64_R_TYPE (irel->r_info))
++ {
++ default:
++ break;
++ case R_MICROBLAZE_64_PCREL:
++ break;
++ case R_MICROBLAZE_64:
++ case R_MICROBLAZE_32_LO:
++ /* If this reloc is against a symbol defined in this
++ section, we must check the addend to see it will put the value in
++ range to be adjusted, and hence must be changed. */
++ if (ELF64_R_SYM (irel->r_info) < symtab_hdr->sh_info)
++ {
++ isym = isymbuf + ELF64_R_SYM (irel->r_info);
++ /* Only handle relocs against .text. */
++ if (isym->st_shndx == shndx
++ && ELF64_ST_TYPE (isym->st_info) == STT_SECTION)
++ irel->r_addend -= calc_fixup (irel->r_addend, 0, sec);
++ }
++ break;
++ case R_MICROBLAZE_NONE:
++ case R_MICROBLAZE_32_NONE:
++ {
++ /* This was a PC-relative instruction that was
++ completely resolved. */
++ int sfix, efix;
++ unsigned int val;
++ bfd_vma target_address;
++ target_address = irel->r_addend + irel->r_offset;
++ sfix = calc_fixup (irel->r_offset, 0, sec);
++ efix = calc_fixup (target_address, 0, sec);
++
++ /* Validate the in-band val. */
++ val = bfd_get_32 (abfd, contents + irel->r_offset);
++ if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
++ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
++ }
++ irel->r_addend -= (efix - sfix);
++ /* Should use HOWTO. */
++ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset,
++ irel->r_addend);
++ }
++ break;
++ case R_MICROBLAZE_64_NONE:
++ {
++ /* This was a PC-relative 64-bit instruction that was
++ completely resolved. */
++ int sfix, efix;
++ bfd_vma target_address;
++ target_address = irel->r_addend + irel->r_offset + INST_WORD_SIZE;
++ sfix = calc_fixup (irel->r_offset + INST_WORD_SIZE, 0, sec);
++ efix = calc_fixup (target_address, 0, sec);
++ irel->r_addend -= (efix - sfix);
++ microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset
++ + INST_WORD_SIZE, irel->r_addend);
++ }
++ break;
++ }
++ irel->r_offset = nraddr;
++ } /* Change all relocs in this section. */
++
++ /* Look through all other sections. */
++ for (o = abfd->sections; o != NULL; o = o->next)
++ {
++ Elf_Internal_Rela *irelocs;
++ Elf_Internal_Rela *irelscan, *irelscanend;
++ bfd_byte *ocontents;
++
++ if (o == sec
++ || (o->flags & SEC_RELOC) == 0
++ || o->reloc_count == 0)
++ continue;
++
++ /* We always cache the relocs. Perhaps, if info->keep_memory is
++ FALSE, we should free them, if we are permitted to. */
++
++ irelocs = _bfd_elf_link_read_relocs (abfd, o, NULL, NULL, TRUE);
++ if (irelocs == NULL)
++ goto error_return;
++
++ ocontents = NULL;
++ irelscanend = irelocs + o->reloc_count;
++ for (irelscan = irelocs; irelscan < irelscanend; irelscan++)
++ {
++ if (1 && ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_NONE)
++ {
++ unsigned int val;
++
++ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
++
++ /* hax: We only do the following fixup for debug location lists. */
++ if (strcmp(".debug_loc", o->name))
++ continue;
++
++ /* This was a PC-relative instruction that was completely resolved. */
++ if (ocontents == NULL)
++ {
++ if (elf_section_data (o)->this_hdr.contents != NULL)
++ ocontents = elf_section_data (o)->this_hdr.contents;
++ else
++ {
++ /* We always cache the section contents.
++ Perhaps, if info->keep_memory is FALSE, we
++ should free them, if we are permitted to. */
++
++ if (o->rawsize == 0)
++ o->rawsize = o->size;
++ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
++ if (ocontents == NULL)
++ goto error_return;
++ if (!bfd_get_section_contents (abfd, o, ocontents,
++ (file_ptr) 0,
++ o->rawsize))
++ goto error_return;
++ elf_section_data (o)->this_hdr.contents = ocontents;
++ }
++ }
++
++ val = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
++ if (val != irelscan->r_addend) {
++ fprintf(stderr, "%d: CORRUPT relax reloc! %x %lx\n", __LINE__, val, irelscan->r_addend);
++ }
++ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
++ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
++ irelscan->r_addend);
++ }
++ if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
++ {
++ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
++
++ /* Look at the reloc only if the value has been resolved. */
++ if (isym->st_shndx == shndx
++ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
++ {
++ if (ocontents == NULL)
++ {
++ if (elf_section_data (o)->this_hdr.contents != NULL)
++ ocontents = elf_section_data (o)->this_hdr.contents;
++ else
++ {
++ /* We always cache the section contents.
++ Perhaps, if info->keep_memory is FALSE, we
++ should free them, if we are permitted to. */
++ if (o->rawsize == 0)
++ o->rawsize = o->size;
++ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
++ if (ocontents == NULL)
++ goto error_return;
++ if (!bfd_get_section_contents (abfd, o, ocontents,
++ (file_ptr) 0,
++ o->rawsize))
++ goto error_return;
++ elf_section_data (o)->this_hdr.contents = ocontents;
++ }
++
++ }
++ irelscan->r_addend -= calc_fixup (irelscan->r_addend, 0, sec);
++ }
++ else if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_SYM_OP_SYM)
++ {
++ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
++
++ /* Look at the reloc only if the value has been resolved. */
++ if (ocontents == NULL)
++ {
++ if (elf_section_data (o)->this_hdr.contents != NULL)
++ ocontents = elf_section_data (o)->this_hdr.contents;
++ else
++ {
++ /* We always cache the section contents.
++ Perhaps, if info->keep_memory is FALSE, we
++ should free them, if we are permitted to. */
++
++ if (o->rawsize == 0)
++ o->rawsize = o->size;
++ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
++ if (ocontents == NULL)
++ goto error_return;
++ if (!bfd_get_section_contents (abfd, o, ocontents,
++ (file_ptr) 0,
++ o->rawsize))
++ goto error_return;
++ elf_section_data (o)->this_hdr.contents = ocontents;
++ }
++ }
++ irelscan->r_addend -= calc_fixup (irelscan->r_addend
++ + isym->st_value,
++ 0,
++ sec);
++ }
++ }
++ else if ((ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_PCREL_LO)
++ || (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32_LO))
++ {
++ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
++
++ /* Look at the reloc only if the value has been resolved. */
++ if (isym->st_shndx == shndx
++ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
++ {
++ bfd_vma immediate;
++ bfd_vma target_address;
++
++ if (ocontents == NULL)
++ {
++ if (elf_section_data (o)->this_hdr.contents != NULL)
++ ocontents = elf_section_data (o)->this_hdr.contents;
++ else
++ {
++ /* We always cache the section contents.
++ Perhaps, if info->keep_memory is FALSE, we
++ should free them, if we are permitted to. */
++ if (o->rawsize == 0)
++ o->rawsize = o->size;
++ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
++ if (ocontents == NULL)
++ goto error_return;
++ if (!bfd_get_section_contents (abfd, o, ocontents,
++ (file_ptr) 0,
++ o->rawsize))
++ goto error_return;
++ elf_section_data (o)->this_hdr.contents = ocontents;
++ }
++ }
++
++ unsigned long instr = bfd_get_32 (abfd, ocontents + irelscan->r_offset);
++ immediate = instr & 0x0000ffff;
++ target_address = immediate;
++ offset = calc_fixup (target_address, 0, sec);
++ immediate -= offset;
++ irelscan->r_addend -= offset;
++ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
++ irelscan->r_addend);
++ }
++ }
++
++ if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64)
++ {
++ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
++
++ /* Look at the reloc only if the value has been resolved. */
++ if (isym->st_shndx == shndx
++ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
++ {
++ bfd_vma immediate;
++
++ if (ocontents == NULL)
++ {
++ if (elf_section_data (o)->this_hdr.contents != NULL)
++ ocontents = elf_section_data (o)->this_hdr.contents;
++ else
++ {
++ /* We always cache the section contents.
++ Perhaps, if info->keep_memory is FALSE, we
++ should free them, if we are permitted to. */
++
++ if (o->rawsize == 0)
++ o->rawsize = o->size;
++ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
++ if (ocontents == NULL)
++ goto error_return;
++ if (!bfd_get_section_contents (abfd, o, ocontents,
++ (file_ptr) 0,
++ o->rawsize))
++ goto error_return;
++ elf_section_data (o)->this_hdr.contents = ocontents;
++ }
++ }
++ unsigned long instr_hi = bfd_get_32 (abfd, ocontents
++ + irelscan->r_offset);
++ unsigned long instr_lo = bfd_get_32 (abfd, ocontents
++ + irelscan->r_offset
++ + INST_WORD_SIZE);
++ immediate = (instr_hi & 0x0000ffff) << 16;
++ immediate |= (instr_lo & 0x0000ffff);
++ offset = calc_fixup (irelscan->r_addend, 0, sec);
++ immediate -= offset;
++ irelscan->r_addend -= offset;
++ }
++ }
++ else if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_64_PCREL)
++ {
++ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
++
++ /* Look at the reloc only if the value has been resolved. */
++ if (isym->st_shndx == shndx
++ && (ELF64_ST_TYPE (isym->st_info) == STT_SECTION))
++ {
++ bfd_vma immediate;
++ bfd_vma target_address;
++
++ if (ocontents == NULL)
++ {
++ if (elf_section_data (o)->this_hdr.contents != NULL)
++ ocontents = elf_section_data (o)->this_hdr.contents;
++ else
++ {
++ /* We always cache the section contents.
++ Perhaps, if info->keep_memory is FALSE, we
++ should free them, if we are permitted to. */
++ if (o->rawsize == 0)
++ o->rawsize = o->size;
++ ocontents = (bfd_byte *) bfd_malloc (o->rawsize);
++ if (ocontents == NULL)
++ goto error_return;
++ if (!bfd_get_section_contents (abfd, o, ocontents,
++ (file_ptr) 0,
++ o->rawsize))
++ goto error_return;
++ elf_section_data (o)->this_hdr.contents = ocontents;
++ }
++ }
++ unsigned long instr_hi = bfd_get_32 (abfd, ocontents
++ + irelscan->r_offset);
++ unsigned long instr_lo = bfd_get_32 (abfd, ocontents
++ + irelscan->r_offset
++ + INST_WORD_SIZE);
++ immediate = (instr_hi & 0x0000ffff) << 16;
++ immediate |= (instr_lo & 0x0000ffff);
++ target_address = immediate;
++ offset = calc_fixup (target_address, 0, sec);
++ immediate -= offset;
++ irelscan->r_addend -= offset;
++ microblaze_bfd_write_imm_value_64 (abfd, ocontents
++ + irelscan->r_offset, immediate);
++ }
++ }
++ }
++ }
++
++ /* Adjust the local symbols defined in this section. */
++ isymend = isymbuf + symtab_hdr->sh_info;
++ for (isym = isymbuf; isym < isymend; isym++)
++ {
++ if (isym->st_shndx == shndx)
++ {
++ isym->st_value -= calc_fixup (isym->st_value, 0, sec);
++ if (isym->st_size)
++ isym->st_size -= calc_fixup (isym->st_value, isym->st_size, sec);
++ }
++ }
++
++ /* Now adjust the global symbols defined in this section. */
++ isym = isymbuf + symtab_hdr->sh_info;
++ symcount = (symtab_hdr->sh_size / sizeof (Elf64_External_Sym)) - symtab_hdr->sh_info;
++ for (sym_index = 0; sym_index < symcount; sym_index++)
++ {
++ sym_hash = elf_sym_hashes (abfd)[sym_index];
++ if ((sym_hash->root.type == bfd_link_hash_defined
++ || sym_hash->root.type == bfd_link_hash_defweak)
++ && sym_hash->root.u.def.section == sec)
++ {
++ sym_hash->root.u.def.value -= calc_fixup (sym_hash->root.u.def.value,
++ 0, sec);
++ if (sym_hash->size)
++ sym_hash->size -= calc_fixup (sym_hash->root.u.def.value,
++ sym_hash->size, sec);
++ }
++ }
++
++ /* Physically move the code and change the cooked size. */
++ dest = sec->relax[0].addr;
++ for (i = 0; i < sec->relax_count; i++)
++ {
++ int len;
++ src = sec->relax[i].addr + sec->relax[i].size;
++ len = sec->relax[i+1].addr - sec->relax[i].addr - sec->relax[i].size;
++
++ memmove (contents + dest, contents + src, len);
++ sec->size -= sec->relax[i].size;
++ dest += len;
++ }
++
++ elf_section_data (sec)->relocs = internal_relocs;
++ free_relocs = NULL;
++
++ elf_section_data (sec)->this_hdr.contents = contents;
++ free_contents = NULL;
++
++ symtab_hdr->contents = (bfd_byte *) isymbuf;
++ }
++
++ if (free_relocs != NULL)
++ {
++ free (free_relocs);
++ free_relocs = NULL;
++ }
++
++ if (free_contents != NULL)
++ {
++ if (!link_info->keep_memory)
++ free (free_contents);
++ else
++ /* Cache the section contents for elf_link_input_bfd. */
++ elf_section_data (sec)->this_hdr.contents = contents;
++ free_contents = NULL;
++ }
++
++ if (sec->relax_count == 0)
++ {
++ *again = FALSE;
++ free (sec->relax);
++ sec->relax = NULL;
++ }
++ else
++ *again = TRUE;
++ return TRUE;
++
++ error_return:
++ if (free_relocs != NULL)
++ free (free_relocs);
++ if (free_contents != NULL)
++ free (free_contents);
++ if (sec->relax != NULL)
++ {
++ free (sec->relax);
++ sec->relax = NULL;
++ sec->relax_count = 0;
++ }
++ return FALSE;
++}
++
++/* Return the section that should be marked against GC for a given
++ relocation. */
++
++static asection *
++microblaze_elf_gc_mark_hook (asection *sec,
++ struct bfd_link_info * info,
++ Elf_Internal_Rela * rel,
++ struct elf_link_hash_entry * h,
++ Elf_Internal_Sym * sym)
++{
++ if (h != NULL)
++ switch (ELF64_R_TYPE (rel->r_info))
++ {
++ case R_MICROBLAZE_GNU_VTINHERIT:
++ case R_MICROBLAZE_GNU_VTENTRY:
++ return NULL;
++ }
++
++ return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
++}
++
++/* Update the got entry reference counts for the section being removed. */
++
++static bfd_boolean
++microblaze_elf_gc_sweep_hook (bfd * abfd ATTRIBUTE_UNUSED,
++ struct bfd_link_info * info ATTRIBUTE_UNUSED,
++ asection * sec ATTRIBUTE_UNUSED,
++ const Elf_Internal_Rela * relocs ATTRIBUTE_UNUSED)
++{
++ return TRUE;
++}
++
++/* PIC support. */
++
++#define PLT_ENTRY_SIZE 16
++
++#define PLT_ENTRY_WORD_0 0xb0000000 /* "imm 0". */
++#define PLT_ENTRY_WORD_1 0xe9940000 /* "lwi r12,r20,0" - relocated to lwi r12,r20,func@GOT. */
++#define PLT_ENTRY_WORD_1_NOPIC 0xe9800000 /* "lwi r12,r0,0" - non-PIC object. */
++#define PLT_ENTRY_WORD_2 0x98186000 /* "brad r12". */
++#define PLT_ENTRY_WORD_3 0x80000000 /* "nop". */
++
++/* Create .got, .gotplt, and .rela.got sections in DYNOBJ, and set up
++ shortcuts to them in our hash table. */
++
++static bfd_boolean
++create_got_section (bfd *dynobj, struct bfd_link_info *info)
++{
++ struct elf64_mb_link_hash_table *htab;
++
++ if (! _bfd_elf_create_got_section (dynobj, info))
++ return FALSE;
++ htab = elf64_mb_hash_table (info);
++ if (htab == NULL)
++ return FALSE;
++
++ htab->sgot = bfd_get_linker_section (dynobj, ".got");
++ htab->sgotplt = bfd_get_linker_section (dynobj, ".got.plt");
++ if (!htab->sgot || !htab->sgotplt)
++ return FALSE;
++
++ if ((htab->srelgot = bfd_get_linker_section (dynobj, ".rela.got")) == NULL)
++ htab->srelgot = bfd_make_section_anyway (dynobj, ".rela.got");
++ if (htab->srelgot == NULL
++ || ! bfd_set_section_flags (dynobj, htab->srelgot, SEC_ALLOC
++ | SEC_LOAD
++ | SEC_HAS_CONTENTS
++ | SEC_IN_MEMORY
++ | SEC_LINKER_CREATED
++ | SEC_READONLY)
++ || ! bfd_set_section_alignment (dynobj, htab->srelgot, 2))
++ return FALSE;
++ return TRUE;
++}
++
++static bfd_boolean
++update_local_sym_info (bfd *abfd,
++ Elf_Internal_Shdr *symtab_hdr,
++ unsigned long r_symndx,
++ unsigned int tls_type)
++{
++ bfd_signed_vma *local_got_refcounts = elf_local_got_refcounts (abfd);
++ unsigned char *local_got_tls_masks;
++
++ if (local_got_refcounts == NULL)
++ {
++ bfd_size_type size = symtab_hdr->sh_info;
++
++ size *= (sizeof (*local_got_refcounts) + sizeof (*local_got_tls_masks));
++ local_got_refcounts = bfd_zalloc (abfd, size);
++ if (local_got_refcounts == NULL)
++ return FALSE;
++ elf_local_got_refcounts (abfd) = local_got_refcounts;
++ }
++
++ local_got_tls_masks =
++ (unsigned char *) (local_got_refcounts + symtab_hdr->sh_info);
++ local_got_tls_masks[r_symndx] |= tls_type;
++ local_got_refcounts[r_symndx] += 1;
++
++ return TRUE;
++}
++/* Look through the relocs for a section during the first phase. */
++
++static bfd_boolean
++microblaze_elf_check_relocs (bfd * abfd,
++ struct bfd_link_info * info,
++ asection * sec,
++ const Elf_Internal_Rela * relocs)
++{
++ Elf_Internal_Shdr * symtab_hdr;
++ struct elf_link_hash_entry ** sym_hashes;
++ struct elf_link_hash_entry ** sym_hashes_end;
++ const Elf_Internal_Rela * rel;
++ const Elf_Internal_Rela * rel_end;
++ struct elf64_mb_link_hash_table *htab;
++ asection *sreloc = NULL;
++
++ if (bfd_link_relocatable (info))
++ return TRUE;
++
++ htab = elf64_mb_hash_table (info);
++ if (htab == NULL)
++ return FALSE;
++
++ symtab_hdr = & elf_tdata (abfd)->symtab_hdr;
++ sym_hashes = elf_sym_hashes (abfd);
++ sym_hashes_end = sym_hashes + symtab_hdr->sh_size / sizeof (Elf64_External_Sym);
++ if (!elf_bad_symtab (abfd))
++ sym_hashes_end -= symtab_hdr->sh_info;
++
++ rel_end = relocs + sec->reloc_count;
++
++ for (rel = relocs; rel < rel_end; rel++)
++ {
++ unsigned int r_type;
++ struct elf_link_hash_entry * h;
++ unsigned long r_symndx;
++ unsigned char tls_type = 0;
++
++ r_symndx = ELF64_R_SYM (rel->r_info);
++ r_type = ELF64_R_TYPE (rel->r_info);
++
++ if (r_symndx < symtab_hdr->sh_info)
++ h = NULL;
++ else
++ {
++ h = sym_hashes [r_symndx - symtab_hdr->sh_info];
++
++ /* PR15323, ref flags aren't set for references in the same
++ object. */
++ h->root.non_ir_ref = 1;
++ }
++
++ switch (r_type)
++ {
++ /* This relocation describes the C++ object vtable hierarchy.
++ Reconstruct it for later use during GC. */
++ case R_MICROBLAZE_GNU_VTINHERIT:
++ if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
++ return FALSE;
++ break;
++
++ /* This relocation describes which C++ vtable entries are actually
++ used. Record for later use during GC. */
++ case R_MICROBLAZE_GNU_VTENTRY:
++ if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
++ return FALSE;
++ break;
++
++ /* This relocation requires .plt entry. */
++ case R_MICROBLAZE_PLT_64:
++ if (h != NULL)
++ {
++ h->needs_plt = 1;
++ h->plt.refcount += 1;
++ }
++ break;
++
++ /* This relocation requires .got entry. */
++ case R_MICROBLAZE_TLSGD:
++ tls_type |= (TLS_TLS | TLS_GD);
++ goto dogottls;
++ case R_MICROBLAZE_TLSLD:
++ tls_type |= (TLS_TLS | TLS_LD);
++ dogottls:
++ sec->has_tls_reloc = 1;
++ case R_MICROBLAZE_GOT_64:
++ if (htab->sgot == NULL)
++ {
++ if (htab->elf.dynobj == NULL)
++ htab->elf.dynobj = abfd;
++ if (!create_got_section (htab->elf.dynobj, info))
++ return FALSE;
++ }
++ if (h != NULL)
++ {
++ h->got.refcount += 1;
++ elf64_mb_hash_entry (h)->tls_mask |= tls_type;
++ }
++ else
++ {
++ if (! update_local_sym_info(abfd, symtab_hdr, r_symndx, tls_type) )
++ return FALSE;
++ }
++ break;
++
++ case R_MICROBLAZE_64:
++ case R_MICROBLAZE_64_PCREL:
++ case R_MICROBLAZE_32:
++ {
++ if (h != NULL && !bfd_link_pic (info))
++ {
++ /* we may need a copy reloc. */
++ h->non_got_ref = 1;
++
++ /* we may also need a .plt entry. */
++ h->plt.refcount += 1;
++ if (ELF64_R_TYPE (rel->r_info) != R_MICROBLAZE_64_PCREL)
++ h->pointer_equality_needed = 1;
++ }
++
++
++ /* If we are creating a shared library, and this is a reloc
++ against a global symbol, or a non PC relative reloc
++ against a local symbol, then we need to copy the reloc
++ into the shared library. However, if we are linking with
++ -Bsymbolic, we do not need to copy a reloc against a
++ global symbol which is defined in an object we are
++ including in the link (i.e., DEF_REGULAR is set). At
++ this point we have not seen all the input files, so it is
++ possible that DEF_REGULAR is not set now but will be set
++ later (it is never cleared). In case of a weak definition,
++ DEF_REGULAR may be cleared later by a strong definition in
++ a shared library. We account for that possibility below by
++ storing information in the relocs_copied field of the hash
++ table entry. A similar situation occurs when creating
++ shared libraries and symbol visibility changes render the
++ symbol local.
++
++ If on the other hand, we are creating an executable, we
++ may need to keep relocations for symbols satisfied by a
++ dynamic library if we manage to avoid copy relocs for the
++ symbol. */
++
++ if ((bfd_link_pic (info)
++ && (sec->flags & SEC_ALLOC) != 0
++ && (r_type != R_MICROBLAZE_64_PCREL
++ || (h != NULL
++ && (! info->symbolic
++ || h->root.type == bfd_link_hash_defweak
++ || !h->def_regular))))
++ || (!bfd_link_pic (info)
++ && (sec->flags & SEC_ALLOC) != 0
++ && h != NULL
++ && (h->root.type == bfd_link_hash_defweak
++ || !h->def_regular)))
++ {
++ struct elf64_mb_dyn_relocs *p;
++ struct elf64_mb_dyn_relocs **head;
++
++ /* When creating a shared object, we must copy these
++ relocs into the output file. We create a reloc
++ section in dynobj and make room for the reloc. */
++
++ if (sreloc == NULL)
++ {
++ bfd *dynobj;
++
++ if (htab->elf.dynobj == NULL)
++ htab->elf.dynobj = abfd;
++ dynobj = htab->elf.dynobj;
++
++ sreloc = _bfd_elf_make_dynamic_reloc_section (sec, dynobj,
++ 2, abfd, 1);
++ if (sreloc == NULL)
++ return FALSE;
++ }
++
++ /* If this is a global symbol, we count the number of
++ relocations we need for this symbol. */
++ if (h != NULL)
++ head = &((struct elf64_mb_link_hash_entry *) h)->dyn_relocs;
++ else
++ {
++ /* Track dynamic relocs needed for local syms too.
++ We really need local syms available to do this
++ easily. Oh well. */
++
++ asection *s;
++ Elf_Internal_Sym *isym;
++ void *vpp;
++
++ isym = bfd_sym_from_r_symndx (&htab->sym_sec,
++ abfd, r_symndx);
++ if (isym == NULL)
++ return FALSE;
++
++ s = bfd_section_from_elf_index (abfd, isym->st_shndx);
++ if (s == NULL)
++ return FALSE;
++
++ vpp = &elf_section_data (s)->local_dynrel;
++ head = (struct elf64_mb_dyn_relocs **) vpp;
++ }
++
++ p = *head;
++ if (p == NULL || p->sec != sec)
++ {
++ bfd_size_type amt = sizeof *p;
++ p = ((struct elf64_mb_dyn_relocs *)
++ bfd_alloc (htab->elf.dynobj, amt));
++ if (p == NULL)
++ return FALSE;
++ p->next = *head;
++ *head = p;
++ p->sec = sec;
++ p->count = 0;
++ p->pc_count = 0;
++ }
++
++ p->count += 1;
++ if (r_type == R_MICROBLAZE_64_PCREL)
++ p->pc_count += 1;
++ }
++ }
++ break;
++ }
++ }
++
++ return TRUE;
++}
++
++static bfd_boolean
++microblaze_elf_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info)
++{
++ struct elf64_mb_link_hash_table *htab;
++
++ htab = elf64_mb_hash_table (info);
++ if (htab == NULL)
++ return FALSE;
++
++ if (!htab->sgot && !create_got_section (dynobj, info))
++ return FALSE;
++
++ if (!_bfd_elf_create_dynamic_sections (dynobj, info))
++ return FALSE;
++
++ htab->splt = bfd_get_linker_section (dynobj, ".plt");
++ htab->srelplt = bfd_get_linker_section (dynobj, ".rela.plt");
++ htab->sdynbss = bfd_get_linker_section (dynobj, ".dynbss");
++ if (!bfd_link_pic (info))
++ htab->srelbss = bfd_get_linker_section (dynobj, ".rela.bss");
++
++ if (!htab->splt || !htab->srelplt || !htab->sdynbss
++ || (!bfd_link_pic (info) && !htab->srelbss))
++ abort ();
++
++ return TRUE;
++}
++
++/* Copy the extra info we tack onto an elf_link_hash_entry. */
++
++static void
++microblaze_elf_copy_indirect_symbol (struct bfd_link_info *info,
++ struct elf_link_hash_entry *dir,
++ struct elf_link_hash_entry *ind)
++{
++ struct elf64_mb_link_hash_entry *edir, *eind;
++
++ edir = (struct elf64_mb_link_hash_entry *) dir;
++ eind = (struct elf64_mb_link_hash_entry *) ind;
++
++ if (eind->dyn_relocs != NULL)
++ {
++ if (edir->dyn_relocs != NULL)
++ {
++ struct elf64_mb_dyn_relocs **pp;
++ struct elf64_mb_dyn_relocs *p;
++
++ if (ind->root.type == bfd_link_hash_indirect)
++ abort ();
++
++ /* Add reloc counts against the weak sym to the strong sym
++ list. Merge any entries against the same section. */
++ for (pp = &eind->dyn_relocs; (p = *pp) != NULL; )
++ {
++ struct elf64_mb_dyn_relocs *q;
++
++ for (q = edir->dyn_relocs; q != NULL; q = q->next)
++ if (q->sec == p->sec)
++ {
++ q->pc_count += p->pc_count;
++ q->count += p->count;
++ *pp = p->next;
++ break;
++ }
++ if (q == NULL)
++ pp = &p->next;
++ }
++ *pp = edir->dyn_relocs;
++ }
++
++ edir->dyn_relocs = eind->dyn_relocs;
++ eind->dyn_relocs = NULL;
++ }
++
++ edir->tls_mask |= eind->tls_mask;
++
++ _bfd_elf_link_hash_copy_indirect (info, dir, ind);
++}
++
++static bfd_boolean
++microblaze_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
++ struct elf_link_hash_entry *h)
++{
++ struct elf64_mb_link_hash_table *htab;
++ struct elf64_mb_link_hash_entry * eh;
++ struct elf64_mb_dyn_relocs *p;
++ asection *sdynbss, *s;
++ unsigned int power_of_two;
++ bfd *dynobj;
++
++ htab = elf64_mb_hash_table (info);
++ if (htab == NULL)
++ return FALSE;
++
++ /* If this is a function, put it in the procedure linkage table. We
++ will fill in the contents of the procedure linkage table later,
++ when we know the address of the .got section. */
++ if (h->type == STT_FUNC
++ || h->needs_plt)
++ {
++ if (h->plt.refcount <= 0
++ || SYMBOL_CALLS_LOCAL (info, h)
++ || (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
++ && h->root.type == bfd_link_hash_undefweak))
++ {
++ /* This case can occur if we saw a PLT reloc in an input
++ file, but the symbol was never referred to by a dynamic
++ object, or if all references were garbage collected. In
++ such a case, we don't actually need to build a procedure
++ linkage table, and we can just do a PC32 reloc instead. */
++ h->plt.offset = (bfd_vma) -1;
++ h->needs_plt = 0;
++ }
++
++ return TRUE;
++ }
++ else
++ /* It's possible that we incorrectly decided a .plt reloc was
++ needed for an R_MICROBLAZE_64_PCREL reloc to a non-function sym in
++ check_relocs. We can't decide accurately between function and
++ non-function syms in check-relocs; Objects loaded later in
++ the link may change h->type. So fix it now. */
++ h->plt.offset = (bfd_vma) -1;
++
++ /* If this is a weak symbol, and there is a real definition, the
++ processor independent code will have arranged for us to see the
++ real definition first, and we can just use the same value. */
++ if (h->u.weakdef != NULL)
++ {
++ BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined
++ || h->u.weakdef->root.type == bfd_link_hash_defweak);
++ h->root.u.def.section = h->u.weakdef->root.u.def.section;
++ h->root.u.def.value = h->u.weakdef->root.u.def.value;
++ return TRUE;
++ }
++
++ /* This is a reference to a symbol defined by a dynamic object which
++ is not a function. */
++
++ /* If we are creating a shared library, we must presume that the
++ only references to the symbol are via the global offset table.
++ For such cases we need not do anything here; the relocations will
++ be handled correctly by relocate_section. */
++ if (bfd_link_pic (info))
++ return TRUE;
++
++ /* If there are no references to this symbol that do not use the
++ GOT, we don't need to generate a copy reloc. */
++ if (!h->non_got_ref)
++ return TRUE;
++
++ /* If -z nocopyreloc was given, we won't generate them either. */
++ if (info->nocopyreloc)
++ {
++ h->non_got_ref = 0;
++ return TRUE;
++ }
++
++ eh = (struct elf64_mb_link_hash_entry *) h;
++ for (p = eh->dyn_relocs; p != NULL; p = p->next)
++ {
++ s = p->sec->output_section;
++ if (s != NULL && (s->flags & SEC_READONLY) != 0)
++ break;
++ }
++
++ /* If we didn't find any dynamic relocs in read-only sections, then
++ we'll be keeping the dynamic relocs and avoiding the copy reloc. */
++ if (p == NULL)
++ {
++ h->non_got_ref = 0;
++ return TRUE;
++ }
++
++ /* We must allocate the symbol in our .dynbss section, which will
++ become part of the .bss section of the executable. There will be
++ an entry for this symbol in the .dynsym section. The dynamic
++ object will contain position independent code, so all references
++ from the dynamic object to this symbol will go through the global
++ offset table. The dynamic linker will use the .dynsym entry to
++ determine the address it must put in the global offset table, so
++ both the dynamic object and the regular object will refer to the
++ same memory location for the variable. */
++
++ /* We must generate a R_MICROBLAZE_COPY reloc to tell the dynamic linker
++ to copy the initial value out of the dynamic object and into the
++ runtime process image. */
++ dynobj = elf_hash_table (info)->dynobj;
++ BFD_ASSERT (dynobj != NULL);
++ if ((h->root.u.def.section->flags & SEC_ALLOC) != 0)
++ {
++ htab->srelbss->size += sizeof (Elf64_External_Rela);
++ h->needs_copy = 1;
++ }
++
++ /* We need to figure out the alignment required for this symbol. I
++ have no idea how ELF linkers handle this. */
++ power_of_two = bfd_log2 (h->size);
++ if (power_of_two > 3)
++ power_of_two = 3;
++
++ sdynbss = htab->sdynbss;
++ /* Apply the required alignment. */
++ sdynbss->size = BFD_ALIGN (sdynbss->size, (bfd_size_type) (1 << power_of_two));
++ if (power_of_two > bfd_get_section_alignment (dynobj, sdynbss))
++ {
++ if (! bfd_set_section_alignment (dynobj, sdynbss, power_of_two))
++ return FALSE;
++ }
++
++ /* Define the symbol as being at this point in the section. */
++ h->root.u.def.section = sdynbss;
++ h->root.u.def.value = sdynbss->size;
++
++ /* Increment the section size to make room for the symbol. */
++ sdynbss->size += h->size;
++ return TRUE;
++}
++
++/* Allocate space in .plt, .got and associated reloc sections for
++ dynamic relocs. */
++
++static bfd_boolean
++allocate_dynrelocs (struct elf_link_hash_entry *h, void * dat)
++{
++ struct bfd_link_info *info;
++ struct elf64_mb_link_hash_table *htab;
++ struct elf64_mb_link_hash_entry *eh;
++ struct elf64_mb_dyn_relocs *p;
++
++ if (h->root.type == bfd_link_hash_indirect)
++ return TRUE;
++
++ info = (struct bfd_link_info *) dat;
++ htab = elf64_mb_hash_table (info);
++ if (htab == NULL)
++ return FALSE;
++
++ if (htab->elf.dynamic_sections_created
++ && h->plt.refcount > 0)
++ {
++ /* Make sure this symbol is output as a dynamic symbol.
++ Undefined weak syms won't yet be marked as dynamic. */
++ if (h->dynindx == -1
++ && !h->forced_local)
++ {
++ if (! bfd_elf_link_record_dynamic_symbol (info, h))
++ return FALSE;
++ }
++
++ if (WILL_CALL_FINISH_DYNAMIC_SYMBOL (1, bfd_link_pic (info), h))
++ {
++ asection *s = htab->splt;
++
++ /* The first entry in .plt is reserved. */
++ if (s->size == 0)
++ s->size = PLT_ENTRY_SIZE;
++
++ h->plt.offset = s->size;
++
++ /* If this symbol is not defined in a regular file, and we are
++ not generating a shared library, then set the symbol to this
++ location in the .plt. This is required to make function
++ pointers compare as equal between the normal executable and
++ the shared library. */
++ if (! bfd_link_pic (info)
++ && !h->def_regular)
++ {
++ h->root.u.def.section = s;
++ h->root.u.def.value = h->plt.offset;
++ }
++
++ /* Make room for this entry. */
++ s->size += PLT_ENTRY_SIZE;
++
++ /* We also need to make an entry in the .got.plt section, which
++ will be placed in the .got section by the linker script. */
++ htab->sgotplt->size += 4;
++
++ /* We also need to make an entry in the .rel.plt section. */
++ htab->srelplt->size += sizeof (Elf64_External_Rela);
++ }
++ else
++ {
++ h->plt.offset = (bfd_vma) -1;
++ h->needs_plt = 0;
++ }
++ }
++ else
++ {
++ h->plt.offset = (bfd_vma) -1;
++ h->needs_plt = 0;
++ }
++
++ eh = (struct elf64_mb_link_hash_entry *) h;
++ if (h->got.refcount > 0)
++ {
++ unsigned int need;
++ asection *s;
++
++ /* Make sure this symbol is output as a dynamic symbol.
++ Undefined weak syms won't yet be marked as dynamic. */
++ if (h->dynindx == -1
++ && !h->forced_local)
++ {
++ if (! bfd_elf_link_record_dynamic_symbol (info, h))
++ return FALSE;
++ }
++
++ need = 0;
++ if ((eh->tls_mask & TLS_TLS) != 0)
++ {
++ /* Handle TLS Symbol */
++ if ((eh->tls_mask & TLS_LD) != 0)
++ {
++ if (!eh->elf.def_dynamic)
++ /* We'll just use htab->tlsld_got.offset. This should
++ always be the case. It's a little odd if we have
++ a local dynamic reloc against a non-local symbol. */
++ htab->tlsld_got.refcount += 1;
++ else
++ need += 8;
++ }
++ if ((eh->tls_mask & TLS_GD) != 0)
++ need += 8;
++ }
++ else
++ {
++ /* Regular (non-TLS) symbol */
++ need += 4;
++ }
++ if (need == 0)
++ {
++ h->got.offset = (bfd_vma) -1;
++ }
++ else
++ {
++ s = htab->sgot;
++ h->got.offset = s->size;
++ s->size += need;
++ htab->srelgot->size += need * (sizeof (Elf64_External_Rela) / 4);
++ }
++ }
++ else
++ h->got.offset = (bfd_vma) -1;
++
++ if (eh->dyn_relocs == NULL)
++ return TRUE;
++
++ /* In the shared -Bsymbolic case, discard space allocated for
++ dynamic pc-relative relocs against symbols which turn out to be
++ defined in regular objects. For the normal shared case, discard
++ space for pc-relative relocs that have become local due to symbol
++ visibility changes. */
++
++ if (bfd_link_pic (info))
++ {
++ if (h->def_regular
++ && (h->forced_local
++ || info->symbolic))
++ {
++ struct elf64_mb_dyn_relocs **pp;
++
++ for (pp = &eh->dyn_relocs; (p = *pp) != NULL; )
++ {
++ p->count -= p->pc_count;
++ p->pc_count = 0;
++ if (p->count == 0)
++ *pp = p->next;
++ else
++ pp = &p->next;
++ }
++ }
++ }
++ else
++ {
++ /* For the non-shared case, discard space for relocs against
++ symbols which turn out to need copy relocs or are not
++ dynamic. */
++
++ if (!h->non_got_ref
++ && ((h->def_dynamic
++ && !h->def_regular)
++ || (htab->elf.dynamic_sections_created
++ && (h->root.type == bfd_link_hash_undefweak
++ || h->root.type == bfd_link_hash_undefined))))
++ {
++ /* Make sure this symbol is output as a dynamic symbol.
++ Undefined weak syms won't yet be marked as dynamic. */
++ if (h->dynindx == -1
++ && !h->forced_local)
++ {
++ if (! bfd_elf_link_record_dynamic_symbol (info, h))
++ return FALSE;
++ }
++
++ /* If that succeeded, we know we'll be keeping all the
++ relocs. */
++ if (h->dynindx != -1)
++ goto keep;
++ }
++
++ eh->dyn_relocs = NULL;
++
++ keep: ;
++ }
++
++ /* Finally, allocate space. */
++ for (p = eh->dyn_relocs; p != NULL; p = p->next)
++ {
++ asection *sreloc = elf_section_data (p->sec)->sreloc;
++ sreloc->size += p->count * sizeof (Elf64_External_Rela);
++ }
++
++ return TRUE;
++}
++
++/* Set the sizes of the dynamic sections. */
++
++static bfd_boolean
++microblaze_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
++ struct bfd_link_info *info)
++{
++ struct elf64_mb_link_hash_table *htab;
++ bfd *dynobj;
++ asection *s;
++ bfd *ibfd;
++
++ htab = elf64_mb_hash_table (info);
++ if (htab == NULL)
++ return FALSE;
++
++ dynobj = htab->elf.dynobj;
++ BFD_ASSERT (dynobj != NULL);
++
++ /* Set up .got offsets for local syms, and space for local dynamic
++ relocs. */
++ for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
++ {
++ bfd_signed_vma *local_got;
++ bfd_signed_vma *end_local_got;
++ bfd_size_type locsymcount;
++ Elf_Internal_Shdr *symtab_hdr;
++ unsigned char *lgot_masks;
++ asection *srel;
++
++ if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
++ continue;
++
++ for (s = ibfd->sections; s != NULL; s = s->next)
++ {
++ struct elf64_mb_dyn_relocs *p;
++
++ for (p = ((struct elf64_mb_dyn_relocs *)
++ elf_section_data (s)->local_dynrel);
++ p != NULL;
++ p = p->next)
++ {
++ if (!bfd_is_abs_section (p->sec)
++ && bfd_is_abs_section (p->sec->output_section))
++ {
++ /* Input section has been discarded, either because
++ it is a copy of a linkonce section or due to
++ linker script /DISCARD/, so we'll be discarding
++ the relocs too. */
++ }
++ else if (p->count != 0)
++ {
++ srel = elf_section_data (p->sec)->sreloc;
++ srel->size += p->count * sizeof (Elf64_External_Rela);
++ if ((p->sec->output_section->flags & SEC_READONLY) != 0)
++ info->flags |= DF_TEXTREL;
++ }
++ }
++ }
++
++ local_got = elf_local_got_refcounts (ibfd);
++ if (!local_got)
++ continue;
++
++ symtab_hdr = &elf_tdata (ibfd)->symtab_hdr;
++ locsymcount = symtab_hdr->sh_info;
++ end_local_got = local_got + locsymcount;
++ lgot_masks = (unsigned char *) end_local_got;
++ s = htab->sgot;
++ srel = htab->srelgot;
++
++ for (; local_got < end_local_got; ++local_got, ++lgot_masks)
++ {
++ if (*local_got > 0)
++ {
++ unsigned int need = 0;
++ if ((*lgot_masks & TLS_TLS) != 0)
++ {
++ if ((*lgot_masks & TLS_GD) != 0)
++ need += 8;
++ if ((*lgot_masks & TLS_LD) != 0)
++ htab->tlsld_got.refcount += 1;
++ }
++ else
++ need += 4;
++
++ if (need == 0)
++ {
++ *local_got = (bfd_vma) -1;
++ }
++ else
++ {
++ *local_got = s->size;
++ s->size += need;
++ if (bfd_link_pic (info))
++ srel->size += need * (sizeof (Elf64_External_Rela) / 4);
++ }
++ }
++ else
++ *local_got = (bfd_vma) -1;
++ }
++ }
++
++ /* Allocate global sym .plt and .got entries, and space for global
++ sym dynamic relocs. */
++ elf_link_hash_traverse (elf_hash_table (info), allocate_dynrelocs, info);
++
++ if (htab->tlsld_got.refcount > 0)
++ {
++ htab->tlsld_got.offset = htab->sgot->size;
++ htab->sgot->size += 8;
++ if (bfd_link_pic (info))
++ htab->srelgot->size += sizeof (Elf64_External_Rela);
++ }
++ else
++ htab->tlsld_got.offset = (bfd_vma) -1;
++
++ if (elf_hash_table (info)->dynamic_sections_created)
++ {
++ /* Make space for the trailing nop in .plt. */
++ if (htab->splt->size > 0)
++ htab->splt->size += 4;
++ }
++
++ /* The check_relocs and adjust_dynamic_symbol entry points have
++ determined the sizes of the various dynamic sections. Allocate
++ memory for them. */
++ for (s = dynobj->sections; s != NULL; s = s->next)
++ {
++ const char *name;
++ bfd_boolean strip = FALSE;
++
++ if ((s->flags & SEC_LINKER_CREATED) == 0)
++ continue;
++
++ /* It's OK to base decisions on the section name, because none
++ of the dynobj section names depend upon the input files. */
++ name = bfd_get_section_name (dynobj, s);
++
++ if (strncmp (name, ".rela", 5) == 0)
++ {
++ if (s->size == 0)
++ {
++ /* If we don't need this section, strip it from the
++ output file. This is to handle .rela.bss and
++ .rela.plt. We must create it in
++ create_dynamic_sections, because it must be created
++ before the linker maps input sections to output
++ sections. The linker does that before
++ adjust_dynamic_symbol is called, and it is that
++ function which decides whether anything needs to go
++ into these sections. */
++ strip = TRUE;
++ }
++ else
++ {
++ /* We use the reloc_count field as a counter if we need
++ to copy relocs into the output file. */
++ s->reloc_count = 0;
++ }
++ }
++ else if (s != htab->splt && s != htab->sgot && s != htab->sgotplt)
++ {
++ /* It's not one of our sections, so don't allocate space. */
++ continue;
++ }
++
++ if (strip)
++ {
++ s->flags |= SEC_EXCLUDE;
++ continue;
++ }
++
++ /* Allocate memory for the section contents. */
++ /* FIXME: This should be a call to bfd_alloc not bfd_zalloc.
++ Unused entries should be reclaimed before the section's contents
++ are written out, but at the moment this does not happen. Thus in
++ order to prevent writing out garbage, we initialise the section's
++ contents to zero. */
++ s->contents = (bfd_byte *) bfd_zalloc (dynobj, s->size);
++ if (s->contents == NULL && s->size != 0)
++ return FALSE;
++ }
++
++ if (elf_hash_table (info)->dynamic_sections_created)
++ {
++ /* Add some entries to the .dynamic section. We fill in the
++ values later, in microblaze_elf_finish_dynamic_sections, but we
++ must add the entries now so that we get the correct size for
++ the .dynamic section. The DT_DEBUG entry is filled in by the
++ dynamic linker and used by the debugger. */
++#define add_dynamic_entry(TAG, VAL) \
++ _bfd_elf_add_dynamic_entry (info, TAG, VAL)
++
++ if (bfd_link_executable (info))
++ {
++ if (!add_dynamic_entry (DT_DEBUG, 0))
++ return FALSE;
++ }
++
++ if (!add_dynamic_entry (DT_RELA, 0)
++ || !add_dynamic_entry (DT_RELASZ, 0)
++ || !add_dynamic_entry (DT_RELAENT, sizeof (Elf64_External_Rela)))
++ return FALSE;
++
++ if (htab->splt->size != 0)
++ {
++ if (!add_dynamic_entry (DT_PLTGOT, 0)
++ || !add_dynamic_entry (DT_PLTRELSZ, 0)
++ || !add_dynamic_entry (DT_PLTREL, DT_RELA)
++ || !add_dynamic_entry (DT_JMPREL, 0)
++ || !add_dynamic_entry (DT_BIND_NOW, 1))
++ return FALSE;
++ }
++
++ if (info->flags & DF_TEXTREL)
++ {
++ if (!add_dynamic_entry (DT_TEXTREL, 0))
++ return FALSE;
++ }
++ }
++#undef add_dynamic_entry
++ return TRUE;
++}
++
++/* Finish up dynamic symbol handling. We set the contents of various
++ dynamic sections here. */
++
++static bfd_boolean
++microblaze_elf_finish_dynamic_symbol (bfd *output_bfd,
++ struct bfd_link_info *info,
++ struct elf_link_hash_entry *h,
++ Elf_Internal_Sym *sym)
++{
++ struct elf64_mb_link_hash_table *htab;
++ struct elf64_mb_link_hash_entry *eh = elf64_mb_hash_entry(h);
++
++ htab = elf64_mb_hash_table (info);
++ if (htab == NULL)
++ return FALSE;
++
++ if (h->plt.offset != (bfd_vma) -1)
++ {
++ asection *splt;
++ asection *srela;
++ asection *sgotplt;
++ Elf_Internal_Rela rela;
++ bfd_byte *loc;
++ bfd_vma plt_index;
++ bfd_vma got_offset;
++ bfd_vma got_addr;
++
++ /* This symbol has an entry in the procedure linkage table. Set
++ it up. */
++ BFD_ASSERT (h->dynindx != -1);
++
++ splt = htab->splt;
++ srela = htab->srelplt;
++ sgotplt = htab->sgotplt;
++ BFD_ASSERT (splt != NULL && srela != NULL && sgotplt != NULL);
++
++ plt_index = h->plt.offset / PLT_ENTRY_SIZE - 1; /* first entry reserved. */
++ got_offset = (plt_index + 3) * 4; /* 3 reserved ??? */
++ got_addr = got_offset;
++
++ /* For non-PIC objects we need absolute address of the GOT entry. */
++ if (!bfd_link_pic (info))
++ got_addr += htab->sgotplt->output_section->vma + sgotplt->output_offset;
++
++ /* Fill in the entry in the procedure linkage table. */
++ bfd_put_32 (output_bfd, PLT_ENTRY_WORD_0 + ((got_addr >> 16) & 0xffff),
++ splt->contents + h->plt.offset);
++ if (bfd_link_pic (info))
++ bfd_put_32 (output_bfd, PLT_ENTRY_WORD_1 + (got_addr & 0xffff),
++ splt->contents + h->plt.offset + 4);
++ else
++ bfd_put_32 (output_bfd, PLT_ENTRY_WORD_1_NOPIC + (got_addr & 0xffff),
++ splt->contents + h->plt.offset + 4);
++ bfd_put_32 (output_bfd, (bfd_vma) PLT_ENTRY_WORD_2,
++ splt->contents + h->plt.offset + 8);
++ bfd_put_32 (output_bfd, (bfd_vma) PLT_ENTRY_WORD_3,
++ splt->contents + h->plt.offset + 12);
++
++ /* Any additions to the .got section??? */
++ /* bfd_put_32 (output_bfd,
++ splt->output_section->vma + splt->output_offset + h->plt.offset + 4,
++ sgotplt->contents + got_offset); */
++
++ /* Fill in the entry in the .rela.plt section. */
++ rela.r_offset = (sgotplt->output_section->vma
++ + sgotplt->output_offset
++ + got_offset);
++ rela.r_info = ELF64_R_INFO (h->dynindx, R_MICROBLAZE_JUMP_SLOT);
++ rela.r_addend = 0;
++ loc = srela->contents;
++ loc += plt_index * sizeof (Elf64_External_Rela);
++ bfd_elf64_swap_reloca_out (output_bfd, &rela, loc);
++
++ if (!h->def_regular)
++ {
++ /* Mark the symbol as undefined, rather than as defined in
++ the .plt section. Zero the value. */
++ sym->st_shndx = SHN_UNDEF;
++ sym->st_value = 0;
++ }
++ }
++
++ /* h->got.refcount to be checked ? */
++ if (h->got.offset != (bfd_vma) -1 &&
++ ! ((h->got.offset & 1) ||
++ IS_TLS_LD(eh->tls_mask) || IS_TLS_GD(eh->tls_mask)))
++ {
++ asection *sgot;
++ asection *srela;
++ bfd_vma offset;
++
++ /* This symbol has an entry in the global offset table. Set it
++ up. */
++
++ sgot = htab->sgot;
++ srela = htab->srelgot;
++ BFD_ASSERT (sgot != NULL && srela != NULL);
++
++ offset = (sgot->output_section->vma + sgot->output_offset
++ + (h->got.offset &~ (bfd_vma) 1));
++
++ /* If this is a -Bsymbolic link, and the symbol is defined
++ locally, we just want to emit a RELATIVE reloc. Likewise if
++ the symbol was forced to be local because of a version file.
++ The entry in the global offset table will already have been
++ initialized in the relocate_section function. */
++ if (bfd_link_pic (info)
++ && ((info->symbolic && h->def_regular)
++ || h->dynindx == -1))
++ {
++ asection *sec = h->root.u.def.section;
++ microblaze_elf_output_dynamic_relocation (output_bfd,
++ srela, srela->reloc_count++,
++ /* symindex= */ 0,
++ R_MICROBLAZE_REL, offset,
++ h->root.u.def.value
++ + sec->output_section->vma
++ + sec->output_offset);
++ }
++ else
++ {
++ microblaze_elf_output_dynamic_relocation (output_bfd,
++ srela, srela->reloc_count++,
++ h->dynindx,
++ R_MICROBLAZE_GLOB_DAT,
++ offset, 0);
++ }
++
++ bfd_put_32 (output_bfd, (bfd_vma) 0,
++ sgot->contents + (h->got.offset &~ (bfd_vma) 1));
++ }
++
++ if (h->needs_copy)
++ {
++ asection *s;
++ Elf_Internal_Rela rela;
++ bfd_byte *loc;
++
++ /* This symbols needs a copy reloc. Set it up. */
++
++ BFD_ASSERT (h->dynindx != -1);
++
++ s = bfd_get_linker_section (htab->elf.dynobj, ".rela.bss");
++ BFD_ASSERT (s != NULL);
++
++ rela.r_offset = (h->root.u.def.value
++ + h->root.u.def.section->output_section->vma
++ + h->root.u.def.section->output_offset);
++ rela.r_info = ELF64_R_INFO (h->dynindx, R_MICROBLAZE_COPY);
++ rela.r_addend = 0;
++ loc = s->contents + s->reloc_count++ * sizeof (Elf64_External_Rela);
++ bfd_elf64_swap_reloca_out (output_bfd, &rela, loc);
++ }
++
++ /* Mark some specially defined symbols as absolute. */
++ if (h == htab->elf.hdynamic
++ || h == htab->elf.hgot
++ || h == htab->elf.hplt)
++ sym->st_shndx = SHN_ABS;
++
++ return TRUE;
++}
++
++
++/* Finish up the dynamic sections. */
++
++static bfd_boolean
++microblaze_elf_finish_dynamic_sections (bfd *output_bfd,
++ struct bfd_link_info *info)
++{
++ bfd *dynobj;
++ asection *sdyn, *sgot;
++ struct elf64_mb_link_hash_table *htab;
++
++ htab = elf64_mb_hash_table (info);
++ if (htab == NULL)
++ return FALSE;
++
++ dynobj = htab->elf.dynobj;
++
++ sdyn = bfd_get_linker_section (dynobj, ".dynamic");
++
++ if (htab->elf.dynamic_sections_created)
++ {
++ asection *splt;
++ Elf64_External_Dyn *dyncon, *dynconend;
++
++ splt = bfd_get_linker_section (dynobj, ".plt");
++ BFD_ASSERT (splt != NULL && sdyn != NULL);
++
++ dyncon = (Elf64_External_Dyn *) sdyn->contents;
++ dynconend = (Elf64_External_Dyn *) (sdyn->contents + sdyn->size);
++ for (; dyncon < dynconend; dyncon++)
++ {
++ Elf_Internal_Dyn dyn;
++ const char *name;
++ bfd_boolean size;
++
++ bfd_elf64_swap_dyn_in (dynobj, dyncon, &dyn);
++
++ switch (dyn.d_tag)
++ {
++ case DT_PLTGOT: name = ".got.plt"; size = FALSE; break;
++ case DT_PLTRELSZ: name = ".rela.plt"; size = TRUE; break;
++ case DT_JMPREL: name = ".rela.plt"; size = FALSE; break;
++ case DT_RELA: name = ".rela.dyn"; size = FALSE; break;
++ case DT_RELASZ: name = ".rela.dyn"; size = TRUE; break;
++ default: name = NULL; size = FALSE; break;
++ }
++
++ if (name != NULL)
++ {
++ asection *s;
++
++ s = bfd_get_section_by_name (output_bfd, name);
++ if (s == NULL)
++ dyn.d_un.d_val = 0;
++ else
++ {
++ if (! size)
++ dyn.d_un.d_ptr = s->vma;
++ else
++ dyn.d_un.d_val = s->size;
++ }
++ bfd_elf64_swap_dyn_out (output_bfd, &dyn, dyncon);
++ }
++ }
++
++ /* Clear the first entry in the procedure linkage table,
++ and put a nop in the last four bytes. */
++ if (splt->size > 0)
++ {
++ memset (splt->contents, 0, PLT_ENTRY_SIZE);
++ bfd_put_32 (output_bfd, (bfd_vma) 0x80000000 /* nop. */,
++ splt->contents + splt->size - 4);
++ }
++
++ elf_section_data (splt->output_section)->this_hdr.sh_entsize = 4;
++ }
++
++ /* Set the first entry in the global offset table to the address of
++ the dynamic section. */
++ sgot = bfd_get_linker_section (dynobj, ".got.plt");
++ if (sgot && sgot->size > 0)
++ {
++ if (sdyn == NULL)
++ bfd_put_32 (output_bfd, (bfd_vma) 0, sgot->contents);
++ else
++ bfd_put_32 (output_bfd,
++ sdyn->output_section->vma + sdyn->output_offset,
++ sgot->contents);
++ elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4;
++ }
++
++ if (htab->sgot && htab->sgot->size > 0)
++ elf_section_data (htab->sgot->output_section)->this_hdr.sh_entsize = 4;
++
++ return TRUE;
++}
++
++/* Hook called by the linker routine which adds symbols from an object
++ file. We use it to put .comm items in .sbss, and not .bss. */
++
++static bfd_boolean
++microblaze_elf_add_symbol_hook (bfd *abfd,
++ struct bfd_link_info *info,
++ Elf_Internal_Sym *sym,
++ const char **namep ATTRIBUTE_UNUSED,
++ flagword *flagsp ATTRIBUTE_UNUSED,
++ asection **secp,
++ bfd_vma *valp)
++{
++ if (sym->st_shndx == SHN_COMMON
++ && !bfd_link_relocatable (info)
++ && sym->st_size <= elf_gp_size (abfd))
++ {
++ /* Common symbols less than or equal to -G nn bytes are automatically
++ put into .sbss. */
++ *secp = bfd_make_section_old_way (abfd, ".sbss");
++ if (*secp == NULL
++ || ! bfd_set_section_flags (abfd, *secp, SEC_IS_COMMON))
++ return FALSE;
++
++ *valp = sym->st_size;
++ }
++
++ return TRUE;
++}
++
++#define TARGET_LITTLE_SYM microblaze_elf64_le_vec
++#define TARGET_LITTLE_NAME "elf64-microblazeel"
++
++#define TARGET_BIG_SYM microblaze_elf64_vec
++#define TARGET_BIG_NAME "elf64-microblaze"
++
++#define ELF_ARCH bfd_arch_microblaze
++#define ELF_TARGET_ID MICROBLAZE_ELF_DATA
++#define ELF_MACHINE_CODE EM_MICROBLAZE
++#define ELF_MACHINE_ALT1 EM_MICROBLAZE_OLD
++#define ELF_MAXPAGESIZE 0x1000
++#define elf_info_to_howto microblaze_elf_info_to_howto
++#define elf_info_to_howto_rel NULL
++
++#define bfd_elf64_bfd_reloc_type_lookup microblaze_elf_reloc_type_lookup
++#define bfd_elf64_bfd_is_local_label_name microblaze_elf_is_local_label_name
++#define elf_backend_relocate_section microblaze_elf_relocate_section
++#define bfd_elf64_bfd_relax_section microblaze_elf_relax_section
++#define bfd_elf64_bfd_merge_private_bfd_data microblaze_elf_merge_private_bfd_data
++#define bfd_elf64_bfd_reloc_name_lookup microblaze_elf_reloc_name_lookup
++
++#define elf_backend_gc_mark_hook microblaze_elf_gc_mark_hook
++#define elf_backend_gc_sweep_hook microblaze_elf_gc_sweep_hook
++#define elf_backend_check_relocs microblaze_elf_check_relocs
++#define elf_backend_copy_indirect_symbol microblaze_elf_copy_indirect_symbol
++#define bfd_elf64_bfd_link_hash_table_create microblaze_elf_link_hash_table_create
++#define elf_backend_can_gc_sections 1
++#define elf_backend_can_refcount 1
++#define elf_backend_want_got_plt 1
++#define elf_backend_plt_readonly 1
++#define elf_backend_got_header_size 12
++#define elf_backend_rela_normal 1
++
++#define elf_backend_adjust_dynamic_symbol microblaze_elf_adjust_dynamic_symbol
++#define elf_backend_create_dynamic_sections microblaze_elf_create_dynamic_sections
++#define elf_backend_finish_dynamic_sections microblaze_elf_finish_dynamic_sections
++#define elf_backend_finish_dynamic_symbol microblaze_elf_finish_dynamic_symbol
++#define elf_backend_size_dynamic_sections microblaze_elf_size_dynamic_sections
++#define elf_backend_add_symbol_hook microblaze_elf_add_symbol_hook
++
++#include "elf64-target.h"
+diff --git a/bfd/targets.c b/bfd/targets.c
+index 158168c..ef567a3 100644
+--- a/bfd/targets.c
++++ b/bfd/targets.c
+@@ -706,6 +706,8 @@ extern const bfd_target mep_elf32_le_vec;
+ extern const bfd_target metag_elf32_vec;
+ extern const bfd_target microblaze_elf32_vec;
+ extern const bfd_target microblaze_elf32_le_vec;
++extern const bfd_target microblaze_elf64_vec;
++extern const bfd_target microblaze_elf64_le_vec;
+ extern const bfd_target mips_ecoff_be_vec;
+ extern const bfd_target mips_ecoff_le_vec;
+ extern const bfd_target mips_ecoff_bele_vec;
+@@ -1073,6 +1075,10 @@ static const bfd_target * const _bfd_target_vector[] =
+
+ &metag_elf32_vec,
+
++#ifdef BFD64
++ &microblaze_elf64_vec,
++ &microblaze_elf64_le_vec,
++#endif
+ &microblaze_elf32_vec,
+
+ &mips_ecoff_be_vec,
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index 16b10d0..c794347 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -35,10 +35,13 @@
+ #define streq(a,b) (strcmp (a, b) == 0)
+ #endif
+
++static int microblaze_arch_size = 0;
++
+ #define OPTION_EB (OPTION_MD_BASE + 0)
+ #define OPTION_EL (OPTION_MD_BASE + 1)
+ #define OPTION_LITTLE (OPTION_MD_BASE + 2)
+ #define OPTION_BIG (OPTION_MD_BASE + 3)
++#define OPTION_M64 (OPTION_MD_BASE + 4)
+
+ void microblaze_generate_symbol (char *sym);
+ static bfd_boolean check_spl_reg (unsigned *);
+@@ -773,6 +776,74 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
+ return new_pointer;
+ }
+
++ static char *
++parse_imml (char * s, expressionS * e, long min, long max)
++{
++ char *new_pointer;
++ char *atp;
++ int itype, ilen;
++
++ ilen = 0;
++
++ /* Find the start of "@GOT" or "@PLT" suffix (if any) */
++ for (atp = s; *atp != '@'; atp++)
++ if (is_end_of_line[(unsigned char) *atp])
++ break;
++
++ if (*atp == '@')
++ {
++ itype = match_imm (atp + 1, &ilen);
++ if (itype != 0)
++ {
++ *atp = 0;
++ e->X_md = itype;
++ }
++ else
++ {
++ atp = NULL;
++ e->X_md = 0;
++ ilen = 0;
++ }
++ *atp = 0;
++ }
++ else
++ {
++ atp = NULL;
++ e->X_md = 0;
++ }
++
++ if (atp && !GOT_symbol)
++ {
++ GOT_symbol = symbol_find_or_make (GOT_SYMBOL_NAME);
++ }
++
++ new_pointer = parse_exp (s, e);
++
++ if (!GOT_symbol && ! strncmp (s, GOT_SYMBOL_NAME, 20))
++ {
++ GOT_symbol = symbol_find_or_make (GOT_SYMBOL_NAME);
++ }
++
++ if (e->X_op == O_absent)
++ ; /* An error message has already been emitted. */
++ else if ((e->X_op != O_constant && e->X_op != O_symbol) )
++ as_fatal (_("operand must be a constant or a label"));
++ else if ((e->X_op == O_constant) && ((long) e->X_add_number < min
++ || (long) e->X_add_number > max))
++ {
++ as_fatal (_("operand must be absolute in range %ld..%ld, not %ld"),
++ min, max, (long) e->X_add_number);
++ }
++
++ if (atp)
++ {
++ *atp = '@'; /* restore back (needed?) */
++ if (new_pointer >= atp)
++ new_pointer += ilen + 1; /* sizeof (imm_suffix) + 1 for '@' */
++ }
++ return new_pointer;
++}
++
+ static char *
+ check_got (int * got_type, int * got_len)
+ {
+@@ -920,6 +991,7 @@ md_assemble (char * str)
+ unsigned int immed, immed2, temp;
+ expressionS exp;
+ char name[20];
++ long immedl;
+
+ /* Drop leading whitespace. */
+ while (ISSPACE (* str))
+@@ -1129,7 +1201,7 @@ md_assemble (char * str)
+ }
+ break;
+
+- case INST_TYPE_RD_R1_IMM5:
++ case INST_TYPE_RD_R1_IMMS:
+ if (strcmp (op_end, ""))
+ op_end = parse_reg (op_end + 1, &reg1); /* Get rd. */
+ else
+@@ -1163,16 +1235,22 @@ md_assemble (char * str)
+ immed = exp.X_add_number;
+ }
+
+- if (immed != (immed % 32))
++ if ((immed != (immed % 32)) &&
++ (opcode->instr == bslli || opcode->instr == bsrai || opcode->instr == bsrli))
+ {
+ as_warn (_("Shift value > 32. using <value %% 32>"));
+ immed = immed % 32;
+ }
++ else if (immed != (immed % 64))
++ {
++ as_warn (_("Shift value > 64. using <value %% 64>"));
++ immed = immed % 64;
++ }
+ inst |= (reg1 << RD_LOW) & RD_MASK;
+ inst |= (reg2 << RA_LOW) & RA_MASK;
+- inst |= (immed << IMM_LOW) & IMM5_MASK;
++ inst |= (immed << IMM_LOW) & IMM6_MASK;
+ break;
+- case INST_TYPE_RD_R1_IMM5_IMM5:
++ case INST_TYPE_RD_R1_IMMW_IMMS:
+ if (strcmp (op_end, ""))
+ op_end = parse_reg (op_end + 1, &reg1); /* Get rd. */
+ else
+@@ -1196,7 +1274,7 @@ md_assemble (char * str)
+
+ /* Width immediate value. */
+ if (strcmp (op_end, ""))
+- op_end = parse_imm (op_end + 1, &exp, MIN_IMM_WIDTH, MAX_IMM_WIDTH);
++ op_end = parse_imm (op_end + 1, &exp, MIN_IMM, MAX_IMM);
+ else
+ as_fatal (_("Error in statement syntax"));
+ if (exp.X_op != O_constant)
+@@ -1208,6 +1286,8 @@ md_assemble (char * str)
+ immed = exp.X_add_number;
+ if (opcode->instr == bsefi && immed > 31)
+ as_fatal (_("Width value must be less than 32"));
++ else if (opcode->instr == bslefi && immed > 63)
++ as_fatal (_("Width value must be less than 64"));
+
+ /* Shift immediate value. */
+ if (strcmp (op_end, ""))
+@@ -1215,32 +1295,40 @@ md_assemble (char * str)
+ else
+ as_fatal (_("Error in statement syntax"));
+ if (exp.X_op != O_constant)
+- {
++ {
+ as_warn (_("Symbol used as immediate shift value for bit field instruction"));
+ immed2 = 0;
+ }
+ else
+- {
++ {
+ output = frag_more (isize);
+ immed2 = exp.X_add_number;
+- }
+- if (immed2 != (immed2 % 32))
+- {
+- as_warn (_("Shift value greater than 32. using <value %% 32>"));
++ }
++ if ((immed2 != (immed2 % 32)) && (opcode->instr == bsefi || opcode->instr == bsifi))
++ {
++
++ as_warn (_("Shift value greater than 32. using <value %% 32>"));
+ immed2 = immed2 % 32;
+ }
++ else if (immed2 != (immed2 % 64))
++ {
++ as_warn (_("Shift value greater than 64. using <value %% 64>"));
++ immed2 = immed2 % 64;
++ }
+
+ /* Check combined value. */
+- if (immed + immed2 > 32)
++ if ((immed + immed2 > 32) && (opcode->instr == bsefi || opcode->instr == bsifi))
+ as_fatal (_("Width value + shift value must not be greater than 32"));
+
++ else if (immed + immed2 > 64)
++ as_fatal (_("Width value + shift value must not be greater than 64"));
+ inst |= (reg1 << RD_LOW) & RD_MASK;
+ inst |= (reg2 << RA_LOW) & RA_MASK;
+- if (opcode->instr == bsefi)
+- inst |= (immed & IMM5_MASK) << IMM_WIDTH_LOW; /* bsefi */
++ if (opcode->instr == bsefi || opcode->instr == bslefi)
++ inst |= (immed & IMM6_MASK) << IMM_WIDTH_LOW; /* bsefi or bslefi */
+ else
+- inst |= ((immed + immed2 - 1) & IMM5_MASK) << IMM_WIDTH_LOW; /* bsifi */
+- inst |= (immed2 << IMM_LOW) & IMM5_MASK;
++ inst |= ((immed + immed2 - 1) & IMM6_MASK) << IMM_WIDTH_LOW; /* bsifi or bslifi */
++ inst |= (immed2 << IMM_LOW) & IMM6_MASK;
+ break;
+ case INST_TYPE_R1_R2:
+ if (strcmp (op_end, ""))
+@@ -1808,6 +1896,142 @@ md_assemble (char * str)
+ }
+ inst |= (immed << IMM_MBAR);
+ break;
++ /* For 64-bit instructions */
++ case INST_TYPE_RD_R1_IMML:
++ if (strcmp (op_end, ""))
++ op_end = parse_reg (op_end + 1, &reg1); /* Get rd. */
++ else
++ {
++ as_fatal (_("Error in statement syntax"));
++ reg1 = 0;
++ }
++ if (strcmp (op_end, ""))
++ op_end = parse_reg (op_end + 1, &reg2); /* Get r1. */
++ else
++ {
++ as_fatal (_("Error in statement syntax"));
++ reg2 = 0;
++ }
++ if (strcmp (op_end, ""))
++ op_end = parse_imml (op_end + 1, & exp, MIN_IMML, MAX_IMML);
++ else
++ as_fatal (_("Error in statement syntax"));
++
++ /* Check for spl registers. */
++ if (check_spl_reg (& reg1))
++ as_fatal (_("Cannot use special register with this instruction"));
++ if (check_spl_reg (& reg2))
++ as_fatal (_("Cannot use special register with this instruction"));
++
++ if (exp.X_op != O_constant)
++ {
++ char *opc = NULL;
++ relax_substateT subtype;
++
++ if (exp.X_md != 0)
++ subtype = get_imm_otype(exp.X_md);
++ else
++ subtype = opcode->inst_offset_type;
++
++ output = frag_var (rs_machine_dependent,
++ isize * 2, /* maxm of 2 words. */
++ isize * 2, /* minm of 2 words. */
++ subtype, /* PC-relative or not. */
++ exp.X_add_symbol,
++ exp.X_add_number,
++ opc);
++ immedl = 0L;
++ }
++ else
++ {
++ output = frag_more (isize);
++ immedl = exp.X_add_number;
++
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
++ if (opcode1 == NULL)
++ {
++ as_bad (_("unknown opcode \"%s\""), "imml");
++ return;
++ }
++
++ inst1 = opcode1->bit_sequence;
++ inst1 |= ((immedl & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
++ output[0] = INST_BYTE0 (inst1);
++ output[1] = INST_BYTE1 (inst1);
++ output[2] = INST_BYTE2 (inst1);
++ output[3] = INST_BYTE3 (inst1);
++ output = frag_more (isize);
++ }
++
++ inst |= (reg1 << RD_LOW) & RD_MASK;
++ inst |= (reg2 << RA_LOW) & RA_MASK;
++ inst |= (immedl << IMM_LOW) & IMM_MASK;
++ break;
++
++ case INST_TYPE_R1_IMML:
++ if (strcmp (op_end, ""))
++ op_end = parse_reg (op_end + 1, &reg1); /* Get r1. */
++ else
++ {
++ as_fatal (_("Error in statement syntax"));
++ reg1 = 0;
++ }
++ if (strcmp (op_end, ""))
++ op_end = parse_imml (op_end + 1, & exp, MIN_IMM, MAX_IMM);
++ else
++ as_fatal (_("Error in statement syntax"));
++
++ /* Check for spl registers. */
++ if (check_spl_reg (&reg1))
++ as_fatal (_("Cannot use special register with this instruction"));
++
++ if (exp.X_op != O_constant)
++ {
++ char *opc = NULL;
++ relax_substateT subtype;
++
++ if (exp.X_md != 0)
++ subtype = get_imm_otype(exp.X_md);
++ else
++ subtype = opcode->inst_offset_type;
++
++ output = frag_var (rs_machine_dependent,
++ isize * 2, /* maxm of 2 words. */
++ isize * 2, /* minm of 2 words. */
++ subtype, /* PC-relative or not. */
++ exp.X_add_symbol,
++ exp.X_add_number,
++ opc);
++ immedl = 0L;
++ }
++ else
++ {
++ output = frag_more (isize);
++ immedl = exp.X_add_number;
++
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
++ if (opcode1 == NULL)
++ {
++ as_bad (_("unknown opcode \"%s\""), "imml");
++ return;
++ }
++
++ inst1 = opcode1->bit_sequence;
++ inst1 |= ((immedl & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
++ output[0] = INST_BYTE0 (inst1);
++ output[1] = INST_BYTE1 (inst1);
++ output[2] = INST_BYTE2 (inst1);
++ output[3] = INST_BYTE3 (inst1);
++ output = frag_more (isize);
++ }
++
++ inst |= (reg1 << RA_LOW) & RA_MASK;
++ inst |= (immedl << IMM_LOW) & IMM_MASK;
++ break;
++
++ case INST_TYPE_IMML:
++ as_fatal (_("An IMML instruction should not be present in the .s file"));
++ break;
+
+ default:
+ as_fatal (_("unimplemented opcode \"%s\""), name);
+@@ -1918,6 +2142,7 @@ struct option md_longopts[] =
+ {"EL", no_argument, NULL, OPTION_EL},
+ {"mlittle-endian", no_argument, NULL, OPTION_LITTLE},
+ {"mbig-endian", no_argument, NULL, OPTION_BIG},
++ {"m64", no_argument, NULL, OPTION_M64},
+ { NULL, no_argument, NULL, 0}
+ };
+
+@@ -2569,6 +2794,18 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
+ return rel;
+ }
+
++/* Called by TARGET_FORMAT. */
++const char *
++microblaze_target_format (void)
++{
++
++ if (microblaze_arch_size == 64)
++ return "elf64-microblazeel";
++ else
++ return target_big_endian ? "elf32-microblaze" : "elf32-microblazeel";
++}
++
++
+ int
+ md_parse_option (int c, const char * arg ATTRIBUTE_UNUSED)
+ {
+@@ -2582,6 +2819,10 @@ md_parse_option (int c, const char * arg ATTRIBUTE_UNUSED)
+ case OPTION_LITTLE:
+ target_big_endian = 0;
+ break;
++ case OPTION_M64:
++ //if (arg != NULL && strcmp (arg, "64") == 0)
++ microblaze_arch_size = 64;
++ break;
+ default:
+ return 0;
+ }
+@@ -2597,6 +2838,7 @@ md_show_usage (FILE * stream ATTRIBUTE_UNUSED)
+ fprintf (stream, _(" MicroBlaze specific assembler options:\n"));
+ fprintf (stream, " -%-23s%s\n", "mbig-endian", N_("assemble for a big endian cpu"));
+ fprintf (stream, " -%-23s%s\n", "mlittle-endian", N_("assemble for a little endian cpu"));
++ fprintf (stream, " -%-23s%s\n", "m64", N_("generate 64-bit elf"));
+ }
+
+
+diff --git a/gas/config/tc-microblaze.h b/gas/config/tc-microblaze.h
+index ca9dbb8..9d38d2c 100644
+--- a/gas/config/tc-microblaze.h
++++ b/gas/config/tc-microblaze.h
+@@ -78,7 +78,9 @@ extern const struct relax_type md_relax_table[];
+
+ #ifdef OBJ_ELF
+
+-#define TARGET_FORMAT (target_big_endian ? "elf32-microblaze" : "elf32-microblazeel")
++#define TARGET_FORMAT microblaze_target_format()
++extern const char *microblaze_target_format (void);
++//#define TARGET_FORMAT (target_big_endian ? "elf32-microblaze" : "elf32-microblazeel")
+
+ #define ELF_TC_SPECIAL_SECTIONS \
+ { ".sdata", SHT_PROGBITS, SHF_ALLOC + SHF_WRITE }, \
+diff --git a/include/elf/common.h b/include/elf/common.h
+index 996acf9..2f1e5be 100644
+--- a/include/elf/common.h
++++ b/include/elf/common.h
+@@ -339,6 +339,7 @@
+ #define EM_RISCV 243 /* RISC-V */
+ #define EM_LANAI 244 /* Lanai 32-bit processor. */
+ #define EM_BPF 247 /* Linux BPF – in-kernel virtual machine. */
++#define EM_MB_64 248 /* Xilinx MicroBlaze 32-bit RISC soft processor core */
+ #define EM_NFP 250 /* Netronome Flow Processor. */
+ #define EM_CSKY 252 /* C-SKY processor family. */
+
+diff --git a/ld/Makefile.am b/ld/Makefile.am
+index d7faf19..f7b3b97 100644
+--- a/ld/Makefile.am
++++ b/ld/Makefile.am
+@@ -422,6 +422,8 @@ ALL_64_EMULATION_SOURCES = \
+ eelf32ltsmipn32.c \
+ eelf32ltsmipn32_fbsd.c \
+ eelf32mipswindiss.c \
++ eelf64microblazeel.c \
++ eelf64microblaze.c \
+ eelf64_aix.c \
+ eelf64_ia64.c \
+ eelf64_ia64_fbsd.c \
+@@ -1702,6 +1704,12 @@ eelf32_x86_64_nacl.c: $(srcdir)/emulparams/elf32_x86_64_nacl.sh \
+ $(srcdir)/emulparams/elf_nacl.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
++eelf64microblazeel.c: $(srcdir)/emulparams/elf64microblazeel.sh \
++ $(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
++
++eelf64microblaze.c: $(srcdir)/emulparams/elf64microblaze.sh \
++ $(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
++
+ eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+diff --git a/ld/Makefile.in b/ld/Makefile.in
+index 8b14f52..ffc9a3e 100644
+--- a/ld/Makefile.in
++++ b/ld/Makefile.in
+@@ -907,6 +907,8 @@ ALL_64_EMULATION_SOURCES = \
+ eelf32ltsmipn32.c \
+ eelf32ltsmipn32_fbsd.c \
+ eelf32mipswindiss.c \
++ eelf64microblazeel.c \
++ eelf64microblaze.c \
+ eelf64_aix.c \
+ eelf64_ia64.c \
+ eelf64_ia64_fbsd.c \
+@@ -1355,6 +1357,8 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xc16xs.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xstormy16.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32xtensa.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64microblazeel.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64microblaze.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_aix.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_ia64.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64_ia64_fbsd.Po@am__quote@
+@@ -3306,6 +3310,12 @@ eelf32_x86_64_nacl.c: $(srcdir)/emulparams/elf32_x86_64_nacl.sh \
+ $(srcdir)/emulparams/elf_nacl.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
++eelf64microblazeel.c: $(srcdir)/emulparams/elf64microblazeel.sh \
++ $(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
++
++eelf64microblaze.c: $(srcdir)/emulparams/elf64microblaze.sh \
++ $(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
++
+ eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+diff --git a/ld/configure.tgt b/ld/configure.tgt
+index 1e37d74..42f106d 100644
+--- a/ld/configure.tgt
++++ b/ld/configure.tgt
+@@ -424,6 +424,9 @@ microblaze*-linux*) targ_emul="elf32mb_linux"
+ microblazeel*) targ_emul=elf32microblazeel
+ targ_extra_emuls=elf32microblaze
+ ;;
++microblazeel64*) targ_emul=elf64microblazeel
++ targ_extra_emuls=elf64microblaze
++ ;;
+ microblaze*) targ_emul=elf32microblaze
+ targ_extra_emuls=elf32microblazeel
+ ;;
+diff --git a/ld/emulparams/elf64microblaze.sh b/ld/emulparams/elf64microblaze.sh
+new file mode 100644
+index 0000000..9c7b0eb
+--- /dev/null
++++ b/ld/emulparams/elf64microblaze.sh
+@@ -0,0 +1,23 @@
++SCRIPT_NAME=elfmicroblaze
++OUTPUT_FORMAT="elf64-microblazeel"
++#BIG_OUTPUT_FORMAT="elf64-microblaze"
++LITTLE_OUTPUT_FORMAT="elf64-microblazeel"
++#TEXT_START_ADDR=0
++NONPAGED_TEXT_START_ADDR=0x28
++ALIGNMENT=4
++MAXPAGESIZE=4
++ARCH=microblaze
++EMBEDDED=yes
++
++NOP=0x80000000
++
++# Hmmm, there's got to be a better way. This sets the stack to the
++# top of the simulator memory (2^19 bytes).
++#PAGE_SIZE=0x1000
++#DATA_ADDR=0x10000
++#OTHER_RELOCATING_SECTIONS='.stack 0x7000 : { _stack = .; *(.stack) }'
++#$@{RELOCATING+ PROVIDE (__stack = 0x7000);@}
++#OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = _end + 0x1000);'
++
++TEMPLATE_NAME=elf32
++#GENERATE_SHLIB_SCRIPT=yes
+diff --git a/ld/emulparams/elf64microblazeel.sh b/ld/emulparams/elf64microblazeel.sh
+new file mode 100644
+index 0000000..9c7b0eb
+--- /dev/null
++++ b/ld/emulparams/elf64microblazeel.sh
+@@ -0,0 +1,23 @@
++SCRIPT_NAME=elfmicroblaze
++OUTPUT_FORMAT="elf64-microblazeel"
++#BIG_OUTPUT_FORMAT="elf64-microblaze"
++LITTLE_OUTPUT_FORMAT="elf64-microblazeel"
++#TEXT_START_ADDR=0
++NONPAGED_TEXT_START_ADDR=0x28
++ALIGNMENT=4
++MAXPAGESIZE=4
++ARCH=microblaze
++EMBEDDED=yes
++
++NOP=0x80000000
++
++# Hmmm, there's got to be a better way. This sets the stack to the
++# top of the simulator memory (2^19 bytes).
++#PAGE_SIZE=0x1000
++#DATA_ADDR=0x10000
++#OTHER_RELOCATING_SECTIONS='.stack 0x7000 : { _stack = .; *(.stack) }'
++#$@{RELOCATING+ PROVIDE (__stack = 0x7000);@}
++#OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = _end + 0x1000);'
++
++TEMPLATE_NAME=elf32
++#GENERATE_SHLIB_SCRIPT=yes
+diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c
+index f8aaf27..20ea6a8 100644
+--- a/opcodes/microblaze-dis.c
++++ b/opcodes/microblaze-dis.c
+@@ -33,6 +33,7 @@
+ #define get_field_r1(instr) get_field (instr, RA_MASK, RA_LOW)
+ #define get_field_r2(instr) get_field (instr, RB_MASK, RB_LOW)
+ #define get_int_field_imm(instr) ((instr & IMM_MASK) >> IMM_LOW)
++#define get_int_field_imml(instr) ((instr & IMML_MASK) >> IMM_LOW)
+ #define get_int_field_r1(instr) ((instr & RA_MASK) >> RA_LOW)
+
+
+@@ -56,11 +57,20 @@ get_field_imm (long instr)
+ }
+
+ static char *
+-get_field_imm5 (long instr)
++get_field_imml (long instr)
+ {
+ char tmpstr[25];
+
+- sprintf (tmpstr, "%d", (short)((instr & IMM5_MASK) >> IMM_LOW));
++ sprintf (tmpstr, "%d", (short)((instr & IMML_MASK) >> IMM_LOW));
++ return (strdup (tmpstr));
++}
++
++static char *
++get_field_imms (long instr)
++{
++ char tmpstr[25];
++
++ sprintf (tmpstr, "%d", (short)((instr & IMM6_MASK) >> IMM_LOW));
+ return (strdup (tmpstr));
+ }
+
+@@ -74,14 +84,14 @@ get_field_imm5_mbar (long instr)
+ }
+
+ static char *
+-get_field_imm5width (long instr)
++get_field_immw (long instr)
+ {
+ char tmpstr[25];
+
+ if (instr & 0x00004000)
+- sprintf (tmpstr, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW))); /* bsefi */
++ sprintf (tmpstr, "%d", (short)(((instr & IMM6_WIDTH_MASK) >> IMM_WIDTH_LOW))); /* bsefi */
+ else
+- sprintf (tmpstr, "%d", (short)(((instr & IMM5_WIDTH_MASK) >> IMM_WIDTH_LOW) - ((instr & IMM5_MASK) >> IMM_LOW) + 1)); /* bsifi */
++ sprintf (tmpstr, "%d", (short)(((instr & IMM6_WIDTH_MASK) >> IMM_WIDTH_LOW) - ((instr & IMM6_MASK) >> IMM_LOW) + 1)); /* bsifi */
+ return (strdup (tmpstr));
+ }
+
+@@ -286,9 +296,13 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
+ }
+ }
+ break;
+- case INST_TYPE_RD_R1_IMM5:
++ case INST_TYPE_RD_R1_IMML:
++ print_func (stream, "\t%s, %s, %s", get_field_rd (inst),
++ get_field_r1(inst), get_field_imm (inst));
++ /* TODO: Also print symbol */
++ case INST_TYPE_RD_R1_IMMS:
+ print_func (stream, "\t%s, %s, %s", get_field_rd (inst),
+- get_field_r1(inst), get_field_imm5 (inst));
++ get_field_r1(inst), get_field_imms (inst));
+ break;
+ case INST_TYPE_RD_RFSL:
+ print_func (stream, "\t%s, %s", get_field_rd (inst), get_field_rfsl (inst));
+@@ -386,6 +400,10 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
+ }
+ }
+ break;
++ case INST_TYPE_IMML:
++ print_func (stream, "\t%s", get_field_imml (inst));
++ /* TODO: Also print symbol */
++ break;
+ case INST_TYPE_RD_R2:
+ print_func (stream, "\t%s, %s", get_field_rd (inst), get_field_r2 (inst));
+ break;
+@@ -409,9 +427,10 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info)
+ case INST_TYPE_NONE:
+ break;
+ /* For bit field insns. */
+- case INST_TYPE_RD_R1_IMM5_IMM5:
+- print_func (stream, "\t%s, %s, %s, %s", get_field_rd (inst),get_field_r1(inst),get_field_imm5width (inst), get_field_imm5 (inst));
+- break;
++ case INST_TYPE_RD_R1_IMMW_IMMS:
++ print_func (stream, "\t%s, %s, %s, %s", get_field_rd (inst), get_field_r1(inst),
++ get_field_immw (inst), get_field_imms (inst));
++ break;
+ /* For tuqula instruction */
+ case INST_TYPE_RD:
+ print_func (stream, "\t%s", get_field_rd (inst));
+diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
+index ce8ac35..985834b 100644
+--- a/opcodes/microblaze-opc.h
++++ b/opcodes/microblaze-opc.h
+@@ -40,7 +40,7 @@
+ #define INST_TYPE_RD_SPECIAL 11
+ #define INST_TYPE_R1 12
+ /* New instn type for barrel shift imms. */
+-#define INST_TYPE_RD_R1_IMM5 13
++#define INST_TYPE_RD_R1_IMMS 13
+ #define INST_TYPE_RD_RFSL 14
+ #define INST_TYPE_R1_RFSL 15
+
+@@ -60,7 +60,13 @@
+ #define INST_TYPE_IMM5 20
+
+ /* For bsefi and bsifi */
+-#define INST_TYPE_RD_R1_IMM5_IMM5 21
++#define INST_TYPE_RD_R1_IMMW_IMMS 21
++
++/* For 64-bit instructions */
++#define INST_TYPE_IMML 22
++#define INST_TYPE_RD_R1_IMML 23
++#define INST_TYPE_R1_IMML 24
++#define INST_TYPE_RD_R1_IMMW_IMMS 21
+
+ #define INST_TYPE_NONE 25
+
+@@ -91,13 +97,14 @@
+ #define OPCODE_MASK_H24 0xFC1F07FF /* High 6, bits 20-16 and low 11 bits. */
+ #define OPCODE_MASK_H124 0xFFFF07FF /* High 16, and low 11 bits. */
+ #define OPCODE_MASK_H1234 0xFFFFFFFF /* All 32 bits. */
+-#define OPCODE_MASK_H3 0xFC000600 /* High 6 bits and bits 21, 22. */
+-#define OPCODE_MASK_H3B 0xFC00C600 /* High 6 bits and bits 16, 17, 21, 22. */
++#define OPCODE_MASK_H3 0xFC000700 /* High 6 bits and bits 21, 22, 23. */
++#define OPCODE_MASK_H3B 0xFC00E600 /* High 6 bits and bits 16, 17, 18, 21, 22. */
+ #define OPCODE_MASK_H32 0xFC00FC00 /* High 6 bits and bit 16-21. */
+-#define OPCODE_MASK_H32B 0xFC00C000 /* High 6 bits and bit 16, 17. */
++#define OPCODE_MASK_H32B 0xFC00E000 /* High 6 bits and bit 16, 17, 18. */
+ #define OPCODE_MASK_H34B 0xFC0000FF /* High 6 bits and low 8 bits. */
+ #define OPCODE_MASK_H35B 0xFC0004FF /* High 6 bits and low 9 bits. */
+ #define OPCODE_MASK_H34C 0xFC0007E0 /* High 6 bits and bits 21-26. */
++#define OPCODE_MASK_H8 0xFF000000 /* High 8 bits only. */
+
+ /* New Mask for msrset, msrclr insns. */
+ #define OPCODE_MASK_H23N 0xFC1F8000 /* High 6 and bits 11 - 16. */
+@@ -107,7 +114,7 @@
+ #define DELAY_SLOT 1
+ #define NO_DELAY_SLOT 0
+
+-#define MAX_OPCODES 301
++#define MAX_OPCODES 412
+
+ struct op_code_struct
+ {
+@@ -125,6 +132,7 @@ struct op_code_struct
+ /* More info about output format here. */
+ } opcodes[MAX_OPCODES] =
+ {
++ /* 32-bit instructions */
+ {"add", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x00000000, OPCODE_MASK_H4, add, arithmetic_inst },
+ {"rsub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H4, rsub, arithmetic_inst },
+ {"addc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x08000000, OPCODE_MASK_H4, addc, arithmetic_inst },
+@@ -161,11 +169,11 @@ struct op_code_struct
+ {"ncget", INST_TYPE_RD_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C006000, OPCODE_MASK_H32, ncget, anyware_inst },
+ {"ncput", INST_TYPE_R1_RFSL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6C00E000, OPCODE_MASK_H32, ncput, anyware_inst },
+ {"muli", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x60000000, OPCODE_MASK_H, muli, mult_inst },
+- {"bslli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3, bslli, barrel_shift_inst },
+- {"bsrai", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3, bsrai, barrel_shift_inst },
+- {"bsrli", INST_TYPE_RD_R1_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3, bsrli, barrel_shift_inst },
+- {"bsefi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
+- {"bsifi", INST_TYPE_RD_R1_IMM5_IMM5, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
++ {"bslli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000400, OPCODE_MASK_H3B, bslli, barrel_shift_inst },
++ {"bsrai", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000200, OPCODE_MASK_H3B, bsrai, barrel_shift_inst },
++ {"bsrli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64000000, OPCODE_MASK_H3B, bsrli, barrel_shift_inst },
++ {"bsefi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64004000, OPCODE_MASK_H32B, bsefi, barrel_shift_inst },
++ {"bsifi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64008000, OPCODE_MASK_H32B, bsifi, barrel_shift_inst },
+ {"or", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000000, OPCODE_MASK_H4, microblaze_or, logical_inst },
+ {"and", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x84000000, OPCODE_MASK_H4, microblaze_and, logical_inst },
+ {"xor", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000000, OPCODE_MASK_H4, microblaze_xor, logical_inst },
+@@ -425,6 +433,129 @@ struct op_code_struct
+ {"suspend", INST_TYPE_NONE, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBB020004, OPCODE_MASK_HN, invalid_inst, special_inst }, /* translates to mbar 24. */
+ {"swapb", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E0, OPCODE_MASK_H4, swapb, arithmetic_inst },
+ {"swaph", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x900001E2, OPCODE_MASK_H4, swaph, arithmetic_inst },
++
++ /* 64-bit instructions */
++ {"addl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x00000100, OPCODE_MASK_H4, addl, arithmetic_inst },
++ {"rsubl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000100, OPCODE_MASK_H4, rsubl, arithmetic_inst },
++ {"addlc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x08000100, OPCODE_MASK_H4, addlc, arithmetic_inst },
++ {"rsublc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x0C000100, OPCODE_MASK_H4, rsublc, arithmetic_inst },
++ {"addlk", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x10000100, OPCODE_MASK_H4, addlk, arithmetic_inst },
++ {"rsublk", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000100, OPCODE_MASK_H4, rsublk, arithmetic_inst },
++ {"addlkc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x18000100, OPCODE_MASK_H4, addlkc, arithmetic_inst },
++ {"rsublkc", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x1C000100, OPCODE_MASK_H4, rsublkc, arithmetic_inst },
++ {"cmpl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000101, OPCODE_MASK_H4, cmpl, arithmetic_inst },
++ {"cmplu", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x14000103, OPCODE_MASK_H4, cmplu, arithmetic_inst },
++ {"addli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x20000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
++ {"rsubli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x24000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
++ {"addlic", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x28000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
++ {"rsublic", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x2C000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
++ {"addlik", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
++ {"rsublik", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x34000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
++ {"addlikc", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x38000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
++ {"rsublikc",INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x3C000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* Identical to 32-bit */
++ {"mull", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x40000100, OPCODE_MASK_H4, mull, mult_inst },
++ {"bslll", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000500, OPCODE_MASK_H3, bslll, barrel_shift_inst },
++ {"bslra", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000300, OPCODE_MASK_H3, bslra, barrel_shift_inst },
++ {"bslrl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x44000100, OPCODE_MASK_H3, bslrl, barrel_shift_inst },
++ {"bsllli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64002400, OPCODE_MASK_H3B, bsllli, barrel_shift_inst },
++ {"bslrai", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64002200, OPCODE_MASK_H3B, bslrai, barrel_shift_inst },
++ {"bslrli", INST_TYPE_RD_R1_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64002000, OPCODE_MASK_H3B, bslrli, barrel_shift_inst },
++ {"bslefi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x64006000, OPCODE_MASK_H32B, bslefi, barrel_shift_inst },
++ {"bslifi", INST_TYPE_RD_R1_IMMW_IMMS, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x6400a000, OPCODE_MASK_H32B, bslifi, barrel_shift_inst },
++ {"orl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000100, OPCODE_MASK_H4, orl, logical_inst },
++ {"andl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x84000100, OPCODE_MASK_H4, andl, logical_inst },
++ {"xorl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000100, OPCODE_MASK_H4, xorl, logical_inst },
++ {"andnl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x8C000100, OPCODE_MASK_H4, andnl, logical_inst },
++ {"pcmplbf", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x80000500, OPCODE_MASK_H4, pcmplbf, logical_inst },
++ {"pcmpleq", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x88000500, OPCODE_MASK_H4, pcmpleq, logical_inst },
++ {"pcmplne", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x8C000500, OPCODE_MASK_H4, pcmplne, logical_inst },
++ {"srla", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000101, OPCODE_MASK_H34, srla, logical_inst },
++ {"srlc", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000121, OPCODE_MASK_H34, srlc, logical_inst },
++ {"srll", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000141, OPCODE_MASK_H34, srll, logical_inst },
++ {"sextl8", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000160, OPCODE_MASK_H34, sextl8, logical_inst },
++ {"sextl16", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000161, OPCODE_MASK_H34, sextl16, logical_inst },
++ {"sextl32", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000162, OPCODE_MASK_H34, sextl32, logical_inst },
++ {"brea", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98010000, OPCODE_MASK_H124, brea, branch_inst },
++ {"bread", INST_TYPE_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98110000, OPCODE_MASK_H124, bread, branch_inst },
++ {"breald", INST_TYPE_RD_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98150000, OPCODE_MASK_H24, breald, branch_inst },
++ {"beaeq", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D000000, OPCODE_MASK_H14, beaeq, branch_inst },
++ {"bealeq", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D000100, OPCODE_MASK_H14, bealeq, branch_inst },
++ {"beaeqd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F000000, OPCODE_MASK_H14, beaeqd, branch_inst },
++ {"bealeqd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F000100, OPCODE_MASK_H14, bealeqd, branch_inst },
++ {"beane", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D200000, OPCODE_MASK_H14, beane, branch_inst },
++ {"bealne", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D200100, OPCODE_MASK_H14, bealne, branch_inst },
++ {"beaned", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F200000, OPCODE_MASK_H14, beaned, branch_inst },
++ {"bealned", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F200100, OPCODE_MASK_H14, bealned, branch_inst },
++ {"bealt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D400000, OPCODE_MASK_H14, bealt, branch_inst },
++ {"beallt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D400100, OPCODE_MASK_H14, beallt, branch_inst },
++ {"bealtd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F400000, OPCODE_MASK_H14, bealtd, branch_inst },
++ {"bealltd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F400100, OPCODE_MASK_H14, bealltd, branch_inst },
++ {"beale", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D600000, OPCODE_MASK_H14, beale, branch_inst },
++ {"bealle", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D600100, OPCODE_MASK_H14, bealle, branch_inst },
++ {"bealed", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F600000, OPCODE_MASK_H14, bealed, branch_inst },
++ {"bealled", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F600100, OPCODE_MASK_H14, bealled, branch_inst },
++ {"beagt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D800000, OPCODE_MASK_H14, beagt, branch_inst },
++ {"bealgt", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9D800100, OPCODE_MASK_H14, bealgt, branch_inst },
++ {"beagtd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F800000, OPCODE_MASK_H14, beagtd, branch_inst },
++ {"bealgtd", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9F800100, OPCODE_MASK_H14, bealgtd, branch_inst },
++ {"beage", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9DA00000, OPCODE_MASK_H14, beage, branch_inst },
++ {"bealge", INST_TYPE_R1_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9DA00100, OPCODE_MASK_H14, bealge, branch_inst },
++ {"beaged", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9FA00000, OPCODE_MASK_H14, beaged, branch_inst },
++ {"bealged", INST_TYPE_R1_R2, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x9FA00100, OPCODE_MASK_H14, bealged, branch_inst },
++ {"orli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA0000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
++ {"andli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA4000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
++ {"xorli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA8000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
++ {"andnli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xAC000000, OPCODE_MASK_H, invalid_inst, logical_inst }, /* Identical to 32-bit */
++ {"imml", INST_TYPE_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB2000000, OPCODE_MASK_H8, imml, immediate_inst },
++ {"breai", INST_TYPE_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8010000, OPCODE_MASK_H12, breai, branch_inst },
++ {"breaid", INST_TYPE_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8110000, OPCODE_MASK_H12, breaid, branch_inst },
++ {"brealid", INST_TYPE_RD_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB8150000, OPCODE_MASK_H2, brealid, branch_inst },
++ {"beaeqi", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD000000, OPCODE_MASK_H1, beaeqi, branch_inst },
++ {"bealeqi", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD000000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beaeqi */
++ {"beaeqid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF000000, OPCODE_MASK_H1, beaeqid, branch_inst },
++ {"bealeqid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF000000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beaeqid */
++ {"beanei", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD200000, OPCODE_MASK_H1, beanei, branch_inst },
++ {"bealnei", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD200000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beanei */
++ {"beaneid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF200000, OPCODE_MASK_H1, beaneid, branch_inst },
++ {"bealneid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF200000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beaneid */
++ {"bealti", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD400000, OPCODE_MASK_H1, bealti, branch_inst },
++ {"beallti", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD400000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealti */
++ {"bealtid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF400000, OPCODE_MASK_H1, bealtid, branch_inst },
++ {"bealltid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF400000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealtid */
++ {"bealei", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD600000, OPCODE_MASK_H1, bealei, branch_inst },
++ {"beallei", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD600000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealei */
++ {"bealeid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF600000, OPCODE_MASK_H1, bealeid, branch_inst },
++ {"bealleid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF600000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to bealeid */
++ {"beagti", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD800000, OPCODE_MASK_H1, beagti, branch_inst },
++ {"bealgti", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBD800000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beagti */
++ {"beagtid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF800000, OPCODE_MASK_H1, beagtid, branch_inst },
++ {"bealgtid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBF800000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beagtid */
++ {"beagei", INST_TYPE_R1_IMM, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBDA00000, OPCODE_MASK_H1, beagei, branch_inst },
++ {"bealgei", INST_TYPE_R1_IMML, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBDA00000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beagei */
++ {"beageid", INST_TYPE_R1_IMM, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBFA00000, OPCODE_MASK_H1, beageid, branch_inst },
++ {"bealgeid",INST_TYPE_R1_IMML, INST_PC_OFFSET, DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xBFA00000, OPCODE_MASK_H1, invalid_inst, branch_inst }, /* Identical to beageid */
++ {"ll", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000100, OPCODE_MASK_H4, ll, memory_load_inst },
++ {"llr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000300, OPCODE_MASK_H4, llr, memory_load_inst },
++ {"sl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000100, OPCODE_MASK_H4, sl, memory_store_inst },
++ {"slr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000300, OPCODE_MASK_H4, slr, memory_store_inst },
++ {"lli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, invalid_inst, memory_load_inst }, /* Identical to 32-bit */
++ {"sli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xF8000000, OPCODE_MASK_H, invalid_inst, memory_store_inst }, /* Identical to 32-bit */
++ {"lla", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* lla translates to addlik */
++ {"dadd", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000400, OPCODE_MASK_H4, dadd, arithmetic_inst },
++ {"drsub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000480, OPCODE_MASK_H4, drsub, arithmetic_inst },
++ {"dmul", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000500, OPCODE_MASK_H4, dmul, arithmetic_inst },
++ {"ddiv", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000580, OPCODE_MASK_H4, ddiv, arithmetic_inst },
++ {"dcmp.lt", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000610, OPCODE_MASK_H4, dcmp_lt, arithmetic_inst },
++ {"dcmp.eq", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000620, OPCODE_MASK_H4, dcmp_eq, arithmetic_inst },
++ {"dcmp.le", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000630, OPCODE_MASK_H4, dcmp_le, arithmetic_inst },
++ {"dcmp.gt", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000640, OPCODE_MASK_H4, dcmp_gt, arithmetic_inst },
++ {"dcmp.ne", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000650, OPCODE_MASK_H4, dcmp_ne, arithmetic_inst },
++ {"dcmp.ge", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000660, OPCODE_MASK_H4, dcmp_ge, arithmetic_inst },
++ {"dcmp.un", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000600, OPCODE_MASK_H4, dcmp_un, arithmetic_inst },
++ {"dbl", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000680, OPCODE_MASK_H4, dbl, arithmetic_inst },
++ {"dlong", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000700, OPCODE_MASK_H4, dlong, arithmetic_inst },
++ {"dsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000780, OPCODE_MASK_H4, dsqrt, arithmetic_inst },
++
+ {"", 0, 0, 0, 0, 0, 0, 0, 0},
+ };
+
+@@ -445,8 +576,17 @@ char pvr_register_prefix[] = "rpvr";
+ #define MIN_IMM5 ((int) 0x00000000)
+ #define MAX_IMM5 ((int) 0x0000001f)
+
++#define MIN_IMM6 ((int) 0x00000000)
++#define MAX_IMM6 ((int) 0x0000003f)
++
+ #define MIN_IMM_WIDTH ((int) 0x00000001)
+ #define MAX_IMM_WIDTH ((int) 0x00000020)
+
++#define MIN_IMM6_WIDTH ((int) 0x00000001)
++#define MAX_IMM6_WIDTH ((int) 0x00000040)
++
++#define MIN_IMML ((long) 0xffffff8000000000L)
++#define MAX_IMML ((long) 0x0000007fffffffffL)
++
+ #endif /* MICROBLAZE_OPC */
+
+diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
+index 2866269..076dbcd 100644
+--- a/opcodes/microblaze-opcm.h
++++ b/opcodes/microblaze-opcm.h
+@@ -25,6 +25,7 @@
+
+ enum microblaze_instr
+ {
++ /* 32-bit instructions */
+ add, rsub, addc, rsubc, addk, rsubk, addkc, rsubkc, clz, cmp, cmpu,
+ addi, rsubi, addic, rsubic, addik, rsubik, addikc, rsubikc, mul,
+ mulh, mulhu, mulhsu,swapb,swaph,
+@@ -58,6 +59,18 @@ enum microblaze_instr
+ aputd, taputd, caputd, tcaputd, naputd, tnaputd, ncaputd, tncaputd,
+ eagetd, teagetd, ecagetd, tecagetd, neagetd, tneagetd, necagetd, tnecagetd,
+ eaputd, teaputd, ecaputd, tecaputd, neaputd, tneaputd, necaputd, tnecaputd,
++
++ /* 64-bit instructions */
++ addl, rsubl, addlc, rsublc, addlk, rsublk, addlkc, rsublkc, cmpl, cmplu, mull,
++ bslll, bslra, bslrl, bsllli, bslrai, bslrli, bslefi, bslifi, orl, andl, xorl,
++ andnl, pcmplbf, pcmpleq, pcmplne, srla, srlc, srll, sextl8, sextl16, sextl32,
++ brea, bread, breald, beaeq, bealeq, beaeqd, bealeqd, beane, bealne, beaned,
++ bealned, bealt, beallt, bealtd, bealltd, beale, bealle, bealed, bealled, beagt,
++ bealgt, beagtd, bealgtd, beage, bealge, beaged, bealged, breai, breaid, brealid,
++ beaeqi, beaeqid, beanei, beaneid, bealti, bealtid, bealei, bealeid, beagti,
++ beagtid, beagei, beageid, imml, ll, llr, sl, slr,
++ dadd, drsub, dmul, ddiv, dcmp_lt, dcmp_eq, dcmp_le, dcmp_gt, dcmp_ne, dcmp_ge,
++ dcmp_un, dbl, dlong, dsqrt,
+ invalid_inst
+ };
+
+@@ -135,15 +148,18 @@ enum microblaze_instr_type
+ #define RA_MASK 0x001F0000
+ #define RB_MASK 0x0000F800
+ #define IMM_MASK 0x0000FFFF
++#define IMML_MASK 0x00FFFFFF
+
+-/* Imm mask for barrel shifts. */
++/* Imm masks for barrel shifts. */
+ #define IMM5_MASK 0x0000001F
++#define IMM6_MASK 0x0000003F
+
+ /* Imm mask for mbar. */
+ #define IMM5_MBAR_MASK 0x03E00000
+
+-/* Imm mask for extract/insert width. */
++/* Imm masks for extract/insert width. */
+ #define IMM5_WIDTH_MASK 0x000007C0
++#define IMM6_WIDTH_MASK 0x00000FC0
+
+ /* FSL imm mask for get, put instructions. */
+ #define RFSL_MASK 0x000000F
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0016-MB-X-initial-commit.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0016-MB-X-initial-commit.patch
new file mode 100644
index 000000000..406d7bf2c
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0016-MB-X-initial-commit.patch
@@ -0,0 +1,692 @@
+From 549bf1fafb7dfa2718e172a94ff68acb14320ed8 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Sun, 30 Sep 2018 16:31:26 +0530
+Subject: [PATCH] MB-X initial commit code cleanup is needed.
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/bfd-in2.h | 10 +++
+ bfd/elf32-microblaze.c | 65 +++++++++++++++++--
+ bfd/elf64-microblaze.c | 61 +++++++++++++++++-
+ bfd/libbfd.h | 2 +
+ bfd/reloc.c | 12 ++++
+ gas/config/tc-microblaze.c | 152 +++++++++++++++++++++++++++++++++++++--------
+ include/elf/microblaze.h | 2 +
+ opcodes/microblaze-opc.h | 4 +-
+ opcodes/microblaze-opcm.h | 4 +-
+ 9 files changed, 277 insertions(+), 35 deletions(-)
+
+diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
+index fe6933a..90645d1 100644
+--- a/bfd/bfd-in2.h
++++ b/bfd/bfd-in2.h
+@@ -5878,11 +5878,21 @@ done here - only used for relaxing */
+ BFD_RELOC_MICROBLAZE_64_NONE,
+
+ /* This is a 64 bit reloc that stores the 32 bit pc relative
++ * +value in two words (with an imml instruction). No relocation is
++ * +done here - only used for relaxing */
++ BFD_RELOC_MICROBLAZE_64,
++
++/* This is a 64 bit reloc that stores the 32 bit pc relative
+ value in two words (with an imm instruction). The relocation is
+ PC-relative GOT offset */
+ BFD_RELOC_MICROBLAZE_64_GOTPC,
+
+ /* This is a 64 bit reloc that stores the 32 bit pc relative
++value in two words (with an imml instruction). The relocation is
++PC-relative GOT offset */
++ BFD_RELOC_MICROBLAZE_64_GPC,
++
++/* This is a 64 bit reloc that stores the 32 bit pc relative
+ value in two words (with an imm instruction). The relocation is
+ GOT offset */
+ BFD_RELOC_MICROBLAZE_64_GOT,
+diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
+index d001437..035e71f 100644
+--- a/bfd/elf32-microblaze.c
++++ b/bfd/elf32-microblaze.c
+@@ -116,6 +116,20 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
+ 0x0000ffff, /* Dest Mask. */
+ TRUE), /* PC relative offset? */
+
++ HOWTO (R_MICROBLAZE_IMML_64, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_IMML_64", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
++
+ /* A 64 bit relocation. Table entry not really used. */
+ HOWTO (R_MICROBLAZE_64, /* Type. */
+ 0, /* Rightshift. */
+@@ -280,6 +294,21 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
+ 0x0000ffff, /* Dest Mask. */
+ TRUE), /* PC relative offset? */
+
++ /* A 64 bit GOTPC relocation. Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_GPC_64, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc, /* Special Function. */
++ "R_MICROBLAZE_GPC_64", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
+ /* A 64 bit GOT relocation. Table-entry not really used. */
+ HOWTO (R_MICROBLAZE_GOT_64, /* Type. */
+ 0, /* Rightshift. */
+@@ -619,9 +648,15 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+ case BFD_RELOC_VTABLE_ENTRY:
+ microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
+ break;
++ case BFD_RELOC_MICROBLAZE_64:
++ microblaze_reloc = R_MICROBLAZE_IMML_64;
++ break;
+ case BFD_RELOC_MICROBLAZE_64_GOTPC:
+ microblaze_reloc = R_MICROBLAZE_GOTPC_64;
+ break;
++ case BFD_RELOC_MICROBLAZE_64_GPC:
++ microblaze_reloc = R_MICROBLAZE_GPC_64;
++ break;
+ case BFD_RELOC_MICROBLAZE_64_GOT:
+ microblaze_reloc = R_MICROBLAZE_GOT_64;
+ break;
+@@ -1467,7 +1502,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ if (r_symndx == STN_UNDEF || (input_section->flags & SEC_ALLOC) == 0)
+ {
+ relocation += addend;
+- if (r_type == R_MICROBLAZE_32)
++ if (r_type == R_MICROBLAZE_32)// || r_type == R_MICROBLAZE_IMML_64)
+ bfd_put_32 (input_bfd, relocation, contents + offset);
+ else
+ {
+@@ -1933,6 +1968,28 @@ microblaze_elf_relax_section (bfd *abfd,
+ irel->r_addend -= calc_fixup (irel->r_addend, 0, sec);
+ }
+ break;
++ case R_MICROBLAZE_IMML_64:
++ {
++ /* This was a PC-relative instruction that was
++ completely resolved. */
++ int sfix, efix;
++ unsigned int val;
++ bfd_vma target_address;
++ target_address = irel->r_addend + irel->r_offset;
++ sfix = calc_fixup (irel->r_offset, 0, sec);
++ efix = calc_fixup (target_address, 0, sec);
++
++ /* Validate the in-band val. */
++ val = bfd_get_32 (abfd, contents + irel->r_offset);
++ if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
++ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
++ }
++ irel->r_addend -= (efix - sfix);
++ /* Should use HOWTO. */
++ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
++ irel->r_addend);
++ }
++ break;
+ case R_MICROBLAZE_NONE:
+ case R_MICROBLAZE_32_NONE:
+ {
+@@ -2037,9 +2094,9 @@ microblaze_elf_relax_section (bfd *abfd,
+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
+ irelscan->r_addend);
+ }
+- if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
+- {
+- isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
++ if (ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)// || ELF32_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_IMML_64)
++ {
++ isym = isymbuf + ELF32_R_SYM (irelscan->r_info);
+
+ /* Look at the reloc only if the value has been resolved. */
+ if (isym->st_shndx == shndx
+diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
+index 0f43ae6..56a45f2 100644
+--- a/bfd/elf64-microblaze.c
++++ b/bfd/elf64-microblaze.c
+@@ -117,6 +117,21 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
+ TRUE), /* PC relative offset? */
+
+ /* A 64 bit relocation. Table entry not really used. */
++ HOWTO (R_MICROBLAZE_IMML_64, /* Type. */
++ 0, /* Rightshift. */
++ 4, /* Size (0 = byte, 1 = short, 2 = long). */
++ 64, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc,/* Special Function. */
++ "R_MICROBLAZE_IMML_64", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
++ /* A 64 bit relocation. Table entry not really used. */
+ HOWTO (R_MICROBLAZE_64, /* Type. */
+ 0, /* Rightshift. */
+ 2, /* Size (0 = byte, 1 = short, 2 = long). */
+@@ -265,6 +280,21 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
+ 0x0000ffff, /* Dest Mask. */
+ TRUE), /* PC relative offset? */
+
++ /* A 64 bit GOTPC relocation. Table-entry not really used. */
++ HOWTO (R_MICROBLAZE_GPC_64, /* Type. */
++ 0, /* Rightshift. */
++ 2, /* Size (0 = byte, 1 = short, 2 = long). */
++ 16, /* Bitsize. */
++ TRUE, /* PC_relative. */
++ 0, /* Bitpos. */
++ complain_overflow_dont, /* Complain on overflow. */
++ bfd_elf_generic_reloc, /* Special Function. */
++ "R_MICROBLAZE_GPC_64", /* Name. */
++ FALSE, /* Partial Inplace. */
++ 0, /* Source Mask. */
++ 0x0000ffff, /* Dest Mask. */
++ TRUE), /* PC relative offset? */
++
+ /* A 64 bit GOT relocation. Table-entry not really used. */
+ HOWTO (R_MICROBLAZE_GOT_64, /* Type. */
+ 0, /* Rightshift. */
+@@ -589,9 +619,15 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+ case BFD_RELOC_VTABLE_ENTRY:
+ microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
+ break;
++ case BFD_RELOC_MICROBLAZE_64:
++ microblaze_reloc = R_MICROBLAZE_IMML_64;
++ break;
+ case BFD_RELOC_MICROBLAZE_64_GOTPC:
+ microblaze_reloc = R_MICROBLAZE_GOTPC_64;
+ break;
++ case BFD_RELOC_MICROBLAZE_64_GPC:
++ microblaze_reloc = R_MICROBLAZE_GPC_64;
++ break;
+ case BFD_RELOC_MICROBLAZE_64_GOT:
+ microblaze_reloc = R_MICROBLAZE_GOT_64;
+ break;
+@@ -1161,6 +1197,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ break; /* Do nothing. */
+
+ case (int) R_MICROBLAZE_GOTPC_64:
++ case (int) R_MICROBLAZE_GPC_64:
+ relocation = htab->sgotplt->output_section->vma
+ + htab->sgotplt->output_offset;
+ relocation -= (input_section->output_section->vma
+@@ -1431,7 +1468,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ if (r_symndx == STN_UNDEF || (input_section->flags & SEC_ALLOC) == 0)
+ {
+ relocation += addend;
+- if (r_type == R_MICROBLAZE_32)
++ if (r_type == R_MICROBLAZE_32)// || r_type == R_MICROBLAZE_IMML_64)
+ bfd_put_32 (input_bfd, relocation, contents + offset);
+ else
+ {
+@@ -1876,6 +1913,28 @@ microblaze_elf_relax_section (bfd *abfd,
+ irel->r_addend -= calc_fixup (irel->r_addend, 0, sec);
+ }
+ break;
++ case R_MICROBLAZE_IMML_64:
++ {
++ /* This was a PC-relative instruction that was
++ completely resolved. */
++ int sfix, efix;
++ unsigned int val;
++ bfd_vma target_address;
++ target_address = irel->r_addend + irel->r_offset;
++ sfix = calc_fixup (irel->r_offset, 0, sec);
++ efix = calc_fixup (target_address, 0, sec);
++
++ /* Validate the in-band val. */
++ val = bfd_get_32 (abfd, contents + irel->r_offset);
++ if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
++ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
++ }
++ irel->r_addend -= (efix - sfix);
++ /* Should use HOWTO. */
++ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
++ irel->r_addend);
++ }
++ break;
+ case R_MICROBLAZE_NONE:
+ case R_MICROBLAZE_32_NONE:
+ {
+diff --git a/bfd/libbfd.h b/bfd/libbfd.h
+index feb9fad..450653f 100644
+--- a/bfd/libbfd.h
++++ b/bfd/libbfd.h
+@@ -2903,7 +2903,9 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
+ "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
+ "BFD_RELOC_MICROBLAZE_32_NONE",
+ "BFD_RELOC_MICROBLAZE_64_NONE",
++ "BFD_RELOC_MICROBLAZE_64",
+ "BFD_RELOC_MICROBLAZE_64_GOTPC",
++ "BFD_RELOC_MICROBLAZE_64_GPC",
+ "BFD_RELOC_MICROBLAZE_64_GOT",
+ "BFD_RELOC_MICROBLAZE_64_PLT",
+ "BFD_RELOC_MICROBLAZE_64_GOTOFF",
+diff --git a/bfd/reloc.c b/bfd/reloc.c
+index 87753ae..ccf29f5 100644
+--- a/bfd/reloc.c
++++ b/bfd/reloc.c
+@@ -6804,6 +6804,12 @@ ENUMDOC
+ ENUM
+ BFD_RELOC_MICROBLAZE_64_NONE
+ ENUMDOC
++ This is a 32 bit reloc that stores the 32 bit pc relative
++ value in two words (with an imml instruction). No relocation is
++ done here - only used for relaxing
++ENUM
++ BFD_RELOC_MICROBLAZE_64
++ENUMDOC
+ This is a 64 bit reloc that stores the 32 bit pc relative
+ value in two words (with an imm instruction). No relocation is
+ done here - only used for relaxing
+@@ -6811,6 +6817,12 @@ ENUM
+ BFD_RELOC_MICROBLAZE_64_GOTPC
+ ENUMDOC
+ This is a 64 bit reloc that stores the 32 bit pc relative
++ value in two words (with an imml instruction). No relocation is
++ done here - only used for relaxing
++ENUM
++ BFD_RELOC_MICROBLAZE_64_GPC
++ENUMDOC
++ This is a 64 bit reloc that stores the 32 bit pc relative
+ value in two words (with an imm instruction). The relocation is
+ PC-relative GOT offset
+ ENUM
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index c794347..3f90b7c 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -94,6 +94,7 @@ const char FLT_CHARS[] = "rRsSfFdDxXpP";
+ #define TLSTPREL_OFFSET 16
+ #define TEXT_OFFSET 17
+ #define TEXT_PC_OFFSET 18
++#define DEFINED_64_OFFSET 19
+
+ /* Initialize the relax table. */
+ const relax_typeS md_relax_table[] =
+@@ -117,6 +118,8 @@ const relax_typeS md_relax_table[] =
+ { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 16: TLSTPREL_OFFSET. */
+ { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 17: TEXT_OFFSET. */
+ { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 } /* 18: TEXT_PC_OFFSET. */
++// { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 } /* 16: TLSTPREL_OFFSET. */
++ { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE, 0 } /* 17: DEFINED_64_OFFSET. */
+ };
+
+ static struct hash_control * opcode_hash_control; /* Opcode mnemonics. */
+@@ -396,7 +399,8 @@ const pseudo_typeS md_pseudo_table[] =
+ {"data32", cons, 4}, /* Same as word. */
+ {"ent", s_func, 0}, /* Treat ent as function entry point. */
+ {"end", microblaze_s_func, 1}, /* Treat end as function end point. */
+- {"gpword", s_rva, 4}, /* gpword label => store resolved label address in data section. */
++ {"gpword", s_rva, 8}, /* gpword label => store resolved label address in data section. */
++ {"gpdword", s_rva, 8}, /* gpword label => store resolved label address in data section. */
+ {"weakext", microblaze_s_weakext, 0},
+ {"rodata", microblaze_s_rdata, 0},
+ {"sdata2", microblaze_s_rdata, 1},
+@@ -405,6 +409,7 @@ const pseudo_typeS md_pseudo_table[] =
+ {"sbss", microblaze_s_bss, 1},
+ {"text", microblaze_s_text, 0},
+ {"word", cons, 4},
++ {"dword", cons, 8},
+ {"frame", s_ignore, 0},
+ {"mask", s_ignore, 0}, /* Emitted by gcc. */
+ {NULL, NULL, 0}
+@@ -898,7 +903,7 @@ check_got (int * got_type, int * got_len)
+ extern bfd_reloc_code_real_type
+ parse_cons_expression_microblaze (expressionS *exp, int size)
+ {
+- if (size == 4)
++ if (size == 4 || (microblaze_arch_size == 64 && size == 8))
+ {
+ /* Handle @GOTOFF et.al. */
+ char *save, *gotfree_copy;
+@@ -930,6 +935,7 @@ parse_cons_expression_microblaze (expressionS *exp, int size)
+
+ static const char * str_microblaze_ro_anchor = "RO";
+ static const char * str_microblaze_rw_anchor = "RW";
++static const char * str_microblaze_64 = "64";
+
+ static bfd_boolean
+ check_spl_reg (unsigned * reg)
+@@ -1174,6 +1180,33 @@ md_assemble (char * str)
+ inst |= (immed << IMM_LOW) & IMM_MASK;
+ }
+ }
++#if 0 //revisit
++ else if (streq (name, "lli") || streq (name, "sli"))
++ {
++ temp = immed & 0xFFFFFFFFFFFF8000;
++ if ((temp != 0) && (temp != 0xFFFFFFFFFFFF8000))
++ {
++ /* Needs an immediate inst. */
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
++ if (opcode1 == NULL)
++ {
++ as_bad (_("unknown opcode \"%s\""), "imml");
++ return;
++ }
++
++ inst1 = opcode1->bit_sequence;
++ inst1 |= ((immedl & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
++ output[0] = INST_BYTE0 (inst1);
++ output[1] = INST_BYTE1 (inst1);
++ output[2] = INST_BYTE2 (inst1);
++ output[3] = INST_BYTE3 (inst1);
++ output = frag_more (isize);
++ }
++ inst |= (reg1 << RD_LOW) & RD_MASK;
++ inst |= (reg2 << RA_LOW) & RA_MASK;
++ inst |= (immed << IMM_LOW) & IMM_MASK;
++ }
++#endif
+ else
+ {
+ temp = immed & 0xFFFF8000;
+@@ -1926,6 +1959,7 @@ md_assemble (char * str)
+ if (exp.X_op != O_constant)
+ {
+ char *opc = NULL;
++ //char *opc = str_microblaze_64;
+ relax_substateT subtype;
+
+ if (exp.X_md != 0)
+@@ -1939,7 +1973,7 @@ md_assemble (char * str)
+ subtype, /* PC-relative or not. */
+ exp.X_add_symbol,
+ exp.X_add_number,
+- opc);
++ (char *) opc);
+ immedl = 0L;
+ }
+ else
+@@ -1977,7 +2011,7 @@ md_assemble (char * str)
+ reg1 = 0;
+ }
+ if (strcmp (op_end, ""))
+- op_end = parse_imml (op_end + 1, & exp, MIN_IMM, MAX_IMM);
++ op_end = parse_imml (op_end + 1, & exp, MIN_IMML, MAX_IMML);
+ else
+ as_fatal (_("Error in statement syntax"));
+
+@@ -1987,7 +2021,8 @@ md_assemble (char * str)
+
+ if (exp.X_op != O_constant)
+ {
+- char *opc = NULL;
++ //char *opc = NULL;
++ char *opc = str_microblaze_64;
+ relax_substateT subtype;
+
+ if (exp.X_md != 0)
+@@ -2001,14 +2036,13 @@ md_assemble (char * str)
+ subtype, /* PC-relative or not. */
+ exp.X_add_symbol,
+ exp.X_add_number,
+- opc);
++ (char *) opc);
+ immedl = 0L;
+ }
+ else
+ {
+ output = frag_more (isize);
+ immedl = exp.X_add_number;
+-
+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
+ if (opcode1 == NULL)
+ {
+@@ -2187,13 +2221,23 @@ md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED,
+ fragP->fr_fix += INST_WORD_SIZE * 2;
+ fragP->fr_var = 0;
+ break;
++ case DEFINED_64_OFFSET:
++ if (fragP->fr_symbol == GOT_symbol)
++ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE, fragP->fr_symbol,
++ fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64_GPC);
++ else
++ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE, fragP->fr_symbol,
++ fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64);
++ fragP->fr_fix += INST_WORD_SIZE * 2;
++ fragP->fr_var = 0;
++ break;
+ case DEFINED_ABS_SEGMENT:
+ if (fragP->fr_symbol == GOT_symbol)
+ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE * 2, fragP->fr_symbol,
+ fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64_GOTPC);
+ else
+ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE * 2, fragP->fr_symbol,
+- fragP->fr_offset, FALSE, BFD_RELOC_64);
++ fragP->fr_offset, TRUE, BFD_RELOC_64);
+ fragP->fr_fix += INST_WORD_SIZE * 2;
+ fragP->fr_var = 0;
+ break;
+@@ -2416,22 +2460,38 @@ md_apply_fix (fixS * fixP,
+ case BFD_RELOC_64_PCREL:
+ case BFD_RELOC_64:
+ case BFD_RELOC_MICROBLAZE_64_TEXTREL:
++ case BFD_RELOC_MICROBLAZE_64:
+ /* Add an imm instruction. First save the current instruction. */
+ for (i = 0; i < INST_WORD_SIZE; i++)
+ buf[i + INST_WORD_SIZE] = buf[i];
++ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
++ {
++ /* Generate the imm instruction. */
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
++ if (opcode1 == NULL)
++ {
++ as_bad (_("unknown opcode \"%s\""), "imml");
++ return;
++ }
+
+- /* Generate the imm instruction. */
+- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
+- if (opcode1 == NULL)
+- {
+- as_bad (_("unknown opcode \"%s\""), "imm");
+- return;
+- }
+-
+- inst1 = opcode1->bit_sequence;
+- if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
+- inst1 |= ((val & 0xFFFF0000) >> 16) & IMM_MASK;
+-
++ inst1 = opcode1->bit_sequence;
++ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
++ inst1 |= ((val & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
++ }
++ else
++ {
++ /* Generate the imm instruction. */
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
++ if (opcode1 == NULL)
++ {
++ as_bad (_("unknown opcode \"%s\""), "imm");
++ return;
++ }
++
++ inst1 = opcode1->bit_sequence;
++ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
++ inst1 |= ((val & 0xFFFF0000) >> 16) & IMM_MASK;
++ }
+ buf[0] = INST_BYTE0 (inst1);
+ buf[1] = INST_BYTE1 (inst1);
+ buf[2] = INST_BYTE2 (inst1);
+@@ -2460,6 +2520,7 @@ md_apply_fix (fixS * fixP,
+ /* Fall through. */
+
+ case BFD_RELOC_MICROBLAZE_64_GOTPC:
++ case BFD_RELOC_MICROBLAZE_64_GPC:
+ case BFD_RELOC_MICROBLAZE_64_GOT:
+ case BFD_RELOC_MICROBLAZE_64_PLT:
+ case BFD_RELOC_MICROBLAZE_64_GOTOFF:
+@@ -2467,12 +2528,16 @@ md_apply_fix (fixS * fixP,
+ /* Add an imm instruction. First save the current instruction. */
+ for (i = 0; i < INST_WORD_SIZE; i++)
+ buf[i + INST_WORD_SIZE] = buf[i];
+-
+- /* Generate the imm instruction. */
+- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
++ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC)
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
++ else
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
+ if (opcode1 == NULL)
+ {
+- as_bad (_("unknown opcode \"%s\""), "imm");
++ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC)
++ as_bad (_("unknown opcode \"%s\""), "imml");
++ else
++ as_bad (_("unknown opcode \"%s\""), "imm");
+ return;
+ }
+
+@@ -2496,6 +2561,8 @@ md_apply_fix (fixS * fixP,
+ moves code around due to relaxing. */
+ if (fixP->fx_r_type == BFD_RELOC_64_PCREL)
+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
++ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
++ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
+ else if (fixP->fx_r_type == BFD_RELOC_32)
+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_32_NONE;
+ else
+@@ -2539,6 +2606,32 @@ md_estimate_size_before_relax (fragS * fragP,
+ as_bad (_("Absolute PC-relative value in relaxation code. Assembler error....."));
+ abort ();
+ }
++ else if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type
++ && !S_IS_WEAK (fragP->fr_symbol))
++ {
++ if (fragP->fr_opcode != NULL) {
++ if(streq (fragP->fr_opcode, str_microblaze_64))
++ {
++ /* Used as an absolute value. */
++ fragP->fr_subtype = DEFINED_64_OFFSET;
++ /* Variable part does not change. */
++ fragP->fr_var = INST_WORD_SIZE;
++ }
++ else
++ {
++ fragP->fr_subtype = DEFINED_PC_OFFSET;
++ /* Don't know now whether we need an imm instruction. */
++ fragP->fr_var = INST_WORD_SIZE;
++ }
++ }
++ else
++ {
++ fragP->fr_subtype = DEFINED_PC_OFFSET;
++ /* Don't know now whether we need an imm instruction. */
++ fragP->fr_var = INST_WORD_SIZE;
++ }
++ }
++ #if 0
+ else if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type &&
+ !S_IS_WEAK (fragP->fr_symbol))
+ {
+@@ -2546,6 +2639,7 @@ md_estimate_size_before_relax (fragS * fragP,
+ /* Don't know now whether we need an imm instruction. */
+ fragP->fr_var = INST_WORD_SIZE;
+ }
++#endif
+ else if (S_IS_DEFINED (fragP->fr_symbol)
+ && (((S_GET_SEGMENT (fragP->fr_symbol))->flags & SEC_CODE) == 0))
+ {
+@@ -2648,6 +2742,7 @@ md_estimate_size_before_relax (fragS * fragP,
+ case TLSLD_OFFSET:
+ case TLSTPREL_OFFSET:
+ case TLSDTPREL_OFFSET:
++ case DEFINED_64_OFFSET:
+ fragP->fr_var = INST_WORD_SIZE*2;
+ break;
+ case DEFINED_RO_SEGMENT:
+@@ -2701,7 +2796,7 @@ md_pcrel_from_section (fixS * fixp, segT sec ATTRIBUTE_UNUSED)
+ else
+ {
+ /* The case where we are going to resolve things... */
+- if (fixp->fx_r_type == BFD_RELOC_64_PCREL)
++ if (fixp->fx_r_type == BFD_RELOC_64_PCREL ||fixp->fx_r_type == BFD_RELOC_MICROBLAZE_64)
+ return fixp->fx_where + fixp->fx_frag->fr_address + INST_WORD_SIZE;
+ else
+ return fixp->fx_where + fixp->fx_frag->fr_address;
+@@ -2734,6 +2829,8 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
+ case BFD_RELOC_MICROBLAZE_32_RWSDA:
+ case BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:
+ case BFD_RELOC_MICROBLAZE_64_GOTPC:
++ case BFD_RELOC_MICROBLAZE_64_GPC:
++ case BFD_RELOC_MICROBLAZE_64:
+ case BFD_RELOC_MICROBLAZE_64_GOT:
+ case BFD_RELOC_MICROBLAZE_64_PLT:
+ case BFD_RELOC_MICROBLAZE_64_GOTOFF:
+@@ -2876,7 +2973,10 @@ cons_fix_new_microblaze (fragS * frag,
+ r = BFD_RELOC_32;
+ break;
+ case 8:
+- r = BFD_RELOC_64;
++ if (microblaze_arch_size == 64)
++ r = BFD_RELOC_32;
++ else
++ r = BFD_RELOC_64;
+ break;
+ default:
+ as_bad (_("unsupported BFD relocation size %u"), size);
+diff --git a/include/elf/microblaze.h b/include/elf/microblaze.h
+index 6ee0966..16b2736 100644
+--- a/include/elf/microblaze.h
++++ b/include/elf/microblaze.h
+@@ -62,6 +62,8 @@ START_RELOC_NUMBERS (elf_microblaze_reloc_type)
+ RELOC_NUMBER (R_MICROBLAZE_TEXTREL_64, 31) /* TEXT Entry offset 64-bit. */
+ RELOC_NUMBER (R_MICROBLAZE_TEXTREL_32_LO, 32) /* TEXT Entry offset 32-bit. */
+ RELOC_NUMBER (R_MICROBLAZE_32_NONE, 33)
++ RELOC_NUMBER (R_MICROBLAZE_IMML_64, 34)
++ RELOC_NUMBER (R_MICROBLAZE_GPC_64, 35) /* GOT entry offset. */
+
+ END_RELOC_NUMBERS (R_MICROBLAZE_max)
+
+diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
+index 985834b..9b6264b 100644
+--- a/opcodes/microblaze-opc.h
++++ b/opcodes/microblaze-opc.h
+@@ -538,8 +538,8 @@ struct op_code_struct
+ {"llr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xC8000300, OPCODE_MASK_H4, llr, memory_load_inst },
+ {"sl", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000100, OPCODE_MASK_H4, sl, memory_store_inst },
+ {"slr", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xD8000300, OPCODE_MASK_H4, slr, memory_store_inst },
+- {"lli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, invalid_inst, memory_load_inst }, /* Identical to 32-bit */
+- {"sli", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xF8000000, OPCODE_MASK_H, invalid_inst, memory_store_inst }, /* Identical to 32-bit */
++ {"lli", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xEC000000, OPCODE_MASK_H, invalid_inst, memory_load_inst }, /* Identical to 32-bit */
++ {"sli", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xFC000000, OPCODE_MASK_H, invalid_inst, memory_store_inst }, /* Identical to 32-bit */
+ {"lla", INST_TYPE_RD_R1_IMML, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* lla translates to addlik */
+ {"dadd", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000400, OPCODE_MASK_H4, dadd, arithmetic_inst },
+ {"drsub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000480, OPCODE_MASK_H4, drsub, arithmetic_inst },
+diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h
+index 076dbcd..5f2e190 100644
+--- a/opcodes/microblaze-opcm.h
++++ b/opcodes/microblaze-opcm.h
+@@ -40,8 +40,8 @@ enum microblaze_instr
+ imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid,
+ brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti,
+ bgtid, bgei, bgeid, lbu, lbuea, lbur, lhu, lhuea, lhur, lw, lwea, lwr, lwx,
+- sb, sbea, sbr, sh, shea, shr, sw, swea, swr, swx, lbui, lhui, lwi,
+- sbi, shi, swi, msrset, msrclr, tuqula, fadd, frsub, fmul, fdiv,
++ sb, sbea, sbr, sh, shea, shr, sw, swea, swr, swx, lbui, lhui, lwi, lli,
++ sbi, shi, sli, swi, msrset, msrclr, tuqula, fadd, frsub, fmul, fdiv,
+ fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt,
+ fint, fsqrt,
+ tget, tcget, tnget, tncget, tput, tcput, tnput, tncput,
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0017-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0017-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch
new file mode 100644
index 000000000..062ee364c
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0017-Patch-Microblaze-negl-instruction-is-overriding-rsub.patch
@@ -0,0 +1,36 @@
+From 3735a1bb6174f15bde23dd2767675b49c9e8712f Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 11 Sep 2018 13:48:33 +0530
+Subject: [PATCH] negl instruction is overriding rsubl,fixed it by changing the
+ instruction order...
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ opcodes/microblaze-opc.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
+index 9b6264b..824afc0 100644
+--- a/opcodes/microblaze-opc.h
++++ b/opcodes/microblaze-opc.h
+@@ -275,9 +275,7 @@ struct op_code_struct
+ {"la", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x30000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* la translates to addik. */
+ {"tuqula",INST_TYPE_RD, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x3000002A, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* tuqula rd translates to addik rd, r0, 42. */
+ {"not", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xA800FFFF, OPCODE_MASK_H34, invalid_inst, logical_inst }, /* not translates to xori rd,ra,-1. */
+- {"neg", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* neg translates to rsub rd, ra, r0. */
+ {"rtb", INST_TYPE_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xB6000004, OPCODE_MASK_H1, invalid_inst, return_inst }, /* rtb translates to rts rd, 4. */
+- {"sub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* sub translates to rsub rd, rb, ra. */
+ {"lmi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xE8000000, OPCODE_MASK_H, invalid_inst, memory_load_inst },
+ {"smi", INST_TYPE_RD_R1_IMM, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0xF8000000, OPCODE_MASK_H, invalid_inst, memory_store_inst },
+ {"msrset",INST_TYPE_RD_IMM15, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x94100000, OPCODE_MASK_H23N, msrset, special_inst },
+@@ -555,6 +553,8 @@ struct op_code_struct
+ {"dbl", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000680, OPCODE_MASK_H4, dbl, arithmetic_inst },
+ {"dlong", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000700, OPCODE_MASK_H4, dlong, arithmetic_inst },
+ {"dsqrt", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x58000780, OPCODE_MASK_H4, dsqrt, arithmetic_inst },
++ {"neg", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* neg translates to rsub rd, ra, r0. */
++ {"sub", INST_TYPE_RD_R1_R2, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x04000000, OPCODE_MASK_H, invalid_inst, arithmetic_inst }, /* sub translates to rsub rd, rb, ra. */
+
+ {"", 0, 0, 0, 0, 0, 0, 0, 0},
+ };
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0018-Added-relocations-for-MB-X.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0018-Added-relocations-for-MB-X.patch
new file mode 100644
index 000000000..b98db228d
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0018-Added-relocations-for-MB-X.patch
@@ -0,0 +1,348 @@
+From 6b6c4a67212ced3fe1593fb173cfc4bce8d7f922 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Tue, 11 Sep 2018 17:30:17 +0530
+Subject: [PATCH] Added relocations for MB-X
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/bfd-in2.h | 11 ++++--
+ bfd/libbfd.h | 4 +--
+ bfd/reloc.c | 26 +++++++-------
+ gas/config/tc-microblaze.c | 90 ++++++++++++++++++++--------------------------
+ 4 files changed, 62 insertions(+), 69 deletions(-)
+
+diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
+index 90645d1..f74aac1 100644
+--- a/bfd/bfd-in2.h
++++ b/bfd/bfd-in2.h
+@@ -5873,16 +5873,21 @@ done here - only used for relaxing */
+ BFD_RELOC_MICROBLAZE_32_NONE,
+
+ /* This is a 64 bit reloc that stores the 32 bit pc relative
+- * +value in two words (with an imm instruction). No relocation is
++ * +value in two words (with an imml instruction). No relocation is
+ * +done here - only used for relaxing */
+- BFD_RELOC_MICROBLAZE_64_NONE,
++ BFD_RELOC_MICROBLAZE_64_PCREL,
+
+-/* This is a 64 bit reloc that stores the 32 bit pc relative
++/* This is a 64 bit reloc that stores the 32 bit relative
+ * +value in two words (with an imml instruction). No relocation is
+ * +done here - only used for relaxing */
+ BFD_RELOC_MICROBLAZE_64,
+
+ /* This is a 64 bit reloc that stores the 32 bit pc relative
++ * +value in two words (with an imm instruction). No relocation is
++ * +done here - only used for relaxing */
++ BFD_RELOC_MICROBLAZE_64_NONE,
++
++/* This is a 64 bit reloc that stores the 32 bit pc relative
+ value in two words (with an imm instruction). The relocation is
+ PC-relative GOT offset */
+ BFD_RELOC_MICROBLAZE_64_GOTPC,
+diff --git a/bfd/libbfd.h b/bfd/libbfd.h
+index 450653f..d87a183 100644
+--- a/bfd/libbfd.h
++++ b/bfd/libbfd.h
+@@ -2903,14 +2903,14 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
+ "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
+ "BFD_RELOC_MICROBLAZE_32_NONE",
+ "BFD_RELOC_MICROBLAZE_64_NONE",
+- "BFD_RELOC_MICROBLAZE_64",
+ "BFD_RELOC_MICROBLAZE_64_GOTPC",
+- "BFD_RELOC_MICROBLAZE_64_GPC",
+ "BFD_RELOC_MICROBLAZE_64_GOT",
+ "BFD_RELOC_MICROBLAZE_64_PLT",
+ "BFD_RELOC_MICROBLAZE_64_GOTOFF",
+ "BFD_RELOC_MICROBLAZE_32_GOTOFF",
+ "BFD_RELOC_MICROBLAZE_COPY",
++ "BFD_RELOC_MICROBLAZE_64",
++ "BFD_RELOC_MICROBLAZE_64_PCREL",
+ "BFD_RELOC_MICROBLAZE_64_TLS",
+ "BFD_RELOC_MICROBLAZE_64_TLSGD",
+ "BFD_RELOC_MICROBLAZE_64_TLSLD",
+diff --git a/bfd/reloc.c b/bfd/reloc.c
+index ccf29f5..861f2d4 100644
+--- a/bfd/reloc.c
++++ b/bfd/reloc.c
+@@ -6804,12 +6804,6 @@ ENUMDOC
+ ENUM
+ BFD_RELOC_MICROBLAZE_64_NONE
+ ENUMDOC
+- This is a 32 bit reloc that stores the 32 bit pc relative
+- value in two words (with an imml instruction). No relocation is
+- done here - only used for relaxing
+-ENUM
+- BFD_RELOC_MICROBLAZE_64
+-ENUMDOC
+ This is a 64 bit reloc that stores the 32 bit pc relative
+ value in two words (with an imm instruction). No relocation is
+ done here - only used for relaxing
+@@ -6817,12 +6811,6 @@ ENUM
+ BFD_RELOC_MICROBLAZE_64_GOTPC
+ ENUMDOC
+ This is a 64 bit reloc that stores the 32 bit pc relative
+- value in two words (with an imml instruction). No relocation is
+- done here - only used for relaxing
+-ENUM
+- BFD_RELOC_MICROBLAZE_64_GPC
+-ENUMDOC
+- This is a 64 bit reloc that stores the 32 bit pc relative
+ value in two words (with an imm instruction). The relocation is
+ PC-relative GOT offset
+ ENUM
+@@ -6906,6 +6894,20 @@ ENUMDOC
+ value in two words (with an imm instruction). The relocation is
+ relative offset from start of TEXT.
+
++ This is a 64 bit reloc that stores 64-bit thread pointer relative offset
++ to two words (uses imml instruction).
++ENUM
++BFD_RELOC_MICROBLAZE_64,
++ENUMDOC
++ This is a 64 bit reloc that stores the 64 bit pc relative
++ value in two words (with an imml instruction). No relocation is
++ done here - only used for relaxing
++ENUM
++BFD_RELOC_MICROBLAZE_64_PCREL,
++ENUMDOC
++ This is a 32 bit reloc that stores the 32 bit pc relative
++ value in two words (with an imml instruction). No relocation is
++ done here - only used for relaxing
+ ENUM
+ BFD_RELOC_AARCH64_RELOC_START
+ ENUMDOC
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index 3f90b7c..587a4d5 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -95,6 +95,7 @@ const char FLT_CHARS[] = "rRsSfFdDxXpP";
+ #define TEXT_OFFSET 17
+ #define TEXT_PC_OFFSET 18
+ #define DEFINED_64_OFFSET 19
++#define DEFINED_64_PC_OFFSET 20
+
+ /* Initialize the relax table. */
+ const relax_typeS md_relax_table[] =
+@@ -119,7 +120,8 @@ const relax_typeS md_relax_table[] =
+ { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 17: TEXT_OFFSET. */
+ { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 } /* 18: TEXT_PC_OFFSET. */
+ // { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 } /* 16: TLSTPREL_OFFSET. */
+- { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE, 0 } /* 17: DEFINED_64_OFFSET. */
++ { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE, 0 } /* 19: DEFINED_64_OFFSET. */
++ { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE*2, 0 } /* 20: DEFINED_64_PC_OFFSET. */
+ };
+
+ static struct hash_control * opcode_hash_control; /* Opcode mnemonics. */
+@@ -1180,33 +1182,6 @@ md_assemble (char * str)
+ inst |= (immed << IMM_LOW) & IMM_MASK;
+ }
+ }
+-#if 0 //revisit
+- else if (streq (name, "lli") || streq (name, "sli"))
+- {
+- temp = immed & 0xFFFFFFFFFFFF8000;
+- if ((temp != 0) && (temp != 0xFFFFFFFFFFFF8000))
+- {
+- /* Needs an immediate inst. */
+- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
+- if (opcode1 == NULL)
+- {
+- as_bad (_("unknown opcode \"%s\""), "imml");
+- return;
+- }
+-
+- inst1 = opcode1->bit_sequence;
+- inst1 |= ((immedl & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
+- output[0] = INST_BYTE0 (inst1);
+- output[1] = INST_BYTE1 (inst1);
+- output[2] = INST_BYTE2 (inst1);
+- output[3] = INST_BYTE3 (inst1);
+- output = frag_more (isize);
+- }
+- inst |= (reg1 << RD_LOW) & RD_MASK;
+- inst |= (reg2 << RA_LOW) & RA_MASK;
+- inst |= (immed << IMM_LOW) & IMM_MASK;
+- }
+-#endif
+ else
+ {
+ temp = immed & 0xFFFF8000;
+@@ -1958,8 +1933,8 @@ md_assemble (char * str)
+
+ if (exp.X_op != O_constant)
+ {
+- char *opc = NULL;
+- //char *opc = str_microblaze_64;
++ //char *opc = NULL;
++ char *opc = str_microblaze_64;
+ relax_substateT subtype;
+
+ if (exp.X_md != 0)
+@@ -2221,13 +2196,19 @@ md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED,
+ fragP->fr_fix += INST_WORD_SIZE * 2;
+ fragP->fr_var = 0;
+ break;
++ case DEFINED_64_PC_OFFSET:
++ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE, fragP->fr_symbol,
++ fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64_PCREL);
++ fragP->fr_fix += INST_WORD_SIZE * 2;
++ fragP->fr_var = 0;
++ break;
+ case DEFINED_64_OFFSET:
+ if (fragP->fr_symbol == GOT_symbol)
+ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE, fragP->fr_symbol,
+- fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64_GPC);
++ fragP->fr_offset, FALSE, BFD_RELOC_MICROBLAZE_64_GPC);
+ else
+ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE, fragP->fr_symbol,
+- fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64);
++ fragP->fr_offset, FALSE, BFD_RELOC_MICROBLAZE_64);
+ fragP->fr_fix += INST_WORD_SIZE * 2;
+ fragP->fr_var = 0;
+ break;
+@@ -2237,7 +2218,7 @@ md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED,
+ fragP->fr_offset, TRUE, BFD_RELOC_MICROBLAZE_64_GOTPC);
+ else
+ fix_new (fragP, fragP->fr_fix, INST_WORD_SIZE * 2, fragP->fr_symbol,
+- fragP->fr_offset, TRUE, BFD_RELOC_64);
++ fragP->fr_offset, FALSE, BFD_RELOC_64);
+ fragP->fr_fix += INST_WORD_SIZE * 2;
+ fragP->fr_var = 0;
+ break;
+@@ -2457,14 +2438,17 @@ md_apply_fix (fixS * fixP,
+ }
+ }
+ break;
++
+ case BFD_RELOC_64_PCREL:
+ case BFD_RELOC_64:
+ case BFD_RELOC_MICROBLAZE_64_TEXTREL:
+ case BFD_RELOC_MICROBLAZE_64:
++ case BFD_RELOC_MICROBLAZE_64_PCREL:
+ /* Add an imm instruction. First save the current instruction. */
+ for (i = 0; i < INST_WORD_SIZE; i++)
+ buf[i + INST_WORD_SIZE] = buf[i];
+- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
++ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64
++ || fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
+ {
+ /* Generate the imm instruction. */
+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
+@@ -2477,6 +2461,10 @@ md_apply_fix (fixS * fixP,
+ inst1 = opcode1->bit_sequence;
+ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
+ inst1 |= ((val & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
++ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
++ fixP->fx_r_type = BFD_RELOC_64;
++ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
++ fixP->fx_r_type = BFD_RELOC_64_PCREL;
+ }
+ else
+ {
+@@ -2487,7 +2475,7 @@ md_apply_fix (fixS * fixP,
+ as_bad (_("unknown opcode \"%s\""), "imm");
+ return;
+ }
+-
++
+ inst1 = opcode1->bit_sequence;
+ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
+ inst1 |= ((val & 0xFFFF0000) >> 16) & IMM_MASK;
+@@ -2534,7 +2522,7 @@ md_apply_fix (fixS * fixP,
+ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
+ if (opcode1 == NULL)
+ {
+- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC)
++ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_GPC)
+ as_bad (_("unknown opcode \"%s\""), "imml");
+ else
+ as_bad (_("unknown opcode \"%s\""), "imm");
+@@ -2561,8 +2549,6 @@ md_apply_fix (fixS * fixP,
+ moves code around due to relaxing. */
+ if (fixP->fx_r_type == BFD_RELOC_64_PCREL)
+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
+- if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
+- fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
+ else if (fixP->fx_r_type == BFD_RELOC_32)
+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_32_NONE;
+ else
+@@ -2613,33 +2599,24 @@ md_estimate_size_before_relax (fragS * fragP,
+ if(streq (fragP->fr_opcode, str_microblaze_64))
+ {
+ /* Used as an absolute value. */
+- fragP->fr_subtype = DEFINED_64_OFFSET;
++ fragP->fr_subtype = DEFINED_64_PC_OFFSET;
+ /* Variable part does not change. */
+- fragP->fr_var = INST_WORD_SIZE;
++ fragP->fr_var = INST_WORD_SIZE*2;
+ }
+ else
+ {
+ fragP->fr_subtype = DEFINED_PC_OFFSET;
+- /* Don't know now whether we need an imm instruction. */
++ /* Don't know now whether we need an imm instruction. */
+ fragP->fr_var = INST_WORD_SIZE;
+ }
+ }
+ else
+ {
+ fragP->fr_subtype = DEFINED_PC_OFFSET;
+- /* Don't know now whether we need an imm instruction. */
++ /* Don't know now whether we need an imm instruction. */
+ fragP->fr_var = INST_WORD_SIZE;
+ }
+ }
+- #if 0
+- else if (S_GET_SEGMENT (fragP->fr_symbol) == segment_type &&
+- !S_IS_WEAK (fragP->fr_symbol))
+- {
+- fragP->fr_subtype = DEFINED_PC_OFFSET;
+- /* Don't know now whether we need an imm instruction. */
+- fragP->fr_var = INST_WORD_SIZE;
+- }
+-#endif
+ else if (S_IS_DEFINED (fragP->fr_symbol)
+ && (((S_GET_SEGMENT (fragP->fr_symbol))->flags & SEC_CODE) == 0))
+ {
+@@ -2669,6 +2646,13 @@ md_estimate_size_before_relax (fragS * fragP,
+ /* Variable part does not change. */
+ fragP->fr_var = INST_WORD_SIZE*2;
+ }
++ else if (streq (fragP->fr_opcode, str_microblaze_64))
++ {
++ /* Used as an absolute value. */
++ fragP->fr_subtype = DEFINED_64_OFFSET;
++ /* Variable part does not change. */
++ fragP->fr_var = INST_WORD_SIZE;
++ }
+ else if (streq (fragP->fr_opcode, str_microblaze_ro_anchor))
+ {
+ /* It is accessed using the small data read only anchor. */
+@@ -2743,6 +2727,7 @@ md_estimate_size_before_relax (fragS * fragP,
+ case TLSTPREL_OFFSET:
+ case TLSDTPREL_OFFSET:
+ case DEFINED_64_OFFSET:
++ case DEFINED_64_PC_OFFSET:
+ fragP->fr_var = INST_WORD_SIZE*2;
+ break;
+ case DEFINED_RO_SEGMENT:
+@@ -2796,7 +2781,7 @@ md_pcrel_from_section (fixS * fixp, segT sec ATTRIBUTE_UNUSED)
+ else
+ {
+ /* The case where we are going to resolve things... */
+- if (fixp->fx_r_type == BFD_RELOC_64_PCREL ||fixp->fx_r_type == BFD_RELOC_MICROBLAZE_64)
++ if (fixp->fx_r_type == BFD_RELOC_64_PCREL ||fixp->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
+ return fixp->fx_where + fixp->fx_frag->fr_address + INST_WORD_SIZE;
+ else
+ return fixp->fx_where + fixp->fx_frag->fr_address;
+@@ -2831,6 +2816,7 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
+ case BFD_RELOC_MICROBLAZE_64_GOTPC:
+ case BFD_RELOC_MICROBLAZE_64_GPC:
+ case BFD_RELOC_MICROBLAZE_64:
++ case BFD_RELOC_MICROBLAZE_64_PCREL:
+ case BFD_RELOC_MICROBLAZE_64_GOT:
+ case BFD_RELOC_MICROBLAZE_64_PLT:
+ case BFD_RELOC_MICROBLAZE_64_GOTOFF:
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0019-Fixed-MB-x-relocation-issues.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0019-Fixed-MB-x-relocation-issues.patch
new file mode 100644
index 000000000..55319ee2c
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0019-Fixed-MB-x-relocation-issues.patch
@@ -0,0 +1,373 @@
+From 616031595c692c2181c3b1ce8c08678b68b2fe4e Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Fri, 28 Sep 2018 12:04:55 +0530
+Subject: [PATCH] -Fixed MB-x relocation issues -Added imml for required MB-x
+ instructions
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elf64-microblaze.c | 68 ++++++++++++++++----
+ gas/config/tc-microblaze.c | 152 ++++++++++++++++++++++++++++++++-------------
+ gas/tc.h | 2 +-
+ 3 files changed, 167 insertions(+), 55 deletions(-)
+
+diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
+index 56a45f2..54a2461 100644
+--- a/bfd/elf64-microblaze.c
++++ b/bfd/elf64-microblaze.c
+@@ -1476,8 +1476,17 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ relocation -= (input_section->output_section->vma
+ + input_section->output_offset
+ + offset + INST_WORD_SIZE);
+- bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
++ unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
++ if (insn == 0xb2000000 || insn == 0xb2ffffff)
++ {
++ insn &= ~0x00ffffff;
++ insn |= (relocation >> 16) & 0xffffff;
++ bfd_put_32 (input_bfd, insn,
+ contents + offset + endian);
++ }
++ else
++ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
++ contents + offset + endian);
+ bfd_put_16 (input_bfd, relocation & 0xffff,
+ contents + offset + endian + INST_WORD_SIZE);
+ }
+@@ -1567,11 +1576,28 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ else
+ {
+ if (r_type == R_MICROBLAZE_64_PCREL)
+- relocation -= (input_section->output_section->vma
+- + input_section->output_offset
+- + offset + INST_WORD_SIZE);
+- bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
++ {
++ if (!input_section->output_section->vma &&
++ !input_section->output_offset && !offset)
++ relocation -= (input_section->output_section->vma
++ + input_section->output_offset
++ + offset);
++ else
++ relocation -= (input_section->output_section->vma
++ + input_section->output_offset
++ + offset + INST_WORD_SIZE);
++ }
++ unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
++ if (insn == 0xb2000000 || insn == 0xb2ffffff)
++ {
++ insn &= ~0x00ffffff;
++ insn |= (relocation >> 16) & 0xffffff;
++ bfd_put_32 (input_bfd, insn,
+ contents + offset + endian);
++ }
++ else
++ bfd_put_16 (input_bfd, (relocation >> 16) & 0xffff,
++ contents + offset + endian);
+ bfd_put_16 (input_bfd, relocation & 0xffff,
+ contents + offset + endian + INST_WORD_SIZE);
+ }
+@@ -1690,9 +1716,19 @@ static void
+ microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
+ {
+ unsigned long instr = bfd_get_32 (abfd, bfd_addr);
+- instr &= ~0x0000ffff;
+- instr |= (val & 0x0000ffff);
+- bfd_put_32 (abfd, instr, bfd_addr);
++
++ if (instr == 0xb2000000 || instr == 0xb2ffffff)
++ {
++ instr &= ~0x00ffffff;
++ instr |= (val & 0xffffff);
++ bfd_put_32 (abfd, instr, bfd_addr);
++ }
++ else
++ {
++ instr &= ~0x0000ffff;
++ instr |= (val & 0x0000ffff);
++ bfd_put_32 (abfd, instr, bfd_addr);
++ }
+ }
+
+ /* Read-modify-write into the bfd, an immediate value into appropriate fields of
+@@ -1704,10 +1740,18 @@ microblaze_bfd_write_imm_value_64 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
+ unsigned long instr_lo;
+
+ instr_hi = bfd_get_32 (abfd, bfd_addr);
+- instr_hi &= ~0x0000ffff;
+- instr_hi |= ((val >> 16) & 0x0000ffff);
+- bfd_put_32 (abfd, instr_hi, bfd_addr);
+-
++ if (instr_hi == 0xb2000000 || instr_hi == 0xb2ffffff)
++ {
++ instr_hi &= ~0x00ffffff;
++ instr_hi |= (val >> 16) & 0xffffff;
++ bfd_put_32 (abfd, instr_hi,bfd_addr);
++ }
++ else
++ {
++ instr_hi &= ~0x0000ffff;
++ instr_hi |= ((val >> 16) & 0x0000ffff);
++ bfd_put_32 (abfd, instr_hi, bfd_addr);
++ }
+ instr_lo = bfd_get_32 (abfd, bfd_addr + INST_WORD_SIZE);
+ instr_lo &= ~0x0000ffff;
+ instr_lo |= (val & 0x0000ffff);
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index 587a4d5..fa437b6 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -392,7 +392,7 @@ microblaze_s_weakext (int ignore ATTRIBUTE_UNUSED)
+ Integer arg to pass to the function. */
+ /* If the pseudo-op is not found in this table, it searches in the obj-elf.c,
+ and then in the read.c table. */
+-const pseudo_typeS md_pseudo_table[] =
++pseudo_typeS md_pseudo_table[] =
+ {
+ {"lcomm", microblaze_s_lcomm, 1},
+ {"data", microblaze_s_data, 0},
+@@ -401,7 +401,7 @@ const pseudo_typeS md_pseudo_table[] =
+ {"data32", cons, 4}, /* Same as word. */
+ {"ent", s_func, 0}, /* Treat ent as function entry point. */
+ {"end", microblaze_s_func, 1}, /* Treat end as function end point. */
+- {"gpword", s_rva, 8}, /* gpword label => store resolved label address in data section. */
++ {"gpword", s_rva, 4}, /* gpword label => store resolved label address in data section. */
+ {"gpdword", s_rva, 8}, /* gpword label => store resolved label address in data section. */
+ {"weakext", microblaze_s_weakext, 0},
+ {"rodata", microblaze_s_rdata, 0},
+@@ -996,7 +996,7 @@ md_assemble (char * str)
+ unsigned reg2;
+ unsigned reg3;
+ unsigned isize;
+- unsigned int immed, immed2, temp;
++ unsigned long immed, immed2, temp;
+ expressionS exp;
+ char name[20];
+ long immedl;
+@@ -1118,8 +1118,9 @@ md_assemble (char * str)
+ as_fatal (_("lmi pseudo instruction should not use a label in imm field"));
+ else if (streq (name, "smi"))
+ as_fatal (_("smi pseudo instruction should not use a label in imm field"));
+-
+- if (reg2 == REG_ROSDP)
++ if(streq (name, "lli") || streq (name, "sli"))
++ opc = str_microblaze_64;
++ else if (reg2 == REG_ROSDP)
+ opc = str_microblaze_ro_anchor;
+ else if (reg2 == REG_RWSDP)
+ opc = str_microblaze_rw_anchor;
+@@ -1182,31 +1183,55 @@ md_assemble (char * str)
+ inst |= (immed << IMM_LOW) & IMM_MASK;
+ }
+ }
+- else
+- {
+- temp = immed & 0xFFFF8000;
+- if ((temp != 0) && (temp != 0xFFFF8000))
+- {
++ else if (streq (name, "lli") || streq (name, "sli"))
++ {
++ temp = immed & 0xFFFFFF8000;
++ if (temp != 0 && temp != 0xFFFFFF8000)
++ {
+ /* Needs an immediate inst. */
+- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
+ if (opcode1 == NULL)
+ {
+- as_bad (_("unknown opcode \"%s\""), "imm");
++ as_bad (_("unknown opcode \"%s\""), "imml");
+ return;
+ }
+-
+ inst1 = opcode1->bit_sequence;
+- inst1 |= ((immed & 0xFFFF0000) >> 16) & IMM_MASK;
++ inst1 |= ((immed & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
+ output[0] = INST_BYTE0 (inst1);
+ output[1] = INST_BYTE1 (inst1);
+ output[2] = INST_BYTE2 (inst1);
+ output[3] = INST_BYTE3 (inst1);
+ output = frag_more (isize);
+- }
+- inst |= (reg1 << RD_LOW) & RD_MASK;
+- inst |= (reg2 << RA_LOW) & RA_MASK;
+- inst |= (immed << IMM_LOW) & IMM_MASK;
+- }
++ }
++ inst |= (reg1 << RD_LOW) & RD_MASK;
++ inst |= (reg2 << RA_LOW) & RA_MASK;
++ inst |= (immed << IMM_LOW) & IMM_MASK;
++ }
++ else
++ {
++ temp = immed & 0xFFFF8000;
++ if ((temp != 0) && (temp != 0xFFFF8000))
++ {
++ /* Needs an immediate inst. */
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
++ if (opcode1 == NULL)
++ {
++ as_bad (_("unknown opcode \"%s\""), "imm");
++ return;
++ }
++
++ inst1 = opcode1->bit_sequence;
++ inst1 |= ((immed & 0xFFFF0000) >> 16) & IMM_MASK;
++ output[0] = INST_BYTE0 (inst1);
++ output[1] = INST_BYTE1 (inst1);
++ output[2] = INST_BYTE2 (inst1);
++ output[3] = INST_BYTE3 (inst1);
++ output = frag_more (isize);
++ }
++ inst |= (reg1 << RD_LOW) & RD_MASK;
++ inst |= (reg2 << RA_LOW) & RA_MASK;
++ inst |= (immed << IMM_LOW) & IMM_MASK;
++ }
+ break;
+
+ case INST_TYPE_RD_R1_IMMS:
+@@ -1832,12 +1857,20 @@ md_assemble (char * str)
+ case INST_TYPE_IMM:
+ if (streq (name, "imm"))
+ as_fatal (_("An IMM instruction should not be present in the .s file"));
+-
+- op_end = parse_imm (op_end + 1, & exp, MIN_IMM, MAX_IMM);
++ if (microblaze_arch_size == 64)
++ op_end = parse_imml (op_end + 1, & exp, MIN_IMML, MAX_IMML);
++ else
++ op_end = parse_imm (op_end + 1, & exp, MIN_IMM, MAX_IMM);
+
+ if (exp.X_op != O_constant)
+ {
+- char *opc = NULL;
++ char *opc;
++ if (microblaze_arch_size == 64 && (streq (name, "breai") ||
++ streq (name, "breaid") ||
++ streq (name, "brai") || streq (name, "braid")))
++ opc = str_microblaze_64;
++ else
++ opc = NULL;
+ relax_substateT subtype;
+
+ if (exp.X_md != 0)
+@@ -1860,27 +1893,54 @@ md_assemble (char * str)
+ immed = exp.X_add_number;
+ }
+
++ if (microblaze_arch_size == 64 && (streq (name, "breai") ||
++ streq (name, "breaid") ||
++ streq (name, "brai") || streq (name, "braid")))
++ {
++ temp = immed & 0xFFFFFF8000;
++ if (temp != 0)
++ {
++ /* Needs an immediate inst. */
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
++ if (opcode1 == NULL)
++ {
++ as_bad (_("unknown opcode \"%s\""), "imml");
++ return;
++ }
+
+- temp = immed & 0xFFFF8000;
+- if ((temp != 0) && (temp != 0xFFFF8000))
+- {
+- /* Needs an immediate inst. */
+- opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
+- if (opcode1 == NULL)
+- {
+- as_bad (_("unknown opcode \"%s\""), "imm");
+- return;
++ inst1 = opcode1->bit_sequence;
++ inst1 |= ((immed & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
++ output[0] = INST_BYTE0 (inst1);
++ output[1] = INST_BYTE1 (inst1);
++ output[2] = INST_BYTE2 (inst1);
++ output[3] = INST_BYTE3 (inst1);
++ output = frag_more (isize);
+ }
++ inst |= (immed << IMM_LOW) & IMM_MASK;
++ }
++ else
++ {
++ temp = immed & 0xFFFF8000;
++ if ((temp != 0) && (temp != 0xFFFF8000))
++ {
++ /* Needs an immediate inst. */
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imm");
++ if (opcode1 == NULL)
++ {
++ as_bad (_("unknown opcode \"%s\""), "imm");
++ return;
++ }
+
+- inst1 = opcode1->bit_sequence;
+- inst1 |= ((immed & 0xFFFF0000) >> 16) & IMM_MASK;
+- output[0] = INST_BYTE0 (inst1);
+- output[1] = INST_BYTE1 (inst1);
+- output[2] = INST_BYTE2 (inst1);
+- output[3] = INST_BYTE3 (inst1);
+- output = frag_more (isize);
+- }
+- inst |= (immed << IMM_LOW) & IMM_MASK;
++ inst1 = opcode1->bit_sequence;
++ inst1 |= ((immed & 0xFFFF0000) >> 16) & IMM_MASK;
++ output[0] = INST_BYTE0 (inst1);
++ output[1] = INST_BYTE1 (inst1);
++ output[2] = INST_BYTE2 (inst1);
++ output[3] = INST_BYTE3 (inst1);
++ output = frag_more (isize);
++ }
++ inst |= (immed << IMM_LOW) & IMM_MASK;
++ }
+ break;
+
+ case INST_TYPE_NONE:
+@@ -2460,7 +2520,7 @@ md_apply_fix (fixS * fixP,
+
+ inst1 = opcode1->bit_sequence;
+ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
+- inst1 |= ((val & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
++ inst1 |= ((val & 0xFFFFFF0000L) >> 16) & IMML_MASK;
+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64)
+ fixP->fx_r_type = BFD_RELOC_64;
+ if (fixP->fx_r_type == BFD_RELOC_MICROBLAZE_64_PCREL)
+@@ -2628,7 +2688,14 @@ md_estimate_size_before_relax (fragS * fragP,
+ }
+ else
+ {
+- fragP->fr_subtype = UNDEFINED_PC_OFFSET;
++ if (fragP->fr_opcode != NULL) {
++ if (streq (fragP->fr_opcode, str_microblaze_64))
++ fragP->fr_subtype = DEFINED_64_PC_OFFSET;
++ else
++ fragP->fr_subtype = UNDEFINED_PC_OFFSET;
++ }
++ else
++ fragP->fr_subtype = UNDEFINED_PC_OFFSET;
+ fragP->fr_var = INST_WORD_SIZE*2;
+ }
+ break;
+@@ -2905,6 +2972,7 @@ md_parse_option (int c, const char * arg ATTRIBUTE_UNUSED)
+ case OPTION_M64:
+ //if (arg != NULL && strcmp (arg, "64") == 0)
+ microblaze_arch_size = 64;
++ md_pseudo_table[7].poc_val = 8;
+ break;
+ default:
+ return 0;
+diff --git a/gas/tc.h b/gas/tc.h
+index 0a50a69..529a73b 100644
+--- a/gas/tc.h
++++ b/gas/tc.h
+@@ -22,7 +22,7 @@
+ /* In theory (mine, at least!) the machine dependent part of the assembler
+ should only have to include one file. This one. -- JF */
+
+-extern const pseudo_typeS md_pseudo_table[];
++extern pseudo_typeS md_pseudo_table[];
+
+ const char * md_atof (int, char *, int *);
+ int md_parse_option (int, const char *);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0020-Fixing-the-branch-related-issues.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0020-Fixing-the-branch-related-issues.patch
new file mode 100644
index 000000000..43a06d894
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0020-Fixing-the-branch-related-issues.patch
@@ -0,0 +1,25 @@
+From 05cac23e0cdb94705c87cf9d94ffe00e7cba53f6 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Sun, 30 Sep 2018 17:06:58 +0530
+Subject: [PATCH] Fixing the branch related issues
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elf64-microblaze.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
+index 54a2461..e9b3cf3 100644
+--- a/bfd/elf64-microblaze.c
++++ b/bfd/elf64-microblaze.c
+@@ -2532,7 +2532,7 @@ microblaze_elf_check_relocs (bfd * abfd,
+
+ /* PR15323, ref flags aren't set for references in the same
+ object. */
+- h->root.non_ir_ref = 1;
++ h->root.non_ir_ref_regular = 1;
+ }
+
+ switch (r_type)
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0021-Fixed-address-computation-issues-with-64bit-address.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0021-Fixed-address-computation-issues-with-64bit-address.patch
new file mode 100644
index 000000000..b3aebb745
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0021-Fixed-address-computation-issues-with-64bit-address.patch
@@ -0,0 +1,217 @@
+From 8b98898add56667d28b7d6242c86603bb2f5946e Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Tue, 9 Oct 2018 10:14:22 +0530
+Subject: [PATCH] - Fixed address computation issues with 64bit address - Fixed
+ imml dissassamble issue
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/bfd-in2.h | 5 ++++
+ bfd/elf64-microblaze.c | 14 ++++-----
+ gas/config/tc-microblaze.c | 74 +++++++++++++++++++++++++++++++++++++++++-----
+ opcodes/microblaze-dis.c | 2 +-
+ 4 files changed, 79 insertions(+), 16 deletions(-)
+
+diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
+index f74aac1..434b41c 100644
+--- a/bfd/bfd-in2.h
++++ b/bfd/bfd-in2.h
+@@ -5882,6 +5882,11 @@ done here - only used for relaxing */
+ * +done here - only used for relaxing */
+ BFD_RELOC_MICROBLAZE_64,
+
++/* This is a 64 bit reloc that stores the 32 bit relative
++ * +value in two words (with an imml instruction). No relocation is
++ * +done here - only used for relaxing */
++ BFD_RELOC_MICROBLAZE_EA64,
++
+ /* This is a 64 bit reloc that stores the 32 bit pc relative
+ * +value in two words (with an imm instruction). No relocation is
+ * +done here - only used for relaxing */
+diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
+index e9b3cf3..40f10aa 100644
+--- a/bfd/elf64-microblaze.c
++++ b/bfd/elf64-microblaze.c
+@@ -121,15 +121,15 @@ static reloc_howto_type microblaze_elf_howto_raw[] =
+ 0, /* Rightshift. */
+ 4, /* Size (0 = byte, 1 = short, 2 = long). */
+ 64, /* Bitsize. */
+- TRUE, /* PC_relative. */
++ FALSE, /* PC_relative. */
+ 0, /* Bitpos. */
+ complain_overflow_dont, /* Complain on overflow. */
+ bfd_elf_generic_reloc,/* Special Function. */
+ "R_MICROBLAZE_IMML_64", /* Name. */
+ FALSE, /* Partial Inplace. */
+ 0, /* Source Mask. */
+- 0x0000ffff, /* Dest Mask. */
+- TRUE), /* PC relative offset? */
++ 0xffffffffffffff, /* Dest Mask. */
++ FALSE), /* PC relative offset? */
+
+ /* A 64 bit relocation. Table entry not really used. */
+ HOWTO (R_MICROBLAZE_64, /* Type. */
+@@ -585,9 +585,9 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+ case BFD_RELOC_32:
+ microblaze_reloc = R_MICROBLAZE_32;
+ break;
+- /* RVA is treated the same as 32 */
++ /* RVA is treated the same as 64 */
+ case BFD_RELOC_RVA:
+- microblaze_reloc = R_MICROBLAZE_32;
++ microblaze_reloc = R_MICROBLAZE_IMML_64;
+ break;
+ case BFD_RELOC_32_PCREL:
+ microblaze_reloc = R_MICROBLAZE_32_PCREL;
+@@ -619,7 +619,7 @@ microblaze_elf_reloc_type_lookup (bfd * abfd ATTRIBUTE_UNUSED,
+ case BFD_RELOC_VTABLE_ENTRY:
+ microblaze_reloc = R_MICROBLAZE_GNU_VTENTRY;
+ break;
+- case BFD_RELOC_MICROBLAZE_64:
++ case BFD_RELOC_MICROBLAZE_EA64:
+ microblaze_reloc = R_MICROBLAZE_IMML_64;
+ break;
+ case BFD_RELOC_MICROBLAZE_64_GOTPC:
+@@ -1969,7 +1969,7 @@ microblaze_elf_relax_section (bfd *abfd,
+ efix = calc_fixup (target_address, 0, sec);
+
+ /* Validate the in-band val. */
+- val = bfd_get_32 (abfd, contents + irel->r_offset);
++ val = bfd_get_64 (abfd, contents + irel->r_offset);
+ if (val != irel->r_addend && ELF64_R_TYPE (irel->r_info) == R_MICROBLAZE_32_NONE) {
+ fprintf(stderr, "%d: CORRUPT relax reloc %x %lx\n", __LINE__, val, irel->r_addend);
+ }
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index fa437b6..46df32e 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -402,7 +402,6 @@ pseudo_typeS md_pseudo_table[] =
+ {"ent", s_func, 0}, /* Treat ent as function entry point. */
+ {"end", microblaze_s_func, 1}, /* Treat end as function end point. */
+ {"gpword", s_rva, 4}, /* gpword label => store resolved label address in data section. */
+- {"gpdword", s_rva, 8}, /* gpword label => store resolved label address in data section. */
+ {"weakext", microblaze_s_weakext, 0},
+ {"rodata", microblaze_s_rdata, 0},
+ {"sdata2", microblaze_s_rdata, 1},
+@@ -2482,15 +2481,71 @@ md_apply_fix (fixS * fixP,
+ /* Don't do anything if the symbol is not defined. */
+ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
+ {
++ if ((fixP->fx_r_type == BFD_RELOC_RVA) && (microblaze_arch_size == 64))
++ {
++ if (target_big_endian)
++ {
++ buf[0] |= ((val >> 56) & 0xff);
++ buf[1] |= ((val >> 48) & 0xff);
++ buf[2] |= ((val >> 40) & 0xff);
++ buf[3] |= ((val >> 32) & 0xff);
++ buf[4] |= ((val >> 24) & 0xff);
++ buf[5] |= ((val >> 16) & 0xff);
++ buf[6] |= ((val >> 8) & 0xff);
++ buf[7] |= (val & 0xff);
++ }
++ else
++ {
++ buf[7] |= ((val >> 56) & 0xff);
++ buf[6] |= ((val >> 48) & 0xff);
++ buf[5] |= ((val >> 40) & 0xff);
++ buf[4] |= ((val >> 32) & 0xff);
++ buf[3] |= ((val >> 24) & 0xff);
++ buf[2] |= ((val >> 16) & 0xff);
++ buf[1] |= ((val >> 8) & 0xff);
++ buf[0] |= (val & 0xff);
++ }
++ }
++ else {
++ if (target_big_endian)
++ {
++ buf[0] |= ((val >> 24) & 0xff);
++ buf[1] |= ((val >> 16) & 0xff);
++ buf[2] |= ((val >> 8) & 0xff);
++ buf[3] |= (val & 0xff);
++ }
++ else
++ {
++ buf[3] |= ((val >> 24) & 0xff);
++ buf[2] |= ((val >> 16) & 0xff);
++ buf[1] |= ((val >> 8) & 0xff);
++ buf[0] |= (val & 0xff);
++ }
++ }
++ }
++ break;
++
++ case BFD_RELOC_MICROBLAZE_EA64:
++ /* Don't do anything if the symbol is not defined. */
++ if (fixP->fx_addsy == NULL || S_IS_DEFINED (fixP->fx_addsy))
++ {
+ if (target_big_endian)
+ {
+- buf[0] |= ((val >> 24) & 0xff);
+- buf[1] |= ((val >> 16) & 0xff);
+- buf[2] |= ((val >> 8) & 0xff);
+- buf[3] |= (val & 0xff);
++ buf[0] |= ((val >> 56) & 0xff);
++ buf[1] |= ((val >> 48) & 0xff);
++ buf[2] |= ((val >> 40) & 0xff);
++ buf[3] |= ((val >> 32) & 0xff);
++ buf[4] |= ((val >> 24) & 0xff);
++ buf[5] |= ((val >> 16) & 0xff);
++ buf[6] |= ((val >> 8) & 0xff);
++ buf[7] |= (val & 0xff);
+ }
+ else
+ {
++ buf[7] |= ((val >> 56) & 0xff);
++ buf[6] |= ((val >> 48) & 0xff);
++ buf[5] |= ((val >> 40) & 0xff);
++ buf[4] |= ((val >> 32) & 0xff);
+ buf[3] |= ((val >> 24) & 0xff);
+ buf[2] |= ((val >> 16) & 0xff);
+ buf[1] |= ((val >> 8) & 0xff);
+@@ -2611,6 +2666,8 @@ md_apply_fix (fixS * fixP,
+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_64_NONE;
+ else if (fixP->fx_r_type == BFD_RELOC_32)
+ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_32_NONE;
++ else if(fixP->fx_r_type == BFD_RELOC_MICROBLAZE_EA64)
++ fixP->fx_r_type = BFD_RELOC_MICROBLAZE_EA64;
+ else
+ fixP->fx_r_type = BFD_RELOC_NONE;
+ fixP->fx_addsy = section_symbol (absolute_section);
+@@ -2882,6 +2939,7 @@ tc_gen_reloc (asection * section ATTRIBUTE_UNUSED, fixS * fixp)
+ case BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM:
+ case BFD_RELOC_MICROBLAZE_64_GOTPC:
+ case BFD_RELOC_MICROBLAZE_64_GPC:
++ case BFD_RELOC_MICROBLAZE_EA64:
+ case BFD_RELOC_MICROBLAZE_64:
+ case BFD_RELOC_MICROBLAZE_64_PCREL:
+ case BFD_RELOC_MICROBLAZE_64_GOT:
+@@ -3027,10 +3085,10 @@ cons_fix_new_microblaze (fragS * frag,
+ r = BFD_RELOC_32;
+ break;
+ case 8:
+- if (microblaze_arch_size == 64)
++ /*if (microblaze_arch_size == 64)
+ r = BFD_RELOC_32;
+- else
+- r = BFD_RELOC_64;
++ else*/
++ r = BFD_RELOC_MICROBLAZE_EA64;
+ break;
+ default:
+ as_bad (_("unsupported BFD relocation size %u"), size);
+diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c
+index 20ea6a8..f679a43 100644
+--- a/opcodes/microblaze-dis.c
++++ b/opcodes/microblaze-dis.c
+@@ -61,7 +61,7 @@ get_field_imml (long instr)
+ {
+ char tmpstr[25];
+
+- sprintf (tmpstr, "%d", (short)((instr & IMML_MASK) >> IMM_LOW));
++ sprintf (tmpstr, "%d", (int)((instr & IMML_MASK) >> IMM_LOW));
+ return (strdup (tmpstr));
+ }
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0022-Adding-new-relocation-to-support-64bit-rodata.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0022-Adding-new-relocation-to-support-64bit-rodata.patch
new file mode 100644
index 000000000..aec793d9c
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0022-Adding-new-relocation-to-support-64bit-rodata.patch
@@ -0,0 +1,166 @@
+From 3eb0c068ad5a698007341b32c82d9e7ac6cabc49 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Sat, 13 Oct 2018 21:17:01 +0530
+Subject: [PATCH] Adding new relocation to support 64bit rodata
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elf64-microblaze.c | 11 +++++++++--
+ gas/config/tc-microblaze.c | 49 ++++++++++++++++++++++++++++++++++++++++++----
+ 2 files changed, 54 insertions(+), 6 deletions(-)
+
+diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
+index 40f10aa..4d9b906 100644
+--- a/bfd/elf64-microblaze.c
++++ b/bfd/elf64-microblaze.c
+@@ -1461,6 +1461,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ case (int) R_MICROBLAZE_64_PCREL :
+ case (int) R_MICROBLAZE_64:
+ case (int) R_MICROBLAZE_32:
++ case (int) R_MICROBLAZE_IMML_64:
+ {
+ /* r_symndx will be STN_UNDEF (zero) only for relocs against symbols
+ from removed linkonce sections, or sections discarded by
+@@ -1470,6 +1471,8 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ relocation += addend;
+ if (r_type == R_MICROBLAZE_32)// || r_type == R_MICROBLAZE_IMML_64)
+ bfd_put_32 (input_bfd, relocation, contents + offset);
++ else if (r_type == R_MICROBLAZE_IMML_64)
++ bfd_put_64 (input_bfd, relocation, contents + offset);
+ else
+ {
+ if (r_type == R_MICROBLAZE_64_PCREL)
+@@ -1547,7 +1550,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ }
+ else
+ {
+- if (r_type == R_MICROBLAZE_32)
++ if (r_type == R_MICROBLAZE_32 || r_type == R_MICROBLAZE_IMML_64)
+ {
+ outrel.r_info = ELF64_R_INFO (0, R_MICROBLAZE_REL);
+ outrel.r_addend = relocation + addend;
+@@ -1573,6 +1576,8 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ relocation += addend;
+ if (r_type == R_MICROBLAZE_32)
+ bfd_put_32 (input_bfd, relocation, contents + offset);
++ else if (r_type == R_MICROBLAZE_IMML_64)
++ bfd_put_64 (input_bfd, relocation, contents + offset + endian);
+ else
+ {
+ if (r_type == R_MICROBLAZE_64_PCREL)
+@@ -2085,7 +2090,8 @@ microblaze_elf_relax_section (bfd *abfd,
+ microblaze_bfd_write_imm_value_32 (abfd, ocontents + irelscan->r_offset,
+ irelscan->r_addend);
+ }
+- if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32)
++ if (ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_32
++ || ELF64_R_TYPE (irelscan->r_info) == (int) R_MICROBLAZE_IMML_64)
+ {
+ isym = isymbuf + ELF64_R_SYM (irelscan->r_info);
+
+@@ -2591,6 +2597,7 @@ microblaze_elf_check_relocs (bfd * abfd,
+ case R_MICROBLAZE_64:
+ case R_MICROBLAZE_64_PCREL:
+ case R_MICROBLAZE_32:
++ case R_MICROBLAZE_IMML_64:
+ {
+ if (h != NULL && !bfd_link_pic (info))
+ {
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index 46df32e..c6d2e4c 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -1119,6 +1119,13 @@ md_assemble (char * str)
+ as_fatal (_("smi pseudo instruction should not use a label in imm field"));
+ if(streq (name, "lli") || streq (name, "sli"))
+ opc = str_microblaze_64;
++ else if ((microblaze_arch_size == 64) && ((streq (name, "lbui")
++ || streq (name, "lhui") || streq (name, "lwi") || streq (name, "sbi")
++ || streq (name, "shi") || streq (name, "swi"))))
++ {
++ opc = str_microblaze_64;
++ subtype = opcode->inst_offset_type;
++ }
+ else if (reg2 == REG_ROSDP)
+ opc = str_microblaze_ro_anchor;
+ else if (reg2 == REG_RWSDP)
+@@ -1182,7 +1189,10 @@ md_assemble (char * str)
+ inst |= (immed << IMM_LOW) & IMM_MASK;
+ }
+ }
+- else if (streq (name, "lli") || streq (name, "sli"))
++ else if (streq (name, "lli") || streq (name, "sli") || ((microblaze_arch_size == 64)
++ && ((streq (name, "lbui")) || streq (name, "lhui")
++ || streq (name, "lwi") || streq (name, "sbi")
++ || streq (name, "shi") || streq (name, "swi"))))
+ {
+ temp = immed & 0xFFFFFF8000;
+ if (temp != 0 && temp != 0xFFFFFF8000)
+@@ -1794,6 +1804,11 @@ md_assemble (char * str)
+
+ if (exp.X_md != 0)
+ subtype = get_imm_otype(exp.X_md);
++ else if (streq (name, "brealid") || streq (name, "breaid") || streq (name, "breai"))
++ {
++ opc = str_microblaze_64;
++ subtype = opcode->inst_offset_type;
++ }
+ else
+ subtype = opcode->inst_offset_type;
+
+@@ -1811,6 +1826,31 @@ md_assemble (char * str)
+ output = frag_more (isize);
+ immed = exp.X_add_number;
+ }
++ if (streq (name, "brealid") || streq (name, "breaid") || streq (name, "breai"))
++ {
++ temp = immed & 0xFFFFFF8000;
++ if (temp != 0 && temp != 0xFFFFFF8000)
++ {
++ /* Needs an immediate inst. */
++ opcode1 = (struct op_code_struct *) hash_find (opcode_hash_control, "imml");
++ if (opcode1 == NULL)
++ {
++ as_bad (_("unknown opcode \"%s\""), "imml");
++ return;
++ }
++ inst1 = opcode1->bit_sequence;
++ inst1 |= ((immed & 0xFFFFFFFFFFFF0000L) >> 16) & IMML_MASK;
++ output[0] = INST_BYTE0 (inst1);
++ output[1] = INST_BYTE1 (inst1);
++ output[2] = INST_BYTE2 (inst1);
++ output[3] = INST_BYTE3 (inst1);
++ output = frag_more (isize);
++ }
++ inst |= (reg1 << RD_LOW) & RD_MASK;
++ inst |= (immed << IMM_LOW) & IMM_MASK;
++ }
++ else
++ {
+
+ temp = immed & 0xFFFF8000;
+ if ((temp != 0) && (temp != 0xFFFF8000))
+@@ -1834,6 +1874,7 @@ md_assemble (char * str)
+
+ inst |= (reg1 << RD_LOW) & RD_MASK;
+ inst |= (immed << IMM_LOW) & IMM_MASK;
++ }
+ break;
+
+ case INST_TYPE_R2:
+@@ -3085,10 +3126,10 @@ cons_fix_new_microblaze (fragS * frag,
+ r = BFD_RELOC_32;
+ break;
+ case 8:
+- /*if (microblaze_arch_size == 64)
+- r = BFD_RELOC_32;
+- else*/
++ if (microblaze_arch_size == 64)
+ r = BFD_RELOC_MICROBLAZE_EA64;
++ else
++ r = BFD_RELOC_64;
+ break;
+ default:
+ as_bad (_("unsupported BFD relocation size %u"), size);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0023-fixing-the-.bss-relocation-issue.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0023-fixing-the-.bss-relocation-issue.patch
new file mode 100644
index 000000000..cd54cae46
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0023-fixing-the-.bss-relocation-issue.patch
@@ -0,0 +1,76 @@
+From 52f6c56353aad424dfdaf713e0192f8fc9c874f4 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Wed, 24 Oct 2018 12:34:37 +0530
+Subject: [PATCH] fixing the .bss relocation issue
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elf64-microblaze.c | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
+index 4d9b906..184b7d5 100644
+--- a/bfd/elf64-microblaze.c
++++ b/bfd/elf64-microblaze.c
+@@ -1480,7 +1480,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ + input_section->output_offset
+ + offset + INST_WORD_SIZE);
+ unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
+- if (insn == 0xb2000000 || insn == 0xb2ffffff)
++ if ((insn & 0xff000000) == 0xb2000000)
+ {
+ insn &= ~0x00ffffff;
+ insn |= (relocation >> 16) & 0xffffff;
+@@ -1593,7 +1593,7 @@ microblaze_elf_relocate_section (bfd *output_bfd,
+ + offset + INST_WORD_SIZE);
+ }
+ unsigned long insn = bfd_get_32 (input_bfd, contents + offset +endian);
+- if (insn == 0xb2000000 || insn == 0xb2ffffff)
++ if ((insn & 0xff000000) == 0xb2000000)
+ {
+ insn &= ~0x00ffffff;
+ insn |= (relocation >> 16) & 0xffffff;
+@@ -1722,7 +1722,7 @@ microblaze_bfd_write_imm_value_32 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
+ {
+ unsigned long instr = bfd_get_32 (abfd, bfd_addr);
+
+- if (instr == 0xb2000000 || instr == 0xb2ffffff)
++ if ((instr & 0xff000000) == 0xb2000000)
+ {
+ instr &= ~0x00ffffff;
+ instr |= (val & 0xffffff);
+@@ -1745,7 +1745,7 @@ microblaze_bfd_write_imm_value_64 (bfd *abfd, bfd_byte *bfd_addr, bfd_vma val)
+ unsigned long instr_lo;
+
+ instr_hi = bfd_get_32 (abfd, bfd_addr);
+- if (instr_hi == 0xb2000000 || instr_hi == 0xb2ffffff)
++ if ((instr_hi & 0xff000000) == 0xb2000000)
+ {
+ instr_hi &= ~0x00ffffff;
+ instr_hi |= (val >> 16) & 0xffffff;
+@@ -2238,7 +2238,10 @@ microblaze_elf_relax_section (bfd *abfd,
+ unsigned long instr_lo = bfd_get_32 (abfd, ocontents
+ + irelscan->r_offset
+ + INST_WORD_SIZE);
+- immediate = (instr_hi & 0x0000ffff) << 16;
++ if ((instr_hi & 0xff000000) == 0xb2000000)
++ immediate = (instr_hi & 0x00ffffff) << 24;
++ else
++ immediate = (instr_hi & 0x0000ffff) << 16;
+ immediate |= (instr_lo & 0x0000ffff);
+ offset = calc_fixup (irelscan->r_addend, 0, sec);
+ immediate -= offset;
+@@ -2282,7 +2285,10 @@ microblaze_elf_relax_section (bfd *abfd,
+ unsigned long instr_lo = bfd_get_32 (abfd, ocontents
+ + irelscan->r_offset
+ + INST_WORD_SIZE);
+- immediate = (instr_hi & 0x0000ffff) << 16;
++ if ((instr_hi & 0xff000000) == 0xb2000000)
++ immediate = (instr_hi & 0x00ffffff) << 24;
++ else
++ immediate = (instr_hi & 0x0000ffff) << 16;
+ immediate |= (instr_lo & 0x0000ffff);
+ target_address = immediate;
+ offset = calc_fixup (target_address, 0, sec);
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0024-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0024-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch
new file mode 100644
index 000000000..a4f8257d2
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0024-Fixed-the-bug-in-the-R_MICROBLAZE_64_NONE-relocation.patch
@@ -0,0 +1,44 @@
+From ed3e6fad3e2a626fc987e9c7477f51d03d2b4512 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Wed, 28 Nov 2018 14:00:29 +0530
+Subject: [PATCH] Fixed the bug in the R_MICROBLAZE_64_NONE relocation. It was
+ adjusting only lower 16bits.
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elf32-microblaze.c | 4 ++--
+ bfd/elf64-microblaze.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
+index 035e71f..2d8c062 100644
+--- a/bfd/elf32-microblaze.c
++++ b/bfd/elf32-microblaze.c
+@@ -2022,8 +2022,8 @@ microblaze_elf_relax_section (bfd *abfd,
+ sfix = calc_fixup (irel->r_offset + INST_WORD_SIZE, 0, sec);
+ efix = calc_fixup (target_address, 0, sec);
+ irel->r_addend -= (efix - sfix);
+- microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset
+- + INST_WORD_SIZE, irel->r_addend);
++ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
++ irel->r_addend);
+ }
+ break;
+ }
+diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
+index 184b7d5..ef6a870 100644
+--- a/bfd/elf64-microblaze.c
++++ b/bfd/elf64-microblaze.c
+@@ -2017,8 +2017,8 @@ microblaze_elf_relax_section (bfd *abfd,
+ sfix = calc_fixup (irel->r_offset + INST_WORD_SIZE, 0, sec);
+ efix = calc_fixup (target_address, 0, sec);
+ irel->r_addend -= (efix - sfix);
+- microblaze_bfd_write_imm_value_32 (abfd, contents + irel->r_offset
+- + INST_WORD_SIZE, irel->r_addend);
++ microblaze_bfd_write_imm_value_64 (abfd, contents + irel->r_offset,
++ irel->r_addend);
+ }
+ break;
+ }
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0025-Patch-MicroBlaze-fixed-Build-issue-which-are-due-to-.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0025-Patch-MicroBlaze-fixed-Build-issue-which-are-due-to-.patch
new file mode 100644
index 000000000..fec19b6b6
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0025-Patch-MicroBlaze-fixed-Build-issue-which-are-due-to-.patch
@@ -0,0 +1,67 @@
+From b8bd638f71649980e114548d8eeecba34683af42 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Sun, 2 Dec 2018 14:49:14 +0530
+Subject: [PATCH] fixed Build issue which are due to conflicts in patches.
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elf32-microblaze.c | 1 +
+ bfd/elf64-microblaze.c | 12 ++++++------
+ gas/config/tc-microblaze.c | 4 ++--
+ 3 files changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c
+index 2d8c062..6a795c5 100644
+--- a/bfd/elf32-microblaze.c
++++ b/bfd/elf32-microblaze.c
+@@ -1996,6 +1996,7 @@ microblaze_elf_relax_section (bfd *abfd,
+ /* This was a PC-relative instruction that was
+ completely resolved. */
+ int sfix, efix;
++ unsigned int val;
+ bfd_vma target_address;
+ target_address = irel->r_addend + irel->r_offset;
+ sfix = calc_fixup (irel->r_offset, 0, sec);
+diff --git a/bfd/elf64-microblaze.c b/bfd/elf64-microblaze.c
+index ef6a870..bed534e 100644
+--- a/bfd/elf64-microblaze.c
++++ b/bfd/elf64-microblaze.c
+@@ -2854,14 +2854,14 @@ microblaze_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
+ /* If this is a weak symbol, and there is a real definition, the
+ processor independent code will have arranged for us to see the
+ real definition first, and we can just use the same value. */
+- if (h->u.weakdef != NULL)
++ if (h->is_weakalias)
+ {
+- BFD_ASSERT (h->u.weakdef->root.type == bfd_link_hash_defined
+- || h->u.weakdef->root.type == bfd_link_hash_defweak);
+- h->root.u.def.section = h->u.weakdef->root.u.def.section;
+- h->root.u.def.value = h->u.weakdef->root.u.def.value;
++ struct elf_link_hash_entry *def = weakdef (h);
++ BFD_ASSERT (def->root.type == bfd_link_hash_defined);
++ h->root.u.def.section = def->root.u.def.section;
++ h->root.u.def.value = def->root.u.def.value;
+ return TRUE;
+- }
++ }
+
+ /* This is a reference to a symbol defined by a dynamic object which
+ is not a function. */
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index c6d2e4c..b3e49f0 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -118,9 +118,9 @@ const relax_typeS md_relax_table[] =
+ { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 15: TLSGOTTPREL_OFFSET. */
+ { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 16: TLSTPREL_OFFSET. */
+ { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 17: TEXT_OFFSET. */
+- { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 } /* 18: TEXT_PC_OFFSET. */
++ { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 }, /* 18: TEXT_PC_OFFSET. */
+ // { 0x7fffffff, 0x80000000, INST_WORD_SIZE*2, 0 } /* 16: TLSTPREL_OFFSET. */
+- { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE, 0 } /* 19: DEFINED_64_OFFSET. */
++ { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE, 0 }, /* 19: DEFINED_64_OFFSET. */
+ { 0x7fffffffffffffff, 0x8000000000000000, INST_WORD_SIZE*2, 0 } /* 20: DEFINED_64_PC_OFFSET. */
+ };
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0026-Patch-Microblaze-changes-of-PR22458-failure-to-choos.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0026-Patch-Microblaze-changes-of-PR22458-failure-to-choos.patch
new file mode 100644
index 000000000..cd6965d70
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0026-Patch-Microblaze-changes-of-PR22458-failure-to-choos.patch
@@ -0,0 +1,31 @@
+From cbe98e5a0cbc2337bf25d6b3f9dabcae38b95952 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 26 Feb 2019 17:31:41 +0530
+Subject: [PATCH] changes of "PR22458, failure to choose a matching ELF target"
+ is causing "Multiple Prevailing definition errors",added check for best_match
+ elf.
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/format.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/bfd/format.c b/bfd/format.c
+index 97a9229..3a74cc4 100644
+--- a/bfd/format.c
++++ b/bfd/format.c
+@@ -292,7 +292,12 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
+
+ /* Don't check the default target twice. */
+ if (*target == &binary_vec
++#if !BFD_SUPPORTS_PLUGINS
+ || (!abfd->target_defaulted && *target == save_targ))
++#else
++ || (!abfd->target_defaulted && *target == save_targ)
++ || (*target)->match_priority > best_match)
++#endif
+ continue;
+
+ /* If we already tried a match, the bfd is modified and may
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0029-Patch-Microblaze-Binutils-security-check-is-causing-.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0029-Patch-Microblaze-Binutils-security-check-is-causing-.patch
new file mode 100644
index 000000000..f293f5cf6
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0029-Patch-Microblaze-Binutils-security-check-is-causing-.patch
@@ -0,0 +1,33 @@
+From b1e425aed65150d7ce9ddb119f4b94969fe4043e Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Mon, 11 Mar 2019 14:23:58 +0530
+Subject: [PATCH] Binutils security check is causing build error for windows
+ builds.commenting for now.
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ bfd/elf-attrs.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c
+index bfe135e..feb5cb3 100644
+--- a/bfd/elf-attrs.c
++++ b/bfd/elf-attrs.c
+@@ -440,6 +440,7 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr)
+ /* PR 17512: file: 2844a11d. */
+ if (hdr->sh_size == 0)
+ return;
++ #if 0
+ if (hdr->sh_size > bfd_get_file_size (abfd))
+ {
+ /* xgettext:c-format */
+@@ -448,6 +449,7 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr)
+ bfd_set_error (bfd_error_invalid_operation);
+ return;
+ }
++ #endif
+
+ contents = (bfd_byte *) bfd_malloc (hdr->sh_size + 1);
+ if (!contents)
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0030-fixing-the-long-long-long-mingw-toolchain-issue.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0030-fixing-the-long-long-long-mingw-toolchain-issue.patch
new file mode 100644
index 000000000..7e3accad0
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0030-fixing-the-long-long-long-mingw-toolchain-issue.patch
@@ -0,0 +1,57 @@
+From 1eec84c155aeaeead673310f83293853f01b578d Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Thu, 29 Nov 2018 17:59:25 +0530
+Subject: [PATCH] fixing the long & long long mingw toolchain issue
+
+Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ gas/config/tc-microblaze.c | 10 +++++-----
+ opcodes/microblaze-opc.h | 4 ++--
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
+index b3e49f0..5b506d3 100644
+--- a/gas/config/tc-microblaze.c
++++ b/gas/config/tc-microblaze.c
+@@ -783,7 +783,7 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
+ }
+
+ static char *
+-parse_imml (char * s, expressionS * e, long min, long max)
++parse_imml (char * s, expressionS * e, long long min, long long max)
+ {
+ char *new_pointer;
+ char *atp;
+@@ -834,11 +834,11 @@ parse_imml (char * s, expressionS * e, long min, long max)
+ ; /* An error message has already been emitted. */
+ else if ((e->X_op != O_constant && e->X_op != O_symbol) )
+ as_fatal (_("operand must be a constant or a label"));
+- else if ((e->X_op == O_constant) && ((long) e->X_add_number < min
+- || (long) e->X_add_number > max))
++ else if ((e->X_op == O_constant) && ((long long) e->X_add_number < min
++ || (long long) e->X_add_number > max))
+ {
+- as_fatal (_("operand must be absolute in range %ld..%ld, not %ld"),
+- min, max, (long) e->X_add_number);
++ as_fatal (_("operand must be absolute in range %lld..%lld, not %lld"),
++ min, max, (long long) e->X_add_number);
+ }
+
+ if (atp)
+diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h
+index 824afc0..d59ee0a 100644
+--- a/opcodes/microblaze-opc.h
++++ b/opcodes/microblaze-opc.h
+@@ -585,8 +585,8 @@ char pvr_register_prefix[] = "rpvr";
+ #define MIN_IMM6_WIDTH ((int) 0x00000001)
+ #define MAX_IMM6_WIDTH ((int) 0x00000040)
+
+-#define MIN_IMML ((long) 0xffffff8000000000L)
+-#define MAX_IMML ((long) 0x0000007fffffffffL)
++#define MIN_IMML ((long long) 0xffffff8000000000L)
++#define MAX_IMML ((long long) 0x0000007fffffffffL)
+
+ #endif /* MICROBLAZE_OPC */
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0031-fixing-the-_STACK_SIZE-issue-with-the-flto-flag.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0031-fixing-the-_STACK_SIZE-issue-with-the-flto-flag.patch
new file mode 100644
index 000000000..8c54f761e
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/binutils/binutils-2.32/0031-fixing-the-_STACK_SIZE-issue-with-the-flto-flag.patch
@@ -0,0 +1,55 @@
+From e28b33db95e6b71afe2eaca9d7090b3bfc20f08e Mon Sep 17 00:00:00 2001
+From: Nagaraju <nmekala@xilinx.com>
+Date: Wed, 20 Mar 2019 11:42:07 +0530
+Subject: [PATCH] fixing the _STACK_SIZE issue with the flto flag
+
+Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+---
+ ld/scripttempl/elfmicroblaze.sc | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/ld/scripttempl/elfmicroblaze.sc b/ld/scripttempl/elfmicroblaze.sc
+index 30b9c28..6be0f4e 100644
+--- a/ld/scripttempl/elfmicroblaze.sc
++++ b/ld/scripttempl/elfmicroblaze.sc
+@@ -63,9 +63,9 @@ ${RELOCATING+${LIB_SEARCH_DIRS}}
+
+ ${RELOCATING+ENTRY (${ENTRY})}
+
+-${RELOCATING+_TEXT_START_ADDR = DEFINED(_TEXT_START_ADDR) ? _TEXT_START_ADDR : 0x50;
+-_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x0;
+-_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400;}
++${RELOCATING+_DEF_TEXT_START_ADDR = DEFINED(_TEXT_START_ADDR) ? _TEXT_START_ADDR : 0x50;
++_DEF_HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x0;
++_DEF_STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400;}
+
+ SECTIONS
+ {
+@@ -75,7 +75,7 @@ SECTIONS
+ .vectors.debug_sw_break 0x18 : { KEEP (*(.vectors.debug_sw_break)) } = 0
+ .vectors.hw_exception 0x20 : { KEEP (*(.vectors.hw_exception)) } = 0
+
+- ${RELOCATING+. = _TEXT_START_ADDR;}
++ ${RELOCATING+. = _DEF_TEXT_START_ADDR;}
+
+ ${RELOCATING+ _ftext = .;}
+ .text : {
+@@ -207,7 +207,7 @@ SECTIONS
+ .heap : {
+ ${RELOCATING+ _heap = .;}
+ ${RELOCATING+ _heap_start = .;}
+- ${RELOCATING+ . += _HEAP_SIZE;}
++ ${RELOCATING+ . += _DEF_HEAP_SIZE;}
+ ${RELOCATING+ _heap_end = .;}
+ }
+
+@@ -215,7 +215,7 @@ SECTIONS
+
+ .stack : {
+ ${RELOCATING+ _stack_end = .;}
+- ${RELOCATING+ . += _STACK_SIZE;}
++ ${RELOCATING+ . += _DEF_STACK_SIZE;}
+ ${RELOCATING+ . = ALIGN(. != 0 ? 8 : 1);}
+ ${RELOCATING+ _stack = .;}
+ ${RELOCATING+ _end = .;}
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0001-Revert.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0001-Revert.patch
deleted file mode 100644
index 93af6514b..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0001-Revert.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 12cd383fbef719cc1a84cc80ff171073409a8557 Mon Sep 17 00:00:00 2001
-From: eager <eager@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Sat, 27 May 2017 18:29:40 +0000
-Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal
- <ajitkum@xilinx.com>
-
- See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html.
-
- * config/microblaze/microblaze.h
- (FIXED_REGISTERS): Update in macro.
- (CALL_USED_REGISTERS): Update in macro.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248540 138bc75d-0d04-0410-961f-82ee72b054a4
-Upstream-Status: Backport [from post gcc-7]
----
- gcc/config/microblaze/microblaze.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index 66e4ef5c3d..2c9ece1d6c 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -269,14 +269,14 @@ extern enum pipeline_type microblaze_pipe;
- #define FIXED_REGISTERS \
- { \
- 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, \
-- 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-+ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
- 1, 1, 1, 1 \
- }
-
- #define CALL_USED_REGISTERS \
- { \
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
-- 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-+ 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
- 1, 1, 1, 1 \
- }
- #define GP_REG_FIRST 0
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0002-microblaze.md-Improve-adddi3-and-subdi3-insn-definit.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0002-microblaze.md-Improve-adddi3-and-subdi3-insn-definit.patch
deleted file mode 100644
index 03ea8b197..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0002-microblaze.md-Improve-adddi3-and-subdi3-insn-definit.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 2d90c10cf4d95999f68f474305828c7dfc51af18 Mon Sep 17 00:00:00 2001
-From: Nathan Rossi <nathan@nathanrossi.com>
-Date: Thu, 12 Nov 2015 16:09:31 +1000
-Subject: [PATCH] microblaze.md: Improve 'adddi3' and 'subdi3' insn definitions
-
-Change adddi3 to handle DI immediates as the second operand, this
-requires modification to the output template however reduces the need to
-specify seperate templates for 16-bit positive/negative immediate
-operands. The use of 32-bit immediates for the addi and addic
-instructions is handled by the assembler, which will emit the imm
-instructions when required. This conveniently handles the optimizable
-cases where the immediate constant value does not need the higher half
-words of the operands upper/lower words.
-
-Change the constraints of the subdi3 instruction definition such that it
-does not match the second operand as an immediate value. This is because
-there is no definition to handle this case nor is it possible to
-implement purely with instructions as microblaze does not provide an
-instruction to perform a forward arithmetic subtraction (it only
-provides reverse 'rD = IMM - rA').
-
-Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
-Upstream-Status: Unsubmitted
----
- gcc/config/microblaze/microblaze.md | 13 ++++++-------
- 1 file changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index b3a0011fd7..8a372d7ebb 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -483,17 +483,16 @@
- ;; Adding 2 DI operands in register or reg/imm
-
- (define_insn "adddi3"
-- [(set (match_operand:DI 0 "register_operand" "=d,d,d")
-- (plus:DI (match_operand:DI 1 "register_operand" "%d,d,d")
-- (match_operand:DI 2 "arith_operand32" "d,P,N")))]
-+ [(set (match_operand:DI 0 "register_operand" "=d,d")
-+ (plus:DI (match_operand:DI 1 "register_operand" "%d,d")
-+ (match_operand:DI 2 "arith_operand" "d,i")))]
- ""
- "@
- add\t%L0,%L1,%L2\;addc\t%M0,%M1,%M2
-- addi\t%L0,%L1,%2\;addc\t%M0,%M1,r0
-- addi\t%L0,%L1,%2\;addc\t%M0,%M1,r0\;addi\t%M0,%M0,-1"
-+ addi\t%L0,%L1,%j2\;addic\t%M0,%M1,%h2"
- [(set_attr "type" "darith")
- (set_attr "mode" "DI")
-- (set_attr "length" "8,8,12")])
-+ (set_attr "length" "8,8")])
-
- ;;----------------------------------------------------------------
- ;; Subtraction
-@@ -530,7 +529,7 @@
- (define_insn "subdi3"
- [(set (match_operand:DI 0 "register_operand" "=&d")
- (minus:DI (match_operand:DI 1 "register_operand" "d")
-- (match_operand:DI 2 "arith_operand32" "d")))]
-+ (match_operand:DI 2 "register_operand" "d")))]
- ""
- "rsub\t%L0,%L2,%L1\;rsubc\t%M0,%M2,%M1"
- [(set_attr "type" "darith")
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0003-PR-target-83013.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0003-PR-target-83013.patch
deleted file mode 100644
index 42bfd3c14..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0003-PR-target-83013.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From f17cdebf4e0defaefce927176ddeb9717de073d2 Mon Sep 17 00:00:00 2001
-From: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Mon, 15 Jan 2018 06:02:19 +0000
-Subject: [PATCH] PR target/83013
-
- * config/microblaze/microblaze.c (microblaze_asm_output_ident):
- Use .pushsection/.popsection.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256681 138bc75d-0d04-0410-961f-82ee72b054a4
-Upstream-Status: Backport [backport from trunk pre-release v8]
----
- gcc/config/microblaze/microblaze.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index d0f86fd460..a98aca1235 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -3371,7 +3371,9 @@ microblaze_asm_output_ident (const char *string)
- else
- section_asm_op = READONLY_DATA_SECTION_ASM_OP;
-
-- buf = ACONCAT ((section_asm_op, "\n\t.ascii \"", string, "\\0\"\n", NULL));
-+ buf = ACONCAT (("\t.pushsection", section_asm_op,
-+ "\n\t.ascii \"", string, "\\0\"\n",
-+ "\t.popsection\n", NULL));
- symtab->finalize_toplevel_asm (build_string (strlen (buf), buf));
- }
-
---
-2.15.1
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0004-dejagnu-static-testing-on-qemu-suppress-warnings.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0004-dejagnu-static-testing-on-qemu-suppress-warnings.patch
deleted file mode 100644
index c0a427eac..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0004-dejagnu-static-testing-on-qemu-suppress-warnings.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From ab2cb6320138c173b20fee8ce6e8d4afa4696384 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:16 -0700
-Subject: [PATCH] dejagnu static testing on qemu, suppress warnings
-
-For dejagnu static testing on qemu, suppress warnings about multiple
-definitions from the test function and libc in line with method used by
-powerpc. Dynamic linking and using a qemu binary which understands
-sysroot resolves all test failures with builtins
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
-index ba16b09c41..ada149912b 100644
---- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
-+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
-@@ -48,6 +48,10 @@ if { [istarget *-*-eabi*]
- lappend additional_flags "-Wl,--allow-multiple-definition"
- }
-
-+if [istarget "microblaze*-*-linux*"] {
-+ lappend additional_flags "-Wl,-zmuldefs"
-+}
-+
- foreach src [lsort [find $srcdir/$subdir *.c]] {
- if {![string match *-lib.c $src] && [runtest_file_p $runtests $src]} {
- c-torture-execute [list $src \
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0006-Add-MicroBlaze-to-target-supports-for-atomic-builtin.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0006-Add-MicroBlaze-to-target-supports-for-atomic-builtin.patch
deleted file mode 100644
index 6fad8bf75..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0006-Add-MicroBlaze-to-target-supports-for-atomic-builtin.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 8bcdd551f7fe585126ea3173ece976fbc646c34a Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:20 -0700
-Subject: [PATCH] Add MicroBlaze to target-supports for atomic builtin tests
-
-MicroBlaze added to supported targets for atomic builtin tests.
-
-Changelog/testsuite
-
-2014-02-14 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/testsuite/lib/target-supports.exp: Add microblaze to
- check_effective_target_sync_int_long.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/testsuite/lib/target-supports.exp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
-index 342af270ab..b0f510e596 100644
---- a/gcc/testsuite/lib/target-supports.exp
-+++ b/gcc/testsuite/lib/target-supports.exp
-@@ -6715,6 +6715,7 @@ proc check_effective_target_sync_int_long { } {
- && [check_effective_target_arm_acq_rel])
- || [istarget bfin*-*linux*]
- || [istarget hppa*-*linux*]
-+ || [istarget microblaze*-*linux*]
- || [istarget s390*-*-*]
- || [istarget powerpc*-*-*]
- || [istarget crisv32-*-*] || [istarget cris-*-*]
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0007-Update-MicroBlaze-strings-test-for-new-scan-assembly.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0007-Update-MicroBlaze-strings-test-for-new-scan-assembly.patch
deleted file mode 100644
index 069329fcf..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0007-Update-MicroBlaze-strings-test-for-new-scan-assembly.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 4622988b62335af6ef17d58bf10940419fd0f99f Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:21 -0700
-Subject: [PATCH] Update MicroBlaze strings test for new scan-assembly output
- resulting in use of $LC label
-
-ChangeLog/testsuite
-
-2014-02-14 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/testsuite/gcc.target/microblaze/others/strings1.c: Update
- to include $LC label.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/testsuite/gcc.target/microblaze/others/strings1.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/testsuite/gcc.target/microblaze/others/strings1.c b/gcc/testsuite/gcc.target/microblaze/others/strings1.c
-index 7a63faf79f..0403b7bdca 100644
---- a/gcc/testsuite/gcc.target/microblaze/others/strings1.c
-+++ b/gcc/testsuite/gcc.target/microblaze/others/strings1.c
-@@ -1,13 +1,15 @@
- /* { dg-options "-O3" } */
-
-+/* { dg-final { scan-assembler "\.rodata*" } } */
-+/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),\\\$LC.*" } } */
-+/* { dg-final { scan-assembler "\lwi\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),*" } } */
-+
- #include <string.h>
-
--/* { dg-final { scan-assembler "\.rodata*" } } */
- extern void somefunc (char *);
- int testfunc ()
- {
- char string2[80];
--/* { dg-final { scan-assembler "\lwi\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,.LC*" } } */
- strcpy (string2, "hello");
- somefunc (string2);
- }
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0008-Allow-MicroBlaze-.weakext-pattern-in-testsuite.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0008-Allow-MicroBlaze-.weakext-pattern-in-testsuite.patch
deleted file mode 100644
index dbfeb52b9..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0008-Allow-MicroBlaze-.weakext-pattern-in-testsuite.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 037809e91bfed9c501ecd5272ff6d3ce96edf76c Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:22 -0700
-Subject: [PATCH] Allow MicroBlaze .weakext pattern in testsuite
-
-Allow MicroBlaze .weakext pattern in regex match Extend regex pattern to
-include optional ext at the end of .weak to match the MicroBlaze weak
-label .weakext
-
-ChangeLog/testsuite
-
-2014-02-14 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/testsuite/g++.dg/abi/rtti3.C: Extend scan-assembler
- pattern to take optional ext after .weak.
- * gcc/testsuite/g++.dg/abi/thunk4.C: Likewise.
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/testsuite/g++.dg/abi/rtti3.C | 4 ++--
- gcc/testsuite/g++.dg/abi/thunk3.C | 2 +-
- gcc/testsuite/g++.dg/abi/thunk4.C | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gcc/testsuite/g++.dg/abi/rtti3.C b/gcc/testsuite/g++.dg/abi/rtti3.C
-index 0316bcb5de..5a39a0811f 100644
---- a/gcc/testsuite/g++.dg/abi/rtti3.C
-+++ b/gcc/testsuite/g++.dg/abi/rtti3.C
-@@ -3,8 +3,8 @@
-
- // { dg-require-weak "" }
- // { dg-skip-if "Linkonce not weak" { *-*-mingw* *-*-cygwin } { "*" } { "" } }
--// { dg-final { scan-assembler ".weak\[ \t\]_?_ZTSPP1A" { target { ! { *-*-darwin* hppa*-*-hpux* } } } } }
--// { dg-final { scan-assembler-not ".weak\[ \t\]_?_ZTIPP1A" { target { ! { *-*-darwin* } } } } }
-+// { dg-final { scan-assembler ".weak(ext)?\[ \t\]_?_ZTSPP1A" { target { ! { *-*-darwin* } } } } }
-+// { dg-final { scan-assembler-not ".weak(ext)?\[ \t\]_?_ZTIPP1A" { target { ! { *-*-darwin* } } } } }
- // { dg-final { scan-assembler ".weak_definition\[ \t\]_?_ZTSPP1A" { target { *-*-darwin* } } } }
- // { dg-final { scan-assembler-not ".weak_definition\[ \t\]_?_ZTIPP1A" { target { *-*-darwin* } } } }
-
-diff --git a/gcc/testsuite/g++.dg/abi/thunk3.C b/gcc/testsuite/g++.dg/abi/thunk3.C
-index f2347f79ec..dcec8a771a 100644
---- a/gcc/testsuite/g++.dg/abi/thunk3.C
-+++ b/gcc/testsuite/g++.dg/abi/thunk3.C
-@@ -1,5 +1,5 @@
- // { dg-require-weak "" }
--// { dg-final { scan-assembler-not ".weak\[\t \]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
-+// { dg-final { scan-assembler-not ".weak(ext)?\[\t \]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
- // { dg-final { scan-assembler-not ".weak_definition\[\t \]_?_ZThn._N7Derived3FooEv" { target { *-*-darwin* } } } }
-
- struct Base
-diff --git a/gcc/testsuite/g++.dg/abi/thunk4.C b/gcc/testsuite/g++.dg/abi/thunk4.C
-index fa5fbd4327..79cb311cab 100644
---- a/gcc/testsuite/g++.dg/abi/thunk4.C
-+++ b/gcc/testsuite/g++.dg/abi/thunk4.C
-@@ -1,6 +1,6 @@
- // { dg-require-weak "" }
- // { dg-skip-if "Linkonce not weak" { *-*-mingw* *-*-cygwin } { "*" } { "" } }
--// { dg-final { scan-assembler ".weak\[ \t\]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
-+// { dg-final { scan-assembler ".weak(ext)?\[ \t\]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
- // { dg-final { scan-assembler ".weak_definition\[ \t\]_?_ZThn._N7Derived3FooEv" { target { *-*-darwin* } } } }
-
- struct Base
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0009-Add-MicroBlaze-to-check_profiling_available-Testsuit.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0009-Add-MicroBlaze-to-check_profiling_available-Testsuit.patch
deleted file mode 100644
index 6b9dd9913..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0009-Add-MicroBlaze-to-check_profiling_available-Testsuit.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 23a04c06c2a689fed151eeb94c45ea9b512036ae Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:23 -0700
-Subject: [PATCH] Add MicroBlaze to check_profiling_available Testsuite
-
-Add MicroBlaze to check_profiling_available Testsuite, add
-microblaze*-*-* target in check_profiling_available inline with other
-archs setting profiling_available_saved to 0
-
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/testsuite/lib/target-supports.exp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
-index b0f510e596..fffb690e49 100644
---- a/gcc/testsuite/lib/target-supports.exp
-+++ b/gcc/testsuite/lib/target-supports.exp
-@@ -625,6 +625,7 @@ proc check_profiling_available { test_what } {
- || [istarget m68k-*-elf]
- || [istarget m68k-*-uclinux*]
- || [istarget mips*-*-elf*]
-+ || [istarget microblaze*-*-*]
- || [istarget mmix-*-*]
- || [istarget mn10300-*-elf*]
- || [istarget moxie-*-elf*]
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0010-Fix-atomic-side-effects.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0010-Fix-atomic-side-effects.patch
deleted file mode 100644
index c21ca816f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0010-Fix-atomic-side-effects.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From c1e8a1419e8f5d18e7135fb4fe3bf21941125008 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:24 -0700
-Subject: [PATCH] Fix atomic side effects.
-
-In atomic_compare_and_swapsi, add side effects to prevent incorrect
-assumptions during optimization. Previously, the outputs were considered
-unused; this generated assembly code with undefined side effects after
-invocation of the atomic.
-
-Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.md | 3 +++
- gcc/config/microblaze/sync.md | 21 +++++++++++++--------
- 2 files changed, 16 insertions(+), 8 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 8a372d7ebb..59d629b559 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -41,6 +41,9 @@
- (UNSPEC_CMP 104) ;; signed compare
- (UNSPEC_CMPU 105) ;; unsigned compare
- (UNSPEC_TLS 106) ;; jump table
-+ (UNSPECV_CAS_BOOL 201) ;; compare and swap (bool)
-+ (UNSPECV_CAS_VAL 202) ;; compare and swap (val)
-+ (UNSPECV_CAS_MEM 203) ;; compare and swap (mem)
- ])
-
- (define_c_enum "unspec" [
-diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md
-index 8125bd8d63..edf4bdd811 100644
---- a/gcc/config/microblaze/sync.md
-+++ b/gcc/config/microblaze/sync.md
-@@ -18,14 +18,19 @@
- ;; <http://www.gnu.org/licenses/>.
-
- (define_insn "atomic_compare_and_swapsi"
-- [(match_operand:SI 0 "register_operand" "=&d") ;; bool output
-- (match_operand:SI 1 "register_operand" "=&d") ;; val output
-- (match_operand:SI 2 "nonimmediate_operand" "+Q") ;; memory
-- (match_operand:SI 3 "register_operand" "d") ;; expected value
-- (match_operand:SI 4 "register_operand" "d") ;; desired value
-- (match_operand:SI 5 "const_int_operand" "") ;; is_weak
-- (match_operand:SI 6 "const_int_operand" "") ;; mod_s
-- (match_operand:SI 7 "const_int_operand" "") ;; mod_f
-+ [(set (match_operand:SI 0 "register_operand" "=&d") ;; bool output
-+ (unspec_volatile:SI
-+ [(match_operand:SI 2 "nonimmediate_operand" "+Q") ;; memory
-+ (match_operand:SI 3 "register_operand" "d") ;; expected value
-+ (match_operand:SI 4 "register_operand" "d")] ;; desired value
-+ UNSPECV_CAS_BOOL))
-+ (set (match_operand:SI 1 "register_operand" "=&d") ;; val output
-+ (unspec_volatile:SI [(const_int 0)] UNSPECV_CAS_VAL))
-+ (set (match_dup 2)
-+ (unspec_volatile:SI [(const_int 0)] UNSPECV_CAS_MEM))
-+ (match_operand:SI 5 "const_int_operand" "") ;; is_weak
-+ (match_operand:SI 6 "const_int_operand" "") ;; mod_s
-+ (match_operand:SI 7 "const_int_operand" "") ;; mod_f
- (clobber (match_scratch:SI 8 "=&d"))]
- ""
- {
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0011-Fix-atomic-boolean-return-value.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0011-Fix-atomic-boolean-return-value.patch
deleted file mode 100644
index f4bc16e81..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0011-Fix-atomic-boolean-return-value.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From a5957bdf7acfde0a65eeba90bae11f5619bf96af Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:25 -0700
-Subject: [PATCH] Fix atomic boolean return value.
-
-In atomic_compare_and_swapsi, fix boolean return value. Previously, it
-contained zero if successful and non-zero if unsuccessful.
-
-Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/sync.md | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md
-index edf4bdd811..aadb414728 100644
---- a/gcc/config/microblaze/sync.md
-+++ b/gcc/config/microblaze/sync.md
-@@ -34,15 +34,16 @@
- (clobber (match_scratch:SI 8 "=&d"))]
- ""
- {
-- output_asm_insn ("addc \tr0,r0,r0", operands);
-+ output_asm_insn ("add \t%0,r0,r0", operands);
- output_asm_insn ("lwx \t%1,%y2,r0", operands);
- output_asm_insn ("addic\t%8,r0,0", operands);
- output_asm_insn ("bnei \t%8,.-8", operands);
-- output_asm_insn ("cmp \t%0,%1,%3", operands);
-- output_asm_insn ("bnei \t%0,.+16", operands);
-+ output_asm_insn ("cmp \t%8,%1,%3", operands);
-+ output_asm_insn ("bnei \t%8,.+20", operands);
- output_asm_insn ("swx \t%4,%y2,r0", operands);
- output_asm_insn ("addic\t%8,r0,0", operands);
- output_asm_insn ("bnei \t%8,.-28", operands);
-+ output_asm_insn ("addi \t%0,r0,1", operands);
- return "";
- }
- )
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0012-Fix-the-Microblaze-crash-with-msmall-divides-flag.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0012-Fix-the-Microblaze-crash-with-msmall-divides-flag.patch
deleted file mode 100644
index 464f59e3a..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0012-Fix-the-Microblaze-crash-with-msmall-divides-flag.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 1a9dcdb578452ecd53e0aec65fe6279233218778 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:26 -0700
-Subject: [PATCH] Fix the Microblaze crash with msmall-divides flag
-
-Fix the Microblaze crash with msmall-divides flag Compiler is crashing
-when we use msmall-divides and mxl-barrel-shift flag. This is because
-when use above flags microblaze_expand_divide function will be called
-for division operation. In microblaze_expand_divide function we are
-using sub_reg but MicroBlaze doesn't have subreg register due to this
-compiler was crashing. Changed the logic to avoid sub_reg call
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index bba6983b65..15080db539 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -3527,8 +3527,7 @@ microblaze_expand_divide (rtx operands[])
- mem_rtx = gen_rtx_MEM (QImode,
- gen_rtx_PLUS (Pmode, regt1, div_table_rtx));
-
-- insn = emit_insn (gen_movqi (regqi, mem_rtx));
-- insn = emit_insn (gen_movsi (operands[0], gen_rtx_SUBREG (SImode, regqi, 0)));
-+ insn = emit_insn (gen_zero_extendqisi2(operands[0],mem_rtx));
- jump = emit_jump_insn_after (gen_jump (div_end_label), insn);
- JUMP_LABEL (jump) = div_end_label;
- LABEL_NUSES (div_end_label) = 1;
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0013-Add-MicroBlaze-ashrsi_3_with_size_opt.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0013-Add-MicroBlaze-ashrsi_3_with_size_opt.patch
deleted file mode 100644
index 6005e216e..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0013-Add-MicroBlaze-ashrsi_3_with_size_opt.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From c32df2ec3d269d19b631a17cea2b6d19bbb98c27 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:27 -0700
-Subject: [PATCH] Add MicroBlaze ashrsi_3_with_size_opt
-
-Added ashrsi3_with_size_opt Added ashrsi3_with_size_opt pattern to
-optimize the sra instructions when the -Os optimization is used.
-lshrsi3_with_size_opt is being removed as it has conflicts with unsigned
-int variables
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.md | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 59d629b559..8c0a97e032 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -1505,6 +1505,27 @@
- (set_attr "length" "4,4")]
- )
-
-+(define_insn "*ashrsi3_with_size_opt"
-+ [(set (match_operand:SI 0 "register_operand" "=&d")
-+ (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
-+ (match_operand:SI 2 "immediate_operand" "I")))]
-+ "(INTVAL (operands[2]) > 5 && optimize_size)"
-+ {
-+ operands[3] = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
-+
-+ output_asm_insn ("ori\t%3,r0,%2", operands);
-+ if (REGNO (operands[0]) != REGNO (operands[1]))
-+ output_asm_insn ("addk\t%0,%1,r0", operands);
-+
-+ output_asm_insn ("addik\t%3,%3,-1", operands);
-+ output_asm_insn ("bneid\t%3,.-4", operands);
-+ return "sra\t%0,%0";
-+ }
-+ [(set_attr "type" "arith")
-+ (set_attr "mode" "SI")
-+ (set_attr "length" "20")]
-+)
-+
- (define_insn "*ashrsi_inline"
- [(set (match_operand:SI 0 "register_operand" "=&d")
- (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0014-Removed-MicroBlaze-moddi3-routinue.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0014-Removed-MicroBlaze-moddi3-routinue.patch
deleted file mode 100644
index b01957187..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0014-Removed-MicroBlaze-moddi3-routinue.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From a68e94fc57bcf60cb730894e49dde55d081397f5 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:28 -0700
-Subject: [PATCH] Removed MicroBlaze moddi3 routinue
-
-Removed moddi3 routinue Using the default moddi3 function as the
-existing implementation has many bugs
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- libgcc/config/microblaze/moddi3.S | 115 ----------------------------------
- libgcc/config/microblaze/t-microblaze | 3 +-
- 2 files changed, 1 insertion(+), 117 deletions(-)
- delete mode 100644 libgcc/config/microblaze/moddi3.S
-
-diff --git a/libgcc/config/microblaze/moddi3.S b/libgcc/config/microblaze/moddi3.S
-deleted file mode 100644
-index bcea079476..0000000000
---- a/libgcc/config/microblaze/moddi3.S
-+++ /dev/null
-@@ -1,115 +0,0 @@
--###################################
--#
--# Copyright (C) 2009-2017 Free Software Foundation, Inc.
--#
--# Contributed by Michael Eager <eager@eagercon.com>.
--#
--# This file is free software; you can redistribute it and/or modify it
--# under the terms of the GNU General Public License as published by the
--# Free Software Foundation; either version 3, or (at your option) any
--# later version.
--#
--# GCC 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.
--#
--# Under Section 7 of GPL version 3, you are granted additional
--# permissions described in the GCC Runtime Library Exception, version
--# 3.1, as published by the Free Software Foundation.
--#
--# You should have received a copy of the GNU General Public License and
--# a copy of the GCC Runtime Library Exception along with this program;
--# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
--# <http://www.gnu.org/licenses/>.
--#
--# modsi3.S
--#
--# modulo operation for 64 bit integers.
--#
--#######################################
--
--
-- .globl __moddi3
-- .ent __moddi3
--__moddi3:
-- .frame r1,0,r15
--
--#Change the stack pointer value and Save callee saved regs
-- addik r1,r1,-24
-- swi r25,r1,0
-- swi r26,r1,4
-- swi r27,r1,8 # used for sign
-- swi r28,r1,12 # used for loop count
-- swi r29,r1,16 # Used for div value High
-- swi r30,r1,20 # Used for div value Low
--
--#Check for Zero Value in the divisor/dividend
-- OR r9,r5,r6 # Check for the op1 being zero
-- BEQID r9,$LaResult_Is_Zero # Result is zero
-- OR r9,r7,r8 # Check for the dividend being zero
-- BEQI r9,$LaDiv_By_Zero # Div_by_Zero # Division Error
-- BGEId r5,$La1_Pos
-- XOR r27,r5,r7 # Get the sign of the result
-- RSUBI r6,r6,0 # Make dividend positive
-- RSUBIC r5,r5,0 # Make dividend positive
--$La1_Pos:
-- BGEI r7,$La2_Pos
-- RSUBI r8,r8,0 # Make Divisor Positive
-- RSUBIC r9,r9,0 # Make Divisor Positive
--$La2_Pos:
-- ADDIK r4,r0,0 # Clear mod low
-- ADDIK r3,r0,0 # Clear mod high
-- ADDIK r29,r0,0 # clear div high
-- ADDIK r30,r0,0 # clear div low
-- ADDIK r28,r0,64 # Initialize the loop count
-- # First part try to find the first '1' in the r5/r6
--$LaDIV1:
-- ADD r6,r6,r6
-- ADDC r5,r5,r5 # left shift logical r5
-- BGEID r5,$LaDIV1
-- ADDIK r28,r28,-1
--$LaDIV2:
-- ADD r6,r6,r6
-- ADDC r5,r5,r5 # left shift logical r5/r6 get the '1' into the Carry
-- ADDC r4,r4,r4 # Move that bit into the Mod register
-- ADDC r3,r3,r3 # Move carry into high mod register
-- rsub r18,r7,r3 # Compare the High Parts of Mod and Divisor
-- bnei r18,$L_High_EQ
-- rsub r18,r6,r4 # Compare Low Parts only if Mod[h] == Divisor[h]
--$L_High_EQ:
-- rSUB r26,r8,r4 # Subtract divisor[L] from Mod[L]
-- rsubc r25,r7,r3 # Subtract divisor[H] from Mod[H]
-- BLTi r25,$LaMOD_TOO_SMALL
-- OR r3,r0,r25 # move r25 to mod [h]
-- OR r4,r0,r26 # move r26 to mod [l]
-- ADDI r30,r30,1
-- ADDC r29,r29,r0
--$LaMOD_TOO_SMALL:
-- ADDIK r28,r28,-1
-- BEQi r28,$LaLOOP_END
-- ADD r30,r30,r30 # Shift in the '1' into div [low]
-- ADDC r29,r29,r29 # Move the carry generated into high
-- BRI $LaDIV2 # Div2
--$LaLOOP_END:
-- BGEI r27,$LaRETURN_HERE
-- rsubi r30,r30,0
-- rsubc r29,r29,r0
-- BRI $LaRETURN_HERE
--$LaDiv_By_Zero:
--$LaResult_Is_Zero:
-- or r29,r0,r0 # set result to 0 [High]
-- or r30,r0,r0 # set result to 0 [Low]
--$LaRETURN_HERE:
--# Restore values of CSRs and that of r29 and the divisor and the dividend
--
-- lwi r25,r1,0
-- lwi r26,r1,4
-- lwi r27,r1,8
-- lwi r28,r1,12
-- lwi r29,r1,16
-- lwi r30,r1,20
-- rtsd r15,8
-- addik r1,r1,24
-- .end __moddi3
--
-diff --git a/libgcc/config/microblaze/t-microblaze b/libgcc/config/microblaze/t-microblaze
-index 96959f0292..8d954a4957 100644
---- a/libgcc/config/microblaze/t-microblaze
-+++ b/libgcc/config/microblaze/t-microblaze
-@@ -1,8 +1,7 @@
--LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _moddi3 _mulsi3 _udivsi3 _umodsi3
-+LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3
-
- LIB2ADD += \
- $(srcdir)/config/microblaze/divsi3.S \
-- $(srcdir)/config/microblaze/moddi3.S \
- $(srcdir)/config/microblaze/modsi3.S \
- $(srcdir)/config/microblaze/muldi3_hard.S \
- $(srcdir)/config/microblaze/mulsi3.S \
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0015-MicroBlaze-fixed-missing-save-of-r18-in-fast_interru.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0015-MicroBlaze-fixed-missing-save-of-r18-in-fast_interru.patch
deleted file mode 100644
index e75bebebd..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0015-MicroBlaze-fixed-missing-save-of-r18-in-fast_interru.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 79ea36649467aea6045a49c7d016f8f9245efb8c Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:29 -0700
-Subject: [PATCH] MicroBlaze fixed missing save of r18 in fast_interrupt
-
-Fixed missing save of r18 in fast_interrupt. Register 18 is used as a
-clobber register, and must be stored when entering a fast_interrupt.
-Before this fix, register 18 was only saved if it was used directly in
-the interrupt function.
-
-However, if the fast_interrupt function called a function that used
-r18, the register would not be saved, and thus be mangled
-upon returning from the interrupt.
-
-Changelog
-
-2014-02-27 Klaus Petersen <klauspetersen@gmail.com>
-
- * gcc/config/microblaze/microblaze.c: Check for fast_interrupt in
- microblaze_must_save_register.
-
-Signed-off-by: Klaus Petersen <klauspetersen@gmail.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 15080db539..558796cad9 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -1943,7 +1943,7 @@ microblaze_must_save_register (int regno)
- {
- if (df_regs_ever_live_p (regno)
- || regno == MB_ABI_MSR_SAVE_REG
-- || (interrupt_handler
-+ || ((interrupt_handler || fast_interrupt)
- && (regno == MB_ABI_ASM_TEMP_REGNUM
- || regno == MB_ABI_EXCEPTION_RETURN_ADDR_REGNUM)))
- return 1;
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0016-MicroBlaze-use-bralid-for-profiler-calls.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0016-MicroBlaze-use-bralid-for-profiler-calls.patch
deleted file mode 100644
index f5de718ee..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0016-MicroBlaze-use-bralid-for-profiler-calls.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6ed57ee8219e5d09a294b329dd7c531a1868dc8a Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:31 -0700
-Subject: [PATCH] MicroBlaze use bralid for profiler calls
-
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index ccd77e8b4d..0dd8b853e2 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -519,7 +519,7 @@ typedef struct microblaze_args
-
- #define FUNCTION_PROFILER(FILE, LABELNO) { \
- { \
-- fprintf (FILE, "\tbrki\tr16,_mcount\n"); \
-+ fprintf (FILE, "\tbralid\tr15,_mcount\nnop\n"); \
- } \
- }
-
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0017-Disable-fivopts-by-default-Turn-off-ivopts-by-defaul.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0017-Disable-fivopts-by-default-Turn-off-ivopts-by-defaul.patch
deleted file mode 100644
index 4041e11fb..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0017-Disable-fivopts-by-default-Turn-off-ivopts-by-defaul.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 25b161dd222311cca0e6ab46b7f3be444bd4bbe8 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:32 -0700
-Subject: [PATCH] Disable fivopts by default Turn off ivopts by default.
- Interferes with cse.
-
-Changelog
-
-2013-03-18 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
-
- * gcc/common/config/microblaze/microblaze-common.c
- (microblaze_option_optimization_table): Disable fivopts by default.
-
-Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/common/config/microblaze/microblaze-common.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c
-index 4975663305..8ddc4c3cbe 100644
---- a/gcc/common/config/microblaze/microblaze-common.c
-+++ b/gcc/common/config/microblaze/microblaze-common.c
-@@ -27,6 +27,8 @@
- /* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */
- static const struct default_options microblaze_option_optimization_table[] =
- {
-+ /* Turn off ivopts by default. It messes up cse. */
-+ { OPT_LEVELS_ALL, OPT_fivopts, NULL, 0 },
- { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 },
- { OPT_LEVELS_NONE, 0, NULL, 0 }
- };
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0018-Add-INIT_PRIORITY-support-Added-TARGET_ASM_CONSTRUCT.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0018-Add-INIT_PRIORITY-support-Added-TARGET_ASM_CONSTRUCT.patch
deleted file mode 100644
index 5239d2bdc..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0018-Add-INIT_PRIORITY-support-Added-TARGET_ASM_CONSTRUCT.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 02d8afd50a868e827ac8b6b6243c69922cd694ed Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:34 -0700
-Subject: [PATCH] Add INIT_PRIORITY support Added TARGET_ASM_CONSTRUCTOR and
- TARGET_ASM_DESTRUCTOR macros.
-
-These macros allows users to control the order of initialization
-of objects defined at namespace scope with the init_priority
-attribute by specifying a relative priority, a constant integral
-expression currently bounded between 101 and 65535 inclusive.
-
-Lower numbers indicate a higher priority.
-
-Changelog
-
-2013-11-26 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-
- * gcc/config/microblaze/microblaze.c: Add microblaze_asm_constructor,
- microblaze_asm_destructor. Define TARGET_ASM_CONSTRUCTOR and
- TARGET_ASM_DESTRUCTOR.
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.c | 53 ++++++++++++++++++++++++++++++++++++++
- 1 file changed, 53 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 558796cad9..c1b0172bcf 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2530,6 +2530,53 @@ print_operand_address (FILE * file, rtx addr)
- }
- }
-
-+/* Output an element in the table of global constructors. */
-+void
-+microblaze_asm_constructor (rtx symbol ATTRIBUTE_UNUSED, int priority)
-+{
-+ const char *section = ".ctors";
-+ char buf[16];
-+
-+ if (priority != DEFAULT_INIT_PRIORITY)
-+ {
-+ sprintf (buf, ".ctors.%.5u",
-+ /* Invert the numbering so the linker puts us in the proper
-+ order; constructors are run from right to left, and the
-+ linker sorts in increasing order. */
-+ MAX_INIT_PRIORITY - priority);
-+ section = buf;
-+ }
-+
-+ switch_to_section (get_section (section, 0, NULL));
-+ assemble_align (POINTER_SIZE);
-+ fputs ("\t.word\t", asm_out_file);
-+ output_addr_const (asm_out_file, symbol);
-+ fputs ("\n", asm_out_file);
-+}
-+
-+/* Output an element in the table of global destructors. */
-+void
-+microblaze_asm_destructor (rtx symbol, int priority)
-+{
-+ const char *section = ".dtors";
-+ char buf[16];
-+ if (priority != DEFAULT_INIT_PRIORITY)
-+ {
-+ sprintf (buf, ".dtors.%.5u",
-+ /* Invert the numbering so the linker puts us in the proper
-+ order; constructors are run from right to left, and the
-+ linker sorts in increasing order. */
-+ MAX_INIT_PRIORITY - priority);
-+ section = buf;
-+ }
-+
-+ switch_to_section (get_section (section, 0, NULL));
-+ assemble_align (POINTER_SIZE);
-+ fputs ("\t.word\t", asm_out_file);
-+ output_addr_const (asm_out_file, symbol);
-+ fputs ("\n", asm_out_file);
-+}
-+
- /* Emit either a label, .comm, or .lcomm directive, and mark that the symbol
- is used, so that we don't emit an .extern for it in
- microblaze_asm_file_end. */
-@@ -3775,6 +3822,12 @@ microblaze_machine_dependent_reorg (void)
- #undef TARGET_ATTRIBUTE_TABLE
- #define TARGET_ATTRIBUTE_TABLE microblaze_attribute_table
-
-+#undef TARGET_ASM_CONSTRUCTOR
-+#define TARGET_ASM_CONSTRUCTOR microblaze_asm_constructor
-+
-+#undef TARGET_ASM_DESTRUCTOR
-+#define TARGET_ASM_DESTRUCTOR microblaze_asm_destructor
-+
- #undef TARGET_IN_SMALL_DATA_P
- #define TARGET_IN_SMALL_DATA_P microblaze_elf_in_small_data_p
-
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0019-MicroBlaze-add-optimized-lshrsi3-When-barrel-shifter.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0019-MicroBlaze-add-optimized-lshrsi3-When-barrel-shifter.patch
deleted file mode 100644
index 049ce3fe2..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0019-MicroBlaze-add-optimized-lshrsi3-When-barrel-shifter.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 0b2061ac7706df97da3e8b3c01c6a5cfc504c16e Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:35 -0700
-Subject: [PATCH] MicroBlaze add optimized lshrsi3 When barrel shifter is not
- present
-
-Add optimized lshrsi3 When barrel shifter is not present, the immediate
-value is greater than #5 and optimization is -OS, the compiler will
-generate shift operation using loop.
-
-Changelog
-
-2013-11-26 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/config/microblaze/microblaze.md: Add size optimized lshrsi3 insn
-
-ChangeLog/testsuite
-
-2014-02-12 David Holsgrove <david.holsgrove@xilinx.com>
-
- * gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c: New test.
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.md | 21 +++++++++++++++++++++
- .../gcc.target/microblaze/others/lshrsi_Os_1.c | 13 +++++++++++++
- 2 files changed, 34 insertions(+)
- create mode 100644 gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 8c0a97e032..abbe97c15f 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -1615,6 +1615,27 @@
- (set_attr "length" "4,4")]
- )
-
-+(define_insn "*lshrsi3_with_size_opt"
-+ [(set (match_operand:SI 0 "register_operand" "=&d")
-+ (lshiftrt:SI (match_operand:SI 1 "register_operand" "d")
-+ (match_operand:SI 2 "immediate_operand" "I")))]
-+ "(INTVAL (operands[2]) > 5 && optimize_size)"
-+ {
-+ operands[3] = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
-+
-+ output_asm_insn ("ori\t%3,r0,%2", operands);
-+ if (REGNO (operands[0]) != REGNO (operands[1]))
-+ output_asm_insn ("addk\t%0,%1,r0", operands);
-+
-+ output_asm_insn ("addik\t%3,%3,-1", operands);
-+ output_asm_insn ("bneid\t%3,.-4", operands);
-+ return "srl\t%0,%0";
-+ }
-+ [(set_attr "type" "multi")
-+ (set_attr "mode" "SI")
-+ (set_attr "length" "20")]
-+)
-+
- (define_insn "*lshrsi_inline"
- [(set (match_operand:SI 0 "register_operand" "=&d")
- (lshiftrt:SI (match_operand:SI 1 "register_operand" "d")
-diff --git a/gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c b/gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c
-new file mode 100644
-index 0000000000..32a3be7c76
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c
-@@ -0,0 +1,13 @@
-+/* { dg-options "-Os -mno-xl-barrel-shift" } */
-+
-+void testfunc(void)
-+{
-+ unsigned volatile int z = 8192;
-+ z >>= 8;
-+}
-+/* { dg-final { scan-assembler-not "\bsrli" } } */
-+/* { dg-final { scan-assembler "\ori\tr18,r0" } } */
-+/* { dg-final { scan-assembler "addk\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0" } } */
-+/* { dg-final { scan-assembler "addik\tr18,r18,-1" } } */
-+/* { dg-final { scan-assembler "bneid\tr18,.-4" } } */
-+/* { dg-final { scan-assembler "\srl\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])" } } */
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0020-Modified-MicroBlaze-trap-instruction.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0020-Modified-MicroBlaze-trap-instruction.patch
deleted file mode 100644
index 00e79b93f..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0020-Modified-MicroBlaze-trap-instruction.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 1b9bd76840fc1e67770a23c58bf18a24a25eb2b9 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:36 -0700
-Subject: [PATCH] Modified MicroBlaze trap instruction
-
-Modified trap instruction The instruction was wrongly written to brki
-r0,-1 it should be bri r0. Modified with the correct instruction
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.md | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index abbe97c15f..a3954a24b6 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -2343,7 +2343,7 @@
- (define_insn "trap"
- [(trap_if (const_int 1) (const_int 0))]
- ""
-- "brki\tr0,-1"
-+ "bri\t0"
- [(set_attr "type" "trap")]
- )
-
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0021-Reducing-Stack-space-for-arguments-Currently-in-Micr.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0021-Reducing-Stack-space-for-arguments-Currently-in-Micr.patch
deleted file mode 100644
index ead929ab6..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0021-Reducing-Stack-space-for-arguments-Currently-in-Micr.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-From f5416ee7ddc6e4853e57ed15fb2bf630de2c3b12 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:37 -0700
-Subject: [PATCH] Reducing Stack space for arguments Currently in Microblaze
- target stack space
-
-Reducing Stack space for arguments Currently in Microblaze target stack
-space for arguments in register is being allocated even if there are no
-arguments in the function. This patch will optimize the extra 24 bytes
-that are being allocated.
-
-ChangeLog:
-2015-04-17 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-
- * microblaze.c (microblaze_parm_needs_stack, microblaze_function_parms_need_stack): New
- * microblaze.c (REG_PARM_STACK_SPACE): Modify
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze-protos.h | 1 +
- gcc/config/microblaze/microblaze.c | 134 +++++++++++++++++++++++++++++-
- gcc/config/microblaze/microblaze.h | 4 +-
- 3 files changed, 136 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
-index b56e052ae4..a1408629cc 100644
---- a/gcc/config/microblaze/microblaze-protos.h
-+++ b/gcc/config/microblaze/microblaze-protos.h
-@@ -57,6 +57,7 @@ extern int symbol_mentioned_p (rtx);
- extern int label_mentioned_p (rtx);
- extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
- extern void microblaze_eh_return (rtx op0);
-+int microblaze_reg_parm_stack_space(tree fun);
- #endif /* RTX_CODE */
-
- /* Declare functions in microblaze-c.c. */
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index c1b0172bcf..f46dffff0d 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -1965,6 +1965,138 @@ microblaze_must_save_register (int regno)
- return 0;
- }
-
-+static bool
-+microblaze_parm_needs_stack (cumulative_args_t args_so_far, tree type)
-+{
-+ enum machine_mode mode;
-+ int unsignedp;
-+ rtx entry_parm;
-+
-+ /* Catch errors. */
-+ if (type == NULL || type == error_mark_node)
-+ return true;
-+
-+ if (TREE_CODE (type) == POINTER_TYPE)
-+ return true;
-+
-+ /* Handle types with no storage requirement. */
-+ if (TYPE_MODE (type) == VOIDmode)
-+ return false;
-+
-+ /* Handle complex types. */
-+ if (TREE_CODE (type) == COMPLEX_TYPE)
-+ return (microblaze_parm_needs_stack (args_so_far, TREE_TYPE (type))
-+ || microblaze_parm_needs_stack (args_so_far, TREE_TYPE (type)));
-+
-+ /* Handle transparent aggregates. */
-+ if ((TREE_CODE (type) == UNION_TYPE || TREE_CODE (type) == RECORD_TYPE)
-+ && TYPE_TRANSPARENT_AGGR (type))
-+ type = TREE_TYPE (first_field (type));
-+
-+ /* See if this arg was passed by invisible reference. */
-+ if (pass_by_reference (get_cumulative_args (args_so_far),
-+ TYPE_MODE (type), type, true))
-+ type = build_pointer_type (type);
-+
-+ /* Find mode as it is passed by the ABI. */
-+ unsignedp = TYPE_UNSIGNED (type);
-+ mode = promote_mode (type, TYPE_MODE (type), &unsignedp);
-+
-+/* If there is no incoming register, we need a stack. */
-+ entry_parm = microblaze_function_arg (args_so_far, mode, type, true);
-+ if (entry_parm == NULL)
-+ return true;
-+
-+ /* Likewise if we need to pass both in registers and on the stack. */
-+ if (GET_CODE (entry_parm) == PARALLEL
-+ && XEXP (XVECEXP (entry_parm, 0, 0), 0) == NULL_RTX)
-+ return true;
-+
-+ /* Also true if we're partially in registers and partially not. */
-+ if (function_arg_partial_bytes (args_so_far, mode, type, true) != 0)
-+ return true;
-+
-+ /* Update info on where next arg arrives in registers. */
-+ microblaze_function_arg_advance (args_so_far, mode, type, true);
-+ return false;
-+ }
-+
-+static bool
-+microblaze_function_parms_need_stack (tree fun, bool incoming)
-+{
-+ tree fntype, result;
-+ CUMULATIVE_ARGS args_so_far_v;
-+ cumulative_args_t args_so_far;
-+ int num_of_args = 0;
-+
-+ /* Must be a libcall, all of which only use reg parms. */
-+ if (!fun)
-+ return true;
-+
-+ fntype = fun;
-+ if (!TYPE_P (fun))
-+ fntype = TREE_TYPE (fun);
-+
-+ /* Varargs functions need the parameter save area. */
-+ if ((!incoming && !prototype_p (fntype)) || stdarg_p (fntype))
-+ return true;
-+
-+ INIT_CUMULATIVE_ARGS(args_so_far_v, fntype, NULL_RTX,0,0);
-+ args_so_far = pack_cumulative_args (&args_so_far_v);
-+
-+ /* When incoming, we will have been passed the function decl.
-+ * It is necessary to use the decl to handle K&R style functions,
-+ * where TYPE_ARG_TYPES may not be available. */
-+ if (incoming)
-+ {
-+ gcc_assert (DECL_P (fun));
-+ result = DECL_RESULT (fun);
-+ }
-+ else
-+ result = TREE_TYPE (fntype);
-+
-+ if (result && aggregate_value_p (result, fntype))
-+ {
-+ if (!TYPE_P (result))
-+ result = build_pointer_type (result);
-+ microblaze_parm_needs_stack (args_so_far, result);
-+ }
-+
-+ if (incoming)
-+ {
-+ tree parm;
-+ for (parm = DECL_ARGUMENTS (fun);
-+ parm && parm != void_list_node;
-+ parm = TREE_CHAIN (parm))
-+ if (microblaze_parm_needs_stack (args_so_far, TREE_TYPE (parm)))
-+ return true;
-+ }
-+ else
-+ {
-+ function_args_iterator args_iter;
-+ tree arg_type;
-+
-+ FOREACH_FUNCTION_ARGS (fntype, arg_type, args_iter)
-+ {
-+ num_of_args++;
-+ if (microblaze_parm_needs_stack (args_so_far, arg_type))
-+ return true;
-+ }
-+ }
-+
-+ if (num_of_args > 3) return true;
-+
-+ return false;
-+}
-+
-+int microblaze_reg_parm_stack_space(tree fun)
-+{
-+ if (microblaze_function_parms_need_stack (fun,false))
-+ return MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD;
-+ else
-+ return 0;
-+}
-+
- /* Return the bytes needed to compute the frame pointer from the current
- stack pointer.
-
-@@ -3275,7 +3407,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
- emit_insn (gen_indirect_jump (temp2));
-
- /* Run just enough of rest_of_compilation. This sequence was
-- "borrowed" from rs6000.c. */
-+ "borrowed" from microblaze.c. */
- insn = get_insns ();
- shorten_branches (insn);
- final_start_function (insn, file, 1);
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index 0dd8b853e2..82e7e890be 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -467,9 +467,9 @@ extern struct microblaze_frame_info current_frame_info;
-
- #define ARG_POINTER_CFA_OFFSET(FNDECL) 0
-
--#define REG_PARM_STACK_SPACE(FNDECL) (MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD)
-+#define REG_PARM_STACK_SPACE(FNDECL) microblaze_reg_parm_stack_space(FNDECL)
-
--#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1
-+#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1
-
- #define STACK_BOUNDARY 32
-
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0022-Inline-Expansion-of-fsqrt-builtin.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0022-Inline-Expansion-of-fsqrt-builtin.patch
deleted file mode 100644
index 6de170243..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0022-Inline-Expansion-of-fsqrt-builtin.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From cf85f09a0fade1e7827828a3dc9a526c212f3be7 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:39 -0700
-Subject: [PATCH] Inline Expansion of fsqrt builtin
-
-Inline Expansion of fsqrt builtin. The changes are made in the patch for
-the inline expansion of the fsqrt builtin with fqrt instruction. The
-sqrt math function takes double as argument and return double as
-argument. The pattern is selected while expanding the unary op through
-expand_unop which passes DFmode and the DFmode pattern was not there
-returning zero. Thus the sqrt math function is not inlined and expanded.
-The pattern with DFmode argument is added. Also the source and
-destination argument is not same the DF through two different
-consecutive registers with lower 32 bit is the argument passed to sqrt
-and the higher 32 bit is zero. If the source and destinations are
-different the DFmode 64 bits registers is not set properly giving the
-problem in runtime. Such changes are taken care in the implementation of
-the pattern for DFmode for inline expansion of the sqrt.
-
-ChangeLog:
-
-2015-06-16 Ajit Agarwal <ajitkum@xilinx.com>
- Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-
- * config/microblaze/microblaze.md (sqrtdf2): New
- pattern.
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.md | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index a3954a24b6..13f8803428 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -449,6 +449,20 @@
- (set_attr "mode" "SF")
- (set_attr "length" "4")])
-
-+(define_insn "sqrtdf2"
-+ [(set (match_operand:DF 0 "register_operand" "=d")
-+ (sqrt:DF (match_operand:DF 1 "register_operand" "dG")))]
-+ "TARGET_HARD_FLOAT && TARGET_FLOAT_SQRT"
-+ {
-+ if (REGNO (operands[0]) == REGNO (operands[1]))
-+ return "fsqrt\t%0,%1";
-+ else
-+ return "fsqrt\t%0,%1\n\taddk\t%D0,%D1,r0";
-+ }
-+ [(set_attr "type" "fsqrt")
-+ (set_attr "mode" "SF")
-+ (set_attr "length" "4")])
-+
- (define_insn "fix_truncsfsi2"
- [(set (match_operand:SI 0 "register_operand" "=d")
- (fix:SI (match_operand:SF 1 "register_operand" "d")))]
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0023-Update-MicroBlaze-ashlsi3-movsf-patterns.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0023-Update-MicroBlaze-ashlsi3-movsf-patterns.patch
deleted file mode 100644
index d8eb76955..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0023-Update-MicroBlaze-ashlsi3-movsf-patterns.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From f269f552e1abf182dc3749e0f29b1529fc82644a Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:42 -0700
-Subject: [PATCH] Update MicroBlaze ashlsi3 & movsf patterns
-
-This patch removes the use of HOST_WIDE_INT_PRINT_HEX macro in
-print_operand of ashlsi3_with_mul_nodelay,ashlsi3_with_mul_delay and
-movsf_internal patterns beacuse HOST_WIDE_INT_PRINT_HEX is generating
-64-bit value which our instruction doesn't support so using gen_int_mode
-function
-
-ChangeLog:
-
-2016-01-07 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-
- * microblaze.md (ashlsi3_with_mul_nodelay,
- ashlsi3_with_mul_delay,
- movsf_internal):
- Updated the patterns to use gen_int_mode function
- * microblaze.c (print_operand):
- updated the 'F' case to use "unsinged int" instead
- of HOST_WIDE_INT_PRINT_HEX
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.c | 2 +-
- gcc/config/microblaze/microblaze.md | 10 ++++++++--
- 2 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index f46dffff0d..663b20a022 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2507,7 +2507,7 @@ print_operand (FILE * file, rtx op, int letter)
- unsigned long value_long;
- REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (op),
- value_long);
-- fprintf (file, HOST_WIDE_INT_PRINT_HEX, value_long);
-+ fprintf (file, "0x%08x", (unsigned int) value_long);
- }
- else
- {
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 13f8803428..b9c62b6d0f 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -1366,7 +1366,10 @@
- (match_operand:SI 2 "immediate_operand" "I")))]
- "!TARGET_SOFT_MUL
- && ((1 << INTVAL (operands[2])) <= 32767 && (1 << INTVAL (operands[2])) >= -32768)"
-- "muli\t%0,%1,%m2"
-+ {
-+ operands[2] = gen_int_mode (1 << INTVAL (operands[2]), SImode);
-+ return "muli\t%0,%1,%2";
-+ }
- ;; This MUL will not generate an imm. Can go into a delay slot.
- [(set_attr "type" "arith")
- (set_attr "mode" "SI")
-@@ -1378,7 +1381,10 @@
- (ashift:SI (match_operand:SI 1 "register_operand" "d")
- (match_operand:SI 2 "immediate_operand" "I")))]
- "!TARGET_SOFT_MUL"
-- "muli\t%0,%1,%m2"
-+ {
-+ operands[2] = gen_int_mode (1 << INTVAL (operands[2]), SImode);
-+ return "muli\t%0,%1,%2";
-+ }
- ;; This MUL will generate an IMM. Cannot go into a delay slot
- [(set_attr "type" "no_delay_arith")
- (set_attr "mode" "SI")
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0024-8-stage-pipeline-for-microblaze.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0024-8-stage-pipeline-for-microblaze.patch
deleted file mode 100644
index 6faa62512..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0024-8-stage-pipeline-for-microblaze.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-From 17353cc4ba521f5ad928a1ede61cf03110e366ae Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:43 -0700
-Subject: [PATCH] 8-stage pipeline for microblaze
-
-This patch adds the support for the 8-stage pipeline. The new 8-stage
-pipeline reduces the latencies of float & integer division drastically
-
-ChangeLog:
-
-2016-01-18 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-
- * microblaze.md (define_automaton mbpipe_8): New
- * microblaze.c (microblaze_option_override): Update
- Updated the logic to generate only when MB version is 10.0
- * microblaze.h (pipeline_type): Update
- Update the enum with MICROBLAZE_PIPE_8
- * microblaze.opt (mxl-frequency): New
- New flag added for 8-stage pipeline
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.c | 13 ++++++
- gcc/config/microblaze/microblaze.h | 3 +-
- gcc/config/microblaze/microblaze.md | 79 +++++++++++++++++++++++++++++++++++-
- gcc/config/microblaze/microblaze.opt | 4 ++
- 4 files changed, 96 insertions(+), 3 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 663b20a022..e7697bf30d 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -1773,6 +1773,19 @@ microblaze_option_override (void)
- warning (0, "-mxl-reorder requires -mxl-pattern-compare for -mcpu=v8.30.a");
- TARGET_REORDER = 0;
- }
-+ ver = ver_int - microblaze_version_to_int("v10.0");
-+ if (ver < 0)
-+ {
-+ if (TARGET_AREA_OPTIMIZED_2)
-+ warning (0, "-mxl-frequency can be used only with -mcpu=v10.0 or greater");
-+ }
-+ else
-+ {
-+ if (TARGET_AREA_OPTIMIZED_2)
-+ microblaze_pipe = MICROBLAZE_PIPE_8;
-+ if (TARGET_BARREL_SHIFT)
-+ microblaze_has_bitfield = 1;
-+ }
-
- if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL)
- error ("-mxl-multiply-high requires -mno-xl-soft-mul");
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index 82e7e890be..3f48e48f10 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -27,7 +27,8 @@
- enum pipeline_type
- {
- MICROBLAZE_PIPE_3 = 0,
-- MICROBLAZE_PIPE_5 = 1
-+ MICROBLAZE_PIPE_5 = 1,
-+ MICROBLAZE_PIPE_8 = 2
- };
-
- #define MICROBLAZE_MASK_NO_UNSAFE_DELAY 0x00000001
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index b9c62b6d0f..61d6412dac 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -35,6 +35,7 @@
- (R_GOT 20) ;; GOT ptr reg
- (MB_PIPE_3 0) ;; Microblaze 3-stage pipeline
- (MB_PIPE_5 1) ;; Microblaze 5-stage pipeline
-+ (MB_PIPE_8 2) ;; Microblaze 8-stage pipeline
- (UNSPEC_SET_GOT 101) ;;
- (UNSPEC_GOTOFF 102) ;; GOT offset
- (UNSPEC_PLT 103) ;; jump table
-@@ -80,7 +81,7 @@
- ;; bshift Shift operations
-
- (define_attr "type"
-- "unknown,branch,jump,call,load,store,move,arith,darith,imul,idiv,icmp,multi,nop,no_delay_arith,no_delay_load,no_delay_store,no_delay_imul,no_delay_move,bshift,fadd,frsub,fmul,fdiv,fcmp,fsl,fsqrt,fcvt,trap"
-+ "unknown,branch,jump,call,load,store,move,arith,darith,imul,idiv,icmp,multi,nop,no_delay_arith,no_delay_load,no_delay_store,no_delay_imul,no_delay_move,bshift,fadd,frsub,fmul,fdiv,fcmp,fsl,fsqrt,fcvt,fint,trap"
- (const_string "unknown"))
-
- ;; Main data type used by the insn
-@@ -222,6 +223,80 @@
- ;;-----------------------------------------------------------------
-
-
-+
-+;;----------------------------------------------------------------
-+;; Microblaze 8-stage pipeline description (v10.0 and later)
-+;;----------------------------------------------------------------
-+
-+(define_automaton "mbpipe_8")
-+(define_cpu_unit "mb8_issue,mb8_iu,mb8_wb,mb8_fpu,mb8_fpu_2,mb8_mul,mb8_mul_2,mb8_div,mb8_div_2,mb8_bs,mb8_bs_2" "mbpipe_8")
-+
-+(define_insn_reservation "mb8-integer" 1
-+ (and (eq_attr "type" "branch,jump,call,arith,darith,icmp,nop,no_delay_arith")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_iu,mb8_wb")
-+
-+(define_insn_reservation "mb8-special-move" 2
-+ (and (eq_attr "type" "move")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_iu*2,mb8_wb")
-+
-+(define_insn_reservation "mb8-mem-load" 3
-+ (and (eq_attr "type" "load,no_delay_load")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_iu,mb8_wb")
-+
-+(define_insn_reservation "mb8-mem-store" 1
-+ (and (eq_attr "type" "store,no_delay_store")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_iu,mb8_wb")
-+
-+(define_insn_reservation "mb8-mul" 3
-+ (and (eq_attr "type" "imul,no_delay_imul")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_mul,mb8_mul_2*2,mb8_wb")
-+
-+(define_insn_reservation "mb8-div" 30
-+ (and (eq_attr "type" "idiv")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_div,mb8_div_2*29,mb8_wb")
-+
-+(define_insn_reservation "mb8-bs" 2
-+ (and (eq_attr "type" "bshift")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_bs,mb8_bs_2,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-add-sub-mul" 1
-+ (and (eq_attr "type" "fadd,frsub,fmul")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-fcmp" 3
-+ (and (eq_attr "type" "fcmp")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_fpu*2,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-div" 24
-+ (and (eq_attr "type" "fdiv")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_fpu_2*23,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-sqrt" 23
-+ (and (eq_attr "type" "fsqrt")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_fpu_2*22,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-fcvt" 1
-+ (and (eq_attr "type" "fcvt")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_wb")
-+
-+(define_insn_reservation "mb8-fpu-fint" 2
-+ (and (eq_attr "type" "fint")
-+ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
-+ "mb8_issue,mb8_fpu,mb8_wb")
-+
-+
- ;;----------------------------------------------------------------
- ;; Microblaze 5-stage pipeline description (v5.00.a and later)
- ;;----------------------------------------------------------------
-@@ -468,7 +543,7 @@
- (fix:SI (match_operand:SF 1 "register_operand" "d")))]
- "TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
- "fint\t%0,%1"
-- [(set_attr "type" "fcvt")
-+ [(set_attr "type" "fint")
- (set_attr "mode" "SF")
- (set_attr "length" "4")])
-
-diff --git a/gcc/config/microblaze/microblaze.opt b/gcc/config/microblaze/microblaze.opt
-index 8847c3daf8..85a9929d74 100644
---- a/gcc/config/microblaze/microblaze.opt
-+++ b/gcc/config/microblaze/microblaze.opt
-@@ -129,3 +129,7 @@ Use hardware prefetch instruction
-
- mxl-mode-xilkernel
- Target
-+
-+mxl-frequency
-+Target Mask(AREA_OPTIMIZED_2)
-+Use 8 stage pipeline (frequency optimization)
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0025-MicroBlaze-correct-the-const-high-double-immediate-v.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0025-MicroBlaze-correct-the-const-high-double-immediate-v.patch
deleted file mode 100644
index ff8e61075..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0025-MicroBlaze-correct-the-const-high-double-immediate-v.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From fabd23a354496701b4a9ebf6931485b0d61c7bbe Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:45 -0700
-Subject: [PATCH] MicroBlaze correct the const high double immediate value
-
-With this patch the loading of the DI mode immediate values will be
-using REAL_VALUE_FROM_CONST_DOUBLE and REAL_VALUE_TO_TARGET_DOUBLE
-functions, as CONST_DOUBLE_HIGH was returning the sign extension value
-even of the unsigned long long constants also
-
-ChangeLog:
-
-2016-02-03 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-
- * microblaze.c (print_operand): Use REAL_VALUE_FROM_CONST_DOUBLE &
- REAL_VALUE_TO_TARGET_DOUBLE
- * long.c (new): Added new testcase
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.c | 6 ++++--
- gcc/testsuite/gcc.target/microblaze/long.c | 10 ++++++++++
- 2 files changed, 14 insertions(+), 2 deletions(-)
- create mode 100644 gcc/testsuite/gcc.target/microblaze/long.c
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index e7697bf30d..96bf6e1cab 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2493,14 +2493,16 @@ print_operand (FILE * file, rtx op, int letter)
- else if (letter == 'h' || letter == 'j')
- {
- long val[2];
-+ long l[2];
- if (code == CONST_DOUBLE)
- {
- if (GET_MODE (op) == DFmode)
- REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val);
- else
- {
-- val[0] = CONST_DOUBLE_HIGH (op);
-- val[1] = CONST_DOUBLE_LOW (op);
-+ REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), l);
-+ val[1] = l[WORDS_BIG_ENDIAN == 0];
-+ val[0] = l[WORDS_BIG_ENDIAN != 0];
- }
- }
- else if (code == CONST_INT)
-diff --git a/gcc/testsuite/gcc.target/microblaze/long.c b/gcc/testsuite/gcc.target/microblaze/long.c
-new file mode 100644
-index 0000000000..4d4518619d
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/microblaze/long.c
-@@ -0,0 +1,10 @@
-+/* { dg-options "-O0" } */
-+#define BASEADDR 0xF0000000ULL
-+int main ()
-+{
-+ unsigned long long start;
-+ start = (unsigned long long) BASEADDR;
-+ return 0;
-+}
-+/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,0x00000000" } } */
-+/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,0xf0000000" } } */
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0026-Fix-internal-compiler-error-with-msmall-divides.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0026-Fix-internal-compiler-error-with-msmall-divides.patch
deleted file mode 100644
index 7ea28ee80..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0026-Fix-internal-compiler-error-with-msmall-divides.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 2149d85f1f7375dd97bf961b2bdb693d6d931c13 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:46 -0700
-Subject: [PATCH] Fix internal compiler error with msmall-divides
-
-This patch will fix the internal error microblaze_expand_divide function
-which comes because of rtx PLUS where the mem_rtx is of type SI and the
-operand is of type QImode. This patch modifies the mem_rtx as QImode and
-Plus as QImode to fix the error.
-
-ChangeLog:
-
-2016-02-23 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-
- * microblaze.c (microblaze_expand_divide): Update
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 96bf6e1cab..a41121264e 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -3719,7 +3719,7 @@ microblaze_expand_divide (rtx operands[])
- emit_insn (gen_ashlsi3_bshift (regt1, operands[1], GEN_INT(4)));
- emit_insn (gen_addsi3 (regt1, regt1, operands[2]));
- mem_rtx = gen_rtx_MEM (QImode,
-- gen_rtx_PLUS (Pmode, regt1, div_table_rtx));
-+ gen_rtx_PLUS (QImode, regt1, div_table_rtx));
-
- insn = emit_insn (gen_zero_extendqisi2(operands[0],mem_rtx));
- jump = emit_jump_insn_after (gen_jump (div_end_label), insn);
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0027-Fix-the-calculation-of-high-word-in-a-long-long-64-b.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0027-Fix-the-calculation-of-high-word-in-a-long-long-64-b.patch
deleted file mode 100644
index 97422aeaf..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0027-Fix-the-calculation-of-high-word-in-a-long-long-64-b.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 34049c9fcaa256befad032cbcd8aa74beecf13dc Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:47 -0700
-Subject: [PATCH] Fix the calculation of high word in a long long 64-bit
-
-This patch will change the calculation of high word in a long long 64-bit.
-Earlier to this patch the high word of long long word (0xF0000000ULL) is
-coming to be 0xFFFFFFFF and low word is 0xF0000000. Instead the high word
-should be 0x00000000 and the low word should be 0xF0000000. This patch
-removes the condition of checking high word = 0 & low word < 0.
-This check is not required for the correctness of calculating 32-bit high
-and low words in a 64-bit long long.
-
-ChangeLog:
-
-2016-03-01 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
- Ajit Agarwal <ajitkum@xilinx.com>
-
- * config/microblaze/microblaze.c (print_operand): Remove the
- condition of checking high word = 0 & low word < 0.
- * testsuite/gcc.target/microblaze/others/long.c: Add -O0 option.
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index a41121264e..2ed64971fb 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -2509,9 +2509,6 @@ print_operand (FILE * file, rtx op, int letter)
- {
- val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
- val[1] = INTVAL (op) & 0x00000000ffffffffLL;
-- if (val[0] == 0 && val[1] < 0)
-- val[0] = -1;
--
- }
- fprintf (file, "0x%8.8lx", (letter == 'h') ? val[0] : val[1]);
- }
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0028-Add-new-bit-field-instructions.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0028-Add-new-bit-field-instructions.patch
deleted file mode 100644
index 02940e2fb..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0028-Add-new-bit-field-instructions.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 90b6f833bd59f89d4192a3dc787fc2c9115b9c00 Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:48 -0700
-Subject: [PATCH] Add new bit-field instructions
-
-This patches adds new bsefi and bsifi instructions. BSEFI- The
-instruction shall extract a bit field from a register and place it
-right-adjusted in the destination register. The other bits in the
-destination register shall be set to zero BSIFI- The instruction shall
-insert a right-adjusted bit field from a register at another position in
-the destination register. The rest of the bits in the destination
-register shall be unchanged
-
-ChangeLog:
-
-2016-02-03 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-
- * microblaze.md (Update): Added new patterns
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.md | 73 +++++++++++++++++++++++++++++++++++++
- 1 file changed, 73 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 61d6412dac..7a00629922 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -980,6 +980,8 @@
- (set_attr "mode" "DI")
- (set_attr "length" "20,20,20")])
-
-+
-+
- ;;----------------------------------------------------------------
- ;; Data movement
- ;;----------------------------------------------------------------
-@@ -1774,6 +1776,7 @@
- (set_attr "length" "28")]
- )
-
-+
- ;;----------------------------------------------------------------
- ;; Setting a register from an integer comparison.
- ;;----------------------------------------------------------------
-@@ -2473,4 +2476,74 @@
- DONE;
- }")
-
-+(define_expand "extvsi"
-+ [(set (match_operand:SI 0 "register_operand" "r")
-+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
-+ (match_operand:SI 2 "immediate_operand" "I")
-+ (match_operand:SI 3 "immediate_operand" "I")))]
-+"TARGET_HAS_BITFIELD"
-+"
-+{
-+ unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
-+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
-+
-+ if ((len == 0) || (pos + len > 32) )
-+ FAIL;
-+
-+ ;;if (!register_operand (operands[1], VOIDmode))
-+ ;; FAIL;
-+ if (operands[0] == operands[1])
-+ FAIL;
-+ if (GET_CODE (operands[1]) == ASHIFT)
-+ FAIL;
-+;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
-+ emit_insn (gen_extv_32 (operands[0], operands[1],
-+ operands[2], operands[3]));
-+ DONE;
-+}")
-+
-+(define_insn "extv_32"
-+ [(set (match_operand:SI 0 "register_operand" "=r")
-+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
-+ (match_operand:SI 2 "immediate_operand" "I")
-+ (match_operand:SI 3 "immediate_operand" "I")))]
-+ "TARGET_HAS_BITFIELD && (UINTVAL (operands[2]) > 0)
-+ && ((UINTVAL (operands[2]) + UINTVAL (operands[3])) <= 32)"
-+ "bsefi %0,%1,%2,%3"
-+ [(set_attr "type" "bshift")
-+ (set_attr "length" "4")])
-+
-+(define_expand "insvsi"
-+ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
-+ (match_operand:SI 1 "immediate_operand" "I")
-+ (match_operand:SI 2 "immediate_operand" "I"))
-+ (match_operand:SI 3 "register_operand" "r"))]
-+ "TARGET_HAS_BITFIELD"
-+ "
-+{
-+ unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
-+ unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
-+
-+ if (len <= 0 || pos + len > 32)
-+ FAIL;
-+
-+ ;;if (!register_operand (operands[0], VOIDmode))
-+ ;; FAIL;
-+
-+ emit_insn (gen_insv_32 (operands[0], operands[1],
-+ operands[2], operands[3]));
-+ DONE;
-+}")
-+
-+(define_insn "insv_32"
-+ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
-+ (match_operand:SI 1 "immediate_operand" "I")
-+ (match_operand:SI 2 "immediate_operand" "I"))
-+ (match_operand:SI 3 "register_operand" "r"))]
-+ "TARGET_HAS_BITFIELD && UINTVAL (operands[1]) > 0
-+ && UINTVAL (operands[1]) + UINTVAL (operands[2]) <= 32"
-+ "bsifi %0, %3, %1, %2"
-+ [(set_attr "type" "bshift")
-+ (set_attr "length" "4")])
-+
- (include "sync.md")
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0029-Fix-bug-in-MB-version-calculation.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0029-Fix-bug-in-MB-version-calculation.patch
deleted file mode 100644
index c3e4bc9ea..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0029-Fix-bug-in-MB-version-calculation.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From 3eada9d81437d378ef24f11a8bd046fee5b3505a Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:49 -0700
-Subject: [PATCH] Fix bug in MB version calculation
-
-This patch fixes the bug in microblaze_version_to_int function. Earlier
-the conversion of vXX.YY.Z to int has a bug which is fixed now.
-
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.c | 147 ++++++++++++++++++-------------------
- 1 file changed, 70 insertions(+), 77 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 2ed64971fb..55dba83882 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -239,6 +239,63 @@ section *sdata2_section;
- #define TARGET_HAVE_TLS true
- #endif
-
-+/* Convert a version number of the form "vX.YY.Z" to an integer encoding
-+ for easier range comparison. */
-+static int
-+microblaze_version_to_int (const char *version)
-+{
-+ const char *p, *v;
-+ const char *tmpl = "vXX.YY.Z";
-+ int iver1 =0, iver2 =0, iver3 =0;
-+
-+ p = version;
-+ v = tmpl;
-+
-+ while (*p)
-+ {
-+ if (*v == 'X')
-+ { /* Looking for major */
-+ if (*p == '.')
-+ {
-+ *v++;
-+ }
-+ else
-+ {
-+ if (!(*p >= '0' && *p <= '9'))
-+ return -1;
-+ iver1 += (int) (*p - '0');
-+ iver1 *= 1000;
-+ }
-+ }
-+ else if (*v == 'Y')
-+ { /* Looking for minor */
-+ if (!(*p >= '0' && *p <= '9'))
-+ return -1;
-+ iver2 += (int) (*p - '0');
-+ iver2 *= 10;
-+ }
-+ else if (*v == 'Z')
-+ { /* Looking for compat */
-+ if (!(*p >= 'a' && *p <= 'z'))
-+ return -1;
-+ iver3 = ((int) (*p)) - 96;
-+ }
-+ else
-+ {
-+ if (*p != *v)
-+ return -1;
-+ }
-+
-+ v++;
-+ p++;
-+ }
-+
-+ if (*p)
-+ return -1;
-+
-+ return iver1 + iver2 + iver3;
-+}
-+
- /* Return truth value if a CONST_DOUBLE is ok to be a legitimate constant. */
- static bool
- microblaze_const_double_ok (rtx op, machine_mode mode)
-@@ -1267,8 +1324,7 @@ microblaze_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED,
- {
- if (TARGET_BARREL_SHIFT)
- {
-- if (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v5.00.a")
-- >= 0)
-+ if (microblaze_version_to_int(microblaze_select_cpu) >= microblaze_version_to_int("v5.00.a"))
- *total = COSTS_N_INSNS (1);
- else
- *total = COSTS_N_INSNS (2);
-@@ -1329,8 +1385,7 @@ microblaze_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED,
- }
- else if (!TARGET_SOFT_MUL)
- {
-- if (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v5.00.a")
-- >= 0)
-+ if (microblaze_version_to_int(microblaze_select_cpu) >= microblaze_version_to_int("v5.00.a"))
- *total = COSTS_N_INSNS (1);
- else
- *total = COSTS_N_INSNS (3);
-@@ -1610,72 +1665,13 @@ function_arg_partial_bytes (cumulative_args_t cum_v, machine_mode mode,
- return 0;
- }
-
--/* Convert a version number of the form "vX.YY.Z" to an integer encoding
-- for easier range comparison. */
--static int
--microblaze_version_to_int (const char *version)
--{
-- const char *p, *v;
-- const char *tmpl = "vXX.YY.Z";
-- int iver = 0;
--
-- p = version;
-- v = tmpl;
--
-- while (*p)
-- {
-- if (*v == 'X')
-- { /* Looking for major */
-- if (*p == '.')
-- {
-- v++;
-- }
-- else
-- {
-- if (!(*p >= '0' && *p <= '9'))
-- return -1;
-- iver += (int) (*p - '0');
-- iver *= 10;
-- }
-- }
-- else if (*v == 'Y')
-- { /* Looking for minor */
-- if (!(*p >= '0' && *p <= '9'))
-- return -1;
-- iver += (int) (*p - '0');
-- iver *= 10;
-- }
-- else if (*v == 'Z')
-- { /* Looking for compat */
-- if (!(*p >= 'a' && *p <= 'z'))
-- return -1;
-- iver *= 10;
-- iver += (int) (*p - 'a');
-- }
-- else
-- {
-- if (*p != *v)
-- return -1;
-- }
--
-- v++;
-- p++;
-- }
--
-- if (*p)
-- return -1;
--
-- return iver;
--}
--
--
- static void
- microblaze_option_override (void)
- {
- register int i, start;
- register int regno;
- register machine_mode mode;
-- int ver;
-+ int ver,ver_int;
-
- microblaze_section_threshold = (global_options_set.x_g_switch_value
- ? g_switch_value
-@@ -1696,13 +1692,13 @@ microblaze_option_override (void)
- /* Check the MicroBlaze CPU version for any special action to be done. */
- if (microblaze_select_cpu == NULL)
- microblaze_select_cpu = MICROBLAZE_DEFAULT_CPU;
-- ver = microblaze_version_to_int (microblaze_select_cpu);
-- if (ver == -1)
-+ ver_int = microblaze_version_to_int (microblaze_select_cpu);
-+ if (ver_int == -1)
- {
- error ("%qs is an invalid argument to -mcpu=", microblaze_select_cpu);
- }
-
-- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v3.00.a");
-+ ver = ver_int - microblaze_version_to_int("v3.00.a");
- if (ver < 0)
- {
- /* No hardware exceptions in earlier versions. So no worries. */
-@@ -1713,8 +1709,7 @@ microblaze_option_override (void)
- microblaze_pipe = MICROBLAZE_PIPE_3;
- }
- else if (ver == 0
-- || (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v4.00.b")
-- == 0))
-+ || (ver_int == microblaze_version_to_int("v4.00.b")))
- {
- #if 0
- microblaze_select_flags |= (MICROBLAZE_MASK_NO_UNSAFE_DELAY);
-@@ -1731,11 +1726,9 @@ microblaze_option_override (void)
- #endif
- microblaze_no_unsafe_delay = 0;
- microblaze_pipe = MICROBLAZE_PIPE_5;
-- if (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v5.00.a") == 0
-- || MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu,
-- "v5.00.b") == 0
-- || MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu,
-- "v5.00.c") == 0)
-+ if ((ver_int == microblaze_version_to_int("v5.00.a"))
-+ || (ver_int == microblaze_version_to_int("v5.00.b"))
-+ || (ver_int == microblaze_version_to_int("v5.00.c")))
- {
- /* Pattern compares are to be turned on by default only when
- compiling for MB v5.00.'z'. */
-@@ -1743,7 +1736,7 @@ microblaze_option_override (void)
- }
- }
-
-- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v6.00.a");
-+ ver = ver_int - microblaze_version_to_int("v6.00.a");
- if (ver < 0)
- {
- if (TARGET_MULTIPLY_HIGH)
-@@ -1751,7 +1744,7 @@ microblaze_option_override (void)
- "-mxl-multiply-high can be used only with -mcpu=v6.00.a or greater");
- }
-
-- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v8.10.a");
-+ ver = ver_int - microblaze_version_to_int("v8.10.a");
- microblaze_has_clz = 1;
- if (ver < 0)
- {
-@@ -1760,7 +1753,7 @@ microblaze_option_override (void)
- }
-
- /* TARGET_REORDER defaults to 2 if -mxl-reorder not specified. */
-- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v8.30.a");
-+ ver = ver_int - microblaze_version_to_int("v8.30.a");
- if (ver < 0)
- {
- if (TARGET_REORDER == 1)
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0030-MicroBlaze-fixing-the-bug-in-the-bit-field-instructi.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0030-MicroBlaze-fixing-the-bug-in-the-bit-field-instructi.patch
deleted file mode 100644
index 1d877be68..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0030-MicroBlaze-fixing-the-bug-in-the-bit-field-instructi.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 0c740ddd203433ef8d979348c085269f8b97cbfc Mon Sep 17 00:00:00 2001
-From: Mahesh Bodapati <mbodapat@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:50 -0700
-Subject: [PATCH] MicroBlaze fixing the bug in the bit-field instruction.
-
-Bit field instruction should be generated only if mcpu >10.0
-
-Signed-off-by: Mahesh Bodapati <mbodapat@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.c | 3 +++
- gcc/config/microblaze/microblaze.h | 2 ++
- 2 files changed, 5 insertions(+)
-
-diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
-index 55dba83882..4f6d399bba 100644
---- a/gcc/config/microblaze/microblaze.c
-+++ b/gcc/config/microblaze/microblaze.c
-@@ -159,6 +159,9 @@ int microblaze_no_unsafe_delay;
- /* Set to one if the targeted core has the CLZ insn. */
- int microblaze_has_clz = 0;
-
-+/* Set to one if the targeted core has barrel-shift and cpu > 10.0 */
-+int microblaze_has_bitfield = 0;
-+
- /* Which CPU pipeline do we use. We haven't really standardized on a CPU
- version having only a particular type of pipeline. There can still be
- options on the CPU to scale pipeline features up or down. :(
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index 3f48e48f10..712525f856 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -44,6 +44,7 @@ extern int microblaze_dbx_regno[];
-
- extern int microblaze_no_unsafe_delay;
- extern int microblaze_has_clz;
-+extern int microblaze_has_bitfield;
- extern enum pipeline_type microblaze_pipe;
-
- #define OBJECT_FORMAT_ELF
-@@ -62,6 +63,7 @@ extern enum pipeline_type microblaze_pipe;
-
- /* Do we have CLZ? */
- #define TARGET_HAS_CLZ (TARGET_PATTERN_COMPARE && microblaze_has_clz)
-+#define TARGET_HAS_BITFIELD (TARGET_BARREL_SHIFT && microblaze_has_bitfield)
-
- /* The default is to support PIC. */
- #define TARGET_SUPPORTS_PIC 1
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0031-Fixing-the-issue-with-MicroBlaze-builtin_alloc.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0031-Fixing-the-issue-with-MicroBlaze-builtin_alloc.patch
deleted file mode 100644
index 3786a71a0..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0031-Fixing-the-issue-with-MicroBlaze-builtin_alloc.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From fdb99f97b41f7cd06b81e668b88463d0fc2cbe87 Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:54 -0700
-Subject: [PATCH] Fixing the issue with MicroBlaze builtin_alloc
-
-Fixing the issue with the builtin_alloc. Register r18 was not properly
-handling the stack pattern which was resolved by using free available
-register
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.md | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 7a00629922..68c3b22bd4 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -2076,10 +2076,10 @@
- ""
- {
- rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx);
-- rtx rtmp = gen_rtx_REG (SImode, R_TMP);
-+ rtx reg = gen_reg_rtx (Pmode);
- rtx neg_op0;
-
-- emit_move_insn (rtmp, retaddr);
-+ emit_move_insn (reg, retaddr);
- if (GET_CODE (operands[1]) != CONST_INT)
- {
- neg_op0 = gen_reg_rtx (Pmode);
-@@ -2088,9 +2088,9 @@
- neg_op0 = GEN_INT (- INTVAL (operands[1]));
-
- emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0));
-- emit_move_insn (gen_rtx_MEM (Pmode, stack_pointer_rtx), rtmp);
-+ emit_move_insn (gen_rtx_MEM (Pmode, stack_pointer_rtx), reg);
- emit_move_insn (operands[0], virtual_stack_dynamic_rtx);
-- emit_insn (gen_rtx_CLOBBER (SImode, rtmp));
-+ emit_insn (gen_rtx_CLOBBER (SImode, reg));
- DONE;
- }
- )
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0032-MicroBlaze-remove-bitfield-instructions-macros.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0032-MicroBlaze-remove-bitfield-instructions-macros.patch
deleted file mode 100644
index 29bc752ea..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0032-MicroBlaze-remove-bitfield-instructions-macros.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 646fe1dbaca06f2fe2df4c0da3fa20e0aff0a4ec Mon Sep 17 00:00:00 2001
-From: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Date: Sat, 26 Aug 2017 19:21:56 -0700
-Subject: [PATCH] MicroBlaze remove bitfield instructions macros
-
-Remove the conditions in the bit field expand macros to generate the
-instructions in structure bit-field usecases
-
-ChangeLog:
-
-2018-08-16 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-
- * gcc/config/microblaze/microblaze.md:
- remove the expand constraints
-
-Signed-off-by: Nagaraju Mekala <nagaraju.mekala@xilinx.com>
-Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.md | 40 +++++--------------------------------
- 1 file changed, 5 insertions(+), 35 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index 68c3b22bd4..ef53c3069e 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -2482,25 +2482,8 @@
- (match_operand:SI 2 "immediate_operand" "I")
- (match_operand:SI 3 "immediate_operand" "I")))]
- "TARGET_HAS_BITFIELD"
--"
--{
-- unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
-- unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
--
-- if ((len == 0) || (pos + len > 32) )
-- FAIL;
--
-- ;;if (!register_operand (operands[1], VOIDmode))
-- ;; FAIL;
-- if (operands[0] == operands[1])
-- FAIL;
-- if (GET_CODE (operands[1]) == ASHIFT)
-- FAIL;
--;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
-- emit_insn (gen_extv_32 (operands[0], operands[1],
-- operands[2], operands[3]));
-- DONE;
--}")
-+""
-+)
-
- (define_insn "extv_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
-@@ -2518,22 +2501,9 @@
- (match_operand:SI 1 "immediate_operand" "I")
- (match_operand:SI 2 "immediate_operand" "I"))
- (match_operand:SI 3 "register_operand" "r"))]
-- "TARGET_HAS_BITFIELD"
-- "
--{
-- unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
-- unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
--
-- if (len <= 0 || pos + len > 32)
-- FAIL;
--
-- ;;if (!register_operand (operands[0], VOIDmode))
-- ;; FAIL;
--
-- emit_insn (gen_insv_32 (operands[0], operands[1],
-- operands[2], operands[3]));
-- DONE;
--}")
-+"TARGET_HAS_BITFIELD"
-+""
-+)
-
- (define_insn "insv_32"
- [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0033-MicroBlaze-fix-signed-bit-fields-with-bit-field-inst.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0033-MicroBlaze-fix-signed-bit-fields-with-bit-field-inst.patch
deleted file mode 100644
index eaae56679..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0033-MicroBlaze-fix-signed-bit-fields-with-bit-field-inst.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From e2a7a582945d24ede55393462a3360f377f45478 Mon Sep 17 00:00:00 2001
-From: Nathan Rossi <nathan@nathanrossi.com>
-Date: Sun, 5 Nov 2017 23:03:54 +1000
-Subject: [PATCH] MicroBlaze fix signed bit fields with bit field instructions
-
-The 'extv' definition is expected to sign extended the result based on
-the width of the bit field.
-
- https://gcc.gnu.org/onlinedocs/gccint/Standard-Names.html#index-extvm-instruction-pattern
-
-The MicroBlaze 'bsefi' instruction does not sign extended, it zero
-extends. There is no option for the instruction to sign extended the
-result and no simple instruction or expression to implement a variant
-length sign extend (only sext8/sext16 instructions exist).
-
-As such these definitions needs to be changed to the zero extended
-variant of 'extv' which is 'extzv'. This change updates the existing
-definitions to allow for signed bit fields to function correctly and be
-sign extended.
-
-Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
-Upstream-Status: Pending
----
- gcc/config/microblaze/microblaze.md | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
-index ef53c3069e..b52be42d6e 100644
---- a/gcc/config/microblaze/microblaze.md
-+++ b/gcc/config/microblaze/microblaze.md
-@@ -2476,7 +2476,7 @@
- DONE;
- }")
-
--(define_expand "extvsi"
-+(define_expand "extzvsi"
- [(set (match_operand:SI 0 "register_operand" "r")
- (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
- (match_operand:SI 2 "immediate_operand" "I")
-@@ -2485,7 +2485,7 @@
- ""
- )
-
--(define_insn "extv_32"
-+(define_insn "extzv_32"
- [(set (match_operand:SI 0 "register_operand" "=r")
- (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
- (match_operand:SI 2 "immediate_operand" "I")
---
-2.14.2
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch
new file mode 100644
index 000000000..5d29531d2
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch
@@ -0,0 +1,35 @@
+From 7fbf19ba660c72a1d4817780cad5c4ae52cbe0b5 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 11 Jan 2017 13:13:57 +0530
+Subject: [PATCH 01/54] LOCAL]: Testsuite - builtins tests require fpic
+ Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+
+Conflicts:
+
+ gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
+---
+ gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
+index 9f0b24a..1cb4f97 100644
+--- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
++++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
+@@ -48,6 +48,14 @@ if { [istarget *-*-eabi*]
+ lappend additional_flags "-Wl,--allow-multiple-definition"
+ }
+
++<<<<<<< HEAD
++=======
++if [istarget "microblaze*-*-linux*"] {
++ lappend additional_flags "-Wl,-zmuldefs"
++ lappend additional_flags "-fPIC"
++}
++
++>>>>>>> 6ef6e5b... [LOCAL]: Testsuite - builtins tests require fpic
+ foreach src [lsort [find $srcdir/$subdir *.c]] {
+ if {![string match *-lib.c $src] && [runtest_file_p $runtests $src]} {
+ c-torture-execute [list $src \
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch
new file mode 100644
index 000000000..503b1ecf9
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch
@@ -0,0 +1,31 @@
+From 4b675eeabceea22ec51abfa7c37e11a631e58659 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 11 Jan 2017 14:31:10 +0530
+Subject: [PATCH 02/54] [LOCAL]: Quick fail g++.dg/opt/memcpy1.C This
+ particular testcase fails with a timeout. Instead, fail it at compile-time
+ for microblaze. This speeds up the testsuite without removing it from the
+ FAIL reports.
+
+Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
+---
+ gcc/testsuite/g++.dg/opt/memcpy1.C | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gcc/testsuite/g++.dg/opt/memcpy1.C b/gcc/testsuite/g++.dg/opt/memcpy1.C
+index 66411cd..d951fee 100644
+--- a/gcc/testsuite/g++.dg/opt/memcpy1.C
++++ b/gcc/testsuite/g++.dg/opt/memcpy1.C
+@@ -4,6 +4,10 @@
+ // { dg-do compile }
+ // { dg-options "-O" }
+
++#if defined (__MICROBLAZE__)
++#error "too slow on mb. Investigate."
++#endif
++
+ typedef unsigned char uint8_t;
+ typedef uint8_t uint8;
+ __extension__ typedef __SIZE_TYPE__ size_t;
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0003-LOCAL-Testsuite-explicitly-add-fivopts-for-tests-tha.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0003-LOCAL-Testsuite-explicitly-add-fivopts-for-tests-tha.patch
new file mode 100644
index 000000000..390584968
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0003-LOCAL-Testsuite-explicitly-add-fivopts-for-tests-tha.patch
@@ -0,0 +1,116 @@
+From 03d4d7335be2b2f72c199ab5177685b6dfd1a9d6 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 11 Jan 2017 15:28:38 +0530
+Subject: [PATCH 03/54] [LOCAL]: Testsuite - explicitly add -fivopts for tests
+ that depend on it (test gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt.c doesnt
+ exist in 4.6 branch)
+
+Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
+---
+ gcc/testsuite/g++.dg/tree-ssa/ivopts-2.C | 2 +-
+ gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C | 2 +-
+ gcc/testsuite/gcc.dg/tree-ssa/loop-2.c | 2 +-
+ gcc/testsuite/gcc.dg/tree-ssa/loop-4.c | 2 +-
+ gcc/testsuite/gcc.dg/tree-ssa/loop-5.c | 2 +-
+ gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c | 2 +-
+ gcc/testsuite/gcc.dg/tree-ssa/pr19590.c | 2 +-
+ gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c | 2 +-
+ 8 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/gcc/testsuite/g++.dg/tree-ssa/ivopts-2.C b/gcc/testsuite/g++.dg/tree-ssa/ivopts-2.C
+index 438db88..ede883e 100644
+--- a/gcc/testsuite/g++.dg/tree-ssa/ivopts-2.C
++++ b/gcc/testsuite/g++.dg/tree-ssa/ivopts-2.C
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */
+-/* { dg-options "-O2 -fdump-tree-ivopts-details" } */
++/* { dg-options "-O2 -fivopts -fdump-tree-ivopts-details" } */
+
+ void test (int *b, int *e, int stride)
+ {
+diff --git a/gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C b/gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C
+index 07ff1b7..a09710c 100644
+--- a/gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C
++++ b/gcc/testsuite/g++.dg/tree-ssa/ivopts-3.C
+@@ -1,5 +1,5 @@
+ // { dg-do compile }
+-// { dg-options "-O2 -fdump-tree-ivopts-details" }
++// { dg-options "-O2 -fivopts -fdump-tree-ivopts-details" }
+
+ class MinimalVec3
+ {
+diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-2.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-2.c
+index bda2516..22c8a5d 100644
+--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-2.c
++++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-2.c
+@@ -1,7 +1,7 @@
+ /* A test for strength reduction and induction variable elimination. */
+
+ /* { dg-do compile } */
+-/* { dg-options "-O1 -fdump-tree-optimized" } */
++/* { dg-options "-O1 -fivopts -fdump-tree-optimized" } */
+ /* { dg-require-effective-target size32plus } */
+
+ /* Size of this structure should be sufficiently weird so that no memory
+diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-4.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-4.c
+index f0770ab..65d74c8 100644
+--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-4.c
++++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-4.c
+@@ -1,7 +1,7 @@
+ /* A test for strength reduction and induction variable elimination. */
+
+ /* { dg-do compile } */
+-/* { dg-options "-O1 -fdump-tree-optimized" } */
++/* { dg-options "-O1 -fivopts -fdump-tree-optimized" } */
+ /* { dg-require-effective-target size32plus } */
+
+ /* Size of this structure should be sufficiently weird so that no memory
+diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-5.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-5.c
+index 5f42857..9bc86ee 100644
+--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-5.c
++++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-5.c
+@@ -1,7 +1,7 @@
+ /* A test for induction variable merging. */
+
+ /* { dg-do compile } */
+-/* { dg-options "-O1 -fdump-tree-optimized" } */
++/* { dg-options "-O1 -fivopts -fdump-tree-optimized" } */
+
+ void foo(long);
+
+diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c b/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c
+index 0fa5600..94caa44 100644
+--- a/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c
++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fopt-info-loop-missed -Wunsafe-loop-optimizations" } */
++/* { dg-options "-O2 -fivopts -fopt-info-loop-missed -Wunsafe-loop-optimizations" } */
+ extern void g(void);
+
+ void
+diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr19590.c b/gcc/testsuite/gcc.dg/tree-ssa/pr19590.c
+index 2c6cfc6..648e6e6 100644
+--- a/gcc/testsuite/gcc.dg/tree-ssa/pr19590.c
++++ b/gcc/testsuite/gcc.dg/tree-ssa/pr19590.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -fdump-tree-ivopts" } */
++/* { dg-options "-O2 -fivopts -fdump-tree-ivopts" } */
+
+ void vnum_test8(int *data)
+ {
+diff --git a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c
+index e911bfc..5d3e7e0 100644
+--- a/gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c
++++ b/gcc/testsuite/gcc.dg/tree-ssa/reassoc-19.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-Os -fdump-tree-optimized" } */
++/* { dg-options "-Os -fivopts -fdump-tree-optimized" } */
+
+ /* Slightly changed testcase from PR middle-end/40815. */
+ void bar(char*, char*, int);
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0004-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0004-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch
new file mode 100644
index 000000000..e16528b6b
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0004-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch
@@ -0,0 +1,35 @@
+From a4c99f7f7775f105eb6f1dfbdf304e6b7e498e2e Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 11 Jan 2017 15:46:28 +0530
+Subject: [PATCH 04/54] [LOCAL]: For dejagnu static testing on qemu, suppress
+ warnings about multiple definitions from the test function and libc in line
+ with method used by powerpc. Dynamic linking and using a qemu binary which
+ understands sysroot resolves all test failures with builtins
+
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
+index 1cb4f97..bdfa08a 100644
+--- a/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
++++ b/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
+@@ -48,14 +48,10 @@ if { [istarget *-*-eabi*]
+ lappend additional_flags "-Wl,--allow-multiple-definition"
+ }
+
+-<<<<<<< HEAD
+-=======
+ if [istarget "microblaze*-*-linux*"] {
+ lappend additional_flags "-Wl,-zmuldefs"
+- lappend additional_flags "-fPIC"
+ }
+
+->>>>>>> 6ef6e5b... [LOCAL]: Testsuite - builtins tests require fpic
+ foreach src [lsort [find $srcdir/$subdir *.c]] {
+ if {![string match *-lib.c $src] && [runtest_file_p $runtests $src]} {
+ c-torture-execute [list $src \
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0005-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0005-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch
new file mode 100644
index 000000000..33688f143
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0005-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch
@@ -0,0 +1,35 @@
+From 6b0de6811796b6834d426263eaa855b65c9b3389 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 11 Jan 2017 15:50:35 +0530
+Subject: [PATCH 05/54] [Patch, testsuite]: Add MicroBlaze to target-supports
+ for atomic buil. .tin tests
+
+MicroBlaze added to supported targets for atomic builtin tests.
+
+Changelog/testsuite
+
+2014-02-14 David Holsgrove <david.holsgrove@xilinx.com>
+
+ * gcc/testsuite/lib/target-supports.exp: Add microblaze to
+ check_effective_target_sync_int_long.
+
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/testsuite/lib/target-supports.exp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
+index c591acd..94353cc 100644
+--- a/gcc/testsuite/lib/target-supports.exp
++++ b/gcc/testsuite/lib/target-supports.exp
+@@ -7428,6 +7428,7 @@ proc check_effective_target_sync_int_long { } {
+ && [check_effective_target_arm_acq_rel])
+ || [istarget bfin*-*linux*]
+ || [istarget hppa*-*linux*]
++ || [istarget microblaze*-*linux*]
+ || [istarget s390*-*-*]
+ || [istarget powerpc*-*-*]
+ || [istarget crisv32-*-*] || [istarget cris-*-*]
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0005-Testsuite-explicitly-add-fivopts-for-tests-that-depe.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0005-Testsuite-explicitly-add-fivopts-for-tests-that-depe.patch
index b428d121c..b428d121c 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-7/0005-Testsuite-explicitly-add-fivopts-for-tests-that-depe.patch
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0005-Testsuite-explicitly-add-fivopts-for-tests-that-depe.patch
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0006-Patch-testsuite-Update-MicroBlaze-strings-test.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0006-Patch-testsuite-Update-MicroBlaze-strings-test.patch
new file mode 100644
index 000000000..3e2368f27
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0006-Patch-testsuite-Update-MicroBlaze-strings-test.patch
@@ -0,0 +1,43 @@
+From 0d2cca275f3e85ae42dac7888d862975d65ffb36 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 11 Jan 2017 16:20:01 +0530
+Subject: [PATCH 06/54] [Patch, testsuite]: Update MicroBlaze strings test for
+ new scan-assembly output resulting in use of $LC label
+
+ChangeLog/testsuite
+
+2014-02-14 David Holsgrove <david.holsgrove@xilinx.com>
+
+ * gcc/testsuite/gcc.target/microblaze/others/strings1.c: Update
+ to include $LC label.
+
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/testsuite/gcc.target/microblaze/others/strings1.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/testsuite/gcc.target/microblaze/others/strings1.c b/gcc/testsuite/gcc.target/microblaze/others/strings1.c
+index 7a63faf..0403b7b 100644
+--- a/gcc/testsuite/gcc.target/microblaze/others/strings1.c
++++ b/gcc/testsuite/gcc.target/microblaze/others/strings1.c
+@@ -1,13 +1,15 @@
+ /* { dg-options "-O3" } */
+
++/* { dg-final { scan-assembler "\.rodata*" } } */
++/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),\\\$LC.*" } } */
++/* { dg-final { scan-assembler "\lwi\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),*" } } */
++
+ #include <string.h>
+
+-/* { dg-final { scan-assembler "\.rodata*" } } */
+ extern void somefunc (char *);
+ int testfunc ()
+ {
+ char string2[80];
+-/* { dg-final { scan-assembler "\lwi\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,.LC*" } } */
+ strcpy (string2, "hello");
+ somefunc (string2);
+ }
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0007-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0007-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch
new file mode 100644
index 000000000..bcd5dbade
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0007-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch
@@ -0,0 +1,67 @@
+From b6f828da3caa827d8ccc08bbf260a2a01b2b2613 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Thu, 12 Jan 2017 16:14:15 +0530
+Subject: [PATCH 07/54] [Patch, testsuite]: Allow MicroBlaze .weakext pattern
+ in regex match Extend regex pattern to include optional ext at the end of
+ .weak to match the MicroBlaze weak label .weakext
+
+ChangeLog/testsuite
+
+2014-02-14 David Holsgrove <david.holsgrove@xilinx.com>
+
+ * gcc/testsuite/g++.dg/abi/rtti3.C: Extend scan-assembler
+ pattern to take optional ext after .weak.
+ * gcc/testsuite/g++.dg/abi/thunk4.C: Likewise.
+
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+
+Conflicts:
+
+ gcc/testsuite/g++.dg/abi/rtti3.C
+---
+ gcc/testsuite/g++.dg/abi/rtti3.C | 4 ++--
+ gcc/testsuite/g++.dg/abi/thunk3.C | 2 +-
+ gcc/testsuite/g++.dg/abi/thunk4.C | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gcc/testsuite/g++.dg/abi/rtti3.C b/gcc/testsuite/g++.dg/abi/rtti3.C
+index 0cc7d3e..f284cd9 100644
+--- a/gcc/testsuite/g++.dg/abi/rtti3.C
++++ b/gcc/testsuite/g++.dg/abi/rtti3.C
+@@ -3,8 +3,8 @@
+
+ // { dg-require-weak "" }
+ // { dg-skip-if "Linkonce not weak" { *-*-mingw* *-*-cygwin } }
+-// { dg-final { scan-assembler ".weak\[ \t\]_?_ZTSPP1A" { target { ! { *-*-darwin* hppa*-*-hpux* } } } } }
+-// { dg-final { scan-assembler-not ".weak\[ \t\]_?_ZTIPP1A" { target { ! { *-*-darwin* } } } } }
++// { dg-final { scan-assembler ".weak(ext)?\[ \t\]_?_ZTSPP1A" { target { ! { *-*-darwin* } } } } }
++// { dg-final { scan-assembler-not ".weak(ext)?\[ \t\]_?_ZTIPP1A" { target { ! { *-*-darwin* } } } } }
+ // { dg-final { scan-assembler ".weak_definition\[ \t\]_?_ZTSPP1A" { target { *-*-darwin* } } } }
+ // { dg-final { scan-assembler-not ".weak_definition\[ \t\]_?_ZTIPP1A" { target { *-*-darwin* } } } }
+
+diff --git a/gcc/testsuite/g++.dg/abi/thunk3.C b/gcc/testsuite/g++.dg/abi/thunk3.C
+index f2347f7..dcec8a7 100644
+--- a/gcc/testsuite/g++.dg/abi/thunk3.C
++++ b/gcc/testsuite/g++.dg/abi/thunk3.C
+@@ -1,5 +1,5 @@
+ // { dg-require-weak "" }
+-// { dg-final { scan-assembler-not ".weak\[\t \]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
++// { dg-final { scan-assembler-not ".weak(ext)?\[\t \]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
+ // { dg-final { scan-assembler-not ".weak_definition\[\t \]_?_ZThn._N7Derived3FooEv" { target { *-*-darwin* } } } }
+
+ struct Base
+diff --git a/gcc/testsuite/g++.dg/abi/thunk4.C b/gcc/testsuite/g++.dg/abi/thunk4.C
+index 6e8f124..d1d34fe 100644
+--- a/gcc/testsuite/g++.dg/abi/thunk4.C
++++ b/gcc/testsuite/g++.dg/abi/thunk4.C
+@@ -1,6 +1,6 @@
+ // { dg-require-weak "" }
+ // { dg-skip-if "Linkonce not weak" { *-*-mingw* *-*-cygwin } }
+-// { dg-final { scan-assembler ".weak\[ \t\]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
++// { dg-final { scan-assembler ".weak(ext)?\[ \t\]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
+ // { dg-final { scan-assembler ".weak_definition\[ \t\]_?_ZThn._N7Derived3FooEv" { target { *-*-darwin* } } } }
+
+ struct Base
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0008-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0008-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch
new file mode 100644
index 000000000..6232535d2
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0008-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch
@@ -0,0 +1,28 @@
+From d27a2545486da9c6a4d3d5ca06b4affb83f8d0a1 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Thu, 12 Jan 2017 16:34:27 +0530
+Subject: [PATCH 08/54] [Patch, testsuite]: Add MicroBlaze to
+ check_profiling_available Testsuite, add microblaze*-*-* target in
+ check_profiling_available inline with other archs setting
+ profiling_available_saved to 0
+
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/testsuite/lib/target-supports.exp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
+index 94353cc..ecfbe4d 100644
+--- a/gcc/testsuite/lib/target-supports.exp
++++ b/gcc/testsuite/lib/target-supports.exp
+@@ -676,6 +676,7 @@ proc check_profiling_available { test_what } {
+ || [istarget m68k-*-elf]
+ || [istarget m68k-*-uclinux*]
+ || [istarget mips*-*-elf*]
++ || [istarget microblaze*-*-*]
+ || [istarget mmix-*-*]
+ || [istarget mn10300-*-elf*]
+ || [istarget moxie-*-elf*]
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0009-Patch-microblaze-Fix-atomic-side-effects.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0009-Patch-microblaze-Fix-atomic-side-effects.patch
new file mode 100644
index 000000000..db730f438
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0009-Patch-microblaze-Fix-atomic-side-effects.patch
@@ -0,0 +1,65 @@
+From 8711bdfe27bce04d35ba93a1d18ccccd61371829 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Thu, 12 Jan 2017 16:41:43 +0530
+Subject: [PATCH 09/54] [Patch, microblaze]: Fix atomic side effects. In
+ atomic_compare_and_swapsi, add side effects to prevent incorrect assumptions
+ during optimization. Previously, the outputs were considered unused; this
+ generated assembly code with undefined side effects after invocation of the
+ atomic.
+
+Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com>
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/config/microblaze/microblaze.md | 3 +++
+ gcc/config/microblaze/sync.md | 21 +++++++++++++--------
+ 2 files changed, 16 insertions(+), 8 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index f698e54..93f5fa2 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -41,6 +41,9 @@
+ (UNSPEC_CMP 104) ;; signed compare
+ (UNSPEC_CMPU 105) ;; unsigned compare
+ (UNSPEC_TLS 106) ;; jump table
++ (UNSPECV_CAS_BOOL 201) ;; compare and swap (bool)
++ (UNSPECV_CAS_VAL 202) ;; compare and swap (val)
++ (UNSPECV_CAS_MEM 203) ;; compare and swap (mem)
+ ])
+
+ (define_c_enum "unspec" [
+diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md
+index b34bd54..8e694e9 100644
+--- a/gcc/config/microblaze/sync.md
++++ b/gcc/config/microblaze/sync.md
+@@ -18,14 +18,19 @@
+ ;; <http://www.gnu.org/licenses/>.
+
+ (define_insn "atomic_compare_and_swapsi"
+- [(match_operand:SI 0 "register_operand" "=&d") ;; bool output
+- (match_operand:SI 1 "register_operand" "=&d") ;; val output
+- (match_operand:SI 2 "nonimmediate_operand" "+Q") ;; memory
+- (match_operand:SI 3 "register_operand" "d") ;; expected value
+- (match_operand:SI 4 "register_operand" "d") ;; desired value
+- (match_operand:SI 5 "const_int_operand" "") ;; is_weak
+- (match_operand:SI 6 "const_int_operand" "") ;; mod_s
+- (match_operand:SI 7 "const_int_operand" "") ;; mod_f
++ [(set (match_operand:SI 0 "register_operand" "=&d") ;; bool output
++ (unspec_volatile:SI
++ [(match_operand:SI 2 "nonimmediate_operand" "+Q") ;; memory
++ (match_operand:SI 3 "register_operand" "d") ;; expected value
++ (match_operand:SI 4 "register_operand" "d")] ;; desired value
++ UNSPECV_CAS_BOOL))
++ (set (match_operand:SI 1 "register_operand" "=&d") ;; val output
++ (unspec_volatile:SI [(const_int 0)] UNSPECV_CAS_VAL))
++ (set (match_dup 2)
++ (unspec_volatile:SI [(const_int 0)] UNSPECV_CAS_MEM))
++ (match_operand:SI 5 "const_int_operand" "") ;; is_weak
++ (match_operand:SI 6 "const_int_operand" "") ;; mod_s
++ (match_operand:SI 7 "const_int_operand" "") ;; mod_f
+ (clobber (match_scratch:SI 8 "=&d"))]
+ ""
+ {
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch
new file mode 100644
index 000000000..5058529ad
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch
@@ -0,0 +1,40 @@
+From 92015c19e5d1baabd62067bf1cfc4522e85d1b25 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Thu, 12 Jan 2017 16:45:45 +0530
+Subject: [PATCH 10/54] [Patch, microblaze]: Fix atomic boolean return value.
+ In atomic_compare_and_swapsi, fix boolean return value. Previously, it
+ contained zero if successful and non-zero if unsuccessful.
+
+Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com>
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/config/microblaze/sync.md | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/gcc/config/microblaze/sync.md b/gcc/config/microblaze/sync.md
+index 8e694e9..8ddb10d 100644
+--- a/gcc/config/microblaze/sync.md
++++ b/gcc/config/microblaze/sync.md
+@@ -34,15 +34,16 @@
+ (clobber (match_scratch:SI 8 "=&d"))]
+ ""
+ {
+- output_asm_insn ("addc \tr0,r0,r0", operands);
++ output_asm_insn ("add \t%0,r0,r0", operands);
+ output_asm_insn ("lwx \t%1,%y2,r0", operands);
+ output_asm_insn ("addic\t%8,r0,0", operands);
+ output_asm_insn ("bnei \t%8,.-8", operands);
+- output_asm_insn ("cmp \t%0,%1,%3", operands);
+- output_asm_insn ("bnei \t%0,.+16", operands);
++ output_asm_insn ("cmp \t%8,%1,%3", operands);
++ output_asm_insn ("bnei \t%8,.+20", operands);
+ output_asm_insn ("swx \t%4,%y2,r0", operands);
+ output_asm_insn ("addic\t%8,r0,0", operands);
+ output_asm_insn ("bnei \t%8,.-28", operands);
++ output_asm_insn ("addi \t%0,r0,1", operands);
+ return "";
+ }
+ )
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0011-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0011-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch
new file mode 100644
index 000000000..2451c9385
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0011-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch
@@ -0,0 +1,33 @@
+From 658476aef537c0c2d031eb1c7a001f00c1d9bf7b Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Thu, 12 Jan 2017 16:50:17 +0530
+Subject: [PATCH 11/54] [Patch, microblaze]: Fix the Microblaze crash with
+ msmall-divides flag Compiler is crashing when we use msmall-divides and
+ mxl-barrel-shift flag. This is because when use above flags
+ microblaze_expand_divide function will be called for division operation. In
+ microblaze_expand_divide function we are using sub_reg but MicroBlaze doesn't
+ have subreg register due to this compiler was crashing. Changed the logic to
+ avoid sub_reg call
+
+Signed-off-by:Nagaraju Mekala <nmekala@xilix.com>
+---
+ gcc/config/microblaze/microblaze.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 9a4a287..cbe8cb7 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -3575,8 +3575,7 @@ microblaze_expand_divide (rtx operands[])
+ mem_rtx = gen_rtx_MEM (QImode,
+ gen_rtx_PLUS (Pmode, regt1, div_table_rtx));
+
+- insn = emit_insn (gen_movqi (regqi, mem_rtx));
+- insn = emit_insn (gen_movsi (operands[0], gen_rtx_SUBREG (SImode, regqi, 0)));
++ insn = emit_insn (gen_zero_extendqisi2(operands[0],mem_rtx));
+ jump = emit_jump_insn_after (gen_jump (div_end_label), insn);
+ JUMP_LABEL (jump) = div_end_label;
+ LABEL_NUSES (div_end_label) = 1;
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0012-Patch-microblaze-Added-ashrsi3_with_size_opt.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0012-Patch-microblaze-Added-ashrsi3_with_size_opt.patch
new file mode 100644
index 000000000..b58df8731
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0012-Patch-microblaze-Added-ashrsi3_with_size_opt.patch
@@ -0,0 +1,48 @@
+From 64f1a238641616c9cca5823d7ca99e76a7c2a490 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Thu, 12 Jan 2017 16:52:56 +0530
+Subject: [PATCH 12/54] [Patch, microblaze]: Added ashrsi3_with_size_opt Added
+ ashrsi3_with_size_opt pattern to optimize the sra instructions when the -Os
+ optimization is used. lshrsi3_with_size_opt is being removed as it has
+ conflicts with unsigned int variables
+
+Signed-off-by:Nagaraju Mekala <nmekala@xilix.com>
+---
+ gcc/config/microblaze/microblaze.md | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 93f5fa2..fe90a14 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -1506,6 +1506,27 @@
+ (set_attr "length" "4,4")]
+ )
+
++(define_insn "*ashrsi3_with_size_opt"
++ [(set (match_operand:SI 0 "register_operand" "=&d")
++ (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
++ (match_operand:SI 2 "immediate_operand" "I")))]
++ "(INTVAL (operands[2]) > 5 && optimize_size)"
++ {
++ operands[3] = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
++
++ output_asm_insn ("ori\t%3,r0,%2", operands);
++ if (REGNO (operands[0]) != REGNO (operands[1]))
++ output_asm_insn ("addk\t%0,%1,r0", operands);
++
++ output_asm_insn ("addik\t%3,%3,-1", operands);
++ output_asm_insn ("bneid\t%3,.-4", operands);
++ return "sra\t%0,%0";
++ }
++ [(set_attr "type" "arith")
++ (set_attr "mode" "SI")
++ (set_attr "length" "20")]
++)
++
+ (define_insn "*ashrsi_inline"
+ [(set (match_operand:SI 0 "register_operand" "=&d")
+ (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0013-Patch-microblaze-Fixed-missing-save-of-r18-in-fast_i.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0013-Patch-microblaze-Fixed-missing-save-of-r18-in-fast_i.patch
new file mode 100644
index 000000000..6af0f10e2
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0013-Patch-microblaze-Fixed-missing-save-of-r18-in-fast_i.patch
@@ -0,0 +1,41 @@
+From ed23e22fb25a2d3dc357c0743f51b2735fc46a6a Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Thu, 12 Jan 2017 17:50:03 +0530
+Subject: [PATCH 13/54] [Patch, microblaze]: Fixed missing save of r18 in
+ fast_interrupt. Register 18 is used as a clobber register, and must be stored
+ when entering a fast_interrupt. Before this fix, register 18 was only saved
+ if it was used directly in the interrupt function.
+
+However, if the fast_interrupt function called a function that used
+r18, the register would not be saved, and thus be mangled
+upon returning from the interrupt.
+
+Changelog
+
+2014-02-27 Klaus Petersen <klauspetersen@gmail.com>
+
+ * gcc/config/microblaze/microblaze.c: Check for fast_interrupt in
+ microblaze_must_save_register.
+
+Signed-off-by: Klaus Petersen <klauspetersen@gmail.com>
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/config/microblaze/microblaze.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index cbe8cb7..6f0b4f4 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -1967,7 +1967,7 @@ microblaze_must_save_register (int regno)
+ {
+ if (df_regs_ever_live_p (regno)
+ || regno == MB_ABI_MSR_SAVE_REG
+- || (interrupt_handler
++ || ((interrupt_handler || fast_interrupt)
+ && (regno == MB_ABI_ASM_TEMP_REGNUM
+ || regno == MB_ABI_EXCEPTION_RETURN_ADDR_REGNUM)))
+ return 1;
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0014-Patch-microblaze-Use-bralid-for-profiler-calls.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0014-Patch-microblaze-Use-bralid-for-profiler-calls.patch
new file mode 100644
index 000000000..f47265b07
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0014-Patch-microblaze-Use-bralid-for-profiler-calls.patch
@@ -0,0 +1,26 @@
+From 582558f3c18d096885ab24e645899f310b148b5c Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 10:57:19 +0530
+Subject: [PATCH 14/54] [Patch, microblaze]: Use bralid for profiler calls
+ Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
+
+---
+ gcc/config/microblaze/microblaze.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 0d3718f..88e0351 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -486,7 +486,7 @@ typedef struct microblaze_args
+
+ #define FUNCTION_PROFILER(FILE, LABELNO) { \
+ { \
+- fprintf (FILE, "\tbrki\tr16,_mcount\n"); \
++ fprintf (FILE, "\tbralid\tr15,_mcount\nnop\n"); \
+ } \
+ }
+
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0015-Patch-microblaze-Disable-fivopts-by-default.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0015-Patch-microblaze-Disable-fivopts-by-default.patch
new file mode 100644
index 000000000..acfa083f2
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0015-Patch-microblaze-Disable-fivopts-by-default.patch
@@ -0,0 +1,42 @@
+From b60068cbdd3c830e541fbd35f2ed119245911461 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 11:10:21 +0530
+Subject: [PATCH 15/54] [Patch, microblaze]: Disable fivopts by default Turn
+ off ivopts by default. Interferes with cse.
+
+Changelog
+
+2013-03-18 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
+
+ * gcc/common/config/microblaze/microblaze-common.c
+ (microblaze_option_optimization_table): Disable fivopts by default.
+
+Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/common/config/microblaze/microblaze-common.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c
+index 3e75675..fe45f2e 100644
+--- a/gcc/common/config/microblaze/microblaze-common.c
++++ b/gcc/common/config/microblaze/microblaze-common.c
+@@ -24,6 +24,15 @@
+ #include "common/common-target.h"
+ #include "common/common-target-def.h"
+
++/* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */
++static const struct default_options microblaze_option_optimization_table[] =
++ {
++ /* Turn off ivopts by default. It messes up cse. */
++ { OPT_LEVELS_ALL, OPT_fivopts, NULL, 0 },
++ { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 },
++ { OPT_LEVELS_NONE, 0, NULL, 0 }
++ };
++
+ #undef TARGET_DEFAULT_TARGET_FLAGS
+ #define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT
+
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0016-Patch-microblaze-Removed-moddi3-routinue.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0016-Patch-microblaze-Removed-moddi3-routinue.patch
new file mode 100644
index 000000000..dbd7b2e2c
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0016-Patch-microblaze-Removed-moddi3-routinue.patch
@@ -0,0 +1,157 @@
+From 640628680ff6f028ad6d5fef2e41da29664f036f Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Thu, 12 Jan 2017 17:36:16 +0530
+Subject: [PATCH 16/54] [Patch, microblaze]: Removed moddi3 routinue Using the
+ default moddi3 function as the existing implementation has many bugs
+
+Signed-off-by:Nagaraju <nmekala@xilix.com>
+---
+ libgcc/config/microblaze/moddi3.S | 121 ----------------------------------
+ libgcc/config/microblaze/t-microblaze | 3 +-
+ 2 files changed, 1 insertion(+), 123 deletions(-)
+ delete mode 100644 libgcc/config/microblaze/moddi3.S
+
+diff --git a/libgcc/config/microblaze/moddi3.S b/libgcc/config/microblaze/moddi3.S
+deleted file mode 100644
+index a8f17d7..0000000
+--- a/libgcc/config/microblaze/moddi3.S
++++ /dev/null
+@@ -1,121 +0,0 @@
+-###################################
+-#
+-# Copyright (C) 2009-2018 Free Software Foundation, Inc.
+-#
+-# Contributed by Michael Eager <eager@eagercon.com>.
+-#
+-# This file is free software; you can redistribute it and/or modify it
+-# under the terms of the GNU General Public License as published by the
+-# Free Software Foundation; either version 3, or (at your option) any
+-# later version.
+-#
+-# GCC 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.
+-#
+-# Under Section 7 of GPL version 3, you are granted additional
+-# permissions described in the GCC Runtime Library Exception, version
+-# 3.1, as published by the Free Software Foundation.
+-#
+-# You should have received a copy of the GNU General Public License and
+-# a copy of the GCC Runtime Library Exception along with this program;
+-# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+-# <http://www.gnu.org/licenses/>.
+-#
+-# modsi3.S
+-#
+-# modulo operation for 64 bit integers.
+-#
+-#######################################
+-
+-
+-/* An executable stack is *not* required for these functions. */
+-#ifdef __linux__
+-.section .note.GNU-stack,"",%progbits
+-.previous
+-#endif
+-
+- .globl __moddi3
+- .ent __moddi3
+-__moddi3:
+- .frame r1,0,r15
+-
+-#Change the stack pointer value and Save callee saved regs
+- addik r1,r1,-24
+- swi r25,r1,0
+- swi r26,r1,4
+- swi r27,r1,8 # used for sign
+- swi r28,r1,12 # used for loop count
+- swi r29,r1,16 # Used for div value High
+- swi r30,r1,20 # Used for div value Low
+-
+-#Check for Zero Value in the divisor/dividend
+- OR r9,r5,r6 # Check for the op1 being zero
+- BEQID r9,$LaResult_Is_Zero # Result is zero
+- OR r9,r7,r8 # Check for the dividend being zero
+- BEQI r9,$LaDiv_By_Zero # Div_by_Zero # Division Error
+- BGEId r5,$La1_Pos
+- XOR r27,r5,r7 # Get the sign of the result
+- RSUBI r6,r6,0 # Make dividend positive
+- RSUBIC r5,r5,0 # Make dividend positive
+-$La1_Pos:
+- BGEI r7,$La2_Pos
+- RSUBI r8,r8,0 # Make Divisor Positive
+- RSUBIC r9,r9,0 # Make Divisor Positive
+-$La2_Pos:
+- ADDIK r4,r0,0 # Clear mod low
+- ADDIK r3,r0,0 # Clear mod high
+- ADDIK r29,r0,0 # clear div high
+- ADDIK r30,r0,0 # clear div low
+- ADDIK r28,r0,64 # Initialize the loop count
+- # First part try to find the first '1' in the r5/r6
+-$LaDIV1:
+- ADD r6,r6,r6
+- ADDC r5,r5,r5 # left shift logical r5
+- BGEID r5,$LaDIV1
+- ADDIK r28,r28,-1
+-$LaDIV2:
+- ADD r6,r6,r6
+- ADDC r5,r5,r5 # left shift logical r5/r6 get the '1' into the Carry
+- ADDC r4,r4,r4 # Move that bit into the Mod register
+- ADDC r3,r3,r3 # Move carry into high mod register
+- rsub r18,r7,r3 # Compare the High Parts of Mod and Divisor
+- bnei r18,$L_High_EQ
+- rsub r18,r6,r4 # Compare Low Parts only if Mod[h] == Divisor[h]
+-$L_High_EQ:
+- rSUB r26,r8,r4 # Subtract divisor[L] from Mod[L]
+- rsubc r25,r7,r3 # Subtract divisor[H] from Mod[H]
+- BLTi r25,$LaMOD_TOO_SMALL
+- OR r3,r0,r25 # move r25 to mod [h]
+- OR r4,r0,r26 # move r26 to mod [l]
+- ADDI r30,r30,1
+- ADDC r29,r29,r0
+-$LaMOD_TOO_SMALL:
+- ADDIK r28,r28,-1
+- BEQi r28,$LaLOOP_END
+- ADD r30,r30,r30 # Shift in the '1' into div [low]
+- ADDC r29,r29,r29 # Move the carry generated into high
+- BRI $LaDIV2 # Div2
+-$LaLOOP_END:
+- BGEI r27,$LaRETURN_HERE
+- rsubi r30,r30,0
+- rsubc r29,r29,r0
+- BRI $LaRETURN_HERE
+-$LaDiv_By_Zero:
+-$LaResult_Is_Zero:
+- or r29,r0,r0 # set result to 0 [High]
+- or r30,r0,r0 # set result to 0 [Low]
+-$LaRETURN_HERE:
+-# Restore values of CSRs and that of r29 and the divisor and the dividend
+-
+- lwi r25,r1,0
+- lwi r26,r1,4
+- lwi r27,r1,8
+- lwi r28,r1,12
+- lwi r29,r1,16
+- lwi r30,r1,20
+- rtsd r15,8
+- addik r1,r1,24
+- .end __moddi3
+-
+diff --git a/libgcc/config/microblaze/t-microblaze b/libgcc/config/microblaze/t-microblaze
+index 96959f0..8d954a4 100644
+--- a/libgcc/config/microblaze/t-microblaze
++++ b/libgcc/config/microblaze/t-microblaze
+@@ -1,8 +1,7 @@
+-LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _moddi3 _mulsi3 _udivsi3 _umodsi3
++LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3
+
+ LIB2ADD += \
+ $(srcdir)/config/microblaze/divsi3.S \
+- $(srcdir)/config/microblaze/moddi3.S \
+ $(srcdir)/config/microblaze/modsi3.S \
+ $(srcdir)/config/microblaze/muldi3_hard.S \
+ $(srcdir)/config/microblaze/mulsi3.S \
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0017-Patch-microblaze-Add-INIT_PRIORITY-support.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0017-Patch-microblaze-Add-INIT_PRIORITY-support.patch
new file mode 100644
index 000000000..6fb1b32fe
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0017-Patch-microblaze-Add-INIT_PRIORITY-support.patch
@@ -0,0 +1,101 @@
+From c0e74b79cc1db2f68dd560154225da1e5ddfd920 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 14:41:58 +0530
+Subject: [PATCH 17/54] [Patch, microblaze]: Add INIT_PRIORITY support Added
+ TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros.
+
+These macros allows users to control the order of initialization
+of objects defined at namespace scope with the init_priority
+attribute by specifying a relative priority, a constant integral
+expression currently bounded between 101 and 65535 inclusive.
+
+Lower numbers indicate a higher priority.
+
+Changelog
+
+2013-11-26 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
+
+ * gcc/config/microblaze/microblaze.c: Add microblaze_asm_constructor,
+ microblaze_asm_destructor. Define TARGET_ASM_CONSTRUCTOR and
+ TARGET_ASM_DESTRUCTOR.
+
+Signed-off-by:nagaraju <nmekala@xilix.com>
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/config/microblaze/microblaze.c | 53 ++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 53 insertions(+)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 6f0b4f4..53b44df 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -2554,6 +2554,53 @@ print_operand_address (FILE * file, rtx addr)
+ }
+ }
+
++/* Output an element in the table of global constructors. */
++void
++microblaze_asm_constructor (rtx symbol ATTRIBUTE_UNUSED, int priority)
++{
++ const char *section = ".ctors";
++ char buf[16];
++
++ if (priority != DEFAULT_INIT_PRIORITY)
++ {
++ sprintf (buf, ".ctors.%.5u",
++ /* Invert the numbering so the linker puts us in the proper
++ order; constructors are run from right to left, and the
++ linker sorts in increasing order. */
++ MAX_INIT_PRIORITY - priority);
++ section = buf;
++ }
++
++ switch_to_section (get_section (section, 0, NULL));
++ assemble_align (POINTER_SIZE);
++ fputs ("\t.word\t", asm_out_file);
++ output_addr_const (asm_out_file, symbol);
++ fputs ("\n", asm_out_file);
++}
++
++/* Output an element in the table of global destructors. */
++void
++microblaze_asm_destructor (rtx symbol, int priority)
++{
++ const char *section = ".dtors";
++ char buf[16];
++ if (priority != DEFAULT_INIT_PRIORITY)
++ {
++ sprintf (buf, ".dtors.%.5u",
++ /* Invert the numbering so the linker puts us in the proper
++ order; constructors are run from right to left, and the
++ linker sorts in increasing order. */
++ MAX_INIT_PRIORITY - priority);
++ section = buf;
++ }
++
++ switch_to_section (get_section (section, 0, NULL));
++ assemble_align (POINTER_SIZE);
++ fputs ("\t.word\t", asm_out_file);
++ output_addr_const (asm_out_file, symbol);
++ fputs ("\n", asm_out_file);
++}
++
+ /* Emit either a label, .comm, or .lcomm directive, and mark that the symbol
+ is used, so that we don't emit an .extern for it in
+ microblaze_asm_file_end. */
+@@ -3841,6 +3888,12 @@ microblaze_starting_frame_offset (void)
+ #undef TARGET_ATTRIBUTE_TABLE
+ #define TARGET_ATTRIBUTE_TABLE microblaze_attribute_table
+
++#undef TARGET_ASM_CONSTRUCTOR
++#define TARGET_ASM_CONSTRUCTOR microblaze_asm_constructor
++
++#undef TARGET_ASM_DESTRUCTOR
++#define TARGET_ASM_DESTRUCTOR microblaze_asm_destructor
++
+ #undef TARGET_IN_SMALL_DATA_P
+ #define TARGET_IN_SMALL_DATA_P microblaze_elf_in_small_data_p
+
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0018-Patch-microblaze-Add-optimized-lshrsi3.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0018-Patch-microblaze-Add-optimized-lshrsi3.patch
new file mode 100644
index 000000000..ab2473a37
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0018-Patch-microblaze-Add-optimized-lshrsi3.patch
@@ -0,0 +1,81 @@
+From 2cba68c3e27ffaea77cc5469233cf4dcb9383142 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 15:23:57 +0530
+Subject: [PATCH 18/54] [Patch, microblaze]: Add optimized lshrsi3 When barrel
+ shifter is not present, the immediate value is greater than #5 and
+ optimization is -OS, the compiler will generate shift operation using loop.
+
+Changelog
+
+2013-11-26 David Holsgrove <david.holsgrove@xilinx.com>
+
+ * gcc/config/microblaze/microblaze.md: Add size optimized lshrsi3 insn
+
+ChangeLog/testsuite
+
+2014-02-12 David Holsgrove <david.holsgrove@xilinx.com>
+
+ * gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c: New test.
+
+Signed-off-by:Nagaraju <nmekala@xilix.com>
+Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
+---
+ gcc/config/microblaze/microblaze.md | 21 +++++++++++++++++++++
+ .../gcc.target/microblaze/others/lshrsi_Os_1.c | 13 +++++++++++++
+ 2 files changed, 34 insertions(+)
+ create mode 100644 gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index fe90a14..c063ffc 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -1616,6 +1616,27 @@
+ (set_attr "length" "4,4")]
+ )
+
++(define_insn "*lshrsi3_with_size_opt"
++ [(set (match_operand:SI 0 "register_operand" "=&d")
++ (lshiftrt:SI (match_operand:SI 1 "register_operand" "d")
++ (match_operand:SI 2 "immediate_operand" "I")))]
++ "(INTVAL (operands[2]) > 5 && optimize_size)"
++ {
++ operands[3] = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
++
++ output_asm_insn ("ori\t%3,r0,%2", operands);
++ if (REGNO (operands[0]) != REGNO (operands[1]))
++ output_asm_insn ("addk\t%0,%1,r0", operands);
++
++ output_asm_insn ("addik\t%3,%3,-1", operands);
++ output_asm_insn ("bneid\t%3,.-4", operands);
++ return "srl\t%0,%0";
++ }
++ [(set_attr "type" "multi")
++ (set_attr "mode" "SI")
++ (set_attr "length" "20")]
++)
++
+ (define_insn "*lshrsi_inline"
+ [(set (match_operand:SI 0 "register_operand" "=&d")
+ (lshiftrt:SI (match_operand:SI 1 "register_operand" "d")
+diff --git a/gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c b/gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c
+new file mode 100644
+index 0000000..32a3be7
+--- /dev/null
++++ b/gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c
+@@ -0,0 +1,13 @@
++/* { dg-options "-Os -mno-xl-barrel-shift" } */
++
++void testfunc(void)
++{
++ unsigned volatile int z = 8192;
++ z >>= 8;
++}
++/* { dg-final { scan-assembler-not "\bsrli" } } */
++/* { dg-final { scan-assembler "\ori\tr18,r0" } } */
++/* { dg-final { scan-assembler "addk\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0" } } */
++/* { dg-final { scan-assembler "addik\tr18,r18,-1" } } */
++/* { dg-final { scan-assembler "bneid\tr18,.-4" } } */
++/* { dg-final { scan-assembler "\srl\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])" } } */
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0019-Patch-microblaze-Modified-trap-instruction.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0019-Patch-microblaze-Modified-trap-instruction.patch
new file mode 100644
index 000000000..5afcff434
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0019-Patch-microblaze-Modified-trap-instruction.patch
@@ -0,0 +1,29 @@
+From e8b05b5105655d276c93864ab90e15bfbe46cf74 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 15:42:15 +0530
+Subject: [PATCH 19/54] [Patch, microblaze]: Modified trap instruction The
+ instruction was wrongly written to brki r0,-1 it should be bri r0. Modified
+ with the correct instruction
+
+Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+ :Ajit Agarwal <ajitkum@xilinx.com>
+---
+ gcc/config/microblaze/microblaze.md | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index c063ffc..7bbdbe1 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -2344,7 +2344,7 @@
+ (define_insn "trap"
+ [(trap_if (const_int 1) (const_int 0))]
+ ""
+- "brki\tr0,-1"
++ "bri\t0"
+ [(set_attr "type" "trap")]
+ )
+
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0020-Patch-microblaze-Reducing-Stack-space-for-arguments.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0020-Patch-microblaze-Reducing-Stack-space-for-arguments.patch
new file mode 100644
index 000000000..6e07ac4fc
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0020-Patch-microblaze-Reducing-Stack-space-for-arguments.patch
@@ -0,0 +1,206 @@
+From 0cc6aabbd3f7b331c3995f11efec545499297358 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 16:42:44 +0530
+Subject: [PATCH 20/54] [Patch, microblaze]: Reducing Stack space for arguments
+ Currently in Microblaze target stack space for arguments in register is being
+ allocated even if there are no arguments in the function. This patch will
+ optimize the extra 24 bytes that are being allocated.
+
+Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+ :Ajit Agarwal <ajitkum@xilinx.com>
+
+ChangeLog:
+2015-04-17 Nagaraju Mekala <nmekala@xilix.com>
+ Ajit Agarwal <ajitkum@xilinx.com>
+
+ *microblaze.c (microblaze_parm_needs_stack, microblaze_function_parms_need_stack): New
+ *microblaze.c (REG_PARM_STACK_SPACE): Modify
+---
+ gcc/config/microblaze/microblaze-protos.h | 1 +
+ gcc/config/microblaze/microblaze.c | 134 +++++++++++++++++++++++++++++-
+ gcc/config/microblaze/microblaze.h | 4 +-
+ 3 files changed, 136 insertions(+), 3 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
+index 4cbba0c..f8a56f7 100644
+--- a/gcc/config/microblaze/microblaze-protos.h
++++ b/gcc/config/microblaze/microblaze-protos.h
+@@ -58,6 +58,7 @@ extern int symbol_mentioned_p (rtx);
+ extern int label_mentioned_p (rtx);
+ extern bool microblaze_cannot_force_const_mem (machine_mode, rtx);
+ extern void microblaze_eh_return (rtx op0);
++int microblaze_reg_parm_stack_space(tree fun);
+ #endif /* RTX_CODE */
+
+ /* Declare functions in microblaze-c.c. */
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 53b44df..0dec362 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -1989,6 +1989,138 @@ microblaze_must_save_register (int regno)
+ return 0;
+ }
+
++static bool
++microblaze_parm_needs_stack (cumulative_args_t args_so_far, tree type)
++{
++ enum machine_mode mode;
++ int unsignedp;
++ rtx entry_parm;
++
++ /* Catch errors. */
++ if (type == NULL || type == error_mark_node)
++ return true;
++
++ if (TREE_CODE (type) == POINTER_TYPE)
++ return true;
++
++ /* Handle types with no storage requirement. */
++ if (TYPE_MODE (type) == VOIDmode)
++ return false;
++
++ /* Handle complex types. */
++ if (TREE_CODE (type) == COMPLEX_TYPE)
++ return (microblaze_parm_needs_stack (args_so_far, TREE_TYPE (type))
++ || microblaze_parm_needs_stack (args_so_far, TREE_TYPE (type)));
++
++ /* Handle transparent aggregates. */
++ if ((TREE_CODE (type) == UNION_TYPE || TREE_CODE (type) == RECORD_TYPE)
++ && TYPE_TRANSPARENT_AGGR (type))
++ type = TREE_TYPE (first_field (type));
++
++ /* See if this arg was passed by invisible reference. */
++ if (pass_by_reference (get_cumulative_args (args_so_far),
++ TYPE_MODE (type), type, true))
++ type = build_pointer_type (type);
++
++ /* Find mode as it is passed by the ABI. */
++ unsignedp = TYPE_UNSIGNED (type);
++ mode = promote_mode (type, TYPE_MODE (type), &unsignedp);
++
++/* If there is no incoming register, we need a stack. */
++ entry_parm = microblaze_function_arg (args_so_far, mode, type, true);
++ if (entry_parm == NULL)
++ return true;
++
++ /* Likewise if we need to pass both in registers and on the stack. */
++ if (GET_CODE (entry_parm) == PARALLEL
++ && XEXP (XVECEXP (entry_parm, 0, 0), 0) == NULL_RTX)
++ return true;
++
++ /* Also true if we're partially in registers and partially not. */
++ if (function_arg_partial_bytes (args_so_far, mode, type, true) != 0)
++ return true;
++
++ /* Update info on where next arg arrives in registers. */
++ microblaze_function_arg_advance (args_so_far, mode, type, true);
++ return false;
++ }
++
++static bool
++microblaze_function_parms_need_stack (tree fun, bool incoming)
++{
++ tree fntype, result;
++ CUMULATIVE_ARGS args_so_far_v;
++ cumulative_args_t args_so_far;
++ int num_of_args = 0;
++
++ /* Must be a libcall, all of which only use reg parms. */
++ if (!fun)
++ return true;
++
++ fntype = fun;
++ if (!TYPE_P (fun))
++ fntype = TREE_TYPE (fun);
++
++ /* Varargs functions need the parameter save area. */
++ if ((!incoming && !prototype_p (fntype)) || stdarg_p (fntype))
++ return true;
++
++ INIT_CUMULATIVE_ARGS(args_so_far_v, fntype, NULL_RTX,0,0);
++ args_so_far = pack_cumulative_args (&args_so_far_v);
++
++ /* When incoming, we will have been passed the function decl.
++ * It is necessary to use the decl to handle K&R style functions,
++ * where TYPE_ARG_TYPES may not be available. */
++ if (incoming)
++ {
++ gcc_assert (DECL_P (fun));
++ result = DECL_RESULT (fun);
++ }
++ else
++ result = TREE_TYPE (fntype);
++
++ if (result && aggregate_value_p (result, fntype))
++ {
++ if (!TYPE_P (result))
++ result = build_pointer_type (result);
++ microblaze_parm_needs_stack (args_so_far, result);
++ }
++
++ if (incoming)
++ {
++ tree parm;
++ for (parm = DECL_ARGUMENTS (fun);
++ parm && parm != void_list_node;
++ parm = TREE_CHAIN (parm))
++ if (microblaze_parm_needs_stack (args_so_far, TREE_TYPE (parm)))
++ return true;
++ }
++ else
++ {
++ function_args_iterator args_iter;
++ tree arg_type;
++
++ FOREACH_FUNCTION_ARGS (fntype, arg_type, args_iter)
++ {
++ num_of_args++;
++ if (microblaze_parm_needs_stack (args_so_far, arg_type))
++ return true;
++ }
++ }
++
++ if (num_of_args > 3) return true;
++
++ return false;
++}
++
++int microblaze_reg_parm_stack_space(tree fun)
++{
++ if (microblaze_function_parms_need_stack (fun,false))
++ return MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD;
++ else
++ return 0;
++}
++
+ /* Return the bytes needed to compute the frame pointer from the current
+ stack pointer.
+
+@@ -3298,7 +3430,7 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
+ emit_insn (gen_indirect_jump (temp2));
+
+ /* Run just enough of rest_of_compilation. This sequence was
+- "borrowed" from rs6000.c. */
++ "borrowed" from microblaze.c. */
+ insn = get_insns ();
+ shorten_branches (insn);
+ final_start_function (insn, file, 1);
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 88e0351..9f74ec8 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -434,9 +434,9 @@ extern struct microblaze_frame_info current_frame_info;
+
+ #define ARG_POINTER_CFA_OFFSET(FNDECL) 0
+
+-#define REG_PARM_STACK_SPACE(FNDECL) (MAX_ARGS_IN_REGISTERS * UNITS_PER_WORD)
++#define REG_PARM_STACK_SPACE(FNDECL) microblaze_reg_parm_stack_space(FNDECL)
+
+-#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1
++#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1
+
+ #define STACK_BOUNDARY 32
+
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0021-Patch-microblaze-Add-cbranchsi4_reg.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0021-Patch-microblaze-Add-cbranchsi4_reg.patch
new file mode 100644
index 000000000..b04ee5802
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0021-Patch-microblaze-Add-cbranchsi4_reg.patch
@@ -0,0 +1,159 @@
+From f846bd900d5277dd9defb5fe0625f97e3417ee61 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 17:04:37 +0530
+Subject: [PATCH 21/54] [Patch, microblaze]: Add cbranchsi4_reg This patch
+ optimizes the generation of pcmpne/pcmpeq instruction if the compare
+ instruction has no immediate values.For the immediate values the xor
+ instruction is generated
+
+Signed-off-by: Nagaraju Mekala <nmekala@xilix.com>
+Signed-off-by: Ajit Agarwal <ajitkum@xilinx.com>
+
+ChangeLog:
+2015-01-13 Nagaraju Mekala <nmekala@xilix.com>
+ Ajit Agarwal <ajitkum@xilinx.com>
+
+ *microblaze.md (cbranchsi4_reg): New
+ *microblaze.c (microblaze_expand_conditional_branch_reg): New
+
+Conflicts:
+
+ gcc/config/microblaze/microblaze-protos.h
+---
+ gcc/config/microblaze/microblaze-protos.h | 2 +-
+ gcc/testsuite/gcc.target/microblaze/isa/fcmp1.c | 2 +-
+ gcc/testsuite/gcc.target/microblaze/isa/fcmp2.c | 2 +-
+ gcc/testsuite/gcc.target/microblaze/isa/fcmp3.c | 2 +-
+ gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c | 2 +-
+ gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c | 14 +++++++-------
+ gcc/testsuite/gcc.target/microblaze/isa/vanilla.c | 12 ++++++------
+ gcc/testsuite/gcc.target/microblaze/others/builtin-trap.c | 2 +-
+ 8 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
+index f8a56f7..c39e2e9 100644
+--- a/gcc/config/microblaze/microblaze-protos.h
++++ b/gcc/config/microblaze/microblaze-protos.h
+@@ -32,7 +32,7 @@ extern int microblaze_expand_shift (rtx *);
+ extern bool microblaze_expand_move (machine_mode, rtx *);
+ extern bool microblaze_expand_block_move (rtx, rtx, rtx, rtx);
+ extern void microblaze_expand_divide (rtx *);
+-extern void microblaze_expand_conditional_branch (machine_mode, rtx *);
++extern void microblaze_expand_conditional_branch (enum machine_mode, rtx *);
+ extern void microblaze_expand_conditional_branch_reg (machine_mode, rtx *);
+ extern void microblaze_expand_conditional_branch_sf (rtx *);
+ extern int microblaze_can_use_return_insn (void);
+diff --git a/gcc/testsuite/gcc.target/microblaze/isa/fcmp1.c b/gcc/testsuite/gcc.target/microblaze/isa/fcmp1.c
+index 4041a24..ccc6a46 100644
+--- a/gcc/testsuite/gcc.target/microblaze/isa/fcmp1.c
++++ b/gcc/testsuite/gcc.target/microblaze/isa/fcmp1.c
+@@ -6,5 +6,5 @@ void float_func ()
+ {
+ /* { dg-final { scan-assembler "fcmp\.(le|gt)\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
+ if (f2 <= f3)
+- print ("le");
++ f2 = f3;
+ }
+diff --git a/gcc/testsuite/gcc.target/microblaze/isa/fcmp2.c b/gcc/testsuite/gcc.target/microblaze/isa/fcmp2.c
+index 3902b83..1dd5fe6 100644
+--- a/gcc/testsuite/gcc.target/microblaze/isa/fcmp2.c
++++ b/gcc/testsuite/gcc.target/microblaze/isa/fcmp2.c
+@@ -6,5 +6,5 @@ void float_func ()
+ {
+ /* { dg-final { scan-assembler "fcmp\.(lt|ge)\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
+ if (f2 < f3)
+- print ("lt");
++ f2 = f3;
+ }
+diff --git a/gcc/testsuite/gcc.target/microblaze/isa/fcmp3.c b/gcc/testsuite/gcc.target/microblaze/isa/fcmp3.c
+index 8555974..d6f80fb 100644
+--- a/gcc/testsuite/gcc.target/microblaze/isa/fcmp3.c
++++ b/gcc/testsuite/gcc.target/microblaze/isa/fcmp3.c
+@@ -6,5 +6,5 @@ void float_func ()
+ {
+ /* { dg-final { scan-assembler "fcmp\.(eq|ne)\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
+ if (f2 == f3)
+- print ("eq");
++ f1 = f2 + f3;
+ }
+diff --git a/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c b/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c
+index 79cc5f9..d117724 100644
+--- a/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c
++++ b/gcc/testsuite/gcc.target/microblaze/isa/fcmp4.c
+@@ -5,5 +5,5 @@ void float_func(float f1, float f2, float f3)
+ /* { dg-final { scan-assembler "fcmp\.eq\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
+ /* { dg-final { scan-assembler "fcmp\.le\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r(\[0-9]\|\[1-2]\[0-9]\|3\[0-1])\[^0-9]" } } */
+ if(f1==f2 && f1<=f3)
+- print ("f1 eq f2 && f1 le f3");
++ f2 = f3;
+ }
+diff --git a/gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c b/gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c
+index ebfb170..7582297 100644
+--- a/gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c
++++ b/gcc/testsuite/gcc.target/microblaze/isa/nofcmp.c
+@@ -5,17 +5,17 @@ volatile float f1, f2, f3;
+ void float_func ()
+ {
+ /* { dg-final { scan-assembler-not "fcmp" } } */
+- if (f2 <= f3)
+- print ("le");
++ if (f2 <= f3)
++ f1 = f3;
+ else if (f2 == f3)
+- print ("eq");
++ f1 = f3;
+ else if (f2 < f3)
+- print ("lt");
++ f1 = f3;
+ else if (f2 > f3)
+- print ("gt");
++ f1 = f3;
+ else if (f2 >= f3)
+- print ("ge");
++ f1 = f3;
+ else if (f2 != f3)
+- print ("ne");
++ f1 = f3;
+
+ }
+diff --git a/gcc/testsuite/gcc.target/microblaze/isa/vanilla.c b/gcc/testsuite/gcc.target/microblaze/isa/vanilla.c
+index 1d6ba80..532c035 100644
+--- a/gcc/testsuite/gcc.target/microblaze/isa/vanilla.c
++++ b/gcc/testsuite/gcc.target/microblaze/isa/vanilla.c
+@@ -74,16 +74,16 @@ void float_cmp_func ()
+ {
+ /* { dg-final { scan-assembler-not "fcmp" } } */
+ if (f2 <= f3)
+- print ("le");
++ f1 = f3;
+ else if (f2 == f3)
+- print ("eq");
++ f1 = f3;
+ else if (f2 < f3)
+- print ("lt");
++ f1 = f3;
+ else if (f2 > f3)
+- print ("gt");
++ f1 = f3;
+ else if (f2 >= f3)
+- print ("ge");
++ f1 = f3;
+ else if (f2 != f3)
+- print ("ne");
++ f1 = f3;
+
+ }
+diff --git a/gcc/testsuite/gcc.target/microblaze/others/builtin-trap.c b/gcc/testsuite/gcc.target/microblaze/others/builtin-trap.c
+index fdcde1f..580b4db 100644
+--- a/gcc/testsuite/gcc.target/microblaze/others/builtin-trap.c
++++ b/gcc/testsuite/gcc.target/microblaze/others/builtin-trap.c
+@@ -5,4 +5,4 @@ void trap ()
+ __builtin_trap ();
+ }
+
+-/* { dg-final { scan-assembler "brki\tr0,-1" } } */
+\ No newline at end of file
++/* { dg-final { scan-assembler "bri\t0" } } */
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0022-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0022-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch
new file mode 100644
index 000000000..beeb80fda
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0022-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch
@@ -0,0 +1,58 @@
+From 7d70a287544dd915b66a5658a3857ebecb8b3583 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 17:11:04 +0530
+Subject: [PATCH 22/54] [Patch,microblaze]: Inline Expansion of fsqrt builtin.
+ The changes are made in the patch for the inline expansion of the fsqrt
+ builtin with fqrt instruction. The sqrt math function takes double as
+ argument and return double as argument. The pattern is selected while
+ expanding the unary op through expand_unop which passes DFmode and the DFmode
+ pattern was not there returning zero. Thus the sqrt math function is not
+ inlined and expanded. The pattern with DFmode argument is added. Also the
+ source and destination argument is not same the DF through two different
+ consecutive registers with lower 32 bit is the argument passed to sqrt and
+ the higher 32 bit is zero. If the source and destinations are different the
+ DFmode 64 bits registers is not set properly giving the problem in runtime.
+ Such changes are taken care in the implementation of the pattern for DFmode
+ for inline expansion of the sqrt.
+
+ChangeLog:
+2015-06-16 Ajit Agarwal <ajitkum@xilinx.com>
+ Nagaraju Mekala <nmekala@xilinx.com>
+
+ * config/microblaze/microblaze.md (sqrtdf2): New
+ pattern.
+
+Signed-off-by:Ajit Agarwal ajitkum@xilinx.com
+ Nagaraju Mekala nmekala@xilinx.com
+---
+ gcc/config/microblaze/microblaze.md | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 7bbdbe1..3a53e24 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -449,6 +449,20 @@
+ (set_attr "mode" "SF")
+ (set_attr "length" "4")])
+
++(define_insn "sqrtdf2"
++ [(set (match_operand:DF 0 "register_operand" "=d")
++ (sqrt:DF (match_operand:DF 1 "register_operand" "dG")))]
++ "TARGET_HARD_FLOAT && TARGET_FLOAT_SQRT"
++ {
++ if (REGNO (operands[0]) == REGNO (operands[1]))
++ return "fsqrt\t%0,%1";
++ else
++ return "fsqrt\t%0,%1\n\taddk\t%D0,%D1,r0";
++ }
++ [(set_attr "type" "fsqrt")
++ (set_attr "mode" "SF")
++ (set_attr "length" "4")])
++
+ (define_insn "fix_truncsfsi2"
+ [(set (match_operand:SI 0 "register_operand" "=d")
+ (fix:SI (match_operand:SF 1 "register_operand" "d")))]
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0023-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0023-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch
new file mode 100644
index 000000000..8f5bed52a
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0023-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch
@@ -0,0 +1,47 @@
+From a28768eec0a9d5137196bed8e8c6d284cf4c3cbc Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 17:33:31 +0530
+Subject: [PATCH 23/54] [Patch] OPT: Update heuristics for loop-invariant for
+ address arithme. .tic.
+
+The changes are made in the patch to update the heuristics
+for loop invariant for address arithmetic. The heuristics is
+changed to calculate the estimated register pressure cost when
+ira based register pressure is not enabled. The estimated
+register pressure cost modifies the existing calculation cost
+associated to perform the Loop invariant code motion for address
+arithmetic.
+
+ChangeLog:
+2015-06-17 Ajit Agarwal <ajitkum@xilinx.com>
+ Nagaraju Mekala <nmekala@xilinx.com>
+
+ * loop-invariant.c (gain_for_invariant): update the
+ heuristics for estimate_reg_pressure_cost.
+
+Signed-off-by:Ajit Agarwal ajitkum@xilinx.com
+ Nagaraju Mekala nmekala@xilinx.com
+---
+ gcc/loop-invariant.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
+index bd31a51..8e22ca0 100644
+--- a/gcc/loop-invariant.c
++++ b/gcc/loop-invariant.c
+@@ -1466,10 +1466,8 @@ gain_for_invariant (struct invariant *inv, unsigned *regs_needed,
+
+ if (! flag_ira_loop_pressure)
+ {
+- size_cost = (estimate_reg_pressure_cost (new_regs[0] + regs_needed[0],
+- regs_used, speed, call_p)
+- - estimate_reg_pressure_cost (new_regs[0],
+- regs_used, speed, call_p));
++ size_cost = estimate_reg_pressure_cost (regs_needed[0],
++ regs_used, speed, call_p);
+ }
+ else if (ret < 0)
+ return -1;
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0024-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0024-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch
new file mode 100644
index 000000000..85a749e58
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0024-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch
@@ -0,0 +1,63 @@
+From be9c512be09fa4ef67870ab0456eb3781394dac3 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 18:07:24 +0530
+Subject: [PATCH 24/54] [PATCH] microblaze.md: Improve 'adddi3' and 'subdi3'
+ insn definitions Change adddi3 to handle DI immediates as the second operand,
+ this requires modification to the output template however reduces the need to
+ specify seperate templates for 16-bit positive/negative immediate operands.
+ The use of 32-bit immediates for the addi and addic instructions is handled
+ by the assembler, which will emit the imm instructions when required. This
+ conveniently handles the optimizable cases where the immediate constant value
+ does not need the higher half words of the operands upper/lower words.
+
+Change the constraints of the subdi3 instruction definition such that it
+does not match the second operand as an immediate value. This is because
+there is no definition to handle this case nor is it possible to
+implement purely with instructions as microblaze does not provide an
+instruction to perform a forward arithmetic subtraction (it only
+provides reverse 'rD = IMM - rA').
+
+Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
+---
+ gcc/config/microblaze/microblaze.md | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 3a53e24..949e103 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -500,17 +500,16 @@
+ ;; Adding 2 DI operands in register or reg/imm
+
+ (define_insn "adddi3"
+- [(set (match_operand:DI 0 "register_operand" "=d,d,d")
+- (plus:DI (match_operand:DI 1 "register_operand" "%d,d,d")
+- (match_operand:DI 2 "arith_operand32" "d,P,N")))]
++ [(set (match_operand:DI 0 "register_operand" "=d,d")
++ (plus:DI (match_operand:DI 1 "register_operand" "%d,d")
++ (match_operand:DI 2 "arith_operand" "d,i")))]
+ ""
+ "@
+ add\t%L0,%L1,%L2\;addc\t%M0,%M1,%M2
+- addi\t%L0,%L1,%2\;addc\t%M0,%M1,r0
+- addi\t%L0,%L1,%2\;addc\t%M0,%M1,r0\;addi\t%M0,%M0,-1"
++ addi\t%L0,%L1,%j2\;addic\t%M0,%M1,%h2"
+ [(set_attr "type" "darith")
+ (set_attr "mode" "DI")
+- (set_attr "length" "8,8,12")])
++ (set_attr "length" "8,8")])
+
+ ;;----------------------------------------------------------------
+ ;; Subtraction
+@@ -547,7 +546,7 @@
+ (define_insn "subdi3"
+ [(set (match_operand:DI 0 "register_operand" "=&d")
+ (minus:DI (match_operand:DI 1 "register_operand" "d")
+- (match_operand:DI 2 "arith_operand32" "d")))]
++ (match_operand:DI 2 "register_operand" "d")))]
+ ""
+ "rsub\t%L0,%L2,%L1\;rsubc\t%M0,%M2,%M1"
+ [(set_attr "type" "darith")
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0025-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0025-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch
new file mode 100644
index 000000000..17f254488
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0025-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch
@@ -0,0 +1,72 @@
+From c8ee051fa3e0ad05b19eb6141a7cb72245b412b7 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 18:18:41 +0530
+Subject: [PATCH 25/54] [Patch, microblaze]: Update ashlsi3 & movsf patterns
+ This patch removes the use of HOST_WIDE_INT_PRINT_HEX macro in print_operand
+ of ashlsi3_with_mul_nodelay,ashlsi3_with_mul_delay and movsf_internal
+ patterns beacuse HOST_WIDE_INT_PRINT_HEX is generating 64-bit value which our
+ instruction doesn't support so using gen_int_mode function
+
+Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+ :Ajit Agarwal <ajitkum@xilinx.com>
+
+ChangeLog:
+2016-01-07 Nagaraju Mekala <nmekala@xilix.com>
+ Ajit Agarwal <ajitkum@xilinx.com>
+
+ *microblaze.md (ashlsi3_with_mul_nodelay,
+ ashlsi3_with_mul_delay,
+ movsf_internal):
+ Updated the patterns to use gen_int_mode function
+ *microblaze.c (print_operand):
+ updated the 'F' case to use "unsinged int" instead
+ of HOST_WIDE_INT_PRINT_HEX
+---
+ gcc/config/microblaze/microblaze.c | 2 +-
+ gcc/config/microblaze/microblaze.md | 10 ++++++++--
+ 2 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 0dec362..daf0269 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -2531,7 +2531,7 @@ print_operand (FILE * file, rtx op, int letter)
+ unsigned long value_long;
+ REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (op),
+ value_long);
+- fprintf (file, HOST_WIDE_INT_PRINT_HEX, value_long);
++ fprintf (file, "0x%08x", (unsigned int) value_long);
+ }
+ else
+ {
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 949e103..bc675ca 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -1366,7 +1366,10 @@
+ (match_operand:SI 2 "immediate_operand" "I")))]
+ "!TARGET_SOFT_MUL
+ && ((1 << INTVAL (operands[2])) <= 32767 && (1 << INTVAL (operands[2])) >= -32768)"
+- "muli\t%0,%1,%m2"
++ {
++ operands[2] = gen_int_mode (1 << INTVAL (operands[2]), SImode);
++ return "muli\t%0,%1,%2";
++ }
+ ;; This MUL will not generate an imm. Can go into a delay slot.
+ [(set_attr "type" "arith")
+ (set_attr "mode" "SI")
+@@ -1378,7 +1381,10 @@
+ (ashift:SI (match_operand:SI 1 "register_operand" "d")
+ (match_operand:SI 2 "immediate_operand" "I")))]
+ "!TARGET_SOFT_MUL"
+- "muli\t%0,%1,%m2"
++ {
++ operands[2] = gen_int_mode (1 << INTVAL (operands[2]), SImode);
++ return "muli\t%0,%1,%2";
++ }
+ ;; This MUL will generate an IMM. Cannot go into a delay slot
+ [(set_attr "type" "no_delay_arith")
+ (set_attr "mode" "SI")
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0026-Patch-microblaze-8-stage-pipeline-for-microblaze.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0026-Patch-microblaze-8-stage-pipeline-for-microblaze.patch
new file mode 100644
index 000000000..506714bd3
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0026-Patch-microblaze-8-stage-pipeline-for-microblaze.patch
@@ -0,0 +1,193 @@
+From 64e76f3be6ad78044ea2b89b555a07758c2b2950 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 17 Jan 2017 19:50:34 +0530
+Subject: [PATCH 26/54] [Patch, microblaze]: 8-stage pipeline for microblaze
+ This patch adds the support for the 8-stage pipeline. The new 8-stage
+ pipeline reduces the latencies of float & integer division drastically
+
+Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+
+ChangeLog:
+2016-01-18 Nagaraju Mekala <nmekala@xilix.com>
+
+ *microblaze.md (define_automaton mbpipe_8): New
+
+ *microblaze.c (microblaze_option_override): Update
+ Updated the logic to generate only when MB version is 10.0
+
+ *microblaze.h (pipeline_type): Update
+ Update the enum with MICROBLAZE_PIPE_8
+
+ *microblaze.opt (mxl-frequency): New
+ New flag added for 8-stage pipeline
+---
+ gcc/config/microblaze/microblaze.c | 13 ++++++
+ gcc/config/microblaze/microblaze.h | 3 +-
+ gcc/config/microblaze/microblaze.md | 79 +++++++++++++++++++++++++++++++++++-
+ gcc/config/microblaze/microblaze.opt | 4 ++
+ 4 files changed, 96 insertions(+), 3 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index daf0269..3832d16 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -1772,6 +1772,19 @@ microblaze_option_override (void)
+ warning (0, "-mxl-reorder requires -mxl-pattern-compare for -mcpu=v8.30.a");
+ TARGET_REORDER = 0;
+ }
++ ver = ver_int - microblaze_version_to_int("v10.0");
++ if (ver < 0)
++ {
++ if (TARGET_AREA_OPTIMIZED_2)
++ warning (0, "-mxl-frequency can be used only with -mcpu=v10.0 or greater");
++ }
++ else
++ {
++ if (TARGET_AREA_OPTIMIZED_2)
++ microblaze_pipe = MICROBLAZE_PIPE_8;
++ if (TARGET_BARREL_SHIFT)
++ microblaze_has_bitfield = 1;
++ }
+
+ if (TARGET_MULTIPLY_HIGH && TARGET_SOFT_MUL)
+ error ("-mxl-multiply-high requires -mno-xl-soft-mul");
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 9f74ec8..2ac5aeec 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -27,7 +27,8 @@
+ enum pipeline_type
+ {
+ MICROBLAZE_PIPE_3 = 0,
+- MICROBLAZE_PIPE_5 = 1
++ MICROBLAZE_PIPE_5 = 1,
++ MICROBLAZE_PIPE_8 = 2
+ };
+
+ #define MICROBLAZE_MASK_NO_UNSAFE_DELAY 0x00000001
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index bc675ca..6395533 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -35,6 +35,7 @@
+ (R_GOT 20) ;; GOT ptr reg
+ (MB_PIPE_3 0) ;; Microblaze 3-stage pipeline
+ (MB_PIPE_5 1) ;; Microblaze 5-stage pipeline
++ (MB_PIPE_8 2) ;; Microblaze 8-stage pipeline
+ (UNSPEC_SET_GOT 101) ;;
+ (UNSPEC_GOTOFF 102) ;; GOT offset
+ (UNSPEC_PLT 103) ;; jump table
+@@ -80,7 +81,7 @@
+ ;; bshift Shift operations
+
+ (define_attr "type"
+- "unknown,branch,jump,call,load,store,move,arith,darith,imul,idiv,icmp,multi,nop,no_delay_arith,no_delay_load,no_delay_store,no_delay_imul,no_delay_move,bshift,fadd,frsub,fmul,fdiv,fcmp,fsl,fsqrt,fcvt,trap"
++ "unknown,branch,jump,call,load,store,move,arith,darith,imul,idiv,icmp,multi,nop,no_delay_arith,no_delay_load,no_delay_store,no_delay_imul,no_delay_move,bshift,fadd,frsub,fmul,fdiv,fcmp,fsl,fsqrt,fcvt,fint,trap"
+ (const_string "unknown"))
+
+ ;; Main data type used by the insn
+@@ -222,6 +223,80 @@
+ ;;-----------------------------------------------------------------
+
+
++
++;;----------------------------------------------------------------
++;; Microblaze 8-stage pipeline description (v10.0 and later)
++;;----------------------------------------------------------------
++
++(define_automaton "mbpipe_8")
++(define_cpu_unit "mb8_issue,mb8_iu,mb8_wb,mb8_fpu,mb8_fpu_2,mb8_mul,mb8_mul_2,mb8_div,mb8_div_2,mb8_bs,mb8_bs_2" "mbpipe_8")
++
++(define_insn_reservation "mb8-integer" 1
++ (and (eq_attr "type" "branch,jump,call,arith,darith,icmp,nop,no_delay_arith")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_iu,mb8_wb")
++
++(define_insn_reservation "mb8-special-move" 2
++ (and (eq_attr "type" "move")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_iu*2,mb8_wb")
++
++(define_insn_reservation "mb8-mem-load" 3
++ (and (eq_attr "type" "load,no_delay_load")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_iu,mb8_wb")
++
++(define_insn_reservation "mb8-mem-store" 1
++ (and (eq_attr "type" "store,no_delay_store")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_iu,mb8_wb")
++
++(define_insn_reservation "mb8-mul" 3
++ (and (eq_attr "type" "imul,no_delay_imul")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_mul,mb8_mul_2*2,mb8_wb")
++
++(define_insn_reservation "mb8-div" 30
++ (and (eq_attr "type" "idiv")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_div,mb8_div_2*29,mb8_wb")
++
++(define_insn_reservation "mb8-bs" 2
++ (and (eq_attr "type" "bshift")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_bs,mb8_bs_2,mb8_wb")
++
++(define_insn_reservation "mb8-fpu-add-sub-mul" 1
++ (and (eq_attr "type" "fadd,frsub,fmul")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_fpu,mb8_wb")
++
++(define_insn_reservation "mb8-fpu-fcmp" 3
++ (and (eq_attr "type" "fcmp")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_fpu,mb8_fpu*2,mb8_wb")
++
++(define_insn_reservation "mb8-fpu-div" 24
++ (and (eq_attr "type" "fdiv")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_fpu,mb8_fpu_2*23,mb8_wb")
++
++(define_insn_reservation "mb8-fpu-sqrt" 23
++ (and (eq_attr "type" "fsqrt")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_fpu,mb8_fpu_2*22,mb8_wb")
++
++(define_insn_reservation "mb8-fpu-fcvt" 1
++ (and (eq_attr "type" "fcvt")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_fpu,mb8_wb")
++
++(define_insn_reservation "mb8-fpu-fint" 2
++ (and (eq_attr "type" "fint")
++ (eq (symbol_ref "microblaze_pipe") (const_int MB_PIPE_8)))
++ "mb8_issue,mb8_fpu,mb8_wb")
++
++
+ ;;----------------------------------------------------------------
+ ;; Microblaze 5-stage pipeline description (v5.00.a and later)
+ ;;----------------------------------------------------------------
+@@ -468,7 +543,7 @@
+ (fix:SI (match_operand:SF 1 "register_operand" "d")))]
+ "TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
+ "fint\t%0,%1"
+- [(set_attr "type" "fcvt")
++ [(set_attr "type" "fint")
+ (set_attr "mode" "SF")
+ (set_attr "length" "4")])
+
+diff --git a/gcc/config/microblaze/microblaze.opt b/gcc/config/microblaze/microblaze.opt
+index 8242998..c8e6f00 100644
+--- a/gcc/config/microblaze/microblaze.opt
++++ b/gcc/config/microblaze/microblaze.opt
+@@ -129,3 +129,7 @@ Use hardware prefetch instruction
+
+ mxl-mode-xilkernel
+ Target
++
++mxl-frequency
++Target Mask(AREA_OPTIMIZED_2)
++Use 8 stage pipeline (frequency optimization)
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0027-Patch-rtl-Optimization-Better-register-pressure-esti.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0027-Patch-rtl-Optimization-Better-register-pressure-esti.patch
new file mode 100644
index 000000000..95b9b2aa3
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0027-Patch-rtl-Optimization-Better-register-pressure-esti.patch
@@ -0,0 +1,142 @@
+From 5147c831c6a78d9b95138b679bb2ca7624abc3a1 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 18 Jan 2017 11:08:40 +0530
+Subject: [PATCH 27/54] [Patch,rtl Optimization]: Better register pressure
+ estimate for loop . .invariant code motion
+
+Calculate the loop liveness used for regs for calculating the register pressure
+in the cost estimation. Loop liveness is based on the following properties.
+We only need to find the set of objects that are live at the birth or the header
+of the loop. We don't need to calculate the live through the loop by considering
+live in and live out of all the basic blocks of the loop. This is based on the
+point that the set of objects that are live-in at the birth or header of the loop
+will be live-in at every node in the loop.
+
+If a v live is out at the header of the loop then the variable is live-in at every node
+in the loop. To prove this, consider a loop L with header h such that the variable v
+defined at d is live-in at h. Since v is live at h, d is not part of L. This follows i
+from the dominance property, i.e. h is strictly dominated by d. Furthermore, there
+exists a path from h to a use of v which does not go through d. For every node p in
+the loop, since the loop is strongly connected and node is a component of the CFG,
+there exists a path, consisting only of nodes of L from p to h. Concatenating these
+two paths proves that v is live-in and live-out of p.
+
+Calculate the live-out and live-in for the exit edge of the loop. This patch considers
+liveness for not only the loop latch but also the liveness outside the loops.
+
+ChangeLog:
+2016-01-22 Ajit Agarwal <ajitkum@xilinx.com>
+
+ * loop-invariant.c
+ (find_invariants_to_move): Add the logic of regs_used based
+ on liveness.
+ * cfgloopanal.c
+ (estimate_reg_pressure_cost): Update the heuristics in presence
+ of call_p.
+
+Signed-off-by:Ajit Agarwal ajitkum@xilinx.com.
+---
+ gcc/cfgloopanal.c | 4 +++-
+ gcc/loop-invariant.c | 63 +++++++++++++++++++++++++++++++++++++++-------------
+ 2 files changed, 50 insertions(+), 17 deletions(-)
+
+diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c
+index 3af0b2d..123dc6b 100644
+--- a/gcc/cfgloopanal.c
++++ b/gcc/cfgloopanal.c
+@@ -411,7 +411,9 @@ estimate_reg_pressure_cost (unsigned n_new, unsigned n_old, bool speed,
+ if (regs_needed + target_res_regs <= available_regs)
+ return 0;
+
+- if (regs_needed <= available_regs)
++ if ((regs_needed <= available_regs)
++ || (call_p && (regs_needed <=
++ (available_regs + target_clobbered_regs))))
+ /* If we are close to running out of registers, try to preserve
+ them. */
+ cost = target_reg_cost [speed] * n_new;
+diff --git a/gcc/loop-invariant.c b/gcc/loop-invariant.c
+index 8e22ca0..c9ec8df 100644
+--- a/gcc/loop-invariant.c
++++ b/gcc/loop-invariant.c
+@@ -1520,7 +1520,7 @@ gain_for_invariant (struct invariant *inv, unsigned *regs_needed,
+ size_cost = 0;
+ }
+
+- return comp_cost - size_cost;
++ return comp_cost - size_cost + 1;
+ }
+
+ /* Finds invariant with best gain for moving. Returns the gain, stores
+@@ -1614,22 +1614,53 @@ find_invariants_to_move (bool speed, bool call_p)
+ /* REGS_USED is actually never used when the flag is on. */
+ regs_used = 0;
+ else
+- /* We do not really do a good job in estimating number of
+- registers used; we put some initial bound here to stand for
+- induction variables etc. that we do not detect. */
++ /* The logic used in estimating the number of regs_used is changed.
++ Now it will be based on liveness of the loop. */
+ {
+- unsigned int n_regs = DF_REG_SIZE (df);
+-
+- regs_used = 2;
+-
+- for (i = 0; i < n_regs; i++)
+- {
+- if (!DF_REGNO_FIRST_DEF (i) && DF_REGNO_LAST_USE (i))
+- {
+- /* This is a value that is used but not changed inside loop. */
+- regs_used++;
+- }
+- }
++ int i;
++ edge e;
++ vec<edge> edges;
++ bitmap_head regs_live;
++
++ bitmap_initialize (&regs_live, &reg_obstack);
++ edges = get_loop_exit_edges (curr_loop);
++
++ /* Loop liveness is based on the following properties.
++ We only need to find the set of objects that are live at the
++ birth or the header of the loop.
++ We don't need to calculate the live through the loop considering
++ live-in and live-out of all the basic blocks of the loop. This is
++ based on the point that the set of objects that are live-in at the
++ birth or header of the loop will be live-in at every block in the
++ loop.
++
++ If a v live out at the header of the loop then the variable is
++ live-in at every node in the Loop. To prove this, consider a loop
++ L with header h such that the variable v defined at d is live-in
++ at h. Since v is live at h, d is not part of L. This follows from
++ the dominance property, i.e. h is strictly dominated by d. Furthermore,
++ there exists a path from h to a use of v which does not go through d.
++ For every node of the loop, p, since the loop is strongly connected
++ component of the CFG, there exists a path, consisting only of nodes
++ of L from p to h. Concatenating these two paths prove that v is
++ live-in and live-out of p. */
++
++ bitmap_ior_into (&regs_live, DF_LR_IN (curr_loop->header));
++ bitmap_ior_into (&regs_live, DF_LR_OUT (curr_loop->header));
++
++ /* Calculate the live-out and live-in for the exit edge of the loop.
++ This considers liveness for not only the loop latch but also the
++ liveness outside the loops. */
++
++ FOR_EACH_VEC_ELT (edges, i, e)
++ {
++ bitmap_ior_into (&regs_live, DF_LR_OUT (e->src));
++ bitmap_ior_into (&regs_live, DF_LR_IN (e->dest));
++ }
++
++ regs_used = bitmap_count_bits (&regs_live) + 2;
++ bitmap_clear (&regs_live);
++ edges.release ();
+ }
+
+ if (! flag_ira_loop_pressure)
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0028-Patch-microblaze-Correct-the-const-high-double-immed.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0028-Patch-microblaze-Correct-the-const-high-double-immed.patch
new file mode 100644
index 000000000..3643ff19d
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0028-Patch-microblaze-Correct-the-const-high-double-immed.patch
@@ -0,0 +1,69 @@
+From 2715b235b3db423bf35b9304a2ba5daa86b1680e Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 18 Jan 2017 11:25:48 +0530
+Subject: [PATCH 28/54] [Patch, microblaze]: Correct the const high double
+ immediate value With this patch the loading of the DI mode immediate values
+ will be using REAL_VALUE_FROM_CONST_DOUBLE and REAL_VALUE_TO_TARGET_DOUBLE
+ functions, as CONST_DOUBLE_HIGH was returning the sign extension value even
+ of the unsigned long long constants also
+
+Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+ Ajit Agarwal <ajitkum@xilinx.com>
+
+ChangeLog:
+2016-02-03 Nagaraju Mekala <nmekala@xilix.com>
+ Ajit Agarwal <ajitkum@xilinx.com>
+
+ *microblaze.c (print_operand): Use REAL_VALUE_FROM_CONST_DOUBLE &
+ REAL_VALUE_TO_TARGET_DOUBLE
+ *long.c (new): Added new testcase
+---
+ gcc/config/microblaze/microblaze.c | 8 ++++++--
+ gcc/testsuite/gcc.target/microblaze/long.c | 10 ++++++++++
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+ create mode 100644 gcc/testsuite/gcc.target/microblaze/long.c
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 3832d16..29cd54f 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -2517,14 +2517,18 @@ print_operand (FILE * file, rtx op, int letter)
+ else if (letter == 'h' || letter == 'j')
+ {
+ long val[2];
++ long l[2];
+ if (code == CONST_DOUBLE)
+ {
+ if (GET_MODE (op) == DFmode)
+ REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val);
+ else
+ {
+- val[0] = CONST_DOUBLE_HIGH (op);
+- val[1] = CONST_DOUBLE_LOW (op);
++ REAL_VALUE_TYPE rv;
++ REAL_VALUE_FROM_CONST_DOUBLE (rv, op);
++ REAL_VALUE_TO_TARGET_DOUBLE (rv, l);
++ val[1] = l[WORDS_BIG_ENDIAN == 0];
++ val[0] = l[WORDS_BIG_ENDIAN != 0];
+ }
+ }
+ else if (code == CONST_INT)
+diff --git a/gcc/testsuite/gcc.target/microblaze/long.c b/gcc/testsuite/gcc.target/microblaze/long.c
+new file mode 100644
+index 0000000..4d45186
+--- /dev/null
++++ b/gcc/testsuite/gcc.target/microblaze/long.c
+@@ -0,0 +1,10 @@
++/* { dg-options "-O0" } */
++#define BASEADDR 0xF0000000ULL
++int main ()
++{
++ unsigned long long start;
++ start = (unsigned long long) BASEADDR;
++ return 0;
++}
++/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,0x00000000" } } */
++/* { dg-final { scan-assembler "addik\tr(\[0-9]\|\[1-2]\[0-9]\|3\[0-1]),r0,0xf0000000" } } */
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0029-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0029-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch
new file mode 100644
index 000000000..b4b9d2ecb
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0029-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch
@@ -0,0 +1,36 @@
+From 7e025a0b22eee87bf9597267918bd16fc87c85c2 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 18 Jan 2017 11:49:58 +0530
+Subject: [PATCH 29/54] [Fix, microblaze]: Fix internal compiler error with
+ msmall-divides This patch will fix the internal error
+ microblaze_expand_divide function which comes because of rtx PLUS where the
+ mem_rtx is of type SI and the operand is of type QImode. This patch modifies
+ the mem_rtx as QImode and Plus as QImode to fix the error.
+
+Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+ Ajit Agarwal <ajitkum@xilinx.com>
+ChangeLog:
+ 2016-02-23 Nagaraju Mekala <nmekala@xilix.com>
+ Ajit Agarwal <ajitkum@xilinx.com>
+
+ *microblaze.c (microblaze_expand_divide): Update
+---
+ gcc/config/microblaze/microblaze.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 29cd54f..f8a417c 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -3769,7 +3769,7 @@ microblaze_expand_divide (rtx operands[])
+ emit_insn (gen_ashlsi3_bshift (regt1, operands[1], GEN_INT(4)));
+ emit_insn (gen_addsi3 (regt1, regt1, operands[2]));
+ mem_rtx = gen_rtx_MEM (QImode,
+- gen_rtx_PLUS (Pmode, regt1, div_table_rtx));
++ gen_rtx_PLUS (QImode, regt1, div_table_rtx));
+
+ insn = emit_insn (gen_zero_extendqisi2(operands[0],mem_rtx));
+ jump = emit_jump_insn_after (gen_jump (div_end_label), insn);
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0030-patch-microblaze-Fix-the-calculation-of-high-word-in.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0030-patch-microblaze-Fix-the-calculation-of-high-word-in.patch
new file mode 100644
index 000000000..52fd4beab
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0030-patch-microblaze-Fix-the-calculation-of-high-word-in.patch
@@ -0,0 +1,45 @@
+From 27a69d1873221747121360d0a1dffc4336a1d0cc Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 18 Jan 2017 12:03:39 +0530
+Subject: [PATCH 30/54] [patch,microblaze]: Fix the calculation of high word in
+ a long long 6. .4-bit
+
+This patch will change the calculation of high word in a long long 64-bit.
+Earlier to this patch the high word of long long word (0xF0000000ULL) is
+coming to be 0xFFFFFFFF and low word is 0xF0000000. Instead the high word
+should be 0x00000000 and the low word should be 0xF0000000. This patch
+removes the condition of checking high word = 0 & low word < 0.
+This check is not required for the correctness of calculating 32-bit high
+and low words in a 64-bit long long.
+
+Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+ Ajit Agarwal <ajitkum@xilinx.com>
+
+ChangeLog:
+2016-03-01 Nagaraju Mekala <nmekala@xilix.com>
+ Ajit Agarwal <ajitkum@xilinx.com>
+
+ *config/microblaze/microblaze.c (print_operand): Remove the condition of checking
+ high word = 0 & low word < 0.
+ *testsuite/gcc.target/microblaze/others/long.c: Add -O0 option.
+---
+ gcc/config/microblaze/microblaze.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index f8a417c..70d8d03 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -2535,9 +2535,6 @@ print_operand (FILE * file, rtx op, int letter)
+ {
+ val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
+ val[1] = INTVAL (op) & 0x00000000ffffffffLL;
+- if (val[0] == 0 && val[1] < 0)
+- val[0] = -1;
+-
+ }
+ fprintf (file, "0x%8.8lx", (letter == 'h') ? val[0] : val[1]);
+ }
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0031-Patch-microblaze-Add-new-bit-field-instructions.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0031-Patch-microblaze-Add-new-bit-field-instructions.patch
new file mode 100644
index 000000000..571445237
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0031-Patch-microblaze-Add-new-bit-field-instructions.patch
@@ -0,0 +1,120 @@
+From 35569bb20a5bb881f7f275d901a0be3408b16622 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 18 Jan 2017 12:14:51 +0530
+Subject: [PATCH 31/54] [Patch, microblaze]: Add new bit-field instructions
+ This patches adds new bsefi and bsifi instructions. BSEFI- The instruction
+ shall extract a bit field from a register and place it right-adjusted in the
+ destination register. The other bits in the destination register shall be set
+ to zero BSIFI- The instruction shall insert a right-adjusted bit field from a
+ register at another position in the destination register. The rest of the
+ bits in the destination register shall be unchanged
+
+Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+
+ChangeLog:
+ 2016-02-03 Nagaraju Mekala <nmekala@xilix.com>
+
+ *microblaze.md (Update): Added new patterns
+---
+ gcc/config/microblaze/microblaze.md | 73 +++++++++++++++++++++++++++++++++++++
+ 1 file changed, 73 insertions(+)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 6395533..5a2dd13 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -980,6 +980,8 @@
+ (set_attr "mode" "DI")
+ (set_attr "length" "20,20,20")])
+
++
++
+ ;;----------------------------------------------------------------
+ ;; Data movement
+ ;;----------------------------------------------------------------
+@@ -1774,6 +1776,7 @@
+ (set_attr "length" "28")]
+ )
+
++
+ ;;----------------------------------------------------------------
+ ;; Setting a register from an integer comparison.
+ ;;----------------------------------------------------------------
+@@ -2473,4 +2476,74 @@
+ DONE;
+ }")
+
++(define_expand "extvsi"
++ [(set (match_operand:SI 0 "register_operand" "r")
++ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
++ (match_operand:SI 2 "immediate_operand" "I")
++ (match_operand:SI 3 "immediate_operand" "I")))]
++"TARGET_HAS_BITFIELD"
++"
++{
++ unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
++ unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
++
++ if ((len == 0) || (pos + len > 32) )
++ FAIL;
++
++ ;;if (!register_operand (operands[1], VOIDmode))
++ ;; FAIL;
++ if (operands[0] == operands[1])
++ FAIL;
++ if (GET_CODE (operands[1]) == ASHIFT)
++ FAIL;
++;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
++ emit_insn (gen_extv_32 (operands[0], operands[1],
++ operands[2], operands[3]));
++ DONE;
++}")
++
++(define_insn "extv_32"
++ [(set (match_operand:SI 0 "register_operand" "=r")
++ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
++ (match_operand:SI 2 "immediate_operand" "I")
++ (match_operand:SI 3 "immediate_operand" "I")))]
++ "TARGET_HAS_BITFIELD && (UINTVAL (operands[2]) > 0)
++ && ((UINTVAL (operands[2]) + UINTVAL (operands[3])) <= 32)"
++ "bsefi %0,%1,%2,%3"
++ [(set_attr "type" "bshift")
++ (set_attr "length" "4")])
++
++(define_expand "insvsi"
++ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
++ (match_operand:SI 1 "immediate_operand" "I")
++ (match_operand:SI 2 "immediate_operand" "I"))
++ (match_operand:SI 3 "register_operand" "r"))]
++ "TARGET_HAS_BITFIELD"
++ "
++{
++ unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
++ unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
++
++ if (len <= 0 || pos + len > 32)
++ FAIL;
++
++ ;;if (!register_operand (operands[0], VOIDmode))
++ ;; FAIL;
++
++ emit_insn (gen_insv_32 (operands[0], operands[1],
++ operands[2], operands[3]));
++ DONE;
++}")
++
++(define_insn "insv_32"
++ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
++ (match_operand:SI 1 "immediate_operand" "I")
++ (match_operand:SI 2 "immediate_operand" "I"))
++ (match_operand:SI 3 "register_operand" "r"))]
++ "TARGET_HAS_BITFIELD && UINTVAL (operands[1]) > 0
++ && UINTVAL (operands[1]) + UINTVAL (operands[2]) <= 32"
++ "bsifi %0, %3, %1, %2"
++ [(set_attr "type" "bshift")
++ (set_attr "length" "4")])
++
+ (include "sync.md")
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0032-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0032-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch
new file mode 100644
index 000000000..dce1bc58b
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0032-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch
@@ -0,0 +1,247 @@
+From 3db8f0c3124d3001d3c10e6d400943f3ec57616b Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 18 Jan 2017 12:42:10 +0530
+Subject: [PATCH 32/54] [Patch, microblaze]: Fix bug in MB version calculation
+ This patch fixes the bug in microblaze_version_to_int function. Earlier the
+ conversion of vXX.YY.Z to int has a bug which is fixed now.
+
+Signed-off-by : Mahesh Bodapati <mbodapat@xilinx.com>
+ Nagaraju Mekala <nmekala@xilix.com>
+---
+ gcc/config/microblaze/microblaze.c | 147 ++++++++++++++++++-------------------
+ 1 file changed, 70 insertions(+), 77 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 70d8d03..30a0fcf 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -238,6 +238,63 @@ section *sdata2_section;
+ #define TARGET_HAVE_TLS true
+ #endif
+
++/* Convert a version number of the form "vX.YY.Z" to an integer encoding
++ for easier range comparison. */
++static int
++microblaze_version_to_int (const char *version)
++{
++ const char *p, *v;
++ const char *tmpl = "vXX.YY.Z";
++ int iver1 =0, iver2 =0, iver3 =0;
++
++ p = version;
++ v = tmpl;
++
++ while (*p)
++ {
++ if (*v == 'X')
++ { /* Looking for major */
++ if (*p == '.')
++ {
++ *v++;
++ }
++ else
++ {
++ if (!(*p >= '0' && *p <= '9'))
++ return -1;
++ iver1 += (int) (*p - '0');
++ iver1 *= 1000;
++ }
++ }
++ else if (*v == 'Y')
++ { /* Looking for minor */
++ if (!(*p >= '0' && *p <= '9'))
++ return -1;
++ iver2 += (int) (*p - '0');
++ iver2 *= 10;
++ }
++ else if (*v == 'Z')
++ { /* Looking for compat */
++ if (!(*p >= 'a' && *p <= 'z'))
++ return -1;
++ iver3 = ((int) (*p)) - 96;
++ }
++ else
++ {
++ if (*p != *v)
++ return -1;
++ }
++
++ v++;
++ p++;
++ }
++
++ if (*p)
++ return -1;
++
++ return iver1 + iver2 + iver3;
++}
++
+ /* Return truth value if a CONST_DOUBLE is ok to be a legitimate constant. */
+ static bool
+ microblaze_const_double_ok (rtx op, machine_mode mode)
+@@ -1266,8 +1323,7 @@ microblaze_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED,
+ {
+ if (TARGET_BARREL_SHIFT)
+ {
+- if (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v5.00.a")
+- >= 0)
++ if (microblaze_version_to_int(microblaze_select_cpu) >= microblaze_version_to_int("v5.00.a"))
+ *total = COSTS_N_INSNS (1);
+ else
+ *total = COSTS_N_INSNS (2);
+@@ -1328,8 +1384,7 @@ microblaze_rtx_costs (rtx x, machine_mode mode, int outer_code ATTRIBUTE_UNUSED,
+ }
+ else if (!TARGET_SOFT_MUL)
+ {
+- if (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v5.00.a")
+- >= 0)
++ if (microblaze_version_to_int(microblaze_select_cpu) >= microblaze_version_to_int("v5.00.a"))
+ *total = COSTS_N_INSNS (1);
+ else
+ *total = COSTS_N_INSNS (3);
+@@ -1609,72 +1664,13 @@ function_arg_partial_bytes (cumulative_args_t cum_v, machine_mode mode,
+ return 0;
+ }
+
+-/* Convert a version number of the form "vX.YY.Z" to an integer encoding
+- for easier range comparison. */
+-static int
+-microblaze_version_to_int (const char *version)
+-{
+- const char *p, *v;
+- const char *tmpl = "vXX.YY.Z";
+- int iver = 0;
+-
+- p = version;
+- v = tmpl;
+-
+- while (*p)
+- {
+- if (*v == 'X')
+- { /* Looking for major */
+- if (*p == '.')
+- {
+- v++;
+- }
+- else
+- {
+- if (!(*p >= '0' && *p <= '9'))
+- return -1;
+- iver += (int) (*p - '0');
+- iver *= 10;
+- }
+- }
+- else if (*v == 'Y')
+- { /* Looking for minor */
+- if (!(*p >= '0' && *p <= '9'))
+- return -1;
+- iver += (int) (*p - '0');
+- iver *= 10;
+- }
+- else if (*v == 'Z')
+- { /* Looking for compat */
+- if (!(*p >= 'a' && *p <= 'z'))
+- return -1;
+- iver *= 10;
+- iver += (int) (*p - 'a');
+- }
+- else
+- {
+- if (*p != *v)
+- return -1;
+- }
+-
+- v++;
+- p++;
+- }
+-
+- if (*p)
+- return -1;
+-
+- return iver;
+-}
+-
+-
+ static void
+ microblaze_option_override (void)
+ {
+ register int i, start;
+ register int regno;
+ register machine_mode mode;
+- int ver;
++ int ver,ver_int;
+
+ microblaze_section_threshold = (global_options_set.x_g_switch_value
+ ? g_switch_value
+@@ -1695,13 +1691,13 @@ microblaze_option_override (void)
+ /* Check the MicroBlaze CPU version for any special action to be done. */
+ if (microblaze_select_cpu == NULL)
+ microblaze_select_cpu = MICROBLAZE_DEFAULT_CPU;
+- ver = microblaze_version_to_int (microblaze_select_cpu);
+- if (ver == -1)
++ ver_int = microblaze_version_to_int (microblaze_select_cpu);
++ if (ver_int == -1)
+ {
+ error ("%qs is an invalid argument to -mcpu=", microblaze_select_cpu);
+ }
+
+- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v3.00.a");
++ ver = ver_int - microblaze_version_to_int("v3.00.a");
+ if (ver < 0)
+ {
+ /* No hardware exceptions in earlier versions. So no worries. */
+@@ -1712,8 +1708,7 @@ microblaze_option_override (void)
+ microblaze_pipe = MICROBLAZE_PIPE_3;
+ }
+ else if (ver == 0
+- || (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v4.00.b")
+- == 0))
++ || (ver_int == microblaze_version_to_int("v4.00.b")))
+ {
+ #if 0
+ microblaze_select_flags |= (MICROBLAZE_MASK_NO_UNSAFE_DELAY);
+@@ -1730,11 +1725,9 @@ microblaze_option_override (void)
+ #endif
+ microblaze_no_unsafe_delay = 0;
+ microblaze_pipe = MICROBLAZE_PIPE_5;
+- if (MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v5.00.a") == 0
+- || MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu,
+- "v5.00.b") == 0
+- || MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu,
+- "v5.00.c") == 0)
++ if ((ver_int == microblaze_version_to_int("v5.00.a"))
++ || (ver_int == microblaze_version_to_int("v5.00.b"))
++ || (ver_int == microblaze_version_to_int("v5.00.c")))
+ {
+ /* Pattern compares are to be turned on by default only when
+ compiling for MB v5.00.'z'. */
+@@ -1742,7 +1735,7 @@ microblaze_option_override (void)
+ }
+ }
+
+- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v6.00.a");
++ ver = ver_int - microblaze_version_to_int("v6.00.a");
+ if (ver < 0)
+ {
+ if (TARGET_MULTIPLY_HIGH)
+@@ -1750,7 +1743,7 @@ microblaze_option_override (void)
+ "-mxl-multiply-high can be used only with -mcpu=v6.00.a or greater");
+ }
+
+- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v8.10.a");
++ ver = ver_int - microblaze_version_to_int("v8.10.a");
+ microblaze_has_clz = 1;
+ if (ver < 0)
+ {
+@@ -1759,7 +1752,7 @@ microblaze_option_override (void)
+ }
+
+ /* TARGET_REORDER defaults to 2 if -mxl-reorder not specified. */
+- ver = MICROBLAZE_VERSION_COMPARE (microblaze_select_cpu, "v8.30.a");
++ ver = ver_int - microblaze_version_to_int("v8.30.a");
+ if (ver < 0)
+ {
+ if (TARGET_REORDER == 1)
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0033-Fixing-the-bug-in-the-bit-field-instruction.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0033-Fixing-the-bug-in-the-bit-field-instruction.patch
new file mode 100644
index 000000000..15111477a
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0033-Fixing-the-bug-in-the-bit-field-instruction.patch
@@ -0,0 +1,48 @@
+From f3e259923788176ebb323155cc089e68c6de0895 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 18 Jan 2017 13:57:48 +0530
+Subject: [PATCH 33/54] Fixing the bug in the bit-field instruction. Bit field
+ instruction should be generated only if mcpu >10.0
+
+---
+ gcc/config/microblaze/microblaze.c | 3 +++
+ gcc/config/microblaze/microblaze.h | 2 ++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 30a0fcf..835e906 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -163,6 +163,9 @@ int microblaze_no_unsafe_delay;
+ /* Set to one if the targeted core has the CLZ insn. */
+ int microblaze_has_clz = 0;
+
++/* Set to one if the targeted core has barrel-shift and cpu > 10.0 */
++int microblaze_has_bitfield = 0;
++
+ /* Which CPU pipeline do we use. We haven't really standardized on a CPU
+ version having only a particular type of pipeline. There can still be
+ options on the CPU to scale pipeline features up or down. :(
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 2ac5aeec..991d0f7 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -44,6 +44,7 @@ extern int microblaze_dbx_regno[];
+
+ extern int microblaze_no_unsafe_delay;
+ extern int microblaze_has_clz;
++extern int microblaze_has_bitfield;
+ extern enum pipeline_type microblaze_pipe;
+
+ #define OBJECT_FORMAT_ELF
+@@ -62,6 +63,7 @@ extern enum pipeline_type microblaze_pipe;
+
+ /* Do we have CLZ? */
+ #define TARGET_HAS_CLZ (TARGET_PATTERN_COMPARE && microblaze_has_clz)
++#define TARGET_HAS_BITFIELD (TARGET_BARREL_SHIFT && microblaze_has_bitfield)
+
+ /* The default is to support PIC. */
+ #define TARGET_SUPPORTS_PIC 1
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0034-Patch-microblaze-Macros-used-in-Xilinx-internal-patc.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0034-Patch-microblaze-Macros-used-in-Xilinx-internal-patc.patch
new file mode 100644
index 000000000..f22f2f3fb
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0034-Patch-microblaze-Macros-used-in-Xilinx-internal-patc.patch
@@ -0,0 +1,32 @@
+From 52cf8e91f06ce9259d4d94bb8ea5cb327825b806 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 18 Jan 2017 20:57:10 +0530
+Subject: [PATCH 34/54] [Patch, microblaze]: Macros used in Xilinx internal
+ patches has been removed in gcc 6.2 version so modified the code accordingly.
+
+---
+ gcc/config/microblaze/microblaze.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 835e906..2e3b4c9 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -2520,11 +2520,9 @@ print_operand (FILE * file, rtx op, int letter)
+ REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val);
+ else
+ {
+- REAL_VALUE_TYPE rv;
+- REAL_VALUE_FROM_CONST_DOUBLE (rv, op);
+- REAL_VALUE_TO_TARGET_DOUBLE (rv, l);
+- val[1] = l[WORDS_BIG_ENDIAN == 0];
+- val[0] = l[WORDS_BIG_ENDIAN != 0];
++ REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), l);
++ val[1] = l[WORDS_BIG_ENDIAN == 0];
++ val[0] = l[WORDS_BIG_ENDIAN != 0];
+ }
+ }
+ else if (code == CONST_INT)
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0035-Fixing-the-issue-with-the-builtin_alloc.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0035-Fixing-the-issue-with-the-builtin_alloc.patch
new file mode 100644
index 000000000..00d67bcf6
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0035-Fixing-the-issue-with-the-builtin_alloc.patch
@@ -0,0 +1,44 @@
+From 727b0f7ae03279177559f5d85d8920352bd853b2 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Thu, 23 Feb 2017 17:09:04 +0530
+Subject: [PATCH 35/54] Fixing the issue with the builtin_alloc. register r18
+ was not properly handling the stack pattern which was resolved by using free
+ available register
+
+signed-off-by:nagaraju mekala <nmekala@xilinx.com>
+---
+ gcc/config/microblaze/microblaze.md | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 5a2dd13..8072ffc 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -2076,10 +2076,10 @@
+ ""
+ {
+ rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx);
+- rtx rtmp = gen_rtx_REG (SImode, R_TMP);
++ rtx reg = gen_reg_rtx (Pmode);
+ rtx neg_op0;
+
+- emit_move_insn (rtmp, retaddr);
++ emit_move_insn (reg, retaddr);
+ if (GET_CODE (operands[1]) != CONST_INT)
+ {
+ neg_op0 = gen_reg_rtx (Pmode);
+@@ -2088,9 +2088,9 @@
+ neg_op0 = GEN_INT (- INTVAL (operands[1]));
+
+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0));
+- emit_move_insn (gen_rtx_MEM (Pmode, stack_pointer_rtx), rtmp);
++ emit_move_insn (gen_rtx_MEM (Pmode, stack_pointer_rtx), reg);
+ emit_move_insn (operands[0], virtual_stack_dynamic_rtx);
+- emit_insn (gen_rtx_CLOBBER (SImode, rtmp));
++ emit_insn (gen_rtx_CLOBBER (SImode, reg));
+ DONE;
+ }
+ )
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0036-Patch-Microblaze-reverting-the-cost-check-before-pro.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0036-Patch-Microblaze-reverting-the-cost-check-before-pro.patch
new file mode 100644
index 000000000..54ccd9a0c
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0036-Patch-Microblaze-reverting-the-cost-check-before-pro.patch
@@ -0,0 +1,49 @@
+From 7156e379a67fa47a5fb9ede1448c0d528dbda65b Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Thu, 2 Mar 2017 19:02:31 +0530
+Subject: [PATCH 36/54] [Patch,Microblaze]:reverting the cost check before
+ propagating constants.
+
+---
+ gcc/cprop.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gcc/cprop.c b/gcc/cprop.c
+index e4df509..deb706b 100644
+--- a/gcc/cprop.c
++++ b/gcc/cprop.c
+@@ -733,6 +733,7 @@ try_replace_reg (rtx from, rtx to, rtx_insn *insn)
+ int success = 0;
+ rtx set = single_set (insn);
+
++#if 0
+ bool check_rtx_costs = true;
+ bool speed = optimize_bb_for_speed_p (BLOCK_FOR_INSN (insn));
+ int old_cost = set ? set_rtx_cost (set, speed) : 0;
+@@ -744,6 +745,7 @@ try_replace_reg (rtx from, rtx to, rtx_insn *insn)
+ && (GET_CODE (XEXP (note, 0)) == CONST
+ || CONSTANT_P (XEXP (note, 0)))))
+ check_rtx_costs = false;
++#endif
+
+ /* Usually we substitute easy stuff, so we won't copy everything.
+ We however need to take care to not duplicate non-trivial CONST
+@@ -752,6 +754,7 @@ try_replace_reg (rtx from, rtx to, rtx_insn *insn)
+
+ validate_replace_src_group (from, to, insn);
+
++#if 0
+ /* If TO is a constant, check the cost of the set after propagation
+ to the cost of the set before the propagation. If the cost is
+ higher, then do not replace FROM with TO. */
+@@ -764,6 +767,7 @@ try_replace_reg (rtx from, rtx to, rtx_insn *insn)
+ return false;
+ }
+
++#endif
+
+ if (num_changes_pending () && apply_change_group ())
+ success = 1;
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0037-Patch-Microblaze-update-in-constraints-for-bitfield-.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0037-Patch-Microblaze-update-in-constraints-for-bitfield-.patch
new file mode 100644
index 000000000..26b685a58
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0037-Patch-Microblaze-update-in-constraints-for-bitfield-.patch
@@ -0,0 +1,80 @@
+From 149cf4619622d27641a2886cd8bf38a49ad88f87 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Mon, 19 Feb 2018 18:06:16 +0530
+Subject: [PATCH 37/54] [Patch,Microblaze]: update in constraints for bitfield
+ insert and extract instructions.
+
+---
+ gcc/config/microblaze/microblaze.md | 43 ++++++-------------------------------
+ 1 file changed, 7 insertions(+), 36 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 8072ffc..9bb87ec 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -2476,33 +2476,17 @@
+ DONE;
+ }")
+
+-(define_expand "extvsi"
++(define_expand "extzvsi"
+ [(set (match_operand:SI 0 "register_operand" "r")
+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
+ (match_operand:SI 2 "immediate_operand" "I")
+ (match_operand:SI 3 "immediate_operand" "I")))]
+ "TARGET_HAS_BITFIELD"
+-"
+-{
+- unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
+- unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
+-
+- if ((len == 0) || (pos + len > 32) )
+- FAIL;
+-
+- ;;if (!register_operand (operands[1], VOIDmode))
+- ;; FAIL;
+- if (operands[0] == operands[1])
+- FAIL;
+- if (GET_CODE (operands[1]) == ASHIFT)
+- FAIL;
+-;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
+- emit_insn (gen_extv_32 (operands[0], operands[1],
+- operands[2], operands[3]));
+- DONE;
+-}")
++""
++)
+
+-(define_insn "extv_32"
++
++(define_insn "extzv_32"
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
+ (match_operand:SI 2 "immediate_operand" "I")
+@@ -2519,21 +2503,8 @@
+ (match_operand:SI 2 "immediate_operand" "I"))
+ (match_operand:SI 3 "register_operand" "r"))]
+ "TARGET_HAS_BITFIELD"
+- "
+-{
+- unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
+- unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
+-
+- if (len <= 0 || pos + len > 32)
+- FAIL;
+-
+- ;;if (!register_operand (operands[0], VOIDmode))
+- ;; FAIL;
+-
+- emit_insn (gen_insv_32 (operands[0], operands[1],
+- operands[2], operands[3]));
+- DONE;
+-}")
++""
++)
+
+ (define_insn "insv_32"
+ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0038-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0038-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch
new file mode 100644
index 000000000..d8ae6c155
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0038-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch
@@ -0,0 +1,38 @@
+From 5494699756f8e1dba6848fcf09780a031139c232 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Mon, 4 Jun 2018 10:10:18 +0530
+Subject: [PATCH 38/54] [Patch,Microblaze] : Removed fsqrt generation for
+ double values.
+
+---
+ gcc/config/microblaze/microblaze.md | 14 --------------
+ 1 file changed, 14 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 9bb87ec..a93ddd0 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -524,20 +524,6 @@
+ (set_attr "mode" "SF")
+ (set_attr "length" "4")])
+
+-(define_insn "sqrtdf2"
+- [(set (match_operand:DF 0 "register_operand" "=d")
+- (sqrt:DF (match_operand:DF 1 "register_operand" "dG")))]
+- "TARGET_HARD_FLOAT && TARGET_FLOAT_SQRT"
+- {
+- if (REGNO (operands[0]) == REGNO (operands[1]))
+- return "fsqrt\t%0,%1";
+- else
+- return "fsqrt\t%0,%1\n\taddk\t%D0,%D1,r0";
+- }
+- [(set_attr "type" "fsqrt")
+- (set_attr "mode" "SF")
+- (set_attr "length" "4")])
+-
+ (define_insn "fix_truncsfsi2"
+ [(set (match_operand:SI 0 "register_operand" "=d")
+ (fix:SI (match_operand:SF 1 "register_operand" "d")))]
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0039-Intial-commit-of-64-bit-Microblaze.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0039-Intial-commit-of-64-bit-Microblaze.patch
new file mode 100644
index 000000000..88497a8ef
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0039-Intial-commit-of-64-bit-Microblaze.patch
@@ -0,0 +1,810 @@
+From 6e8b37bf54646c38fb4071d542a60ea92715df9b Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Tue, 3 Apr 2018 16:48:39 +0530
+Subject: [PATCH 39/54] Intial commit of 64-bit Microblaze
+
+---
+ gcc/config/microblaze/microblaze-protos.h | 1 +
+ gcc/config/microblaze/microblaze.c | 109 +++++++--
+ gcc/config/microblaze/microblaze.h | 4 +-
+ gcc/config/microblaze/microblaze.md | 370 +++++++++++++++++++++++++++++-
+ gcc/config/microblaze/microblaze.opt | 9 +-
+ gcc/config/microblaze/t-microblaze | 7 +-
+ 6 files changed, 461 insertions(+), 39 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
+index c39e2e9..a5ed62e 100644
+--- a/gcc/config/microblaze/microblaze-protos.h
++++ b/gcc/config/microblaze/microblaze-protos.h
+@@ -35,6 +35,7 @@ extern void microblaze_expand_divide (rtx *);
+ extern void microblaze_expand_conditional_branch (enum machine_mode, rtx *);
+ extern void microblaze_expand_conditional_branch_reg (machine_mode, rtx *);
+ extern void microblaze_expand_conditional_branch_sf (rtx *);
++extern void microblaze_expand_conditional_branch_df (rtx *);
+ extern int microblaze_can_use_return_insn (void);
+ extern void print_operand (FILE *, rtx, int);
+ extern void print_operand_address (FILE *, rtx);
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 2e3b4c9..2079ae9 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -3457,11 +3457,11 @@ microblaze_expand_move (machine_mode mode, rtx operands[])
+ op0 = operands[0];
+ op1 = operands[1];
+
+- if (!register_operand (op0, SImode)
+- && !register_operand (op1, SImode)
++ if (!register_operand (op0, mode)
++ && !register_operand (op1, mode)
+ && (GET_CODE (op1) != CONST_INT || INTVAL (op1) != 0))
+ {
+- rtx temp = force_reg (SImode, op1);
++ rtx temp = force_reg (mode, op1);
+ emit_move_insn (op0, temp);
+ return true;
+ }
+@@ -3499,12 +3499,12 @@ microblaze_expand_move (machine_mode mode, rtx operands[])
+ && (flag_pic == 2 || microblaze_tls_symbol_p (p0)
+ || !SMALL_INT (p1)))))
+ {
+- rtx temp = force_reg (SImode, p0);
++ rtx temp = force_reg (mode, p0);
+ rtx temp2 = p1;
+
+ if (flag_pic && reload_in_progress)
+ df_set_regs_ever_live (PIC_OFFSET_TABLE_REGNUM, true);
+- emit_move_insn (op0, gen_rtx_PLUS (SImode, temp, temp2));
++ emit_move_insn (op0, gen_rtx_PLUS (mode, temp, temp2));
+ return true;
+ }
+ }
+@@ -3635,7 +3635,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
+ rtx cmp_op0 = operands[1];
+ rtx cmp_op1 = operands[2];
+ rtx label1 = operands[3];
+- rtx comp_reg = gen_reg_rtx (SImode);
++ rtx comp_reg = gen_reg_rtx (mode);
+ rtx condition;
+
+ gcc_assert ((GET_CODE (cmp_op0) == REG) || (GET_CODE (cmp_op0) == SUBREG));
+@@ -3644,23 +3644,36 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
+ if (cmp_op1 == const0_rtx)
+ {
+ comp_reg = cmp_op0;
+- condition = gen_rtx_fmt_ee (signed_condition (code), SImode, comp_reg, const0_rtx);
+- emit_jump_insn (gen_condjump (condition, label1));
++ condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx);
++ if (mode == SImode)
++ emit_jump_insn (gen_condjump (condition, label1));
++ else
++ emit_jump_insn (gen_long_condjump (condition, label1));
++
+ }
+
+ else if (code == EQ || code == NE)
+ {
+ /* Use xor for equal/not-equal comparison. */
+- emit_insn (gen_xorsi3 (comp_reg, cmp_op0, cmp_op1));
+- condition = gen_rtx_fmt_ee (signed_condition (code), SImode, comp_reg, const0_rtx);
+- emit_jump_insn (gen_condjump (condition, label1));
++ if (mode == SImode)
++ emit_insn (gen_xorsi3 (comp_reg, cmp_op0, cmp_op1));
++ else
++ emit_insn (gen_xordi3 (comp_reg, cmp_op0, cmp_op1));
++ condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx);
++ if (mode == SImode)
++ emit_jump_insn (gen_condjump (condition, label1));
++ else
++ emit_jump_insn (gen_long_condjump (condition, label1));
+ }
+ else
+ {
+ /* Generate compare and branch in single instruction. */
+ cmp_op1 = force_reg (mode, cmp_op1);
+ condition = gen_rtx_fmt_ee (code, mode, cmp_op0, cmp_op1);
+- emit_jump_insn (gen_branch_compare(condition, cmp_op0, cmp_op1, label1));
++ if (mode == SImode)
++ emit_jump_insn (gen_branch_compare(condition, cmp_op0, cmp_op1, label1));
++ else
++ emit_jump_insn (gen_long_branch_compare(condition, cmp_op0, cmp_op1, label1));
+ }
+ }
+
+@@ -3671,7 +3684,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[])
+ rtx cmp_op0 = operands[1];
+ rtx cmp_op1 = operands[2];
+ rtx label1 = operands[3];
+- rtx comp_reg = gen_reg_rtx (SImode);
++ rtx comp_reg = gen_reg_rtx (mode);
+ rtx condition;
+
+ gcc_assert ((GET_CODE (cmp_op0) == REG)
+@@ -3682,30 +3695,63 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[])
+ {
+ comp_reg = cmp_op0;
+ condition = gen_rtx_fmt_ee (signed_condition (code),
+- SImode, comp_reg, const0_rtx);
+- emit_jump_insn (gen_condjump (condition, label1));
++ mode, comp_reg, const0_rtx);
++ if (mode == SImode)
++ emit_jump_insn (gen_condjump (condition, label1));
++ else
++ emit_jump_insn (gen_long_condjump (condition, label1));
+ }
+ else if (code == EQ)
+ {
+- emit_insn (gen_seq_internal_pat (comp_reg,
+- cmp_op0, cmp_op1));
+- condition = gen_rtx_EQ (SImode, comp_reg, const0_rtx);
+- emit_jump_insn (gen_condjump (condition, label1));
++ if (mode == SImode)
++ {
++ emit_insn (gen_seq_internal_pat (comp_reg, cmp_op0,
++ cmp_op1));
++ }
++ else
++ {
++ emit_insn (gen_seq_internal_pat (comp_reg, cmp_op0,
++ cmp_op1));
++ }
++ condition = gen_rtx_EQ (mode, comp_reg, const0_rtx);
++ if (mode == SImode)
++ emit_jump_insn (gen_condjump (condition, label1));
++ else
++ emit_jump_insn (gen_long_condjump (condition, label1));
++
+ }
+ else if (code == NE)
+ {
+- emit_insn (gen_sne_internal_pat (comp_reg, cmp_op0,
+- cmp_op1));
+- condition = gen_rtx_NE (SImode, comp_reg, const0_rtx);
+- emit_jump_insn (gen_condjump (condition, label1));
++ if (mode == SImode)
++ {
++ emit_insn (gen_sne_internal_pat (comp_reg, cmp_op0,
++ cmp_op1));
++ }
++ else
++ {
++ emit_insn (gen_sne_internal_pat (comp_reg, cmp_op0,
++ cmp_op1));
++ }
++ condition = gen_rtx_NE (mode, comp_reg, const0_rtx);
++ if (mode == SImode)
++ emit_jump_insn (gen_condjump (condition, label1));
++ else
++ emit_jump_insn (gen_long_condjump (condition, label1));
+ }
+ else
+ {
+ /* Generate compare and branch in single instruction. */
+ cmp_op1 = force_reg (mode, cmp_op1);
+ condition = gen_rtx_fmt_ee (code, mode, cmp_op0, cmp_op1);
+- emit_jump_insn (gen_branch_compare (condition, cmp_op0,
+- cmp_op1, label1));
++ if (mode == SImode)
++ emit_jump_insn (gen_branch_compare (condition, cmp_op0,
++ cmp_op1, label1));
++ else
++ {
++ emit_jump_insn (gen_long_branch_compare (condition, cmp_op0,
++ cmp_op1, label1));
++ }
++
+ }
+ }
+
+@@ -3722,6 +3768,19 @@ microblaze_expand_conditional_branch_sf (rtx operands[])
+ emit_jump_insn (gen_condjump (condition, operands[3]));
+ }
+
++void
++microblaze_expand_conditional_branch_df (rtx operands[])
++{
++ rtx condition;
++ rtx cmp_op0 = XEXP (operands[0], 0);
++ rtx cmp_op1 = XEXP (operands[0], 1);
++ rtx comp_reg = gen_reg_rtx (DImode);
++
++ emit_insn (gen_cstoredf4 (comp_reg, operands[0], cmp_op0, cmp_op1));
++ condition = gen_rtx_NE (DImode, comp_reg, const0_rtx);
++ emit_jump_insn (gen_long_condjump (condition, operands[3]));
++}
++
+ /* Implement TARGET_FRAME_POINTER_REQUIRED. */
+
+ static bool
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 991d0f7..72fbee5 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -102,6 +102,7 @@ extern enum pipeline_type microblaze_pipe;
+ #define ASM_SPEC "\
+ %(target_asm_spec) \
+ %{mbig-endian:-EB} \
++%{m64:-m64} \
+ %{mlittle-endian:-EL}"
+
+ /* Extra switches sometimes passed to the linker. */
+@@ -110,6 +111,7 @@ extern enum pipeline_type microblaze_pipe;
+ #define LINK_SPEC "%{shared:-shared} -N -relax \
+ %{mbig-endian:-EB --oformat=elf32-microblaze} \
+ %{mlittle-endian:-EL --oformat=elf32-microblazeel} \
++ %{m64:-EL --oformat=elf64-microblazeel} \
+ %{Zxl-mode-xmdstub:-defsym _TEXT_START_ADDR=0x800} \
+ %{mxl-mode-xmdstub:-defsym _TEXT_START_ADDR=0x800} \
+ %{mxl-gp-opt:%{G*}} %{!mxl-gp-opt: -G 0} \
+@@ -217,7 +219,7 @@ extern enum pipeline_type microblaze_pipe;
+ #define MIN_UNITS_PER_WORD 4
+ #define INT_TYPE_SIZE 32
+ #define SHORT_TYPE_SIZE 16
+-#define LONG_TYPE_SIZE 32
++#define LONG_TYPE_SIZE 64
+ #define LONG_LONG_TYPE_SIZE 64
+ #define FLOAT_TYPE_SIZE 32
+ #define DOUBLE_TYPE_SIZE 64
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index a93ddd0..6976b37 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -495,7 +495,6 @@
+ (set_attr "mode" "SF")
+ (set_attr "length" "4")])
+
+-
+ (define_insn "divsf3"
+ [(set (match_operand:SF 0 "register_operand" "=d")
+ (div:SF (match_operand:SF 1 "register_operand" "d")
+@@ -506,6 +505,7 @@
+ (set_attr "mode" "SF")
+ (set_attr "length" "4")])
+
++
+ (define_insn "sqrtsf2"
+ [(set (match_operand:SF 0 "register_operand" "=d")
+ (sqrt:SF (match_operand:SF 1 "register_operand" "d")))]
+@@ -560,6 +560,18 @@
+
+ ;; Adding 2 DI operands in register or reg/imm
+
++(define_insn "adddi3_long"
++ [(set (match_operand:DI 0 "register_operand" "=d,d")
++ (plus:DI (match_operand:DI 1 "reg_or_0_operand" "%dJ,dJ")
++ (match_operand:DI 2 "arith_plus_operand" "d,K")))]
++ "TARGET_MB_64"
++ "@
++ addlk\t%0,%z1,%2
++ addlik\t%0,%z1,%2"
++ [(set_attr "type" "arith,arith")
++ (set_attr "mode" "DI,DI")
++ (set_attr "length" "4,4")])
++
+ (define_insn "adddi3"
+ [(set (match_operand:DI 0 "register_operand" "=d,d")
+ (plus:DI (match_operand:DI 1 "register_operand" "%d,d")
+@@ -604,6 +616,18 @@
+ ;; Double Precision Subtraction
+ ;;----------------------------------------------------------------
+
++(define_insn "subdi3_long"
++ [(set (match_operand:DI 0 "register_operand" "=d,d")
++ (minus:DI (match_operand:DI 1 "register_operand" "d,d")
++ (match_operand:DI 2 "register_operand" "d,n")))]
++ "TARGET_MB_64"
++ "@
++ rsubl\t%0,%2,%1
++ addlik\t%0,%z1,-%2"
++ [(set_attr "type" "darith")
++ (set_attr "mode" "DI,DI")
++ (set_attr "length" "4,4")])
++
+ (define_insn "subdi3"
+ [(set (match_operand:DI 0 "register_operand" "=&d")
+ (minus:DI (match_operand:DI 1 "register_operand" "d")
+@@ -793,6 +817,15 @@
+ (set_attr "mode" "SI")
+ (set_attr "length" "4")])
+
++(define_insn "negdi2_long"
++ [(set (match_operand:DI 0 "register_operand" "=d")
++ (neg:DI (match_operand:DI 1 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "rsubl\t%0,%1,r0"
++ [(set_attr "type" "darith")
++ (set_attr "mode" "DI")
++ (set_attr "length" "4")])
++
+ (define_insn "negdi2"
+ [(set (match_operand:DI 0 "register_operand" "=d")
+ (neg:DI (match_operand:DI 1 "register_operand" "d")))]
+@@ -812,6 +845,15 @@
+ (set_attr "mode" "SI")
+ (set_attr "length" "4")])
+
++(define_insn "one_cmpldi2_long"
++ [(set (match_operand:DI 0 "register_operand" "=d")
++ (not:DI (match_operand:DI 1 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "xorli\t%0,%1,-1"
++ [(set_attr "type" "arith")
++ (set_attr "mode" "DI")
++ (set_attr "length" "4")])
++
+ (define_insn "*one_cmpldi2"
+ [(set (match_operand:DI 0 "register_operand" "=d")
+ (not:DI (match_operand:DI 1 "register_operand" "d")))]
+@@ -838,6 +880,20 @@
+ ;; Logical
+ ;;----------------------------------------------------------------
+
++(define_insn "anddi3"
++ [(set (match_operand:DI 0 "register_operand" "=d,d")
++ (and:DI (match_operand:DI 1 "arith_operand" "d,d")
++ (match_operand:DI 2 "arith_operand" "d,K")))]
++ "TARGET_MB_64"
++ "@
++ andl\t%0,%1,%2
++ andli\t%0,%1,%2 #andl1"
++ ;; andli\t%0,%1,%2 #andl3
++ ;; andli\t%0,%1,%2 #andl2
++ [(set_attr "type" "arith,arith")
++ (set_attr "mode" "DI,DI")
++ (set_attr "length" "4,4")])
++
+ (define_insn "andsi3"
+ [(set (match_operand:SI 0 "register_operand" "=d,d,d,d")
+ (and:SI (match_operand:SI 1 "arith_operand" "%d,d,d,d")
+@@ -853,6 +909,18 @@
+ (set_attr "length" "4,8,8,8")])
+
+
++(define_insn "iordi3"
++ [(set (match_operand:DI 0 "register_operand" "=d,d")
++ (ior:DI (match_operand:DI 1 "arith_operand" "d,d")
++ (match_operand:DI 2 "arith_operand" "d,K")))]
++ "TARGET_MB_64"
++ "@
++ orl\t%0,%1,%2
++ orli\t%0,%1,%2 #andl1"
++ [(set_attr "type" "arith,arith")
++ (set_attr "mode" "DI,DI")
++ (set_attr "length" "4,4")])
++
+ (define_insn "iorsi3"
+ [(set (match_operand:SI 0 "register_operand" "=d,d,d,d")
+ (ior:SI (match_operand:SI 1 "arith_operand" "%d,d,d,d")
+@@ -867,6 +935,19 @@
+ (set_attr "mode" "SI,SI,SI,SI")
+ (set_attr "length" "4,8,8,8")])
+
++(define_insn "xordi3"
++ [(set (match_operand:DI 0 "register_operand" "=d,d")
++ (xor:DI (match_operand:DI 1 "arith_operand" "%d,d")
++ (match_operand:DI 2 "arith_operand" "d,K")))]
++ "TARGET_MB_64"
++ "@
++ xorl\t%0,%1,%2
++ xorli\t%0,%1,%2 #andl1"
++ [(set_attr "type" "arith,arith")
++ (set_attr "mode" "DI,DI")
++ (set_attr "length" "4,4")])
++
++
+ (define_insn "xorsi3"
+ [(set (match_operand:SI 0 "register_operand" "=d,d,d")
+ (xor:SI (match_operand:SI 1 "arith_operand" "%d,d,d")
+@@ -935,6 +1016,26 @@
+ (set_attr "mode" "SI")
+ (set_attr "length" "4")])
+
++;;(define_expand "extendqidi2"
++;; [(set (match_operand:DI 0 "register_operand" "=d")
++;; (sign_extend:DI (match_operand:QI 1 "general_operand" "d")))]
++;; "TARGET_MB_64"
++;; {
++;; if (GET_CODE (operands[1]) != REG)
++;; FAIL;
++;; }
++;;)
++
++
++;;(define_insn "extendqidi2"
++;; [(set (match_operand:DI 0 "register_operand" "=d")
++;; (sign_extend:DI (match_operand:QI 1 "register_operand" "d")))]
++;; "TARGET_MB_64"
++;; "sextl8\t%0,%1"
++;; [(set_attr "type" "arith")
++;; (set_attr "mode" "DI")
++;; (set_attr "length" "4")])
++
+ (define_insn "extendhisi2"
+ [(set (match_operand:SI 0 "register_operand" "=d")
+ (sign_extend:SI (match_operand:HI 1 "register_operand" "d")))]
+@@ -944,6 +1045,16 @@
+ (set_attr "mode" "SI")
+ (set_attr "length" "4")])
+
++(define_insn "extendhidi2"
++ [(set (match_operand:DI 0 "register_operand" "=d")
++ (sign_extend:DI (match_operand:HI 1 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "sextl16\t%0,%1"
++ [(set_attr "type" "arith")
++ (set_attr "mode" "DI")
++ (set_attr "length" "4")])
++
++
+ ;; Those for integer source operand are ordered
+ ;; widest source type first.
+
+@@ -1009,7 +1120,6 @@
+ )
+
+
+-
+ (define_insn "*movdi_internal"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o")
+ (match_operand:DI 1 "general_operand" " d,i,J,R,o,d,d"))]
+@@ -1421,6 +1531,36 @@
+ (set_attr "length" "4,4")]
+ )
+
++;; Barrel shift left
++(define_expand "ashldi3"
++ [(set (match_operand:DI 0 "register_operand" "=&d")
++ (ashift:DI (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "arith_operand" "")))]
++"TARGET_MB_64"
++{
++;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
++if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
++ {
++ emit_insn(gen_ashldi3_long (operands[0], operands[1],operands[2]));
++ DONE;
++ }
++else
++ FAIL;
++}
++)
++
++(define_insn "ashldi3_long"
++ [(set (match_operand:DI 0 "register_operand" "=d,d")
++ (ashift:DI (match_operand:DI 1 "register_operand" "d,d")
++ (match_operand:DI 2 "arith_operand" "I,d")))]
++ "TARGET_MB_64"
++ "@
++ bsllli\t%0,%1,%2
++ bslll\t%0,%1,%2"
++ [(set_attr "type" "bshift,bshift")
++ (set_attr "mode" "DI,DI")
++ (set_attr "length" "4,4")]
++)
+ ;; The following patterns apply when there is no barrel shifter present
+
+ (define_insn "*ashlsi3_with_mul_delay"
+@@ -1546,6 +1686,36 @@
+ ;;----------------------------------------------------------------
+ ;; 32-bit right shifts
+ ;;----------------------------------------------------------------
++;; Barrel shift left
++(define_expand "ashrdi3"
++ [(set (match_operand:DI 0 "register_operand" "=&d")
++ (ashiftrt:DI (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "arith_operand" "")))]
++"TARGET_MB_64"
++{
++;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
++if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
++ {
++ emit_insn(gen_ashrdi3_long (operands[0], operands[1],operands[2]));
++ DONE;
++ }
++else
++ FAIL;
++}
++)
++
++(define_insn "ashrdi3_long"
++ [(set (match_operand:DI 0 "register_operand" "=d,d")
++ (ashiftrt:DI (match_operand:DI 1 "register_operand" "d,d")
++ (match_operand:DI 2 "arith_operand" "I,d")))]
++ "TARGET_MB_64"
++ "@
++ bslrai\t%0,%1,%2
++ bslra\t%0,%1,%2"
++ [(set_attr "type" "bshift,bshift")
++ (set_attr "mode" "DI,DI")
++ (set_attr "length" "4,4")]
++ )
+ (define_expand "ashrsi3"
+ [(set (match_operand:SI 0 "register_operand" "=&d")
+ (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
+@@ -1655,6 +1825,36 @@
+ ;;----------------------------------------------------------------
+ ;; 32-bit right shifts (logical)
+ ;;----------------------------------------------------------------
++;; Barrel shift left
++(define_expand "lshrdi3"
++ [(set (match_operand:DI 0 "register_operand" "=&d")
++ (lshiftrt:DI (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "arith_operand" "")))]
++"TARGET_MB_64"
++{
++;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
++if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
++ {
++ emit_insn(gen_lshrdi3_long (operands[0], operands[1],operands[2]));
++ DONE;
++ }
++else
++ FAIL;
++}
++)
++
++(define_insn "lshrdi3_long"
++ [(set (match_operand:DI 0 "register_operand" "=d,d")
++ (lshiftrt:DI (match_operand:DI 1 "register_operand" "d,d")
++ (match_operand:DI 2 "arith_operand" "I,d")))]
++ "TARGET_MB_64"
++ "@
++ bslrli\t%0,%1,%2
++ bslrl\t%0,%1,%2"
++ [(set_attr "type" "bshift,bshift")
++ (set_attr "mode" "DI,DI")
++ (set_attr "length" "4,4")]
++ )
+
+ (define_expand "lshrsi3"
+ [(set (match_operand:SI 0 "register_operand" "=&d")
+@@ -1801,6 +2001,8 @@
+ (set_attr "length" "4")]
+ )
+
++
++
+ ;;----------------------------------------------------------------
+ ;; Setting a register from an floating point comparison.
+ ;;----------------------------------------------------------------
+@@ -1816,6 +2018,18 @@
+ (set_attr "length" "4")]
+ )
+
++(define_insn "cstoredf4"
++ [(set (match_operand:DI 0 "register_operand" "=r")
++ (match_operator:DI 1 "ordered_comparison_operator"
++ [(match_operand:DF 2 "register_operand" "r")
++ (match_operand:DF 3 "register_operand" "r")]))]
++ "TARGET_MB_64"
++ "dcmp.%C1\t%0,%3,%2"
++ [(set_attr "type" "fcmp")
++ (set_attr "mode" "DF")
++ (set_attr "length" "4")]
++)
++
+ ;;----------------------------------------------------------------
+ ;; Conditional branches
+ ;;----------------------------------------------------------------
+@@ -1928,6 +2142,115 @@
+ (set_attr "length" "12")]
+ )
+
++
++(define_expand "cbranchdi4"
++ [(set (pc)
++ (if_then_else (match_operator 0 "ordered_comparison_operator"
++ [(match_operand:DI 1 "register_operand")
++ (match_operand:DI 2 "arith_operand" "I,i")])
++ (label_ref (match_operand 3 ""))
++ (pc)))]
++ "TARGET_MB_64"
++{
++ microblaze_expand_conditional_branch (DImode, operands);
++ DONE;
++})
++
++(define_expand "cbranchdi4_reg"
++ [(set (pc)
++ (if_then_else (match_operator 0 "ordered_comparison_operator"
++ [(match_operand:DI 1 "register_operand")
++ (match_operand:DI 2 "register_operand")])
++ (label_ref (match_operand 3 ""))
++ (pc)))]
++ "TARGET_MB_64"
++{
++ microblaze_expand_conditional_branch_reg (DImode, operands);
++ DONE;
++})
++
++(define_expand "cbranchdf4"
++ [(set (pc)
++ (if_then_else (match_operator 0 "ordered_comparison_operator"
++ [(match_operand:DF 1 "register_operand")
++ (match_operand:DF 2 "register_operand")])
++ (label_ref (match_operand 3 ""))
++ (pc)))]
++ "TARGET_MB_64"
++{
++ microblaze_expand_conditional_branch_df (operands);
++ DONE;
++
++})
++
++;; Used to implement comparison instructions
++(define_expand "long_condjump"
++ [(set (pc)
++ (if_then_else (match_operand 0)
++ (label_ref (match_operand 1))
++ (pc)))])
++
++(define_insn "long_branch_zero"
++ [(set (pc)
++ (if_then_else (match_operator:DI 0 "ordered_comparison_operator"
++ [(match_operand:DI 1 "register_operand" "d")
++ (const_int 0)])
++ (match_operand:DI 2 "pc_or_label_operand" "")
++ (match_operand:DI 3 "pc_or_label_operand" "")))
++ ]
++ "TARGET_MB_64"
++ {
++ if (operands[3] == pc_rtx)
++ return "beal%C0i%?\t%z1,%2";
++ else
++ return "beal%N0i%?\t%z1,%3";
++ }
++ [(set_attr "type" "branch")
++ (set_attr "mode" "none")
++ (set_attr "length" "4")]
++)
++
++(define_insn "long_branch_compare"
++ [(set (pc)
++ (if_then_else (match_operator:DI 0 "cmp_op"
++ [(match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "register_operand" "d")
++ ])
++ (label_ref (match_operand 3))
++ (pc)))
++ (clobber(reg:DI R_TMP))]
++ "TARGET_MB_64"
++ {
++ operands[4] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
++ enum rtx_code code = GET_CODE (operands[0]);
++
++ if (code == GT || code == LE)
++ {
++ output_asm_insn ("cmpl\tr18,%z1,%z2", operands);
++ code = swap_condition (code);
++ }
++ else if (code == GTU || code == LEU)
++ {
++ output_asm_insn ("cmplu\tr18,%z1,%z2", operands);
++ code = swap_condition (code);
++ }
++ else if (code == GE || code == LT)
++ {
++ output_asm_insn ("cmpl\tr18,%z2,%z1", operands);
++ }
++ else if (code == GEU || code == LTU)
++ {
++ output_asm_insn ("cmplu\tr18,%z2,%z1", operands);
++ }
++
++ operands[0] = gen_rtx_fmt_ee (signed_condition (code), DImode, operands[4], const0_rtx);
++ return "beal%C0i%?\tr18,%3";
++ }
++ [(set_attr "type" "branch")
++ (set_attr "mode" "none")
++ (set_attr "length" "12")]
++)
++
+ ;;----------------------------------------------------------------
+ ;; Unconditional branches
+ ;;----------------------------------------------------------------
+@@ -2462,17 +2785,33 @@
+ DONE;
+ }")
+
+-(define_expand "extzvsi"
++(define_expand "extvsi"
+ [(set (match_operand:SI 0 "register_operand" "r")
+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
+ (match_operand:SI 2 "immediate_operand" "I")
+ (match_operand:SI 3 "immediate_operand" "I")))]
+ "TARGET_HAS_BITFIELD"
+-""
+-)
+-
++"
++{
++ unsigned HOST_WIDE_INT len = UINTVAL (operands[2]);
++ unsigned HOST_WIDE_INT pos = UINTVAL (operands[3]);
++
++ if ((len == 0) || (pos + len > 32) )
++ FAIL;
++
++ ;;if (!register_operand (operands[1], VOIDmode))
++ ;; FAIL;
++ if (operands[0] == operands[1])
++ FAIL;
++ if (GET_CODE (operands[1]) == ASHIFT)
++ FAIL;
++;; operands[2] = GEN_INT(INTVAL(operands[2])+1 );
++ emit_insn (gen_extv_32 (operands[0], operands[1],
++ operands[2], operands[3]));
++ DONE;
++}")
+
+-(define_insn "extzv_32"
++(define_insn "extv_32"
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
+ (match_operand:SI 2 "immediate_operand" "I")
+@@ -2489,8 +2828,21 @@
+ (match_operand:SI 2 "immediate_operand" "I"))
+ (match_operand:SI 3 "register_operand" "r"))]
+ "TARGET_HAS_BITFIELD"
+-""
+-)
++ "
++{
++ unsigned HOST_WIDE_INT len = UINTVAL (operands[1]);
++ unsigned HOST_WIDE_INT pos = UINTVAL (operands[2]);
++
++ if (len <= 0 || pos + len > 32)
++ FAIL;
++
++ ;;if (!register_operand (operands[0], VOIDmode))
++ ;; FAIL;
++
++ emit_insn (gen_insv_32 (operands[0], operands[1],
++ operands[2], operands[3]));
++ DONE;
++}")
+
+ (define_insn "insv_32"
+ [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
+diff --git a/gcc/config/microblaze/microblaze.opt b/gcc/config/microblaze/microblaze.opt
+index c8e6f00..cdcae00 100644
+--- a/gcc/config/microblaze/microblaze.opt
++++ b/gcc/config/microblaze/microblaze.opt
+@@ -125,11 +125,16 @@ Description for mxl-mode-novectors.
+
+ mxl-prefetch
+ Target Mask(PREFETCH)
+-Use hardware prefetch instruction
++Use hardware prefetch instruction.
+
+ mxl-mode-xilkernel
+ Target
+
+ mxl-frequency
+ Target Mask(AREA_OPTIMIZED_2)
+-Use 8 stage pipeline (frequency optimization)
++Use 8 stage pipeline (frequency optimization).
++
++m64
++Target Mask(MB_64)
++MicroBlaze 64-bit mode.
++
+diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
+index 41fa9a9..e9a1921 100644
+--- a/gcc/config/microblaze/t-microblaze
++++ b/gcc/config/microblaze/t-microblaze
+@@ -1,8 +1,11 @@
+-MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-endian
+-MULTILIB_DIRNAMES = bs m mh le
++MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-endian m64
++MULTILIB_DIRNAMES = bs m mh le m64
+ MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
+ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
++MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64
+ MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
++MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
++MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
+
+ # Extra files
+ microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0040-Added-load-store-pattern-movdi-and-also-adding-missi.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0040-Added-load-store-pattern-movdi-and-also-adding-missi.patch
new file mode 100644
index 000000000..1157a82fc
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0040-Added-load-store-pattern-movdi-and-also-adding-missi.patch
@@ -0,0 +1,83 @@
+From 5526d87787d61990be3187b230fae4d0591d0651 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Wed, 4 Apr 2018 16:41:41 +0530
+Subject: [PATCH 40/54] Added load store pattern movdi and also adding missing
+ files
+
+---
+ gcc/config/microblaze/constraints.md | 5 +++++
+ gcc/config/microblaze/microblaze.md | 26 ++++++++++++++++++++++++++
+ gcc/config/microblaze/t-microblaze | 4 ++--
+ 3 files changed, 33 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
+index ae14944..a06b4d8 100644
+--- a/gcc/config/microblaze/constraints.md
++++ b/gcc/config/microblaze/constraints.md
+@@ -52,6 +52,11 @@
+ (and (match_code "const_int")
+ (match_test "ival > 0 && ival < 0x10000")))
+
++(define_constraint "K"
++ "A constant in the range 0xffffff8000000000L to 0x0000007fffffffffL (inclusive)."
++ (and (match_code "const_int")
++ (match_test "ival > (long)0xffffff8000000000L && ival < (long)0x0000007fffffffffL")))
++
+ ;; Define floating point constraints
+
+ (define_constraint "G"
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 6976b37..0cd0441 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -1120,6 +1120,32 @@
+ )
+
+
++(define_insn "*movdi_internal_64"
++ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o")
++ (match_operand:DI 1 "general_operand" " d,K,J,R,o,d,d"))]
++ "TARGET_MB_64 && (INTVAL(operands[1]) < 0x7fffffffff) && (INTVAL(operands[1]) > 0xffffff8000000000)"
++ {
++ switch (which_alternative)
++ {
++ case 0:
++ return "addlk\t%0,%1";
++ case 1:
++ return "addlik\t%0,r0,%1";
++ case 2:
++ return "addlk\t%0,r0,r0";
++ case 3:
++ case 4:
++ return "lli\t%0,%1";
++ case 5:
++ case 6:
++ return "sli\t%1,%0";
++ }
++ return "unreachable";
++ }
++ [(set_attr "type" "no_delay_move,no_delay_arith,no_delay_arith,no_delay_load,no_delay_load,no_delay_store,no_delay_store")
++ (set_attr "mode" "DI")
++ (set_attr "length" "8,8,8,8,12,8,12")])
++
+ (define_insn "*movdi_internal"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o")
+ (match_operand:DI 1 "general_operand" " d,i,J,R,o,d,d"))]
+diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
+index e9a1921..7671f63 100644
+--- a/gcc/config/microblaze/t-microblaze
++++ b/gcc/config/microblaze/t-microblaze
+@@ -4,8 +4,8 @@ MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
+ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
+ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64
+ MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
+-MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
+-MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
++#MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
++#MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
+
+ # Extra files
+ microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0041-Intial-commit-for-64bit-MB-sources.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0041-Intial-commit-for-64bit-MB-sources.patch
new file mode 100644
index 000000000..411958e74
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0041-Intial-commit-for-64bit-MB-sources.patch
@@ -0,0 +1,2463 @@
+From eee9b7f7423823b133d6a5e5382863502433bdc6 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Fri, 27 Jul 2018 15:23:41 +0530
+Subject: [PATCH 41/54] Intial commit for 64bit-MB sources. Need to cleanup the
+ code later.
+
+---
+ gcc/config/microblaze/constraints.md | 2 +-
+ gcc/config/microblaze/microblaze-c.c | 6 +
+ gcc/config/microblaze/microblaze.c | 218 ++++++++----
+ gcc/config/microblaze/microblaze.h | 63 ++--
+ gcc/config/microblaze/microblaze.md | 606 ++++++++++++++++++++++++--------
+ gcc/config/microblaze/t-microblaze | 7 +-
+ libgcc/config/microblaze/crti.S | 4 +-
+ libgcc/config/microblaze/crtn.S | 4 +-
+ libgcc/config/microblaze/divdi3.S | 98 ++++++
+ libgcc/config/microblaze/divdi3_table.c | 62 ++++
+ libgcc/config/microblaze/moddi3.S | 97 +++++
+ libgcc/config/microblaze/muldi3.S | 73 ++++
+ libgcc/config/microblaze/t-microblaze | 11 +-
+ libgcc/config/microblaze/udivdi3.S | 107 ++++++
+ libgcc/config/microblaze/umoddi3.S | 110 ++++++
+ 15 files changed, 1232 insertions(+), 236 deletions(-)
+ create mode 100644 libgcc/config/microblaze/divdi3.S
+ create mode 100644 libgcc/config/microblaze/divdi3_table.c
+ create mode 100644 libgcc/config/microblaze/moddi3.S
+ create mode 100644 libgcc/config/microblaze/muldi3.S
+ create mode 100644 libgcc/config/microblaze/udivdi3.S
+ create mode 100644 libgcc/config/microblaze/umoddi3.S
+
+diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
+index a06b4d8..867a7b5 100644
+--- a/gcc/config/microblaze/constraints.md
++++ b/gcc/config/microblaze/constraints.md
+@@ -55,7 +55,7 @@
+ (define_constraint "K"
+ "A constant in the range 0xffffff8000000000L to 0x0000007fffffffffL (inclusive)."
+ (and (match_code "const_int")
+- (match_test "ival > (long)0xffffff8000000000L && ival < (long)0x0000007fffffffffL")))
++ (match_test "ival > (long)-549755813888 && ival < (long)549755813887")))
+
+ ;; Define floating point constraints
+
+diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c
+index 7b020b5..d8a1d13 100644
+--- a/gcc/config/microblaze/microblaze-c.c
++++ b/gcc/config/microblaze/microblaze-c.c
+@@ -100,4 +100,10 @@ microblaze_cpp_define (cpp_reader *pfile)
+ builtin_define ("HAVE_HW_FPU_SQRT");
+ builtin_define ("__HAVE_HW_FPU_SQRT__");
+ }
++ if (TARGET_MB_64)
++ {
++ builtin_define ("__arch64__");
++ builtin_define ("__microblaze64__");
++ builtin_define ("__MICROBLAZE64__");
++ }
+ }
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 2079ae9..ba7ade4 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -382,10 +382,10 @@ simple_memory_operand (rtx op, machine_mode mode ATTRIBUTE_UNUSED)
+ {
+ return 1;
+ }
+- else if (GET_CODE (plus0) == REG && GET_CODE (plus1) == REG)
++ /*else if (GET_CODE (plus0) == REG && GET_CODE (plus1) == REG)
+ {
+ return 1;
+- }
++ }*/
+ else
+ return 0;
+
+@@ -433,7 +433,7 @@ double_memory_operand (rtx op, machine_mode mode)
+ return 1;
+
+ return memory_address_p ((GET_MODE_CLASS (mode) == MODE_INT
+- ? E_SImode : E_SFmode),
++ ? Pmode : E_SFmode),
+ plus_constant (Pmode, addr, 4));
+ }
+
+@@ -680,7 +680,7 @@ microblaze_legitimize_tls_address(rtx x, rtx reg)
+ /* Load the addend. */
+ addend = gen_rtx_UNSPEC (Pmode, gen_rtvec (2, x, GEN_INT (TLS_DTPREL)),
+ UNSPEC_TLS);
+- addend = force_reg (SImode, gen_rtx_CONST (SImode, addend));
++ addend = force_reg (Pmode, gen_rtx_CONST (Pmode, addend));
+ dest = gen_rtx_PLUS (Pmode, dest, addend);
+ break;
+
+@@ -698,7 +698,7 @@ microblaze_classify_unspec (struct microblaze_address_info *info, rtx x)
+
+ if (XINT (x, 1) == UNSPEC_GOTOFF)
+ {
+- info->regA = gen_rtx_REG (SImode, PIC_OFFSET_TABLE_REGNUM);
++ info->regA = gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM);
+ info->type = ADDRESS_GOTOFF;
+ }
+ else if (XINT (x, 1) == UNSPEC_PLT)
+@@ -1230,8 +1230,16 @@ microblaze_block_move_loop (rtx dest, rtx src, HOST_WIDE_INT length)
+ emit_move_insn (dest_reg, plus_constant (Pmode, dest_reg, MAX_MOVE_BYTES));
+
+ /* Emit the test & branch. */
+- emit_insn (gen_cbranchsi4 (gen_rtx_NE (SImode, src_reg, final_src),
++
++ if (TARGET_MB_64) {
++ emit_insn (gen_cbranchdi4 (gen_rtx_NE (Pmode, src_reg, final_src),
++ src_reg, final_src, label));
++ }
++ else {
++ emit_insn (gen_cbranchsi4 (gen_rtx_NE (Pmode, src_reg, final_src),
+ src_reg, final_src, label));
++
++ }
+
+ /* Mop up any left-over bytes. */
+ if (leftover)
+@@ -1561,14 +1569,20 @@ microblaze_function_arg_advance (cumulative_args_t cum_v,
+ break;
+
+ case E_DFmode:
+- cum->arg_words += 2;
++ if (TARGET_MB_64)
++ cum->arg_words++;
++ else
++ cum->arg_words += 2;
+ if (!cum->gp_reg_found && cum->arg_number <= 2)
+ cum->fp_code += 2 << ((cum->arg_number - 1) * 2);
+ break;
+
+ case E_DImode:
+ cum->gp_reg_found = 1;
+- cum->arg_words += 2;
++ if (TARGET_MB_64)
++ cum->arg_words++;
++ else
++ cum->arg_words += 2;
+ break;
+
+ case E_QImode:
+@@ -2219,7 +2233,7 @@ compute_frame_size (HOST_WIDE_INT size)
+
+ if (regno != MB_ABI_SUB_RETURN_ADDR_REGNUM)
+ /* Don't account for link register. It is accounted specially below. */
+- gp_reg_size += GET_MODE_SIZE (SImode);
++ gp_reg_size += GET_MODE_SIZE (Pmode);
+
+ mask |= (1L << (regno - GP_REG_FIRST));
+ }
+@@ -2487,7 +2501,7 @@ print_operand (FILE * file, rtx op, int letter)
+
+ if ((letter == 'M' && !WORDS_BIG_ENDIAN)
+ || (letter == 'L' && WORDS_BIG_ENDIAN) || letter == 'D')
+- regnum++;
++ regnum++;
+
+ fprintf (file, "%s", reg_names[regnum]);
+ }
+@@ -2513,6 +2527,7 @@ print_operand (FILE * file, rtx op, int letter)
+ else if (letter == 'h' || letter == 'j')
+ {
+ long val[2];
++ int val1[2];
+ long l[2];
+ if (code == CONST_DOUBLE)
+ {
+@@ -2525,12 +2540,12 @@ print_operand (FILE * file, rtx op, int letter)
+ val[0] = l[WORDS_BIG_ENDIAN != 0];
+ }
+ }
+- else if (code == CONST_INT)
++ else if (code == CONST_INT || code == CONST)// || code == SYMBOL_REF ||code == LABEL_REF)
+ {
+- val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
+- val[1] = INTVAL (op) & 0x00000000ffffffffLL;
++ val1[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
++ val1[1] = INTVAL (op) & 0x00000000ffffffffLL;
+ }
+- fprintf (file, "0x%8.8lx", (letter == 'h') ? val[0] : val[1]);
++ fprintf (file, "0x%8.8lx", (letter == 'h') ? val1[0] : val1[1]);
+ }
+ else if (code == CONST_DOUBLE)
+ {
+@@ -2713,7 +2728,10 @@ microblaze_asm_constructor (rtx symbol ATTRIBUTE_UNUSED, int priority)
+
+ switch_to_section (get_section (section, 0, NULL));
+ assemble_align (POINTER_SIZE);
+- fputs ("\t.word\t", asm_out_file);
++ if (TARGET_MB_64)
++ fputs ("\t.dword\t", asm_out_file);
++ else
++ fputs ("\t.word\t", asm_out_file);
+ output_addr_const (asm_out_file, symbol);
+ fputs ("\n", asm_out_file);
+ }
+@@ -2736,7 +2754,10 @@ microblaze_asm_destructor (rtx symbol, int priority)
+
+ switch_to_section (get_section (section, 0, NULL));
+ assemble_align (POINTER_SIZE);
+- fputs ("\t.word\t", asm_out_file);
++ if (TARGET_MB_64)
++ fputs ("\t.dword\t", asm_out_file);
++ else
++ fputs ("\t.word\t", asm_out_file);
+ output_addr_const (asm_out_file, symbol);
+ fputs ("\n", asm_out_file);
+ }
+@@ -2802,7 +2823,7 @@ save_restore_insns (int prologue)
+ /* For interrupt_handlers, need to save/restore the MSR. */
+ if (microblaze_is_interrupt_variant ())
+ {
+- isr_mem_rtx = gen_rtx_MEM (SImode,
++ isr_mem_rtx = gen_rtx_MEM (Pmode,
+ gen_rtx_PLUS (Pmode, base_reg_rtx,
+ GEN_INT (current_frame_info.
+ gp_offset -
+@@ -2810,8 +2831,8 @@ save_restore_insns (int prologue)
+
+ /* Do not optimize in flow analysis. */
+ MEM_VOLATILE_P (isr_mem_rtx) = 1;
+- isr_reg_rtx = gen_rtx_REG (SImode, MB_ABI_MSR_SAVE_REG);
+- isr_msr_rtx = gen_rtx_REG (SImode, ST_REG);
++ isr_reg_rtx = gen_rtx_REG (Pmode, MB_ABI_MSR_SAVE_REG);
++ isr_msr_rtx = gen_rtx_REG (Pmode, ST_REG);
+ }
+
+ if (microblaze_is_interrupt_variant () && !prologue)
+@@ -2819,8 +2840,8 @@ save_restore_insns (int prologue)
+ emit_move_insn (isr_reg_rtx, isr_mem_rtx);
+ emit_move_insn (isr_msr_rtx, isr_reg_rtx);
+ /* Do not optimize in flow analysis. */
+- emit_insn (gen_rtx_USE (SImode, isr_reg_rtx));
+- emit_insn (gen_rtx_USE (SImode, isr_msr_rtx));
++ emit_insn (gen_rtx_USE (Pmode, isr_reg_rtx));
++ emit_insn (gen_rtx_USE (Pmode, isr_msr_rtx));
+ }
+
+ for (regno = GP_REG_FIRST; regno <= GP_REG_LAST; regno++)
+@@ -2831,9 +2852,9 @@ save_restore_insns (int prologue)
+ /* Don't handle here. Already handled as the first register. */
+ continue;
+
+- reg_rtx = gen_rtx_REG (SImode, regno);
++ reg_rtx = gen_rtx_REG (Pmode, regno);
+ insn = gen_rtx_PLUS (Pmode, base_reg_rtx, GEN_INT (gp_offset));
+- mem_rtx = gen_rtx_MEM (SImode, insn);
++ mem_rtx = gen_rtx_MEM (Pmode, insn);
+ if (microblaze_is_interrupt_variant () || save_volatiles)
+ /* Do not optimize in flow analysis. */
+ MEM_VOLATILE_P (mem_rtx) = 1;
+@@ -2848,7 +2869,7 @@ save_restore_insns (int prologue)
+ insn = emit_move_insn (reg_rtx, mem_rtx);
+ }
+
+- gp_offset += GET_MODE_SIZE (SImode);
++ gp_offset += GET_MODE_SIZE (Pmode);
+ }
+ }
+
+@@ -2858,8 +2879,8 @@ save_restore_insns (int prologue)
+ emit_move_insn (isr_mem_rtx, isr_reg_rtx);
+
+ /* Do not optimize in flow analysis. */
+- emit_insn (gen_rtx_USE (SImode, isr_reg_rtx));
+- emit_insn (gen_rtx_USE (SImode, isr_msr_rtx));
++ emit_insn (gen_rtx_USE (Pmode, isr_reg_rtx));
++ emit_insn (gen_rtx_USE (Pmode, isr_msr_rtx));
+ }
+
+ /* Done saving and restoring */
+@@ -2949,7 +2970,10 @@ microblaze_elf_asm_cdtor (rtx symbol, int priority, bool is_ctor)
+
+ switch_to_section (s);
+ assemble_align (POINTER_SIZE);
+- fputs ("\t.word\t", asm_out_file);
++ if (TARGET_MB_64)
++ fputs ("\t.dword\t", asm_out_file);
++ else
++ fputs ("\t.word\t", asm_out_file);
+ output_addr_const (asm_out_file, symbol);
+ fputs ("\n", asm_out_file);
+ }
+@@ -3095,10 +3119,10 @@ microblaze_expand_prologue (void)
+ {
+ if (offset != 0)
+ ptr = gen_rtx_PLUS (Pmode, stack_pointer_rtx, GEN_INT (offset));
+- emit_move_insn (gen_rtx_MEM (SImode, ptr),
+- gen_rtx_REG (SImode, regno));
++ emit_move_insn (gen_rtx_MEM (Pmode, ptr),
++ gen_rtx_REG (Pmode, regno));
+
+- offset += GET_MODE_SIZE (SImode);
++ offset += GET_MODE_SIZE (Pmode);
+ }
+
+ }
+@@ -3108,15 +3132,23 @@ microblaze_expand_prologue (void)
+ rtx fsiz_rtx = GEN_INT (fsiz);
+
+ rtx_insn *insn = NULL;
+- insn = emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx,
++ if (TARGET_MB_64)
++ {
++
++ insn = emit_insn (gen_subdi3 (stack_pointer_rtx, stack_pointer_rtx,
+ fsiz_rtx));
++ }
++ else {
++ insn = emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx,
++ fsiz_rtx));
++ }
+ if (insn)
+ RTX_FRAME_RELATED_P (insn) = 1;
+
+ /* Handle SUB_RETURN_ADDR_REGNUM specially at first. */
+ if (!crtl->is_leaf || interrupt_handler)
+ {
+- mem_rtx = gen_rtx_MEM (SImode,
++ mem_rtx = gen_rtx_MEM (Pmode,
+ gen_rtx_PLUS (Pmode, stack_pointer_rtx,
+ const0_rtx));
+
+@@ -3124,7 +3156,7 @@ microblaze_expand_prologue (void)
+ /* Do not optimize in flow analysis. */
+ MEM_VOLATILE_P (mem_rtx) = 1;
+
+- reg_rtx = gen_rtx_REG (SImode, MB_ABI_SUB_RETURN_ADDR_REGNUM);
++ reg_rtx = gen_rtx_REG (Pmode, MB_ABI_SUB_RETURN_ADDR_REGNUM);
+ insn = emit_move_insn (mem_rtx, reg_rtx);
+ RTX_FRAME_RELATED_P (insn) = 1;
+ }
+@@ -3224,12 +3256,12 @@ microblaze_expand_epilogue (void)
+ if (!crtl->is_leaf || interrupt_handler)
+ {
+ mem_rtx =
+- gen_rtx_MEM (SImode,
++ gen_rtx_MEM (Pmode,
+ gen_rtx_PLUS (Pmode, stack_pointer_rtx, const0_rtx));
+ if (interrupt_handler)
+ /* Do not optimize in flow analysis. */
+ MEM_VOLATILE_P (mem_rtx) = 1;
+- reg_rtx = gen_rtx_REG (SImode, MB_ABI_SUB_RETURN_ADDR_REGNUM);
++ reg_rtx = gen_rtx_REG (Pmode, MB_ABI_SUB_RETURN_ADDR_REGNUM);
+ emit_move_insn (reg_rtx, mem_rtx);
+ }
+
+@@ -3245,15 +3277,25 @@ microblaze_expand_epilogue (void)
+ /* _restore_ registers for epilogue. */
+ save_restore_insns (0);
+ emit_insn (gen_blockage ());
+- emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
++ if (TARGET_MB_64)
++ emit_insn (gen_adddi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
++ else
++ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
+ }
+
+ if (crtl->calls_eh_return)
+- emit_insn (gen_addsi3 (stack_pointer_rtx,
++ if (TARGET_MB_64) {
++ emit_insn (gen_adddi3 (stack_pointer_rtx,
+ stack_pointer_rtx,
+- gen_raw_REG (SImode,
++ gen_raw_REG (Pmode,
+ MB_EH_STACKADJ_REGNUM)));
+-
++ }
++ else {
++ emit_insn (gen_addsi3 (stack_pointer_rtx,
++ stack_pointer_rtx,
++ gen_raw_REG (Pmode,
++ MB_EH_STACKADJ_REGNUM)));
++ }
+ emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST +
+ MB_ABI_SUB_RETURN_ADDR_REGNUM)));
+ }
+@@ -3402,9 +3444,14 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
+ else
+ this_rtx = gen_rtx_REG (Pmode, MB_ABI_FIRST_ARG_REGNUM);
+
+- /* Apply the constant offset, if required. */
++ /* Apply the constant offset, if required. */
+ if (delta)
+- emit_insn (gen_addsi3 (this_rtx, this_rtx, GEN_INT (delta)));
++ {
++ if (TARGET_MB_64)
++ emit_insn (gen_adddi3 (this_rtx, this_rtx, GEN_INT (delta)));
++ else
++ emit_insn (gen_addsi3 (this_rtx, this_rtx, GEN_INT (delta)));
++ }
+
+ /* Apply the offset from the vtable, if required. */
+ if (vcall_offset)
+@@ -3417,7 +3464,10 @@ microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED,
+ rtx loc = gen_rtx_PLUS (Pmode, temp1, vcall_offset_rtx);
+ emit_move_insn (temp1, gen_rtx_MEM (Pmode, loc));
+
+- emit_insn (gen_addsi3 (this_rtx, this_rtx, temp1));
++ if (TARGET_MB_64)
++ emit_insn (gen_adddi3 (this_rtx, this_rtx, temp1));
++ else
++ emit_insn (gen_addsi3 (this_rtx, this_rtx, temp1));
+ }
+
+ /* Generate a tail call to the target function. */
+@@ -3564,7 +3614,7 @@ microblaze_eh_return (rtx op0)
+ /* Queue an .ident string in the queue of top-level asm statements.
+ If the string size is below the threshold, put it into .sdata2.
+ If the front-end is done, we must be being called from toplev.c.
+- In that case, do nothing. */
++ In that case, do nothing. */
+ void
+ microblaze_asm_output_ident (const char *string)
+ {
+@@ -3619,9 +3669,9 @@ microblaze_trampoline_init (rtx m_tramp, tree fndecl, rtx chain_value)
+ emit_block_move (m_tramp, assemble_trampoline_template (),
+ GEN_INT (6*UNITS_PER_WORD), BLOCK_OP_NORMAL);
+
+- mem = adjust_address (m_tramp, SImode, 16);
++ mem = adjust_address (m_tramp, Pmode, 16);
+ emit_move_insn (mem, chain_value);
+- mem = adjust_address (m_tramp, SImode, 20);
++ mem = adjust_address (m_tramp, Pmode, 20);
+ emit_move_insn (mem, fnaddr);
+ }
+
+@@ -3645,7 +3695,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
+ {
+ comp_reg = cmp_op0;
+ condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx);
+- if (mode == SImode)
++ if (mode == Pmode)
+ emit_jump_insn (gen_condjump (condition, label1));
+ else
+ emit_jump_insn (gen_long_condjump (condition, label1));
+@@ -3764,7 +3814,7 @@ microblaze_expand_conditional_branch_sf (rtx operands[])
+ rtx comp_reg = gen_reg_rtx (SImode);
+
+ emit_insn (gen_cstoresf4 (comp_reg, operands[0], cmp_op0, cmp_op1));
+- condition = gen_rtx_NE (SImode, comp_reg, const0_rtx);
++ condition = gen_rtx_NE (Pmode, comp_reg, const0_rtx);
+ emit_jump_insn (gen_condjump (condition, operands[3]));
+ }
+
+@@ -3774,10 +3824,10 @@ microblaze_expand_conditional_branch_df (rtx operands[])
+ rtx condition;
+ rtx cmp_op0 = XEXP (operands[0], 0);
+ rtx cmp_op1 = XEXP (operands[0], 1);
+- rtx comp_reg = gen_reg_rtx (DImode);
++ rtx comp_reg = gen_reg_rtx (Pmode);
+
+ emit_insn (gen_cstoredf4 (comp_reg, operands[0], cmp_op0, cmp_op1));
+- condition = gen_rtx_NE (DImode, comp_reg, const0_rtx);
++ condition = gen_rtx_NE (Pmode, comp_reg, const0_rtx);
+ emit_jump_insn (gen_long_condjump (condition, operands[3]));
+ }
+
+@@ -3798,8 +3848,8 @@ microblaze_expand_divide (rtx operands[])
+ {
+ /* Table lookup software divides. Works for all (nr/dr) where (0 <= nr,dr <= 15). */
+
+- rtx regt1 = gen_reg_rtx (SImode);
+- rtx reg18 = gen_rtx_REG (SImode, R_TMP);
++ rtx regt1 = gen_reg_rtx (Pmode);
++ rtx reg18 = gen_rtx_REG (Pmode, R_TMP);
+ rtx regqi = gen_reg_rtx (QImode);
+ rtx_code_label *div_label = gen_label_rtx ();
+ rtx_code_label *div_end_label = gen_label_rtx ();
+@@ -3807,17 +3857,31 @@ microblaze_expand_divide (rtx operands[])
+ rtx mem_rtx;
+ rtx ret;
+ rtx_insn *jump, *cjump, *insn;
+-
+- insn = emit_insn (gen_iorsi3 (regt1, operands[1], operands[2]));
+- cjump = emit_jump_insn_after (gen_cbranchsi4 (
+- gen_rtx_GTU (SImode, regt1, GEN_INT (15)),
++
++ if (TARGET_MB_64) {
++ insn = emit_insn (gen_iordi3 (regt1, operands[1], operands[2]));
++ cjump = emit_jump_insn_after (gen_cbranchdi4 (
++ gen_rtx_GTU (Pmode, regt1, GEN_INT (15)),
++ regt1, GEN_INT (15), div_label), insn);
++ }
++ else {
++ insn = emit_insn (gen_iorsi3 (regt1, operands[1], operands[2]));
++ cjump = emit_jump_insn_after (gen_cbranchsi4 (
++ gen_rtx_GTU (Pmode, regt1, GEN_INT (15)),
+ regt1, GEN_INT (15), div_label), insn);
++ }
+ LABEL_NUSES (div_label) = 1;
+ JUMP_LABEL (cjump) = div_label;
+- emit_insn (gen_rtx_CLOBBER (SImode, reg18));
++ emit_insn (gen_rtx_CLOBBER (Pmode, reg18));
+
+- emit_insn (gen_ashlsi3_bshift (regt1, operands[1], GEN_INT(4)));
+- emit_insn (gen_addsi3 (regt1, regt1, operands[2]));
++ if (TARGET_MB_64) {
++ emit_insn (gen_ashldi3_long (regt1, operands[1], GEN_INT(4)));
++ emit_insn (gen_adddi3 (regt1, regt1, operands[2]));
++ }
++ else {
++ emit_insn (gen_ashlsi3_bshift (regt1, operands[1], GEN_INT(4)));
++ emit_insn (gen_addsi3 (regt1, regt1, operands[2]));
++ }
+ mem_rtx = gen_rtx_MEM (QImode,
+ gen_rtx_PLUS (QImode, regt1, div_table_rtx));
+
+@@ -3964,7 +4028,7 @@ insert_wic_for_ilb_runout (rtx_insn *first)
+ {
+ insn =
+ emit_insn_before (gen_iprefetch
+- (gen_int_mode (addr_offset, SImode)),
++ (gen_int_mode (addr_offset, Pmode)),
+ before_4);
+ recog_memoized (insn);
+ INSN_LOCATION (insn) = INSN_LOCATION (before_4);
+@@ -3974,7 +4038,27 @@ insert_wic_for_ilb_runout (rtx_insn *first)
+ }
+ }
+ }
+-
++
++/* Set the names for various arithmetic operations according to the
++ * MICROBLAZE ABI. */
++static void
++microblaze_init_libfuncs (void)
++{
++ set_optab_libfunc (smod_optab, SImode, "__modsi3");
++ set_optab_libfunc (sdiv_optab, SImode, "__divsi3");
++ set_optab_libfunc (smul_optab, SImode, "__mulsi3");
++ set_optab_libfunc (umod_optab, SImode, "__umodsi3");
++ set_optab_libfunc (udiv_optab, SImode, "__udivsi3");
++
++ if (TARGET_MB_64)
++ {
++ set_optab_libfunc (smod_optab, DImode, "__moddi3");
++ set_optab_libfunc (sdiv_optab, DImode, "__divdi3");
++ set_optab_libfunc (smul_optab, DImode, "__muldi3");
++ set_optab_libfunc (umod_optab, DImode, "__umoddi3");
++ set_optab_libfunc (udiv_optab, DImode, "__udivdi3");
++ }
++}
+ /* Insert instruction prefetch instruction at the fall
+ through path of the function call. */
+
+@@ -4127,6 +4211,17 @@ microblaze_starting_frame_offset (void)
+ #undef TARGET_LRA_P
+ #define TARGET_LRA_P hook_bool_void_false
+
++#ifdef TARGET_MB_64
++#undef TARGET_ASM_ALIGNED_DI_OP
++#define TARGET_ASM_ALIGNED_DI_OP "\t.dword\t"
++
++#undef TARGET_ASM_ALIGNED_HI_OP
++#define TARGET_ASM_ALIGNED_HI_OP "\t.hword\t"
++
++#undef TARGET_ASM_ALIGNED_SI_OP
++#define TARGET_ASM_ALIGNED_SI_OP "\t.word\t"
++#endif
++
+ #undef TARGET_FRAME_POINTER_REQUIRED
+ #define TARGET_FRAME_POINTER_REQUIRED microblaze_frame_pointer_required
+
+@@ -4136,6 +4231,9 @@ microblaze_starting_frame_offset (void)
+ #undef TARGET_TRAMPOLINE_INIT
+ #define TARGET_TRAMPOLINE_INIT microblaze_trampoline_init
+
++#undef TARGET_INIT_LIBFUNCS
++#define TARGET_INIT_LIBFUNCS microblaze_init_libfuncs
++
+ #undef TARGET_PROMOTE_FUNCTION_MODE
+ #define TARGET_PROMOTE_FUNCTION_MODE default_promote_function_mode_always_promote
+
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 72fbee5..1e60513 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -173,7 +173,6 @@ extern enum pipeline_type microblaze_pipe;
+
+ /* Generate DWARF exception handling info. */
+ #define DWARF2_UNWIND_INFO 1
+-
+ /* Don't generate .loc operations. */
+ #define DWARF2_ASM_LINE_DEBUG_INFO 0
+
+@@ -206,38 +205,51 @@ extern enum pipeline_type microblaze_pipe;
+ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr)
+
+ /* Use DWARF 2 debugging information by default. */
+-#define DWARF2_DEBUGGING_INFO
++#define DWARF2_DEBUGGING_INFO 1
+ #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
++#define DWARF2_ADDR_SIZE 4
+
+ /* Target machine storage layout */
+
+ #define BITS_BIG_ENDIAN 0
+ #define BYTES_BIG_ENDIAN (TARGET_LITTLE_ENDIAN == 0)
+ #define WORDS_BIG_ENDIAN (BYTES_BIG_ENDIAN)
+-#define BITS_PER_WORD 32
+-#define UNITS_PER_WORD 4
++//#define BITS_PER_WORD 64
++//Revisit
++#define MAX_BITS_PER_WORD 64
++#define UNITS_PER_WORD (TARGET_MB_64 ? 8 : 4)
++//#define MIN_UNITS_PER_WORD (TARGET_MB_64 ? 8 : 4)
++//#define UNITS_PER_WORD 4
+ #define MIN_UNITS_PER_WORD 4
+ #define INT_TYPE_SIZE 32
+ #define SHORT_TYPE_SIZE 16
+-#define LONG_TYPE_SIZE 64
++#define LONG_TYPE_SIZE (TARGET_MB_64 ? 64 : 32)
+ #define LONG_LONG_TYPE_SIZE 64
+ #define FLOAT_TYPE_SIZE 32
+ #define DOUBLE_TYPE_SIZE 64
+ #define LONG_DOUBLE_TYPE_SIZE 64
+-#define POINTER_SIZE 32
+-#define PARM_BOUNDARY 32
+-#define FUNCTION_BOUNDARY 32
+-#define EMPTY_FIELD_BOUNDARY 32
++#define POINTER_SIZE (TARGET_MB_64 ? 64 : 32)
++//#define WIDEST_HARDWARE_FP_SIZE 64
++//#define POINTERS_EXTEND_UNSIGNED 1
++#define PARM_BOUNDARY (TARGET_MB_64 ? 64 : 32)
++#define FUNCTION_BOUNDARY (TARGET_MB_64 ? 64 : 32)
++#define EMPTY_FIELD_BOUNDARY (TARGET_MB_64 ? 64 : 32)
+ #define STRUCTURE_SIZE_BOUNDARY 8
+-#define BIGGEST_ALIGNMENT 32
++#define BIGGEST_ALIGNMENT (TARGET_MB_64 ? 64 : 32)
+ #define STRICT_ALIGNMENT 1
+ #define PCC_BITFIELD_TYPE_MATTERS 1
+
++//#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (TARGET_MB_64 ? TImode : DImode)
+ #undef SIZE_TYPE
+-#define SIZE_TYPE "unsigned int"
++#define SIZE_TYPE (TARGET_MB_64 ? "long unsigned int" : "unsigned int")
+
+ #undef PTRDIFF_TYPE
+-#define PTRDIFF_TYPE "int"
++#define PTRDIFF_TYPE (TARGET_MB_64 ? "long int" : "int")
++
++/*#undef INTPTR_TYPE
++#define INTPTR_TYPE (TARGET_MB_64 ? "long int" : "int")*/
++#undef UINTPTR_TYPE
++#define UINTPTR_TYPE (TARGET_MB_64 ? "long unsigned int" : "unsigned int")
+
+ #define DATA_ALIGNMENT(TYPE, ALIGN) \
+ ((((ALIGN) < BITS_PER_WORD) \
+@@ -253,12 +265,12 @@ extern enum pipeline_type microblaze_pipe;
+ #define WORD_REGISTER_OPERATIONS 1
+
+ #define LOAD_EXTEND_OP(MODE) ZERO_EXTEND
+-
++/*
+ #define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
+ if (GET_MODE_CLASS (MODE) == MODE_INT \
+- && GET_MODE_SIZE (MODE) < 4) \
+- (MODE) = SImode;
+-
++ && GET_MODE_SIZE (MODE) < (TARGET_MB_64 ? 8 : 4)) \
++ (MODE) = TARGET_MB_64 ? DImode : SImode;
++*/
+ /* Standard register usage. */
+
+ /* On the MicroBlaze, we have 32 integer registers */
+@@ -438,13 +450,16 @@ extern struct microblaze_frame_info current_frame_info;
+ #define FIRST_PARM_OFFSET(FNDECL) (UNITS_PER_WORD)
+
+ #define ARG_POINTER_CFA_OFFSET(FNDECL) 0
++#define DWARF_CIE_DATA_ALIGNMENT -1
+
+ #define REG_PARM_STACK_SPACE(FNDECL) microblaze_reg_parm_stack_space(FNDECL)
+
+ #define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1
+
+-#define STACK_BOUNDARY 32
++#define STACK_BOUNDARY (TARGET_MB_64 ? 64 : 32)
+
++#define PREFERRED_STACK_BOUNDARY (TARGET_MB_64 ? 64 : 32)
++
+ #define NUM_OF_ARGS 6
+
+ #define GP_RETURN (GP_REG_FIRST + MB_ABI_INT_RETURN_VAL_REGNUM)
+@@ -455,12 +470,15 @@ extern struct microblaze_frame_info current_frame_info;
+ #define MAX_ARGS_IN_REGISTERS MB_ABI_MAX_ARG_REGS
+
+ #define LIBCALL_VALUE(MODE) \
++ gen_rtx_REG (MODE,GP_RETURN)
++
++/*#define LIBCALL_VALUE(MODE) \
+ gen_rtx_REG ( \
+ ((GET_MODE_CLASS (MODE) != MODE_INT \
+ || GET_MODE_SIZE (MODE) >= 4) \
+ ? (MODE) \
+ : SImode), GP_RETURN)
+-
++*/
+ /* 1 if N is a possible register number for a function value.
+ On the MicroBlaze, R2 R3 are the only register thus used.
+ Currently, R2 are only implemented here (C has no complex type) */
+@@ -500,7 +518,7 @@ typedef struct microblaze_args
+ /* 4 insns + 2 words of data. */
+ #define TRAMPOLINE_SIZE (6 * 4)
+
+-#define TRAMPOLINE_ALIGNMENT 32
++#define TRAMPOLINE_ALIGNMENT 64
+
+ #define REGNO_OK_FOR_BASE_P(regno) microblaze_regno_ok_for_base_p ((regno), 1)
+
+@@ -533,13 +551,13 @@ typedef struct microblaze_args
+ addresses which require two reload registers. */
+ #define LEGITIMATE_PIC_OPERAND_P(X) microblaze_legitimate_pic_operand (X)
+
+-#define CASE_VECTOR_MODE (SImode)
++#define CASE_VECTOR_MODE (TARGET_MB_64? DImode:SImode)
+
+ #ifndef DEFAULT_SIGNED_CHAR
+ #define DEFAULT_SIGNED_CHAR 1
+ #endif
+
+-#define MOVE_MAX 4
++#define MOVE_MAX (TARGET_MB_64 ? 8 : 4)
+ #define MAX_MOVE_MAX 8
+
+ #define SLOW_BYTE_ACCESS 1
+@@ -549,7 +567,7 @@ typedef struct microblaze_args
+
+ #define SHIFT_COUNT_TRUNCATED 1
+
+-#define Pmode SImode
++#define Pmode (TARGET_MB_64? DImode:SImode)
+
+ #define FUNCTION_MODE SImode
+
+@@ -711,6 +729,7 @@ do { \
+
+ #undef TARGET_ASM_OUTPUT_IDENT
+ #define TARGET_ASM_OUTPUT_IDENT microblaze_asm_output_ident
++//#define TARGET_ASM_OUTPUT_IDENT default_asm_output_ident_directive
+
+ /* Default to -G 8 */
+ #ifndef MICROBLAZE_DEFAULT_GVALUE
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 0cd0441..0f41ac6 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -26,6 +26,7 @@
+ ;; Constants
+ ;;----------------------------------------------------
+ (define_constants [
++ (R_Z 0) ;; For reg r0
+ (R_SP 1) ;; Stack pointer reg
+ (R_SR 15) ;; Sub-routine return addr reg
+ (R_IR 14) ;; Interrupt return addr reg
+@@ -539,6 +540,7 @@
+
+ ;; Add 2 SImode integers [ src1 = reg ; src2 = arith ; dest = reg ]
+ ;; Leave carry as is
++
+ (define_insn "addsi3"
+ [(set (match_operand:SI 0 "register_operand" "=d,d,d")
+ (plus:SI (match_operand:SI 1 "reg_or_0_operand" "%dJ,dJ,dJ")
+@@ -560,23 +562,38 @@
+
+ ;; Adding 2 DI operands in register or reg/imm
+
+-(define_insn "adddi3_long"
++(define_expand "adddi3"
++ [(set (match_operand:DI 0 "register_operand" "")
++ (plus:DI (match_operand:DI 1 "register_operand" "")
++ (match_operand:DI 2 "arith_plus_operand" "")))]
++""
++{
++ if (TARGET_MB_64)
++ {
++ if (GET_CODE (operands[2]) == CONST_INT &&
++ INTVAL(operands[2]) < (long)-549755813888 &&
++ INTVAL(operands[2]) > (long)549755813887)
++ FAIL;
++ }
++})
++
++(define_insn "*adddi3_long"
+ [(set (match_operand:DI 0 "register_operand" "=d,d")
+- (plus:DI (match_operand:DI 1 "reg_or_0_operand" "%dJ,dJ")
++ (plus:DI (match_operand:DI 1 "register_operand" "%d,d")
+ (match_operand:DI 2 "arith_plus_operand" "d,K")))]
+ "TARGET_MB_64"
+ "@
+- addlk\t%0,%z1,%2
+- addlik\t%0,%z1,%2"
+- [(set_attr "type" "arith,arith")
+- (set_attr "mode" "DI,DI")
++ addlk\t%0,%1,%2
++ addlik\t%0,%1,%2 #N10"
++ [(set_attr "type" "darith,no_delay_arith")
++ (set_attr "mode" "DI")
+ (set_attr "length" "4,4")])
+
+-(define_insn "adddi3"
++(define_insn "*adddi3_all"
+ [(set (match_operand:DI 0 "register_operand" "=d,d")
+ (plus:DI (match_operand:DI 1 "register_operand" "%d,d")
+ (match_operand:DI 2 "arith_operand" "d,i")))]
+- ""
++ "!TARGET_MB_64"
+ "@
+ add\t%L0,%L1,%L2\;addc\t%M0,%M1,%M2
+ addi\t%L0,%L1,%j2\;addic\t%M0,%M1,%h2"
+@@ -603,7 +620,7 @@
+ (define_insn "iprefetch"
+ [(unspec [(match_operand:SI 0 "const_int_operand" "n")] UNSPEC_IPREFETCH)
+ (clobber (mem:BLK (scratch)))]
+- "TARGET_PREFETCH"
++ "TARGET_PREFETCH && !TARGET_MB_64"
+ {
+ operands[2] = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
+ return "mfs\t%2,rpc\n\twic\t%2,r0";
+@@ -616,23 +633,33 @@
+ ;; Double Precision Subtraction
+ ;;----------------------------------------------------------------
+
+-(define_insn "subdi3_long"
+- [(set (match_operand:DI 0 "register_operand" "=d,d")
+- (minus:DI (match_operand:DI 1 "register_operand" "d,d")
+- (match_operand:DI 2 "register_operand" "d,n")))]
++(define_expand "subdi3"
++ [(set (match_operand:DI 0 "register_operand" "")
++ (minus:DI (match_operand:DI 1 "register_operand" "")
++ (match_operand:DI 2 "arith_operand" "")))]
++""
++"
++{
++}")
++
++(define_insn "subsidi3"
++ [(set (match_operand:DI 0 "register_operand" "=d,d,d")
++ (minus:DI (match_operand:DI 1 "register_operand" "d,d,d")
++ (match_operand:DI 2 "arith_operand" "d,K,n")))]
+ "TARGET_MB_64"
+ "@
+ rsubl\t%0,%2,%1
+- addlik\t%0,%z1,-%2"
+- [(set_attr "type" "darith")
+- (set_attr "mode" "DI,DI")
+- (set_attr "length" "4,4")])
++ addik\t%0,%z1,-%2
++ addik\t%0,%z1,-%2"
++ [(set_attr "type" "arith,no_delay_arith,no_delay_arith")
++ (set_attr "mode" "DI")
++ (set_attr "length" "4,4,4")])
+
+-(define_insn "subdi3"
++(define_insn "subdi3_small"
+ [(set (match_operand:DI 0 "register_operand" "=&d")
+ (minus:DI (match_operand:DI 1 "register_operand" "d")
+ (match_operand:DI 2 "register_operand" "d")))]
+- ""
++ "!TARGET_MB_64"
+ "rsub\t%L0,%L2,%L1\;rsubc\t%M0,%M2,%M1"
+ [(set_attr "type" "darith")
+ (set_attr "mode" "DI")
+@@ -661,7 +688,7 @@
+ (mult:DI
+ (sign_extend:DI (match_operand:SI 1 "register_operand" "d"))
+ (sign_extend:DI (match_operand:SI 2 "register_operand" "d"))))]
+- "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH"
++ "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH && !TARGET_MB_64"
+ "mul\t%L0,%1,%2\;mulh\t%M0,%1,%2"
+ [(set_attr "type" "no_delay_arith")
+ (set_attr "mode" "DI")
+@@ -672,7 +699,7 @@
+ (mult:DI
+ (zero_extend:DI (match_operand:SI 1 "register_operand" "d"))
+ (zero_extend:DI (match_operand:SI 2 "register_operand" "d"))))]
+- "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH"
++ "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH && !TARGET_MB_64"
+ "mul\t%L0,%1,%2\;mulhu\t%M0,%1,%2"
+ [(set_attr "type" "no_delay_arith")
+ (set_attr "mode" "DI")
+@@ -683,7 +710,7 @@
+ (mult:DI
+ (zero_extend:DI (match_operand:SI 1 "register_operand" "d"))
+ (sign_extend:DI (match_operand:SI 2 "register_operand" "d"))))]
+- "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH"
++ "!TARGET_SOFT_MUL && TARGET_MULTIPLY_HIGH && !TARGET_MB_64"
+ "mul\t%L0,%1,%2\;mulhsu\t%M0,%2,%1"
+ [(set_attr "type" "no_delay_arith")
+ (set_attr "mode" "DI")
+@@ -787,7 +814,7 @@
+ (match_operand:SI 4 "arith_operand")])
+ (label_ref (match_operand 5))
+ (pc)))]
+- "TARGET_HARD_FLOAT"
++ "TARGET_HARD_FLOAT && !TARGET_MB_64"
+ [(set (match_dup 1) (match_dup 3))]
+
+ {
+@@ -817,6 +844,15 @@
+ (set_attr "mode" "SI")
+ (set_attr "length" "4")])
+
++(define_insn "negsi_long"
++ [(set (match_operand:SI 0 "register_operand" "=d")
++ (neg:SI (match_operand:DI 1 "register_operand" "d")))]
++ ""
++ "rsubk\t%0,%1,r0"
++ [(set_attr "type" "arith")
++ (set_attr "mode" "SI")
++ (set_attr "length" "4")])
++
+ (define_insn "negdi2_long"
+ [(set (match_operand:DI 0 "register_operand" "=d")
+ (neg:DI (match_operand:DI 1 "register_operand" "d")))]
+@@ -845,16 +881,24 @@
+ (set_attr "mode" "SI")
+ (set_attr "length" "4")])
+
+-(define_insn "one_cmpldi2_long"
++(define_expand "one_cmpldi2"
++ [(set (match_operand:DI 0 "register_operand" "")
++ (not:DI (match_operand:DI 1 "register_operand" "")))]
++ ""
++ "
++{
++}")
++
++(define_insn ""
+ [(set (match_operand:DI 0 "register_operand" "=d")
+- (not:DI (match_operand:DI 1 "register_operand" "d")))]
++ (not:DI (match_operand:DI 1 "arith_operand" "d")))]
+ "TARGET_MB_64"
+ "xorli\t%0,%1,-1"
+- [(set_attr "type" "arith")
++ [(set_attr "type" "no_delay_arith")
+ (set_attr "mode" "DI")
+ (set_attr "length" "4")])
+
+-(define_insn "*one_cmpldi2"
++(define_insn ""
+ [(set (match_operand:DI 0 "register_operand" "=d")
+ (not:DI (match_operand:DI 1 "register_operand" "d")))]
+ ""
+@@ -869,7 +913,8 @@
+ (not:DI (match_operand:DI 1 "register_operand" "")))]
+ "reload_completed
+ && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
+- && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))"
++ && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
++ && !TARGET_MB_64"
+
+ [(set (subreg:SI (match_dup 0) 0) (not:SI (subreg:SI (match_dup 1) 0)))
+ (set (subreg:SI (match_dup 0) 4) (not:SI (subreg:SI (match_dup 1) 4)))]
+@@ -881,18 +926,17 @@
+ ;;----------------------------------------------------------------
+
+ (define_insn "anddi3"
+- [(set (match_operand:DI 0 "register_operand" "=d,d")
+- (and:DI (match_operand:DI 1 "arith_operand" "d,d")
+- (match_operand:DI 2 "arith_operand" "d,K")))]
++ [(set (match_operand:DI 0 "register_operand" "=d,d,d")
++ (and:DI (match_operand:DI 1 "arith_operand" "d,d,d")
++ (match_operand:DI 2 "arith_operand" "d,K,I")))]
+ "TARGET_MB_64"
+ "@
+ andl\t%0,%1,%2
+- andli\t%0,%1,%2 #andl1"
+- ;; andli\t%0,%1,%2 #andl3
+- ;; andli\t%0,%1,%2 #andl2
+- [(set_attr "type" "arith,arith")
+- (set_attr "mode" "DI,DI")
+- (set_attr "length" "4,4")])
++ andli\t%0,%1,%2 #andl2
++ andli\t%0,%1,%2 #andl3"
++ [(set_attr "type" "arith,no_delay_arith,no_delay_arith")
++ (set_attr "mode" "DI,DI,DI")
++ (set_attr "length" "4,4,4")])
+
+ (define_insn "andsi3"
+ [(set (match_operand:SI 0 "register_operand" "=d,d,d,d")
+@@ -917,7 +961,7 @@
+ "@
+ orl\t%0,%1,%2
+ orli\t%0,%1,%2 #andl1"
+- [(set_attr "type" "arith,arith")
++ [(set_attr "type" "arith,no_delay_arith")
+ (set_attr "mode" "DI,DI")
+ (set_attr "length" "4,4")])
+
+@@ -943,7 +987,7 @@
+ "@
+ xorl\t%0,%1,%2
+ xorli\t%0,%1,%2 #andl1"
+- [(set_attr "type" "arith,arith")
++ [(set_attr "type" "arith,no_delay_arith")
+ (set_attr "mode" "DI,DI")
+ (set_attr "length" "4,4")])
+
+@@ -1016,26 +1060,6 @@
+ (set_attr "mode" "SI")
+ (set_attr "length" "4")])
+
+-;;(define_expand "extendqidi2"
+-;; [(set (match_operand:DI 0 "register_operand" "=d")
+-;; (sign_extend:DI (match_operand:QI 1 "general_operand" "d")))]
+-;; "TARGET_MB_64"
+-;; {
+-;; if (GET_CODE (operands[1]) != REG)
+-;; FAIL;
+-;; }
+-;;)
+-
+-
+-;;(define_insn "extendqidi2"
+-;; [(set (match_operand:DI 0 "register_operand" "=d")
+-;; (sign_extend:DI (match_operand:QI 1 "register_operand" "d")))]
+-;; "TARGET_MB_64"
+-;; "sextl8\t%0,%1"
+-;; [(set_attr "type" "arith")
+-;; (set_attr "mode" "DI")
+-;; (set_attr "length" "4")])
+-
+ (define_insn "extendhisi2"
+ [(set (match_operand:SI 0 "register_operand" "=d")
+ (sign_extend:SI (match_operand:HI 1 "register_operand" "d")))]
+@@ -1058,6 +1082,27 @@
+ ;; Those for integer source operand are ordered
+ ;; widest source type first.
+
++(define_insn "extendsidi2_long"
++ [(set (match_operand:DI 0 "register_operand" "=d,d,d")
++ (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "d,R,m")))]
++ "TARGET_MB_64"
++ {
++ switch (which_alternative)
++ {
++ case 0:
++ return "sextl32\t%0,%1";
++ case 1:
++ case 2:
++ {
++ output_asm_insn ("ll%i1\t%0,%1", operands);
++ return "sextl32\t%0,%0";
++ }
++ }
++ }
++ [(set_attr "type" "multi,multi,multi")
++ (set_attr "mode" "DI")
++ (set_attr "length" "4,8,8")])
++
+ (define_insn "extendsidi2"
+ [(set (match_operand:DI 0 "register_operand" "=d,d,d")
+ (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "d,R,m")))]
+@@ -1088,68 +1133,117 @@
+ ;; Unlike most other insns, the move insns can't be split with
+ ;; different predicates, because register spilling and other parts of
+ ;; the compiler, have memoized the insn number already.
++;; //}
+
+ (define_expand "movdi"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "")
+ (match_operand:DI 1 "general_operand" ""))]
+ ""
+ {
+- /* If operands[1] is a constant address illegal for pic, then we need to
+- handle it just like microblaze_legitimize_address does. */
+- if (flag_pic && pic_address_needs_scratch (operands[1]))
++ if (TARGET_MB_64)
++ {
++ if (microblaze_expand_move (DImode, operands)) DONE;
++ }
++ else
+ {
++ /* If operands[1] is a constant address illegal for pic, then we need to
++ handle it just like microblaze_legitimize_address does. */
++ if (flag_pic && pic_address_needs_scratch (operands[1]))
++ {
+ rtx temp = force_reg (DImode, XEXP (XEXP (operands[1], 0), 0));
+ rtx temp2 = XEXP (XEXP (operands[1], 0), 1);
+ emit_move_insn (operands[0], gen_rtx_PLUS (DImode, temp, temp2));
+ DONE;
+- }
+-
+-
+- if ((reload_in_progress | reload_completed) == 0
+- && !register_operand (operands[0], DImode)
+- && !register_operand (operands[1], DImode)
+- && (((GET_CODE (operands[1]) != CONST_INT || INTVAL (operands[1]) != 0)
+- && operands[1] != CONST0_RTX (DImode))))
+- {
++ }
+
+- rtx temp = force_reg (DImode, operands[1]);
+- emit_move_insn (operands[0], temp);
+- DONE;
++ if ((reload_in_progress | reload_completed) == 0
++ && !register_operand (operands[0], DImode)
++ && !register_operand (operands[1], DImode)
++ && (((GET_CODE (operands[1]) != CONST_INT || INTVAL (operands[1]) != 0)
++ && operands[1] != CONST0_RTX (DImode))))
++ {
++ rtx temp = force_reg (DImode, operands[1]);
++ emit_move_insn (operands[0], temp);
++ DONE;
++ }
+ }
+ }
+ )
+
++;; Added for status registers
++(define_insn "movdi_status"
++ [(set (match_operand:DI 0 "register_operand" "=d,d,z")
++ (match_operand:DI 1 "register_operand" "z,d,d"))]
++ "microblaze_is_interrupt_variant () && TARGET_MB_64"
++ "@
++ mfs\t%0,%1 #mfs
++ addlk\t%0,%1,r0 #add movdi
++ mts\t%0,%1 #mts"
++ [(set_attr "type" "move")
++ (set_attr "mode" "DI")
++ (set_attr "length" "12")])
+
+-(define_insn "*movdi_internal_64"
+- [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o")
+- (match_operand:DI 1 "general_operand" " d,K,J,R,o,d,d"))]
+- "TARGET_MB_64 && (INTVAL(operands[1]) < 0x7fffffffff) && (INTVAL(operands[1]) > 0xffffff8000000000)"
++;; This move will be not be moved to delay slot.
++(define_insn "*movdi_internal3"
++ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d")
++ (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))]
++ "TARGET_MB_64 && (register_operand (operands[0], DImode) &&
++ (GET_CODE (operands[1]) == CONST_INT &&
++ (INTVAL (operands[1]) <= (long)549755813887 && INTVAL (operands[1]) >= (long)-549755813888)))"
++ "@
++ addlk\t%0,r0,r0\t
++ addlik\t%0,r0,%1\t #N1 %X1
++ addlik\t%0,r0,%1\t #N2 %X1"
++ [(set_attr "type" "arith,no_delay_arith,no_delay_arith")
++ (set_attr "mode" "DI")
++ (set_attr "length" "4")])
++
++;; This move may be used for PLT label operand
++(define_insn "*movdi_internal5_pltop"
++ [(set (match_operand:DI 0 "register_operand" "=d,d")
++ (match_operand:DI 1 "call_insn_operand" ""))]
++ "TARGET_MB_64 && (register_operand (operands[0], Pmode) &&
++ PLT_ADDR_P (operands[1]))"
++ {
++ gcc_unreachable ();
++ }
++ [(set_attr "type" "load")
++ (set_attr "mode" "DI")
++ (set_attr "length" "4")])
++
++(define_insn "*movdi_internal2"
++ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d, d,d,R,m")
++ (match_operand:DI 1 "move_src_operand" " d,I,Mnis,R,m,dJ,dJ"))]
++ "TARGET_MB_64"
+ {
+ switch (which_alternative)
+ {
+ case 0:
+- return "addlk\t%0,%1";
+- case 1:
+- return "addlik\t%0,r0,%1";
+- case 2:
+- return "addlk\t%0,r0,r0";
+- case 3:
+- case 4:
+- return "lli\t%0,%1";
+- case 5:
+- case 6:
+- return "sli\t%1,%0";
+- }
+- return "unreachable";
+- }
+- [(set_attr "type" "no_delay_move,no_delay_arith,no_delay_arith,no_delay_load,no_delay_load,no_delay_store,no_delay_store")
++ return "addlk\t%0,%1,r0";
++ case 1:
++ case 2:
++ if (GET_CODE (operands[1]) == CONST_INT &&
++ (INTVAL (operands[1]) > (long)549755813887 || INTVAL (operands[1]) < (long)-549755813888))
++ return "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
++ else
++ return "addlik\t%0,r0,%1";
++ case 3:
++ case 4:
++ return "ll%i1\t%0,%1";
++ case 5:
++ case 6:
++ return "sl%i0\t%z1,%0";
++ }
++ }
++ [(set_attr "type" "load,no_delay_load,no_delay_load,no_delay_load,no_delay_load,no_delay_store,no_delay_store")
+ (set_attr "mode" "DI")
+- (set_attr "length" "8,8,8,8,12,8,12")])
++ (set_attr "length" "4,4,12,4,8,4,8")])
++
+
+ (define_insn "*movdi_internal"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d,d,d,R,o")
+ (match_operand:DI 1 "general_operand" " d,i,J,R,o,d,d"))]
+- ""
++ "!TARGET_MB_64"
+ {
+ switch (which_alternative)
+ {
+@@ -1181,7 +1275,8 @@
+ "reload_completed
+ && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
+ && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
+- && (REGNO(operands[0]) == (REGNO(operands[1]) + 1))"
++ && (REGNO(operands[0]) == (REGNO(operands[1]) + 1))
++ && !(TARGET_MB_64)"
+
+ [(set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))
+ (set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))]
+@@ -1193,12 +1288,22 @@
+ "reload_completed
+ && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
+ && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
+- && (REGNO (operands[0]) != (REGNO (operands[1]) + 1))"
++ && (REGNO (operands[0]) != (REGNO (operands[1]) + 1))
++ && !(TARGET_MB_64)"
+
+ [(set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))
+ (set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))]
+ "")
+
++(define_insn "movdi_long_int"
++ [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
++ (match_operand:DI 1 "general_operand" "i"))]
++ ""
++ "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
++ [(set_attr "type" "no_delay_arith")
++ (set_attr "mode" "DI")
++ (set_attr "length" "12")])
++
+ ;; Unlike most other insns, the move insns can't be split with
+ ;; different predicates, because register spilling and other parts of
+ ;; the compiler, have memoized the insn number already.
+@@ -1270,6 +1375,8 @@
+ (set_attr "length" "4,4,8,4,8,4,8")])
+
+
++
++
+ ;; 16-bit Integer moves
+
+ ;; Unlike most other insns, the move insns can't be split with
+@@ -1302,8 +1409,8 @@
+ "@
+ addik\t%0,r0,%1\t# %X1
+ addk\t%0,%1,r0
+- lhui\t%0,%1
+- lhui\t%0,%1
++ lhu%i1\t%0,%1
++ lhu%i1\t%0,%1
+ sh%i0\t%z1,%0
+ sh%i0\t%z1,%0"
+ [(set_attr "type" "arith,move,load,no_delay_load,store,no_delay_store")
+@@ -1346,7 +1453,7 @@
+ lbu%i1\t%0,%1
+ lbu%i1\t%0,%1
+ sb%i0\t%z1,%0
+- sbi\t%z1,%0"
++ sb%i0\t%z1,%0"
+ [(set_attr "type" "arith,arith,move,load,no_delay_load,store,no_delay_store")
+ (set_attr "mode" "QI")
+ (set_attr "length" "4,4,8,4,8,4,8")])
+@@ -1419,7 +1526,7 @@
+ addik\t%0,r0,%F1
+ lw%i1\t%0,%1
+ sw%i0\t%z1,%0
+- swi\t%z1,%0"
++ sw%i0\t%z1,%0"
+ [(set_attr "type" "move,no_delay_load,load,no_delay_load,no_delay_load,store,no_delay_store")
+ (set_attr "mode" "SF")
+ (set_attr "length" "4,4,4,4,4,4,4")])
+@@ -1458,6 +1565,33 @@
+ ;; movdf_internal
+ ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT
+ ;;
++(define_insn "*movdf_internal_64"
++ [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,d,m")
++ (match_operand:DF 1 "general_operand" "d,dG,m,F,T,d"))]
++ "TARGET_MB_64"
++ {
++ switch (which_alternative)
++ {
++ case 0:
++ return "addlk\t%0,%1,r0";
++ case 1:
++ return "addlk\t%0,r0,r0";
++ case 2:
++ case 4:
++ return "ll%i1\t%0,%1";
++ case 3:
++ {
++ return "addlik\t%0,r0,%h1 \n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #Xfer Lo";
++ }
++ case 5:
++ return "sl%i0\t%1,%0";
++ }
++ gcc_unreachable ();
++ }
++ [(set_attr "type" "no_delay_move,no_delay_move,no_delay_load,no_delay_load,no_delay_load,no_delay_store")
++ (set_attr "mode" "DF")
++ (set_attr "length" "4,4,4,16,4,4")])
++
+ (define_insn "*movdf_internal"
+ [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,o")
+ (match_operand:DF 1 "general_operand" "dG,o,F,T,d"))]
+@@ -1492,7 +1626,8 @@
+ "reload_completed
+ && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
+ && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
+- && (REGNO (operands[0]) == (REGNO (operands[1]) + 1))"
++ && (REGNO (operands[0]) == (REGNO (operands[1]) + 1))
++ && !TARGET_MB_64"
+ [(set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))
+ (set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))]
+ "")
+@@ -1503,7 +1638,8 @@
+ "reload_completed
+ && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
+ && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
+- && (REGNO (operands[0]) != (REGNO (operands[1]) + 1))"
++ && (REGNO (operands[0]) != (REGNO (operands[1]) + 1))
++ && !TARGET_MB_64"
+ [(set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))
+ (set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))]
+ "")
+@@ -2003,6 +2139,31 @@ else
+ "
+ )
+
++
++(define_insn "seq_internal_pat_long"
++ [(set (match_operand:DI 0 "register_operand" "=d")
++ (eq:DI
++ (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "pcmpleq\t%0,%1,%2"
++ [(set_attr "type" "arith")
++ (set_attr "mode" "DI")
++ (set_attr "length" "4")]
++)
++
++(define_insn "sne_internal_pat_long"
++ [(set (match_operand:DI 0 "register_operand" "=d")
++ (ne:DI
++ (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "pcmplne\t%0,%1,%2"
++ [(set_attr "type" "arith")
++ (set_attr "mode" "DI")
++ (set_attr "length" "4")]
++)
++
+ (define_insn "seq_internal_pat"
+ [(set (match_operand:SI 0 "register_operand" "=d")
+ (eq:SI
+@@ -2063,8 +2224,8 @@ else
+ (define_expand "cbranchsi4"
+ [(set (pc)
+ (if_then_else (match_operator 0 "ordered_comparison_operator"
+- [(match_operand:SI 1 "register_operand")
+- (match_operand:SI 2 "arith_operand" "I,i")])
++ [(match_operand 1 "register_operand")
++ (match_operand 2 "arith_operand" "I,i")])
+ (label_ref (match_operand 3 ""))
+ (pc)))]
+ ""
+@@ -2076,13 +2237,13 @@ else
+ (define_expand "cbranchsi4_reg"
+ [(set (pc)
+ (if_then_else (match_operator 0 "ordered_comparison_operator"
+- [(match_operand:SI 1 "register_operand")
+- (match_operand:SI 2 "register_operand")])
++ [(match_operand 1 "register_operand")
++ (match_operand 2 "register_operand")])
+ (label_ref (match_operand 3 ""))
+ (pc)))]
+ ""
+ {
+- microblaze_expand_conditional_branch_reg (SImode, operands);
++ microblaze_expand_conditional_branch_reg (Pmode, operands);
+ DONE;
+ })
+
+@@ -2107,6 +2268,26 @@ else
+ (label_ref (match_operand 1))
+ (pc)))])
+
++(define_insn "branch_zero64"
++ [(set (pc)
++ (if_then_else (match_operator 0 "ordered_comparison_operator"
++ [(match_operand 1 "register_operand" "d")
++ (const_int 0)])
++ (match_operand 2 "pc_or_label_operand" "")
++ (match_operand 3 "pc_or_label_operand" "")))
++ ]
++ "TARGET_MB_64"
++ {
++ if (operands[3] == pc_rtx)
++ return "bea%C0i%?\t%z1,%2";
++ else
++ return "bea%N0i%?\t%z1,%3";
++ }
++ [(set_attr "type" "branch")
++ (set_attr "mode" "none")
++ (set_attr "length" "4")]
++)
++
+ (define_insn "branch_zero"
+ [(set (pc)
+ (if_then_else (match_operator:SI 0 "ordered_comparison_operator"
+@@ -2127,6 +2308,47 @@ else
+ (set_attr "length" "4")]
+ )
+
++(define_insn "branch_compare64"
++ [(set (pc)
++ (if_then_else (match_operator 0 "cmp_op"
++ [(match_operand 1 "register_operand" "d")
++ (match_operand 2 "register_operand" "d")
++ ])
++ (label_ref (match_operand 3))
++ (pc)))
++ (clobber(reg:SI R_TMP))]
++ "TARGET_MB_64"
++ {
++ operands[4] = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
++ enum rtx_code code = GET_CODE (operands[0]);
++
++ if (code == GT || code == LE)
++ {
++ output_asm_insn ("cmp\tr18,%z1,%z2", operands);
++ code = swap_condition (code);
++ }
++ else if (code == GTU || code == LEU)
++ {
++ output_asm_insn ("cmpu\tr18,%z1,%z2", operands);
++ code = swap_condition (code);
++ }
++ else if (code == GE || code == LT)
++ {
++ output_asm_insn ("cmp\tr18,%z2,%z1", operands);
++ }
++ else if (code == GEU || code == LTU)
++ {
++ output_asm_insn ("cmpu\tr18,%z2,%z1", operands);
++ }
++
++ operands[0] = gen_rtx_fmt_ee (signed_condition (code), SImode, operands[4], const0_rtx);
++ return "bea%C0i%?\tr18,%3";
++ }
++ [(set_attr "type" "branch")
++ (set_attr "mode" "none")
++ (set_attr "length" "12")]
++)
++
+ (define_insn "branch_compare"
+ [(set (pc)
+ (if_then_else (match_operator:SI 0 "cmp_op"
+@@ -2310,7 +2532,7 @@ else
+ ;; Indirect jumps. Jump to register values. Assuming absolute jumps
+
+ (define_insn "indirect_jump_internal1"
+- [(set (pc) (match_operand:SI 0 "register_operand" "d"))]
++ [(set (pc) (match_operand 0 "register_operand" "d"))]
+ ""
+ "bra%?\t%0"
+ [(set_attr "type" "jump")
+@@ -2323,7 +2545,7 @@ else
+ (use (label_ref (match_operand 1 "" "")))]
+ ""
+ {
+- gcc_assert (GET_MODE (operands[0]) == Pmode);
++ //gcc_assert (GET_MODE (operands[0]) == Pmode);
+
+ if (!flag_pic)
+ emit_jump_insn (gen_tablejump_internal1 (operands[0], operands[1]));
+@@ -2335,7 +2557,7 @@ else
+
+ (define_insn "tablejump_internal1"
+ [(set (pc)
+- (match_operand:SI 0 "register_operand" "d"))
++ (match_operand 0 "register_operand" "d"))
+ (use (label_ref (match_operand 1 "" "")))]
+ ""
+ "bra%?\t%0 "
+@@ -2345,9 +2567,9 @@ else
+
+ (define_expand "tablejump_internal3"
+ [(parallel [(set (pc)
+- (plus:SI (match_operand:SI 0 "register_operand" "d")
+- (label_ref:SI (match_operand:SI 1 "" ""))))
+- (use (label_ref:SI (match_dup 1)))])]
++ (plus (match_operand 0 "register_operand" "d")
++ (label_ref (match_operand:SI 1 "" ""))))
++ (use (label_ref (match_dup 1)))])]
+ ""
+ ""
+ )
+@@ -2408,7 +2630,7 @@ else
+ (minus (reg 1) (match_operand 1 "register_operand" "")))
+ (set (reg 1)
+ (minus (reg 1) (match_dup 1)))]
+- ""
++ "!TARGET_MB_64"
+ {
+ rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx);
+ rtx reg = gen_reg_rtx (Pmode);
+@@ -2433,7 +2655,7 @@ else
+ (define_expand "save_stack_block"
+ [(match_operand 0 "register_operand" "")
+ (match_operand 1 "register_operand" "")]
+- ""
++ "!TARGET_MB_64"
+ {
+ emit_move_insn (operands[0], operands[1]);
+ DONE;
+@@ -2443,7 +2665,7 @@ else
+ (define_expand "restore_stack_block"
+ [(match_operand 0 "register_operand" "")
+ (match_operand 1 "register_operand" "")]
+- ""
++ "!TARGET_MB_64"
+ {
+ rtx retaddr = gen_rtx_MEM (Pmode, stack_pointer_rtx);
+ rtx rtmp = gen_rtx_REG (SImode, R_TMP);
+@@ -2490,7 +2712,7 @@ else
+
+ (define_insn "<optab>_internal"
+ [(any_return)
+- (use (match_operand:SI 0 "register_operand" ""))]
++ (use (match_operand 0 "register_operand" ""))]
+ ""
+ {
+ if (microblaze_is_break_handler ())
+@@ -2523,7 +2745,7 @@ else
+ (define_expand "call"
+ [(parallel [(call (match_operand 0 "memory_operand" "m")
+ (match_operand 1 "" "i"))
+- (clobber (reg:SI R_SR))
++ (clobber (reg R_SR))
+ (use (match_operand 2 "" ""))
+ (use (match_operand 3 "" ""))])]
+ ""
+@@ -2543,12 +2765,12 @@ else
+
+ if (GET_CODE (XEXP (operands[0], 0)) == UNSPEC)
+ emit_call_insn (gen_call_internal_plt0 (operands[0], operands[1],
+- gen_rtx_REG (SImode,
++ gen_rtx_REG (Pmode,
+ GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM),
+ pic_offset_table_rtx));
+ else
+ emit_call_insn (gen_call_internal0 (operands[0], operands[1],
+- gen_rtx_REG (SImode,
++ gen_rtx_REG (Pmode,
+ GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)));
+
+ DONE;
+@@ -2558,7 +2780,7 @@ else
+ (define_expand "call_internal0"
+ [(parallel [(call (match_operand 0 "" "")
+ (match_operand 1 "" ""))
+- (clobber (match_operand:SI 2 "" ""))])]
++ (clobber (match_operand 2 "" ""))])]
+ ""
+ {
+ }
+@@ -2567,18 +2789,34 @@ else
+ (define_expand "call_internal_plt0"
+ [(parallel [(call (match_operand 0 "" "")
+ (match_operand 1 "" ""))
+- (clobber (match_operand:SI 2 "" ""))
+- (use (match_operand:SI 3 "" ""))])]
++ (clobber (match_operand 2 "" ""))
++ (use (match_operand 3 "" ""))])]
+ ""
+ {
+ }
+ )
+
++(define_insn "call_internal_plt_64"
++ [(call (mem (match_operand 0 "call_insn_plt_operand" ""))
++ (match_operand 1 "" "i"))
++ (clobber (reg R_SR))
++ (use (reg R_GOT))]
++ "flag_pic && TARGET_MB_64"
++ {
++ register rtx target2 = gen_rtx_REG (Pmode,
++ GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
++ gen_rtx_CLOBBER (VOIDmode, target2);
++ return "brealid\tr15,%0\;%#";
++ }
++ [(set_attr "type" "call")
++ (set_attr "mode" "none")
++ (set_attr "length" "4")])
++
+ (define_insn "call_internal_plt"
+- [(call (mem (match_operand:SI 0 "call_insn_plt_operand" ""))
+- (match_operand:SI 1 "" "i"))
+- (clobber (reg:SI R_SR))
+- (use (reg:SI R_GOT))]
++ [(call (mem (match_operand 0 "call_insn_plt_operand" ""))
++ (match_operand 1 "" "i"))
++ (clobber (reg R_SR))
++ (use (reg R_GOT))]
+ "flag_pic"
+ {
+ register rtx target2 = gen_rtx_REG (Pmode,
+@@ -2590,10 +2828,41 @@ else
+ (set_attr "mode" "none")
+ (set_attr "length" "4")])
+
++(define_insn "call_internal1_64"
++ [(call (mem (match_operand:VOID 0 "call_insn_simple_operand" "ri"))
++ (match_operand 1 "" "i"))
++ (clobber (reg R_SR))]
++ "TARGET_MB_64"
++ {
++ register rtx target = operands[0];
++ register rtx target2 = gen_rtx_REG (Pmode,
++ GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
++ if (GET_CODE (target) == SYMBOL_REF) {
++ if (microblaze_break_function_p (SYMBOL_REF_DECL (target))) {
++ gen_rtx_CLOBBER (VOIDmode, target2);
++ return "breaki\tr16,%0\;%#";
++ }
++ else {
++ gen_rtx_CLOBBER (VOIDmode, target2);
++ return "brealid\tr15,%0\;%#";
++ }
++ } else if (GET_CODE (target) == CONST_INT)
++ return "la\t%@,r0,%0\;brald\tr15,%@\;%#";
++ else if (GET_CODE (target) == REG)
++ return "brald\tr15,%0\;%#";
++ else {
++ fprintf (stderr,"Unsupported call insn\n");
++ return NULL;
++ }
++ }
++ [(set_attr "type" "call")
++ (set_attr "mode" "none")
++ (set_attr "length" "4")])
++
+ (define_insn "call_internal1"
+ [(call (mem (match_operand:VOID 0 "call_insn_simple_operand" "ri"))
+- (match_operand:SI 1 "" "i"))
+- (clobber (reg:SI R_SR))]
++ (match_operand 1 "" "i"))
++ (clobber (reg R_SR))]
+ ""
+ {
+ register rtx target = operands[0];
+@@ -2627,7 +2896,7 @@ else
+ [(parallel [(set (match_operand 0 "register_operand" "=d")
+ (call (match_operand 1 "memory_operand" "m")
+ (match_operand 2 "" "i")))
+- (clobber (reg:SI R_SR))
++ (clobber (reg R_SR))
+ (use (match_operand 3 "" ""))])] ;; next_arg_reg
+ ""
+ {
+@@ -2647,13 +2916,13 @@ else
+ if (GET_CODE (XEXP (operands[1], 0)) == UNSPEC)
+ emit_call_insn (gen_call_value_intern_plt0 (operands[0], operands[1],
+ operands[2],
+- gen_rtx_REG (SImode,
++ gen_rtx_REG (Pmode,
+ GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM),
+ pic_offset_table_rtx));
+ else
+ emit_call_insn (gen_call_value_internal (operands[0], operands[1],
+ operands[2],
+- gen_rtx_REG (SImode,
++ gen_rtx_REG (Pmode,
+ GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)));
+
+ DONE;
+@@ -2665,7 +2934,7 @@ else
+ [(parallel [(set (match_operand 0 "" "")
+ (call (match_operand 1 "" "")
+ (match_operand 2 "" "")))
+- (clobber (match_operand:SI 3 "" ""))
++ (clobber (match_operand 3 "" ""))
+ ])]
+ ""
+ {}
+@@ -2675,18 +2944,35 @@ else
+ [(parallel[(set (match_operand 0 "" "")
+ (call (match_operand 1 "" "")
+ (match_operand 2 "" "")))
+- (clobber (match_operand:SI 3 "" ""))
+- (use (match_operand:SI 4 "" ""))])]
++ (clobber (match_operand 3 "" ""))
++ (use (match_operand 4 "" ""))])]
+ "flag_pic"
+ {}
+ )
+
++(define_insn "call_value_intern_plt_64"
++ [(set (match_operand:VOID 0 "register_operand" "=d")
++ (call (mem (match_operand 1 "call_insn_plt_operand" ""))
++ (match_operand 2 "" "i")))
++ (clobber (match_operand 3 "register_operand" "=d"))
++ (use (match_operand 4 "register_operand"))]
++ "flag_pic && TARGET_MB_64"
++ {
++ register rtx target2=gen_rtx_REG (Pmode,GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
++
++ gen_rtx_CLOBBER (VOIDmode,target2);
++ return "brealid\tr15,%1\;%#";
++ }
++ [(set_attr "type" "call")
++ (set_attr "mode" "none")
++ (set_attr "length" "4")])
++
+ (define_insn "call_value_intern_plt"
+ [(set (match_operand:VOID 0 "register_operand" "=d")
+- (call (mem (match_operand:SI 1 "call_insn_plt_operand" ""))
+- (match_operand:SI 2 "" "i")))
+- (clobber (match_operand:SI 3 "register_operand" "=d"))
+- (use (match_operand:SI 4 "register_operand"))]
++ (call (mem (match_operand 1 "call_insn_plt_operand" ""))
++ (match_operand 2 "" "i")))
++ (clobber (match_operand 3 "register_operand" "=d"))
++ (use (match_operand 4 "register_operand"))]
+ "flag_pic"
+ {
+ register rtx target2=gen_rtx_REG (Pmode,GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
+@@ -2698,11 +2984,46 @@ else
+ (set_attr "mode" "none")
+ (set_attr "length" "4")])
+
++(define_insn "call_value_intern_64"
++ [(set (match_operand:VOID 0 "register_operand" "=d")
++ (call (mem (match_operand:VOID 1 "call_insn_operand" "ri"))
++ (match_operand 2 "" "i")))
++ (clobber (match_operand 3 "register_operand" "=d"))]
++ "TARGET_MB_64"
++ {
++ register rtx target = operands[1];
++ register rtx target2=gen_rtx_REG (Pmode,GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM);
++
++ if (GET_CODE (target) == SYMBOL_REF)
++ {
++ gen_rtx_CLOBBER (VOIDmode,target2);
++ if (microblaze_break_function_p (SYMBOL_REF_DECL (target)))
++ return "breaki\tr16,%1\;%#";
++ else if (SYMBOL_REF_FLAGS (target) & SYMBOL_FLAG_FUNCTION)
++ {
++ return "brealid\tr15,%1\;%#";
++ }
++ else
++ {
++ return "bralid\tr15,%1\;%#";
++ }
++ }
++ else if (GET_CODE (target) == CONST_INT)
++ return "la\t%@,r0,%1\;brald\tr15,%@\;%#";
++ else if (GET_CODE (target) == REG)
++ return "brald\tr15,%1\;%#";
++ else
++ return "Unsupported call insn\n";
++ }
++ [(set_attr "type" "call")
++ (set_attr "mode" "none")
++ (set_attr "length" "4")])
++
+ (define_insn "call_value_intern"
+ [(set (match_operand:VOID 0 "register_operand" "=d")
+ (call (mem (match_operand:VOID 1 "call_insn_operand" "ri"))
+- (match_operand:SI 2 "" "i")))
+- (clobber (match_operand:SI 3 "register_operand" "=d"))]
++ (match_operand 2 "" "i")))
++ (clobber (match_operand 3 "register_operand" "=d"))]
+ ""
+ {
+ register rtx target = operands[1];
+@@ -2864,7 +3185,6 @@ else
+
+ ;;if (!register_operand (operands[0], VOIDmode))
+ ;; FAIL;
+-
+ emit_insn (gen_insv_32 (operands[0], operands[1],
+ operands[2], operands[3]));
+ DONE;
+diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
+index 7671f63..9fc80b1 100644
+--- a/gcc/config/microblaze/t-microblaze
++++ b/gcc/config/microblaze/t-microblaze
+@@ -2,10 +2,11 @@ MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-en
+ MULTILIB_DIRNAMES = bs m mh le m64
+ MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
+ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
+-MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64
++MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian/m64
++MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64 mxl-multiply-high
+ MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
+-#MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
+-#MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
++MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
++MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
+
+ # Extra files
+ microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
+diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S
+index 2e15be4..3386520 100644
+--- a/libgcc/config/microblaze/crti.S
++++ b/libgcc/config/microblaze/crti.S
+@@ -40,7 +40,7 @@
+
+ .align 2
+ __init:
+- addik r1, r1, -8
++ addik r1, r1, -16
+ sw r15, r0, r1
+ la r11, r0, _stack
+ mts rshr, r11
+@@ -51,5 +51,5 @@ __init:
+ .global __fini
+ .align 2
+ __fini:
+- addik r1, r1, -8
++ addik r1, r1, -16
+ sw r15, r0, r1
+diff --git a/libgcc/config/microblaze/crtn.S b/libgcc/config/microblaze/crtn.S
+index cd5fd9e..04e73d7 100644
+--- a/libgcc/config/microblaze/crtn.S
++++ b/libgcc/config/microblaze/crtn.S
+@@ -33,9 +33,9 @@
+ .section .init, "ax"
+ lw r15, r0, r1
+ rtsd r15, 8
+- addik r1, r1, 8
++ addik r1, r1, 16
+
+ .section .fini, "ax"
+ lw r15, r0, r1
+ rtsd r15, 8
+- addik r1, r1, 8
++ addik r1, r1, 16
+diff --git a/libgcc/config/microblaze/divdi3.S b/libgcc/config/microblaze/divdi3.S
+new file mode 100644
+index 0000000..d37bf51
+--- /dev/null
++++ b/libgcc/config/microblaze/divdi3.S
+@@ -0,0 +1,98 @@
++###################################-
++#
++# Copyright (C) 2009-2017 Free Software Foundation, Inc.
++#
++# Contributed by Michael Eager <eager@eagercon.com>.
++#
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 3, or (at your option) any
++# later version.
++#
++# GCC 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.
++#
++# Under Section 7 of GPL version 3, you are granted additional
++# permissions described in the GCC Runtime Library Exception, version
++# 3.1, as published by the Free Software Foundation.
++#
++# You should have received a copy of the GNU General Public License and
++# a copy of the GCC Runtime Library Exception along with this program;
++# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++# <http://www.gnu.org/licenses/>.
++#
++# divdi3.S
++#
++# Divide operation for 32 bit integers.
++# Input : Dividend in Reg r5
++# Divisor in Reg r6
++# Output: Result in Reg r3
++#
++#######################################
++
++#ifdef __arch64__
++ .globl __divdi3
++ .ent __divdi3
++ .type __divdi3,@function
++__divdi3:
++ .frame r1,0,r15
++
++ ADDLIK r1,r1,-32
++ SLI r28,r1,0
++ SLI r29,r1,8
++ SLI r30,r1,16
++ SLI r31,r1,24
++
++ BEALEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
++ BEALEQI r5,$LaResult_Is_Zero # Result is Zero
++ XORL r28,r5,r6 # Get the sign of the result
++ BEALGEI r5,$LaR5_Pos
++ RSUBLI r5,r5,0 # Make r5 positive
++$LaR5_Pos:
++ BEALGEI r6,$LaR6_Pos
++ RSUBLI r6,r6,0 # Make r6 positive
++$LaR6_Pos:
++ ADDLIK r30,r0,0 # Clear mod
++ ADDLIK r3,r0,0 # clear div
++ ADDLIK r29,r0,64 # Initialize the loop count
++
++ # First part try to find the first '1' in the r5
++$LaDIV0:
++ BEALLTI r5,$LaDIV2 # This traps r5 == 0x80000000
++$LaDIV1:
++ ADDL r5,r5,r5 # left shift logical r5
++ ADDLIK r29,r29,-1
++ BEALGTI r5,$LaDIV1
++$LaDIV2:
++ ADDL r5,r5,r5 # left shift logical r5 get the '1' into the Carry
++ ADDLC r30,r30,r30 # Move that bit into the Mod register
++ RSUBL r31,r6,r30 # Try to subtract (r30 a r6)
++ BEALLTI r31,$LaMOD_TOO_SMALL
++ ORL r30,r0,r31 # Move the r31 to mod since the result was positive
++ ADDLIK r3,r3,1
++$LaMOD_TOO_SMALL:
++ ADDLIK r29,r29,-1
++ BEALEQi r29,$LaLOOP_END
++ ADDL r3,r3,r3 # Shift in the '1' into div
++ BREAI $LaDIV2 # Div2
++$LaLOOP_END:
++ BEALGEI r28,$LaRETURN_HERE
++ RSUBLI r3,r3,0 # Negate the result
++ BREAI $LaRETURN_HERE
++$LaDiv_By_Zero:
++$LaResult_Is_Zero:
++ ORL r3,r0,r0 # set result to 0
++$LaRETURN_HERE:
++# Restore values of CSRs and that of r3 and the divisor and the dividend
++ LLI r28,r1,0
++ LLI r29,r1,8
++ LLI r30,r1,16
++ LLI r31,r1,24
++ ADDLIK r1,r1,32
++ RTSD r15,8
++ nop
++.end __divdi3
++ .size __divdi3, . - __divdi3
++#endif
+diff --git a/libgcc/config/microblaze/divdi3_table.c b/libgcc/config/microblaze/divdi3_table.c
+new file mode 100644
+index 0000000..8096259
+--- /dev/null
++++ b/libgcc/config/microblaze/divdi3_table.c
+@@ -0,0 +1,62 @@
++/* Table for software lookup divide for Xilinx MicroBlaze.
++
++ Copyright (C) 2009-2017 Free Software Foundation, Inc.
++
++ Contributed by Michael Eager <eager@eagercon.com>.
++
++ This file is free software; you can redistribute it and/or modify it
++ under the terms of the GNU General Public License as published by the
++ Free Software Foundation; either version 3, or (at your option) any
++ later version.
++
++ GCC 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.
++
++ Under Section 7 of GPL version 3, you are granted additional
++ permissions described in the GCC Runtime Library Exception, version
++ 3.1, as published by the Free Software Foundation.
++
++ You should have received a copy of the GNU General Public License and
++ a copy of the GCC Runtime Library Exception along with this program;
++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++ <http://www.gnu.org/licenses/>. */
++
++
++unsigned char _divdi3_table[] =
++{
++ 0, 0/1, 0/2, 0/3, 0/4, 0/5, 0/6, 0/7,
++ 0/8, 0/9, 0/10, 0/11, 0/12, 0/13, 0/14, 0/15,
++ 0, 1/1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7,
++ 1/8, 1/9, 1/10, 1/11, 1/12, 1/13, 1/14, 1/15,
++ 0, 2/1, 2/2, 2/3, 2/4, 2/5, 2/6, 2/7,
++ 2/8, 2/9, 2/10, 2/11, 2/12, 2/13, 2/14, 2/15,
++ 0, 3/1, 3/2, 3/3, 3/4, 3/5, 3/6, 3/7,
++ 3/8, 3/9, 3/10, 3/11, 3/12, 3/13, 3/14, 3/15,
++ 0, 4/1, 4/2, 4/3, 4/4, 4/5, 4/6, 4/7,
++ 4/8, 4/9, 4/10, 4/11, 4/12, 4/13, 4/14, 4/15,
++ 0, 5/1, 5/2, 5/3, 5/4, 5/5, 5/6, 5/7,
++ 5/8, 5/9, 5/10, 5/11, 5/12, 5/13, 5/14, 5/15,
++ 0, 6/1, 6/2, 6/3, 6/4, 6/5, 6/6, 6/7,
++ 6/8, 6/9, 6/10, 6/11, 6/12, 6/13, 6/14, 6/15,
++ 0, 7/1, 7/2, 7/3, 7/4, 7/5, 7/6, 7/7,
++ 7/8, 7/9, 7/10, 7/11, 7/12, 7/13, 7/14, 7/15,
++ 0, 8/1, 8/2, 8/3, 8/4, 8/5, 8/6, 8/7,
++ 8/8, 8/9, 8/10, 8/11, 8/12, 8/13, 8/14, 8/15,
++ 0, 9/1, 9/2, 9/3, 9/4, 9/5, 9/6, 9/7,
++ 9/8, 9/9, 9/10, 9/11, 9/12, 9/13, 9/14, 9/15,
++ 0, 10/1, 10/2, 10/3, 10/4, 10/5, 10/6, 10/7,
++ 10/8, 10/9, 10/10, 10/11, 10/12, 10/13, 10/14, 10/15,
++ 0, 11/1, 11/2, 11/3, 11/4, 11/5, 11/6, 11/7,
++ 11/8, 11/9, 11/10, 11/11, 11/12, 11/13, 11/14, 11/15,
++ 0, 12/1, 12/2, 12/3, 12/4, 12/5, 12/6, 12/7,
++ 12/8, 12/9, 12/10, 12/11, 12/12, 12/13, 12/14, 12/15,
++ 0, 13/1, 13/2, 13/3, 13/4, 13/5, 13/6, 13/7,
++ 13/8, 13/9, 13/10, 13/11, 13/12, 13/13, 13/14, 13/15,
++ 0, 14/1, 14/2, 14/3, 14/4, 14/5, 14/6, 14/7,
++ 14/8, 14/9, 14/10, 14/11, 14/12, 14/13, 14/14, 14/15,
++ 0, 15/1, 15/2, 15/3, 15/4, 15/5, 15/6, 15/7,
++ 15/8, 15/9, 15/10, 15/11, 15/12, 15/13, 15/14, 15/15,
++};
++
+diff --git a/libgcc/config/microblaze/moddi3.S b/libgcc/config/microblaze/moddi3.S
+new file mode 100644
+index 0000000..5d3f7c0
+--- /dev/null
++++ b/libgcc/config/microblaze/moddi3.S
+@@ -0,0 +1,97 @@
++###################################
++#
++# Copyright (C) 2009-2017 Free Software Foundation, Inc.
++#
++# Contributed by Michael Eager <eager@eagercon.com>.
++#
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 3, or (at your option) any
++# later version.
++#
++# GCC 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.
++#
++# Under Section 7 of GPL version 3, you are granted additional
++# permissions described in the GCC Runtime Library Exception, version
++# 3.1, as published by the Free Software Foundation.
++#
++# You should have received a copy of the GNU General Public License and
++# a copy of the GCC Runtime Library Exception along with this program;
++# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++# <http://www.gnu.org/licenses/>.
++#
++# moddi3.S
++#
++# modulo operation for 32 bit integers.
++# Input : op1 in Reg r5
++# op2 in Reg r6
++# Output: op1 mod op2 in Reg r3
++#
++#######################################
++
++#ifdef __arch64__
++ .globl __moddi3
++ .ent __moddi3
++ .type __moddi3,@function
++__moddi3:
++ .frame r1,0,r15
++
++ addlik r1,r1,-32
++ sli r28,r1,0
++ sli r29,r1,8
++ sli r30,r1,16
++ sli r31,r1,32
++
++ BEALEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
++ BEALEQI r5,$LaResult_Is_Zero # Result is Zero
++ ADDL r28,r5,r0 # Get the sign of the result [ Depends only on the first arg]
++ BEALGEI r5,$LaR5_Pos
++ RSUBLI r5,r5,0 # Make r5 positive
++$LaR5_Pos:
++ BEALGEI r6,$LaR6_Pos
++ RSUBLI r6,r6,0 # Make r6 positive
++$LaR6_Pos:
++ ADDLIK r3,r0,0 # Clear mod
++ ADDLIK r30,r0,0 # clear div
++ ADDLIK r29,r0,64 # Initialize the loop count
++ BEALLTI r5,$LaDIV2 # If r5 is still negative (0x80000000), skip
++ # the first bit search.
++ # First part try to find the first '1' in the r5
++$LaDIV1:
++ ADDL r5,r5,r5 # left shift logical r5
++ ADDLIK r29,r29,-1
++ BEALGEI r5,$LaDIV1 #
++$LaDIV2:
++ ADDL r5,r5,r5 # left shift logical r5 get the '1' into the Carry
++ ADDLC r3,r3,r3 # Move that bit into the Mod register
++ rSUBL r31,r6,r3 # Try to subtract (r30 a r6)
++ BEALLTi r31,$LaMOD_TOO_SMALL
++ ORL r3,r0,r31 # Move the r31 to mod since the result was positive
++ ADDLIK r30,r30,1
++$LaMOD_TOO_SMALL:
++ ADDLIK r29,r29,-1
++ BEALEQi r29,$LaLOOP_END
++ ADDL r30,r30,r30 # Shift in the '1' into div
++ BREAI $LaDIV2 # Div2
++$LaLOOP_END:
++ BEALGEI r28,$LaRETURN_HERE
++ rsubli r3,r3,0 # Negate the result
++ BREAI $LaRETURN_HERE
++$LaDiv_By_Zero:
++$LaResult_Is_Zero:
++ orl r3,r0,r0 # set result to 0 [Both mod as well as div are 0]
++$LaRETURN_HERE:
++# Restore values of CSRs and that of r3 and the divisor and the dividend
++ lli r28,r1,0
++ lli r29,r1,8
++ lli r30,r1,16
++ lli r31,r1,24
++ addlik r1,r1,32
++ rtsd r15,8
++ nop
++ .end __moddi3
++ .size __moddi3, . - __moddi3
++#endif
+diff --git a/libgcc/config/microblaze/muldi3.S b/libgcc/config/microblaze/muldi3.S
+new file mode 100644
+index 0000000..5677841
+--- /dev/null
++++ b/libgcc/config/microblaze/muldi3.S
+@@ -0,0 +1,73 @@
++/*###################################-*-asm*-
++#
++# Copyright (C) 2009-2017 Free Software Foundation, Inc.
++#
++# Contributed by Michael Eager <eager@eagercon.com>.
++#
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 3, or (at your option) any
++# later version.
++#
++# GCC 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.
++#
++# Under Section 7 of GPL version 3, you are granted additional
++# permissions described in the GCC Runtime Library Exception, version
++# 3.1, as published by the Free Software Foundation.
++#
++# You should have received a copy of the GNU General Public License and
++# a copy of the GCC Runtime Library Exception along with this program;
++# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++# <http://www.gnu.org/licenses/>.
++#
++# muldi3.S
++#
++# Multiply operation for 32 bit integers.
++# Input : Operand1 in Reg r5
++# Operand2 in Reg r6
++# Output: Result [op1 * op2] in Reg r3
++#
++#######################################*/
++
++#ifdef __arch64__
++ .globl __muldi3
++ .ent __muldi3
++ .type __muldi3,@function
++__muldi3:
++ .frame r1,0,r15
++ addl r3,r0,r0
++ BEALEQI r5,$L_Result_Is_Zero # Multiply by Zero
++ BEALEQI r6,$L_Result_Is_Zero # Multiply by Zero
++ XORL r4,r5,r6 # Get the sign of the result
++ BEALGEI r5,$L_R5_Pos
++ RSUBLI r5,r5,0 # Make r5 positive
++$L_R5_Pos:
++ BEALGEI r6,$L_R6_Pos
++ RSUBLI r6,r6,0 # Make r6 positive
++$L_R6_Pos:
++ breai $L1
++$L2:
++ addl r5,r5,r5
++$L1:
++ srll r6,r6
++ addlc r7,r0,r0
++ bealeqi r7,$L2
++ addl r3,r3,r5
++ bealnei r6,$L2
++ beallti r4,$L_NegateResult
++ rtsd r15,8
++ nop
++$L_NegateResult:
++ rsubl r3,r3,r0
++ rtsd r15,8
++ nop
++$L_Result_Is_Zero:
++ addli r3,r0,0
++ rtsd r15,8
++ nop
++ .end __muldi3
++ .size __muldi3, . - __muldi3
++#endif
+diff --git a/libgcc/config/microblaze/t-microblaze b/libgcc/config/microblaze/t-microblaze
+index 8d954a4..35021b2 100644
+--- a/libgcc/config/microblaze/t-microblaze
++++ b/libgcc/config/microblaze/t-microblaze
+@@ -1,11 +1,16 @@
+-LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3
++LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3 \
++ _divdi3 _moddi3 _muldi3 _udivdi3 _umoddi3
+
+ LIB2ADD += \
+ $(srcdir)/config/microblaze/divsi3.S \
++ $(srcdir)/config/microblaze/divdi3.S \
+ $(srcdir)/config/microblaze/modsi3.S \
+- $(srcdir)/config/microblaze/muldi3_hard.S \
++ $(srcdir)/config/microblaze/moddi3.S \
+ $(srcdir)/config/microblaze/mulsi3.S \
++ $(srcdir)/config/microblaze/muldi3.S \
+ $(srcdir)/config/microblaze/stack_overflow_exit.S \
+ $(srcdir)/config/microblaze/udivsi3.S \
++ $(srcdir)/config/microblaze/udivdi3.S \
+ $(srcdir)/config/microblaze/umodsi3.S \
+- $(srcdir)/config/microblaze/divsi3_table.c
++ $(srcdir)/config/microblaze/umoddi3.S \
++ $(srcdir)/config/microblaze/divsi3_table.c \
+diff --git a/libgcc/config/microblaze/udivdi3.S b/libgcc/config/microblaze/udivdi3.S
+new file mode 100644
+index 0000000..c210fbc
+--- /dev/null
++++ b/libgcc/config/microblaze/udivdi3.S
+@@ -0,0 +1,107 @@
++###################################-
++#
++# Copyright (C) 2009-2017 Free Software Foundation, Inc.
++#
++# Contributed by Michael Eager <eager@eagercon.com>.
++#
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 3, or (at your option) any
++# later version.
++#
++# GCC 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.
++#
++# Under Section 7 of GPL version 3, you are granted additional
++# permissions described in the GCC Runtime Library Exception, version
++# 3.1, as published by the Free Software Foundation.
++#
++# You should have received a copy of the GNU General Public License and
++# a copy of the GCC Runtime Library Exception along with this program;
++# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++# <http://www.gnu.org/licenses/>.
++#
++# udivdi3.S
++#
++# Unsigned divide operation.
++# Input : Divisor in Reg r5
++# Dividend in Reg r6
++# Output: Result in Reg r3
++#
++#######################################
++
++#ifdef __arch64__
++ .globl __udivdi3
++ .ent __udivdi3
++ .type __udivdi3,@function
++__udivdi3:
++ .frame r1,0,r15
++
++ ADDlIK r1,r1,-24
++ SLI r29,r1,0
++ SLI r30,r1,8
++ SLI r31,r1,16
++
++ BEALEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
++ ADDLIK r30,r0,0 # Clear mod
++ BEALEQI r5,$LaResult_Is_Zero # Result is Zero
++ ADDLIK r29,r0,64 # Initialize the loop count
++
++ # Check if r6 and r5 are equal # if yes, return 1
++ RSUBL r18,r5,r6
++ ADDLIK r3,r0,1
++ BEALEQI r18,$LaRETURN_HERE
++
++ # Check if (uns)r6 is greater than (uns)r5. In that case, just return 0
++ XORL r18,r5,r6
++ ADDL r3,r0,r0 # We would anyways clear r3
++ BEALGEI r18,$LRSUBL
++ BEALLTI r6,$LaRETURN_HERE # r6[bit 31 = 1] hence is greater
++ BREAI $LCheckr6
++$LRSUBL:
++ RSUBL r18,r6,r5 # MICROBLAZEcmp
++ BEALLTI r18,$LaRETURN_HERE
++
++ # If r6 [bit 31] is set, then return result as 1
++$LCheckr6:
++ BEALGTI r6,$LaDIV0
++ ADDLIK r3,r0,1
++ BREAI $LaRETURN_HERE
++
++ # First part try to find the first '1' in the r5
++$LaDIV0:
++ BEALLTI r5,$LaDIV2
++$LaDIV1:
++ ADDL r5,r5,r5 # left shift logical r5
++ ADDLIK r29,r29,-1
++ BEALGTI r5,$LaDIV1
++$LaDIV2:
++ ADDL r5,r5,r5 # left shift logical r5 get the '1' into the Carry
++ ADDLC r30,r30,r30 # Move that bit into the Mod register
++ RSUBL r31,r6,r30 # Try to subtract (r30 a r6)
++ BEALLTI r31,$LaMOD_TOO_SMALL
++ ORL r30,r0,r31 # Move the r31 to mod since the result was positive
++ ADDLIK r3,r3,1
++$LaMOD_TOO_SMALL:
++ ADDLIK r29,r29,-1
++ BEALEQi r29,$LaLOOP_END
++ ADDL r3,r3,r3 # Shift in the '1' into div
++ BREAI $LaDIV2 # Div2
++$LaLOOP_END:
++ BREAI $LaRETURN_HERE
++$LaDiv_By_Zero:
++$LaResult_Is_Zero:
++ ORL r3,r0,r0 # set result to 0
++$LaRETURN_HERE:
++ # Restore values of CSRs and that of r3 and the divisor and the dividend
++ LLI r29,r1,0
++ LLI r30,r1,8
++ LLI r31,r1,16
++ ADDLIK r1,r1,24
++ RTSD r15,8
++ NOP
++ .end __udivdi3
++ .size __udivdi3, . - __udivdi3
++#endif
+diff --git a/libgcc/config/microblaze/umoddi3.S b/libgcc/config/microblaze/umoddi3.S
+new file mode 100644
+index 0000000..7f5cd23
+--- /dev/null
++++ b/libgcc/config/microblaze/umoddi3.S
+@@ -0,0 +1,110 @@
++###################################
++#
++# Copyright (C) 2009-2017 Free Software Foundation, Inc.
++#
++# Contributed by Michael Eager <eager@eagercon.com>.
++#
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 3, or (at your option) any
++# later version.
++#
++# GCC 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.
++#
++# Under Section 7 of GPL version 3, you are granted additional
++# permissions described in the GCC Runtime Library Exception, version
++# 3.1, as published by the Free Software Foundation.
++#
++# You should have received a copy of the GNU General Public License and
++# a copy of the GCC Runtime Library Exception along with this program;
++# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
++# <http://www.gnu.org/licenses/>.
++#
++# umoddi3.S
++#
++# Unsigned modulo operation for 32 bit integers.
++# Input : op1 in Reg r5
++# op2 in Reg r6
++# Output: op1 mod op2 in Reg r3
++#
++#######################################
++
++#ifdef __arch64__
++ .globl __umoddi3
++ .ent __umoddi3
++ .type __umoddi3,@function
++__umoddi3:
++ .frame r1,0,r15
++
++ addlik r1,r1,-24
++ sli r29,r1,0
++ sli r30,r1,8
++ sli r31,r1,16
++
++ BEALEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
++ ADDLIK r3,r0,0 # Clear div
++ BEALEQI r5,$LaResult_Is_Zero # Result is Zero
++ ADDLIK r30,r0,0 # clear mod
++ ADDLIK r29,r0,64 # Initialize the loop count
++
++# Check if r6 and r5 are equal # if yes, return 0
++ rsubl r18,r5,r6
++ bealeqi r18,$LaRETURN_HERE
++
++# Check if (uns)r6 is greater than (uns)r5. In that case, just return r5
++ xorl r18,r5,r6
++ addlik r3,r5,0
++ bealgei r18,$LRSUB
++ beallti r6,$LaRETURN_HERE
++ breai $LCheckr6
++$LRSUB:
++ rsubl r18,r5,r6 # MICROBLAZEcmp
++ bealgti r18,$LaRETURN_HERE
++
++# If r6 [bit 31] is set, then return result as r5-r6
++$LCheckr6:
++ addlik r3,r0,0
++ bealgti r6,$LaDIV0
++ addlik r18,r0,0x7fffffff
++ andl r5,r5,r18
++ andl r6,r6,r18
++ breaid $LaRETURN_HERE
++ rsubl r3,r6,r5
++# First part: try to find the first '1' in the r5
++$LaDIV0:
++ BEALLTI r5,$LaDIV2
++$LaDIV1:
++ ADDL r5,r5,r5 # left shift logical r5
++ ADDLIK r29,r29,-1
++ BEALGEI r5,$LaDIV1 #
++$LaDIV2:
++ ADDL r5,r5,r5 # left shift logical r5 get the '1' into the Carry
++ ADDLC r3,r3,r3 # Move that bit into the Mod register
++ rSUBL r31,r6,r3 # Try to subtract (r3 a r6)
++ BEALLTi r31,$LaMOD_TOO_SMALL
++ ORL r3,r0,r31 # Move the r31 to mod since the result was positive
++ ADDLIK r30,r30,1
++$LaMOD_TOO_SMALL:
++ ADDLIK r29,r29,-1
++ BEALEQi r29,$LaLOOP_END
++ ADDL r30,r30,r30 # Shift in the '1' into div
++ BREAI $LaDIV2 # Div2
++$LaLOOP_END:
++ BREAI $LaRETURN_HERE
++$LaDiv_By_Zero:
++$LaResult_Is_Zero:
++ orl r3,r0,r0 # set result to 0
++$LaRETURN_HERE:
++# Restore values of CSRs and that of r3 and the divisor and the dividend
++ lli r29,r1,0
++ lli r30,r1,8
++ lli r31,r1,16
++ addlik r1,r1,24
++ rtsd r15,8
++ nop
++.end __umoddi3
++ .size __umoddi3, . - __umoddi3
++#endif
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0042-re-arrangement-of-the-compare-branches.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0042-re-arrangement-of-the-compare-branches.patch
new file mode 100644
index 000000000..c33b247bf
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0042-re-arrangement-of-the-compare-branches.patch
@@ -0,0 +1,268 @@
+From 9e45ca7bd65fe327e01e93d3c539c9d8cf049b79 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Fri, 3 Aug 2018 15:41:39 +0530
+Subject: [PATCH 42/54] re-arrangement of the compare branches
+
+---
+ gcc/config/microblaze/microblaze.c | 28 ++-----
+ gcc/config/microblaze/microblaze.md | 141 +++++++++++++++++-------------------
+ 2 files changed, 73 insertions(+), 96 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index ba7ade4..fab79d9 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -3695,11 +3695,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
+ {
+ comp_reg = cmp_op0;
+ condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx);
+- if (mode == Pmode)
+- emit_jump_insn (gen_condjump (condition, label1));
+- else
+- emit_jump_insn (gen_long_condjump (condition, label1));
+-
++ emit_jump_insn (gen_condjump (condition, label1));
+ }
+
+ else if (code == EQ || code == NE)
+@@ -3710,10 +3706,7 @@ microblaze_expand_conditional_branch (machine_mode mode, rtx operands[])
+ else
+ emit_insn (gen_xordi3 (comp_reg, cmp_op0, cmp_op1));
+ condition = gen_rtx_fmt_ee (signed_condition (code), mode, comp_reg, const0_rtx);
+- if (mode == SImode)
+- emit_jump_insn (gen_condjump (condition, label1));
+- else
+- emit_jump_insn (gen_long_condjump (condition, label1));
++ emit_jump_insn (gen_condjump (condition, label1));
+ }
+ else
+ {
+@@ -3746,10 +3739,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[])
+ comp_reg = cmp_op0;
+ condition = gen_rtx_fmt_ee (signed_condition (code),
+ mode, comp_reg, const0_rtx);
+- if (mode == SImode)
+- emit_jump_insn (gen_condjump (condition, label1));
+- else
+- emit_jump_insn (gen_long_condjump (condition, label1));
++ emit_jump_insn (gen_condjump (condition, label1));
+ }
+ else if (code == EQ)
+ {
+@@ -3764,10 +3754,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[])
+ cmp_op1));
+ }
+ condition = gen_rtx_EQ (mode, comp_reg, const0_rtx);
+- if (mode == SImode)
+- emit_jump_insn (gen_condjump (condition, label1));
+- else
+- emit_jump_insn (gen_long_condjump (condition, label1));
++ emit_jump_insn (gen_condjump (condition, label1));
+
+ }
+ else if (code == NE)
+@@ -3783,10 +3770,7 @@ microblaze_expand_conditional_branch_reg (machine_mode mode, rtx operands[])
+ cmp_op1));
+ }
+ condition = gen_rtx_NE (mode, comp_reg, const0_rtx);
+- if (mode == SImode)
+- emit_jump_insn (gen_condjump (condition, label1));
+- else
+- emit_jump_insn (gen_long_condjump (condition, label1));
++ emit_jump_insn (gen_condjump (condition, label1));
+ }
+ else
+ {
+@@ -3828,7 +3812,7 @@ microblaze_expand_conditional_branch_df (rtx operands[])
+
+ emit_insn (gen_cstoredf4 (comp_reg, operands[0], cmp_op0, cmp_op1));
+ condition = gen_rtx_NE (Pmode, comp_reg, const0_rtx);
+- emit_jump_insn (gen_long_condjump (condition, operands[3]));
++ emit_jump_insn (gen_condjump (condition, operands[3]));
+ }
+
+ /* Implement TARGET_FRAME_POINTER_REQUIRED. */
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 0f41ac6..2213d6e 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -2268,7 +2268,27 @@ else
+ (label_ref (match_operand 1))
+ (pc)))])
+
+-(define_insn "branch_zero64"
++(define_insn "branch_zero_64"
++ [(set (pc)
++ (if_then_else (match_operator:SI 0 "ordered_comparison_operator"
++ [(match_operand:SI 1 "register_operand" "d")
++ (const_int 0)])
++ (match_operand:SI 2 "pc_or_label_operand" "")
++ (match_operand:SI 3 "pc_or_label_operand" "")))
++ ]
++ "TARGET_MB_64"
++ {
++ if (operands[3] == pc_rtx)
++ return "bea%C0i%?\t%z1,%2";
++ else
++ return "bea%N0i%?\t%z1,%3";
++ }
++ [(set_attr "type" "branch")
++ (set_attr "mode" "none")
++ (set_attr "length" "4")]
++)
++
++(define_insn "long_branch_zero"
+ [(set (pc)
+ (if_then_else (match_operator 0 "ordered_comparison_operator"
+ [(match_operand 1 "register_operand" "d")
+@@ -2279,9 +2299,9 @@ else
+ "TARGET_MB_64"
+ {
+ if (operands[3] == pc_rtx)
+- return "bea%C0i%?\t%z1,%2";
++ return "beal%C0i%?\t%z1,%2";
+ else
+- return "bea%N0i%?\t%z1,%3";
++ return "beal%N0i%?\t%z1,%3";
+ }
+ [(set_attr "type" "branch")
+ (set_attr "mode" "none")
+@@ -2310,9 +2330,9 @@ else
+
+ (define_insn "branch_compare64"
+ [(set (pc)
+- (if_then_else (match_operator 0 "cmp_op"
+- [(match_operand 1 "register_operand" "d")
+- (match_operand 2 "register_operand" "d")
++ (if_then_else (match_operator:SI 0 "cmp_op"
++ [(match_operand:SI 1 "register_operand" "d")
++ (match_operand:SI 2 "register_operand" "d")
+ ])
+ (label_ref (match_operand 3))
+ (pc)))
+@@ -2349,6 +2369,47 @@ else
+ (set_attr "length" "12")]
+ )
+
++(define_insn "long_branch_compare"
++ [(set (pc)
++ (if_then_else (match_operator 0 "cmp_op"
++ [(match_operand 1 "register_operand" "d")
++ (match_operand 2 "register_operand" "d")
++ ])
++ (label_ref (match_operand 3))
++ (pc)))
++ (clobber(reg:DI R_TMP))]
++ "TARGET_MB_64"
++ {
++ operands[4] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
++ enum rtx_code code = GET_CODE (operands[0]);
++
++ if (code == GT || code == LE)
++ {
++ output_asm_insn ("cmpl\tr18,%z1,%z2", operands);
++ code = swap_condition (code);
++ }
++ else if (code == GTU || code == LEU)
++ {
++ output_asm_insn ("cmplu\tr18,%z1,%z2", operands);
++ code = swap_condition (code);
++ }
++ else if (code == GE || code == LT)
++ {
++ output_asm_insn ("cmpl\tr18,%z2,%z1", operands);
++ }
++ else if (code == GEU || code == LTU)
++ {
++ output_asm_insn ("cmplu\tr18,%z2,%z1", operands);
++ }
++
++ operands[0] = gen_rtx_fmt_ee (signed_condition (code), DImode, operands[4], const0_rtx);
++ return "beal%C0i%?\tr18,%3";
++ }
++ [(set_attr "type" "branch")
++ (set_attr "mode" "none")
++ (set_attr "length" "12")]
++)
++
+ (define_insn "branch_compare"
+ [(set (pc)
+ (if_then_else (match_operator:SI 0 "cmp_op"
+@@ -2431,74 +2492,6 @@ else
+
+ })
+
+-;; Used to implement comparison instructions
+-(define_expand "long_condjump"
+- [(set (pc)
+- (if_then_else (match_operand 0)
+- (label_ref (match_operand 1))
+- (pc)))])
+-
+-(define_insn "long_branch_zero"
+- [(set (pc)
+- (if_then_else (match_operator:DI 0 "ordered_comparison_operator"
+- [(match_operand:DI 1 "register_operand" "d")
+- (const_int 0)])
+- (match_operand:DI 2 "pc_or_label_operand" "")
+- (match_operand:DI 3 "pc_or_label_operand" "")))
+- ]
+- "TARGET_MB_64"
+- {
+- if (operands[3] == pc_rtx)
+- return "beal%C0i%?\t%z1,%2";
+- else
+- return "beal%N0i%?\t%z1,%3";
+- }
+- [(set_attr "type" "branch")
+- (set_attr "mode" "none")
+- (set_attr "length" "4")]
+-)
+-
+-(define_insn "long_branch_compare"
+- [(set (pc)
+- (if_then_else (match_operator:DI 0 "cmp_op"
+- [(match_operand:DI 1 "register_operand" "d")
+- (match_operand:DI 2 "register_operand" "d")
+- ])
+- (label_ref (match_operand 3))
+- (pc)))
+- (clobber(reg:DI R_TMP))]
+- "TARGET_MB_64"
+- {
+- operands[4] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
+- enum rtx_code code = GET_CODE (operands[0]);
+-
+- if (code == GT || code == LE)
+- {
+- output_asm_insn ("cmpl\tr18,%z1,%z2", operands);
+- code = swap_condition (code);
+- }
+- else if (code == GTU || code == LEU)
+- {
+- output_asm_insn ("cmplu\tr18,%z1,%z2", operands);
+- code = swap_condition (code);
+- }
+- else if (code == GE || code == LT)
+- {
+- output_asm_insn ("cmpl\tr18,%z2,%z1", operands);
+- }
+- else if (code == GEU || code == LTU)
+- {
+- output_asm_insn ("cmplu\tr18,%z2,%z1", operands);
+- }
+-
+- operands[0] = gen_rtx_fmt_ee (signed_condition (code), DImode, operands[4], const0_rtx);
+- return "beal%C0i%?\tr18,%3";
+- }
+- [(set_attr "type" "branch")
+- (set_attr "mode" "none")
+- (set_attr "length" "12")]
+-)
+-
+ ;;----------------------------------------------------------------
+ ;; Unconditional branches
+ ;;----------------------------------------------------------------
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0043-Patch-Microblaze-previous-commit-broke-the-handling-.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0043-Patch-Microblaze-previous-commit-broke-the-handling-.patch
new file mode 100644
index 000000000..d1cf45798
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0043-Patch-Microblaze-previous-commit-broke-the-handling-.patch
@@ -0,0 +1,28 @@
+From 0c132e74714d217108d65fca630ab497a0d8821a Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 8 Aug 2018 17:37:26 +0530
+Subject: [PATCH 43/54] [Patch,Microblaze] : previous commit broke the
+ handling of SI Branch compare for Microblaze 32-bit..
+
+---
+ gcc/config/microblaze/microblaze.md | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 2213d6e..53ea401 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -2224,8 +2224,8 @@ else
+ (define_expand "cbranchsi4"
+ [(set (pc)
+ (if_then_else (match_operator 0 "ordered_comparison_operator"
+- [(match_operand 1 "register_operand")
+- (match_operand 2 "arith_operand" "I,i")])
++ [(match_operand:SI 1 "register_operand")
++ (match_operand:SI 2 "arith_operand" "I,i")])
+ (label_ref (match_operand 3 ""))
+ (pc)))]
+ ""
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0044-Patch-Microblaze-Support-of-multilibs-with-m64.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0044-Patch-Microblaze-Support-of-multilibs-with-m64.patch
new file mode 100644
index 000000000..68791cb24
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0044-Patch-Microblaze-Support-of-multilibs-with-m64.patch
@@ -0,0 +1,73 @@
+From 259ed1ee33625964f5bc394ae660103b6c35510f Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 11 Sep 2018 13:43:48 +0530
+Subject: [PATCH 44/54] [Patch, Microblaze] : Support of multilibs with m64 ...
+
+---
+ gcc/config/microblaze/microblaze-c.c | 1 +
+ gcc/config/microblaze/t-microblaze | 15 ++++++---------
+ libgcc/config/microblaze/t-microblaze | 11 +++--------
+ 3 files changed, 10 insertions(+), 17 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze-c.c b/gcc/config/microblaze/microblaze-c.c
+index d8a1d13..6586575 100644
+--- a/gcc/config/microblaze/microblaze-c.c
++++ b/gcc/config/microblaze/microblaze-c.c
+@@ -102,6 +102,7 @@ microblaze_cpp_define (cpp_reader *pfile)
+ }
+ if (TARGET_MB_64)
+ {
++ builtin_define ("__microblaze64");
+ builtin_define ("__arch64__");
+ builtin_define ("__microblaze64__");
+ builtin_define ("__MICROBLAZE64__");
+diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
+index 9fc80b1..35ab965 100644
+--- a/gcc/config/microblaze/t-microblaze
++++ b/gcc/config/microblaze/t-microblaze
+@@ -1,12 +1,9 @@
+-MULTILIB_OPTIONS = mxl-barrel-shift mno-xl-soft-mul mxl-multiply-high mlittle-endian m64
+-MULTILIB_DIRNAMES = bs m mh le m64
+-MULTILIB_EXCEPTIONS = *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
+-MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian
+-MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/mlittle-endian/m64
+-MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high/m64 mxl-multiply-high
+-MULTILIB_EXCEPTIONS += mxl-multiply-high/mlittle-endian
+-MULTILIB_EXCEPTIONS += mxl-multiply-high/m64
+-MULTILIB_EXCEPTIONS += *mxl-multiply-high/mlittle-endian/m64
++MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high
++MULTILIB_DIRNAMES = m64 bs le m mh
++MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high
++MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
++MULTILIB_EXCEPTIONS += *mlittle-endian/mxl-multiply-high mxl-multiply-high
++MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mlittle-endian/mxl-multiply-high
+
+ # Extra files
+ microblaze-c.o: $(srcdir)/config/microblaze/microblaze-c.c \
+diff --git a/libgcc/config/microblaze/t-microblaze b/libgcc/config/microblaze/t-microblaze
+index 35021b2..8d954a4 100644
+--- a/libgcc/config/microblaze/t-microblaze
++++ b/libgcc/config/microblaze/t-microblaze
+@@ -1,16 +1,11 @@
+-LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3 \
+- _divdi3 _moddi3 _muldi3 _udivdi3 _umoddi3
++LIB2FUNCS_EXCLUDE += _divsi3 _modsi3 _mulsi3 _udivsi3 _umodsi3
+
+ LIB2ADD += \
+ $(srcdir)/config/microblaze/divsi3.S \
+- $(srcdir)/config/microblaze/divdi3.S \
+ $(srcdir)/config/microblaze/modsi3.S \
+- $(srcdir)/config/microblaze/moddi3.S \
++ $(srcdir)/config/microblaze/muldi3_hard.S \
+ $(srcdir)/config/microblaze/mulsi3.S \
+- $(srcdir)/config/microblaze/muldi3.S \
+ $(srcdir)/config/microblaze/stack_overflow_exit.S \
+ $(srcdir)/config/microblaze/udivsi3.S \
+- $(srcdir)/config/microblaze/udivdi3.S \
+ $(srcdir)/config/microblaze/umodsi3.S \
+- $(srcdir)/config/microblaze/umoddi3.S \
+- $(srcdir)/config/microblaze/divsi3_table.c \
++ $(srcdir)/config/microblaze/divsi3_table.c
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0045-Fixed-issues-like.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0045-Fixed-issues-like.patch
new file mode 100644
index 000000000..8c0bde713
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0045-Fixed-issues-like.patch
@@ -0,0 +1,70 @@
+From 654582846ebf847b52e769eb6e015c8e486461d6 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Tue, 11 Sep 2018 14:58:00 +0530
+Subject: [PATCH 45/54] Fixed issues like: 1 Interrupt alignment issue 2 Sign
+ extension issue
+
+---
+ gcc/config/microblaze/microblaze.c | 16 ++++++++++------
+ gcc/config/microblaze/microblaze.md | 2 +-
+ 2 files changed, 11 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index fab79d9..6b6ca61 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -2241,9 +2241,14 @@ compute_frame_size (HOST_WIDE_INT size)
+
+ total_size += gp_reg_size;
+
+- /* Add 4 bytes for MSR. */
++ /* Add 4/8 bytes for MSR. */
+ if (microblaze_is_interrupt_variant ())
+- total_size += 4;
++ {
++ if (TARGET_MB_64)
++ total_size += 8;
++ else
++ total_size += 4;
++ }
+
+ /* No space to be allocated for link register in leaf functions with no other
+ stack requirements. */
+@@ -2527,7 +2532,6 @@ print_operand (FILE * file, rtx op, int letter)
+ else if (letter == 'h' || letter == 'j')
+ {
+ long val[2];
+- int val1[2];
+ long l[2];
+ if (code == CONST_DOUBLE)
+ {
+@@ -2542,10 +2546,10 @@ print_operand (FILE * file, rtx op, int letter)
+ }
+ else if (code == CONST_INT || code == CONST)// || code == SYMBOL_REF ||code == LABEL_REF)
+ {
+- val1[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
+- val1[1] = INTVAL (op) & 0x00000000ffffffffLL;
++ val[0] = (INTVAL (op) & 0xffffffff00000000LL) >> 32;
++ val[1] = INTVAL (op) & 0x00000000ffffffffLL;
+ }
+- fprintf (file, "0x%8.8lx", (letter == 'h') ? val1[0] : val1[1]);
++ fprintf (file, "0x%8.8lx", (letter == 'h') ? val[0] : val[1]);
+ }
+ else if (code == CONST_DOUBLE)
+ {
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 53ea401..3a6943b 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -1094,7 +1094,7 @@
+ case 1:
+ case 2:
+ {
+- output_asm_insn ("ll%i1\t%0,%1", operands);
++ output_asm_insn ("lw%i1\t%0,%1", operands);
+ return "sextl32\t%0,%0";
+ }
+ }
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0046-Fixed-below-issues.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0046-Fixed-below-issues.patch
new file mode 100644
index 000000000..22bb5b2f9
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0046-Fixed-below-issues.patch
@@ -0,0 +1,306 @@
+From 48f9f9a1c6809b14e7cfdd2343df92c0de18d730 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Fri, 28 Sep 2018 11:59:12 +0530
+Subject: [PATCH 46/54] Fixed below issues: - Floating point print issues in
+ 64bit mode - Dejagnu Jump related issues - Added dbl instruction
+
+---
+ gcc/config/microblaze/microblaze.c | 12 ++++-
+ gcc/config/microblaze/microblaze.h | 7 +++
+ gcc/config/microblaze/microblaze.md | 89 ++++++++++++++++++++++++++++++-------
+ libgcc/config/microblaze/crti.S | 24 +++++++++-
+ libgcc/config/microblaze/crtn.S | 13 ++++++
+ 5 files changed, 127 insertions(+), 18 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 6b6ca61..33d183e 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -2536,7 +2536,12 @@ print_operand (FILE * file, rtx op, int letter)
+ if (code == CONST_DOUBLE)
+ {
+ if (GET_MODE (op) == DFmode)
+- REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val);
++ {
++ if (TARGET_MB_64)
++ REAL_VALUE_TO_TARGET_LONG_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val);
++ else
++ REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), val);
++ }
+ else
+ {
+ REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (op), l);
+@@ -3874,7 +3879,10 @@ microblaze_expand_divide (rtx operands[])
+ gen_rtx_PLUS (QImode, regt1, div_table_rtx));
+
+ insn = emit_insn (gen_zero_extendqisi2(operands[0],mem_rtx));
+- jump = emit_jump_insn_after (gen_jump (div_end_label), insn);
++ if (TARGET_MB_64)
++ jump = emit_jump_insn_after (gen_jump_64 (div_end_label), insn);
++ else
++ jump = emit_jump_insn_after (gen_jump (div_end_label), insn);
+ JUMP_LABEL (jump) = div_end_label;
+ LABEL_NUSES (div_end_label) = 1;
+ emit_barrier ();
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 1e60513..e34f549 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -892,10 +892,17 @@ do { \
+ /* We do this to save a few 10s of code space that would be taken up
+ by the call_FUNC () wrappers, used by the generic CRT_CALL_STATIC_FUNCTION
+ definition in crtstuff.c. */
++#ifdef __arch64__
++#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \
++ asm ( SECTION_OP "\n" \
++ "\tbrealid r15, " #FUNC "\n\t nop\n" \
++ TEXT_SECTION_ASM_OP);
++#else
+ #define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \
+ asm ( SECTION_OP "\n" \
+ "\tbrlid r15, " #FUNC "\n\t nop\n" \
+ TEXT_SECTION_ASM_OP);
++#endif
+
+ /* We need to group -lm as well, since some Newlib math functions
+ reference __errno! */
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 3a6943b..2669a28 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -525,6 +525,15 @@
+ (set_attr "mode" "SF")
+ (set_attr "length" "4")])
+
++(define_insn "floatdidf2"
++ [(set (match_operand:DF 0 "register_operand" "=d")
++ (float:DF (match_operand:DI 1 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "dbl\t%0,%1"
++ [(set_attr "type" "fcvt")
++ (set_attr "mode" "DF")
++ (set_attr "length" "4")])
++
+ (define_insn "fix_truncsfsi2"
+ [(set (match_operand:SI 0 "register_operand" "=d")
+ (fix:SI (match_operand:SF 1 "register_operand" "d")))]
+@@ -1298,7 +1307,7 @@
+ (define_insn "movdi_long_int"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
+ (match_operand:DI 1 "general_operand" "i"))]
+- ""
++ "TARGET_MB_64"
+ "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
+ [(set_attr "type" "no_delay_arith")
+ (set_attr "mode" "DI")
+@@ -1581,7 +1590,7 @@
+ return "ll%i1\t%0,%1";
+ case 3:
+ {
+- return "addlik\t%0,r0,%h1 \n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #Xfer Lo";
++ return "addlik\t%0,r0,%j1 \n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%h1 #Xfer Lo";
+ }
+ case 5:
+ return "sl%i0\t%1,%0";
+@@ -2371,9 +2380,9 @@ else
+
+ (define_insn "long_branch_compare"
+ [(set (pc)
+- (if_then_else (match_operator 0 "cmp_op"
+- [(match_operand 1 "register_operand" "d")
+- (match_operand 2 "register_operand" "d")
++ (if_then_else (match_operator:DI 0 "cmp_op"
++ [(match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "register_operand" "d")
+ ])
+ (label_ref (match_operand 3))
+ (pc)))
+@@ -2495,6 +2504,20 @@ else
+ ;;----------------------------------------------------------------
+ ;; Unconditional branches
+ ;;----------------------------------------------------------------
++(define_insn "jump_64"
++ [(set (pc)
++ (label_ref (match_operand 0 "" "")))]
++ "TARGET_MB_64"
++ {
++ if (GET_CODE (operands[0]) == REG)
++ return "brea%?\t%0";
++ else
++ return "breai%?\t%l0";
++ }
++ [(set_attr "type" "jump")
++ (set_attr "mode" "none")
++ (set_attr "length" "4")])
++
+ (define_insn "jump"
+ [(set (pc)
+ (label_ref (match_operand 0 "" "")))]
+@@ -2538,19 +2561,28 @@ else
+ (use (label_ref (match_operand 1 "" "")))]
+ ""
+ {
+- //gcc_assert (GET_MODE (operands[0]) == Pmode);
+-
++ gcc_assert (GET_MODE (operands[0]) == Pmode);
++
+ if (!flag_pic)
+- emit_jump_insn (gen_tablejump_internal1 (operands[0], operands[1]));
+- else
+- emit_jump_insn (gen_tablejump_internal3 (operands[0], operands[1]));
++ {
++ if (!TARGET_MB_64)
++ emit_jump_insn (gen_tablejump_internal1 (operands[0], operands[1]));
++ else
++ emit_jump_insn (gen_tablejump_internal2 (operands[0], operands[1]));
++ }
++ else {
++ if (!TARGET_MB_64)
++ emit_jump_insn (gen_tablejump_internal3 (operands[0], operands[1]));
++ else
++ emit_jump_insn (gen_tablejump_internal4 (operands[0], operands[1]));
++ }
+ DONE;
+ }
+ )
+
+ (define_insn "tablejump_internal1"
+ [(set (pc)
+- (match_operand 0 "register_operand" "d"))
++ (match_operand:SI 0 "register_operand" "d"))
+ (use (label_ref (match_operand 1 "" "")))]
+ ""
+ "bra%?\t%0 "
+@@ -2558,11 +2590,21 @@ else
+ (set_attr "mode" "none")
+ (set_attr "length" "4")])
+
++(define_insn "tablejump_internal2"
++ [(set (pc)
++ (match_operand:DI 0 "register_operand" "d"))
++ (use (label_ref (match_operand 1 "" "")))]
++ "TARGET_MB_64"
++ "bra%?\t%0 "
++ [(set_attr "type" "jump")
++ (set_attr "mode" "none")
++ (set_attr "length" "4")])
++
+ (define_expand "tablejump_internal3"
+ [(parallel [(set (pc)
+- (plus (match_operand 0 "register_operand" "d")
+- (label_ref (match_operand:SI 1 "" ""))))
+- (use (label_ref (match_dup 1)))])]
++ (plus:SI (match_operand:SI 0 "register_operand" "d")
++ (label_ref:SI (match_operand:SI 1 "" ""))))
++ (use (label_ref:SI (match_dup 1)))])]
+ ""
+ ""
+ )
+@@ -2593,6 +2635,23 @@ else
+ ""
+ )
+
++(define_insn ""
++ [(set (pc)
++ (plus:DI (match_operand:DI 0 "register_operand" "d")
++ (label_ref:DI (match_operand 1 "" ""))))
++ (use (label_ref:DI (match_dup 1)))]
++ "TARGET_MB_64 && NEXT_INSN (as_a <rtx_insn *> (operands[1])) != 0
++ && GET_CODE (PATTERN (NEXT_INSN (as_a <rtx_insn *> (operands[1])))) == ADDR_DIFF_VEC
++ && flag_pic"
++ {
++ output_asm_insn ("addlk\t%0,%0,r20",operands);
++ return "bra%?\t%0";
++}
++ [(set_attr "type" "jump")
++ (set_attr "mode" "none")
++ (set_attr "length" "4")])
++
++
+ ;;----------------------------------------------------------------
+ ;; Function prologue/epilogue and stack allocation
+ ;;----------------------------------------------------------------
+@@ -3097,7 +3156,7 @@ else
+ ;; The insn to set GOT. The hardcoded number "8" accounts for $pc difference
+ ;; between "mfs" and "addik" instructions.
+ (define_insn "set_got"
+- [(set (match_operand:SI 0 "register_operand" "=r")
++ [(set (match_operand 0 "register_operand" "=r")
+ (unspec:SI [(const_int 0)] UNSPEC_SET_GOT))]
+ ""
+ "mfs\t%0,rpc\n\taddik\t%0,%0,_GLOBAL_OFFSET_TABLE_+8"
+diff --git a/libgcc/config/microblaze/crti.S b/libgcc/config/microblaze/crti.S
+index 3386520..3d4cde2 100644
+--- a/libgcc/config/microblaze/crti.S
++++ b/libgcc/config/microblaze/crti.S
+@@ -33,11 +33,32 @@
+ .section .init, "ax"
+ .global __init
+
++#ifdef __arch64__
+ .weak _stack
+- .set _stack, 0xffffffff
++ .set _stack, 0xffffffffffffffff
+ .weak _stack_end
+ .set _stack_end, 0
+
++ .align 3
++__init:
++ addlik r1, r1, -32
++ sl r15, r0, r1
++ addlik r11, r0, _stack
++ mts rshr, r11
++ addlik r11, r0, _stack_end
++ mts rslr, r11
++
++ .section .fini, "ax"
++ .global __fini
++ .align 3
++__fini:
++ addlik r1, r1, -32
++ sl r15, r0, r1
++#else
++ .weak _stack
++ .set _stack, 0xffffffff
++ .weak _stack_end
++ .set _stack_end, 0
+ .align 2
+ __init:
+ addik r1, r1, -16
+@@ -53,3 +74,4 @@ __init:
+ __fini:
+ addik r1, r1, -16
+ sw r15, r0, r1
++#endif
+diff --git a/libgcc/config/microblaze/crtn.S b/libgcc/config/microblaze/crtn.S
+index 04e73d7..c262ce0 100644
+--- a/libgcc/config/microblaze/crtn.S
++++ b/libgcc/config/microblaze/crtn.S
+@@ -29,7 +29,19 @@
+ .section .note.GNU-stack,"",%progbits
+ .previous
+ #endif
++#ifdef __arch64__
++ .section .init, "ax"
++ ll r15, r0, r1
++ addlik r1, r1, 32
++ rtsd r15, 8
++ nop
+
++ .section .fini, "ax"
++ ll r15, r0, r1
++ addlik r1, r1, 32
++ rtsd r15, 8
++ nop
++#else
+ .section .init, "ax"
+ lw r15, r0, r1
+ rtsd r15, 8
+@@ -39,3 +51,4 @@
+ lw r15, r0, r1
+ rtsd r15, 8
+ addik r1, r1, 16
++#endif
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0047-Added-double-arith-instructions.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0047-Added-double-arith-instructions.patch
new file mode 100644
index 000000000..f28d9f516
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0047-Added-double-arith-instructions.patch
@@ -0,0 +1,135 @@
+From b09721c830dd0831f50084e2e64920f83618e3f4 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Tue, 9 Oct 2018 10:07:08 +0530
+Subject: [PATCH 47/54] -Added double arith instructions -Fixed prologue stack
+ pointer decrement issue
+
+---
+ gcc/config/microblaze/microblaze.md | 78 ++++++++++++++++++++++++++++++++-----
+ gcc/config/microblaze/t-microblaze | 7 ++++
+ 2 files changed, 76 insertions(+), 9 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 2669a28..dca61d6 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -525,6 +525,66 @@
+ (set_attr "mode" "SF")
+ (set_attr "length" "4")])
+
++(define_insn "fix_truncsfsi2"
++ [(set (match_operand:SI 0 "register_operand" "=d")
++ (fix:SI (match_operand:SF 1 "register_operand" "d")))]
++ "TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
++ "fint\t%0,%1"
++ [(set_attr "type" "fint")
++ (set_attr "mode" "SF")
++ (set_attr "length" "4")])
++
++
++(define_insn "adddf3"
++ [(set (match_operand:DF 0 "register_operand" "=d")
++ (plus:DF (match_operand:DF 1 "register_operand" "d")
++ (match_operand:DF 2 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "dadd\t%0,%1,%2"
++ [(set_attr "type" "fadd")
++ (set_attr "mode" "DF")
++ (set_attr "length" "4")])
++
++(define_insn "subdf3"
++ [(set (match_operand:DF 0 "register_operand" "=d")
++ (minus:DF (match_operand:DF 1 "register_operand" "d")
++ (match_operand:DF 2 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "drsub\t%0,%2,%1"
++ [(set_attr "type" "frsub")
++ (set_attr "mode" "DF")
++ (set_attr "length" "4")])
++
++(define_insn "muldf3"
++ [(set (match_operand:DF 0 "register_operand" "=d")
++ (mult:DF (match_operand:DF 1 "register_operand" "d")
++ (match_operand:DF 2 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "dmul\t%0,%1,%2"
++ [(set_attr "type" "fmul")
++ (set_attr "mode" "DF")
++ (set_attr "length" "4")])
++
++(define_insn "divdf3"
++ [(set (match_operand:DF 0 "register_operand" "=d")
++ (div:DF (match_operand:DF 1 "register_operand" "d")
++ (match_operand:DF 2 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "ddiv\t%0,%2,%1"
++ [(set_attr "type" "fdiv")
++ (set_attr "mode" "DF")
++ (set_attr "length" "4")])
++
++
++(define_insn "sqrtdf2"
++ [(set (match_operand:DF 0 "register_operand" "=d")
++ (sqrt:DF (match_operand:DF 1 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "dsqrt\t%0,%1"
++ [(set_attr "type" "fsqrt")
++ (set_attr "mode" "DF")
++ (set_attr "length" "4")])
++
+ (define_insn "floatdidf2"
+ [(set (match_operand:DF 0 "register_operand" "=d")
+ (float:DF (match_operand:DI 1 "register_operand" "d")))]
+@@ -534,13 +594,13 @@
+ (set_attr "mode" "DF")
+ (set_attr "length" "4")])
+
+-(define_insn "fix_truncsfsi2"
+- [(set (match_operand:SI 0 "register_operand" "=d")
+- (fix:SI (match_operand:SF 1 "register_operand" "d")))]
+- "TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
+- "fint\t%0,%1"
+- [(set_attr "type" "fint")
+- (set_attr "mode" "SF")
++(define_insn "floatdfdi2"
++ [(set (match_operand:DI 0 "register_operand" "=d")
++ (float:DI (match_operand:DF 1 "register_operand" "d")))]
++ "TARGET_MB_64"
++ "dlong\t%0,%1"
++ [(set_attr "type" "fcvt")
++ (set_attr "mode" "DI")
+ (set_attr "length" "4")])
+
+ ;;----------------------------------------------------------------
+@@ -658,8 +718,8 @@
+ "TARGET_MB_64"
+ "@
+ rsubl\t%0,%2,%1
+- addik\t%0,%z1,-%2
+- addik\t%0,%z1,-%2"
++ addlik\t%0,%z1,-%2
++ addlik\t%0,%z1,-%2"
+ [(set_attr "type" "arith,no_delay_arith,no_delay_arith")
+ (set_attr "mode" "DI")
+ (set_attr "length" "4,4,4")])
+diff --git a/gcc/config/microblaze/t-microblaze b/gcc/config/microblaze/t-microblaze
+index 35ab965..dfef45c 100644
+--- a/gcc/config/microblaze/t-microblaze
++++ b/gcc/config/microblaze/t-microblaze
+@@ -1,6 +1,13 @@
+ MULTILIB_OPTIONS = m64 mxl-barrel-shift mlittle-endian mno-xl-soft-mul mxl-multiply-high
+ MULTILIB_DIRNAMES = m64 bs le m mh
+ MULTILIB_EXCEPTIONS = *m64/mxl-multiply-high mxl-multiply-high
++MULTILIB_EXCEPTIONS += *m64
++MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift
++MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul
++MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul
++MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul
++MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mno-xl-soft-mul/mxl-multiply-high
++MULTILIB_EXCEPTIONS += *m64/mno-xl-soft-mul/mxl-multiply-high
+ MULTILIB_EXCEPTIONS += *mxl-barrel-shift/mxl-multiply-high mxl-multiply-high
+ MULTILIB_EXCEPTIONS += *mlittle-endian/mxl-multiply-high mxl-multiply-high
+ MULTILIB_EXCEPTIONS += *m64/mxl-barrel-shift/mlittle-endian/mxl-multiply-high
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0048-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0048-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch
new file mode 100644
index 000000000..9a214d55a
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0048-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch
@@ -0,0 +1,37 @@
+From 1ed548dd5993b8c3e58ef393467bdeea49c437be Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Fri, 12 Oct 2018 16:07:36 +0530
+Subject: [PATCH 48/54] Fixed the issue in the delay slot with swap
+ instructions
+
+---
+ gcc/config/microblaze/microblaze.md | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index dca61d6..d037843 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -441,6 +441,9 @@
+ (bswap:SI (match_operand:SI 1 "register_operand" "r")))]
+ "TARGET_REORDER"
+ "swapb %0, %1"
++ [(set_attr "type" "no_delay_arith")
++ (set_attr "mode" "SI")
++ (set_attr "length" "4")]
+ )
+
+ (define_insn "bswaphi2"
+@@ -449,6 +452,9 @@
+ "TARGET_REORDER"
+ "swapb %0, %1
+ swaph %0, %0"
++ [(set_attr "type" "no_delay_arith")
++ (set_attr "mode" "SI")
++ (set_attr "length" "8")]
+ )
+
+ ;;----------------------------------------------------------------
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0049-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0049-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch
new file mode 100644
index 000000000..a682bc19d
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0049-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch
@@ -0,0 +1,256 @@
+From 1c889b64454f63f164f34d79d891d91b0bb4731f Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Sat, 13 Oct 2018 21:12:43 +0530
+Subject: [PATCH 49/54] Fixed the load store issue with the 32bit arith
+ libraries
+
+---
+ libgcc/config/microblaze/divsi3.S | 25 ++++++++++++++++++++++++-
+ libgcc/config/microblaze/modsi3.S | 26 +++++++++++++++++++++++++-
+ libgcc/config/microblaze/mulsi3.S | 3 +++
+ libgcc/config/microblaze/udivsi3.S | 24 +++++++++++++++++++++++-
+ libgcc/config/microblaze/umodsi3.S | 24 +++++++++++++++++++++++-
+ 5 files changed, 98 insertions(+), 4 deletions(-)
+
+diff --git a/libgcc/config/microblaze/divsi3.S b/libgcc/config/microblaze/divsi3.S
+index 663d398..7e7d875 100644
+--- a/libgcc/config/microblaze/divsi3.S
++++ b/libgcc/config/microblaze/divsi3.S
+@@ -41,6 +41,17 @@
+ .globl __divsi3
+ .ent __divsi3
+ .type __divsi3,@function
++#ifdef __arch64__
++ .align 3
++__divsi3:
++ .frame r1,0,r15
++
++ ADDIK r1,r1,-32
++ SLI r28,r1,0
++ SLI r29,r1,8
++ SLI r30,r1,16
++ SLI r31,r1,24
++#else
+ __divsi3:
+ .frame r1,0,r15
+
+@@ -49,7 +60,7 @@ __divsi3:
+ SWI r29,r1,4
+ SWI r30,r1,8
+ SWI r31,r1,12
+-
++#endif
+ BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
+ BEQI r5,$LaResult_Is_Zero # Result is Zero
+ BGEID r5,$LaR5_Pos
+@@ -89,6 +100,17 @@ $LaLOOP_END:
+ $LaDiv_By_Zero:
+ $LaResult_Is_Zero:
+ OR r3,r0,r0 # set result to 0
++#ifdef __arch64__
++$LaRETURN_HERE:
++# Restore values of CSRs and that of r3 and the divisor and the dividend
++ LLI r28,r1,0
++ LLI r29,r1,8
++ LLI r30,r1,16
++ LLI r31,r1,24
++ ADDLIK r1,r1,32
++ RTSD r15,8
++ NOP
++#else
+ $LaRETURN_HERE:
+ # Restore values of CSRs and that of r3 and the divisor and the dividend
+ LWI r28,r1,0
+@@ -97,6 +119,7 @@ $LaRETURN_HERE:
+ LWI r31,r1,12
+ RTSD r15,8
+ ADDIK r1,r1,16
++#endif
+ .end __divsi3
+ .size __divsi3, . - __divsi3
+
+diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
+index 71b56e30..7e85064 100644
+--- a/libgcc/config/microblaze/modsi3.S
++++ b/libgcc/config/microblaze/modsi3.S
+@@ -41,6 +41,17 @@
+ .globl __modsi3
+ .ent __modsi3
+ .type __modsi3,@function
++#ifdef __arch64__
++ .align 3
++__modsi3:
++ .frame r1,0,r15
++
++ addlik r1,r1,-32
++ sli r28,r1,0
++ sli r29,r1,8
++ sli r30,r1,16
++ sli r31,r1,24
++#else
+ __modsi3:
+ .frame r1,0,r15
+
+@@ -49,6 +60,7 @@ __modsi3:
+ swi r29,r1,4
+ swi r30,r1,8
+ swi r31,r1,12
++#endif
+
+ BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
+ BEQI r5,$LaResult_Is_Zero # Result is Zero
+@@ -88,6 +100,18 @@ $LaLOOP_END:
+ $LaDiv_By_Zero:
+ $LaResult_Is_Zero:
+ or r3,r0,r0 # set result to 0 [Both mod as well as div are 0]
++
++#ifdef __arch64__
++$LaRETURN_HERE:
++# Restore values of CSRs and that of r3 and the divisor and the dividend
++ lli r28,r1,0
++ lli r29,r1,8
++ lli r30,r1,16
++ lli r31,r1,24
++ addik r1,r1,32
++ rtsd r15,8
++ nop
++#else
+ $LaRETURN_HERE:
+ # Restore values of CSRs and that of r3 and the divisor and the dividend
+ lwi r28,r1,0
+@@ -95,7 +119,7 @@ $LaRETURN_HERE:
+ lwi r30,r1,8
+ lwi r31,r1,12
+ rtsd r15,8
+- addik r1,r1,16
++#endif
+ .end __modsi3
+ .size __modsi3, . - __modsi3
+
+diff --git a/libgcc/config/microblaze/mulsi3.S b/libgcc/config/microblaze/mulsi3.S
+index 40b0b15..31a73c2 100644
+--- a/libgcc/config/microblaze/mulsi3.S
++++ b/libgcc/config/microblaze/mulsi3.S
+@@ -41,6 +41,9 @@
+ .globl __mulsi3
+ .ent __mulsi3
+ .type __mulsi3,@function
++#ifdef __arch64__
++ .align 3
++#endif
+ __mulsi3:
+ .frame r1,0,r15
+ add r3,r0,r0
+diff --git a/libgcc/config/microblaze/udivsi3.S b/libgcc/config/microblaze/udivsi3.S
+index 2aef8ed..94adb6a 100644
+--- a/libgcc/config/microblaze/udivsi3.S
++++ b/libgcc/config/microblaze/udivsi3.S
+@@ -41,6 +41,16 @@
+ .globl __udivsi3
+ .ent __udivsi3
+ .type __udivsi3,@function
++#ifdef __arch64__
++ .align 3
++__udivsi3:
++ .frame r1,0,r15
++
++ ADDLIK r1,r1,-24
++ SLI r29,r1,0
++ SLI r30,r1,8
++ SLI r31,r1,16
++#else
+ __udivsi3:
+ .frame r1,0,r15
+
+@@ -48,7 +58,7 @@ __udivsi3:
+ SWI r29,r1,0
+ SWI r30,r1,4
+ SWI r31,r1,8
+-
++#endif
+ BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
+ BEQID r5,$LaResult_Is_Zero # Result is Zero
+ ADDIK r30,r0,0 # Clear mod
+@@ -98,6 +108,17 @@ $LaLOOP_END:
+ $LaDiv_By_Zero:
+ $LaResult_Is_Zero:
+ OR r3,r0,r0 # set result to 0
++
++#ifdef __arch64__
++$LaRETURN_HERE:
++ # Restore values of CSRs and that of r3 and the divisor and the dividend
++ LLI r29,r1,0
++ LLI r30,r1,8
++ LLI r31,r1,16
++ ADDIK r1,r1,24
++ RTSD r15,8
++ NOP
++#else
+ $LaRETURN_HERE:
+ # Restore values of CSRs and that of r3 and the divisor and the dividend
+ LWI r29,r1,0
+@@ -105,5 +126,6 @@ $LaRETURN_HERE:
+ LWI r31,r1,8
+ RTSD r15,8
+ ADDIK r1,r1,12
++#endif
+ .end __udivsi3
+ .size __udivsi3, . - __udivsi3
+diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S
+index a2582d0..00b3bdf 100644
+--- a/libgcc/config/microblaze/umodsi3.S
++++ b/libgcc/config/microblaze/umodsi3.S
+@@ -41,6 +41,16 @@
+ .globl __umodsi3
+ .ent __umodsi3
+ .type __umodsi3,@function
++#ifdef __arch64__
++ .align 3
++__umodsi3:
++ .frame r1,0,r15
++
++ addik r1,r1,-24
++ swi r29,r1,0
++ swi r30,r1,8
++ swi r31,r1,16
++#else
+ __umodsi3:
+ .frame r1,0,r15
+
+@@ -48,7 +58,7 @@ __umodsi3:
+ swi r29,r1,0
+ swi r30,r1,4
+ swi r31,r1,8
+-
++#endif
+ BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
+ BEQId r5,$LaResult_Is_Zero # Result is Zero
+ ADDIK r3,r0,0 # Clear div
+@@ -101,6 +111,17 @@ $LaLOOP_END:
+ $LaDiv_By_Zero:
+ $LaResult_Is_Zero:
+ or r3,r0,r0 # set result to 0
++
++#ifdef __arch64__
++$LaRETURN_HERE:
++# Restore values of CSRs and that of r3 and the divisor and the dividend
++ lli r29,r1,0
++ lli r30,r1,8
++ lli r31,r1,16
++ addlik r1,r1,24
++ rtsd r15,8
++ nop
++#else
+ $LaRETURN_HERE:
+ # Restore values of CSRs and that of r3 and the divisor and the dividend
+ lwi r29,r1,0
+@@ -108,5 +129,6 @@ $LaRETURN_HERE:
+ lwi r31,r1,8
+ rtsd r15,8
+ addik r1,r1,12
++#endif
+ .end __umodsi3
+ .size __umodsi3, . - __umodsi3
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0050-extending-the-Dwarf-support-to-64bit-Microblaze.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0050-extending-the-Dwarf-support-to-64bit-Microblaze.patch
new file mode 100644
index 000000000..95a26db2c
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0050-extending-the-Dwarf-support-to-64bit-Microblaze.patch
@@ -0,0 +1,25 @@
+From 751a01ce1eeaffcd41c504b9bf44868345b45da0 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Mon, 15 Oct 2018 12:00:10 +0530
+Subject: [PATCH 50/54] extending the Dwarf support to 64bit Microblaze
+
+---
+ gcc/config/microblaze/microblaze.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index e34f549..0a5ff0a 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -207,7 +207,7 @@ extern enum pipeline_type microblaze_pipe;
+ /* Use DWARF 2 debugging information by default. */
+ #define DWARF2_DEBUGGING_INFO 1
+ #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
+-#define DWARF2_ADDR_SIZE 4
++#define DWARF2_ADDR_SIZE (TARGET_MB_64 ? 8 : 4)
+
+ /* Target machine storage layout */
+
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0051-fixing-the-typo-errors-in-umodsi3-file.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0051-fixing-the-typo-errors-in-umodsi3-file.patch
new file mode 100644
index 000000000..574037ecf
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0051-fixing-the-typo-errors-in-umodsi3-file.patch
@@ -0,0 +1,29 @@
+From 295046d0a63148fb5a685ae2bd7a06489274c72a Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Tue, 16 Oct 2018 07:55:46 +0530
+Subject: [PATCH 51/54] fixing the typo errors in umodsi3 file
+
+---
+ libgcc/config/microblaze/umodsi3.S | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S
+index 00b3bdf..9bf65c3 100644
+--- a/libgcc/config/microblaze/umodsi3.S
++++ b/libgcc/config/microblaze/umodsi3.S
+@@ -47,9 +47,9 @@ __umodsi3:
+ .frame r1,0,r15
+
+ addik r1,r1,-24
+- swi r29,r1,0
+- swi r30,r1,8
+- swi r31,r1,16
++ sli r29,r1,0
++ sli r30,r1,8
++ sli r31,r1,16
+ #else
+ __umodsi3:
+ .frame r1,0,r15
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0052-fixing-the-32bit-LTO-related-issue9-1014024.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0052-fixing-the-32bit-LTO-related-issue9-1014024.patch
new file mode 100644
index 000000000..95d39bb28
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0052-fixing-the-32bit-LTO-related-issue9-1014024.patch
@@ -0,0 +1,68 @@
+From d55eff09f175ddbc66e4e800fa5650ce9e2f599e Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Wed, 17 Oct 2018 16:56:14 +0530
+Subject: [PATCH 52/54] fixing the 32bit LTO related issue9(1014024)
+
+---
+ gcc/config/microblaze/microblaze.h | 24 ++++++++++++++----------
+ 1 file changed, 14 insertions(+), 10 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 0a5ff0a..740b8d9 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -265,12 +265,14 @@ extern enum pipeline_type microblaze_pipe;
+ #define WORD_REGISTER_OPERATIONS 1
+
+ #define LOAD_EXTEND_OP(MODE) ZERO_EXTEND
+-/*
+-#define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
+- if (GET_MODE_CLASS (MODE) == MODE_INT \
+- && GET_MODE_SIZE (MODE) < (TARGET_MB_64 ? 8 : 4)) \
+- (MODE) = TARGET_MB_64 ? DImode : SImode;
+-*/
++
++#ifndef __arch64__
++#define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
++ if (GET_MODE_CLASS (MODE) == MODE_INT \
++ && GET_MODE_SIZE (MODE) < 4) \
++ (MODE) = SImode;
++#endif
++
+ /* Standard register usage. */
+
+ /* On the MicroBlaze, we have 32 integer registers */
+@@ -469,16 +471,18 @@ extern struct microblaze_frame_info current_frame_info;
+
+ #define MAX_ARGS_IN_REGISTERS MB_ABI_MAX_ARG_REGS
+
++#ifdef __aarch64__
+ #define LIBCALL_VALUE(MODE) \
+ gen_rtx_REG (MODE,GP_RETURN)
+-
+-/*#define LIBCALL_VALUE(MODE) \
++#else
++#define LIBCALL_VALUE(MODE) \
+ gen_rtx_REG ( \
+ ((GET_MODE_CLASS (MODE) != MODE_INT \
+ || GET_MODE_SIZE (MODE) >= 4) \
+ ? (MODE) \
+ : SImode), GP_RETURN)
+-*/
++#endif
++
+ /* 1 if N is a possible register number for a function value.
+ On the MicroBlaze, R2 R3 are the only register thus used.
+ Currently, R2 are only implemented here (C has no complex type) */
+@@ -518,7 +522,7 @@ typedef struct microblaze_args
+ /* 4 insns + 2 words of data. */
+ #define TRAMPOLINE_SIZE (6 * 4)
+
+-#define TRAMPOLINE_ALIGNMENT 64
++#define TRAMPOLINE_ALIGNMENT (TARGET_MB_64 ? 64 : 32)
+
+ #define REGNO_OK_FOR_BASE_P(regno) microblaze_regno_ok_for_base_p ((regno), 1)
+
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0053-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0053-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch
new file mode 100644
index 000000000..e992075b9
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0053-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch
@@ -0,0 +1,25 @@
+From 3e7161218dc8b4dd84ad8d31f6dbaa7c256e7a82 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Fri, 19 Oct 2018 14:26:25 +0530
+Subject: [PATCH 53/54] Fixed the missing stack adjustment in prologue of
+ modsi3 function
+
+---
+ libgcc/config/microblaze/modsi3.S | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
+index 7e85064..46ff34a 100644
+--- a/libgcc/config/microblaze/modsi3.S
++++ b/libgcc/config/microblaze/modsi3.S
+@@ -119,6 +119,7 @@ $LaRETURN_HERE:
+ lwi r30,r1,8
+ lwi r31,r1,12
+ rtsd r15,8
++ addik r1,r1,16
+ #endif
+ .end __modsi3
+ .size __modsi3, . - __modsi3
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0054-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0054-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch
new file mode 100644
index 000000000..afb88d350
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0054-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch
@@ -0,0 +1,29 @@
+From a89b3e6902d7835129ad178f6af896eba15c5d5e Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 24 Oct 2018 18:31:04 +0530
+Subject: [PATCH 54/54] [Patch,Microblaze] : corrected SPN for dlong
+ instruction mapping.
+
+---
+ gcc/config/microblaze/microblaze.md | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index d037843..cbd7e77 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -600,9 +600,9 @@
+ (set_attr "mode" "DF")
+ (set_attr "length" "4")])
+
+-(define_insn "floatdfdi2"
++(define_insn "fix_truncdfdi2"
+ [(set (match_operand:DI 0 "register_operand" "=d")
+- (float:DI (match_operand:DF 1 "register_operand" "d")))]
++ (fix:DI (fix:DF (match_operand:DF 1 "register_operand" "d"))))]
+ "TARGET_MB_64"
+ "dlong\t%0,%1"
+ [(set_attr "type" "fcvt")
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-fixing-the-long-long-long-mingw-toolchain-issue.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-fixing-the-long-long-long-mingw-toolchain-issue.patch
new file mode 100644
index 000000000..4c694723d
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-fixing-the-long-long-long-mingw-toolchain-issue.patch
@@ -0,0 +1,59 @@
+From 76e231f92afd8fda13d6ae18ef3aef0ea6096489 Mon Sep 17 00:00:00 2001
+From: Nagaraju Mekala <nmekala@xilix.com>
+Date: Thu, 29 Nov 2018 17:55:08 +0530
+Subject: [PATCH 55/57] fixing the long & long long mingw toolchain issue
+
+---
+ gcc/config/microblaze/constraints.md | 2 +-
+ gcc/config/microblaze/microblaze.md | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/gcc/config/microblaze/constraints.md b/gcc/config/microblaze/constraints.md
+index 867a7b5..27c6bfc 100644
+--- a/gcc/config/microblaze/constraints.md
++++ b/gcc/config/microblaze/constraints.md
+@@ -55,7 +55,7 @@
+ (define_constraint "K"
+ "A constant in the range 0xffffff8000000000L to 0x0000007fffffffffL (inclusive)."
+ (and (match_code "const_int")
+- (match_test "ival > (long)-549755813888 && ival < (long)549755813887")))
++ (match_test "ival > (long long)-549755813888 && ival < (long long)549755813887")))
+
+ ;; Define floating point constraints
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index cbd7e77..e03b835 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -646,8 +646,8 @@
+ if (TARGET_MB_64)
+ {
+ if (GET_CODE (operands[2]) == CONST_INT &&
+- INTVAL(operands[2]) < (long)-549755813888 &&
+- INTVAL(operands[2]) > (long)549755813887)
++ INTVAL(operands[2]) < (long long)-549755813888 &&
++ INTVAL(operands[2]) > (long long)549755813887)
+ FAIL;
+ }
+ })
+@@ -1264,7 +1264,7 @@
+ (match_operand:DI 1 "immediate_operand" "J,I,Mnis"))]
+ "TARGET_MB_64 && (register_operand (operands[0], DImode) &&
+ (GET_CODE (operands[1]) == CONST_INT &&
+- (INTVAL (operands[1]) <= (long)549755813887 && INTVAL (operands[1]) >= (long)-549755813888)))"
++ (INTVAL (operands[1]) <= (long long)549755813887 && INTVAL (operands[1]) >= (long long)-549755813888)))"
+ "@
+ addlk\t%0,r0,r0\t
+ addlik\t%0,r0,%1\t #N1 %X1
+@@ -1298,7 +1298,7 @@
+ case 1:
+ case 2:
+ if (GET_CODE (operands[1]) == CONST_INT &&
+- (INTVAL (operands[1]) > (long)549755813887 || INTVAL (operands[1]) < (long)-549755813888))
++ (INTVAL (operands[1]) > (long long)549755813887 || INTVAL (operands[1]) < (long long)-549755813888))
+ return "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
+ else
+ return "addlik\t%0,r0,%1";
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-microblaze_linker_script_xilinx_ld.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-microblaze_linker_script_xilinx_ld.patch
new file mode 100644
index 000000000..c009c92d2
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0055-microblaze_linker_script_xilinx_ld.patch
@@ -0,0 +1,16 @@
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 740b8d9..4bda9c2 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -114,8 +114,9 @@ extern enum pipeline_type microblaze_pipe;
+ %{m64:-EL --oformat=elf64-microblazeel} \
+ %{Zxl-mode-xmdstub:-defsym _TEXT_START_ADDR=0x800} \
+ %{mxl-mode-xmdstub:-defsym _TEXT_START_ADDR=0x800} \
+- %{mxl-gp-opt:%{G*}} %{!mxl-gp-opt: -G 0} \
+- %{!T*: -dT xilinx.ld%s}"
++ %{mxl-gp-opt:%{G*}} %{!mxl-gp-opt: -G 0}"
++
++// %{!T*: -dT xilinx.ld%s}"
+
+ /* Specs for the compiler proper */
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0057-Fix-the-MB-64-bug-of-handling-QI-objects.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0057-Fix-the-MB-64-bug-of-handling-QI-objects.patch
new file mode 100644
index 000000000..a5a2039d9
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0057-Fix-the-MB-64-bug-of-handling-QI-objects.patch
@@ -0,0 +1,47 @@
+From 6c58973f1cc1e37773aeab583aa3ac6331489106 Mon Sep 17 00:00:00 2001
+From: Nagaraju <nmekala@xilinx.com>
+Date: Thu, 14 Mar 2019 18:11:04 +0530
+Subject: [PATCH 57/57] Fix the MB-64 bug of handling QI objects
+
+---
+ gcc/config/microblaze/microblaze.md | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index e03b835..88aee9e 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -2345,11 +2345,11 @@ else
+
+ (define_insn "branch_zero_64"
+ [(set (pc)
+- (if_then_else (match_operator:SI 0 "ordered_comparison_operator"
++ (if_then_else (match_operator 0 "ordered_comparison_operator"
+ [(match_operand:SI 1 "register_operand" "d")
+ (const_int 0)])
+- (match_operand:SI 2 "pc_or_label_operand" "")
+- (match_operand:SI 3 "pc_or_label_operand" "")))
++ (match_operand 2 "pc_or_label_operand" "")
++ (match_operand 3 "pc_or_label_operand" "")))
+ ]
+ "TARGET_MB_64"
+ {
+@@ -2365,11 +2365,11 @@ else
+
+ (define_insn "long_branch_zero"
+ [(set (pc)
+- (if_then_else (match_operator 0 "ordered_comparison_operator"
+- [(match_operand 1 "register_operand" "d")
++ (if_then_else (match_operator:DI 0 "ordered_comparison_operator"
++ [(match_operand:DI 1 "register_operand" "d")
+ (const_int 0)])
+- (match_operand 2 "pc_or_label_operand" "")
+- (match_operand 3 "pc_or_label_operand" "")))
++ (match_operand:DI 2 "pc_or_label_operand" "")
++ (match_operand:DI 3 "pc_or_label_operand" "")))
+ ]
+ "TARGET_MB_64"
+ {
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0058-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0058-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch
new file mode 100644
index 000000000..8bc47a430
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0058-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch
@@ -0,0 +1,87 @@
+From bcbfd9f69d858306a080aa7213e96ca6eca66106 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Fri, 29 Mar 2019 12:08:39 +0530
+Subject: [PATCH 58/61] [Patch,Microblaze] : We will check the possibility of
+ peephole2 optimization,if we can then we will fix the compiler issue.
+
+---
+ gcc/config/microblaze/microblaze.md | 63 ++++++++++++++++++++++---------------
+ 1 file changed, 38 insertions(+), 25 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 88aee9e..8bd175f 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -880,31 +880,44 @@
+ (set_attr "mode" "SI")
+ (set_attr "length" "4")])
+
+-(define_peephole2
+- [(set (match_operand:SI 0 "register_operand")
+- (fix:SI (match_operand:SF 1 "register_operand")))
+- (set (pc)
+- (if_then_else (match_operator 2 "ordered_comparison_operator"
+- [(match_operand:SI 3 "register_operand")
+- (match_operand:SI 4 "arith_operand")])
+- (label_ref (match_operand 5))
+- (pc)))]
+- "TARGET_HARD_FLOAT && !TARGET_MB_64"
+- [(set (match_dup 1) (match_dup 3))]
+-
+- {
+- rtx condition;
+- rtx cmp_op0 = operands[3];
+- rtx cmp_op1 = operands[4];
+- rtx comp_reg = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
+-
+- emit_insn (gen_cstoresf4 (comp_reg, operands[2],
+- gen_rtx_REG (SFmode, REGNO (cmp_op0)),
+- gen_rtx_REG (SFmode, REGNO (cmp_op1))));
+- condition = gen_rtx_NE (SImode, comp_reg, const0_rtx);
+- emit_jump_insn (gen_condjump (condition, operands[5]));
+- }
+-)
++;; peephole2 optimization will be done only if fint and if-then-else
++;; are dependent.added condition for the same.
++;; if they are dependent then gcc is giving "flow control insn inside a basic block"
++;; testcase:
++;; volatile float vec = 1.0;
++;; volatile int ci = 2;
++;; register int cj = (int)(vec);
++;;// ci=cj;
++;;// if (ci <0) {
++;; if (cj < 0) {
++;; ci = 0;
++;; }
++;; commenting for now.we will check the possibility of this optimization later
++
++;;(define_peephole2
++;; [(set (match_operand:SI 0 "register_operand")
++;; (fix:SI (match_operand:SF 1 "register_operand")))
++;; (set (pc)
++;; (if_then_else (match_operator 2 "ordered_comparison_operator"
++;; [(match_operand:SI 3 "register_operand")
++;; (match_operand:SI 4 "arith_operand")])
++;; (label_ref (match_operand 5))
++;; (pc)))]
++;; "TARGET_HARD_FLOAT && !TARGET_MB_64 && ((REGNO (operands[0])) == (REGNO (operands[3])))"
++;; [(set (match_dup 1) (match_dup 3))]
++;; {
++;; rtx condition;
++;; rtx cmp_op0 = operands[3];
++;; rtx cmp_op1 = operands[4];
++;; rtx comp_reg = gen_rtx_REG (SImode, MB_ABI_ASM_TEMP_REGNUM);
++;;
++;; emit_insn (gen_cstoresf4 (comp_reg, operands[2],
++;; gen_rtx_REG (SFmode, REGNO (cmp_op0)),
++;; gen_rtx_REG (SFmode, REGNO (cmp_op1))));
++;; condition = gen_rtx_NE (SImode, comp_reg, const0_rtx);
++;; emit_jump_insn (gen_condjump (condition, operands[5]));
++;; }
++;;)
+
+ ;;----------------------------------------------------------------
+ ;; Negation and one's complement
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0059-Reverting-the-patch-as-kernel-boot-is-not-working-wi.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0059-Reverting-the-patch-as-kernel-boot-is-not-working-wi.patch
new file mode 100644
index 000000000..be4dfad5c
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0059-Reverting-the-patch-as-kernel-boot-is-not-working-wi.patch
@@ -0,0 +1,51 @@
+From 2f22090a7e8216f7a9f7e958b77ac83006a7ce89 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Tue, 16 Apr 2019 17:20:24 +0530
+Subject: [PATCH 59/61] Reverting the patch as kernel boot is not working with
+ this patch CR-1026413 Revert "[Patch,Microblaze]:reverting the cost check
+ before propagating constants."
+
+This reverts commit 7156e379a67fa47a5fb9ede1448c0d528dbda65b.
+---
+ gcc/cprop.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/gcc/cprop.c b/gcc/cprop.c
+index deb706b..e4df509 100644
+--- a/gcc/cprop.c
++++ b/gcc/cprop.c
+@@ -733,7 +733,6 @@ try_replace_reg (rtx from, rtx to, rtx_insn *insn)
+ int success = 0;
+ rtx set = single_set (insn);
+
+-#if 0
+ bool check_rtx_costs = true;
+ bool speed = optimize_bb_for_speed_p (BLOCK_FOR_INSN (insn));
+ int old_cost = set ? set_rtx_cost (set, speed) : 0;
+@@ -745,7 +744,6 @@ try_replace_reg (rtx from, rtx to, rtx_insn *insn)
+ && (GET_CODE (XEXP (note, 0)) == CONST
+ || CONSTANT_P (XEXP (note, 0)))))
+ check_rtx_costs = false;
+-#endif
+
+ /* Usually we substitute easy stuff, so we won't copy everything.
+ We however need to take care to not duplicate non-trivial CONST
+@@ -754,7 +752,6 @@ try_replace_reg (rtx from, rtx to, rtx_insn *insn)
+
+ validate_replace_src_group (from, to, insn);
+
+-#if 0
+ /* If TO is a constant, check the cost of the set after propagation
+ to the cost of the set before the propagation. If the cost is
+ higher, then do not replace FROM with TO. */
+@@ -767,7 +764,6 @@ try_replace_reg (rtx from, rtx to, rtx_insn *insn)
+ return false;
+ }
+
+-#endif
+
+ if (num_changes_pending () && apply_change_group ())
+ success = 1;
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0060-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0060-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch
new file mode 100644
index 000000000..1548faada
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0060-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch
@@ -0,0 +1,466 @@
+From 80919b0f43b275e70521e4f85cd28bcd0ece3b80 Mon Sep 17 00:00:00 2001
+From: Mahesh Bodapati <mbodapat@xilinx.com>
+Date: Wed, 17 Apr 2019 12:36:16 +0530
+Subject: [PATCH 60/61] [Patch,MicroBlaze]: fixed typos in mul,div and mod
+ assembly files.
+
+---
+ libgcc/config/microblaze/divsi3.S | 47 ++++++++++++++++++++++++++----
+ libgcc/config/microblaze/modsi3.S | 40 +++++++++++++++++++++++---
+ libgcc/config/microblaze/mulsi3.S | 33 +++++++++++++++++++++-
+ libgcc/config/microblaze/udivsi3.S | 54 +++++++++++++++++++++++++++++++----
+ libgcc/config/microblaze/umodsi3.S | 58 +++++++++++++++++++++++++++++++++++---
+ 5 files changed, 212 insertions(+), 20 deletions(-)
+
+diff --git a/libgcc/config/microblaze/divsi3.S b/libgcc/config/microblaze/divsi3.S
+index 7e7d875..cfb4c05 100644
+--- a/libgcc/config/microblaze/divsi3.S
++++ b/libgcc/config/microblaze/divsi3.S
+@@ -46,7 +46,7 @@
+ __divsi3:
+ .frame r1,0,r15
+
+- ADDIK r1,r1,-32
++ ADDLIK r1,r1,-32
+ SLI r28,r1,0
+ SLI r29,r1,8
+ SLI r30,r1,16
+@@ -61,13 +61,23 @@ __divsi3:
+ SWI r30,r1,8
+ SWI r31,r1,12
+ #endif
+- BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
+- BEQI r5,$LaResult_Is_Zero # Result is Zero
+- BGEID r5,$LaR5_Pos
++#ifdef __arch64__
++ BEAEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
++ BEAEQI r5,$LaResult_Is_Zero # Result is Zero
++ BEAGEID r5,$LaR5_Pos
++#else
++ BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
++ BEQI r5,$LaResult_Is_Zero # Result is Zero
++ BGEID r5,$LaR5_Pos
++#endif
+ XOR r28,r5,r6 # Get the sign of the result
+ RSUBI r5,r5,0 # Make r5 positive
+ $LaR5_Pos:
+- BGEI r6,$LaR6_Pos
++#ifdef __arch64__
++ BEAGEI r6,$LaR6_Pos
++#else
++ BGEI r6,$LaR6_Pos
++#endif
+ RSUBI r6,r6,0 # Make r6 positive
+ $LaR6_Pos:
+ ADDIK r30,r0,0 # Clear mod
+@@ -76,26 +86,51 @@ $LaR6_Pos:
+
+ # First part try to find the first '1' in the r5
+ $LaDIV0:
+- BLTI r5,$LaDIV2 # This traps r5 == 0x80000000
++#ifdef __arch64__
++ BEALTI r5,$LaDIV2 # This traps r5 == 0x80000000
++#else
++ BLTI r5,$LaDIV2 # This traps r5 == 0x80000000
++#endif
+ $LaDIV1:
+ ADD r5,r5,r5 # left shift logical r5
++#ifdef __arch64__
++ BEAGTID r5,$LaDIV1
++#else
+ BGTID r5,$LaDIV1
++#endif
+ ADDIK r29,r29,-1
+ $LaDIV2:
+ ADD r5,r5,r5 # left shift logical r5 get the '1' into the Carry
+ ADDC r30,r30,r30 # Move that bit into the Mod register
+ RSUB r31,r6,r30 # Try to subtract (r30 a r6)
++#ifdef __arch64__
++ BEALTI r31,$LaMOD_TOO_SMALL
++#else
+ BLTI r31,$LaMOD_TOO_SMALL
++#endif
+ OR r30,r0,r31 # Move the r31 to mod since the result was positive
+ ADDIK r3,r3,1
+ $LaMOD_TOO_SMALL:
+ ADDIK r29,r29,-1
++#ifdef __arch64__
++ BEAEQi r29,$LaLOOP_END
++#else
+ BEQi r29,$LaLOOP_END
++#endif
+ ADD r3,r3,r3 # Shift in the '1' into div
++#ifdef __arch64__
++ BREAI $LaDIV2 # Div2
++#else
+ BRI $LaDIV2 # Div2
++#endif
+ $LaLOOP_END:
++#ifdef __arch64__
++ BEAGEI r28,$LaRETURN_HERE
++ BREAID $LaRETURN_HERE
++#else
+ BGEI r28,$LaRETURN_HERE
+ BRID $LaRETURN_HERE
++#endif
+ RSUBI r3,r3,0 # Negate the result
+ $LaDiv_By_Zero:
+ $LaResult_Is_Zero:
+diff --git a/libgcc/config/microblaze/modsi3.S b/libgcc/config/microblaze/modsi3.S
+index 46ff34a..49618dd 100644
+--- a/libgcc/config/microblaze/modsi3.S
++++ b/libgcc/config/microblaze/modsi3.S
+@@ -62,40 +62,72 @@ __modsi3:
+ swi r31,r1,12
+ #endif
+
++#ifdef __arch64__
++ BEAEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
++ BEAEQI r5,$LaResult_Is_Zero # Result is Zero
++ BEAGEId r5,$LaR5_Pos
++#else
+ BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
+ BEQI r5,$LaResult_Is_Zero # Result is Zero
+ BGEId r5,$LaR5_Pos
++#endif
+ ADD r28,r5,r0 # Get the sign of the result [ Depends only on the first arg]
+ RSUBI r5,r5,0 # Make r5 positive
+ $LaR5_Pos:
+- BGEI r6,$LaR6_Pos
++#ifdef __arch64__
++ BEAGEI r6,$LaR6_Pos
++#else
++ BGEI r6,$LaR6_Pos
++#endif
+ RSUBI r6,r6,0 # Make r6 positive
+ $LaR6_Pos:
+ ADDIK r3,r0,0 # Clear mod
+ ADDIK r30,r0,0 # clear div
+- BLTId r5,$LaDIV2 # If r5 is still negative (0x80000000), skip
++#ifdef __arch64__
++ BEALTId r5,$LaDIV2 # If r5 is still negative (0x80000000), skip
+ # the first bit search.
++#else
++ BLTId r5,$LaDIV2 # If r5 is still negative (0x80000000), skip
++ # the first bit search.
++#endif
+ ADDIK r29,r0,32 # Initialize the loop count
+ # First part try to find the first '1' in the r5
+ $LaDIV1:
+ ADD r5,r5,r5 # left shift logical r5
+- BGEID r5,$LaDIV1 #
++#ifdef __arch64__
++ BEAGEID r5,$LaDIV1 #
++#else
++ BGEID r5,$LaDIV1 #
++#endif
+ ADDIK r29,r29,-1
+ $LaDIV2:
+ ADD r5,r5,r5 # left shift logical r5 get the '1' into the Carry
+ ADDC r3,r3,r3 # Move that bit into the Mod register
+ rSUB r31,r6,r3 # Try to subtract (r30 a r6)
++#ifdef __arch64__
++ BEALTi r31,$LaMOD_TOO_SMALL
++#else
+ BLTi r31,$LaMOD_TOO_SMALL
++#endif
+ OR r3,r0,r31 # Move the r31 to mod since the result was positive
+ ADDIK r30,r30,1
+ $LaMOD_TOO_SMALL:
+ ADDIK r29,r29,-1
++#ifdef __arch64__
++ BEAEQi r29,$LaLOOP_END
++ ADD r30,r30,r30 # Shift in the '1' into div
++ BREAI $LaDIV2 # Div2
++$LaLOOP_END:
++ BEAGEI r28,$LaRETURN_HERE
++ BREAId $LaRETURN_HERE
++#else
+ BEQi r29,$LaLOOP_END
+ ADD r30,r30,r30 # Shift in the '1' into div
+ BRI $LaDIV2 # Div2
+ $LaLOOP_END:
+ BGEI r28,$LaRETURN_HERE
+ BRId $LaRETURN_HERE
++#endif
+ rsubi r3,r3,0 # Negate the result
+ $LaDiv_By_Zero:
+ $LaResult_Is_Zero:
+@@ -108,7 +140,7 @@ $LaRETURN_HERE:
+ lli r29,r1,8
+ lli r30,r1,16
+ lli r31,r1,24
+- addik r1,r1,32
++ addlik r1,r1,32
+ rtsd r15,8
+ nop
+ #else
+diff --git a/libgcc/config/microblaze/mulsi3.S b/libgcc/config/microblaze/mulsi3.S
+index 31a73c2..39951be 100644
+--- a/libgcc/config/microblaze/mulsi3.S
++++ b/libgcc/config/microblaze/mulsi3.S
+@@ -43,7 +43,37 @@
+ .type __mulsi3,@function
+ #ifdef __arch64__
+ .align 3
+-#endif
++__mulsi3:
++ .frame r1,0,r15
++ add r3,r0,r0
++ BEAEQI r5,$L_Result_Is_Zero # Multiply by Zero
++ BEAEQI r6,$L_Result_Is_Zero # Multiply by Zero
++ BEAGEId r5,$L_R5_Pos
++ XOR r4,r5,r6 # Get the sign of the result
++ RSUBI r5,r5,0 # Make r5 positive
++$L_R5_Pos:
++ BEAGEI r6,$L_R6_Pos
++ RSUBI r6,r6,0 # Make r6 positive
++$L_R6_Pos:
++ breai $L1
++$L2:
++ add r5,r5,r5
++$L1:
++ srl r6,r6
++ addc r7,r0,r0
++ beaeqi r7,$L2
++ beaneid r6,$L2
++ add r3,r3,r5
++ bealti r4,$L_NegateResult
++ rtsd r15,8
++ nop
++$L_NegateResult:
++ rtsd r15,8
++ rsub r3,r3,r0
++$L_Result_Is_Zero:
++ rtsd r15,8
++ addi r3,r0,0
++#else
+ __mulsi3:
+ .frame r1,0,r15
+ add r3,r0,r0
+@@ -74,5 +104,6 @@ $L_NegateResult:
+ $L_Result_Is_Zero:
+ rtsd r15,8
+ addi r3,r0,0
++#endif
+ .end __mulsi3
+ .size __mulsi3, . - __mulsi3
+diff --git a/libgcc/config/microblaze/udivsi3.S b/libgcc/config/microblaze/udivsi3.S
+index 94adb6a..d4fe285 100644
+--- a/libgcc/config/microblaze/udivsi3.S
++++ b/libgcc/config/microblaze/udivsi3.S
+@@ -59,52 +59,96 @@ __udivsi3:
+ SWI r30,r1,4
+ SWI r31,r1,8
+ #endif
++#ifdef __arch64__
++ BEAEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
++ BEAEQID r5,$LaResult_Is_Zero # Result is Zero
++#else
+ BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
+ BEQID r5,$LaResult_Is_Zero # Result is Zero
++#endif
+ ADDIK r30,r0,0 # Clear mod
+ ADDIK r29,r0,32 # Initialize the loop count
+
+ # Check if r6 and r5 are equal # if yes, return 1
+ RSUB r18,r5,r6
++#ifdef __arch64__
++ BEAEQID r18,$LaRETURN_HERE
++#else
+ BEQID r18,$LaRETURN_HERE
++#endif
+ ADDIK r3,r0,1
+
+ # Check if (uns)r6 is greater than (uns)r5. In that case, just return 0
+ XOR r18,r5,r6
+- BGEID r18,16
++#ifdef __arch64__
++ BEAGEID r18,16
++#else
++ BGEID r18,16
++#endif
+ ADD r3,r0,r0 # We would anyways clear r3
++#ifdef __arch64__
++ BEALTI r6,$LaRETURN_HERE # r6[bit 31 = 1] hence is greater
++ BREAI $LCheckr6
++ RSUB r18,r6,r5 # MICROBLAZEcmp
++ BEALTI r18,$LaRETURN_HERE
++#else
+ BLTI r6,$LaRETURN_HERE # r6[bit 31 = 1] hence is greater
+ BRI $LCheckr6
+ RSUB r18,r6,r5 # MICROBLAZEcmp
+ BLTI r18,$LaRETURN_HERE
+-
++#endif
+ # If r6 [bit 31] is set, then return result as 1
+ $LCheckr6:
+- BGTI r6,$LaDIV0
+- BRID $LaRETURN_HERE
++#ifdef __arch64__
++ BEAGTI r6,$LaDIV0
++ BREAID $LaRETURN_HERE
++#else
++ BGTI r6,$LaDIV0
++ BRID $LaRETURN_HERE
++#endif
+ ADDIK r3,r0,1
+
+ # First part try to find the first '1' in the r5
+ $LaDIV0:
++#ifdef __arch64__
++ BEALTI r5,$LaDIV2
++#else
+ BLTI r5,$LaDIV2
++#endif
+ $LaDIV1:
+ ADD r5,r5,r5 # left shift logical r5
++#ifdef __arch64__
++ BEAGTID r5,$LaDIV1
++#else
+ BGTID r5,$LaDIV1
++#endif
+ ADDIK r29,r29,-1
+ $LaDIV2:
+ ADD r5,r5,r5 # left shift logical r5 get the '1' into the Carry
+ ADDC r30,r30,r30 # Move that bit into the Mod register
+ RSUB r31,r6,r30 # Try to subtract (r30 a r6)
++#ifdef __arch64__
++ BEALTI r31,$LaMOD_TOO_SMALL
++#else
+ BLTI r31,$LaMOD_TOO_SMALL
++#endif
+ OR r30,r0,r31 # Move the r31 to mod since the result was positive
+ ADDIK r3,r3,1
+ $LaMOD_TOO_SMALL:
+ ADDIK r29,r29,-1
++#ifdef __arch64__
++ BEAEQi r29,$LaLOOP_END
++ ADD r3,r3,r3 # Shift in the '1' into div
++ BREAI $LaDIV2 # Div2
++$LaLOOP_END:
++ BREAI $LaRETURN_HERE
++#else
+ BEQi r29,$LaLOOP_END
+ ADD r3,r3,r3 # Shift in the '1' into div
+ BRI $LaDIV2 # Div2
+ $LaLOOP_END:
+ BRI $LaRETURN_HERE
++#endif
+ $LaDiv_By_Zero:
+ $LaResult_Is_Zero:
+ OR r3,r0,r0 # set result to 0
+@@ -115,7 +159,7 @@ $LaRETURN_HERE:
+ LLI r29,r1,0
+ LLI r30,r1,8
+ LLI r31,r1,16
+- ADDIK r1,r1,24
++ ADDLIK r1,r1,24
+ RTSD r15,8
+ NOP
+ #else
+diff --git a/libgcc/config/microblaze/umodsi3.S b/libgcc/config/microblaze/umodsi3.S
+index 9bf65c3..3bd5d48 100644
+--- a/libgcc/config/microblaze/umodsi3.S
++++ b/libgcc/config/microblaze/umodsi3.S
+@@ -46,7 +46,7 @@
+ __umodsi3:
+ .frame r1,0,r15
+
+- addik r1,r1,-24
++ addlik r1,r1,-24
+ sli r29,r1,0
+ sli r30,r1,8
+ sli r31,r1,16
+@@ -59,27 +59,77 @@ __umodsi3:
+ swi r30,r1,4
+ swi r31,r1,8
+ #endif
++#ifdef __arch64__
++ BEAEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
++ BEAEQId r5,$LaResult_Is_Zero # Result is Zero
++#else
+ BEQI r6,$LaDiv_By_Zero # Div_by_Zero # Division Error
+ BEQId r5,$LaResult_Is_Zero # Result is Zero
++#endif
+ ADDIK r3,r0,0 # Clear div
+ ADDIK r30,r0,0 # clear mod
+ ADDIK r29,r0,32 # Initialize the loop count
+
+ # Check if r6 and r5 are equal # if yes, return 0
+ rsub r18,r5,r6
+- beqi r18,$LaRETURN_HERE
+
++#ifdef __arch64__
++ beaeqi r18,$LaRETURN_HERE
++#else
++ beqi r18,$LaRETURN_HERE
++#endif
+ # Check if (uns)r6 is greater than (uns)r5. In that case, just return r5
+ xor r18,r5,r6
++#ifdef __arch64__
++ beageid r18,16
++ addik r3,r5,0
++ bealti r6,$LaRETURN_HERE
++ breai $LCheckr6
++ rsub r18,r5,r6 # MICROBLAZEcmp
++ beagti r18,$LaRETURN_HERE
++#else
+ bgeid r18,16
+ addik r3,r5,0
+ blti r6,$LaRETURN_HERE
+ bri $LCheckr6
+ rsub r18,r5,r6 # MICROBLAZEcmp
+ bgti r18,$LaRETURN_HERE
+-
++#endif
+ # If r6 [bit 31] is set, then return result as r5-r6
+ $LCheckr6:
++#ifdef __arch64__
++ beagtid r6,$LaDIV0
++ addik r3,r0,0
++ addik r18,r0,0x7fffffff
++ and r5,r5,r18
++ and r6,r6,r18
++ breaid $LaRETURN_HERE
++ rsub r3,r6,r5
++# First part: try to find the first '1' in the r5
++$LaDIV0:
++ BEALTI r5,$LaDIV2
++$LaDIV1:
++ ADD r5,r5,r5 # left shift logical r5
++ BEAGEID r5,$LaDIV1 #
++ ADDIK r29,r29,-1
++$LaDIV2:
++ ADD r5,r5,r5 # left shift logical r5 get the '1' into the Carry
++ ADDC r3,r3,r3 # Move that bit into the Mod register
++ rSUB r31,r6,r3 # Try to subtract (r3 a r6)
++ BEALTi r31,$LaMOD_TOO_SMALL
++ OR r3,r0,r31 # Move the r31 to mod since the result was positive
++ ADDIK r30,r30,1
++$LaMOD_TOO_SMALL:
++ ADDIK r29,r29,-1
++ BEAEQi r29,$LaLOOP_END
++ ADD r30,r30,r30 # Shift in the '1' into div
++ BREAI $LaDIV2 # Div2
++$LaLOOP_END:
++ BREAI $LaRETURN_HERE
++$LaDiv_By_Zero:
++$LaResult_Is_Zero:
++ or r3,r0,r0 # set result to 0
++#else
+ bgtid r6,$LaDIV0
+ addik r3,r0,0
+ addik r18,r0,0x7fffffff
+@@ -111,7 +161,7 @@ $LaLOOP_END:
+ $LaDiv_By_Zero:
+ $LaResult_Is_Zero:
+ or r3,r0,r0 # set result to 0
+-
++#endif
+ #ifdef __arch64__
+ $LaRETURN_HERE:
+ # Restore values of CSRs and that of r3 and the divisor and the dividend
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0061-Author-Nagaraju-nmekala-xilinx.com.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0061-Author-Nagaraju-nmekala-xilinx.com.patch
new file mode 100644
index 000000000..690bc7273
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0061-Author-Nagaraju-nmekala-xilinx.com.patch
@@ -0,0 +1,479 @@
+From e1b8cfe6c0b4a0bd90ecbd3e85ae7114df21b6cc Mon Sep 17 00:00:00 2001
+From: Nagaraju <nmekala@xilinx.com>
+Date: Thu, 18 Apr 2019 16:00:37 +0530
+Subject: [PATCH 61/62] Author: Nagaraju <nmekala@xilinx.com> Date: Wed Apr
+ 17 14:11:00 2019 +0530
+
+ [Patch, microblaze]: MB-64 removal of barrel-shift instructions from default
+ By default MB-64 is generatting barrel-shift instructions. It has been
+ removed from default. Barrel-shift instructions will be generated only if
+ barrel-shifter is enabled. Similarly to double instructions as well.
+
+ Signed-off-by :Nagaraju Mekala <nmekala@xilix.com>
+---
+ gcc/config/microblaze/microblaze.c | 2 +-
+ gcc/config/microblaze/microblaze.md | 269 +++++++++++++++++++++++++++++++++---
+ 2 files changed, 252 insertions(+), 19 deletions(-)
+
+diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
+index 33d183e..c321b03 100644
+--- a/gcc/config/microblaze/microblaze.c
++++ b/gcc/config/microblaze/microblaze.c
+@@ -3868,7 +3868,7 @@ microblaze_expand_divide (rtx operands[])
+ emit_insn (gen_rtx_CLOBBER (Pmode, reg18));
+
+ if (TARGET_MB_64) {
+- emit_insn (gen_ashldi3_long (regt1, operands[1], GEN_INT(4)));
++ emit_insn (gen_ashldi3 (regt1, operands[1], GEN_INT(4)));
+ emit_insn (gen_adddi3 (regt1, regt1, operands[2]));
+ }
+ else {
+diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
+index 8bd175f..b5b60fb 100644
+--- a/gcc/config/microblaze/microblaze.md
++++ b/gcc/config/microblaze/microblaze.md
+@@ -545,7 +545,7 @@
+ [(set (match_operand:DF 0 "register_operand" "=d")
+ (plus:DF (match_operand:DF 1 "register_operand" "d")
+ (match_operand:DF 2 "register_operand" "d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
+ "dadd\t%0,%1,%2"
+ [(set_attr "type" "fadd")
+ (set_attr "mode" "DF")
+@@ -555,7 +555,7 @@
+ [(set (match_operand:DF 0 "register_operand" "=d")
+ (minus:DF (match_operand:DF 1 "register_operand" "d")
+ (match_operand:DF 2 "register_operand" "d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
+ "drsub\t%0,%2,%1"
+ [(set_attr "type" "frsub")
+ (set_attr "mode" "DF")
+@@ -565,7 +565,7 @@
+ [(set (match_operand:DF 0 "register_operand" "=d")
+ (mult:DF (match_operand:DF 1 "register_operand" "d")
+ (match_operand:DF 2 "register_operand" "d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
+ "dmul\t%0,%1,%2"
+ [(set_attr "type" "fmul")
+ (set_attr "mode" "DF")
+@@ -575,7 +575,7 @@
+ [(set (match_operand:DF 0 "register_operand" "=d")
+ (div:DF (match_operand:DF 1 "register_operand" "d")
+ (match_operand:DF 2 "register_operand" "d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
+ "ddiv\t%0,%2,%1"
+ [(set_attr "type" "fdiv")
+ (set_attr "mode" "DF")
+@@ -585,7 +585,7 @@
+ (define_insn "sqrtdf2"
+ [(set (match_operand:DF 0 "register_operand" "=d")
+ (sqrt:DF (match_operand:DF 1 "register_operand" "d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
+ "dsqrt\t%0,%1"
+ [(set_attr "type" "fsqrt")
+ (set_attr "mode" "DF")
+@@ -594,7 +594,7 @@
+ (define_insn "floatdidf2"
+ [(set (match_operand:DF 0 "register_operand" "=d")
+ (float:DF (match_operand:DI 1 "register_operand" "d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
+ "dbl\t%0,%1"
+ [(set_attr "type" "fcvt")
+ (set_attr "mode" "DF")
+@@ -603,7 +603,7 @@
+ (define_insn "fix_truncdfdi2"
+ [(set (match_operand:DI 0 "register_operand" "=d")
+ (fix:DI (fix:DF (match_operand:DF 1 "register_operand" "d"))))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_HARD_FLOAT && TARGET_FLOAT_CONVERT"
+ "dlong\t%0,%1"
+ [(set_attr "type" "fcvt")
+ (set_attr "mode" "DI")
+@@ -1299,6 +1299,34 @@
+ (set_attr "mode" "DI")
+ (set_attr "length" "4")])
+
++(define_insn "*movdi_internal2_bshift"
++ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d, d,d,R,m")
++ (match_operand:DI 1 "move_src_operand" " d,I,Mnis,R,m,dJ,dJ"))]
++ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
++ {
++ switch (which_alternative)
++ {
++ case 0:
++ return "addlk\t%0,%1,r0";
++ case 1:
++ case 2:
++ if (GET_CODE (operands[1]) == CONST_INT &&
++ (INTVAL (operands[1]) > (long long)549755813887 || INTVAL (operands[1]) < (long long)-549755813888))
++ return "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
++ else
++ return "addlik\t%0,r0,%1";
++ case 3:
++ case 4:
++ return "ll%i1\t%0,%1";
++ case 5:
++ case 6:
++ return "sl%i0\t%z1,%0";
++ }
++ }
++ [(set_attr "type" "load,no_delay_load,no_delay_load,no_delay_load,no_delay_load,no_delay_store,no_delay_store")
++ (set_attr "mode" "DI")
++ (set_attr "length" "4,4,12,4,8,4,8")])
++
+ (define_insn "*movdi_internal2"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d,d,d, d,d,R,m")
+ (match_operand:DI 1 "move_src_operand" " d,I,Mnis,R,m,dJ,dJ"))]
+@@ -1312,7 +1340,15 @@
+ case 2:
+ if (GET_CODE (operands[1]) == CONST_INT &&
+ (INTVAL (operands[1]) > (long long)549755813887 || INTVAL (operands[1]) < (long long)-549755813888))
+- return "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
++ {
++ operands[2] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
++ output_asm_insn ("addlik\t%0,r0,%h1", operands);
++ output_asm_insn ("addlik\t%2,r0,32", operands);
++ output_asm_insn ("addlik\t%2,%2,-1", operands);
++ output_asm_insn ("beaneid\t%2,.-8", operands);
++ output_asm_insn ("addlk\t%0,%0,%0", operands);
++ return "addlik\t%0,%0,%j1 #li => la";
++ }
+ else
+ return "addlik\t%0,r0,%1";
+ case 3:
+@@ -1386,7 +1422,7 @@
+ (define_insn "movdi_long_int"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
+ (match_operand:DI 1 "general_operand" "i"))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
+ "addlik\t%0,r0,%h1\n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%j1 #li => la";
+ [(set_attr "type" "no_delay_arith")
+ (set_attr "mode" "DI")
+@@ -1653,6 +1689,33 @@
+ ;; movdf_internal
+ ;; Applies to both TARGET_SOFT_FLOAT and TARGET_HARD_FLOAT
+ ;;
++(define_insn "*movdf_internal_64_bshift"
++ [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,d,m")
++ (match_operand:DF 1 "general_operand" "d,dG,m,F,T,d"))]
++ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
++ {
++ switch (which_alternative)
++ {
++ case 0:
++ return "addlk\t%0,%1,r0";
++ case 1:
++ return "addlk\t%0,r0,r0";
++ case 2:
++ case 4:
++ return "ll%i1\t%0,%1";
++ case 3:
++ {
++ return "addlik\t%0,r0,%j1 \n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%h1 #Xfer Lo";
++ }
++ case 5:
++ return "sl%i0\t%1,%0";
++ }
++ gcc_unreachable ();
++ }
++ [(set_attr "type" "no_delay_move,no_delay_move,no_delay_load,no_delay_load,no_delay_load,no_delay_store")
++ (set_attr "mode" "DF")
++ (set_attr "length" "4,4,4,16,4,4")])
++
+ (define_insn "*movdf_internal_64"
+ [(set (match_operand:DF 0 "nonimmediate_operand" "=d,d,d,d,d,m")
+ (match_operand:DF 1 "general_operand" "d,dG,m,F,T,d"))]
+@@ -1669,7 +1732,13 @@
+ return "ll%i1\t%0,%1";
+ case 3:
+ {
+- return "addlik\t%0,r0,%j1 \n\tbsllli\t%0,%0,32\n\taddlik\t%0,%0,%h1 #Xfer Lo";
++ operands[2] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
++ output_asm_insn ("addlik\t%0,r0,%h1", operands);
++ output_asm_insn ("addlik\t%2,r0,32", operands);
++ output_asm_insn ("addlik\t%2,%2,-1", operands);
++ output_asm_insn ("beaneid\t%2,.-8", operands);
++ output_asm_insn ("addlk\t%0,%0,%0", operands);
++ return "addlik\t%0,%0,%j1 #li => la";
+ }
+ case 5:
+ return "sl%i0\t%1,%0";
+@@ -1789,11 +1858,21 @@
+ "TARGET_MB_64"
+ {
+ ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
+-if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
++if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && TARGET_BARREL_SHIFT)
+ {
+ emit_insn(gen_ashldi3_long (operands[0], operands[1],operands[2]));
+ DONE;
+ }
++else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && CONST_INT_P (operands[2]))
++ {
++ emit_insn(gen_ashldi3_const (operands[0], operands[1],operands[2]));
++ DONE;
++ }
++else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && GET_CODE (operands[2]) == REG)
++ {
++ emit_insn(gen_ashldi3_reg (operands[0], operands[1],operands[2]));
++ DONE;
++ }
+ else
+ FAIL;
+ }
+@@ -1803,7 +1882,7 @@ else
+ [(set (match_operand:DI 0 "register_operand" "=d,d")
+ (ashift:DI (match_operand:DI 1 "register_operand" "d,d")
+ (match_operand:DI 2 "arith_operand" "I,d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
+ "@
+ bsllli\t%0,%1,%2
+ bslll\t%0,%1,%2"
+@@ -1811,6 +1890,51 @@ else
+ (set_attr "mode" "DI,DI")
+ (set_attr "length" "4,4")]
+ )
++
++(define_insn "ashldi3_const"
++ [(set (match_operand:DI 0 "register_operand" "=&d")
++ (ashift:DI (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "immediate_operand" "I")))]
++ "TARGET_MB_64"
++ {
++ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
++
++ output_asm_insn ("orli\t%3,r0,%2", operands);
++ if (REGNO (operands[0]) != REGNO (operands[1]))
++ output_asm_insn ("addlk\t%0,%1,r0", operands);
++
++ output_asm_insn ("addlik\t%3,%3,-1", operands);
++ output_asm_insn ("beaneid\t%3,.-8", operands);
++ return "addlk\t%0,%0,%0";
++ }
++ [(set_attr "type" "multi")
++ (set_attr "mode" "DI")
++ (set_attr "length" "20")]
++)
++
++(define_insn "ashldi3_reg"
++ [(set (match_operand:DI 0 "register_operand" "=&d")
++ (ashift:DI (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "register_operand" "d")))]
++ "TARGET_MB_64"
++ {
++ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
++ output_asm_insn ("andli\t%3,%2,31", operands);
++ if (REGNO (operands[0]) != REGNO (operands[1]))
++ output_asm_insn ("addlk\t%0,r0,%1", operands);
++ /* Exit the loop if zero shift. */
++ output_asm_insn ("beaeqid\t%3,.+24", operands);
++ /* Emit the loop. */
++ output_asm_insn ("addlk\t%0,%0,r0", operands);
++ output_asm_insn ("addlik\t%3,%3,-1", operands);
++ output_asm_insn ("beaneid\t%3,.-8", operands);
++ return "addlk\t%0,%0,%0";
++ }
++ [(set_attr "type" "multi")
++ (set_attr "mode" "DI")
++ (set_attr "length" "28")]
++)
++
+ ;; The following patterns apply when there is no barrel shifter present
+
+ (define_insn "*ashlsi3_with_mul_delay"
+@@ -1944,11 +2068,21 @@ else
+ "TARGET_MB_64"
+ {
+ ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
+-if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
++if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && TARGET_BARREL_SHIFT)
+ {
+ emit_insn(gen_ashrdi3_long (operands[0], operands[1],operands[2]));
+ DONE;
+ }
++else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && CONST_INT_P (operands[2]))
++ {
++ emit_insn(gen_ashrdi3_const (operands[0], operands[1],operands[2]));
++ DONE;
++ }
++else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && GET_CODE (operands[2]) == REG)
++ {
++ emit_insn(gen_ashrdi3_reg (operands[0], operands[1],operands[2]));
++ DONE;
++ }
+ else
+ FAIL;
+ }
+@@ -1958,7 +2092,7 @@ else
+ [(set (match_operand:DI 0 "register_operand" "=d,d")
+ (ashiftrt:DI (match_operand:DI 1 "register_operand" "d,d")
+ (match_operand:DI 2 "arith_operand" "I,d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
+ "@
+ bslrai\t%0,%1,%2
+ bslra\t%0,%1,%2"
+@@ -1966,6 +2100,51 @@ else
+ (set_attr "mode" "DI,DI")
+ (set_attr "length" "4,4")]
+ )
++
++(define_insn "ashrdi3_const"
++ [(set (match_operand:DI 0 "register_operand" "=&d")
++ (ashiftrt:DI (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "immediate_operand" "I")))]
++ "TARGET_MB_64"
++ {
++ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
++
++ output_asm_insn ("orli\t%3,r0,%2", operands);
++ if (REGNO (operands[0]) != REGNO (operands[1]))
++ output_asm_insn ("addlk\t%0,%1,r0", operands);
++
++ output_asm_insn ("addlik\t%3,%3,-1", operands);
++ output_asm_insn ("beaneid\t%3,.-8", operands);
++ return "srla\t%0,%0";
++ }
++ [(set_attr "type" "arith")
++ (set_attr "mode" "DI")
++ (set_attr "length" "20")]
++)
++
++(define_insn "ashrdi3_reg"
++ [(set (match_operand:DI 0 "register_operand" "=&d")
++ (ashiftrt:DI (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "register_operand" "d")))]
++ "TARGET_MB_64"
++ {
++ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
++ output_asm_insn ("andli\t%3,%2,31", operands);
++ if (REGNO (operands[0]) != REGNO (operands[1]))
++ output_asm_insn ("addlk\t%0,r0,%1", operands);
++ /* Exit the loop if zero shift. */
++ output_asm_insn ("beaeqid\t%3,.+24", operands);
++ /* Emit the loop. */
++ output_asm_insn ("addlk\t%0,%0,r0", operands);
++ output_asm_insn ("addlik\t%3,%3,-1", operands);
++ output_asm_insn ("beaneid\t%3,.-8", operands);
++ return "srla\t%0,%0";
++ }
++ [(set_attr "type" "multi")
++ (set_attr "mode" "DI")
++ (set_attr "length" "28")]
++)
++
+ (define_expand "ashrsi3"
+ [(set (match_operand:SI 0 "register_operand" "=&d")
+ (ashiftrt:SI (match_operand:SI 1 "register_operand" "d")
+@@ -2083,11 +2262,21 @@ else
+ "TARGET_MB_64"
+ {
+ ;;if (CONST_INT_P (operands[2]) && INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
+-if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65)
++if (INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && TARGET_BARREL_SHIFT)
+ {
+ emit_insn(gen_lshrdi3_long (operands[0], operands[1],operands[2]));
+ DONE;
+ }
++else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && CONST_INT_P (operands[2]))
++ {
++ emit_insn(gen_lshrdi3_const (operands[0], operands[1],operands[2]));
++ DONE;
++ }
++else if(INTVAL (operands[2]) > 0 && INTVAL (operands[2]) < 65 && GET_CODE (operands[2]) == REG)
++ {
++ emit_insn(gen_lshrdi3_reg (operands[0], operands[1],operands[2]));
++ DONE;
++ }
+ else
+ FAIL;
+ }
+@@ -2097,7 +2286,7 @@ else
+ [(set (match_operand:DI 0 "register_operand" "=d,d")
+ (lshiftrt:DI (match_operand:DI 1 "register_operand" "d,d")
+ (match_operand:DI 2 "arith_operand" "I,d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_BARREL_SHIFT"
+ "@
+ bslrli\t%0,%1,%2
+ bslrl\t%0,%1,%2"
+@@ -2106,6 +2295,50 @@ else
+ (set_attr "length" "4,4")]
+ )
+
++(define_insn "lshrdi3_const"
++ [(set (match_operand:DI 0 "register_operand" "=&d")
++ (lshiftrt:DI (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "immediate_operand" "I")))]
++ "TARGET_MB_64"
++ {
++ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
++
++ output_asm_insn ("orli\t%3,r0,%2", operands);
++ if (REGNO (operands[0]) != REGNO (operands[1]))
++ output_asm_insn ("addlk\t%0,%1,r0", operands);
++
++ output_asm_insn ("addlik\t%3,%3,-1", operands);
++ output_asm_insn ("beaneid\t%3,.-8", operands);
++ return "srll\t%0,%0";
++ }
++ [(set_attr "type" "multi")
++ (set_attr "mode" "DI")
++ (set_attr "length" "20")]
++)
++
++(define_insn "lshrdi3_reg"
++ [(set (match_operand:DI 0 "register_operand" "=&d")
++ (lshiftrt:DI (match_operand:DI 1 "register_operand" "d")
++ (match_operand:DI 2 "register_operand" "d")))]
++ "TARGET_MB_64"
++ {
++ operands[3] = gen_rtx_REG (DImode, MB_ABI_ASM_TEMP_REGNUM);
++ output_asm_insn ("andli\t%3,%2,31", operands);
++ if (REGNO (operands[0]) != REGNO (operands[1]))
++ output_asm_insn ("addlk\t%0,r0,%1", operands);
++ /* Exit the loop if zero shift. */
++ output_asm_insn ("beaeqid\t%3,.+24", operands);
++ /* Emit the loop. */
++ output_asm_insn ("addlk\t%0,%0,r0", operands);
++ output_asm_insn ("addlik\t%3,%3,-1", operands);
++ output_asm_insn ("beaneid\t%3,.-8", operands);
++ return "srll\t%0,%0";
++ }
++ [(set_attr "type" "multi")
++ (set_attr "mode" "SI")
++ (set_attr "length" "28")]
++)
++
+ (define_expand "lshrsi3"
+ [(set (match_operand:SI 0 "register_operand" "=&d")
+ (lshiftrt:SI (match_operand:SI 1 "register_operand" "d")
+@@ -2233,7 +2466,7 @@ else
+ (eq:DI
+ (match_operand:DI 1 "register_operand" "d")
+ (match_operand:DI 2 "register_operand" "d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_PATTERN_COMPARE"
+ "pcmpleq\t%0,%1,%2"
+ [(set_attr "type" "arith")
+ (set_attr "mode" "DI")
+@@ -2245,7 +2478,7 @@ else
+ (ne:DI
+ (match_operand:DI 1 "register_operand" "d")
+ (match_operand:DI 2 "register_operand" "d")))]
+- "TARGET_MB_64"
++ "TARGET_MB_64 && TARGET_PATTERN_COMPARE"
+ "pcmplne\t%0,%1,%2"
+ [(set_attr "type" "arith")
+ (set_attr "mode" "DI")
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0062-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0062-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch
new file mode 100644
index 000000000..e7dfa89c1
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-8/0062-Patch-microblaze-Add-TARGET_OPTION_OPTIMIZATION-and-.patch
@@ -0,0 +1,41 @@
+From 612e6579116e6714417ea21e6c13b0968bb6aac2 Mon Sep 17 00:00:00 2001
+From: Nagaraju <nmekala@xilinx.com>
+Date: Wed, 8 May 2019 14:12:03 +0530
+Subject: [PATCH 62/62] [Patch, microblaze]: Add TARGET_OPTION_OPTIMIZATION and
+ disable fivopts by default
+
+Added TARGET_OPTION_OPTIMIZATIONS and Turn off ivopts by default.
+
+ * gcc/common/config/microblaze/microblaze-common.c
+ (microblaze_option_optimization_table): Disable fivopts by default.
+
+Signed-off-by: Nagaraju Mekala <nmekala@xilinx.com>
+---
+ gcc/common/config/microblaze/microblaze-common.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c
+index fe45f2e..2873d4b 100644
+--- a/gcc/common/config/microblaze/microblaze-common.c
++++ b/gcc/common/config/microblaze/microblaze-common.c
+@@ -27,13 +27,15 @@
+ /* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */
+ static const struct default_options microblaze_option_optimization_table[] =
+ {
+- /* Turn off ivopts by default. It messes up cse. */
++ /* Turn off ivopts by default. It messes up cse.
++ { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 }, */
+ { OPT_LEVELS_ALL, OPT_fivopts, NULL, 0 },
+- { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 },
+ { OPT_LEVELS_NONE, 0, NULL, 0 }
+ };
+
+ #undef TARGET_DEFAULT_TARGET_FLAGS
+ #define TARGET_DEFAULT_TARGET_FLAGS TARGET_DEFAULT
+
++#undef TARGET_OPTION_OPTIMIZATION_TABLE
++#define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table
+ struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_7.%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_7.%.bbappend
deleted file mode 100644
index 9770af611..000000000
--- a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_7.%.bbappend
+++ /dev/null
@@ -1,38 +0,0 @@
-# Add MicroBlaze Patches (only when using MicroBlaze)
-FILESEXTRAPATHS_append_microblaze := "${THISDIR}/gcc-7:"
-SRC_URI_append_microblaze = " \
- file://0001-Revert.patch \
- file://0002-microblaze.md-Improve-adddi3-and-subdi3-insn-definit.patch \
- file://0003-PR-target-83013.patch \
- file://0004-dejagnu-static-testing-on-qemu-suppress-warnings.patch \
- file://0005-Testsuite-explicitly-add-fivopts-for-tests-that-depe.patch \
- file://0006-Add-MicroBlaze-to-target-supports-for-atomic-builtin.patch \
- file://0007-Update-MicroBlaze-strings-test-for-new-scan-assembly.patch \
- file://0008-Allow-MicroBlaze-.weakext-pattern-in-testsuite.patch \
- file://0009-Add-MicroBlaze-to-check_profiling_available-Testsuit.patch \
- file://0010-Fix-atomic-side-effects.patch \
- file://0011-Fix-atomic-boolean-return-value.patch \
- file://0012-Fix-the-Microblaze-crash-with-msmall-divides-flag.patch \
- file://0013-Add-MicroBlaze-ashrsi_3_with_size_opt.patch \
- file://0014-Removed-MicroBlaze-moddi3-routinue.patch \
- file://0015-MicroBlaze-fixed-missing-save-of-r18-in-fast_interru.patch \
- file://0016-MicroBlaze-use-bralid-for-profiler-calls.patch \
- file://0017-Disable-fivopts-by-default-Turn-off-ivopts-by-defaul.patch \
- file://0018-Add-INIT_PRIORITY-support-Added-TARGET_ASM_CONSTRUCT.patch \
- file://0019-MicroBlaze-add-optimized-lshrsi3-When-barrel-shifter.patch \
- file://0020-Modified-MicroBlaze-trap-instruction.patch \
- file://0021-Reducing-Stack-space-for-arguments-Currently-in-Micr.patch \
- file://0022-Inline-Expansion-of-fsqrt-builtin.patch \
- file://0023-Update-MicroBlaze-ashlsi3-movsf-patterns.patch \
- file://0024-8-stage-pipeline-for-microblaze.patch \
- file://0025-MicroBlaze-correct-the-const-high-double-immediate-v.patch \
- file://0026-Fix-internal-compiler-error-with-msmall-divides.patch \
- file://0027-Fix-the-calculation-of-high-word-in-a-long-long-64-b.patch \
- file://0028-Add-new-bit-field-instructions.patch \
- file://0029-Fix-bug-in-MB-version-calculation.patch \
- file://0030-MicroBlaze-fixing-the-bug-in-the-bit-field-instructi.patch \
- file://0031-Fixing-the-issue-with-MicroBlaze-builtin_alloc.patch \
- file://0032-MicroBlaze-remove-bitfield-instructions-macros.patch \
- file://0033-MicroBlaze-fix-signed-bit-fields-with-bit-field-inst.patch \
- "
-
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_8.%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_8.%.bbappend
new file mode 100644
index 000000000..d6a819126
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-microblaze/gcc/gcc-source_8.%.bbappend
@@ -0,0 +1,65 @@
+# Add MicroBlaze Patches (only when using MicroBlaze)
+FILESEXTRAPATHS_append_microblaze := "${THISDIR}/gcc-8:"
+SRC_URI_append_microblaze = " \
+file://0001-LOCAL-Testsuite-builtins-tests-require-fpic.patch \
+ file://0002-LOCAL-Quick-fail-g-.dg-opt-memcpy1.C.patch \
+ file://0003-LOCAL-Testsuite-explicitly-add-fivopts-for-tests-tha.patch \
+ file://0004-LOCAL-For-dejagnu-static-testing-on-qemu-suppress-wa.patch \
+ file://0005-Patch-testsuite-Add-MicroBlaze-to-target-supports-fo.patch \
+ file://0006-Patch-testsuite-Update-MicroBlaze-strings-test.patch \
+ file://0007-Patch-testsuite-Allow-MicroBlaze-.weakext-pattern-in.patch \
+ file://0008-Patch-testsuite-Add-MicroBlaze-to-check_profiling_av.patch \
+ file://0009-Patch-microblaze-Fix-atomic-side-effects.patch \
+ file://0010-Patch-microblaze-Fix-atomic-boolean-return-value.patch \
+ file://0011-Patch-microblaze-Fix-the-Microblaze-crash-with-msmal.patch \
+ file://0012-Patch-microblaze-Added-ashrsi3_with_size_opt.patch \
+ file://0013-Patch-microblaze-Fixed-missing-save-of-r18-in-fast_i.patch \
+ file://0014-Patch-microblaze-Use-bralid-for-profiler-calls.patch \
+ file://0015-Patch-microblaze-Disable-fivopts-by-default.patch \
+ file://0016-Patch-microblaze-Removed-moddi3-routinue.patch \
+ file://0017-Patch-microblaze-Add-INIT_PRIORITY-support.patch \
+ file://0018-Patch-microblaze-Add-optimized-lshrsi3.patch \
+ file://0019-Patch-microblaze-Modified-trap-instruction.patch \
+ file://0020-Patch-microblaze-Reducing-Stack-space-for-arguments.patch \
+ file://0021-Patch-microblaze-Add-cbranchsi4_reg.patch \
+ file://0022-Patch-microblaze-Inline-Expansion-of-fsqrt-builtin.patch \
+ file://0023-Patch-OPT-Update-heuristics-for-loop-invariant-for-a.patch \
+ file://0024-PATCH-microblaze.md-Improve-adddi3-and-subdi3-insn-d.patch \
+ file://0025-Patch-microblaze-Update-ashlsi3-movsf-patterns.patch \
+ file://0026-Patch-microblaze-8-stage-pipeline-for-microblaze.patch \
+ file://0027-Patch-rtl-Optimization-Better-register-pressure-esti.patch \
+ file://0028-Patch-microblaze-Correct-the-const-high-double-immed.patch \
+ file://0029-Fix-microblaze-Fix-internal-compiler-error-with-msma.patch \
+ file://0030-patch-microblaze-Fix-the-calculation-of-high-word-in.patch \
+ file://0031-Patch-microblaze-Add-new-bit-field-instructions.patch \
+ file://0032-Patch-microblaze-Fix-bug-in-MB-version-calculation.patch \
+ file://0033-Fixing-the-bug-in-the-bit-field-instruction.patch \
+ file://0034-Patch-microblaze-Macros-used-in-Xilinx-internal-patc.patch \
+ file://0035-Fixing-the-issue-with-the-builtin_alloc.patch \
+ file://0036-Patch-Microblaze-reverting-the-cost-check-before-pro.patch \
+ file://0037-Patch-Microblaze-update-in-constraints-for-bitfield-.patch \
+ file://0038-Patch-Microblaze-Removed-fsqrt-generation-for-double.patch \
+ file://0039-Intial-commit-of-64-bit-Microblaze.patch \
+ file://0040-Added-load-store-pattern-movdi-and-also-adding-missi.patch \
+ file://0041-Intial-commit-for-64bit-MB-sources.patch \
+ file://0042-re-arrangement-of-the-compare-branches.patch \
+ file://0043-Patch-Microblaze-previous-commit-broke-the-handling-.patch \
+ file://0044-Patch-Microblaze-Support-of-multilibs-with-m64.patch \
+ file://0045-Fixed-issues-like.patch \
+ file://0046-Fixed-below-issues.patch \
+ file://0047-Added-double-arith-instructions.patch \
+ file://0048-Fixed-the-issue-in-the-delay-slot-with-swap-instruct.patch \
+ file://0049-Fixed-the-load-store-issue-with-the-32bit-arith-libr.patch \
+ file://0050-extending-the-Dwarf-support-to-64bit-Microblaze.patch \
+ file://0051-fixing-the-typo-errors-in-umodsi3-file.patch \
+ file://0052-fixing-the-32bit-LTO-related-issue9-1014024.patch \
+ file://0053-Fixed-the-missing-stack-adjustment-in-prologue-of-mo.patch \
+ file://0054-Patch-Microblaze-corrected-SPN-for-dlong-instruction.patch \
+ file://0055-fixing-the-long-long-long-mingw-toolchain-issue.patch \
+ file://0057-Fix-the-MB-64-bug-of-handling-QI-objects.patch \
+ file://0058-Patch-Microblaze-We-will-check-the-possibility-of-pe.patch \
+ file://0059-Reverting-the-patch-as-kernel-boot-is-not-working-wi.patch \
+ file://0060-Patch-MicroBlaze-fixed-typos-in-mul-div-and-mod-asse.patch \
+ file://0061-Author-Nagaraju-nmekala-xilinx.com.patch \
+ file://0055-microblaze_linker_script_xilinx_ld.patch \
+"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb
index 8d1380f05..3c13c6973 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/kernel-module-vcu.bb
@@ -5,14 +5,14 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
XILINX_VCU_VERSION = "1.0.0"
-XILINX_RELEASE_VERSION = "2018.3"
+XILINX_RELEASE_VERSION = "v2019.1"
PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
S = "${WORKDIR}/git"
-BRANCH ?= "master"
+BRANCH ?= "master-rel-2019.1"
REPO ?= "git://github.com/xilinx/vcu-modules.git;protocol=https"
-SRCREV ?= "f6a9093ec32ee97a2df065aee8b8e676c2024f01"
+SRCREV ?= "13a8e5b3f614d94081481a808aa8d4bd00b26d76"
BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
SRC_URI = "${REPO};${BRANCHARG}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb
index 18fa032cc..25bbffe94 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libomxil-xlnx.bb
@@ -4,12 +4,12 @@ LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
XILINX_VCU_VERSION = "1.0.0"
-XILINX_RELEASE_VERSION = "2018.3"
+XILINX_RELEASE_VERSION = "v2019.1"
PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
-BRANCH ?= "master"
+BRANCH ?= "master-rel-2019.1"
REPO ?= "git://github.com/xilinx/vcu-omx-il.git;protocol=https"
-SRCREV ?= "cf4b031ac88c7889e4f29ac7fc8ca7592bf12144"
+SRCREV ?= "b93cec02cd5da223fa965073dce130a08ffd6419"
BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
SRC_URI = "${REPO};${BRANCHARG}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb
index b068aa81f..8f8c0ef2d 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/libvcu-xlnx.bb
@@ -4,12 +4,12 @@ LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
XILINX_VCU_VERSION = "1.0.0"
-XILINX_RELEASE_VERSION = "2018.3"
+XILINX_RELEASE_VERSION = "v2019.1"
PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
-BRANCH ?= "master"
+BRANCH ?= "master-rel-2019.1"
REPO ?= "git://github.com/xilinx/vcu-ctrl-sw.git;protocol=https"
-SRCREV ?= "1cb5281d319ea4f3c0eb5514864c80d95e78fe6e"
+SRCREV ?= "32b7be620987283f62e4469185da81dddad1071c"
BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
SRC_URI = "${REPO};${BRANCHARG}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb
index da447fc7a..28bd0d37a 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-multimedia/vcu/vcu-firmware.bb
@@ -4,14 +4,14 @@ LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENSE;md5=63b45903a9a50120df488435f03cf498"
XILINX_VCU_VERSION = "1.0.0"
-XILINX_RELEASE_VERSION = "2018.3"
+XILINX_RELEASE_VERSION = "v2019.1"
PV = "${XILINX_VCU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
S = "${WORKDIR}/git"
-BRANCH ?= "master"
+BRANCH ?= "master-rel-2019.1"
REPO ?= "git://github.com/xilinx/vcu-firmware.git;protocol=https"
-SRCREV ?= "d01951905e1aedb179d838a6b86016f34e2f4966"
+SRCREV ?= "4078b74d16e5eccca5ae3132c3877d3aff7fb168"
BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
SRC_URI = "${REPO};${BRANCHARG}"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/ocl-icd/ocl-icd_git.bb b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/ocl-icd/ocl-icd_git.bb
new file mode 100644
index 000000000..d14ec53e3
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/ocl-icd/ocl-icd_git.bb
@@ -0,0 +1,19 @@
+SUMMARY = "OpenCL ICD library"
+DESCRIPTION = "Open Source alternative to vendor specific OpenCL ICD loaders."
+
+# The LICENSE is BSD 2-Clause "Simplified" License
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=232257bbf7320320725ca9529d3782ab"
+
+SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https"
+
+PV = "2.2.12+git${SRCPV}"
+SRCREV = "af79aebe4649f30dbd711c1bf6fc661eac6e5f01"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+DEPENDS = "ruby-native"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-clhpp/opencl-clhpp_git.bb b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-clhpp/opencl-clhpp_git.bb
new file mode 100644
index 000000000..9af4442da
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-clhpp/opencl-clhpp_git.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Host API C++ bindings"
+DESCRIPTION = "OpenCL compute API headers C++ bindings from Khronos Group"
+LICENSE = "Khronos"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7e4a01f0c56b39419aa287361a82df00"
+SECTION = "base"
+
+SRC_URI = "git://github.com/KhronosGroup/OpenCL-CLHPP.git;protocol=https"
+
+PV = "2.0.10+git${SRCPV}"
+SRCREV = "acd6972bc65845aa28bd9f670dec84cbf8b760f3"
+
+S = "${WORKDIR}/git"
+
+do_configure () {
+:
+}
+
+# Only cl2.hpp is necessary.
+# Base on the repo, Directly input_cl2.hpp copied as cl2.hpp
+do_compile () {
+:
+}
+
+do_install () {
+ install -d ${D}${includedir}/CL/
+ install -m 0644 ${S}/input_cl2.hpp ${D}${includedir}/CL/cl2.hpp
+}
+
+ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-headers/opencl-headers_%.bbappend b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-headers/opencl-headers_%.bbappend
new file mode 100644
index 000000000..afe3e9cda
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/opencl-headers/opencl-headers_%.bbappend
@@ -0,0 +1 @@
+ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb
new file mode 100644
index 000000000..4bb41b7d7
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/xrt/xrt_git.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Xilinx Runtime(XRT) libraries"
+DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
+
+LICENSE = "GPLv2 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=fa343562af4b9b922b8d7fe7b0b6d000 \
+ file://runtime_src/driver/xclng/drm/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://runtime_src/driver/xclng/xrt/user_gem/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+ file://runtime_src/driver/xclng/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87"
+
+SRC_URI = "git://github.com/Xilinx/XRT.git;protocol=https;nobranch=1"
+
+PV = "2.2.0+git${SRCPV}"
+SRCREV = "da87ac894a037d7e11c0496361458efed4bab438"
+
+S = "${WORKDIR}/git/src"
+
+inherit cmake
+
+BBCLASSEXTEND = "native nativesdk"
+
+# util-linux is for libuuid-dev.
+DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native"
+RDEPENDS_${PN} = "bash ocl-icd boost-system boost-filesystem"
+
+EXTRA_OECMAKE += " \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_EXPORT_COMPILE_COMANDS=ON \
+ "
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-xrt/zocl/zocl_git.bb b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/zocl/zocl_git.bb
new file mode 100644
index 000000000..b47f45fde
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-xrt/zocl/zocl_git.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Xilinx Runtime(XRT) driver module"
+DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/Xilinx/XRT.git;protocol=https"
+
+PV = "2.2.0+git${SRCPV}"
+SRCREV = "da87ac894a037d7e11c0496361458efed4bab438"
+
+S = "${WORKDIR}/git/src/runtime_src/driver/zynq/drm/zocl"
+
+inherit module
diff --git a/meta-xilinx/meta-xilinx-contrib/conf/layer.conf b/meta-xilinx/meta-xilinx-contrib/conf/layer.conf
index 58c2a46bc..942925eb4 100644
--- a/meta-xilinx/meta-xilinx-contrib/conf/layer.conf
+++ b/meta-xilinx/meta-xilinx-contrib/conf/layer.conf
@@ -12,5 +12,5 @@ BBFILE_PRIORITY_xilinx-contrib = "5"
LAYERDEPENDS_xilinx-contrib = "core"
LAYERDEPENDS_xilinx-contrib = "xilinx"
-LAYERSERIES_COMPAT_xilinx-contrib = "sumo thud"
+LAYERSERIES_COMPAT_xilinx-contrib = "warrior"
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch
index b8ba70ea2..660bc2182 100644
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch
+++ b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch
@@ -1,4 +1,4 @@
-From c1bf9e8c50baa237b514715dcb9c8fd367694c93 Mon Sep 17 00:00:00 2001
+From 21cc8144efdaa3cd8dbd7279f87b14fa3432fae4 Mon Sep 17 00:00:00 2001
From: Jason Wu <jason.wu.misc@gmail.com>
Date: Sun, 10 Apr 2016 13:14:13 +1000
Subject: [PATCH 1/3] drm: xilinx: Add encoder for Digilent boards
@@ -21,7 +21,7 @@ Signed-off-by: Jason Wu <jason.wu.misc@gmail.com>
diff --git a/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt b/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt
new file mode 100644
-index 0000000000..242b24e482
+index 0000000..242b24e
--- /dev/null
+++ b/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt
@@ -0,0 +1,23 @@
@@ -49,21 +49,24 @@ index 0000000000..242b24e482
+ dglnt,edid-i2c = <&i2c1>;
+ };
diff --git a/drivers/gpu/drm/xilinx/Kconfig b/drivers/gpu/drm/xilinx/Kconfig
-index 12b548c2a9..c3e2562e53 100644
+index 57e18a9..d9ecff2 100644
--- a/drivers/gpu/drm/xilinx/Kconfig
+++ b/drivers/gpu/drm/xilinx/Kconfig
-@@ -57,3 +57,9 @@ config DRM_XILINX_SDI
- depends on DRM_XILINX
+@@ -33,6 +33,12 @@ config DRM_XILINX_DP_SUB
help
DRM driver for Xilinx Display Port Subsystem.
-+
+
+config DRM_DIGILENT_ENCODER
+ tristate "Digilent VGA/HDMI DRM Encoder Driver"
+ depends on DRM_XILINX
+ help
+ DRM slave encoder for Video-out on Digilent boards.
++
+ config DRM_XILINX_DP_SUB_DEBUG_FS
+ bool "Xilinx DRM DPSUB debugfs"
+ depends on DEBUG_FS && DRM_XILINX_DP_SUB
diff --git a/drivers/gpu/drm/xilinx/Makefile b/drivers/gpu/drm/xilinx/Makefile
-index 19bc1541ca..c2717e40ea 100644
+index 19bc154..c2717e40 100644
--- a/drivers/gpu/drm/xilinx/Makefile
+++ b/drivers/gpu/drm/xilinx/Makefile
@@ -7,6 +7,7 @@ xilinx_drm-y := xilinx_drm_crtc.o xilinx_drm_connector.o xilinx_drm_drv.o \
@@ -76,7 +79,7 @@ index 19bc1541ca..c2717e40ea 100644
obj-$(CONFIG_DRM_XILINX_DP_SUB) += xilinx_drm_dp_sub.o
diff --git a/drivers/gpu/drm/xilinx/dglnt_encoder.c b/drivers/gpu/drm/xilinx/dglnt_encoder.c
new file mode 100644
-index 0000000000..26a23986f9
+index 0000000..cb9fc7d
--- /dev/null
+++ b/drivers/gpu/drm/xilinx/dglnt_encoder.c
@@ -0,0 +1,217 @@
@@ -177,7 +180,7 @@ index 0000000000..26a23986f9
+
+ if (dglnt->i2c_present) {
+ edid = drm_get_edid(connector, dglnt->i2c_bus);
-+ drm_mode_connector_update_edid_property(connector, edid);
++ drm_connector_update_edid_property(connector, edid);
+ if (edid) {
+ num_modes = drm_add_edid_modes(connector, edid);
+ kfree(edid);
@@ -298,5 +301,5 @@ index 0000000000..26a23986f9
+MODULE_DESCRIPTION("DRM slave encoder for Video-out on Digilent boards");
+MODULE_LICENSE("GPL v2");
--
-2.14.2
+2.7.4
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch
index 9b6229db0..9b6229db0 100644
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch
+++ b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch
index a98d84c55..a98d84c55 100644
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch
+++ b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0004-minized-wifi-bluetooth.cfg b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0004-minized-wifi-bluetooth.cfg
index f71e53abb..f71e53abb 100644
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2018.3/0004-minized-wifi-bluetooth.cfg
+++ b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2019.1/0004-minized-wifi-bluetooth.cfg
diff --git a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2018.3.bbappend b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2019.1.bbappend
index 535fbb264..535fbb264 100644
--- a/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2018.3.bbappend
+++ b/meta-xilinx/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2019.1.bbappend
diff --git a/meta-xilinx/meta-xilinx-standalone/conf/layer.conf b/meta-xilinx/meta-xilinx-standalone/conf/layer.conf
index 7d9cc5988..16bfb74ae 100644
--- a/meta-xilinx/meta-xilinx-standalone/conf/layer.conf
+++ b/meta-xilinx/meta-xilinx-standalone/conf/layer.conf
@@ -11,4 +11,4 @@ BBFILE_PRIORITY_xilinx-standalone = "5"
LAYERDEPENDS_xilinx-standalone = "core xilinx"
-LAYERSERIES_COMPAT_xilinx-standalone = "thud"
+LAYERSERIES_COMPAT_xilinx-standalone = "warrior"
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2018.3.bb b/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2018.3.bb
deleted file mode 100644
index 3432c1f2d..000000000
--- a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2018.3.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-inherit deploy
-
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://../../../../license.txt;md5=71602ce1bc2917a9be07ceee6fab6711"
-
-XILINX_RELEASE_VERSION = "v2018.3"
-SRCREV = "56f3da2afbc817988c9a45b0b26a7fef2ac91706"
-PV = "${XILINX_RELEASE_VERSION}+git${SRCPV}"
-
-SRC_URI = "git://github.com/Xilinx/embeddedsw.git;protocol=https;nobranch=1"
-
-COMPATIBLE_HOST = "microblaze.*-elf"
-COMPATIBLE_MACHINE = "^$"
-COMPATIBLE_MACHINE_zynqmp-pmu = "zynqmp-pmu"
-
-
-S = "${WORKDIR}/git/lib/sw_apps/zynqmp_pmufw/src"
-
-# The makefile does not handle parallelization
-PARALLEL_MAKE = ""
-
-do_configure() {
- # manually do the copy_bsp step first, so as to be able to fix up use of
- # mb-* commands
- ${S}/../misc/copy_bsp.sh
-
- # fix xilfpga to include the zynqmp backend
- mv ${S}/../misc/zynqmp_pmufw_bsp/psu_pmu_0/libsrc/xilfpga/src/interface/zynqmp/* ${S}/../misc/zynqmp_pmufw_bsp/psu_pmu_0/libsrc/xilfpga/src
-}
-
-COMPILER = "${CC}"
-COMPILER_FLAGS = "-O2 -c"
-EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
-ARCHIVER = "${AR}"
-
-BSP_DIR ?= "${S}/../misc/zynqmp_pmufw_bsp"
-BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_pmu_0/libsrc"
-
-def bsp_make_vars(d):
- s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"]
- return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
-
-do_compile() {
- # the Makefile in ${S}/../misc/Makefile, does not handle CC, AR, AS, etc
- # properly. So do its job manually. Preparing the includes first, then libs.
- for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
- done
- for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
- oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
- done
-
- # --build-id=none is required due to linker script not defining a location for it.
- # Again, recipe-systoot include is necessary
- oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
-}
-
-do_install() {
- :
-}
-
-PMU_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
-PMU_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME"
-
-do_deploy() {
- install -Dm 0644 ${B}/executable.elf ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf
- ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
- ${OBJCOPY} -O binary ${B}/executable.elf ${B}/executable.bin
- install -m 0644 ${B}/executable.bin ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin
- ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
-}
-
-addtask deploy before do_build after do_install
-
diff --git a/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2019.1.bb b/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2019.1.bb
new file mode 100644
index 000000000..030de0540
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-standalone/recipes-standalone/pmu-firmware/pmu-firmware_2019.1.bb
@@ -0,0 +1,71 @@
+inherit deploy
+
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://../../../../license.txt;md5=e9b6d01d45faccfbf05d8caea53f0a35"
+
+XILINX_RELEASE_VERSION = "v2019.1"
+SRCREV = "26c14d9861010a0e3a55c73fb79efdb816eb42ca"
+PV = "${XILINX_RELEASE_VERSION}+git${SRCPV}"
+
+SRC_URI = "git://github.com/Xilinx/embeddedsw.git;protocol=https;nobranch=1"
+
+COMPATIBLE_HOST = "microblaze.*-elf"
+COMPATIBLE_MACHINE = "^$"
+COMPATIBLE_MACHINE_zynqmp-pmu = "zynqmp-pmu"
+
+
+S = "${WORKDIR}/git/lib/sw_apps/zynqmp_pmufw/src"
+
+# The makefile does not handle parallelization
+PARALLEL_MAKE = ""
+
+do_configure() {
+ # manually do the copy_bsp step first, so as to be able to fix up use of
+ # mb-* commands
+ ${S}/../misc/copy_bsp.sh
+}
+
+COMPILER = "${CC}"
+COMPILER_FLAGS = "-O2 -c"
+EXTRA_COMPILER_FLAGS = "-g -Wall -Wextra -Os -flto -ffat-lto-objects"
+ARCHIVER = "${AR}"
+
+BSP_DIR ?= "${S}/../misc/zynqmp_pmufw_bsp"
+BSP_TARGETS_DIR ?= "${BSP_DIR}/psu_pmu_0/libsrc"
+
+def bsp_make_vars(d):
+ s = ["COMPILER", "CC", "COMPILER_FLAGS", "EXTRA_COMPILER_FLAGS", "ARCHIVER", "AR", "AS"]
+ return " ".join(["\"%s=%s\"" % (v, d.getVar(v)) for v in s])
+
+do_compile() {
+ # the Makefile in ${S}/../misc/Makefile, does not handle CC, AR, AS, etc
+ # properly. So do its job manually. Preparing the includes first, then libs.
+ for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
+ oe_runmake -C $(dirname $i) -s include ${@bsp_make_vars(d)}
+ done
+ for i in $(ls ${BSP_TARGETS_DIR}/*/src/Makefile); do
+ oe_runmake -C $(dirname $i) -s libs ${@bsp_make_vars(d)}
+ done
+
+ # --build-id=none is required due to linker script not defining a location for it.
+ # Again, recipe-systoot include is necessary
+ oe_runmake CC="${CC}" CC_FLAGS="-MMD -MP -Wl,--build-id=none -I${STAGING_DIR_TARGET}/usr/include"
+}
+
+do_install() {
+ :
+}
+
+PMU_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
+PMU_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME"
+
+do_deploy() {
+ install -Dm 0644 ${B}/executable.elf ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf
+ ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
+ ${OBJCOPY} -O binary ${B}/executable.elf ${B}/executable.bin
+ install -m 0644 ${B}/executable.bin ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin
+ ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
+}
+
+addtask deploy before do_build after do_install
+
diff --git a/meta-yadro/conf/layer.conf b/meta-yadro/conf/layer.conf
index 7feac4c21..58ac541cb 100644
--- a/meta-yadro/conf/layer.conf
+++ b/meta-yadro/conf/layer.conf
@@ -6,6 +6,3 @@ BBFILE_PATTERN_yadro-layer = "^${LAYERDIR}/"
BBFILE_PATTERN_IGNORE_EMPTY_yadro-layer = "1"
LAYERSERIES_COMPAT_yadro-layer = "thud warrior"
-
-# Provide a variable that points the base of the yadro layer.
-YADROBASE = '${@os.path.normpath("${LAYERDIR}/")}'
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control.bb b/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control.bb
index 854795be3..1865e61e8 100644
--- a/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control.bb
+++ b/meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control.bb
@@ -1,7 +1,7 @@
SUMMARY = "Nicole AVSBus control"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${YADROBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit obmc-phosphor-systemd
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config.bb b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config.bb
new file mode 100644
index 000000000..26cad61da
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config.bb
@@ -0,0 +1,35 @@
+SUMMARY = "YAML configuration for Nicole"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit allarch
+
+SRC_URI = " \
+ file://nicole-ipmi-fru.yaml \
+ file://nicole-ipmi-fru-properties.yaml \
+ file://nicole-ipmi-inventory-sensors.yaml \
+ file://nicole-ipmi-sensors.yaml \
+ "
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -m 0644 -D nicole-ipmi-fru-properties.yaml \
+ ${D}${datadir}/${BPN}/ipmi-extra-properties.yaml
+ install -m 0644 -D nicole-ipmi-fru.yaml \
+ ${D}${datadir}/${BPN}/ipmi-fru-read.yaml
+ install -m 0644 -D nicole-ipmi-inventory-sensors.yaml \
+ ${D}${datadir}/${BPN}/ipmi-inventory-sensors.yaml
+ install -m 0644 -D nicole-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-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-fru-properties.yaml b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-fru-properties.yaml
new file mode 100644
index 000000000..ba2c91818
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-fru-properties.yaml
@@ -0,0 +1,45 @@
+/system: &DEFAULTS
+ 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:
+ <<: *DEFAULTS
+/system/chassis/motherboard/cpu0:
+ <<: *DEFAULTS
+/system/chassis/motherboard/cpu1:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm0:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm1:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm2:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm3:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm4:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm5:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm6:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm7:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm8:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm9:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm10:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm11:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm12:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm13:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm14:
+ <<: *DEFAULTS
+/system/chassis/motherboard/dimm15:
+ <<: *DEFAULTS
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-fru.yaml b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-fru.yaml
new file mode 100644
index 000000000..9d0d95d58
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-fru.yaml
@@ -0,0 +1,165 @@
+1:
+ /system/chassis/motherboard/cpu0: &CPU_DEFAULTS
+ 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:
+ <<: *CPU_DEFAULTS
+ entityInstance: 2
+3:
+ /system:
+ entityID: 7
+ entityInstance: 1
+ interfaces:
+ xyz.openbmc_project.Inventory.Decorator.Asset:
+ Model:
+ IPMIFruProperty: Part Number
+ IPMIFruSection: Chassis
+ SerialNumber:
+ IPMIFruProperty: Serial Number
+ IPMIFruSection: Chassis
+ /system/chassis/motherboard:
+ 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: &DIMM_DEFAULTS
+ 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:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 2
+6:
+ /system/chassis/motherboard/dimm2:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 3
+7:
+ /system/chassis/motherboard/dimm3:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 4
+8:
+ /system/chassis/motherboard/dimm4:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 5
+9:
+ /system/chassis/motherboard/dimm5:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 6
+10:
+ /system/chassis/motherboard/dimm6:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 7
+11:
+ /system/chassis/motherboard/dimm7:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 8
+12:
+ /system/chassis/motherboard/dimm8:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 9
+13:
+ /system/chassis/motherboard/dimm9:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 10
+14:
+ /system/chassis/motherboard/dimm10:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 11
+15:
+ /system/chassis/motherboard/dimm11:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 12
+16:
+ /system/chassis/motherboard/dimm12:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 13
+17:
+ /system/chassis/motherboard/dimm13:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 14
+18:
+ /system/chassis/motherboard/dimm14:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 15
+19:
+ /system/chassis/motherboard/dimm15:
+ <<: *DIMM_DEFAULTS
+ entityInstance: 16
+28:
+ /system/chassis/motherboard/opfw:
+ entityID: 34
+ entityInstance: 0
+ interfaces:
+ xyz.openbmc_project.Inventory.Item:
+ PrettyName:
+ IPMIFruProperty: Name
+ IPMIFruSection: Product
+ xyz.openbmc_project.Inventory.Decorator.Revision:
+ Version:
+ IPMIFruProperty: Version
+ IPMIFruSection: Product
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-inventory-sensors.yaml b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-inventory-sensors.yaml
new file mode 100644
index 000000000..5f96f87c1
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-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-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-sensors.yaml b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-sensors.yaml
new file mode 100644
index 000000000..2c056f9a1
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/configuration/nicole-yaml-config/nicole-ipmi-sensors.yaml
@@ -0,0 +1,741 @@
+2:
+ 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
+3: &OCC_DEFAULTS
+ 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
+4:
+ <<: *OCC_DEFAULTS
+ entityInstance: 2
+ path: /org/open_power/control/occ1
+8: &CPU_DEFAULTS
+ 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/cpu0
+ readingType: assertion
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 111
+ sensorType: 7
+ serviceInterface: xyz.openbmc_project.Inventory.Manager
+9:
+ <<: *CPU_DEFAULTS
+ entityInstance: 2
+ path: /system/chassis/motherboard/cpu1
+11: &DIMM_FUNC_DEFAULTS
+ 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
+12:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 2
+ path: /system/chassis/motherboard/dimm1
+13:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 3
+ path: /system/chassis/motherboard/dimm2
+14:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 4
+ path: /system/chassis/motherboard/dimm3
+15:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 5
+ path: /system/chassis/motherboard/dimm4
+16:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 6
+ path: /system/chassis/motherboard/dimm5
+17:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 7
+ path: /system/chassis/motherboard/dimm6
+18:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 8
+ path: /system/chassis/motherboard/dimm7
+19:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 9
+ path: /system/chassis/motherboard/dimm8
+20:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 10
+ path: /system/chassis/motherboard/dimm9
+21:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 11
+ path: /system/chassis/motherboard/dimm10
+22:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 12
+ path: /system/chassis/motherboard/dimm11
+23:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 13
+ path: /system/chassis/motherboard/dimm12
+24:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 14
+ path: /system/chassis/motherboard/dimm13
+25:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 15
+ path: /system/chassis/motherboard/dimm14
+26:
+ <<: *DIMM_FUNC_DEFAULTS
+ entityInstance: 16
+ path: /system/chassis/motherboard/dimm15
+27: &DIMM_TEMP_DEFAULTS
+ bExp: 0
+ entityID: 32
+ entityInstance: 17
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 5
+ mutability: Mutability::Write|Mutability::Read
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/temperature/dimm0_temp
+ rExp: -1
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+28:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 18
+ path: /xyz/openbmc_project/sensors/temperature/dimm1_temp
+29:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 25
+ path: /xyz/openbmc_project/sensors/temperature/dimm2_temp
+30:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 26
+ path: /xyz/openbmc_project/sensors/temperature/dimm3_temp
+31:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 27
+ path: /xyz/openbmc_project/sensors/temperature/dimm4_temp
+32:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 28
+ path: /xyz/openbmc_project/sensors/temperature/dimm5_temp
+33:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 29
+ path: /xyz/openbmc_project/sensors/temperature/dimm6_temp
+34:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 30
+ path: /xyz/openbmc_project/sensors/temperature/dimm7_temp
+35:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 31
+ path: /xyz/openbmc_project/sensors/temperature/dimm8_temp
+36:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 32
+ path: /xyz/openbmc_project/sensors/temperature/dimm9_temp
+37:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 19
+ path: /xyz/openbmc_project/sensors/temperature/dimm10_temp
+38:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 20
+ path: /xyz/openbmc_project/sensors/temperature/dimm11_temp
+39:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 21
+ path: /xyz/openbmc_project/sensors/temperature/dimm12_temp
+40:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 22
+ path: /xyz/openbmc_project/sensors/temperature/dimm13_temp
+41:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 23
+ path: /xyz/openbmc_project/sensors/temperature/dimm14_temp
+42:
+ <<: *DIMM_TEMP_DEFAULTS
+ entityInstance: 24
+ path: /xyz/openbmc_project/sensors/temperature/dimm15_temp
+43: &CORE_FUNC_DEFAULTS
+ 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
+44:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 2
+ path: /system/chassis/motherboard/cpu0/core1
+45:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 3
+ path: /system/chassis/motherboard/cpu0/core2
+46:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 4
+ path: /system/chassis/motherboard/cpu0/core3
+47:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 5
+ path: /system/chassis/motherboard/cpu0/core4
+48:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 6
+ path: /system/chassis/motherboard/cpu0/core5
+49:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 7
+ path: /system/chassis/motherboard/cpu0/core6
+50:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 8
+ path: /system/chassis/motherboard/cpu0/core7
+51:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 9
+ path: /system/chassis/motherboard/cpu0/core8
+52:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 10
+ path: /system/chassis/motherboard/cpu0/core9
+53:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 11
+ path: /system/chassis/motherboard/cpu0/core10
+54:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 12
+ path: /system/chassis/motherboard/cpu0/core11
+55:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 13
+ path: /system/chassis/motherboard/cpu0/core12
+56:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 14
+ path: /system/chassis/motherboard/cpu0/core13
+57:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 15
+ path: /system/chassis/motherboard/cpu0/core14
+58:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 16
+ path: /system/chassis/motherboard/cpu0/core15
+59:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 17
+ path: /system/chassis/motherboard/cpu0/core16
+60:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 18
+ path: /system/chassis/motherboard/cpu0/core17
+61:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 19
+ path: /system/chassis/motherboard/cpu0/core18
+62:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 20
+ path: /system/chassis/motherboard/cpu0/core19
+63:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 21
+ path: /system/chassis/motherboard/cpu0/core20
+64:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 22
+ path: /system/chassis/motherboard/cpu0/core21
+65:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 23
+ path: /system/chassis/motherboard/cpu0/core22
+66:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 24
+ path: /system/chassis/motherboard/cpu0/core23
+67:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 25
+ path: /system/chassis/motherboard/cpu1/core0
+68:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 26
+ path: /system/chassis/motherboard/cpu1/core1
+69:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 27
+ path: /system/chassis/motherboard/cpu1/core2
+70:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 28
+ path: /system/chassis/motherboard/cpu1/core3
+71:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 29
+ path: /system/chassis/motherboard/cpu1/core4
+72:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 30
+ path: /system/chassis/motherboard/cpu1/core5
+73:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 31
+ path: /system/chassis/motherboard/cpu1/core6
+74:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 32
+ path: /system/chassis/motherboard/cpu1/core7
+75:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 33
+ path: /system/chassis/motherboard/cpu1/core8
+76:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 34
+ path: /system/chassis/motherboard/cpu1/core9
+77:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 35
+ path: /system/chassis/motherboard/cpu1/core10
+78:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 36
+ path: /system/chassis/motherboard/cpu1/core11
+79:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 37
+ path: /system/chassis/motherboard/cpu1/core12
+80:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 38
+ path: /system/chassis/motherboard/cpu1/core13
+81:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 39
+ path: /system/chassis/motherboard/cpu1/core14
+82:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 40
+ path: /system/chassis/motherboard/cpu1/core15
+83:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 41
+ path: /system/chassis/motherboard/cpu1/core16
+84:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 42
+ path: /system/chassis/motherboard/cpu1/core17
+85:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 43
+ path: /system/chassis/motherboard/cpu1/core18
+86:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 44
+ path: /system/chassis/motherboard/cpu1/core19
+87:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 45
+ path: /system/chassis/motherboard/cpu1/core20
+88:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 46
+ path: /system/chassis/motherboard/cpu1/core21
+89:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 47
+ path: /system/chassis/motherboard/cpu1/core22
+90:
+ <<: *CORE_FUNC_DEFAULTS
+ entityInstance: 48
+ path: /system/chassis/motherboard/cpu1/core23
+91: &CORE_TEMP_DEFAULTS
+ bExp: 0
+ entityID: 208
+ entityInstance: 49
+ interfaces:
+ xyz.openbmc_project.Sensor.Value:
+ Value:
+ Offsets:
+ 255:
+ type: int64_t
+ multiplierM: 5
+ mutability: Mutability::Write|Mutability::Read
+ offsetB: 0
+ path: /xyz/openbmc_project/sensors/temperature/p0_core0_temp
+ rExp: -1
+ readingType: readingData
+ scale: -3
+ sensorNamePattern: nameLeaf
+ sensorReadingType: 1
+ sensorType: 1
+ serviceInterface: org.freedesktop.DBus.Properties
+ unit: xyz.openbmc_project.Sensor.Value.Unit.DegreesC
+92:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 50
+ path: /xyz/openbmc_project/sensors/temperature/p0_core1_temp
+93:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 51
+ path: /xyz/openbmc_project/sensors/temperature/p0_core2_temp
+94:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 52
+ path: /xyz/openbmc_project/sensors/temperature/p0_core3_temp
+95:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 53
+ path: /xyz/openbmc_project/sensors/temperature/p0_core4_temp
+96:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 54
+ path: /xyz/openbmc_project/sensors/temperature/p0_core5_temp
+97:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 55
+ path: /xyz/openbmc_project/sensors/temperature/p0_core6_temp
+98:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 56
+ path: /xyz/openbmc_project/sensors/temperature/p0_core7_temp
+99:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 57
+ path: /xyz/openbmc_project/sensors/temperature/p0_core8_temp
+100:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 58
+ path: /xyz/openbmc_project/sensors/temperature/p0_core9_temp
+101:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 59
+ path: /xyz/openbmc_project/sensors/temperature/p0_core10_temp
+102:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 60
+ path: /xyz/openbmc_project/sensors/temperature/p0_core11_temp
+103:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 61
+ path: /xyz/openbmc_project/sensors/temperature/p0_core12_temp
+104:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 62
+ path: /xyz/openbmc_project/sensors/temperature/p0_core13_temp
+105:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 63
+ path: /xyz/openbmc_project/sensors/temperature/p0_core14_temp
+106:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 64
+ path: /xyz/openbmc_project/sensors/temperature/p0_core15_temp
+107:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 65
+ path: /xyz/openbmc_project/sensors/temperature/p0_core16_temp
+108:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 66
+ path: /xyz/openbmc_project/sensors/temperature/p0_core17_temp
+109:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 67
+ path: /xyz/openbmc_project/sensors/temperature/p0_core18_temp
+110:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 68
+ path: /xyz/openbmc_project/sensors/temperature/p0_core19_temp
+111:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 69
+ path: /xyz/openbmc_project/sensors/temperature/p0_core20_temp
+112:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 70
+ path: /xyz/openbmc_project/sensors/temperature/p0_core21_temp
+113:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 71
+ path: /xyz/openbmc_project/sensors/temperature/p0_core22_temp
+114:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 72
+ path: /xyz/openbmc_project/sensors/temperature/p0_core23_temp
+115:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 73
+ path: /xyz/openbmc_project/sensors/temperature/p1_core0_temp
+116:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 74
+ path: /xyz/openbmc_project/sensors/temperature/p1_core1_temp
+117:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 75
+ path: /xyz/openbmc_project/sensors/temperature/p1_core2_temp
+118:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 76
+ path: /xyz/openbmc_project/sensors/temperature/p1_core3_temp
+119:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 77
+ path: /xyz/openbmc_project/sensors/temperature/p1_core4_temp
+120:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 78
+ path: /xyz/openbmc_project/sensors/temperature/p1_core5_temp
+121:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 79
+ path: /xyz/openbmc_project/sensors/temperature/p1_core6_temp
+122:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 80
+ path: /xyz/openbmc_project/sensors/temperature/p1_core7_temp
+123:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 81
+ path: /xyz/openbmc_project/sensors/temperature/p1_core8_temp
+124:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 82
+ path: /xyz/openbmc_project/sensors/temperature/p1_core9_temp
+125:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 83
+ path: /xyz/openbmc_project/sensors/temperature/p1_core10_temp
+126:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 84
+ path: /xyz/openbmc_project/sensors/temperature/p1_core11_temp
+127:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 85
+ path: /xyz/openbmc_project/sensors/temperature/p1_core12_temp
+128:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 86
+ path: /xyz/openbmc_project/sensors/temperature/p1_core13_temp
+129:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 87
+ path: /xyz/openbmc_project/sensors/temperature/p1_core14_temp
+130:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 88
+ path: /xyz/openbmc_project/sensors/temperature/p1_core15_temp
+131:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 89
+ path: /xyz/openbmc_project/sensors/temperature/p1_core16_temp
+132:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 90
+ path: /xyz/openbmc_project/sensors/temperature/p1_core17_temp
+133:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 91
+ path: /xyz/openbmc_project/sensors/temperature/p1_core18_temp
+134:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 92
+ path: /xyz/openbmc_project/sensors/temperature/p1_core19_temp
+135:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 93
+ path: /xyz/openbmc_project/sensors/temperature/p1_core20_temp
+136:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 94
+ path: /xyz/openbmc_project/sensors/temperature/p1_core21_temp
+137:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 95
+ path: /xyz/openbmc_project/sensors/temperature/p1_core22_temp
+138:
+ <<: *CORE_TEMP_DEFAULTS
+ entityInstance: 96
+ path: /xyz/openbmc_project/sensors/temperature/p1_core23_temp
+139:
+ 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
+145:
+ 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
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend
new file mode 100644
index 000000000..775119b54
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/openpower-ipmi-oem_%.bbappend
@@ -0,0 +1,5 @@
+DEPENDS_append = " nicole-yaml-config"
+
+EXTRA_OECONF = " \
+ INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/nicole-yaml-config/ipmi-inventory-sensors.yaml \
+ "
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
new file mode 100644
index 000000000..5ac83a8c1
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-fru_%.bbappend
@@ -0,0 +1,5 @@
+DEPENDS_append = " nicole-yaml-config"
+
+EXTRA_OECONF = " \
+ YAML_GEN=${STAGING_DIR_HOST}${datadir}/nicole-yaml-config/ipmi-fru-read.yaml \
+ "
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
new file mode 100644
index 000000000..7983e94bb
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/ipmi/phosphor-ipmi-host_%.bbappend
@@ -0,0 +1,7 @@
+DEPENDS_append = " nicole-yaml-config"
+
+EXTRA_OECONF = " \
+ SENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/nicole-yaml-config/ipmi-sensors.yaml \
+ INVSENSOR_YAML_GEN=${STAGING_DIR_HOST}${datadir}/nicole-yaml-config/ipmi-inventory-sensors.yaml \
+ FRU_YAML_GEN=${STAGING_DIR_HOST}${datadir}/nicole-yaml-config/ipmi-fru-read.yaml \
+ "
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/logging/openpower-esel-parser_git.bb b/meta-yadro/meta-nicole/recipes-phosphor/logging/openpower-esel-parser_git.bb
new file mode 100644
index 000000000..ff6091845
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/logging/openpower-esel-parser_git.bb
@@ -0,0 +1,23 @@
+SUMMARY = "OpenPOWER eSEL parser"
+DESCRIPTION = "Shared library and console utility for parsing eSEL."
+HOMEPAGE = "https://github.com/YADRO-KNS/openpower-esel-parser"
+PR = "r1"
+PV = "1.0+git${SRCPV}"
+
+inherit autotools
+inherit pkgconfig
+inherit perlnative
+
+# License info
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+# Dependencies
+DEPENDS += "autoconf-archive-native \
+ libxml-libxml-perl-native \
+ libxml-simple-perl-native"
+
+# Source code repository
+S = "${WORKDIR}/git"
+SRC_URI = "gitsm://github.com/YADRO-KNS/openpower-esel-parser"
+SRCREV = "1ed2c38095591c68348983637e4dcb50f4cfff63"
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/occ/files/occ_sensor.yaml b/meta-yadro/meta-nicole/recipes-phosphor/occ/files/occ_sensor.yaml
new file mode 100644
index 000000000..ebfaf763a
--- /dev/null
+++ b/meta-yadro/meta-nicole/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-yadro/meta-nicole/recipes-phosphor/occ/nicole-occ-control-config-native.bb b/meta-yadro/meta-nicole/recipes-phosphor/occ/nicole-occ-control-config-native.bb
new file mode 100644
index 000000000..83deb434b
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/occ/nicole-occ-control-config-native.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Nicole OCC Control sensor IDs"
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit native
+inherit openpower-occ-control
+
+PROVIDES += "virtual/openpower-occ-control-config-native"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += "file://occ_sensor.yaml"
+
+S = "${WORKDIR}"
+do_install() {
+ install -d ${YAML_DEST}/
+ install ${S}/occ_sensor.yaml ${YAML_DEST}/
+}
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
new file mode 100644
index 000000000..ce3a6494d
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend
@@ -0,0 +1,2 @@
+RDEPENDS_${PN}-inventory_append = " openpower-occ-control"
+RDEPENDS_${PN}-extras += " phosphor-hostlogger openpower-esel-parser"
diff --git a/meta-yadro/meta-nicole/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-yadro/meta-nicole/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..21a4eaa10
--- /dev/null
+++ b/meta-yadro/meta-nicole/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,228 @@
+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"
+WARNHI_temp91 = "78000"
+WARNLO_temp91 = "0"
+CRITHI_temp91 = "83000"
+CRITLO_temp91 = "0"
+
+LABEL_temp92 = "p0_core1_temp"
+WARNHI_temp92 = "78000"
+WARNLO_temp92 = "0"
+CRITHI_temp92 = "83000"
+CRITLO_temp92 = "0"
+
+LABEL_temp93 = "p0_core2_temp"
+WARNHI_temp93 = "78000"
+WARNLO_temp93 = "0"
+CRITHI_temp93 = "83000"
+CRITLO_temp93 = "0"
+
+LABEL_temp94 = "p0_core3_temp"
+WARNHI_temp94 = "78000"
+WARNLO_temp94 = "0"
+CRITHI_temp94 = "83000"
+CRITLO_temp94 = "0"
+
+LABEL_temp95 = "p0_core4_temp"
+WARNHI_temp95 = "78000"
+WARNLO_temp95 = "0"
+CRITHI_temp95 = "83000"
+CRITLO_temp95 = "0"
+
+LABEL_temp96 = "p0_core5_temp"
+WARNHI_temp96 = "78000"
+WARNLO_temp96 = "0"
+CRITHI_temp96 = "83000"
+CRITLO_temp96 = "0"
+
+LABEL_temp97 = "p0_core6_temp"
+WARNHI_temp97 = "78000"
+WARNLO_temp97 = "0"
+CRITHI_temp97 = "83000"
+CRITLO_temp97 = "0"
+
+LABEL_temp98 = "p0_core7_temp"
+WARNHI_temp98 = "78000"
+WARNLO_temp98 = "0"
+CRITHI_temp98 = "83000"
+CRITLO_temp98 = "0"
+
+LABEL_temp99 = "p0_core8_temp"
+WARNHI_temp99 = "78000"
+WARNLO_temp99 = "0"
+CRITHI_temp99 = "83000"
+CRITLO_temp99 = "0"
+
+LABEL_temp100 = "p0_core9_temp"
+WARNHI_temp100 = "78000"
+WARNLO_temp100 = "0"
+CRITHI_temp100 = "83000"
+CRITLO_temp100 = "0"
+
+LABEL_temp101 = "p0_core10_temp"
+WARNHI_temp101 = "78000"
+WARNLO_temp101 = "0"
+CRITHI_temp101 = "83000"
+CRITLO_temp101 = "0"
+
+LABEL_temp102 = "p0_core11_temp"
+WARNHI_temp102 = "78000"
+WARNLO_temp102 = "0"
+CRITHI_temp102 = "83000"
+CRITLO_temp102 = "0"
+
+LABEL_temp103 = "p0_core12_temp"
+WARNHI_temp103 = "78000"
+WARNLO_temp103 = "0"
+CRITHI_temp103 = "83000"
+CRITLO_temp103 = "0"
+
+LABEL_temp104 = "p0_core13_temp"
+WARNHI_temp104 = "78000"
+WARNLO_temp104 = "0"
+CRITHI_temp104 = "83000"
+CRITLO_temp104 = "0"
+
+LABEL_temp105 = "p0_core14_temp"
+WARNHI_temp105 = "78000"
+WARNLO_temp105 = "0"
+CRITHI_temp105 = "83000"
+CRITLO_temp105 = "0"
+
+LABEL_temp106 = "p0_core15_temp"
+WARNHI_temp106 = "78000"
+WARNLO_temp106 = "0"
+CRITHI_temp106 = "83000"
+CRITLO_temp106 = "0"
+
+LABEL_temp107 = "p0_core16_temp"
+WARNHI_temp107 = "78000"
+WARNLO_temp107 = "0"
+CRITHI_temp107 = "83000"
+CRITLO_temp107 = "0"
+
+LABEL_temp108 = "p0_core17_temp"
+WARNHI_temp108 = "78000"
+WARNLO_temp108 = "0"
+CRITHI_temp108 = "83000"
+CRITLO_temp108 = "0"
+
+LABEL_temp109 = "p0_core18_temp"
+WARNHI_temp109 = "78000"
+WARNLO_temp109 = "0"
+CRITHI_temp109 = "83000"
+CRITLO_temp109 = "0"
+
+LABEL_temp110 = "p0_core19_temp"
+WARNHI_temp110 = "78000"
+WARNLO_temp110 = "0"
+CRITHI_temp110 = "83000"
+CRITLO_temp110 = "0"
+
+LABEL_temp111 = "p0_core20_temp"
+WARNHI_temp111 = "78000"
+WARNLO_temp111 = "0"
+CRITHI_temp111 = "83000"
+CRITLO_temp111 = "0"
+
+LABEL_temp112 = "p0_core21_temp"
+WARNHI_temp112 = "78000"
+WARNLO_temp112 = "0"
+CRITHI_temp112 = "83000"
+CRITLO_temp112 = "0"
+
+LABEL_temp113 = "p0_core22_temp"
+WARNHI_temp113 = "78000"
+WARNLO_temp113 = "0"
+CRITHI_temp113 = "83000"
+CRITLO_temp113 = "0"
+
+LABEL_temp114 = "p0_core23_temp"
+WARNHI_temp114 = "78000"
+WARNLO_temp114 = "0"
+CRITHI_temp114 = "83000"
+CRITLO_temp114 = "0"
+
+LABEL_temp27 = "dimm0_temp"
+WARNHI_temp27 = "78000"
+WARNLO_temp27 = "0"
+CRITHI_temp27 = "83000"
+CRITLO_temp27 = "0"
+
+LABEL_temp28 = "dimm1_temp"
+WARNHI_temp28 = "78000"
+WARNLO_temp28 = "0"
+CRITHI_temp28 = "83000"
+CRITLO_temp28 = "0"
+
+LABEL_temp29 = "dimm2_temp"
+WARNHI_temp29 = "78000"
+WARNLO_temp29 = "0"
+CRITHI_temp29 = "83000"
+CRITLO_temp29 = "0"
+
+LABEL_temp30 = "dimm3_temp"
+WARNHI_temp30 = "78000"
+WARNLO_temp30 = "0"
+CRITHI_temp30 = "83000"
+CRITLO_temp30 = "0"
+
+LABEL_temp31 = "dimm4_temp"
+WARNHI_temp31 = "78000"
+WARNLO_temp31 = "0"
+CRITHI_temp31 = "83000"
+CRITLO_temp31 = "0"
+
+LABEL_temp32 = "dimm5_temp"
+WARNHI_temp32 = "78000"
+WARNLO_temp32 = "0"
+CRITHI_temp32 = "83000"
+CRITLO_temp32 = "0"
+
+LABEL_temp33 = "dimm6_temp"
+WARNHI_temp33 = "78000"
+WARNLO_temp33 = "0"
+CRITHI_temp33 = "83000"
+CRITLO_temp33 = "0"
+
+LABEL_temp34 = "dimm7_temp"
+WARNHI_temp34 = "78000"
+WARNLO_temp34 = "0"
+CRITHI_temp34 = "83000"
+CRITLO_temp34 = "0"
+
+LABEL_power2 = "p0_power"
+LABEL_power3 = "p0_vdd_power"
+LABEL_power4 = "p0_vdn_power"
diff --git a/meta-yadro/meta-nicole/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-yadro/meta-nicole/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..096c5c5dc
--- /dev/null
+++ b/meta-yadro/meta-nicole/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,228 @@
+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"
+WARNHI_temp115 = "78000"
+WARNLO_temp115 = "0"
+CRITHI_temp115 = "83000"
+CRITLO_temp115 = "0"
+
+LABEL_temp116 = "p1_core1_temp"
+WARNHI_temp116 = "78000"
+WARNLO_temp116 = "0"
+CRITHI_temp116 = "83000"
+CRITLO_temp116 = "0"
+
+LABEL_temp117 = "p1_core2_temp"
+WARNHI_temp117 = "78000"
+WARNLO_temp117 = "0"
+CRITHI_temp117 = "83000"
+CRITLO_temp117 = "0"
+
+LABEL_temp118 = "p1_core3_temp"
+WARNHI_temp118 = "78000"
+WARNLO_temp118 = "0"
+CRITHI_temp118 = "83000"
+CRITLO_temp118 = "0"
+
+LABEL_temp119 = "p1_core4_temp"
+WARNHI_temp119 = "78000"
+WARNLO_temp119 = "0"
+CRITHI_temp119 = "83000"
+CRITLO_temp119 = "0"
+
+LABEL_temp120 = "p1_core5_temp"
+WARNHI_temp120 = "78000"
+WARNLO_temp120 = "0"
+CRITHI_temp120 = "83000"
+CRITLO_temp120 = "0"
+
+LABEL_temp121 = "p1_core6_temp"
+WARNHI_temp121 = "78000"
+WARNLO_temp121 = "0"
+CRITHI_temp121 = "83000"
+CRITLO_temp121 = "0"
+
+LABEL_temp122 = "p1_core7_temp"
+WARNHI_temp122 = "78000"
+WARNLO_temp122 = "0"
+CRITHI_temp122 = "83000"
+CRITLO_temp122 = "0"
+
+LABEL_temp123 = "p1_core8_temp"
+WARNHI_temp123 = "78000"
+WARNLO_temp123 = "0"
+CRITHI_temp123 = "83000"
+CRITLO_temp123 = "0"
+
+LABEL_temp124 = "p1_core9_temp"
+WARNHI_temp124 = "78000"
+WARNLO_temp124 = "0"
+CRITHI_temp124 = "83000"
+CRITLO_temp124 = "0"
+
+LABEL_temp125 = "p1_core10_temp"
+WARNHI_temp125 = "78000"
+WARNLO_temp125 = "0"
+CRITHI_temp125 = "83000"
+CRITLO_temp125 = "0"
+
+LABEL_temp126 = "p1_core11_temp"
+WARNHI_temp126 = "78000"
+WARNLO_temp126 = "0"
+CRITHI_temp126 = "83000"
+CRITLO_temp126 = "0"
+
+LABEL_temp127 = "p1_core12_temp"
+WARNHI_temp127 = "78000"
+WARNLO_temp127 = "0"
+CRITHI_temp127 = "83000"
+CRITLO_temp127 = "0"
+
+LABEL_temp128 = "p1_core13_temp"
+WARNHI_temp128 = "78000"
+WARNLO_temp128 = "0"
+CRITHI_temp128 = "83000"
+CRITLO_temp128 = "0"
+
+LABEL_temp129 = "p1_core14_temp"
+WARNHI_temp129 = "78000"
+WARNLO_temp129 = "0"
+CRITHI_temp129 = "83000"
+CRITLO_temp129 = "0"
+
+LABEL_temp130 = "p1_core15_temp"
+WARNHI_temp130 = "78000"
+WARNLO_temp130 = "0"
+CRITHI_temp130 = "83000"
+CRITLO_temp130 = "0"
+
+LABEL_temp131 = "p1_core16_temp"
+WARNHI_temp131 = "78000"
+WARNLO_temp131 = "0"
+CRITHI_temp131 = "83000"
+CRITLO_temp131 = "0"
+
+LABEL_temp132 = "p1_core17_temp"
+WARNHI_temp132 = "78000"
+WARNLO_temp132 = "0"
+CRITHI_temp132 = "83000"
+CRITLO_temp132 = "0"
+
+LABEL_temp133 = "p1_core18_temp"
+WARNHI_temp133 = "78000"
+WARNLO_temp133 = "0"
+CRITHI_temp133 = "83000"
+CRITLO_temp133 = "0"
+
+LABEL_temp134 = "p1_core19_temp"
+WARNHI_temp134 = "78000"
+WARNLO_temp134 = "0"
+CRITHI_temp134 = "83000"
+CRITLO_temp134 = "0"
+
+LABEL_temp135 = "p1_core20_temp"
+WARNHI_temp135 = "78000"
+WARNLO_temp135 = "0"
+CRITHI_temp135 = "83000"
+CRITLO_temp135 = "0"
+
+LABEL_temp136 = "p1_core21_temp"
+WARNHI_temp136 = "78000"
+WARNLO_temp136 = "0"
+CRITHI_temp136 = "83000"
+CRITLO_temp136 = "0"
+
+LABEL_temp137 = "p1_core22_temp"
+WARNHI_temp137 = "78000"
+WARNLO_temp137 = "0"
+CRITHI_temp137 = "83000"
+CRITLO_temp137 = "0"
+
+LABEL_temp138 = "p1_core23_temp"
+WARNHI_temp138 = "78000"
+WARNLO_temp138 = "0"
+CRITHI_temp138 = "83000"
+CRITLO_temp138 = "0"
+
+LABEL_temp35 = "dimm8_temp"
+WARNHI_temp35 = "78000"
+WARNLO_temp35 = "0"
+CRITHI_temp35 = "83000"
+CRITLO_temp35 = "0"
+
+LABEL_temp36 = "dimm9_temp"
+WARNHI_temp36 = "78000"
+WARNLO_temp36 = "0"
+CRITHI_temp36 = "83000"
+CRITLO_temp36 = "0"
+
+LABEL_temp37 = "dimm10_temp"
+WARNHI_temp37 = "78000"
+WARNLO_temp37 = "0"
+CRITHI_temp37 = "83000"
+CRITLO_temp37 = "0"
+
+LABEL_temp38 = "dimm11_temp"
+WARNHI_temp38 = "78000"
+WARNLO_temp38 = "0"
+CRITHI_temp38 = "83000"
+CRITLO_temp38 = "0"
+
+LABEL_temp39 = "dimm12_temp"
+WARNHI_temp39 = "78000"
+WARNLO_temp39 = "0"
+CRITHI_temp39 = "83000"
+CRITLO_temp39 = "0"
+
+LABEL_temp40 = "dimm13_temp"
+WARNHI_temp40 = "78000"
+WARNLO_temp40 = "0"
+CRITHI_temp40 = "83000"
+CRITLO_temp40 = "0"
+
+LABEL_temp41 = "dimm14_temp"
+WARNHI_temp41 = "78000"
+WARNLO_temp41 = "0"
+CRITHI_temp41 = "83000"
+CRITLO_temp41 = "0"
+
+LABEL_temp42 = "dimm15_temp"
+WARNHI_temp42 = "78000"
+WARNLO_temp42 = "0"
+CRITHI_temp42 = "83000"
+CRITLO_temp42 = "0"
+
+LABEL_power2 = "p1_power"
+LABEL_power3 = "p1_vdd_power"
+LABEL_power4 = "p1_vdn_power"
diff --git a/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend b/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
new file mode 100644
index 000000000..ab8594170
--- /dev/null
+++ b/meta-yadro/meta-nicole/recipes-phosphor/sensors/phosphor-hwmon_%.bbappend
@@ -0,0 +1,14 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+EXTRA_OECONF_append = " --enable-negative-errno-on-fail"
+
+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}_append = " ${@compose_list(d, 'ENVS', 'OCCITEMS')}"
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
index dc786e562..94000a0a7 100644
--- a/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config.bb
+++ b/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config.bb
@@ -1,7 +1,7 @@
SUMMARY = "YAML configuration for Vesnin"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${YADROBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit allarch
diff --git a/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config/vesnin-ipmi-fru.yaml b/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config/vesnin-ipmi-fru.yaml
index 26c7831b9..a1de5712e 100644
--- a/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config/vesnin-ipmi-fru.yaml
+++ b/meta-yadro/meta-vesnin/recipes-phosphor/configuration/vesnin-yaml-config/vesnin-ipmi-fru.yaml
@@ -21,7 +21,7 @@
IPMIFruProperty: Name
IPMIFruSection: Board
1:
- /system/chassis/motherboard/cpu0:
+ /system/chassis/motherboard/cpu0: &CPU_DEFAULTS
entityID: 3
entityInstance: 1
interfaces:
@@ -47,90 +47,19 @@
PrettyName:
IPMIFruProperty: Name
IPMIFruSection: Board
+ Value: False
2:
/system/chassis/motherboard/cpu1:
- entityID: 3
+ <<: *CPU_DEFAULTS
entityInstance: 2
- 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
- Value: False
3:
/system/chassis/motherboard/cpu2:
- entityID: 3
+ <<: *CPU_DEFAULTS
entityInstance: 3
- 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
- Value: False
4:
/system/chassis/motherboard/cpu3:
- entityID: 3
+ <<: *CPU_DEFAULTS
entityInstance: 4
- 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
- Value: False
5:
/system/chassis/motherboard:
entityID: 7
@@ -171,7 +100,7 @@
IPMIFruProperty: Manufacturer
IPMIFruSection: Board
6:
- /system/chassis/motherboard/membuf1:
+ /system/chassis/motherboard/membuf1: &MEMBUF_DEFAULTS
entityID: 23
entityInstance: 1
interfaces:
@@ -194,336 +123,66 @@
IPMIFruSection: Board
7:
/system/chassis/motherboard/membuf0:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 2
- 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
8:
/system/chassis/motherboard/membuf5:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 3
- 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
9:
/system/chassis/motherboard/membuf4:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 4
- 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
10:
/system/chassis/motherboard/membuf9:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 5
- 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
11:
/system/chassis/motherboard/membuf8:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 6
- 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
12:
/system/chassis/motherboard/membuf13:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 7
- 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
13:
/system/chassis/motherboard/membuf12:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 8
- 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
14:
/system/chassis/motherboard/membuf17:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 9
- 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/chassis/motherboard/membuf16:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 10
- 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
16:
/system/chassis/motherboard/membuf21:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 11
- 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
17:
/system/chassis/motherboard/membuf20:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 12
- 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
18:
/system/chassis/motherboard/membuf25:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 13
- 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
19:
/system/chassis/motherboard/membuf24:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 14
- 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
20:
/system/chassis/motherboard/membuf29:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 15
- 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
21:
/system/chassis/motherboard/membuf28:
- entityID: 23
+ <<: *MEMBUF_DEFAULTS
entityInstance: 16
- 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
22:
- /system/chassis/motherboard/dimm8:
+ /system/chassis/motherboard/dimm8: &DIMM_DEFAULTS
entityID: 32
entityInstance: 1
interfaces:
@@ -552,3665 +211,512 @@
IPMIFruProperty: Version
23:
/system/chassis/motherboard/dimm9:
- entityID: 32
+ <<: *DIMM_DEFAULTS
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
24:
/system/chassis/motherboard/dimm10:
- entityID: 32
+ <<: *DIMM_DEFAULTS
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
25:
/system/chassis/motherboard/dimm11:
- entityID: 32
+ <<: *DIMM_DEFAULTS
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
26:
/system/chassis/motherboard/dimm12:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 5
- 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/dimm13:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 6
- 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
28:
/system/chassis/motherboard/dimm14:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 7
- 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
29:
/system/chassis/motherboard/dimm15:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 8
- 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
30:
/system/chassis/motherboard/dimm0:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 9
- 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
31:
/system/chassis/motherboard/dimm1:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 10
- 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
32:
/system/chassis/motherboard/dimm2:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 11
- 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
33:
/system/chassis/motherboard/dimm3:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 12
- 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
34:
/system/chassis/motherboard/dimm4:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 13
- 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
35:
/system/chassis/motherboard/dimm5:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 14
- 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
36:
/system/chassis/motherboard/dimm6:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 15
- 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
37:
/system/chassis/motherboard/dimm7:
- entityID: 32
+ <<: *DIMM_DEFAULTS
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
38:
/system/chassis/motherboard/dimm16:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 17
- 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
39:
/system/chassis/motherboard/dimm17:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 18
- 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
40:
/system/chassis/motherboard/dimm18:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 19
- 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
41:
/system/chassis/motherboard/dimm19:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 20
- 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
42:
/system/chassis/motherboard/dimm20:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 21
- 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
43:
/system/chassis/motherboard/dimm21:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 22
- 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
44:
/system/chassis/motherboard/dimm22:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 23
- 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
-
45:
/system/chassis/motherboard/dimm23:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 24
- 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
-
46:
/system/chassis/motherboard/dimm24:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 25
- 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
-
47:
/system/chassis/motherboard/dimm25:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 26
- 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
-
48:
/system/chassis/motherboard/dimm26:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 27
- 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
-
49:
/system/chassis/motherboard/dimm27:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 28
- 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
-
50:
/system/chassis/motherboard/dimm28:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 29
- 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
-
51:
/system/chassis/motherboard/dimm29:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 30
- 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
-
52:
/system/chassis/motherboard/dimm30:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 31
- 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
-
53:
/system/chassis/motherboard/dimm31:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 32
- 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
-
54:
/system/chassis/motherboard/dimm40:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 33
- 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
-
55:
/system/chassis/motherboard/dimm41:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 34
- 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
-
56:
/system/chassis/motherboard/dimm42:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 35
- 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
-
57:
/system/chassis/motherboard/dimm43:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 36
- 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
-
58:
/system/chassis/motherboard/dimm44:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 37
- 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
-
59:
/system/chassis/motherboard/dimm45:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 38
- 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
-
60:
/system/chassis/motherboard/dimm46:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 39
- 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
-
61:
/system/chassis/motherboard/dimm47:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 40
- 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
-
62:
/system/chassis/motherboard/dimm32:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 41
- 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
-
63:
/system/chassis/motherboard/dimm33:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 42
- 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
-
64:
/system/chassis/motherboard/dimm34:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 43
- 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
-
65:
/system/chassis/motherboard/dimm35:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 44
- 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
-
66:
/system/chassis/motherboard/dimm36:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 45
- 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
-
67:
/system/chassis/motherboard/dimm37:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 46
- 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
-
68:
/system/chassis/motherboard/dimm38:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 47
- 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
-
69:
/system/chassis/motherboard/dimm39:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 48
- 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
-
70:
/system/chassis/motherboard/dimm48:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 49
- 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
-
71:
/system/chassis/motherboard/dimm49:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 50
- 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
-
72:
/system/chassis/motherboard/dimm50:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 51
- 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
-
73:
/system/chassis/motherboard/dimm51:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 52
- 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
-
74:
/system/chassis/motherboard/dimm52:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 53
- 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
-
75:
/system/chassis/motherboard/dimm53:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 54
- 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
-
76:
/system/chassis/motherboard/dimm54:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 55
- 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
-
77:
/system/chassis/motherboard/dimm55:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 56
- 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
-
78:
/system/chassis/motherboard/dimm56:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 57
- 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
-
79:
/system/chassis/motherboard/dimm57:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 58
- 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
-
80:
/system/chassis/motherboard/dimm58:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 59
- 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
-
81:
/system/chassis/motherboard/dimm59:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 60
- 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
-
82:
/system/chassis/motherboard/dimm60:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 61
- 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
-
83:
/system/chassis/motherboard/dimm61:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 62
- 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
-
84:
/system/chassis/motherboard/dimm62:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 63
- 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
-
85:
/system/chassis/motherboard/dimm63:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 64
- 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
-
86:
/system/chassis/motherboard/dimm72:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 65
- 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
-
87:
/system/chassis/motherboard/dimm73:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 66
- 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
-
88:
/system/chassis/motherboard/dimm74:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 67
- 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
-
89:
/system/chassis/motherboard/dimm75:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 68
- 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
-
90:
/system/chassis/motherboard/dimm76:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 69
- 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
-
91:
/system/chassis/motherboard/dimm77:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 70
- 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
-
92:
/system/chassis/motherboard/dimm78:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 71
- 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
-
93:
/system/chassis/motherboard/dimm79:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 72
- 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
-
94:
/system/chassis/motherboard/dimm64:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 73
- 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
-
95:
/system/chassis/motherboard/dimm65:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 74
- 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
-
96:
/system/chassis/motherboard/dimm66:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 75
- 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
-
97:
/system/chassis/motherboard/dimm67:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 76
- 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
-
98:
/system/chassis/motherboard/dimm68:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 77
- 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
-
99:
/system/chassis/motherboard/dimm69:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 78
- 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
-
100:
/system/chassis/motherboard/dimm70:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 79
- 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
-
101:
/system/chassis/motherboard/dimm71:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 80
- 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
-
102:
/system/chassis/motherboard/dimm80:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 81
- 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
-
103:
/system/chassis/motherboard/dimm81:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 82
- 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
-
104:
/system/chassis/motherboard/dimm82:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 83
- 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
-
105:
/system/chassis/motherboard/dimm83:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 84
- 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
-
106:
/system/chassis/motherboard/dimm84:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 85
- 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
-
107:
/system/chassis/motherboard/dimm85:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 86
- 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
-
108:
/system/chassis/motherboard/dimm86:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 87
- 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
-
109:
/system/chassis/motherboard/dimm87:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 88
- 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
-
110:
/system/chassis/motherboard/dimm88:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 89
- 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
-
111:
/system/chassis/motherboard/dimm89:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 90
- 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
-
112:
/system/chassis/motherboard/dimm90:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 91
- 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
-
113:
/system/chassis/motherboard/dimm91:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 92
- 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
-
114:
/system/chassis/motherboard/dimm92:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 93
- 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
-
115:
/system/chassis/motherboard/dimm93:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 94
- 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
-
116:
/system/chassis/motherboard/dimm94:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 95
- 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
-
117:
/system/chassis/motherboard/dimm95:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 96
- 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
-
118:
/system/chassis/motherboard/dimm104:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 97
- 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
-
119:
/system/chassis/motherboard/dimm105:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 98
- 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
-
120:
/system/chassis/motherboard/dimm106:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 99
- 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
-
121:
/system/chassis/motherboard/dimm107:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 100
- 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
-
122:
/system/chassis/motherboard/dimm108:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 101
- 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
-
123:
/system/chassis/motherboard/dimm109:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 102
- 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
-
124:
/system/chassis/motherboard/dimm110:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 103
- 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
-
125:
/system/chassis/motherboard/dimm111:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 104
- 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
-
126:
/system/chassis/motherboard/dimm96:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 105
- 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
-
127:
/system/chassis/motherboard/dimm97:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 106
- 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
-
128:
/system/chassis/motherboard/dimm98:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 107
- 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
-
129:
/system/chassis/motherboard/dimm99:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 108
- 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
-
130:
/system/chassis/motherboard/dimm100:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 109
- 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
-
131:
/system/chassis/motherboard/dimm101:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 110
- 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
-
132:
/system/chassis/motherboard/dimm102:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 111
- 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
-
133:
/system/chassis/motherboard/dimm103:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 112
- 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
-
134:
/system/chassis/motherboard/dimm112:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 113
- 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
-
135:
/system/chassis/motherboard/dimm113:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 114
- 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
-
136:
/system/chassis/motherboard/dimm114:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 115
- 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
-
137:
/system/chassis/motherboard/dimm115:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 116
- 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
-
138:
/system/chassis/motherboard/dimm116:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 117
- 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
-
139:
/system/chassis/motherboard/dimm117:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 118
- 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
-
140:
/system/chassis/motherboard/dimm118:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 119
- 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
-
141:
/system/chassis/motherboard/dimm119:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 120
- 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
-
142:
/system/chassis/motherboard/dimm120:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 121
- 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
-
143:
/system/chassis/motherboard/dimm121:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 122
- 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
-
144:
/system/chassis/motherboard/dimm122:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 123
- 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
-
145:
/system/chassis/motherboard/dimm123:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 124
- 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
-
146:
/system/chassis/motherboard/dimm124:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 125
- 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
-
147:
/system/chassis/motherboard/dimm125:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 126
- 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
-
148:
/system/chassis/motherboard/dimm126:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 127
- 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
-
149:
/system/chassis/motherboard/dimm127:
- entityID: 32
+ <<: *DIMM_DEFAULTS
entityInstance: 128
- 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
150:
/system/chassis/motherboard/powersupply0:
@@ -4303,7 +809,7 @@
IPMIFruSection: MultiRecord
152:
- /system/chassis/motherboard/fan0:
+ /system/chassis/motherboard/fan0: &FAN_DEFAULTS
entityID: 29
entityInstance: 0
interfaces:
@@ -4324,83 +830,23 @@
153:
/system/chassis/motherboard/fan1:
- entityID: 29
+ <<: *FAN_DEFAULTS
entityInstance: 1
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
154:
/system/chassis/motherboard/fan2:
- entityID: 29
+ <<: *FAN_DEFAULTS
entityInstance: 2
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
155:
/system/chassis/motherboard/fan3:
- entityID: 29
+ <<: *FAN_DEFAULTS
entityInstance: 3
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
156:
/system/chassis/motherboard/fan4:
- entityID: 29
+ <<: *FAN_DEFAULTS
entityInstance: 4
- interfaces:
- xyz.openbmc_project.Inventory.Item:
- PrettyName:
- IPMIFruProperty: Name
- IPMIFruSection: Product
- xyz.openbmc_project.Inventory.Decorator.Asset:
- Manufacturer:
- IPMIFruProperty: Manufacturer
- IPMIFruSection: Product
- PartNumber:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
- Model:
- IPMIFruProperty: Model Number
- IPMIFruSection: Product
254:
/system/chassis/motherboard/opfw:
diff --git a/meta-yadro/meta-vesnin/recipes-phosphor/leds/vesnin-led-manager-config-native.bb b/meta-yadro/meta-vesnin/recipes-phosphor/leds/vesnin-led-manager-config-native.bb
index 51a2f0b07..c10301060 100644
--- a/meta-yadro/meta-vesnin/recipes-phosphor/leds/vesnin-led-manager-config-native.bb
+++ b/meta-yadro/meta-vesnin/recipes-phosphor/leds/vesnin-led-manager-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Phosphor LED Group Management for Vesnin"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${YADROBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit obmc-phosphor-utils
diff --git a/meta-yadro/meta-vesnin/recipes-phosphor/occ/vesnin-openpower-occ-control-config-native.bb b/meta-yadro/meta-vesnin/recipes-phosphor/occ/vesnin-openpower-occ-control-config-native.bb
index 2db6c3661..71ce60ce2 100644
--- a/meta-yadro/meta-vesnin/recipes-phosphor/occ/vesnin-openpower-occ-control-config-native.bb
+++ b/meta-yadro/meta-vesnin/recipes-phosphor/occ/vesnin-openpower-occ-control-config-native.bb
@@ -1,7 +1,7 @@
SUMMARY = "Vesnin OCC Control sensor IDs"
PR = "r1"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${YADROBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit native
inherit openpower-occ-control
diff --git a/poky/README.LSB b/poky/README.LSB
deleted file mode 100644
index f68d07c9e..000000000
--- a/poky/README.LSB
+++ /dev/null
@@ -1,26 +0,0 @@
-OE-Core aims to be able to provide basic LSB compatible images. There
-are some challenges for OE as LSB isn't always 100% relevant to its
-target embedded and IoT audiences.
-
-One challenge is that the LSB spec is no longer being actively
-developed [https://github.com/LinuxStandardBase/lsb] and has
-components which are end of life or significantly dated. OE
-therefore provides compatibility with the following caveats:
-
-* Qt4 is provided by the separate meta-qt4 layer. Its noted that Qt4
- is end of life and this isn't something the core project regularly
- tests any longer. Users are recommended to group together to support
- maintenance of that layer. [http://git.yoctoproject.org/cgit/cgit.cgi/meta-qt4/]
-
-* mailx has been dropped since its no longer being developed upstream
- and there are better, more modern replacements such as s-nail
- (http://sdaoden.eu/code.html) or mailutils (http://mailutils.org/).
-
-* A few perl modules that were required by LSB 4.x aren't provided:
- libclass-isa, libenv, libdumpvalue, libfile-checktree,
- libi18n-collate, libpod-plainer.
-
-* libpng 1.2 isn't provided; oe-core includes the latest release of libpng
- instead.
-
-* pax (POSIX standard archive) tool is not provided.
diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake
index b219d362e..778b1d69e 100755
--- a/poky/bitbake/bin/bitbake
+++ b/poky/bitbake/bin/bitbake
@@ -26,7 +26,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
-__version__ = "1.43.0"
+__version__ = "1.43.2"
if __name__ == "__main__":
if __version__ != bb.__version__:
diff --git a/poky/bitbake/bin/bitbake-hashclient b/poky/bitbake/bin/bitbake-hashclient
new file mode 100755
index 000000000..29ab65f17
--- /dev/null
+++ b/poky/bitbake/bin/bitbake-hashclient
@@ -0,0 +1,170 @@
+#! /usr/bin/env python3
+#
+# Copyright (C) 2019 Garmin Ltd.
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import argparse
+import hashlib
+import logging
+import os
+import pprint
+import sys
+import threading
+import time
+
+try:
+ import tqdm
+ ProgressBar = tqdm.tqdm
+except ImportError:
+ class ProgressBar(object):
+ def __init__(self, *args, **kwargs):
+ pass
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, *args, **kwargs):
+ pass
+
+ def update(self):
+ pass
+
+sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
+
+import hashserv
+
+DEFAULT_ADDRESS = 'unix://./hashserve.sock'
+METHOD = 'stress.test.method'
+
+
+def main():
+ def handle_stats(args, client):
+ if args.reset:
+ s = client.reset_stats()
+ else:
+ s = client.get_stats()
+ pprint.pprint(s)
+ return 0
+
+ def handle_stress(args, client):
+ def thread_main(pbar, lock):
+ nonlocal found_hashes
+ nonlocal missed_hashes
+ nonlocal max_time
+
+ client = hashserv.create_client(args.address)
+
+ for i in range(args.requests):
+ taskhash = hashlib.sha256()
+ taskhash.update(args.taskhash_seed.encode('utf-8'))
+ taskhash.update(str(i).encode('utf-8'))
+
+ start_time = time.perf_counter()
+ l = client.get_unihash(METHOD, taskhash.hexdigest())
+ elapsed = time.perf_counter() - start_time
+
+ with lock:
+ if l:
+ found_hashes += 1
+ else:
+ missed_hashes += 1
+
+ max_time = max(elapsed, max_time)
+ pbar.update()
+
+ max_time = 0
+ found_hashes = 0
+ missed_hashes = 0
+ lock = threading.Lock()
+ total_requests = args.clients * args.requests
+ start_time = time.perf_counter()
+ with ProgressBar(total=total_requests) as pbar:
+ threads = [threading.Thread(target=thread_main, args=(pbar, lock), daemon=False) for _ in range(args.clients)]
+ for t in threads:
+ t.start()
+
+ for t in threads:
+ t.join()
+
+ elapsed = time.perf_counter() - start_time
+ with lock:
+ print("%d requests in %.1fs. %.1f requests per second" % (total_requests, elapsed, total_requests / elapsed))
+ print("Average request time %.8fs" % (elapsed / total_requests))
+ print("Max request time was %.8fs" % max_time)
+ print("Found %d hashes, missed %d" % (found_hashes, missed_hashes))
+
+ if args.report:
+ with ProgressBar(total=args.requests) as pbar:
+ for i in range(args.requests):
+ taskhash = hashlib.sha256()
+ taskhash.update(args.taskhash_seed.encode('utf-8'))
+ taskhash.update(str(i).encode('utf-8'))
+
+ outhash = hashlib.sha256()
+ outhash.update(args.outhash_seed.encode('utf-8'))
+ outhash.update(str(i).encode('utf-8'))
+
+ client.report_unihash(taskhash.hexdigest(), METHOD, outhash.hexdigest(), taskhash.hexdigest())
+
+ with lock:
+ pbar.update()
+
+ parser = argparse.ArgumentParser(description='Hash Equivalence Client')
+ parser.add_argument('--address', default=DEFAULT_ADDRESS, help='Server address (default "%(default)s")')
+ parser.add_argument('--log', default='WARNING', help='Set logging level')
+
+ subparsers = parser.add_subparsers()
+
+ stats_parser = subparsers.add_parser('stats', help='Show server stats')
+ stats_parser.add_argument('--reset', action='store_true',
+ help='Reset server stats')
+ stats_parser.set_defaults(func=handle_stats)
+
+ stress_parser = subparsers.add_parser('stress', help='Run stress test')
+ stress_parser.add_argument('--clients', type=int, default=10,
+ help='Number of simultaneous clients')
+ stress_parser.add_argument('--requests', type=int, default=1000,
+ help='Number of requests each client will perform')
+ stress_parser.add_argument('--report', action='store_true',
+ help='Report new hashes')
+ stress_parser.add_argument('--taskhash-seed', default='',
+ help='Include string in taskhash')
+ stress_parser.add_argument('--outhash-seed', default='',
+ help='Include string in outhash')
+ stress_parser.set_defaults(func=handle_stress)
+
+ args = parser.parse_args()
+
+ logger = logging.getLogger('hashserv')
+
+ level = getattr(logging, args.log.upper(), None)
+ if not isinstance(level, int):
+ raise ValueError('Invalid log level: %s' % args.log)
+
+ logger.setLevel(level)
+ console = logging.StreamHandler()
+ console.setLevel(level)
+ logger.addHandler(console)
+
+ func = getattr(args, 'func', None)
+ if func:
+ client = hashserv.create_client(args.address)
+ # Try to establish a connection to the server now to detect failures
+ # early
+ client.connect()
+
+ return func(args, client)
+
+ return 0
+
+
+if __name__ == '__main__':
+ try:
+ ret = main()
+ except Exception:
+ ret = 1
+ import traceback
+ traceback.print_exc()
+ sys.exit(ret)
diff --git a/poky/bitbake/bin/bitbake-hashserv b/poky/bitbake/bin/bitbake-hashserv
index 848a0ca39..1bc1f91f3 100755
--- a/poky/bitbake/bin/bitbake-hashserv
+++ b/poky/bitbake/bin/bitbake-hashserv
@@ -11,20 +11,26 @@ import logging
import argparse
import sqlite3
-sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),'lib'))
+sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
import hashserv
VERSION = "1.0.0"
-DEFAULT_HOST = ''
-DEFAULT_PORT = 8686
+DEFAULT_BIND = 'unix://./hashserve.sock'
+
def main():
- parser = argparse.ArgumentParser(description='HTTP Equivalence Reference Server. Version=%s' % VERSION)
- parser.add_argument('--address', default=DEFAULT_HOST, help='Bind address (default "%(default)s")')
- parser.add_argument('--port', type=int, default=DEFAULT_PORT, help='Bind port (default %(default)d)')
- parser.add_argument('--prefix', default='', help='HTTP path prefix (default "%(default)s")')
+ parser = argparse.ArgumentParser(description='Hash Equivalence Reference Server. Version=%s' % VERSION,
+ epilog='''The bind address is the path to a unix domain socket if it is
+ prefixed with "unix://". Otherwise, it is an IP address
+ and port in form ADDRESS:PORT. To bind to all addresses, leave
+ the ADDRESS empty, e.g. "--bind :8686". To bind to a specific
+ IPv6 address, enclose the address in "[]", e.g.
+ "--bind [::1]:8686"'''
+ )
+
+ parser.add_argument('--bind', default=DEFAULT_BIND, help='Bind address (default "%(default)s")')
parser.add_argument('--database', default='./hashserv.db', help='Database file (default "%(default)s")')
parser.add_argument('--log', default='WARNING', help='Set logging level')
@@ -41,12 +47,11 @@ def main():
console.setLevel(level)
logger.addHandler(console)
- db = sqlite3.connect(args.database)
-
- server = hashserv.create_server((args.address, args.port), db, args.prefix)
+ server = hashserv.create_server(args.bind, args.database)
server.serve_forever()
return 0
+
if __name__ == '__main__':
try:
ret = main()
@@ -55,4 +60,3 @@ if __name__ == '__main__':
import traceback
traceback.print_exc()
sys.exit(ret)
-
diff --git a/poky/bitbake/bin/bitbake-selftest b/poky/bitbake/bin/bitbake-selftest
index 20553e981..041a2719f 100755
--- a/poky/bitbake/bin/bitbake-selftest
+++ b/poky/bitbake/bin/bitbake-selftest
@@ -25,6 +25,7 @@ tests = ["bb.tests.codeparser",
"bb.tests.fetch",
"bb.tests.parse",
"bb.tests.persist_data",
+ "bb.tests.runqueue",
"bb.tests.utils",
"hashserv.tests",
"layerindexlib.tests.layerindexobj",
diff --git a/poky/bitbake/bin/bitbake-worker b/poky/bitbake/bin/bitbake-worker
index f63f060c5..6776cadda 100755
--- a/poky/bitbake/bin/bitbake-worker
+++ b/poky/bitbake/bin/bitbake-worker
@@ -234,6 +234,8 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
the_data.setVar(varname, value)
bb.parse.siggen.set_taskdata(workerdata["sigdata"])
+ if "newhashes" in workerdata:
+ bb.parse.siggen.set_taskhashes(workerdata["newhashes"])
ret = 0
the_data = bb_cache.loadDataFull(fn, appends)
@@ -377,6 +379,7 @@ class BitbakeWorker(object):
self.handle_item(b"cookerconfig", self.handle_cookercfg)
self.handle_item(b"extraconfigdata", self.handle_extraconfigdata)
self.handle_item(b"workerdata", self.handle_workerdata)
+ self.handle_item(b"newtaskhashes", self.handle_newtaskhashes)
self.handle_item(b"runtask", self.handle_runtask)
self.handle_item(b"finishnow", self.handle_finishnow)
self.handle_item(b"ping", self.handle_ping)
@@ -415,6 +418,10 @@ class BitbakeWorker(object):
bb.msg.loggerDefaultDomains = self.workerdata["logdefaultdomain"]
for mc in self.databuilder.mcdata:
self.databuilder.mcdata[mc].setVar("PRSERV_HOST", self.workerdata["prhost"])
+ self.databuilder.mcdata[mc].setVar("BB_HASHSERVE", self.workerdata["hashservaddr"])
+
+ def handle_newtaskhashes(self, data):
+ self.workerdata["newhashes"] = pickle.loads(data)
def handle_ping(self, _):
workerlog_write("Handling ping\n")
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
index a125ad332..421364c2c 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
@@ -369,9 +369,8 @@
<para>
These operators differ from the ":=", ".=", "=.", "+=", and "=+"
- operators in that their effects are deferred
- until after parsing completes rather than being immediately
- applied.
+ operators in that their effects are applied at variable
+ expansion time rather than being immediately applied.
Here are some examples:
<literallayout class='monospaced'>
B = "bval"
@@ -420,18 +419,22 @@
FOO = "123 456 789 123456 123 456 123 456"
FOO_remove = "123"
FOO_remove = "456"
- FOO2 = "abc def ghi abcdef abc def abc def"
- FOO2_remove = "abc def"
+ FOO2 = " abc def ghi abcdef abc def abc def def"
+ FOO2_remove = " \
+ def \
+ abc \
+ ghi \
+ "
</literallayout>
The variable <filename>FOO</filename> becomes
- "&nbsp;&nbsp;789 123456&nbsp;&nbsp;&nbsp;&nbsp;"
+ "&nbsp;&nbsp;789&nbsp;123456&nbsp;&nbsp;&nbsp;&nbsp;"
and <filename>FOO2</filename> becomes
- "&nbsp;&nbsp;ghi abcdef&nbsp;&nbsp;&nbsp;&nbsp;".
+ "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jkl&nbsp;&nbsp;abcdef&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".
</para>
<para>
Like "_append" and "_prepend", "_remove"
- is deferred until after parsing completes.
+ is applied at variable expansion time.
</para>
</section>
@@ -796,17 +799,15 @@
<title>Key Expansion</title>
<para>
- Key expansion happens when the BitBake datastore is finalized
- just before BitBake expands overrides.
+ Key expansion happens when the BitBake datastore is finalized.
To better understand this, consider the following example:
<literallayout class='monospaced'>
A${B} = "X"
B = "2"
A2 = "Y"
</literallayout>
- In this case, after all the parsing is complete, and
- before any overrides are handled, BitBake expands
- <filename>${B}</filename> into "2".
+ In this case, after all the parsing is complete,
+ BitBake expands <filename>${B}</filename> into "2".
This expansion causes <filename>A2</filename>, which was
set to "Y" before the expansion, to become "X".
</para>
diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py
index 7579a893b..f89969174 100644
--- a/poky/bitbake/lib/bb/__init__.py
+++ b/poky/bitbake/lib/bb/__init__.py
@@ -9,7 +9,7 @@
# SPDX-License-Identifier: GPL-2.0-only
#
-__version__ = "1.43.0"
+__version__ = "1.43.2"
import sys
if sys.version_info < (3, 4, 0):
diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py
index e2f91fa3b..30a2ba236 100644
--- a/poky/bitbake/lib/bb/build.py
+++ b/poky/bitbake/lib/bb/build.py
@@ -54,23 +54,6 @@ else:
builtins['bb'] = bb
builtins['os'] = os
-class FuncFailed(Exception):
- def __init__(self, name = None, logfile = None):
- self.logfile = logfile
- self.name = name
- if name:
- self.msg = 'Function failed: %s' % name
- else:
- self.msg = "Function failed"
-
- def __str__(self):
- if self.logfile and os.path.exists(self.logfile):
- msg = ("%s (log file is located at %s)" %
- (self.msg, self.logfile))
- else:
- msg = self.msg
- return msg
-
class TaskBase(event.Event):
"""Base class for task events"""
@@ -189,12 +172,7 @@ class StdoutNoopContextManager:
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
-# origin of the failure.
-#
-def exec_func(func, d, dirs = None, pythonexception=False):
+def exec_func(func, d, dirs = None):
"""Execute a BB 'function'"""
try:
@@ -266,7 +244,7 @@ def exec_func(func, d, dirs = None, pythonexception=False):
with bb.utils.fileslocked(lockfiles):
if ispython:
- exec_func_python(func, d, runfile, cwd=adir, pythonexception=pythonexception)
+ exec_func_python(func, d, runfile, cwd=adir)
else:
exec_func_shell(func, d, runfile, cwd=adir)
@@ -286,7 +264,7 @@ _functionfmt = """
{function}(d)
"""
logformatter = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
-def exec_func_python(func, d, runfile, cwd=None, pythonexception=False):
+def exec_func_python(func, d, runfile, cwd=None):
"""Execute a python BB 'function'"""
code = _functionfmt.format(function=func)
@@ -311,14 +289,7 @@ def exec_func_python(func, d, runfile, cwd=None, pythonexception=False):
bb.methodpool.insert_method(func, text, fn, lineno - 1)
comp = utils.better_compile(code, func, "exec_python_func() autogenerated")
- utils.better_exec(comp, {"d": d}, code, "exec_python_func() autogenerated", pythonexception=pythonexception)
- except (bb.parse.SkipRecipe, bb.build.FuncFailed):
- raise
- except Exception as e:
- if pythonexception:
- raise
- logger.error(str(e))
- raise FuncFailed(func, None)
+ utils.better_exec(comp, {"d": d}, code, "exec_python_func() autogenerated")
finally:
bb.debug(2, "Python function %s finished" % func)
@@ -475,13 +446,8 @@ exit $ret
with open(fifopath, 'r+b', buffering=0) as fifo:
try:
bb.debug(2, "Executing shell function %s" % func)
-
- try:
- 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')
- raise FuncFailed(func, logfn)
+ with open(os.devnull, 'r+') as stdin, logfile:
+ bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)])
finally:
os.unlink(fifopath)
@@ -609,9 +575,6 @@ def _exec_task(fn, task, d, quieterr):
event.fire(TaskStarted(task, logfn, flags, localdata), localdata)
except (bb.BBHandledException, SystemExit):
return 1
- except FuncFailed as exc:
- logger.error(str(exc))
- return 1
try:
for func in (prefuncs or '').split():
@@ -619,7 +582,10 @@ def _exec_task(fn, task, d, quieterr):
exec_func(task, localdata)
for func in (postfuncs or '').split():
exec_func(func, localdata)
- except FuncFailed as exc:
+ except bb.BBHandledException:
+ event.fire(TaskFailed(task, logfn, localdata, True), localdata)
+ return 1
+ except Exception as exc:
if quieterr:
event.fire(TaskFailedSilent(task, logfn, localdata), localdata)
else:
@@ -627,9 +593,6 @@ def _exec_task(fn, task, d, quieterr):
logger.error(str(exc))
event.fire(TaskFailed(task, logfn, localdata, errprinted), localdata)
return 1
- except bb.BBHandledException:
- event.fire(TaskFailed(task, logfn, localdata, True), localdata)
- return 1
finally:
sys.stdout.flush()
sys.stderr.flush()
diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py
index 5fb2f17cd..b6f7da592 100644
--- a/poky/bitbake/lib/bb/cache.py
+++ b/poky/bitbake/lib/bb/cache.py
@@ -83,21 +83,21 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.appends = self.listvar('__BBAPPEND', metadata)
self.nocache = self.getvar('BB_DONT_CACHE', metadata)
+ self.provides = self.depvar('PROVIDES', metadata)
+ self.rprovides = self.depvar('RPROVIDES', metadata)
+ self.pn = self.getvar('PN', metadata) or bb.parse.vars_from_file(filename,metadata)[0]
+ self.packages = self.listvar('PACKAGES', metadata)
+ if not self.packages:
+ self.packages.append(self.pn)
+ self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
+
self.skipreason = self.getvar('__SKIPPED', metadata)
if self.skipreason:
- self.pn = self.getvar('PN', metadata) or bb.parse.vars_from_file(filename,metadata)[0]
self.skipped = True
- self.provides = self.depvar('PROVIDES', metadata)
- self.rprovides = self.depvar('RPROVIDES', metadata)
return
self.tasks = metadata.getVar('__BBTASKS', False)
- self.pn = self.getvar('PN', metadata)
- self.packages = self.listvar('PACKAGES', metadata)
- if not self.packages:
- self.packages.append(self.pn)
-
self.basetaskhashes = self.taskvar('BB_BASEHASH', self.tasks, metadata)
self.hashfilename = self.getvar('BB_HASHFILENAME', metadata)
@@ -113,11 +113,8 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.stampclean = self.getvar('STAMPCLEAN', metadata)
self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata)
self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True)
- self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
self.depends = self.depvar('DEPENDS', metadata)
- self.provides = self.depvar('PROVIDES', metadata)
self.rdepends = self.depvar('RDEPENDS', metadata)
- self.rprovides = self.depvar('RPROVIDES', metadata)
self.rrecommends = self.depvar('RRECOMMENDS', metadata)
self.rprovides_pkg = self.pkgvar('RPROVIDES', self.packages, metadata)
self.rdepends_pkg = self.pkgvar('RDEPENDS', self.packages, metadata)
@@ -223,7 +220,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
cachedata.hashfn[fn] = self.hashfilename
for task, taskhash in self.basetaskhashes.items():
- identifier = '%s.%s' % (fn, task)
+ identifier = '%s:%s' % (fn, task)
cachedata.basetaskhash[identifier] = taskhash
cachedata.inherits[fn] = self.inherits
@@ -399,6 +396,15 @@ class Cache(NoCache):
else:
logger.debug(1, "Cache file %s not found, building..." % self.cachefile)
+ # We don't use the symlink, its just for debugging convinience
+ symlink = os.path.join(self.cachedir, "bb_cache.dat")
+ if os.path.exists(symlink):
+ bb.utils.remove(symlink)
+ try:
+ os.symlink(os.path.basename(self.cachefile), symlink)
+ except OSError:
+ pass
+
def load_cachefile(self):
cachesize = 0
previous_progress = 0
@@ -877,3 +883,56 @@ class MultiProcessCache(object):
p.dump([data, self.__class__.CACHE_VERSION])
bb.utils.unlockfile(glf)
+
+
+class SimpleCache(object):
+ """
+ BitBake multi-process cache implementation
+
+ Used by the codeparser & file checksum caches
+ """
+
+ def __init__(self, version):
+ self.cachefile = None
+ self.cachedata = None
+ self.cacheversion = version
+
+ def init_cache(self, d, cache_file_name=None, defaultdata=None):
+ cachedir = (d.getVar("PERSISTENT_DIR") or
+ d.getVar("CACHE"))
+ if not cachedir:
+ return defaultdata
+
+ bb.utils.mkdirhier(cachedir)
+ self.cachefile = os.path.join(cachedir,
+ cache_file_name or self.__class__.cache_file_name)
+ logger.debug(1, "Using cache in '%s'", self.cachefile)
+
+ glf = bb.utils.lockfile(self.cachefile + ".lock")
+
+ try:
+ with open(self.cachefile, "rb") as f:
+ p = pickle.Unpickler(f)
+ data, version = p.load()
+ except:
+ bb.utils.unlockfile(glf)
+ return defaultdata
+
+ bb.utils.unlockfile(glf)
+
+ if version != self.cacheversion:
+ return defaultdata
+
+ return data
+
+ def save(self, data):
+ if not self.cachefile:
+ return
+
+ glf = bb.utils.lockfile(self.cachefile + ".lock")
+
+ with open(self.cachefile, "wb") as f:
+ p = pickle.Pickler(f, -1)
+ p.dump([data, self.cacheversion])
+
+ bb.utils.unlockfile(glf)
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index 0008c2fde..20ef04d3f 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
#
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
@@ -32,6 +31,7 @@ import pyinotify
import json
import pickle
import codecs
+import hashserv
logger = logging.getLogger("BitBake")
collectlog = logging.getLogger("BitBake.Collection")
@@ -193,6 +193,8 @@ class BBCooker:
bb.parse.BBHandler.cached_statements = {}
self.ui_cmdline = None
+ self.hashserv = None
+ self.hashservaddr = None
self.initConfigurationData()
@@ -373,8 +375,6 @@ class BBCooker:
# Copy of the data store which has been expanded.
# Used for firing events and accessing variables where expansion needs to be accounted for
#
- bb.parse.init_parser(self.data)
-
if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset:
self.disableDataTracking()
@@ -392,6 +392,22 @@ class BBCooker:
except prserv.serv.PRServiceConfigError as e:
bb.fatal("Unable to start PR Server, exitting")
+ if self.data.getVar("BB_HASHSERVE") == "auto":
+ # Create a new hash server bound to a unix domain socket
+ if not self.hashserv:
+ dbfile = (self.data.getVar("PERSISTENT_DIR") or self.data.getVar("CACHE")) + "/hashserv.db"
+ self.hashservaddr = "unix://%s/hashserve.sock" % self.data.getVar("TOPDIR")
+ self.hashserv = hashserv.create_server(self.hashservaddr, dbfile, sync=False)
+ self.hashserv.process = multiprocessing.Process(target=self.hashserv.serve_forever)
+ self.hashserv.process.start()
+ self.data.setVar("BB_HASHSERVE", self.hashservaddr)
+ self.databuilder.origdata.setVar("BB_HASHSERVE", self.hashservaddr)
+ self.databuilder.data.setVar("BB_HASHSERVE", self.hashservaddr)
+ for mc in self.databuilder.mcdata:
+ self.databuilder.mcdata[mc].setVar("BB_HASHSERVE", self.hashservaddr)
+
+ bb.parse.init_parser(self.data)
+
def enableDataTracking(self):
self.configuration.tracking = True
if hasattr(self, "data"):
@@ -903,6 +919,10 @@ class BBCooker:
os.unlink('package-depends.dot')
except FileNotFoundError:
pass
+ try:
+ os.unlink('recipe-depends.dot')
+ except FileNotFoundError:
+ pass
with open('task-depends.dot', 'w') as f:
f.write("digraph depends {\n")
@@ -916,27 +936,6 @@ class BBCooker:
f.write("}\n")
logger.info("Task dependencies saved to 'task-depends.dot'")
- with open('recipe-depends.dot', 'w') as f:
- f.write("digraph depends {\n")
- pndeps = {}
- for task in sorted(depgraph["tdepends"]):
- (pn, taskname) = task.rsplit(".", 1)
- if pn not in pndeps:
- pndeps[pn] = set()
- for dep in sorted(depgraph["tdepends"][task]):
- (deppn, deptaskname) = dep.rsplit(".", 1)
- pndeps[pn].add(deppn)
- for pn in sorted(pndeps):
- fn = depgraph["pn"][pn]["filename"]
- version = depgraph["pn"][pn]["version"]
- f.write('"%s" [label="%s\\n%s\\n%s"]\n' % (pn, pn, version, fn))
- for dep in sorted(pndeps[pn]):
- if dep == pn:
- continue
- f.write('"%s" -> "%s"\n' % (pn, dep))
- f.write("}\n")
- logger.info("Flattened recipe dependencies saved to 'recipe-depends.dot'")
-
def show_appends_with_no_recipes(self):
# Determine which bbappends haven't been applied
@@ -1646,9 +1645,11 @@ class BBCooker:
def post_serve(self):
prserv.serv.auto_shutdown()
+ if self.hashserv:
+ self.hashserv.process.terminate()
+ self.hashserv.process.join()
bb.event.fire(CookerExit(), self.data)
-
def shutdown(self, force = False):
if force:
self.state = state.forceshutdown
@@ -1663,6 +1664,7 @@ class BBCooker:
def reset(self):
self.initConfigurationData()
+ self.handlePRServ()
def clientComplete(self):
"""Called when the client is done using the server"""
@@ -2063,6 +2065,14 @@ class CookerParser(object):
for process in self.processes:
self.parser_quit.put(None)
+ # Cleanup the queue before call process.join(), otherwise there might be
+ # deadlocks.
+ while True:
+ try:
+ self.result_queue.get(timeout=0.25)
+ except queue.Empty:
+ break
+
for process in self.processes:
if force:
process.join(.1)
diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py
index 842275d53..472423fdc 100644
--- a/poky/bitbake/lib/bb/cookerdata.py
+++ b/poky/bitbake/lib/bb/cookerdata.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
#
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
@@ -14,6 +13,7 @@ import logging
import os
import re
import sys
+import hashlib
from functools import wraps
import bb
from bb import data
@@ -122,6 +122,7 @@ class CookerConfiguration(object):
self.profile = False
self.nosetscene = False
self.setsceneonly = False
+ self.skipsetscene = False
self.invalidate_stamp = False
self.dump_signatures = []
self.dry_run = False
@@ -267,12 +268,13 @@ class CookerDataBuilder(object):
self.mcdata = {}
def parseBaseConfiguration(self):
+ data_hash = hashlib.sha256()
try:
- bb.parse.init_parser(self.basedata)
self.data = self.parseConfigurationFiles(self.prefiles, self.postfiles)
if self.data.getVar("BB_WORKERCONTEXT", False) is None:
bb.fetch.fetcher_init(self.data)
+ bb.parse.init_parser(self.data)
bb.codeparser.parser_cache_init(self.data)
bb.event.fire(bb.event.ConfigParsed(), self.data)
@@ -290,7 +292,7 @@ class CookerDataBuilder(object):
bb.event.fire(bb.event.ConfigParsed(), self.data)
bb.parse.init_parser(self.data)
- self.data_hash = self.data.get_hash()
+ data_hash.update(self.data.get_hash().encode('utf-8'))
self.mcdata[''] = self.data
multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split()
@@ -298,9 +300,11 @@ class CookerDataBuilder(object):
mcdata = self.parseConfigurationFiles(self.prefiles, self.postfiles, config)
bb.event.fire(bb.event.ConfigParsed(), mcdata)
self.mcdata[config] = mcdata
+ data_hash.update(mcdata.get_hash().encode('utf-8'))
if multiconfig:
bb.event.fire(bb.event.MultiConfigParsed(self.mcdata), self.data)
+ self.data_hash = data_hash.hexdigest()
except (SyntaxError, bb.BBHandledException):
raise bb.BBHandledException
except bb.data_smart.ExpansionError as e:
diff --git a/poky/bitbake/lib/bb/data.py b/poky/bitbake/lib/bb/data.py
index 92ef40530..0d75d0c1a 100644
--- a/poky/bitbake/lib/bb/data.py
+++ b/poky/bitbake/lib/bb/data.py
@@ -130,7 +130,7 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
if all:
oval = d.getVar(var, False)
val = d.getVar(var)
- except (KeyboardInterrupt, bb.build.FuncFailed):
+ except (KeyboardInterrupt):
raise
except Exception as exc:
o.write('# expansion of %s threw %s: %s\n' % (var, exc.__class__.__name__, str(exc)))
@@ -422,7 +422,7 @@ def generate_dependency_hash(tasklist, gendeps, lookupcache, whitelist, fn):
var = lookupcache[dep]
if var is not None:
data = data + str(var)
- k = fn + "." + task
+ k = fn + ":" + task
basehash[k] = hashlib.sha256(data.encode("utf-8")).hexdigest()
taskdeps[task] = alldeps
diff --git a/poky/bitbake/lib/bb/event.py b/poky/bitbake/lib/bb/event.py
index 7cbb5ca47..d44621edf 100644
--- a/poky/bitbake/lib/bb/event.py
+++ b/poky/bitbake/lib/bb/event.py
@@ -124,6 +124,7 @@ def fire_class_handlers(event, d):
ui_queue = []
@atexit.register
def print_ui_queue():
+ global ui_queue
"""If we're exiting before a UI has been spawned, display any queued
LogRecords to the console."""
logger = logging.getLogger("BitBake")
@@ -168,6 +169,7 @@ def print_ui_queue():
logger.removeHandler(stderr)
else:
logger.removeHandler(stdout)
+ ui_queue = []
def fire_ui_handlers(event, d):
global _thread_lock
@@ -402,23 +404,6 @@ class RecipeTaskPreProcess(RecipeEvent):
class RecipeParsed(RecipeEvent):
""" Recipe Parsing Complete """
-class StampUpdate(Event):
- """Trigger for any adjustment of the stamp files to happen"""
-
- def __init__(self, targets, stampfns):
- self._targets = targets
- self._stampfns = stampfns
- Event.__init__(self)
-
- def getStampPrefix(self):
- return self._stampfns
-
- def getTargets(self):
- return self._targets
-
- stampPrefix = property(getStampPrefix)
- targets = property(getTargets)
-
class BuildBase(Event):
"""Base class for bitbake build events"""
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index f6b5529bb..1f5f8f1f1 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -962,7 +962,8 @@ def rename_bad_checksum(ud, suffix):
new_localpath = "%s_bad-checksum_%s" % (ud.localpath, suffix)
bb.warn("Renaming %s to %s" % (ud.localpath, new_localpath))
- bb.utils.movefile(ud.localpath, new_localpath)
+ if not bb.utils.movefile(ud.localpath, new_localpath):
+ bb.warn("Renaming %s to %s failed, grep movefile in log.do_fetch to see why" % (ud.localpath, new_localpath))
def try_mirror_url(fetch, origud, ud, ld, check = False):
diff --git a/poky/bitbake/lib/bb/fetch2/clearcase.py b/poky/bitbake/lib/bb/fetch2/clearcase.py
index 9ed0d9bea..3dd93ad6b 100644
--- a/poky/bitbake/lib/bb/fetch2/clearcase.py
+++ b/poky/bitbake/lib/bb/fetch2/clearcase.py
@@ -54,6 +54,8 @@ import shutil
import bb
from bb.fetch2 import FetchMethod
from bb.fetch2 import FetchError
+from bb.fetch2 import MissingParameterError
+from bb.fetch2 import ParameterError
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
@@ -79,7 +81,7 @@ class ClearCase(FetchMethod):
if 'protocol' in ud.parm:
ud.proto = ud.parm['protocol']
if not ud.proto in ('http', 'https'):
- raise fetch2.ParameterError("Invalid protocol type", ud.url)
+ raise ParameterError("Invalid protocol type", ud.url)
ud.vob = ''
if 'vob' in ud.parm:
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index e171aa7eb..2d1d2cabd 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -464,6 +464,8 @@ class Git(FetchMethod):
if os.path.exists(destdir):
bb.utils.prunedir(destdir)
+ need_lfs = ud.parm.get("lfs", "1") == "1"
+
source_found = False
source_error = []
@@ -493,14 +495,10 @@ class Git(FetchMethod):
runfetchcmd("%s remote set-url origin %s" % (ud.basecmd, repourl), d, workdir=destdir)
if self._contains_lfs(ud, d, destdir):
- path = d.getVar('PATH')
- if path:
- gitlfstool = bb.utils.which(path, "git-lfs", executable=True)
- if not gitlfstool:
- raise bb.fetch2.FetchError("Repository %s has lfs content, install git-lfs plugin on host to download" % (repourl))
+ if need_lfs and not self._find_git_lfs(d):
+ raise bb.fetch2.FetchError("Repository %s has LFS content, install git-lfs on host to download (or set lfs=0 to ignore it)" % (repourl))
else:
- bb.note("Could not find 'PATH'")
-
+ bb.note("Repository %s has LFS content but it is not being fetched" % (repourl))
if not ud.nocheckout:
if subdir != "":
@@ -566,6 +564,13 @@ class Git(FetchMethod):
pass
return False
+ def _find_git_lfs(self, d):
+ """
+ Return True if git-lfs can be found, False otherwise.
+ """
+ import shutil
+ return shutil.which("git-lfs", path=d.getVar('PATH')) is not None
+
def _get_repo_url(self, ud):
"""
Return the repository URL
diff --git a/poky/bitbake/lib/bb/fetch2/npm.py b/poky/bitbake/lib/bb/fetch2/npm.py
index 4427b1bb8..9700e6102 100644
--- a/poky/bitbake/lib/bb/fetch2/npm.py
+++ b/poky/bitbake/lib/bb/fetch2/npm.py
@@ -101,11 +101,19 @@ class Npm(FetchMethod):
return False
return True
- def _runwget(self, ud, d, command, quiet):
- logger.debug(2, "Fetching %s using command '%s'" % (ud.url, command))
- bb.fetch2.check_network_access(d, command, ud.url)
+ def _runpack(self, ud, d, pkgfullname: str, quiet=False) -> str:
+ """
+ Runs npm pack on a full package name.
+ Returns the filename of the downloaded package
+ """
+ bb.fetch2.check_network_access(d, pkgfullname, ud.registry)
dldir = d.getVar("DL_DIR")
- runfetchcmd(command, d, quiet, workdir=dldir)
+ dldir = os.path.join(dldir, ud.prefixdir)
+
+ command = "npm pack {} --registry {}".format(pkgfullname, ud.registry)
+ logger.debug(2, "Fetching {} using command '{}' in {}".format(pkgfullname, command, dldir))
+ filename = runfetchcmd(command, d, quiet, workdir=dldir)
+ return filename.rstrip()
def _unpackdep(self, ud, pkg, data, destdir, dldir, d):
file = data[pkg]['tgz']
@@ -163,6 +171,9 @@ class Npm(FetchMethod):
pkgfullname = pkg
if version != '*' and not '/' in version:
pkgfullname += "@'%s'" % version
+ if pkgfullname in fetchedlist:
+ return
+
logger.debug(2, "Calling getdeps on %s" % pkg)
fetchcmd = "npm view %s --json --registry %s" % (pkgfullname, ud.registry)
output = runfetchcmd(fetchcmd, d, True)
@@ -182,15 +193,10 @@ class Npm(FetchMethod):
if (not blacklist and 'linux' not in pkg_os) or '!linux' in pkg_os:
logger.debug(2, "Skipping %s since it's incompatible with Linux" % pkg)
return
- #logger.debug(2, "Output URL is %s - %s - %s" % (ud.basepath, ud.basename, ud.localfile))
- outputurl = pdata['dist']['tarball']
+ filename = self._runpack(ud, d, pkgfullname)
data[pkg] = {}
- data[pkg]['tgz'] = os.path.basename(outputurl)
- if outputurl in fetchedlist:
- return
-
- self._runwget(ud, d, "%s --directory-prefix=%s %s" % (self.basecmd, ud.prefixdir, outputurl), False)
- fetchedlist.append(outputurl)
+ data[pkg]['tgz'] = filename
+ fetchedlist.append(pkgfullname)
dependencies = pdata.get('dependencies', {})
optionalDependencies = pdata.get('optionalDependencies', {})
@@ -217,17 +223,12 @@ class Npm(FetchMethod):
if obj == pkg:
self._getshrinkeddependencies(obj, data['dependencies'][obj], data['dependencies'][obj]['version'], d, ud, lockdown, manifest, False)
return
- outputurl = "invalid"
- if ('resolved' not in data) or (not data['resolved'].startswith('http://') and not data['resolved'].startswith('https://')):
- # will be the case for ${PN}
- fetchcmd = "npm view %s@%s dist.tarball --registry %s" % (pkg, version, ud.registry)
- logger.debug(2, "Found this matching URL: %s" % str(fetchcmd))
- outputurl = runfetchcmd(fetchcmd, d, True)
- else:
- outputurl = data['resolved']
- self._runwget(ud, d, "%s --directory-prefix=%s %s" % (self.basecmd, ud.prefixdir, outputurl), False)
+
+ pkgnameWithVersion = "{}@{}".format(pkg, version)
+ logger.debug(2, "Get dependencies for {}".format(pkgnameWithVersion))
+ filename = self._runpack(ud, d, pkgnameWithVersion)
manifest[pkg] = {}
- manifest[pkg]['tgz'] = os.path.basename(outputurl).rstrip()
+ manifest[pkg]['tgz'] = filename
manifest[pkg]['deps'] = {}
if pkg in lockdown:
diff --git a/poky/bitbake/lib/bb/fetch2/svn.py b/poky/bitbake/lib/bb/fetch2/svn.py
index 59ce93160..96d666ba3 100644
--- a/poky/bitbake/lib/bb/fetch2/svn.py
+++ b/poky/bitbake/lib/bb/fetch2/svn.py
@@ -145,7 +145,7 @@ class Svn(FetchMethod):
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)
+ output = runfetchcmd("svn propget svn:externals || true", d, workdir=ud.moddir)
if output:
if "--ignore-externals" in svnfetchcmd.split():
bb.warn("%s contains svn:externals." % ud.url)
diff --git a/poky/bitbake/lib/bb/fetch2/wget.py b/poky/bitbake/lib/bb/fetch2/wget.py
index 0f71ee4ea..725586d2b 100644
--- a/poky/bitbake/lib/bb/fetch2/wget.py
+++ b/poky/bitbake/lib/bb/fetch2/wget.py
@@ -257,13 +257,15 @@ class Wget(FetchMethod):
fp.read()
fp.close()
- newheaders = dict((k, v) for k, v in list(req.headers.items())
- if k.lower() not in ("content-length", "content-type"))
- return self.parent.open(urllib.request.Request(req.get_full_url(),
- headers=newheaders,
- origin_req_host=req.origin_req_host,
- unverifiable=True))
-
+ if req.get_method() != 'GET':
+ newheaders = dict((k, v) for k, v in list(req.headers.items())
+ if k.lower() not in ("content-length", "content-type"))
+ return self.parent.open(urllib.request.Request(req.get_full_url(),
+ headers=newheaders,
+ origin_req_host=req.origin_req_host,
+ unverifiable=True))
+
+ raise urllib.request.HTTPError(req, code, msg, headers, None)
# Some servers (e.g. GitHub archives, hosted on Amazon S3) return 403
# Forbidden when they actually mean 405 Method Not Allowed.
diff --git a/poky/bitbake/lib/bb/main.py b/poky/bitbake/lib/bb/main.py
index ca59eb9af..af2880f8d 100755
--- a/poky/bitbake/lib/bb/main.py
+++ b/poky/bitbake/lib/bb/main.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
#
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2003, 2004 Phil Blundell
@@ -255,6 +254,11 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
help="Do not run any setscene tasks. sstate will be ignored and "
"everything needed, built.")
+ parser.add_option("", "--skip-setscene", action="store_true",
+ dest="skipsetscene", default=False,
+ help="Skip setscene tasks if they would be executed. Tasks previously "
+ "restored from sstate will be kept, unlike --no-setscene")
+
parser.add_option("", "--setscene-only", action="store_true",
dest="setsceneonly", default=False,
help="Only run setscene tasks, don't run any real tasks.")
@@ -448,12 +452,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None):
bb.utils.unlockfile(lock)
raise bb.server.process.ProcessTimeout("Bitbake still shutting down as socket exists but no lock?")
if not configParams.server_only:
- try:
- server_connection = bb.server.process.connectProcessServer(sockname, featureset)
- except EOFError:
- # The server may have been shutting down but not closed the socket yet. If that happened,
- # ignore it.
- pass
+ server_connection = bb.server.process.connectProcessServer(sockname, featureset)
if server_connection or configParams.server_only:
break
@@ -464,12 +463,13 @@ def setup_bitbake(configParams, configuration, extrafeatures=None):
raise
retries -= 1
tryno = 8 - retries
- if isinstance(e, (bb.server.process.ProcessTimeout, BrokenPipeError)):
+ if isinstance(e, (bb.server.process.ProcessTimeout, BrokenPipeError, EOFError)):
logger.info("Retrying server connection (#%d)..." % tryno)
else:
logger.info("Retrying server connection (#%d)... (%s)" % (tryno, traceback.format_exc()))
if not retries:
- bb.fatal("Unable to connect to bitbake server, or start one")
+ bb.fatal("Unable to connect to bitbake server, or start one (server startup failures would be in bitbake-cookerdaemon.log).")
+ bb.event.print_ui_queue()
if retries < 5:
time.sleep(5)
diff --git a/poky/bitbake/lib/bb/monitordisk.py b/poky/bitbake/lib/bb/monitordisk.py
index 69b25c772..1a25b0041 100644
--- a/poky/bitbake/lib/bb/monitordisk.py
+++ b/poky/bitbake/lib/bb/monitordisk.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
#
# Copyright (C) 2012 Robert Yang
#
diff --git a/poky/bitbake/lib/bb/namedtuple_with_abc.py b/poky/bitbake/lib/bb/namedtuple_with_abc.py
index c8e1d55c1..646aed6ff 100644
--- a/poky/bitbake/lib/bb/namedtuple_with_abc.py
+++ b/poky/bitbake/lib/bb/namedtuple_with_abc.py
@@ -1,5 +1,4 @@
# http://code.activestate.com/recipes/577629-namedtupleabc-abstract-base-class-mix-in-for-named/
-#!/usr/bin/env python
# Copyright (c) 2011 Jan Kaliszewski (zuo). Available under the MIT License.
#
# SPDX-License-Identifier: MIT
diff --git a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 889f230f7..6f7cf82b2 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
"""
class for handling .bb files
diff --git a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index 71bf61b76..2e84b913d 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
"""
class for handling configuration data files
diff --git a/poky/bitbake/lib/bb/parse/parse_py/__init__.py b/poky/bitbake/lib/bb/parse/parse_py/__init__.py
index cdebe440d..f508afa14 100644
--- a/poky/bitbake/lib/bb/parse/parse_py/__init__.py
+++ b/poky/bitbake/lib/bb/parse/parse_py/__init__.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
"""
BitBake Parsers
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index 010b08501..18049436f 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
"""
BitBake 'RunQueue' implementation
@@ -26,6 +25,7 @@ import subprocess
import pickle
from multiprocessing import Process
import shlex
+import pprint
bblogger = logging.getLogger("BitBake")
logger = logging.getLogger("BitBake.RunQueue")
@@ -68,6 +68,14 @@ def build_tid(mc, fn, taskname):
return "mc:" + mc + ":" + fn + ":" + taskname
return fn + ":" + taskname
+# Index used to pair up potentially matching multiconfig tasks
+# We match on PN, taskname and hash being equal
+def pending_hash_index(tid, rqdata):
+ (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
+ pn = rqdata.dataCaches[mc].pkg_fn[taskfn]
+ h = rqdata.runtaskentries[tid].unihash
+ return pn + ":" + "taskname" + h
+
class RunQueueStats:
"""
Holds statistics on the tasks handled by the associated runQueue
@@ -103,8 +111,6 @@ class RunQueueStats:
# runQueue state machine
runQueuePrepare = 2
runQueueSceneInit = 3
-runQueueSceneRun = 4
-runQueueRunInit = 5
runQueueRunning = 6
runQueueFailed = 7
runQueueCleanUp = 8
@@ -127,7 +133,7 @@ class RunQueueScheduler(object):
self.prio_map = [self.rqdata.runtaskentries.keys()]
- self.buildable = []
+ self.buildable = set()
self.skip_maxthread = {}
self.stamps = {}
for tid in self.rqdata.runtaskentries:
@@ -142,8 +148,11 @@ class RunQueueScheduler(object):
"""
Return the id of the first task we find that is buildable
"""
- self.buildable = [x for x in self.buildable if x not in self.rq.runq_running]
- if not self.buildable:
+ buildable = set(self.buildable)
+ buildable.difference_update(self.rq.runq_running)
+ buildable.difference_update(self.rq.holdoff_tasks)
+ buildable.intersection_update(self.rq.tasks_covered | self.rq.tasks_notcovered)
+ if not buildable:
return None
# Filter out tasks that have a max number of threads that have been exceeded
@@ -159,8 +168,8 @@ class RunQueueScheduler(object):
else:
skip_buildable[rtaskname] = 1
- if len(self.buildable) == 1:
- tid = self.buildable[0]
+ if len(buildable) == 1:
+ tid = buildable.pop()
taskname = taskname_from_tid(tid)
if taskname in skip_buildable and skip_buildable[taskname] >= int(self.skip_maxthread[taskname]):
return None
@@ -175,7 +184,7 @@ class RunQueueScheduler(object):
best = None
bestprio = None
- for tid in self.buildable:
+ for tid in buildable:
taskname = taskname_from_tid(tid)
if taskname in skip_buildable and skip_buildable[taskname] >= int(self.skip_maxthread[taskname]):
continue
@@ -197,7 +206,12 @@ class RunQueueScheduler(object):
return self.next_buildable_task()
def newbuildable(self, task):
- self.buildable.append(task)
+ self.buildable.add(task)
+ # Once tasks are running we don't need to worry about them again
+ self.buildable.difference_update(self.rq.runq_running)
+
+ def removebuildable(self, task):
+ self.buildable.remove(task)
def describe_task(self, taskid):
result = 'ID %s' % taskid
@@ -837,6 +851,20 @@ class RunQueueData:
for depend in depends:
mark_active(depend, depth+1)
+ def invalidate_task(tid, error_nostamp):
+ (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
+ taskdep = self.dataCaches[mc].task_deps[taskfn]
+ if fn + ":" + taskname not in taskData[mc].taskentries:
+ logger.warning("Task %s does not exist, invalidating this task will have no effect" % taskname)
+ if 'nostamp' in taskdep and taskname in taskdep['nostamp']:
+ if error_nostamp:
+ bb.fatal("Task %s is marked nostamp, cannot invalidate this task" % taskname)
+ else:
+ bb.debug(1, "Task %s is marked nostamp, cannot invalidate this task" % taskname)
+ else:
+ logger.verbose("Invalidate task %s, %s", taskname, fn)
+ bb.parse.siggen.invalidate_task(taskname, self.dataCaches[mc], taskfn)
+
self.target_tids = []
for (mc, target, task, fn) in self.targets:
@@ -905,6 +933,8 @@ class RunQueueData:
for tid in list(runall_tids):
mark_active(tid,1)
+ if self.cooker.configuration.force:
+ invalidate_task(tid, False)
for tid in list(self.runtaskentries.keys()):
if tid not in runq_build:
@@ -926,6 +956,8 @@ class RunQueueData:
for tid in list(runonly_tids):
mark_active(tid,1)
+ if self.cooker.configuration.force:
+ invalidate_task(tid, False)
for tid in list(self.runtaskentries.keys()):
if tid not in runq_build:
@@ -1102,20 +1134,6 @@ class RunQueueData:
continue
self.runq_setscene_tids.append(tid)
- def invalidate_task(tid, error_nostamp):
- (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
- taskdep = self.dataCaches[mc].task_deps[taskfn]
- if fn + ":" + taskname not in taskData[mc].taskentries:
- logger.warning("Task %s does not exist, invalidating this task will have no effect" % taskname)
- if 'nostamp' in taskdep and taskname in taskdep['nostamp']:
- if error_nostamp:
- bb.fatal("Task %s is marked nostamp, cannot invalidate this task" % taskname)
- else:
- bb.debug(1, "Task %s is marked nostamp, cannot invalidate this task" % taskname)
- else:
- logger.verbose("Invalidate task %s, %s", taskname, fn)
- bb.parse.siggen.invalidate_task(taskname, self.dataCaches[mc], taskfn)
-
self.init_progress_reporter.next_stage()
# Invalidate task if force mode active
@@ -1146,6 +1164,8 @@ class RunQueueData:
self.init_progress_reporter.next_stage()
+ bb.parse.siggen.set_setscene_tasks(self.runq_setscene_tids)
+
# Iterate over the task list and call into the siggen code
dealtwith = set()
todeal = set(self.runtaskentries)
@@ -1164,10 +1184,9 @@ class RunQueueData:
def prepare_task_hash(self, tid):
procdep = []
for dep in self.runtaskentries[tid].depends:
- procdep.append(fn_from_tid(dep) + "." + taskname_from_tid(dep))
- (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
- self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc])
- self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(taskfn + "." + taskname)
+ procdep.append(dep)
+ self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.dataCaches[mc_from_tid(tid)])
+ self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid)
def dump_data(self):
"""
@@ -1194,7 +1213,6 @@ class RunQueue:
self.stamppolicy = cfgData.getVar("BB_STAMP_POLICY") or "perfile"
self.hashvalidate = cfgData.getVar("BB_HASHCHECK_FUNCTION") or None
- self.setsceneverify = cfgData.getVar("BB_SETSCENE_VERIFY_FUNCTION2") or None
self.depvalidate = cfgData.getVar("BB_SETSCENE_DEPVALID") or None
self.state = runQueuePrepare
@@ -1203,7 +1221,7 @@ class RunQueue:
# Invoked at regular time intervals via the bitbake heartbeat event
# while the build is running. We generate a unique name for the handler
# here, just in case that there ever is more than one RunQueue instance,
- # start the handler when reaching runQueueSceneRun, and stop it when
+ # start the handler when reaching runQueueSceneInit, and stop it when
# done with the build.
self.dm = monitordisk.diskMonitor(cfgData)
self.dm_event_handler_name = '_bb_diskmonitor_' + str(id(self))
@@ -1245,6 +1263,7 @@ class RunQueue:
"buildname" : self.cfgData.getVar("BUILDNAME"),
"date" : self.cfgData.getVar("DATE"),
"time" : self.cfgData.getVar("TIME"),
+ "hashservaddr" : self.cooker.hashservaddr,
}
worker.stdin.write(b"<cookerconfig>" + pickle.dumps(self.cooker.configuration) + b"</cookerconfig>")
@@ -1378,24 +1397,29 @@ class RunQueue:
cache[tid] = iscurrent
return iscurrent
- def validate_hash(self, *, sq_fn, sq_task, sq_hash, sq_hashfn, siginfo, sq_unihash, d):
- locs = {"sq_fn" : sq_fn, "sq_task" : sq_task, "sq_hash" : sq_hash, "sq_hashfn" : sq_hashfn,
- "sq_unihash" : sq_unihash, "siginfo" : siginfo, "d" : d}
+ def validate_hashes(self, tocheck, data, currentcount=0, siginfo=False):
+ valid = set()
+ if self.hashvalidate:
+ sq_data = {}
+ sq_data['hash'] = {}
+ sq_data['hashfn'] = {}
+ sq_data['unihash'] = {}
+ for tid in tocheck:
+ (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
+ sq_data['hash'][tid] = self.rqdata.runtaskentries[tid].hash
+ sq_data['hashfn'][tid] = self.rqdata.dataCaches[mc].hashfn[taskfn]
+ sq_data['unihash'][tid] = self.rqdata.runtaskentries[tid].unihash
- hashvalidate_args = ("(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=siginfo, sq_unihash=sq_unihash)",
- "(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=siginfo)",
- "(sq_fn, sq_task, sq_hash, sq_hashfn, d)")
+ valid = self.validate_hash(sq_data, data, siginfo, currentcount)
- for args in hashvalidate_args[:-1]:
- try:
- call = self.hashvalidate + args
- return bb.utils.better_eval(call, locs)
- except TypeError:
- continue
+ return valid
+
+ def validate_hash(self, sq_data, d, siginfo, currentcount):
+ locs = {"sq_data" : sq_data, "d" : d, "siginfo" : siginfo, "currentcount" : currentcount}
+
+ # Metadata has **kwargs so args can be added, sq_data can also gain new fields
+ call = self.hashvalidate + "(sq_data, d, siginfo=siginfo, currentcount=currentcount)"
- # Call the last entry without a try...catch to propagate any thrown
- # TypeError
- call = self.hashvalidate + hashvalidate_args[-1]
return bb.utils.better_eval(call, locs)
def _execute_runqueue(self):
@@ -1408,7 +1432,6 @@ class RunQueue:
retval = True
if self.state is runQueuePrepare:
- self.rqexe = RunQueueExecuteDummy(self)
# NOTE: if you add, remove or significantly refactor the stages of this
# process then you should recalculate the weightings here. This is quite
# easy to do - just change the next line temporarily to pass debug=True as
@@ -1422,18 +1445,20 @@ class RunQueue:
self.state = runQueueComplete
else:
self.state = runQueueSceneInit
- self.rqdata.init_progress_reporter.next_stage()
-
- # we are ready to run, emit dependency info to any UI or class which
- # needs it
- depgraph = self.cooker.buildDependTree(self, self.rqdata.taskData)
- self.rqdata.init_progress_reporter.next_stage()
- bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.cooker.data)
+ bb.parse.siggen.save_unitaskhashes()
if self.state is runQueueSceneInit:
+ self.rqdata.init_progress_reporter.next_stage()
+
+ # we are ready to run, emit dependency info to any UI or class which
+ # needs it
+ depgraph = self.cooker.buildDependTree(self, self.rqdata.taskData)
+ self.rqdata.init_progress_reporter.next_stage()
+ bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.cooker.data)
+
if not self.dm_event_handler_registered:
res = bb.event.register(self.dm_event_handler_name,
- lambda x: self.dm.check(self) if self.state in [runQueueSceneRun, runQueueRunning, runQueueCleanUp] else False,
+ lambda x: self.dm.check(self) if self.state in [runQueueRunning, runQueueCleanUp] else False,
('bb.event.HeartbeatEvent',))
self.dm_event_handler_registered = True
@@ -1446,24 +1471,23 @@ class RunQueue:
if 'printdiff' in dump:
self.write_diffscenetasks(invalidtasks)
self.state = runQueueComplete
- else:
- self.rqdata.init_progress_reporter.next_stage()
- self.start_worker()
- self.rqdata.init_progress_reporter.next_stage()
- self.rqexe = RunQueueExecuteScenequeue(self)
-
- if self.state is runQueueSceneRun:
- retval = self.rqexe.execute()
- if self.state is runQueueRunInit:
- if self.cooker.configuration.setsceneonly:
- self.state = runQueueComplete
- else:
- # Just in case we didn't setscene
- self.rqdata.init_progress_reporter.finish()
- logger.info("Executing RunQueue Tasks")
- self.rqexe = RunQueueExecuteTasks(self)
- self.state = runQueueRunning
+ if self.state is runQueueSceneInit:
+ self.rqdata.init_progress_reporter.next_stage()
+ self.start_worker()
+ self.rqdata.init_progress_reporter.next_stage()
+ self.rqexe = RunQueueExecute(self)
+
+ # If we don't have any setscene functions, skip execution
+ if len(self.rqdata.runq_setscene_tids) == 0:
+ logger.info('No setscene tasks')
+ for tid in self.rqdata.runtaskentries:
+ if len(self.rqdata.runtaskentries[tid].depends) == 0:
+ self.rqexe.setbuildable(tid)
+ self.rqexe.tasks_notcovered.add(tid)
+ self.rqexe.sqdone = True
+ logger.info('Executing Tasks')
+ self.state = runQueueRunning
if self.state is runQueueRunning:
retval = self.rqexe.execute()
@@ -1478,12 +1502,14 @@ class RunQueue:
self.dm_event_handler_registered = False
if build_done and self.rqexe:
+ bb.parse.siggen.save_unitaskhashes()
self.teardown_workers()
- if self.rqexe.stats.failed:
- logger.info("Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and %d failed.", self.rqexe.stats.completed + self.rqexe.stats.failed, self.rqexe.stats.skipped, self.rqexe.stats.failed)
- else:
- # Let's avoid the word "failed" if nothing actually did
- logger.info("Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and all succeeded.", self.rqexe.stats.completed, self.rqexe.stats.skipped)
+ if self.rqexe:
+ if self.rqexe.stats.failed:
+ logger.info("Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and %d failed.", self.rqexe.stats.completed + self.rqexe.stats.failed, self.rqexe.stats.skipped, self.rqexe.stats.failed)
+ else:
+ # Let's avoid the word "failed" if nothing actually did
+ logger.info("Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and all succeeded.", self.rqexe.stats.completed, self.rqexe.stats.skipped)
if self.state is runQueueFailed:
raise bb.runqueue.TaskFailure(self.rqexe.failed_tids)
@@ -1566,16 +1592,8 @@ class RunQueue:
def print_diffscenetasks(self):
- valid = []
- sq_hash = []
- sq_hashfn = []
- sq_unihash = []
- sq_fn = []
- sq_taskname = []
- sq_task = []
noexec = []
- stamppresent = []
- valid_new = set()
+ tocheck = set()
for tid in self.rqdata.runtaskentries:
(mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
@@ -1585,18 +1603,9 @@ class RunQueue:
noexec.append(tid)
continue
- sq_fn.append(fn)
- sq_hashfn.append(self.rqdata.dataCaches[mc].hashfn[taskfn])
- sq_hash.append(self.rqdata.runtaskentries[tid].hash)
- sq_unihash.append(self.rqdata.runtaskentries[tid].unihash)
- sq_taskname.append(taskname)
- sq_task.append(tid)
-
- valid = self.validate_hash(sq_fn=sq_fn, sq_task=sq_taskname, sq_hash=sq_hash, sq_hashfn=sq_hashfn,
- siginfo=True, sq_unihash=sq_unihash, d=self.cooker.data)
+ tocheck.add(tid)
- for v in valid:
- valid_new.add(sq_task[v])
+ valid_new = self.validate_hashes(tocheck, self.cooker.data, 0, True)
# Tasks which are both setscene and noexec never care about dependencies
# We therefore find tasks which are setscene and noexec and mark their
@@ -1680,6 +1689,7 @@ class RunQueue:
output = bb.siggen.compare_sigfiles(latestmatch, match, recursecb)
bb.plain("\nTask %s:%s couldn't be used from the cache because:\n We need hash %s, closest matching task was %s\n " % (pn, taskname, h, prevh) + '\n '.join(output))
+
class RunQueueExecute:
def __init__(self, rq):
@@ -1691,6 +1701,13 @@ class RunQueueExecute:
self.number_tasks = int(self.cfgData.getVar("BB_NUMBER_THREADS") or 1)
self.scheduler = self.cfgData.getVar("BB_SCHEDULER") or "speed"
+ self.sq_buildable = set()
+ self.sq_running = set()
+ self.sq_live = set()
+
+ self.updated_taskhash_queue = []
+ self.pending_migrations = set()
+
self.runq_buildable = set()
self.runq_running = set()
self.runq_complete = set()
@@ -1698,9 +1715,17 @@ class RunQueueExecute:
self.build_stamps = {}
self.build_stamps2 = []
self.failed_tids = []
+ self.sq_deferred = {}
self.stampcache = {}
+ self.holdoff_tasks = set()
+ self.holdoff_need_update = True
+ self.sqdone = False
+
+ self.stats = RunQueueStats(len(self.rqdata.runtaskentries))
+ self.sq_stats = RunQueueStats(len(self.rqdata.runq_setscene_tids))
+
for mc in rq.worker:
rq.worker[mc].pipe.setrunqueueexec(self)
for mc in rq.fakeworker:
@@ -1709,6 +1734,34 @@ class RunQueueExecute:
if self.number_tasks <= 0:
bb.fatal("Invalid BB_NUMBER_THREADS %s" % self.number_tasks)
+ # List of setscene tasks which we've covered
+ self.scenequeue_covered = set()
+ # List of tasks which are covered (including setscene ones)
+ self.tasks_covered = set()
+ self.tasks_scenequeue_done = set()
+ self.scenequeue_notcovered = set()
+ self.tasks_notcovered = set()
+ self.scenequeue_notneeded = set()
+
+ # We can't skip specified target tasks which aren't setscene tasks
+ self.cantskip = set(self.rqdata.target_tids)
+ self.cantskip.difference_update(self.rqdata.runq_setscene_tids)
+ self.cantskip.intersection_update(self.rqdata.runtaskentries)
+
+ schedulers = self.get_schedulers()
+ for scheduler in schedulers:
+ if self.scheduler == scheduler.name:
+ self.sched = scheduler(self, self.rqdata)
+ logger.debug(1, "Using runqueue scheduler '%s'", scheduler.name)
+ break
+ else:
+ bb.fatal("Invalid scheduler '%s'. Available schedulers: %s" %
+ (self.scheduler, ", ".join(obj.name for obj in schedulers)))
+
+ #if len(self.rqdata.runq_setscene_tids) > 0:
+ self.sqdata = SQData()
+ build_scenequeue_data(self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self)
+
def runqueue_process_waitpid(self, task, status):
# self.build_stamps[pid] may not exist when use shared work directory.
@@ -1716,10 +1769,17 @@ class RunQueueExecute:
self.build_stamps2.remove(self.build_stamps[task])
del self.build_stamps[task]
- if status != 0:
- self.task_fail(task, status)
+ if task in self.sq_live:
+ if status != 0:
+ self.sq_task_fail(task, status)
+ else:
+ self.sq_task_complete(task)
+ self.sq_live.remove(task)
else:
- self.task_complete(task)
+ if status != 0:
+ self.task_fail(task, status)
+ else:
+ self.task_complete(task)
return True
def finish_now(self):
@@ -1748,8 +1808,9 @@ class RunQueueExecute:
def finish(self):
self.rq.state = runQueueCleanUp
- if self.stats.active > 0:
- bb.event.fire(runQueueExitWait(self.stats.active), self.cfgData)
+ active = self.stats.active + self.sq_stats.active
+ if active > 0:
+ bb.event.fire(runQueueExitWait(active), self.cfgData)
self.rq.read_workers()
return self.rq.active_fds()
@@ -1760,10 +1821,14 @@ class RunQueueExecute:
self.rq.state = runQueueComplete
return True
- def check_dependencies(self, task, taskdeps, setscene = False):
+ # Used by setscene only
+ def check_dependencies(self, task, taskdeps):
if not self.rq.depvalidate:
return False
+ # Must not edit parent data
+ taskdeps = set(taskdeps)
+
taskdata = {}
taskdeps.add(task)
for dep in taskdeps:
@@ -1776,121 +1841,10 @@ class RunQueueExecute:
return valid
def can_start_task(self):
- can_start = self.stats.active < self.number_tasks
+ active = self.stats.active + self.sq_stats.active
+ can_start = active < self.number_tasks
return can_start
-class RunQueueExecuteDummy(RunQueueExecute):
- def __init__(self, rq):
- self.rq = rq
- self.stats = RunQueueStats(0)
-
- def finish(self):
- self.rq.state = runQueueComplete
- return
-
-class RunQueueExecuteTasks(RunQueueExecute):
- def __init__(self, rq):
- RunQueueExecute.__init__(self, rq)
-
- self.stats = RunQueueStats(len(self.rqdata.runtaskentries))
-
- self.stampcache = {}
-
- initial_covered = self.rq.scenequeue_covered.copy()
-
- # Mark initial buildable tasks
- for tid in self.rqdata.runtaskentries:
- if len(self.rqdata.runtaskentries[tid].depends) == 0:
- self.runq_buildable.add(tid)
- if len(self.rqdata.runtaskentries[tid].revdeps) > 0 and self.rqdata.runtaskentries[tid].revdeps.issubset(self.rq.scenequeue_covered):
- self.rq.scenequeue_covered.add(tid)
-
- found = True
- while found:
- found = False
- for tid in self.rqdata.runtaskentries:
- if tid in self.rq.scenequeue_covered:
- continue
- logger.debug(1, 'Considering %s: %s' % (tid, str(self.rqdata.runtaskentries[tid].revdeps)))
-
- if len(self.rqdata.runtaskentries[tid].revdeps) > 0 and self.rqdata.runtaskentries[tid].revdeps.issubset(self.rq.scenequeue_covered):
- if tid in self.rq.scenequeue_notcovered:
- continue
- found = True
- self.rq.scenequeue_covered.add(tid)
-
- logger.debug(1, 'Skip list (pre setsceneverify) %s', sorted(self.rq.scenequeue_covered))
-
- # Allow the metadata to elect for setscene tasks to run anyway
- covered_remove = set()
- if self.rq.setsceneverify:
- invalidtasks = []
- tasknames = {}
- fns = {}
- for tid in self.rqdata.runtaskentries:
- (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
- taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
- fns[tid] = taskfn
- tasknames[tid] = taskname
- if 'noexec' in taskdep and taskname in taskdep['noexec']:
- continue
- if self.rq.check_stamp_task(tid, taskname + "_setscene", cache=self.stampcache):
- logger.debug(2, 'Setscene stamp current for task %s', tid)
- continue
- if self.rq.check_stamp_task(tid, taskname, recurse = True, cache=self.stampcache):
- logger.debug(2, 'Normal stamp current for task %s', tid)
- continue
- invalidtasks.append(tid)
-
- call = self.rq.setsceneverify + "(covered, tasknames, fns, d, invalidtasks=invalidtasks)"
- locs = { "covered" : self.rq.scenequeue_covered, "tasknames" : tasknames, "fns" : fns, "d" : self.cooker.data, "invalidtasks" : invalidtasks }
- covered_remove = bb.utils.better_eval(call, locs)
-
- def removecoveredtask(tid):
- (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
- taskname = taskname + '_setscene'
- bb.build.del_stamp(taskname, self.rqdata.dataCaches[mc], taskfn)
- self.rq.scenequeue_covered.remove(tid)
-
- toremove = covered_remove | self.rq.scenequeue_notcovered
- for task in toremove:
- logger.debug(1, 'Not skipping task %s due to setsceneverify', task)
- while toremove:
- covered_remove = []
- for task in toremove:
- if task in self.rq.scenequeue_covered:
- removecoveredtask(task)
- for deptask in self.rqdata.runtaskentries[task].depends:
- if deptask not in self.rq.scenequeue_covered:
- continue
- if deptask in toremove or deptask in covered_remove or deptask in initial_covered:
- continue
- logger.debug(1, 'Task %s depends on task %s so not skipping' % (task, deptask))
- covered_remove.append(deptask)
- toremove = covered_remove
-
- logger.debug(1, 'Full skip list %s', self.rq.scenequeue_covered)
-
-
- for mc in self.rqdata.dataCaches:
- target_pairs = []
- for tid in self.rqdata.target_tids:
- (tidmc, fn, taskname, _) = split_tid_mcfn(tid)
- if tidmc == mc:
- target_pairs.append((fn, taskname))
-
- event.fire(bb.event.StampUpdate(target_pairs, self.rqdata.dataCaches[mc].stamp), self.cfgData)
-
- schedulers = self.get_schedulers()
- for scheduler in schedulers:
- if self.scheduler == scheduler.name:
- self.sched = scheduler(self, self.rqdata)
- logger.debug(1, "Using runqueue scheduler '%s'", scheduler.name)
- break
- else:
- bb.fatal("Invalid scheduler '%s'. Available schedulers: %s" %
- (self.scheduler, ", ".join(obj.name for obj in schedulers)))
-
def get_schedulers(self):
schedulers = set(obj for obj in globals().values()
if type(obj) is type and
@@ -1962,67 +1916,172 @@ class RunQueueExecuteTasks(RunQueueExecute):
self.stats.taskSkipped()
self.stats.taskCompleted()
+ def summarise_scenequeue_errors(self):
+ err = False
+ if not self.sqdone:
+ logger.debug(1, 'We could skip tasks %s', "\n".join(sorted(self.scenequeue_covered)))
+ completeevent = sceneQueueComplete(self.sq_stats, self.rq)
+ bb.event.fire(completeevent, self.cfgData)
+ if self.sq_deferred:
+ logger.error("Scenequeue had deferred entries: %s" % pprint.pformat(self.sq_deferred))
+ err = True
+ if self.updated_taskhash_queue:
+ logger.error("Scenequeue had unprocessed changed taskhash entries: %s" % pprint.pformat(self.updated_taskhash_queue))
+ err = True
+ if self.holdoff_tasks:
+ logger.error("Scenequeue had holdoff tasks: %s" % pprint.pformat(self.holdoff_tasks))
+ err = True
+
+ for tid in self.rqdata.runq_setscene_tids:
+ if tid not in self.scenequeue_covered and tid not in self.scenequeue_notcovered:
+ err = True
+ logger.error("Setscene Task %s was never marked as covered or not covered" % tid)
+ if tid not in self.sq_buildable:
+ err = True
+ logger.error("Setscene Task %s was never marked as buildable" % tid)
+ if tid not in self.sq_running:
+ err = True
+ logger.error("Setscene Task %s was never marked as running" % tid)
+
+ for x in self.rqdata.runtaskentries:
+ if x not in self.tasks_covered and x not in self.tasks_notcovered:
+ logger.error("Task %s was never moved from the setscene queue" % x)
+ err = True
+ if x not in self.tasks_scenequeue_done:
+ logger.error("Task %s was never processed by the setscene code" % x)
+ err = True
+ if len(self.rqdata.runtaskentries[x].depends) == 0 and x not in self.runq_buildable:
+ logger.error("Task %s was never marked as buildable by the setscene code" % x)
+ err = True
+ return err
+
+
def execute(self):
"""
- Run the tasks in a queue prepared by rqdata.prepare()
+ Run the tasks in a queue prepared by prepare_runqueue
"""
- if self.rqdata.setscenewhitelist is not None and not self.rqdata.setscenewhitelist_checked:
- self.rqdata.setscenewhitelist_checked = True
-
- # Check tasks that are going to run against the whitelist
- def check_norun_task(tid, showerror=False):
- (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
- # Ignore covered tasks
- if tid in self.rq.scenequeue_covered:
- return False
- # Ignore stamped tasks
- if self.rq.check_stamp_task(tid, taskname, cache=self.stampcache):
- return False
- # Ignore noexec tasks
- taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
- if 'noexec' in taskdep and taskname in taskdep['noexec']:
- return False
+ self.rq.read_workers()
+ self.process_possible_migrations()
- pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn]
- if not check_setscene_enforce_whitelist(pn, taskname, self.rqdata.setscenewhitelist):
- if showerror:
- if tid in self.rqdata.runq_setscene_tids:
- logger.error('Task %s.%s attempted to execute unexpectedly and should have been setscened' % (pn, taskname))
+ task = None
+ if not self.sqdone and self.can_start_task():
+ # Find the next setscene to run
+ for nexttask in sorted(self.rqdata.runq_setscene_tids):
+ if nexttask in self.sq_buildable and nexttask not in self.sq_running and self.sqdata.stamps[nexttask] not in self.build_stamps.values():
+ if nexttask not in self.sqdata.unskippable and len(self.sqdata.sq_revdeps[nexttask]) > 0 and self.sqdata.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and self.check_dependencies(nexttask, self.sqdata.sq_revdeps[nexttask]):
+ if nexttask not in self.rqdata.target_tids:
+ logger.debug(2, "Skipping setscene for task %s" % nexttask)
+ self.sq_task_skip(nexttask)
+ self.scenequeue_notneeded.add(nexttask)
+ if nexttask in self.sq_deferred:
+ del self.sq_deferred[nexttask]
+ return True
+ # If covered tasks are running, need to wait for them to complete
+ for t in self.sqdata.sq_covered_tasks[nexttask]:
+ if t in self.runq_running and t not in self.runq_complete:
+ continue
+ if nexttask in self.sq_deferred:
+ if self.sq_deferred[nexttask] not in self.runq_complete:
+ continue
+ logger.debug(1, "Task %s no longer deferred" % nexttask)
+ del self.sq_deferred[nexttask]
+ valid = self.rq.validate_hashes(set([nexttask]), self.cooker.data, 0, False)
+ if not valid:
+ logger.debug(1, "%s didn't become valid, skipping setscene" % nexttask)
+ self.sq_task_failoutright(nexttask)
+ return True
else:
- logger.error('Task %s.%s attempted to execute unexpectedly' % (pn, taskname))
- return True
- return False
- # Look to see if any tasks that we think shouldn't run are going to
- unexpected = False
- for tid in self.rqdata.runtaskentries:
- if check_norun_task(tid):
- unexpected = True
+ self.sqdata.outrightfail.remove(nexttask)
+ if nexttask in self.sqdata.outrightfail:
+ logger.debug(2, 'No package found, so skipping setscene task %s', nexttask)
+ self.sq_task_failoutright(nexttask)
+ return True
+ if nexttask in self.sqdata.unskippable:
+ logger.debug(2, "Setscene task %s is unskippable" % nexttask)
+ task = nexttask
break
- if unexpected:
- # Run through the tasks in the rough order they'd have executed and print errors
- # (since the order can be useful - usually missing sstate for the last few tasks
- # is the cause of the problem)
- task = self.sched.next()
- while task is not None:
- check_norun_task(task, showerror=True)
- self.task_skip(task, 'Setscene enforcement check')
- task = self.sched.next()
+ if task is not None:
+ (mc, fn, taskname, taskfn) = split_tid_mcfn(task)
+ taskname = taskname + "_setscene"
+ if self.rq.check_stamp_task(task, taskname_from_tid(task), recurse = True, cache=self.stampcache):
+ logger.debug(2, 'Stamp for underlying task %s is current, so skipping setscene variant', task)
+ self.sq_task_failoutright(task)
+ return True
- self.rq.state = runQueueCleanUp
+ if self.cooker.configuration.force:
+ if task in self.rqdata.target_tids:
+ self.sq_task_failoutright(task)
+ return True
+
+ if self.rq.check_stamp_task(task, taskname, cache=self.stampcache):
+ logger.debug(2, 'Setscene stamp current task %s, so skip it and its dependencies', task)
+ self.sq_task_skip(task)
return True
- self.rq.read_workers()
+ if self.cooker.configuration.skipsetscene:
+ logger.debug(2, 'No setscene tasks should be executed. Skipping %s', task)
+ self.sq_task_failoutright(task)
+ return True
- if self.stats.total == 0:
- # nothing to do
- self.rq.state = runQueueCleanUp
+ startevent = sceneQueueTaskStarted(task, self.sq_stats, self.rq)
+ bb.event.fire(startevent, self.cfgData)
+
+ taskdepdata = self.sq_build_taskdepdata(task)
+
+ taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
+ taskhash = self.rqdata.get_task_hash(task)
+ unihash = self.rqdata.get_task_unihash(task)
+ if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run:
+ if not mc in self.rq.fakeworker:
+ self.rq.start_fakeworker(self, mc)
+ self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
+ self.rq.fakeworker[mc].process.stdin.flush()
+ else:
+ self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
+ self.rq.worker[mc].process.stdin.flush()
+
+ self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)
+ self.build_stamps2.append(self.build_stamps[task])
+ self.sq_running.add(task)
+ self.sq_live.add(task)
+ self.sq_stats.taskActive()
+ if self.can_start_task():
+ return True
+
+ self.update_holdofftasks()
+
+ if not self.sq_live and not self.sqdone and not self.sq_deferred and not self.updated_taskhash_queue and not self.holdoff_tasks:
+ logger.info("Setscene tasks completed")
+
+ err = self.summarise_scenequeue_errors()
+ if err:
+ self.rq.state = runQueueFailed
+ return True
+
+ if self.cooker.configuration.setsceneonly:
+ self.rq.state = runQueueComplete
+ return True
+ self.sqdone = True
+
+ if self.stats.total == 0:
+ # nothing to do
+ self.rq.state = runQueueComplete
+ return True
- task = self.sched.next()
+ if self.cooker.configuration.setsceneonly:
+ task = None
+ else:
+ task = self.sched.next()
if task is not None:
(mc, fn, taskname, taskfn) = split_tid_mcfn(task)
- if task in self.rq.scenequeue_covered:
+ if self.rqdata.setscenewhitelist is not None:
+ if self.check_setscenewhitelist(task):
+ self.task_fail(task, "setscene whitelist")
+ return True
+
+ if task in self.tasks_covered:
logger.debug(2, "Setscene covered task %s", task)
self.task_skip(task, "covered")
return True
@@ -2075,43 +2134,58 @@ class RunQueueExecuteTasks(RunQueueExecute):
if self.can_start_task():
return True
- if self.stats.active > 0:
+ if self.stats.active > 0 or self.sq_stats.active > 0:
self.rq.read_workers()
return self.rq.active_fds()
+ # No more tasks can be run. If we have deferred setscene tasks we should run them.
+ if self.sq_deferred:
+ tid = self.sq_deferred.pop(list(self.sq_deferred.keys())[0])
+ logger.warning("Runqeueue deadlocked on deferred tasks, forcing task %s" % tid)
+ self.sq_task_failoutright(tid)
+ return True
+
if len(self.failed_tids) != 0:
self.rq.state = runQueueFailed
return True
# Sanity Checks
+ err = self.summarise_scenequeue_errors()
for task in self.rqdata.runtaskentries:
if task not in self.runq_buildable:
logger.error("Task %s never buildable!", task)
- if task not in self.runq_running:
+ err = True
+ elif task not in self.runq_running:
logger.error("Task %s never ran!", task)
- if task not in self.runq_complete:
+ err = True
+ elif task not in self.runq_complete:
logger.error("Task %s never completed!", task)
- self.rq.state = runQueueComplete
+ err = True
+
+ if err:
+ self.rq.state = runQueueFailed
+ else:
+ self.rq.state = runQueueComplete
return True
- def filtermcdeps(self, task, deps):
+ def filtermcdeps(self, task, mc, deps):
ret = set()
- mainmc = mc_from_tid(task)
for dep in deps:
- mc = mc_from_tid(dep)
- if mc != mainmc:
+ thismc = mc_from_tid(dep)
+ if thismc != mc:
continue
ret.add(dep)
return ret
- # We filter out multiconfig dependencies from taskdepdata we pass to the tasks
+ # We filter out multiconfig dependencies from taskdepdata we pass to the tasks
# as most code can't handle them
def build_taskdepdata(self, task):
taskdepdata = {}
- next = self.rqdata.runtaskentries[task].depends
+ mc = mc_from_tid(task)
+ next = self.rqdata.runtaskentries[task].depends.copy()
next.add(task)
- next = self.filtermcdeps(task, next)
+ next = self.filtermcdeps(task, mc, next)
while next:
additional = []
for revdep in next:
@@ -2121,7 +2195,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
provides = self.rqdata.dataCaches[mc].fn_provides[taskfn]
taskhash = self.rqdata.runtaskentries[revdep].hash
unihash = self.rqdata.runtaskentries[revdep].unihash
- deps = self.filtermcdeps(task, deps)
+ deps = self.filtermcdeps(task, mc, deps)
taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash]
for revdep2 in deps:
if revdep2 not in taskdepdata:
@@ -2131,270 +2205,197 @@ class RunQueueExecuteTasks(RunQueueExecute):
#bb.note("Task %s: " % task + str(taskdepdata).replace("], ", "],\n"))
return taskdepdata
-class RunQueueExecuteScenequeue(RunQueueExecute):
- def __init__(self, rq):
- RunQueueExecute.__init__(self, rq)
+ def update_holdofftasks(self):
- self.scenequeue_covered = set()
- self.scenequeue_notcovered = set()
- self.scenequeue_notneeded = set()
-
- # If we don't have any setscene functions, skip this step
- if len(self.rqdata.runq_setscene_tids) == 0:
- rq.scenequeue_covered = set()
- rq.scenequeue_notcovered = set()
- rq.state = runQueueRunInit
+ if not self.holdoff_need_update:
return
- self.stats = RunQueueStats(len(self.rqdata.runq_setscene_tids))
+ notcovered = set(self.scenequeue_notcovered)
+ notcovered |= self.cantskip
+ for tid in self.scenequeue_notcovered:
+ notcovered |= self.sqdata.sq_covered_tasks[tid]
+ notcovered |= self.sqdata.unskippable.difference(self.rqdata.runq_setscene_tids)
+ notcovered.intersection_update(self.tasks_scenequeue_done)
- sq_revdeps = {}
- sq_revdeps_new = {}
- sq_revdeps_squash = {}
- self.sq_harddeps = {}
- self.stamps = {}
+ covered = set(self.scenequeue_covered)
+ for tid in self.scenequeue_covered:
+ covered |= self.sqdata.sq_covered_tasks[tid]
+ covered.difference_update(notcovered)
+ covered.intersection_update(self.tasks_scenequeue_done)
- # We need to construct a dependency graph for the setscene functions. Intermediate
- # dependencies between the setscene tasks only complicate the code. This code
- # therefore aims to collapse the huge runqueue dependency tree into a smaller one
- # only containing the setscene functions.
-
- self.rqdata.init_progress_reporter.next_stage()
-
- # First process the chains up to the first setscene task.
- endpoints = {}
- for tid in self.rqdata.runtaskentries:
- sq_revdeps[tid] = copy.copy(self.rqdata.runtaskentries[tid].revdeps)
- sq_revdeps_new[tid] = set()
- if (len(sq_revdeps[tid]) == 0) and tid not in self.rqdata.runq_setscene_tids:
- #bb.warn("Added endpoint %s" % (tid))
- endpoints[tid] = set()
-
- self.rqdata.init_progress_reporter.next_stage()
+ for tid in notcovered | covered:
+ if len(self.rqdata.runtaskentries[tid].depends) == 0:
+ self.setbuildable(tid)
+ elif self.rqdata.runtaskentries[tid].depends.issubset(self.runq_complete):
+ self.setbuildable(tid)
- # Secondly process the chains between setscene tasks.
- for tid in self.rqdata.runq_setscene_tids:
- #bb.warn("Added endpoint 2 %s" % (tid))
- for dep in self.rqdata.runtaskentries[tid].depends:
- if tid in sq_revdeps[dep]:
- sq_revdeps[dep].remove(tid)
- if dep not in endpoints:
- endpoints[dep] = set()
- #bb.warn(" Added endpoint 3 %s" % (dep))
- endpoints[dep].add(tid)
-
- self.rqdata.init_progress_reporter.next_stage()
-
- def process_endpoints(endpoints):
- newendpoints = {}
- for point, task in endpoints.items():
- tasks = set()
- if task:
- tasks |= task
- if sq_revdeps_new[point]:
- tasks |= sq_revdeps_new[point]
- sq_revdeps_new[point] = set()
- if point in self.rqdata.runq_setscene_tids:
- sq_revdeps_new[point] = tasks
- tasks = set()
- continue
- for dep in self.rqdata.runtaskentries[point].depends:
- if point in sq_revdeps[dep]:
- sq_revdeps[dep].remove(point)
- if tasks:
- sq_revdeps_new[dep] |= tasks
- if len(sq_revdeps[dep]) == 0 and dep not in self.rqdata.runq_setscene_tids:
- newendpoints[dep] = task
- if len(newendpoints) != 0:
- process_endpoints(newendpoints)
-
- process_endpoints(endpoints)
-
- self.rqdata.init_progress_reporter.next_stage()
-
- # Build a list of setscene tasks which are "unskippable"
- # These are direct endpoints referenced by the build
- endpoints2 = {}
- sq_revdeps2 = {}
- sq_revdeps_new2 = {}
- def process_endpoints2(endpoints):
- newendpoints = {}
- for point, task in endpoints.items():
- tasks = set([point])
- if task:
- tasks |= task
- if sq_revdeps_new2[point]:
- tasks |= sq_revdeps_new2[point]
- sq_revdeps_new2[point] = set()
- if point in self.rqdata.runq_setscene_tids:
- sq_revdeps_new2[point] = tasks
- for dep in self.rqdata.runtaskentries[point].depends:
- if point in sq_revdeps2[dep]:
- sq_revdeps2[dep].remove(point)
- if tasks:
- sq_revdeps_new2[dep] |= tasks
- if (len(sq_revdeps2[dep]) == 0 or len(sq_revdeps_new2[dep]) != 0) and dep not in self.rqdata.runq_setscene_tids:
- newendpoints[dep] = tasks
- if len(newendpoints) != 0:
- process_endpoints2(newendpoints)
- for tid in self.rqdata.runtaskentries:
- sq_revdeps2[tid] = copy.copy(self.rqdata.runtaskentries[tid].revdeps)
- sq_revdeps_new2[tid] = set()
- if (len(sq_revdeps2[tid]) == 0) and tid not in self.rqdata.runq_setscene_tids:
- endpoints2[tid] = set()
- process_endpoints2(endpoints2)
- self.unskippable = []
- for tid in self.rqdata.runq_setscene_tids:
- if sq_revdeps_new2[tid]:
- self.unskippable.append(tid)
+ self.tasks_covered = covered
+ self.tasks_notcovered = notcovered
- self.rqdata.init_progress_reporter.next_stage(len(self.rqdata.runtaskentries))
+ self.holdoff_tasks = set()
- for taskcounter, tid in enumerate(self.rqdata.runtaskentries):
- if tid in self.rqdata.runq_setscene_tids:
- deps = set()
- for dep in sq_revdeps_new[tid]:
- deps.add(dep)
- sq_revdeps_squash[tid] = deps
- elif len(sq_revdeps_new[tid]) != 0:
- bb.msg.fatal("RunQueue", "Something went badly wrong during scenequeue generation, aborting. Please report this problem.")
- self.rqdata.init_progress_reporter.update(taskcounter)
-
- self.rqdata.init_progress_reporter.next_stage()
-
- # Resolve setscene inter-task dependencies
- # e.g. do_sometask_setscene[depends] = "targetname:do_someothertask_setscene"
- # Note that anything explicitly depended upon will have its reverse dependencies removed to avoid circular dependencies
for tid in self.rqdata.runq_setscene_tids:
- (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
- realtid = tid + "_setscene"
- idepends = self.rqdata.taskData[mc].taskentries[realtid].idepends
- self.stamps[tid] = bb.build.stampfile(taskname + "_setscene", self.rqdata.dataCaches[mc], taskfn, noextra=True)
- for (depname, idependtask) in idepends:
-
- if depname not in self.rqdata.taskData[mc].build_targets:
- continue
-
- depfn = self.rqdata.taskData[mc].build_targets[depname][0]
- if depfn is None:
- continue
- deptid = depfn + ":" + idependtask.replace("_setscene", "")
- if deptid not in self.rqdata.runtaskentries:
- bb.msg.fatal("RunQueue", "Task %s depends upon non-existent task %s:%s" % (realtid, depfn, idependtask))
-
- if not deptid in self.sq_harddeps:
- self.sq_harddeps[deptid] = set()
- self.sq_harddeps[deptid].add(tid)
+ if tid not in self.scenequeue_covered and tid not in self.scenequeue_notcovered:
+ self.holdoff_tasks.add(tid)
- sq_revdeps_squash[tid].add(deptid)
- # Have to zero this to avoid circular dependencies
- sq_revdeps_squash[deptid] = set()
-
- self.rqdata.init_progress_reporter.next_stage()
-
- for task in self.sq_harddeps:
- for dep in self.sq_harddeps[task]:
- sq_revdeps_squash[dep].add(task)
-
- self.rqdata.init_progress_reporter.next_stage()
-
- #for tid in sq_revdeps_squash:
- # for dep in sq_revdeps_squash[tid]:
- # data = data + "\n %s" % dep
- # bb.warn("Task %s_setscene: is %s " % (tid, data
-
- self.sq_deps = {}
- self.sq_revdeps = sq_revdeps_squash
- self.sq_revdeps2 = copy.deepcopy(self.sq_revdeps)
-
- for tid in self.sq_revdeps:
- self.sq_deps[tid] = set()
- for tid in self.sq_revdeps:
- for dep in self.sq_revdeps[tid]:
- self.sq_deps[dep].add(tid)
-
- self.rqdata.init_progress_reporter.next_stage()
-
- for tid in self.sq_revdeps:
- if len(self.sq_revdeps[tid]) == 0:
- self.runq_buildable.add(tid)
-
- self.rqdata.init_progress_reporter.finish()
-
- self.outrightfail = []
- if self.rq.hashvalidate:
- sq_hash = []
- sq_hashfn = []
- sq_unihash = []
- sq_fn = []
- sq_taskname = []
- sq_task = []
- noexec = []
- stamppresent = []
- for tid in self.sq_revdeps:
- (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
+ for tid in self.holdoff_tasks.copy():
+ for dep in self.sqdata.sq_covered_tasks[tid]:
+ if dep not in self.runq_complete:
+ self.holdoff_tasks.add(dep)
- taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
+ self.holdoff_need_update = False
- if 'noexec' in taskdep and taskname in taskdep['noexec']:
- noexec.append(tid)
- self.task_skip(tid)
- bb.build.make_stamp(taskname + "_setscene", self.rqdata.dataCaches[mc], taskfn)
- continue
+ def process_possible_migrations(self):
- if self.rq.check_stamp_task(tid, taskname + "_setscene", cache=self.stampcache):
- logger.debug(2, 'Setscene stamp current for task %s', tid)
- stamppresent.append(tid)
- self.task_skip(tid)
- continue
+ changed = set()
+ for tid, unihash in self.updated_taskhash_queue.copy():
+ if tid in self.runq_running and tid not in self.runq_complete:
+ continue
- if self.rq.check_stamp_task(tid, taskname, recurse = True, cache=self.stampcache):
- logger.debug(2, 'Normal stamp current for task %s', tid)
- stamppresent.append(tid)
- self.task_skip(tid)
- continue
+ self.updated_taskhash_queue.remove((tid, unihash))
+
+ if unihash != self.rqdata.runtaskentries[tid].unihash:
+ logger.info("Task %s unihash changed to %s" % (tid, unihash))
+ self.rqdata.runtaskentries[tid].unihash = unihash
+ bb.parse.siggen.set_unihash(tid, unihash)
+
+ # Work out all tasks which depend on this one
+ total = set()
+ next = set(self.rqdata.runtaskentries[tid].revdeps)
+ while next:
+ current = next.copy()
+ total = total |next
+ next = set()
+ for ntid in current:
+ next |= self.rqdata.runtaskentries[ntid].revdeps
+ next.difference_update(total)
+
+ # Now iterate those tasks in dependency order to regenerate their taskhash/unihash
+ done = set()
+ next = set(self.rqdata.runtaskentries[tid].revdeps)
+ while next:
+ current = next.copy()
+ next = set()
+ for tid in current:
+ if not self.rqdata.runtaskentries[tid].depends.isdisjoint(total):
+ continue
+ procdep = []
+ for dep in self.rqdata.runtaskentries[tid].depends:
+ procdep.append(dep)
+ orighash = self.rqdata.runtaskentries[tid].hash
+ self.rqdata.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.rqdata.dataCaches[mc_from_tid(tid)])
+ origuni = self.rqdata.runtaskentries[tid].unihash
+ self.rqdata.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid)
+ logger.debug(1, "Task %s hash changes: %s->%s %s->%s" % (tid, orighash, self.rqdata.runtaskentries[tid].hash, origuni, self.rqdata.runtaskentries[tid].unihash))
+ next |= self.rqdata.runtaskentries[tid].revdeps
+ changed.add(tid)
+ total.remove(tid)
+ next.intersection_update(total)
+
+ if changed:
+ for mc in self.rq.worker:
+ self.rq.worker[mc].process.stdin.write(b"<newtaskhashes>" + pickle.dumps(bb.parse.siggen.get_taskhashes()) + b"</newtaskhashes>")
+ for mc in self.rq.fakeworker:
+ self.rq.fakeworker[mc].process.stdin.write(b"<newtaskhashes>" + pickle.dumps(bb.parse.siggen.get_taskhashes()) + b"</newtaskhashes>")
+
+ logger.debug(1, pprint.pformat("Tasks changed:\n%s" % (changed)))
+
+ for tid in changed:
+ if tid not in self.rqdata.runq_setscene_tids:
+ continue
+ if tid in self.runq_running:
+ continue
+ if tid in self.scenequeue_covered:
+ # Potentially risky, should we report this hash as a match?
+ logger.info("Already covered setscene for %s so ignoring rehash" % (tid))
+ continue
+ if tid not in self.pending_migrations:
+ self.pending_migrations.add(tid)
+
+ for tid in self.pending_migrations.copy():
+ valid = True
+ # Check no tasks this covers are running
+ for dep in self.sqdata.sq_covered_tasks[tid]:
+ if dep in self.runq_running and dep not in self.runq_complete:
+ logger.debug(2, "Task %s is running which blocks setscene for %s from running" % (dep, tid))
+ valid = False
+ break
+ if not valid:
+ continue
- sq_fn.append(fn)
- sq_hashfn.append(self.rqdata.dataCaches[mc].hashfn[taskfn])
- sq_hash.append(self.rqdata.runtaskentries[tid].hash)
- sq_unihash.append(self.rqdata.runtaskentries[tid].unihash)
- sq_taskname.append(taskname)
- sq_task.append(tid)
+ self.pending_migrations.remove(tid)
+ changed = True
- self.cooker.data.setVar("BB_SETSCENE_STAMPCURRENT_COUNT", len(stamppresent))
+ if tid in self.tasks_scenequeue_done:
+ self.tasks_scenequeue_done.remove(tid)
+ for dep in self.sqdata.sq_covered_tasks[tid]:
+ if dep not in self.runq_complete:
+ if dep in self.tasks_scenequeue_done and dep not in self.sqdata.unskippable:
+ self.tasks_scenequeue_done.remove(dep)
+
+ if tid in self.sq_buildable:
+ self.sq_buildable.remove(tid)
+ if tid in self.sq_running:
+ self.sq_running.remove(tid)
+ if self.sqdata.sq_revdeps[tid].issubset(self.scenequeue_covered | self.scenequeue_notcovered):
+ if tid not in self.sq_buildable:
+ self.sq_buildable.add(tid)
+ if len(self.sqdata.sq_revdeps[tid]) == 0:
+ self.sq_buildable.add(tid)
+
+ if tid in self.sqdata.outrightfail:
+ self.sqdata.outrightfail.remove(tid)
+ if tid in self.scenequeue_notcovered:
+ self.scenequeue_notcovered.remove(tid)
+ if tid in self.scenequeue_covered:
+ self.scenequeue_covered.remove(tid)
+ if tid in self.scenequeue_notneeded:
+ self.scenequeue_notneeded.remove(tid)
- valid = self.rq.validate_hash(sq_fn=sq_fn, sq_task=sq_taskname, sq_hash=sq_hash, sq_hashfn=sq_hashfn,
- siginfo=False, sq_unihash=sq_unihash, d=self.cooker.data)
+ (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
+ self.sqdata.stamps[tid] = bb.build.stampfile(taskname + "_setscene", self.rqdata.dataCaches[mc], taskfn, noextra=True)
- self.cooker.data.delVar("BB_SETSCENE_STAMPCURRENT_COUNT")
+ if tid in self.stampcache:
+ del self.stampcache[tid]
- valid_new = stamppresent
- for v in valid:
- valid_new.append(sq_task[v])
+ if tid in self.build_stamps:
+ del self.build_stamps[tid]
- for tid in self.sq_revdeps:
- if tid not in valid_new and tid not in noexec:
- logger.debug(2, 'No package found, so skipping setscene task %s', tid)
- self.outrightfail.append(tid)
+ logger.info("Setscene task %s now valid and being rerun" % tid)
+ self.sqdone = False
+ update_scenequeue_data([tid], self.sqdata, self.rqdata, self.rq, self.cooker, self.stampcache, self)
- logger.info('Executing SetScene Tasks')
+ if changed:
+ self.holdoff_need_update = True
- self.rq.state = runQueueSceneRun
+ def scenequeue_updatecounters(self, task, fail=False):
- def scenequeue_updatecounters(self, task, fail = False):
- for dep in self.sq_deps[task]:
- if fail and task in self.sq_harddeps and dep in self.sq_harddeps[task]:
+ for dep in sorted(self.sqdata.sq_deps[task]):
+ if fail and task in self.sqdata.sq_harddeps and dep in self.sqdata.sq_harddeps[task]:
logger.debug(2, "%s was unavailable and is a hard dependency of %s so skipping" % (task, dep))
- self.scenequeue_updatecounters(dep, fail)
- continue
- if task not in self.sq_revdeps2[dep]:
- # May already have been removed by the fail case above
+ self.sq_task_failoutright(dep)
continue
- self.sq_revdeps2[dep].remove(task)
- if len(self.sq_revdeps2[dep]) == 0:
- self.runq_buildable.add(dep)
+ if self.sqdata.sq_revdeps[dep].issubset(self.scenequeue_covered | self.scenequeue_notcovered):
+ if dep not in self.sq_buildable:
+ self.sq_buildable.add(dep)
- def task_completeoutright(self, task):
+ next = set([task])
+ while next:
+ new = set()
+ for t in sorted(next):
+ self.tasks_scenequeue_done.add(t)
+ # Look down the dependency chain for non-setscene things which this task depends on
+ # and mark as 'done'
+ for dep in self.rqdata.runtaskentries[t].depends:
+ if dep in self.rqdata.runq_setscene_tids or dep in self.tasks_scenequeue_done:
+ continue
+ if self.rqdata.runtaskentries[dep].revdeps.issubset(self.tasks_scenequeue_done):
+ new.add(dep)
+ next = new
+
+ self.holdoff_need_update = True
+
+ def sq_task_completeoutright(self, task):
"""
Mark a task as completed
Look at the reverse dependencies and mark any task with
@@ -2405,7 +2406,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
self.scenequeue_covered.add(task)
self.scenequeue_updatecounters(task)
- def check_taskfail(self, task):
+ def sq_check_taskfail(self, task):
if self.rqdata.setscenewhitelist is not None:
realtask = task.split('_setscene')[0]
(mc, fn, taskname, taskfn) = split_tid_mcfn(realtask)
@@ -2414,132 +2415,34 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
logger.error('Task %s.%s failed' % (pn, taskname + "_setscene"))
self.rq.state = runQueueCleanUp
- def task_complete(self, task):
- self.stats.taskCompleted()
- bb.event.fire(sceneQueueTaskCompleted(task, self.stats, self.rq), self.cfgData)
- self.task_completeoutright(task)
+ def sq_task_complete(self, task):
+ self.sq_stats.taskCompleted()
+ bb.event.fire(sceneQueueTaskCompleted(task, self.sq_stats, self.rq), self.cfgData)
+ self.sq_task_completeoutright(task)
- def task_fail(self, task, result):
- self.stats.taskFailed()
- bb.event.fire(sceneQueueTaskFailed(task, self.stats, result, self), self.cfgData)
+ def sq_task_fail(self, task, result):
+ self.sq_stats.taskFailed()
+ bb.event.fire(sceneQueueTaskFailed(task, self.sq_stats, result, self), self.cfgData)
self.scenequeue_notcovered.add(task)
self.scenequeue_updatecounters(task, True)
- self.check_taskfail(task)
+ self.sq_check_taskfail(task)
- def task_failoutright(self, task):
- self.runq_running.add(task)
- self.runq_buildable.add(task)
- self.stats.taskSkipped()
- self.stats.taskCompleted()
+ def sq_task_failoutright(self, task):
+ self.sq_running.add(task)
+ self.sq_buildable.add(task)
+ self.sq_stats.taskSkipped()
+ self.sq_stats.taskCompleted()
self.scenequeue_notcovered.add(task)
self.scenequeue_updatecounters(task, True)
- def task_skip(self, task):
- self.runq_running.add(task)
- self.runq_buildable.add(task)
- self.task_completeoutright(task)
- self.stats.taskSkipped()
- self.stats.taskCompleted()
-
- def execute(self):
- """
- Run the tasks in a queue prepared by prepare_runqueue
- """
-
- self.rq.read_workers()
-
- task = None
- if self.can_start_task():
- # Find the next setscene to run
- for nexttask in self.rqdata.runq_setscene_tids:
- if nexttask in self.runq_buildable and nexttask not in self.runq_running and self.stamps[nexttask] not in self.build_stamps.values():
- if nexttask in self.unskippable:
- logger.debug(2, "Setscene task %s is unskippable" % nexttask)
- if nexttask not in self.unskippable and len(self.sq_revdeps[nexttask]) > 0 and self.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and self.check_dependencies(nexttask, self.sq_revdeps[nexttask], True):
- fn = fn_from_tid(nexttask)
- foundtarget = False
-
- if nexttask in self.rqdata.target_tids:
- foundtarget = True
- if not foundtarget:
- logger.debug(2, "Skipping setscene for task %s" % nexttask)
- self.task_skip(nexttask)
- self.scenequeue_notneeded.add(nexttask)
- return True
- if nexttask in self.outrightfail:
- self.task_failoutright(nexttask)
- return True
- task = nexttask
- break
- if task is not None:
- (mc, fn, taskname, taskfn) = split_tid_mcfn(task)
- taskname = taskname + "_setscene"
- if self.rq.check_stamp_task(task, taskname_from_tid(task), recurse = True, cache=self.stampcache):
- logger.debug(2, 'Stamp for underlying task %s is current, so skipping setscene variant', task)
- self.task_failoutright(task)
- return True
-
- if self.cooker.configuration.force:
- if task in self.rqdata.target_tids:
- self.task_failoutright(task)
- return True
-
- if self.rq.check_stamp_task(task, taskname, cache=self.stampcache):
- logger.debug(2, 'Setscene stamp current task %s, so skip it and its dependencies', task)
- self.task_skip(task)
- return True
-
- startevent = sceneQueueTaskStarted(task, self.stats, self.rq)
- bb.event.fire(startevent, self.cfgData)
-
- taskdepdata = self.build_taskdepdata(task)
-
- taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
- taskhash = self.rqdata.get_task_hash(task)
- unihash = self.rqdata.get_task_unihash(task)
- if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run:
- if not mc in self.rq.fakeworker:
- self.rq.start_fakeworker(self, mc)
- self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
- self.rq.fakeworker[mc].process.stdin.flush()
- else:
- self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, unihash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
- self.rq.worker[mc].process.stdin.flush()
-
- self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)
- self.build_stamps2.append(self.build_stamps[task])
- self.runq_running.add(task)
- self.stats.taskActive()
- if self.can_start_task():
- return True
-
- if self.stats.active > 0:
- self.rq.read_workers()
- return self.rq.active_fds()
-
- #for tid in self.sq_revdeps:
- # if tid not in self.runq_running:
- # buildable = tid in self.runq_buildable
- # revdeps = self.sq_revdeps[tid]
- # bb.warn("Found we didn't run %s %s %s" % (tid, buildable, str(revdeps)))
-
- self.rq.scenequeue_covered = self.scenequeue_covered
- self.rq.scenequeue_notcovered = self.scenequeue_notcovered
-
- logger.debug(1, 'We can skip tasks %s', "\n".join(sorted(self.rq.scenequeue_covered)))
-
- self.rq.state = runQueueRunInit
-
- completeevent = sceneQueueComplete(self.stats, self.rq)
- bb.event.fire(completeevent, self.cfgData)
-
- return True
-
- def runqueue_process_waitpid(self, task, status):
- RunQueueExecute.runqueue_process_waitpid(self, task, status)
-
+ def sq_task_skip(self, task):
+ self.sq_running.add(task)
+ self.sq_buildable.add(task)
+ self.sq_task_completeoutright(task)
+ self.sq_stats.taskSkipped()
+ self.sq_stats.taskCompleted()
- def build_taskdepdata(self, task):
+ def sq_build_taskdepdata(self, task):
def getsetscenedeps(tid):
deps = set()
(mc, fn, taskname, _) = split_tid_mcfn(tid)
@@ -2577,6 +2480,279 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
#bb.note("Task %s: " % task + str(taskdepdata).replace("], ", "],\n"))
return taskdepdata
+ def check_setscenewhitelist(self, tid):
+ # Check task that is going to run against the whitelist
+ (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
+ # Ignore covered tasks
+ if tid in self.tasks_covered:
+ return False
+ # Ignore stamped tasks
+ if self.rq.check_stamp_task(tid, taskname, cache=self.stampcache):
+ return False
+ # Ignore noexec tasks
+ taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
+ if 'noexec' in taskdep and taskname in taskdep['noexec']:
+ return False
+
+ pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn]
+ if not check_setscene_enforce_whitelist(pn, taskname, self.rqdata.setscenewhitelist):
+ if tid in self.rqdata.runq_setscene_tids:
+ msg = 'Task %s.%s attempted to execute unexpectedly and should have been setscened' % (pn, taskname)
+ else:
+ msg = 'Task %s.%s attempted to execute unexpectedly' % (pn, taskname)
+ logger.error(msg + '\nThis is usually due to missing setscene tasks. Those missing in this build were: %s' % pprint.pformat(self.scenequeue_notcovered))
+ return True
+ return False
+
+class SQData(object):
+ def __init__(self):
+ # SceneQueue dependencies
+ self.sq_deps = {}
+ # SceneQueue reverse dependencies
+ self.sq_revdeps = {}
+ # Injected inter-setscene task dependencies
+ self.sq_harddeps = {}
+ # Cache of stamp files so duplicates can't run in parallel
+ self.stamps = {}
+ # Setscene tasks directly depended upon by the build
+ self.unskippable = set()
+ # List of setscene tasks which aren't present
+ self.outrightfail = set()
+ # A list of normal tasks a setscene task covers
+ self.sq_covered_tasks = {}
+
+def build_scenequeue_data(sqdata, rqdata, rq, cooker, stampcache, sqrq):
+
+ sq_revdeps = {}
+ sq_revdeps_squash = {}
+ sq_collated_deps = {}
+
+ # We need to construct a dependency graph for the setscene functions. Intermediate
+ # dependencies between the setscene tasks only complicate the code. This code
+ # therefore aims to collapse the huge runqueue dependency tree into a smaller one
+ # only containing the setscene functions.
+
+ rqdata.init_progress_reporter.next_stage()
+
+ # First process the chains up to the first setscene task.
+ endpoints = {}
+ for tid in rqdata.runtaskentries:
+ sq_revdeps[tid] = copy.copy(rqdata.runtaskentries[tid].revdeps)
+ sq_revdeps_squash[tid] = set()
+ if (len(sq_revdeps[tid]) == 0) and tid not in rqdata.runq_setscene_tids:
+ #bb.warn("Added endpoint %s" % (tid))
+ endpoints[tid] = set()
+
+ rqdata.init_progress_reporter.next_stage()
+
+ # Secondly process the chains between setscene tasks.
+ for tid in rqdata.runq_setscene_tids:
+ sq_collated_deps[tid] = set()
+ #bb.warn("Added endpoint 2 %s" % (tid))
+ for dep in rqdata.runtaskentries[tid].depends:
+ if tid in sq_revdeps[dep]:
+ sq_revdeps[dep].remove(tid)
+ if dep not in endpoints:
+ endpoints[dep] = set()
+ #bb.warn(" Added endpoint 3 %s" % (dep))
+ endpoints[dep].add(tid)
+
+ rqdata.init_progress_reporter.next_stage()
+
+ def process_endpoints(endpoints):
+ newendpoints = {}
+ for point, task in endpoints.items():
+ tasks = set()
+ if task:
+ tasks |= task
+ if sq_revdeps_squash[point]:
+ tasks |= sq_revdeps_squash[point]
+ if point not in rqdata.runq_setscene_tids:
+ for t in tasks:
+ sq_collated_deps[t].add(point)
+ sq_revdeps_squash[point] = set()
+ if point in rqdata.runq_setscene_tids:
+ sq_revdeps_squash[point] = tasks
+ tasks = set()
+ continue
+ for dep in rqdata.runtaskentries[point].depends:
+ if point in sq_revdeps[dep]:
+ sq_revdeps[dep].remove(point)
+ if tasks:
+ sq_revdeps_squash[dep] |= tasks
+ if len(sq_revdeps[dep]) == 0 and dep not in rqdata.runq_setscene_tids:
+ newendpoints[dep] = task
+ if len(newendpoints) != 0:
+ process_endpoints(newendpoints)
+
+ process_endpoints(endpoints)
+
+ rqdata.init_progress_reporter.next_stage()
+
+ # Build a list of tasks which are "unskippable"
+ # These are direct endpoints referenced by the build upto and including setscene tasks
+ # Take the build endpoints (no revdeps) and find the sstate tasks they depend upon
+ new = True
+ for tid in rqdata.runtaskentries:
+ if len(rqdata.runtaskentries[tid].revdeps) == 0:
+ sqdata.unskippable.add(tid)
+ sqdata.unskippable |= sqrq.cantskip
+ while new:
+ new = False
+ orig = sqdata.unskippable.copy()
+ for tid in sorted(orig, reverse=True):
+ if tid in rqdata.runq_setscene_tids:
+ continue
+ if len(rqdata.runtaskentries[tid].depends) == 0:
+ # These are tasks which have no setscene tasks in their chain, need to mark as directly buildable
+ sqrq.setbuildable(tid)
+ sqdata.unskippable |= rqdata.runtaskentries[tid].depends
+ if sqdata.unskippable != orig:
+ new = True
+
+ sqrq.tasks_scenequeue_done |= sqdata.unskippable.difference(rqdata.runq_setscene_tids)
+
+ rqdata.init_progress_reporter.next_stage(len(rqdata.runtaskentries))
+
+ # Sanity check all dependencies could be changed to setscene task references
+ for taskcounter, tid in enumerate(rqdata.runtaskentries):
+ if tid in rqdata.runq_setscene_tids:
+ pass
+ elif len(sq_revdeps_squash[tid]) != 0:
+ bb.msg.fatal("RunQueue", "Something went badly wrong during scenequeue generation, aborting. Please report this problem.")
+ else:
+ del sq_revdeps_squash[tid]
+ rqdata.init_progress_reporter.update(taskcounter)
+
+ rqdata.init_progress_reporter.next_stage()
+
+ # Resolve setscene inter-task dependencies
+ # e.g. do_sometask_setscene[depends] = "targetname:do_someothertask_setscene"
+ # Note that anything explicitly depended upon will have its reverse dependencies removed to avoid circular dependencies
+ for tid in rqdata.runq_setscene_tids:
+ (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
+ realtid = tid + "_setscene"
+ idepends = rqdata.taskData[mc].taskentries[realtid].idepends
+ sqdata.stamps[tid] = bb.build.stampfile(taskname + "_setscene", rqdata.dataCaches[mc], taskfn, noextra=True)
+ for (depname, idependtask) in idepends:
+
+ if depname not in rqdata.taskData[mc].build_targets:
+ continue
+
+ depfn = rqdata.taskData[mc].build_targets[depname][0]
+ if depfn is None:
+ continue
+ deptid = depfn + ":" + idependtask.replace("_setscene", "")
+ if deptid not in rqdata.runtaskentries:
+ bb.msg.fatal("RunQueue", "Task %s depends upon non-existent task %s:%s" % (realtid, depfn, idependtask))
+
+ if not deptid in sqdata.sq_harddeps:
+ sqdata.sq_harddeps[deptid] = set()
+ sqdata.sq_harddeps[deptid].add(tid)
+
+ sq_revdeps_squash[tid].add(deptid)
+ # Have to zero this to avoid circular dependencies
+ sq_revdeps_squash[deptid] = set()
+
+ rqdata.init_progress_reporter.next_stage()
+
+ for task in sqdata.sq_harddeps:
+ for dep in sqdata.sq_harddeps[task]:
+ sq_revdeps_squash[dep].add(task)
+
+ rqdata.init_progress_reporter.next_stage()
+
+ #for tid in sq_revdeps_squash:
+ # data = ""
+ # for dep in sq_revdeps_squash[tid]:
+ # data = data + "\n %s" % dep
+ # bb.warn("Task %s_setscene: is %s " % (tid, data))
+
+ sqdata.sq_revdeps = sq_revdeps_squash
+ sqdata.sq_covered_tasks = sq_collated_deps
+
+ # Build reverse version of revdeps to populate deps structure
+ for tid in sqdata.sq_revdeps:
+ sqdata.sq_deps[tid] = set()
+ for tid in sqdata.sq_revdeps:
+ for dep in sqdata.sq_revdeps[tid]:
+ sqdata.sq_deps[dep].add(tid)
+
+ rqdata.init_progress_reporter.next_stage()
+
+ sqdata.multiconfigs = set()
+ for tid in sqdata.sq_revdeps:
+ sqdata.multiconfigs.add(mc_from_tid(tid))
+ if len(sqdata.sq_revdeps[tid]) == 0:
+ sqrq.sq_buildable.add(tid)
+
+ rqdata.init_progress_reporter.finish()
+
+ sqdata.noexec = set()
+ sqdata.stamppresent = set()
+ sqdata.valid = set()
+
+ update_scenequeue_data(sqdata.sq_revdeps, sqdata, rqdata, rq, cooker, stampcache, sqrq)
+
+def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq):
+
+ tocheck = set()
+
+ for tid in sorted(tids):
+ if tid in sqdata.stamppresent:
+ sqdata.stamppresent.remove(tid)
+ if tid in sqdata.valid:
+ sqdata.valid.remove(tid)
+
+ (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
+
+ taskdep = rqdata.dataCaches[mc].task_deps[taskfn]
+
+ if 'noexec' in taskdep and taskname in taskdep['noexec']:
+ sqdata.noexec.add(tid)
+ sqrq.sq_task_skip(tid)
+ bb.build.make_stamp(taskname + "_setscene", rqdata.dataCaches[mc], taskfn)
+ continue
+
+ if rq.check_stamp_task(tid, taskname + "_setscene", cache=stampcache):
+ logger.debug(2, 'Setscene stamp current for task %s', tid)
+ sqdata.stamppresent.add(tid)
+ sqrq.sq_task_skip(tid)
+ continue
+
+ if rq.check_stamp_task(tid, taskname, recurse = True, cache=stampcache):
+ logger.debug(2, 'Normal stamp current for task %s', tid)
+ sqdata.stamppresent.add(tid)
+ sqrq.sq_task_skip(tid)
+ continue
+
+ tocheck.add(tid)
+
+ sqdata.valid |= rq.validate_hashes(tocheck, cooker.data, len(sqdata.stamppresent), False)
+
+ sqdata.hashes = {}
+ for mc in sorted(sqdata.multiconfigs):
+ for tid in sorted(sqdata.sq_revdeps):
+ if mc_from_tid(tid) != mc:
+ continue
+ if tid in sqdata.stamppresent:
+ continue
+ if tid in sqdata.valid:
+ continue
+ if tid in sqdata.noexec:
+ continue
+ if tid in sqrq.scenequeue_notcovered:
+ continue
+ sqdata.outrightfail.add(tid)
+
+ h = pending_hash_index(tid, rqdata)
+ if h not in sqdata.hashes:
+ sqdata.hashes[h] = tid
+ else:
+ sqrq.sq_deferred[tid] = sqdata.hashes[h]
+ bb.warn("Deferring %s after %s" % (tid, sqdata.hashes[h]))
+
+
class TaskFailure(Exception):
"""
Exception raised when a task in a runqueue fails
@@ -2683,6 +2859,15 @@ class runQueueTaskSkipped(runQueueEvent):
runQueueEvent.__init__(self, task, stats, rq)
self.reason = reason
+class taskUniHashUpdate(bb.event.Event):
+ """
+ Base runQueue event class
+ """
+ def __init__(self, task, unihash):
+ self.taskid = task
+ self.unihash = unihash
+ bb.event.Event.__init__(self)
+
class runQueuePipe():
"""
Abstraction for a pipe between a worker thread and the server
@@ -2725,6 +2910,8 @@ class runQueuePipe():
except ValueError as e:
bb.msg.fatal("RunQueue", "failed load pickle '%s': '%s'" % (e, self.queue[7:index]))
bb.event.fire_from_worker(event, self.d)
+ if isinstance(event, taskUniHashUpdate):
+ self.rqexec.updated_taskhash_queue.append((event.taskid, event.unihash))
found = True
self.queue = self.queue[index+8:]
index = self.queue.find(b"</event>")
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index f901fe505..69aae626e 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -456,7 +456,10 @@ class BitBakeServer(object):
self.configuration.setServerRegIdleCallback(server.register_idle_function)
os.close(self.readypipe)
writer = ConnectionWriter(self.readypipein)
- self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset)
+ try:
+ self.cooker = bb.cooker.BBCooker(self.configuration, self.featureset)
+ except bb.BBHandledException:
+ return None
writer.send("r")
writer.close()
server.cooker = self.cooker
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index fe580e487..a4bb1ff7f 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -12,6 +12,8 @@ import bb.data
import difflib
import simplediff
from bb.checksum import FileChecksumCache
+from bb import runqueue
+import hashserv
logger = logging.getLogger('BitBake.SigGen')
@@ -41,15 +43,18 @@ class SignatureGenerator(object):
self.runtaskdeps = {}
self.file_checksum_values = {}
self.taints = {}
+ self.unitaskhashes = {}
+ self.setscenetasks = {}
def finalise(self, fn, d, varient):
return
- def get_unihash(self, task):
- return self.taskhash[task]
+ def get_unihash(self, tid):
+ return self.taskhash[tid]
- def get_taskhash(self, fn, task, deps, dataCache):
- return "0"
+ def get_taskhash(self, tid, deps, dataCache):
+ self.taskhash[tid] = hashlib.sha256(tid.encode("utf-8")).hexdigest()
+ return self.taskhash[tid]
def writeout_file_checksum_cache(self):
"""Write/update the file checksum cache onto disk"""
@@ -71,14 +76,25 @@ class SignatureGenerator(object):
return
def get_taskdata(self):
- return (self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash)
+ return (self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes, self.setscenetasks)
def set_taskdata(self, data):
- self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash = data
+ self.runtaskdeps, self.taskhash, self.file_checksum_values, self.taints, self.basehash, self.unitaskhashes, self.setscenetasks = data
def reset(self, data):
self.__init__(data)
+ def get_taskhashes(self):
+ return self.taskhash, self.unitaskhashes
+
+ def set_taskhashes(self, hashes):
+ self.taskhash, self.unitaskhashes = hashes
+
+ def save_unitaskhashes(self):
+ return
+
+ def set_setscene_tasks(self, setscene_tasks):
+ return
class SignatureGeneratorBasic(SignatureGenerator):
"""
@@ -94,7 +110,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
self.taints = {}
self.gendeps = {}
self.lookupcache = {}
- self.pkgnameextract = re.compile(r"(?P<fn>.*)\..*")
+ self.setscenetasks = {}
self.basewhitelist = set((data.getVar("BB_HASHBASE_WHITELIST") or "").split())
self.taskwhitelist = None
self.init_rundepcheck(data)
@@ -105,6 +121,9 @@ class SignatureGeneratorBasic(SignatureGenerator):
else:
self.checksum_cache = None
+ self.unihash_cache = bb.cache.SimpleCache("1")
+ self.unitaskhashes = self.unihash_cache.init_cache(data, "bb_unihashes.dat", {})
+
def init_rundepcheck(self, data):
self.taskwhitelist = data.getVar("BB_HASHTASK_WHITELIST") or None
if self.taskwhitelist:
@@ -120,16 +139,16 @@ class SignatureGeneratorBasic(SignatureGenerator):
taskdeps, basehash = bb.data.generate_dependency_hash(tasklist, gendeps, lookupcache, self.basewhitelist, fn)
for task in tasklist:
- k = fn + "." + task
- if not ignore_mismatch and k in self.basehash and self.basehash[k] != basehash[k]:
- bb.error("When reparsing %s, the basehash value changed from %s to %s. The metadata is not deterministic and this needs to be fixed." % (k, self.basehash[k], basehash[k]))
+ tid = fn + ":" + task
+ if not ignore_mismatch and tid in self.basehash and self.basehash[tid] != basehash[tid]:
+ bb.error("When reparsing %s, the basehash value changed from %s to %s. The metadata is not deterministic and this needs to be fixed." % (tid, self.basehash[tid], basehash[tid]))
bb.error("The following commands may help:")
cmd = "$ bitbake %s -c%s" % (d.getVar('PN'), task)
# Make sure sigdata is dumped before run printdiff
bb.error("%s -Snone" % cmd)
bb.error("Then:")
bb.error("%s -Sprintdiff\n" % cmd)
- self.basehash[k] = basehash[k]
+ self.basehash[tid] = basehash[tid]
self.taskdeps[fn] = taskdeps
self.gendeps[fn] = gendeps
@@ -137,6 +156,9 @@ class SignatureGeneratorBasic(SignatureGenerator):
return taskdeps
+ def set_setscene_tasks(self, setscene_tasks):
+ self.setscenetasks = setscene_tasks
+
def finalise(self, fn, d, variant):
mc = d.getVar("__BBMULTICONFIG", False) or ""
@@ -156,7 +178,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
# self.dump_sigtask(fn, task, d.getVar("STAMP"), False)
for task in taskdeps:
- d.setVar("BB_BASEHASH_task-%s" % task, self.basehash[fn + "." + task])
+ d.setVar("BB_BASEHASH_task-%s" % task, self.basehash[fn + ":" + task])
def rundep_check(self, fn, recipename, task, dep, depname, dataCache):
# Return True if we should keep the dependency, False to drop it
@@ -176,33 +198,26 @@ class SignatureGeneratorBasic(SignatureGenerator):
pass
return taint
- def get_taskhash(self, fn, task, deps, dataCache):
+ def get_taskhash(self, tid, deps, dataCache):
- mc = ''
- if fn.startswith('mc:'):
- mc = fn.split(':')[1]
- k = fn + "." + task
+ (mc, _, task, fn) = bb.runqueue.split_tid_mcfn(tid)
- data = dataCache.basetaskhash[k]
- self.basehash[k] = data
- self.runtaskdeps[k] = []
- self.file_checksum_values[k] = []
+ data = dataCache.basetaskhash[tid]
+ self.basehash[tid] = data
+ self.runtaskdeps[tid] = []
+ self.file_checksum_values[tid] = []
recipename = dataCache.pkg_fn[fn]
for dep in sorted(deps, key=clean_basepath):
- pkgname = self.pkgnameextract.search(dep).group('fn')
- if mc:
- depmc = pkgname.split(':')[1]
- if mc != depmc:
- continue
- if dep.startswith("mc:") and not mc:
+ (depmc, _, deptaskname, depfn) = bb.runqueue.split_tid_mcfn(dep)
+ if mc != depmc:
continue
- depname = dataCache.pkg_fn[pkgname]
+ depname = dataCache.pkg_fn[depfn]
if not self.rundep_check(fn, recipename, task, dep, depname, dataCache):
continue
if dep not in self.taskhash:
bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?" % dep)
data = data + self.get_unihash(dep)
- self.runtaskdeps[k].append(dep)
+ self.runtaskdeps[tid].append(dep)
if task in dataCache.file_checksums[fn]:
if self.checksum_cache:
@@ -210,7 +225,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
else:
checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename)
for (f,cs) in checksums:
- self.file_checksum_values[k].append((f,cs))
+ self.file_checksum_values[tid].append((f,cs))
if cs:
data = data + cs
@@ -220,16 +235,16 @@ class SignatureGeneratorBasic(SignatureGenerator):
import uuid
taint = str(uuid.uuid4())
data = data + taint
- self.taints[k] = "nostamp:" + taint
+ self.taints[tid] = "nostamp:" + taint
taint = self.read_taint(fn, task, dataCache.stamp[fn])
if taint:
data = data + taint
- self.taints[k] = taint
- logger.warning("%s is tainted from a forced run" % k)
+ self.taints[tid] = taint
+ logger.warning("%s is tainted from a forced run" % tid)
h = hashlib.sha256(data.encode("utf-8")).hexdigest()
- self.taskhash[k] = h
+ self.taskhash[tid] = h
#d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task])
return h
@@ -242,17 +257,20 @@ class SignatureGeneratorBasic(SignatureGenerator):
bb.fetch2.fetcher_parse_save()
bb.fetch2.fetcher_parse_done()
+ def save_unitaskhashes(self):
+ self.unihash_cache.save(self.unitaskhashes)
+
def dump_sigtask(self, fn, task, stampbase, runtime):
- k = fn + "." + task
+ tid = fn + ":" + task
referencestamp = stampbase
if isinstance(runtime, str) and runtime.startswith("customfile"):
sigfile = stampbase
referencestamp = runtime[11:]
- elif runtime and k in self.taskhash:
- sigfile = stampbase + "." + task + ".sigdata" + "." + self.taskhash[k]
+ elif runtime and tid in self.taskhash:
+ sigfile = stampbase + "." + task + ".sigdata" + "." + self.get_unihash(tid)
else:
- sigfile = stampbase + "." + task + ".sigbasedata" + "." + self.basehash[k]
+ sigfile = stampbase + "." + task + ".sigbasedata" + "." + self.basehash[tid]
bb.utils.mkdirhier(os.path.dirname(sigfile))
@@ -261,7 +279,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
data['basewhitelist'] = self.basewhitelist
data['taskwhitelist'] = self.taskwhitelist
data['taskdeps'] = self.taskdeps[fn][task]
- data['basehash'] = self.basehash[k]
+ data['basehash'] = self.basehash[tid]
data['gendeps'] = {}
data['varvals'] = {}
data['varvals'][task] = self.lookupcache[fn][task]
@@ -271,30 +289,31 @@ class SignatureGeneratorBasic(SignatureGenerator):
data['gendeps'][dep] = self.gendeps[fn][dep]
data['varvals'][dep] = self.lookupcache[fn][dep]
- if runtime and k in self.taskhash:
- data['runtaskdeps'] = self.runtaskdeps[k]
- data['file_checksum_values'] = [(os.path.basename(f), cs) for f,cs in self.file_checksum_values[k]]
+ if runtime and tid in self.taskhash:
+ data['runtaskdeps'] = self.runtaskdeps[tid]
+ data['file_checksum_values'] = [(os.path.basename(f), cs) for f,cs in self.file_checksum_values[tid]]
data['runtaskhashes'] = {}
for dep in data['runtaskdeps']:
data['runtaskhashes'][dep] = self.get_unihash(dep)
- data['taskhash'] = self.taskhash[k]
+ data['taskhash'] = self.taskhash[tid]
+ data['unihash'] = self.get_unihash(tid)
taint = self.read_taint(fn, task, referencestamp)
if taint:
data['taint'] = taint
- if runtime and k in self.taints:
- if 'nostamp:' in self.taints[k]:
- data['taint'] = self.taints[k]
+ if runtime and tid in self.taints:
+ if 'nostamp:' in self.taints[tid]:
+ data['taint'] = self.taints[tid]
computed_basehash = calc_basehash(data)
- if computed_basehash != self.basehash[k]:
- bb.error("Basehash mismatch %s versus %s for %s" % (computed_basehash, self.basehash[k], k))
- if runtime and k in self.taskhash:
+ if computed_basehash != self.basehash[tid]:
+ bb.error("Basehash mismatch %s versus %s for %s" % (computed_basehash, self.basehash[tid], tid))
+ if runtime and tid in self.taskhash:
computed_taskhash = calc_taskhash(data)
- if computed_taskhash != self.taskhash[k]:
- bb.error("Taskhash mismatch %s versus %s for %s" % (computed_taskhash, self.taskhash[k], k))
- sigfile = sigfile.replace(self.taskhash[k], computed_taskhash)
+ if computed_taskhash != self.taskhash[tid]:
+ bb.error("Taskhash mismatch %s versus %s for %s" % (computed_taskhash, self.taskhash[tid], tid))
+ sigfile = sigfile.replace(self.taskhash[tid], computed_taskhash)
fd, tmpfile = tempfile.mkstemp(dir=os.path.dirname(sigfile), prefix="sigtask.")
try:
@@ -314,34 +333,33 @@ class SignatureGeneratorBasic(SignatureGenerator):
if fn in self.taskdeps:
for task in self.taskdeps[fn]:
tid = fn + ":" + task
- (mc, _, _) = bb.runqueue.split_tid(tid)
- k = fn + "." + task
- if k not in self.taskhash:
+ mc = bb.runqueue.mc_from_tid(tid)
+ if tid not in self.taskhash:
continue
- if dataCaches[mc].basetaskhash[k] != self.basehash[k]:
- bb.error("Bitbake's cached basehash does not match the one we just generated (%s)!" % k)
- bb.error("The mismatched hashes were %s and %s" % (dataCaches[mc].basetaskhash[k], self.basehash[k]))
+ if dataCaches[mc].basetaskhash[tid] != self.basehash[tid]:
+ bb.error("Bitbake's cached basehash does not match the one we just generated (%s)!" % tid)
+ bb.error("The mismatched hashes were %s and %s" % (dataCaches[mc].basetaskhash[tid], self.basehash[tid]))
self.dump_sigtask(fn, task, dataCaches[mc].stamp[fn], True)
class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
name = "basichash"
- def get_stampfile_hash(self, task):
- if task in self.taskhash:
- return self.taskhash[task]
+ def get_stampfile_hash(self, tid):
+ if tid in self.taskhash:
+ return self.taskhash[tid]
# If task is not in basehash, then error
- return self.basehash[task]
+ return self.basehash[tid]
def stampfile(self, stampbase, fn, taskname, extrainfo, clean=False):
if taskname != "do_setscene" and taskname.endswith("_setscene"):
- k = fn + "." + taskname[:-9]
+ tid = fn + ":" + taskname[:-9]
else:
- k = fn + "." + taskname
+ tid = fn + ":" + taskname
if clean:
h = "*"
else:
- h = self.get_stampfile_hash(k)
+ h = self.get_stampfile_hash(tid)
return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.')
@@ -352,6 +370,172 @@ class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
bb.note("Tainting hash to force rebuild of task %s, %s" % (fn, task))
bb.build.write_taint(task, d, fn)
+class SignatureGeneratorUniHashMixIn(object):
+ def get_taskdata(self):
+ return (self.server, self.method) + super().get_taskdata()
+
+ def set_taskdata(self, data):
+ self.server, self.method = data[:2]
+ super().set_taskdata(data[2:])
+
+ def client(self):
+ if getattr(self, '_client', None) is None:
+ self._client = hashserv.create_client(self.server)
+ return self._client
+
+ def __get_task_unihash_key(self, tid):
+ # TODO: The key only *needs* to be the taskhash, the tid is just
+ # convenient
+ return '%s:%s' % (tid.rsplit("/", 1)[1], self.taskhash[tid])
+
+ def get_stampfile_hash(self, tid):
+ if tid in self.taskhash:
+ # If a unique hash is reported, use it as the stampfile hash. This
+ # ensures that if a task won't be re-run if the taskhash changes,
+ # but it would result in the same output hash
+ unihash = self.unitaskhashes.get(self.__get_task_unihash_key(tid), None)
+ if unihash is not None:
+ return unihash
+
+ return super().get_stampfile_hash(tid)
+
+ def set_unihash(self, tid, unihash):
+ self.unitaskhashes[self.__get_task_unihash_key(tid)] = unihash
+
+ def get_unihash(self, tid):
+ taskhash = self.taskhash[tid]
+
+ # If its not a setscene task we can return
+ if self.setscenetasks and tid not in self.setscenetasks:
+ return taskhash
+
+ key = self.__get_task_unihash_key(tid)
+
+ # TODO: This cache can grow unbounded. It probably only needs to keep
+ # for each task
+ unihash = self.unitaskhashes.get(key, None)
+ if unihash is not None:
+ return unihash
+
+ # In the absence of being able to discover a unique hash from the
+ # server, make it be equivalent to the taskhash. The unique "hash" only
+ # really needs to be a unique string (not even necessarily a hash), but
+ # making it match the taskhash has a few advantages:
+ #
+ # 1) All of the sstate code that assumes hashes can be the same
+ # 2) It provides maximal compatibility with builders that don't use
+ # an equivalency server
+ # 3) The value is easy for multiple independent builders to derive the
+ # same unique hash from the same input. This means that if the
+ # independent builders find the same taskhash, but it isn't reported
+ # to the server, there is a better chance that they will agree on
+ # the unique hash.
+ unihash = taskhash
+
+ try:
+ data = self.client().get_unihash(self.method, self.taskhash[tid])
+ if data:
+ unihash = data
+ # A unique hash equal to the taskhash is not very interesting,
+ # so it is reported it at debug level 2. If they differ, that
+ # is much more interesting, so it is reported at debug level 1
+ bb.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server))
+ else:
+ bb.debug(2, 'No reported unihash for %s:%s from %s' % (tid, taskhash, self.server))
+ except hashserv.client.HashConnectionError as e:
+ bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
+
+ self.unitaskhashes[key] = unihash
+ return unihash
+
+ def report_unihash(self, path, task, d):
+ import importlib
+
+ taskhash = d.getVar('BB_TASKHASH')
+ unihash = d.getVar('BB_UNIHASH')
+ report_taskdata = d.getVar('SSTATE_HASHEQUIV_REPORT_TASKDATA') == '1'
+ tempdir = d.getVar('T')
+ fn = d.getVar('BB_FILENAME')
+ tid = fn + ':do_' + task
+ key = tid.rsplit("/", 1)[1] + ':' + taskhash
+
+ if self.setscenetasks and tid not in self.setscenetasks:
+ return
+
+ # Sanity checks
+ cache_unihash = self.unitaskhashes.get(key, None)
+ if cache_unihash is None:
+ bb.fatal('%s not in unihash cache. Please report this error' % key)
+
+ if cache_unihash != unihash:
+ bb.fatal("Cache unihash %s doesn't match BB_UNIHASH %s" % (cache_unihash, unihash))
+
+ sigfile = None
+ sigfile_name = "depsig.do_%s.%d" % (task, os.getpid())
+ sigfile_link = "depsig.do_%s" % task
+
+ try:
+ sigfile = open(os.path.join(tempdir, sigfile_name), 'w+b')
+
+ locs = {'path': path, 'sigfile': sigfile, 'task': task, 'd': d}
+
+ if "." in self.method:
+ (module, method) = self.method.rsplit('.', 1)
+ locs['method'] = getattr(importlib.import_module(module), method)
+ outhash = bb.utils.better_eval('method(path, sigfile, task, d)', locs)
+ else:
+ outhash = bb.utils.better_eval(self.method + '(path, sigfile, task, d)', locs)
+
+ try:
+ extra_data = {}
+
+ owner = d.getVar('SSTATE_HASHEQUIV_OWNER')
+ if owner:
+ extra_data['owner'] = owner
+
+ if report_taskdata:
+ sigfile.seek(0)
+
+ extra_data['PN'] = d.getVar('PN')
+ extra_data['PV'] = d.getVar('PV')
+ extra_data['PR'] = d.getVar('PR')
+ extra_data['task'] = task
+ extra_data['outhash_siginfo'] = sigfile.read().decode('utf-8')
+
+ data = self.client().report_unihash(taskhash, self.method, outhash, unihash, extra_data)
+ new_unihash = data['unihash']
+
+ if new_unihash != unihash:
+ bb.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server))
+ bb.event.fire(bb.runqueue.taskUniHashUpdate(fn + ':do_' + task, new_unihash), d)
+ else:
+ bb.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
+ except hashserv.client.HashConnectionError as e:
+ bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
+ finally:
+ if sigfile:
+ sigfile.close()
+
+ sigfile_link_path = os.path.join(tempdir, sigfile_link)
+ bb.utils.remove(sigfile_link_path)
+
+ try:
+ os.symlink(sigfile_name, sigfile_link_path)
+ except OSError:
+ pass
+
+
+#
+# Dummy class used for bitbake-selftest
+#
+class SignatureGeneratorTestEquivHash(SignatureGeneratorUniHashMixIn, SignatureGeneratorBasicHash):
+ name = "TestEquivHash"
+ def init_rundepcheck(self, data):
+ super().init_rundepcheck(data)
+ self.server = data.getVar('BB_HASHSERVE')
+ self.method = "sstate_output_hash"
+
+
def dump_this_task(outfile, d):
import bb.parse
fn = d.getVar("BB_FILENAME")
@@ -643,9 +827,9 @@ def compare_sigfiles(a, b, recursecb=None, color=False, collapsed=False):
a_taint = a_data.get('taint', None)
b_taint = b_data.get('taint', None)
if a_taint != b_taint:
- if a_taint.startswith('nostamp:'):
+ if a_taint and a_taint.startswith('nostamp:'):
a_taint = a_taint.replace('nostamp:', 'nostamp(uuid4):')
- if b_taint.startswith('nostamp:'):
+ if b_taint and b_taint.startswith('nostamp:'):
b_taint = b_taint.replace('nostamp:', 'nostamp(uuid4):')
output.append(color_format("{color_title}Taint (by forced/invalidated task) changed{color_default} from %s to %s") % (a_taint, b_taint))
diff --git a/poky/bitbake/lib/bb/taskdata.py b/poky/bitbake/lib/bb/taskdata.py
index d13bd7c3b..8c25e09e8 100644
--- a/poky/bitbake/lib/bb/taskdata.py
+++ b/poky/bitbake/lib/bb/taskdata.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
"""
BitBake 'TaskData' implementation
diff --git a/poky/bitbake/lib/bb/tests/data.py b/poky/bitbake/lib/bb/tests/data.py
index 3cf5abec7..3e49984c9 100644
--- a/poky/bitbake/lib/bb/tests/data.py
+++ b/poky/bitbake/lib/bb/tests/data.py
@@ -381,6 +381,19 @@ class TestOverrides(unittest.TestCase):
self.d.setVar("OVERRIDES", "foo:bar:some_val")
self.assertEqual(self.d.getVar("TEST"), " testvalue5")
+ def test_append_and_override_1(self):
+ self.d.setVar("TEST_append", "testvalue2")
+ self.d.setVar("TEST_bar", "testvalue3")
+ self.assertEqual(self.d.getVar("TEST"), "testvalue3testvalue2")
+
+ def test_append_and_override_2(self):
+ self.d.setVar("TEST_append_bar", "testvalue2")
+ self.assertEqual(self.d.getVar("TEST"), "testvaluetestvalue2")
+
+ def test_append_and_override_3(self):
+ self.d.setVar("TEST_bar_append", "testvalue2")
+ self.assertEqual(self.d.getVar("TEST"), "testvalue2")
+
# Test an override with _<numeric> in it based on a real world OE issue
def test_underscore_override(self):
self.d.setVar("TARGET_ARCH", "x86_64")
@@ -466,7 +479,7 @@ class TaskHash(unittest.TestCase):
tasklist, gendeps, lookupcache = bb.data.generate_dependencies(d)
taskdeps, basehash = bb.data.generate_dependency_hash(tasklist, gendeps, lookupcache, set(), "somefile")
bb.warn(str(lookupcache))
- return basehash["somefile." + taskname]
+ return basehash["somefile:" + taskname]
d = bb.data.init()
d.setVar("__BBTASKS", ["mytask"])
diff --git a/poky/bitbake/lib/bb/tests/event.py b/poky/bitbake/lib/bb/tests/event.py
index b6e40c6ae..9229b63d4 100644
--- a/poky/bitbake/lib/bb/tests/event.py
+++ b/poky/bitbake/lib/bb/tests/event.py
@@ -561,14 +561,6 @@ class EventClassesTest(unittest.TestCase):
self.assertEqual(event.fn(1), callback(1))
self.assertEqual(event.pid, EventClassesTest._worker_pid)
- def test_StampUpdate(self):
- targets = ["foo", "bar"]
- stampfns = [lambda:"foobar"]
- event = bb.event.StampUpdate(targets, stampfns)
- self.assertEqual(event.targets, targets)
- self.assertEqual(event.stampPrefix, stampfns)
- self.assertEqual(event.pid, EventClassesTest._worker_pid)
-
def test_BuildBase(self):
""" Test base class for bitbake build events """
name = "foo"
diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py
index 16f975b13..a0b656b61 100644
--- a/poky/bitbake/lib/bb/tests/fetch.py
+++ b/poky/bitbake/lib/bb/tests/fetch.py
@@ -899,6 +899,7 @@ class FetcherNetworkTest(FetcherTest):
if os.path.exists(os.path.join(repo_path, 'bitbake-gitsm-test1')):
self.assertTrue(os.path.exists(os.path.join(repo_path, 'bitbake-gitsm-test1', 'bitbake')), msg='submodule of submodule missing')
+ @skipIfNoNetwork()
def test_git_submodule_dbus_broker(self):
# The following external repositories have show failures in fetch and unpack operations
# We want to avoid regressions!
@@ -916,6 +917,7 @@ class FetcherNetworkTest(FetcherTest):
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/subprojects/c-sundry/config')), msg='Missing submodule config "subprojects/c-sundry"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/subprojects/c-utf8/config')), msg='Missing submodule config "subprojects/c-utf8"')
+ @skipIfNoNetwork()
def test_git_submodule_CLI11(self):
url = "gitsm://github.com/CLIUtils/CLI11;protocol=git;rev=bd4dc911847d0cde7a6b41dfa626a85aab213baf"
fetcher = bb.fetch.Fetch([url], self.d)
@@ -929,6 +931,7 @@ class FetcherNetworkTest(FetcherTest):
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/json/config')), msg='Missing submodule config "extern/json"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/sanitizers/config')), msg='Missing submodule config "extern/sanitizers"')
+ @skipIfNoNetwork()
def test_git_submodule_update_CLI11(self):
""" Prevent regression on update detection not finding missing submodule, or modules without needed commits """
url = "gitsm://github.com/CLIUtils/CLI11;protocol=git;rev=cf6a99fa69aaefe477cc52e3ef4a7d2d7fa40714"
@@ -948,6 +951,7 @@ class FetcherNetworkTest(FetcherTest):
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/json/config')), msg='Missing submodule config "extern/json"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/extern/sanitizers/config')), msg='Missing submodule config "extern/sanitizers"')
+ @skipIfNoNetwork()
def test_git_submodule_aktualizr(self):
url = "gitsm://github.com/advancedtelematic/aktualizr;branch=master;protocol=git;rev=d00d1a04cc2366d1a5f143b84b9f507f8bd32c44"
fetcher = bb.fetch.Fetch([url], self.d)
@@ -964,6 +968,7 @@ class FetcherNetworkTest(FetcherTest):
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/third_party/googletest/config')), msg='Missing submodule config "third_party/googletest/config"')
self.assertTrue(os.path.exists(os.path.join(repo_path, '.git/modules/third_party/HdrHistogram_c/config')), msg='Missing submodule config "third_party/HdrHistogram_c/config"')
+ @skipIfNoNetwork()
def test_git_submodule_iotedge(self):
""" Prevent regression on deeply nested submodules not being checked out properly, even though they were fetched. """
@@ -1195,8 +1200,8 @@ class FetchLatestVersionTest(FetcherTest):
# packages with valid UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX
("cups", "http://www.cups.org/software/1.7.2/cups-1.7.2-source.tar.bz2", "https://github.com/apple/cups/releases", "(?P<name>cups\-)(?P<pver>((\d+[\.\-_]*)+))\-source\.tar\.gz")
: "2.0.0",
- ("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html", "http://download.oracle.com/otn/berkeley-db/(?P<name>db-)(?P<pver>((\d+[\.\-_]*)+))\.tar\.gz")
- : "6.1.19",
+ ("db", "http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz", "http://ftp.debian.org/debian/pool/main/d/db5.3/", "(?P<name>db5\.3_)(?P<pver>\d+(\.\d+)+).+\.orig\.tar\.xz")
+ : "5.3.10",
}
@skipIfNoNetwork()
@@ -1903,3 +1908,83 @@ class GitShallowTest(FetcherTest):
dir = os.listdir(self.unpackdir + "/git/")
self.assertIn("fstests.doap", dir)
+
+class GitLfsTest(FetcherTest):
+ def setUp(self):
+ FetcherTest.setUp(self)
+
+ self.gitdir = os.path.join(self.tempdir, 'git')
+ self.srcdir = os.path.join(self.tempdir, 'gitsource')
+
+ self.d.setVar('WORKDIR', self.tempdir)
+ self.d.setVar('S', self.gitdir)
+ self.d.delVar('PREMIRRORS')
+ self.d.delVar('MIRRORS')
+
+ self.d.setVar('SRCREV', '${AUTOREV}')
+ self.d.setVar('AUTOREV', '${@bb.fetch2.get_autorev(d)}')
+
+ bb.utils.mkdirhier(self.srcdir)
+ self.git('init', cwd=self.srcdir)
+ with open(os.path.join(self.srcdir, '.gitattributes'), 'wt') as attrs:
+ attrs.write('*.mp3 filter=lfs -text')
+ self.git(['add', '.gitattributes'], cwd=self.srcdir)
+ self.git(['commit', '-m', "attributes", '.gitattributes'], cwd=self.srcdir)
+
+ def git(self, cmd, cwd=None):
+ if isinstance(cmd, str):
+ cmd = 'git ' + cmd
+ else:
+ cmd = ['git'] + cmd
+ if cwd is None:
+ cwd = self.gitdir
+ return bb.process.run(cmd, cwd=cwd)[0]
+
+ def fetch(self, uri=None):
+ uris = self.d.getVar('SRC_URI').split()
+ uri = uris[0]
+ d = self.d
+
+ fetcher = bb.fetch2.Fetch(uris, d)
+ fetcher.download()
+ ud = fetcher.ud[uri]
+ return fetcher, ud
+
+ def test_lfs_enabled(self):
+ import shutil
+
+ uri = 'git://%s;protocol=file;subdir=${S};lfs=1' % self.srcdir
+ self.d.setVar('SRC_URI', uri)
+
+ fetcher, ud = self.fetch()
+ self.assertIsNotNone(ud.method._find_git_lfs)
+
+ # If git-lfs can be found, the unpack should be successful
+ ud.method._find_git_lfs = lambda d: True
+ shutil.rmtree(self.gitdir, ignore_errors=True)
+ fetcher.unpack(self.d.getVar('WORKDIR'))
+
+ # If git-lfs cannot be found, the unpack should throw an error
+ with self.assertRaises(bb.fetch2.FetchError):
+ ud.method._find_git_lfs = lambda d: False
+ shutil.rmtree(self.gitdir, ignore_errors=True)
+ fetcher.unpack(self.d.getVar('WORKDIR'))
+
+ def test_lfs_disabled(self):
+ import shutil
+
+ uri = 'git://%s;protocol=file;subdir=${S};lfs=0' % self.srcdir
+ self.d.setVar('SRC_URI', uri)
+
+ fetcher, ud = self.fetch()
+ self.assertIsNotNone(ud.method._find_git_lfs)
+
+ # If git-lfs can be found, the unpack should be successful
+ ud.method._find_git_lfs = lambda d: True
+ shutil.rmtree(self.gitdir, ignore_errors=True)
+ fetcher.unpack(self.d.getVar('WORKDIR'))
+
+ # If git-lfs cannot be found, the unpack should be successful
+ ud.method._find_git_lfs = lambda d: False
+ shutil.rmtree(self.gitdir, ignore_errors=True)
+ fetcher.unpack(self.d.getVar('WORKDIR'))
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass b/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
new file mode 100644
index 000000000..b57650d59
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/classes/base.bbclass
@@ -0,0 +1,262 @@
+SLOWTASKS ??= ""
+SSTATEVALID ??= ""
+
+def stamptask(d):
+ import time
+
+ thistask = d.expand("${PN}:${BB_CURRENTTASK}")
+ stampname = d.expand("${TOPDIR}/%s.run" % thistask)
+ with open(stampname, "a+") as f:
+ f.write(d.getVar("BB_UNIHASH") + "\n")
+
+ if d.getVar("BB_CURRENT_MC") != "default":
+ thistask = d.expand("${BB_CURRENT_MC}:${PN}:${BB_CURRENTTASK}")
+ if thistask in d.getVar("SLOWTASKS").split():
+ bb.note("Slowing task %s" % thistask)
+ time.sleep(0.5)
+ if d.getVar("BB_HASHSERVE"):
+ task = d.getVar("BB_CURRENTTASK")
+ if task in ['package', 'package_qa', 'packagedata', 'package_write_ipk', 'package_write_rpm', 'populate_lic', 'populate_sysroot']:
+ bb.parse.siggen.report_unihash(os.getcwd(), d.getVar("BB_CURRENTTASK"), d)
+
+ with open(d.expand("${TOPDIR}/task.log"), "a+") as f:
+ f.write(thistask + "\n")
+
+
+def sstate_output_hash(path, sigfile, task, d):
+ import hashlib
+ h = hashlib.sha256()
+ h.update(d.expand("${PN}:${BB_CURRENTTASK}").encode('utf-8'))
+ return h.hexdigest()
+
+python do_fetch() {
+ # fetch
+ stamptask(d)
+}
+python do_unpack() {
+ # unpack
+ stamptask(d)
+}
+python do_patch() {
+ # patch
+ stamptask(d)
+}
+python do_populate_lic() {
+ # populate_lic
+ stamptask(d)
+}
+python do_prepare_recipe_sysroot() {
+ # prepare_recipe_sysroot
+ stamptask(d)
+}
+python do_configure() {
+ # configure
+ stamptask(d)
+}
+python do_compile() {
+ # compile
+ stamptask(d)
+}
+python do_install() {
+ # install
+ stamptask(d)
+}
+python do_populate_sysroot() {
+ # populate_sysroot
+ stamptask(d)
+}
+python do_package() {
+ # package
+ stamptask(d)
+}
+python do_package_write_ipk() {
+ # package_write_ipk
+ stamptask(d)
+}
+python do_package_write_rpm() {
+ # package_write_rpm
+ stamptask(d)
+}
+python do_packagedata() {
+ # packagedata
+ stamptask(d)
+}
+python do_package_qa() {
+ # package_qa
+ stamptask(d)
+}
+python do_build() {
+ # build
+ stamptask(d)
+}
+do_prepare_recipe_sysroot[deptask] = "do_populate_sysroot"
+do_package[deptask] += "do_packagedata"
+do_build[recrdeptask] += "do_deploy"
+do_build[recrdeptask] += "do_package_write_ipk"
+do_build[recrdeptask] += "do_package_write_rpm"
+do_package_qa[rdeptask] = "do_packagedata"
+do_populate_lic_deploy[recrdeptask] += "do_populate_lic do_deploy"
+
+DEBIANRDEP = "do_packagedata"
+oo_package_write_ipk[rdeptask] = "${DEBIANRDEP}"
+do_package_write_rpm[rdeptask] = "${DEBIANRDEP}"
+
+addtask fetch
+addtask unpack after do_fetch
+addtask patch after do_unpack
+addtask prepare_recipe_sysroot after do_patch
+addtask configure after do_prepare_recipe_sysroot
+addtask compile after do_configure
+addtask install after do_compile
+addtask populate_sysroot after do_install
+addtask package after do_install
+addtask package_write_ipk after do_packagedata do_package
+addtask package_write_rpm after do_packagedata do_package
+addtask packagedata after do_package
+addtask package_qa after do_package
+addtask build after do_package_qa do_package_write_rpm do_package_write_ipk do_populate_sysroot
+
+python do_package_setscene() {
+ stamptask(d)
+}
+python do_package_qa_setscene() {
+ stamptask(d)
+}
+python do_package_write_ipk_setscene() {
+ stamptask(d)
+}
+python do_package_write_rpm_setscene() {
+ stamptask(d)
+}
+python do_packagedata_setscene() {
+ stamptask(d)
+}
+python do_populate_lic_setscene() {
+ stamptask(d)
+}
+python do_populate_sysroot_setscene() {
+ stamptask(d)
+}
+
+addtask package_setscene
+addtask package_qa_setscene
+addtask package_write_ipk_setscene
+addtask package_write_rpm_setscene
+addtask packagedata_setscene
+addtask populate_lic_setscene
+addtask populate_sysroot_setscene
+
+BB_SETSCENE_DEPVALID = "setscene_depvalid"
+
+def setscene_depvalid(task, taskdependees, notneeded, d, log=None):
+ # taskdependees is a dict of tasks which depend on task, each being a 3 item list of [PN, TASKNAME, FILENAME]
+ # task is included in taskdependees too
+ # Return - False - We need this dependency
+ # - True - We can skip this dependency
+ import re
+
+ def logit(msg, log):
+ if log is not None:
+ log.append(msg)
+ else:
+ bb.debug(2, msg)
+
+ logit("Considering setscene task: %s" % (str(taskdependees[task])), log)
+
+ def isNativeCross(x):
+ return x.endswith("-native") or "-cross-" in x or "-crosssdk" in x or x.endswith("-cross")
+
+ # We only need to trigger populate_lic through direct dependencies
+ if taskdependees[task][1] == "do_populate_lic":
+ return True
+
+ # We only need to trigger packagedata through direct dependencies
+ # but need to preserve packagedata on packagedata links
+ if taskdependees[task][1] == "do_packagedata":
+ for dep in taskdependees:
+ if taskdependees[dep][1] == "do_packagedata":
+ return False
+ return True
+
+ for dep in taskdependees:
+ logit(" considering dependency: %s" % (str(taskdependees[dep])), log)
+ if task == dep:
+ continue
+ if dep in notneeded:
+ continue
+ # do_package_write_* and do_package doesn't need do_package
+ if taskdependees[task][1] == "do_package" and taskdependees[dep][1] in ['do_package', 'do_package_write_ipk', 'do_package_write_rpm', 'do_packagedata', 'do_package_qa']:
+ continue
+ # do_package_write_* need do_populate_sysroot as they're mainly postinstall dependencies
+ if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package_write_ipk', 'do_package_write_rpm']:
+ return False
+ # do_package/packagedata/package_qa don't need do_populate_sysroot
+ if taskdependees[task][1] == "do_populate_sysroot" and taskdependees[dep][1] in ['do_package', 'do_packagedata', 'do_package_qa']:
+ continue
+ # Native/Cross packages don't exist and are noexec anyway
+ if isNativeCross(taskdependees[dep][0]) and taskdependees[dep][1] in ['do_package_write_ipk', 'do_package_write_rpm', 'do_packagedata', 'do_package', 'do_package_qa']:
+ continue
+
+ # This is due to the [depends] in useradd.bbclass complicating matters
+ # The logic *is* reversed here due to the way hard setscene dependencies are injected
+ if (taskdependees[task][1] == 'do_package' or taskdependees[task][1] == 'do_populate_sysroot') and taskdependees[dep][0].endswith(('shadow-native', 'shadow-sysroot', 'base-passwd', 'pseudo-native')) and taskdependees[dep][1] == 'do_populate_sysroot':
+ continue
+
+ # Consider sysroot depending on sysroot tasks
+ if taskdependees[task][1] == 'do_populate_sysroot' and taskdependees[dep][1] == 'do_populate_sysroot':
+ # Native/Cross populate_sysroot need their dependencies
+ if isNativeCross(taskdependees[task][0]) and isNativeCross(taskdependees[dep][0]):
+ return False
+ # Target populate_sysroot depended on by cross tools need to be installed
+ if isNativeCross(taskdependees[dep][0]):
+ return False
+ # Native/cross tools depended upon by target sysroot are not needed
+ # Add an exception for shadow-native as required by useradd.bbclass
+ if isNativeCross(taskdependees[task][0]) and taskdependees[task][0] != 'shadow-native':
+ continue
+ # Target populate_sysroot need their dependencies
+ return False
+
+
+ if taskdependees[dep][1] == "do_populate_lic":
+ continue
+
+ # Safe fallthrough default
+ logit(" Default setscene dependency fall through due to dependency: %s" % (str(taskdependees[dep])), log)
+ return False
+ return True
+
+BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
+
+def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, **kwargs):
+
+ found = set()
+ missed = set()
+
+ valid = d.getVar("SSTATEVALID").split()
+
+ for tid in sorted(sq_data['hash']):
+ n = os.path.basename(bb.runqueue.fn_from_tid(tid)).split(".")[0] + ":do_" + bb.runqueue.taskname_from_tid(tid)[3:]
+ print(n)
+ stampfile = d.expand("${TOPDIR}/%s.run" % n.replace("do_", ""))
+ if n in valid:
+ bb.note("SState: Found valid sstate for %s" % n)
+ found.add(tid)
+ elif n + ":" + sq_data['hash'][tid] in valid:
+ bb.note("SState: Found valid sstate for %s" % n)
+ found.add(tid)
+ elif os.path.exists(stampfile):
+ with open(stampfile, "r") as f:
+ hash = f.readline().strip()
+ if hash == sq_data['hash'][tid]:
+ bb.note("SState: Found valid sstate for %s (already run)" % n)
+ found.add(tid)
+ else:
+ bb.note("SState: sstate hash didn't match previous run for %s (%s vs %s)" % (n, sq_data['hash'][tid], hash))
+ missed.add(tid)
+ else:
+ missed.add(tid)
+ bb.note("SState: Found no valid sstate for %s (%s)" % (n, sq_data['hash'][tid]))
+
+ return found
+
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/classes/image.bbclass b/poky/bitbake/lib/bb/tests/runqueue-tests/classes/image.bbclass
new file mode 100644
index 000000000..da9ff1106
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/classes/image.bbclass
@@ -0,0 +1,5 @@
+do_rootfs[recrdeptask] += "do_package_write_deb do_package_qa"
+do_rootfs[recrdeptask] += "do_package_write_ipk do_package_qa"
+do_rootfs[recrdeptask] += "do_package_write_rpm do_package_qa
+do_rootfs[recrdeptask] += "do_packagedata"
+do_rootfs[recrdeptask] += "do_populate_lic"
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/classes/native.bbclass b/poky/bitbake/lib/bb/tests/runqueue-tests/classes/native.bbclass
new file mode 100644
index 000000000..7eaaee54a
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/classes/native.bbclass
@@ -0,0 +1,2 @@
+RECIPERDEPTASK = "do_populate_sysroot"
+do_populate_sysroot[rdeptask] = "${RECIPERDEPTASK}"
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf
new file mode 100644
index 000000000..5e451fc2c
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/bitbake.conf
@@ -0,0 +1,16 @@
+CACHE = "${TOPDIR}/cache"
+THISDIR = "${@os.path.dirname(d.getVar('FILE'))}"
+COREBASE := "${@os.path.normpath(os.path.dirname(d.getVar('FILE')+'/../../'))}"
+BBFILES = "${COREBASE}/recipes/*.bb"
+PROVIDES = "${PN}"
+PN = "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[0]}"
+PF = "${BB_CURRENT_MC}:${PN}"
+export PATH
+TMPDIR ??= "${TOPDIR}"
+STAMP = "${TMPDIR}/stamps/${PN}"
+T = "${TMPDIR}/workdir/${PN}/temp"
+BB_NUMBER_THREADS = "4"
+
+BB_HASHBASE_WHITELIST = "BB_CURRENT_MC BB_HASHSERVE TMPDIR TOPDIR SLOWTASKS SSTATEVALID FILE"
+
+include conf/multiconfig/${BB_CURRENT_MC}.conf
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc1.conf b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc1.conf
new file mode 100644
index 000000000..ecf23e1c7
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc1.conf
@@ -0,0 +1 @@
+TMPDIR = "${TOPDIR}/mc1/"
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc2.conf b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc2.conf
new file mode 100644
index 000000000..eef338e4c
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/conf/multiconfig/mc2.conf
@@ -0,0 +1 @@
+TMPDIR = "${TOPDIR}/mc2/"
diff --git a/poky/meta/recipes-core/base-files/base-files/usbd b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/a1.bb
index e69de29bb..e69de29bb 100644
--- a/poky/meta/recipes-core/base-files/base-files/usbd
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/a1.bb
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/b1.bb b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/b1.bb
new file mode 100644
index 000000000..c0b288e5b
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/b1.bb
@@ -0,0 +1 @@
+DEPENDS = "a1" \ No newline at end of file
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/c1.bb b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/c1.bb
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/c1.bb
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/d1.bb b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/d1.bb
new file mode 100644
index 000000000..5ba197515
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/d1.bb
@@ -0,0 +1,3 @@
+DEPENDS = "a1"
+
+do_package_setscene[depends] = "a1:do_populate_sysroot_setscene"
diff --git a/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb
new file mode 100644
index 000000000..1588bc8a5
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue-tests/recipes/e1.bb
@@ -0,0 +1 @@
+DEPENDS = "b1" \ No newline at end of file
diff --git a/poky/bitbake/lib/bb/tests/runqueue.py b/poky/bitbake/lib/bb/tests/runqueue.py
new file mode 100644
index 000000000..5e6439156
--- /dev/null
+++ b/poky/bitbake/lib/bb/tests/runqueue.py
@@ -0,0 +1,323 @@
+#
+# BitBake Tests for runqueue task processing
+#
+# Copyright (C) 2019 Richard Purdie
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import unittest
+import bb
+import os
+import tempfile
+import subprocess
+import sys
+import time
+
+#
+# TODO:
+# Add tests on task ordering (X happens before Y after Z)
+#
+
+class RunQueueTests(unittest.TestCase):
+
+ alltasks = ['package', 'fetch', 'unpack', 'patch', 'prepare_recipe_sysroot', 'configure',
+ 'compile', 'install', 'packagedata', 'package_qa', 'package_write_rpm', 'package_write_ipk',
+ 'populate_sysroot', 'build']
+ a1_sstatevalid = "a1:do_package a1:do_package_qa a1:do_packagedata a1:do_package_write_ipk a1:do_package_write_rpm a1:do_populate_lic a1:do_populate_sysroot"
+ b1_sstatevalid = "b1:do_package b1:do_package_qa b1:do_packagedata b1:do_package_write_ipk b1:do_package_write_rpm b1:do_populate_lic b1:do_populate_sysroot"
+
+ def run_bitbakecmd(self, cmd, builddir, sstatevalid="", slowtasks="", extraenv=None, cleanup=False):
+ env = os.environ.copy()
+ env["BBPATH"] = os.path.realpath(os.path.join(os.path.dirname(__file__), "runqueue-tests"))
+ env["BB_ENV_EXTRAWHITE"] = "SSTATEVALID SLOWTASKS"
+ env["SSTATEVALID"] = sstatevalid
+ env["SLOWTASKS"] = slowtasks
+ if extraenv:
+ for k in extraenv:
+ env[k] = extraenv[k]
+ env["BB_ENV_EXTRAWHITE"] = env["BB_ENV_EXTRAWHITE"] + " " + k
+ try:
+ output = subprocess.check_output(cmd, env=env, stderr=subprocess.STDOUT,universal_newlines=True, cwd=builddir)
+ print(output)
+ except subprocess.CalledProcessError as e:
+ self.fail("Command %s failed with %s" % (cmd, e.output))
+ tasks = []
+ tasklog = builddir + "/task.log"
+ if os.path.exists(tasklog):
+ with open(tasklog, "r") as f:
+ tasks = [line.rstrip() for line in f]
+ if cleanup:
+ os.remove(tasklog)
+ return tasks
+
+ def test_no_setscenevalid(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "a1"]
+ sstatevalid = ""
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:' + x for x in self.alltasks]
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_single_setscenevalid(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "a1"]
+ sstatevalid = "a1:do_package"
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:package_setscene', 'a1:fetch', 'a1:unpack', 'a1:patch', 'a1:prepare_recipe_sysroot', 'a1:configure',
+ 'a1:compile', 'a1:install', 'a1:packagedata', 'a1:package_qa', 'a1:package_write_rpm', 'a1:package_write_ipk',
+ 'a1:populate_sysroot', 'a1:build']
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_intermediate_setscenevalid(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "a1"]
+ sstatevalid = "a1:do_package a1:do_populate_sysroot"
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:package_setscene', 'a1:packagedata', 'a1:package_qa', 'a1:package_write_rpm', 'a1:package_write_ipk',
+ 'a1:populate_sysroot_setscene', 'a1:build']
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_intermediate_notcovered(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "a1"]
+ sstatevalid = "a1:do_package_qa a1:do_packagedata a1:do_package_write_ipk a1:do_package_write_rpm a1:do_populate_lic a1:do_populate_sysroot"
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:package_write_ipk_setscene', 'a1:package_write_rpm_setscene', 'a1:packagedata_setscene',
+ 'a1:package_qa_setscene', 'a1:build', 'a1:populate_sysroot_setscene']
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_all_setscenevalid(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "a1"]
+ sstatevalid = self.a1_sstatevalid
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:package_write_ipk_setscene', 'a1:package_write_rpm_setscene', 'a1:packagedata_setscene',
+ 'a1:package_qa_setscene', 'a1:build', 'a1:populate_sysroot_setscene']
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_no_settasks(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "a1", "-c", "patch"]
+ sstatevalid = self.a1_sstatevalid
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:fetch', 'a1:unpack', 'a1:patch']
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_mix_covered_notcovered(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "a1:do_patch", "a1:do_populate_sysroot"]
+ sstatevalid = self.a1_sstatevalid
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:fetch', 'a1:unpack', 'a1:patch', 'a1:populate_sysroot_setscene']
+ self.assertEqual(set(tasks), set(expected))
+
+
+ # Test targets with intermediate setscene tasks alongside a target with no intermediate setscene tasks
+ def test_mixed_direct_tasks_setscene_tasks(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "c1:do_patch", "a1"]
+ sstatevalid = self.a1_sstatevalid
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['c1:fetch', 'c1:unpack', 'c1:patch', 'a1:package_write_ipk_setscene', 'a1:package_write_rpm_setscene', 'a1:packagedata_setscene',
+ 'a1:package_qa_setscene', 'a1:build', 'a1:populate_sysroot_setscene']
+ self.assertEqual(set(tasks), set(expected))
+
+ # This test slows down the execution of do_package_setscene until after other real tasks have
+ # started running which tests for a bug where tasks were being lost from the buildable list of real
+ # tasks if they weren't in tasks_covered or tasks_notcovered
+ def test_slow_setscene(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "a1"]
+ sstatevalid = "a1:do_package"
+ slowtasks = "a1:package_setscene"
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, slowtasks)
+ expected = ['a1:package_setscene', 'a1:fetch', 'a1:unpack', 'a1:patch', 'a1:prepare_recipe_sysroot', 'a1:configure',
+ 'a1:compile', 'a1:install', 'a1:packagedata', 'a1:package_qa', 'a1:package_write_rpm', 'a1:package_write_ipk',
+ 'a1:populate_sysroot', 'a1:build']
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_setscenewhitelist(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "a1"]
+ extraenv = {
+ "BB_SETSCENE_ENFORCE" : "1",
+ "BB_SETSCENE_ENFORCE_WHITELIST" : "a1:do_package_write_rpm a1:do_build"
+ }
+ sstatevalid = "a1:do_package a1:do_package_qa a1:do_packagedata a1:do_package_write_ipk a1:do_populate_lic a1:do_populate_sysroot"
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv)
+ expected = ['a1:packagedata_setscene', 'a1:package_qa_setscene', 'a1:package_write_ipk_setscene',
+ 'a1:populate_sysroot_setscene', 'a1:package_setscene']
+ self.assertEqual(set(tasks), set(expected))
+
+ # Tests for problems with dependencies between setscene tasks
+ def test_no_setscenevalid_harddeps(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "d1"]
+ sstatevalid = ""
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:package', 'a1:fetch', 'a1:unpack', 'a1:patch', 'a1:prepare_recipe_sysroot', 'a1:configure',
+ 'a1:compile', 'a1:install', 'a1:packagedata', 'a1:package_write_rpm', 'a1:package_write_ipk',
+ 'a1:populate_sysroot', 'd1:package', 'd1:fetch', 'd1:unpack', 'd1:patch', 'd1:prepare_recipe_sysroot', 'd1:configure',
+ 'd1:compile', 'd1:install', 'd1:packagedata', 'd1:package_qa', 'd1:package_write_rpm', 'd1:package_write_ipk',
+ 'd1:populate_sysroot', 'd1:build']
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_no_setscenevalid_withdeps(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "b1"]
+ sstatevalid = ""
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks]
+ expected.remove('a1:build')
+ expected.remove('a1:package_qa')
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_single_a1_setscenevalid_withdeps(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "b1"]
+ sstatevalid = "a1:do_package"
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:package_setscene', 'a1:fetch', 'a1:unpack', 'a1:patch', 'a1:prepare_recipe_sysroot', 'a1:configure',
+ 'a1:compile', 'a1:install', 'a1:packagedata', 'a1:package_write_rpm', 'a1:package_write_ipk',
+ 'a1:populate_sysroot'] + ['b1:' + x for x in self.alltasks]
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_single_b1_setscenevalid_withdeps(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "b1"]
+ sstatevalid = "b1:do_package"
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:package', 'a1:fetch', 'a1:unpack', 'a1:patch', 'a1:prepare_recipe_sysroot', 'a1:configure',
+ 'a1:compile', 'a1:install', 'a1:packagedata', 'a1:package_write_rpm', 'a1:package_write_ipk',
+ 'a1:populate_sysroot', 'b1:package_setscene'] + ['b1:' + x for x in self.alltasks]
+ expected.remove('b1:package')
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_intermediate_setscenevalid_withdeps(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "b1"]
+ sstatevalid = "a1:do_package a1:do_populate_sysroot b1:do_package"
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:package_setscene', 'a1:packagedata', 'a1:package_write_rpm', 'a1:package_write_ipk',
+ 'a1:populate_sysroot_setscene', 'b1:package_setscene'] + ['b1:' + x for x in self.alltasks]
+ expected.remove('b1:package')
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_all_setscenevalid_withdeps(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ cmd = ["bitbake", "b1"]
+ sstatevalid = self.a1_sstatevalid + " " + self.b1_sstatevalid
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid)
+ expected = ['a1:package_write_ipk_setscene', 'a1:package_write_rpm_setscene', 'a1:packagedata_setscene',
+ 'b1:build', 'a1:populate_sysroot_setscene', 'b1:package_write_ipk_setscene', 'b1:package_write_rpm_setscene',
+ 'b1:packagedata_setscene', 'b1:package_qa_setscene', 'b1:populate_sysroot_setscene']
+ self.assertEqual(set(tasks), set(expected))
+
+ def test_multiconfig_setscene_optimise(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ extraenv = {
+ "BBMULTICONFIG" : "mc1 mc2",
+ "BB_SIGNATURE_HANDLER" : "basic"
+ }
+ cmd = ["bitbake", "b1", "mc:mc1:b1", "mc:mc2:b1"]
+ setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene',
+ 'populate_sysroot_setscene', 'package_qa_setscene']
+ sstatevalid = ""
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv)
+ expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] + \
+ ['mc1:b1:' + x for x in setscenetasks] + ['mc1:a1:' + x for x in setscenetasks] + \
+ ['mc2:b1:' + x for x in setscenetasks] + ['mc2:a1:' + x for x in setscenetasks] + \
+ ['mc1:b1:build', 'mc2:b1:build']
+ for x in ['mc1:a1:package_qa_setscene', 'mc2:a1:package_qa_setscene', 'a1:build', 'a1:package_qa']:
+ expected.remove(x)
+ self.assertEqual(set(tasks), set(expected))
+
+
+ @unittest.skipIf(sys.version_info < (3, 5, 0), 'Python 3.5 or later required')
+ def test_hashserv_single(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ extraenv = {
+ "BB_HASHSERVE" : "auto",
+ "BB_SIGNATURE_HANDLER" : "TestEquivHash"
+ }
+ cmd = ["bitbake", "a1", "b1"]
+ setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene',
+ 'populate_sysroot_setscene', 'package_qa_setscene']
+ sstatevalid = ""
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True)
+ expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks]
+ self.assertEqual(set(tasks), set(expected))
+ cmd = ["bitbake", "a1", "-c", "install", "-f"]
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True)
+ expected = ['a1:install']
+ self.assertEqual(set(tasks), set(expected))
+ cmd = ["bitbake", "a1", "b1"]
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True)
+ expected = ['a1:populate_sysroot', 'a1:package', 'a1:package_write_rpm_setscene', 'a1:packagedata_setscene',
+ 'a1:package_write_ipk_setscene', 'a1:package_qa_setscene']
+ self.assertEqual(set(tasks), set(expected))
+
+ self.shutdown(tempdir)
+
+ @unittest.skipIf(sys.version_info < (3, 5, 0), 'Python 3.5 or later required')
+ def test_hashserv_double(self):
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ extraenv = {
+ "BB_HASHSERVE" : "auto",
+ "BB_SIGNATURE_HANDLER" : "TestEquivHash"
+ }
+ cmd = ["bitbake", "a1", "b1", "e1"]
+ setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene',
+ 'populate_sysroot_setscene', 'package_qa_setscene']
+ sstatevalid = ""
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True)
+ expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] + ['e1:' + x for x in self.alltasks]
+ self.assertEqual(set(tasks), set(expected))
+ cmd = ["bitbake", "a1", "b1", "-c", "install", "-fn"]
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True)
+ cmd = ["bitbake", "e1"]
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True)
+ expected = ['a1:package', 'a1:install', 'b1:package', 'b1:install', 'a1:populate_sysroot', 'b1:populate_sysroot',
+ 'a1:package_write_ipk_setscene', 'b1:packagedata_setscene', 'b1:package_write_rpm_setscene',
+ 'a1:package_write_rpm_setscene', 'b1:package_write_ipk_setscene', 'a1:packagedata_setscene']
+ self.assertEqual(set(tasks), set(expected))
+
+ self.shutdown(tempdir)
+
+ @unittest.skipIf(sys.version_info < (3, 5, 0), 'Python 3.5 or later required')
+ def test_hashserv_multiple_setscene(self):
+ # Runs e1:do_package_setscene twice
+ with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+ extraenv = {
+ "BB_HASHSERVE" : "auto",
+ "BB_SIGNATURE_HANDLER" : "TestEquivHash"
+ }
+ cmd = ["bitbake", "a1", "b1", "e1"]
+ setscenetasks = ['package_write_ipk_setscene', 'package_write_rpm_setscene', 'packagedata_setscene',
+ 'populate_sysroot_setscene', 'package_qa_setscene']
+ sstatevalid = ""
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True)
+ expected = ['a1:' + x for x in self.alltasks] + ['b1:' + x for x in self.alltasks] + ['e1:' + x for x in self.alltasks]
+ self.assertEqual(set(tasks), set(expected))
+ cmd = ["bitbake", "a1", "b1", "-c", "install", "-fn"]
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True)
+ cmd = ["bitbake", "e1"]
+ sstatevalid = "e1:do_package"
+ tasks = self.run_bitbakecmd(cmd, tempdir, sstatevalid, extraenv=extraenv, cleanup=True, slowtasks="a1:populate_sysroot b1:populate_sysroot")
+ expected = ['a1:package', 'a1:install', 'b1:package', 'b1:install', 'a1:populate_sysroot', 'b1:populate_sysroot',
+ 'a1:package_write_ipk_setscene', 'b1:packagedata_setscene', 'b1:package_write_rpm_setscene',
+ 'a1:package_write_rpm_setscene', 'b1:package_write_ipk_setscene', 'a1:packagedata_setscene',
+ 'e1:package_setscene']
+ self.assertEqual(set(tasks), set(expected))
+ for i in expected:
+ self.assertEqual(tasks.count(i), 1, "%s not in task list once" % i)
+
+ self.shutdown(tempdir)
+
+ def shutdown(self, tempdir):
+ # Wait for the hashserve socket to disappear else we'll see races with the tempdir cleanup
+ while os.path.exists(tempdir + "/hashserve.sock"):
+ time.sleep(0.5)
+
+
diff --git a/poky/bitbake/lib/bb/ui/buildinfohelper.py b/poky/bitbake/lib/bb/ui/buildinfohelper.py
index f2151c2d4..5cbca97f3 100644
--- a/poky/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/poky/bitbake/lib/bb/ui/buildinfohelper.py
@@ -646,6 +646,9 @@ class ORMWrapper(object):
Target_Installed_Package.objects.create(target = target_obj, package = packagedict[p]['object'])
packagedeps_objs = []
+ pattern_so = re.compile(r'.*\.so(\.\d*)?$')
+ pattern_lib = re.compile(r'.*\-suffix(\d*)?$')
+ pattern_ko = re.compile(r'^kernel-module-.*')
for p in packagedict:
for (px,deptype) in packagedict[p]['depends']:
if deptype == 'depends':
@@ -654,6 +657,13 @@ class ORMWrapper(object):
tdeptype = Package_Dependency.TYPE_TRECOMMENDS
try:
+ # Skip known non-package objects like libraries and kernel modules
+ if pattern_so.match(px) or pattern_lib.match(px):
+ logger.info("Toaster does not add library file dependencies to packages (%s,%s)", p, px)
+ continue
+ if pattern_ko.match(px):
+ logger.info("Toaster does not add kernel module dependencies to packages (%s,%s)", p, px)
+ continue
packagedeps_objs.append(Package_Dependency(
package = packagedict[p]['object'],
depends_on = packagedict[px]['object'],
diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py
index 88f638fb3..35736ade0 100644
--- a/poky/bitbake/lib/bb/ui/knotty.py
+++ b/poky/bitbake/lib/bb/ui/knotty.py
@@ -660,7 +660,6 @@ def main(server, eventHandler, params, tf = TerminalFilter):
# ignore
if isinstance(event, (bb.event.BuildBase,
bb.event.MetadataEvent,
- bb.event.StampUpdate,
bb.event.ConfigParsed,
bb.event.MultiConfigParsed,
bb.event.RecipeParsed,
@@ -690,17 +689,27 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if params.observe_only:
print("\nKeyboard Interrupt, exiting observer...")
main.shutdown = 2
- if not params.observe_only and main.shutdown == 1:
+
+ def state_force_shutdown():
print("\nSecond Keyboard Interrupt, stopping...\n")
_, error = server.runCommand(["stateForceShutdown"])
if error:
logger.error("Unable to cleanly stop: %s" % error)
+
+ if not params.observe_only and main.shutdown == 1:
+ state_force_shutdown()
+
if not params.observe_only and main.shutdown == 0:
print("\nKeyboard Interrupt, closing down...\n")
interrupted = True
- _, error = server.runCommand(["stateShutdown"])
- if error:
- logger.error("Unable to cleanly shutdown: %s" % error)
+ # Capture the second KeyboardInterrupt during stateShutdown is running
+ try:
+ _, error = server.runCommand(["stateShutdown"])
+ if error:
+ logger.error("Unable to cleanly shutdown: %s" % error)
+ except KeyboardInterrupt:
+ state_force_shutdown()
+
main.shutdown = main.shutdown + 1
pass
except Exception as e:
diff --git a/poky/bitbake/lib/bb/ui/uihelper.py b/poky/bitbake/lib/bb/ui/uihelper.py
index db7f0ca08..c8dd7df08 100644
--- a/poky/bitbake/lib/bb/ui/uihelper.py
+++ b/poky/bitbake/lib/bb/ui/uihelper.py
@@ -40,7 +40,7 @@ class BBUIHelper:
self.running_pids.remove(event.pid)
self.failed_tasks.append( { 'title' : "%s %s" % (event._package, event._task)})
self.needUpdate = True
- elif isinstance(event, bb.runqueue.runQueueTaskStarted) or isinstance(event, bb.runqueue.sceneQueueTaskStarted):
+ elif isinstance(event, bb.runqueue.runQueueTaskStarted):
self.tasknumber_current = event.stats.completed + event.stats.active + event.stats.failed + 1
self.tasknumber_total = event.stats.total
self.needUpdate = True
diff --git a/poky/bitbake/lib/bb/utils.py b/poky/bitbake/lib/bb/utils.py
index ed19825fa..d035949b3 100644
--- a/poky/bitbake/lib/bb/utils.py
+++ b/poky/bitbake/lib/bb/utils.py
@@ -394,7 +394,7 @@ def better_exec(code, context, text = None, realfile = "<code>", pythonexception
code = better_compile(code, realfile, realfile)
try:
exec(code, get_context(), context)
- except (bb.BBHandledException, bb.parse.SkipRecipe, bb.build.FuncFailed, bb.data_smart.ExpansionError):
+ except (bb.BBHandledException, bb.parse.SkipRecipe, bb.data_smart.ExpansionError):
# Error already shown so passthrough, no need for traceback
raise
except Exception as e:
@@ -677,7 +677,7 @@ def _check_unsafe_delete_path(path):
return True
return False
-def remove(path, recurse=False):
+def remove(path, recurse=False, ionice=False):
"""Equivalent to rm -f or rm -rf"""
if not path:
return
@@ -686,7 +686,10 @@ def remove(path, recurse=False):
if _check_unsafe_delete_path(path):
raise Exception('bb.utils.remove: called with dangerous path "%s" and recurse=True, refusing to delete!' % path)
# shutil.rmtree(name) would be ideal but its too slow
- subprocess.check_call(['rm', '-rf'] + glob.glob(path))
+ cmd = []
+ if ionice:
+ cmd = ['ionice', '-c', '3']
+ subprocess.check_call(cmd + ['rm', '-rf'] + glob.glob(path))
return
for name in glob.glob(path):
try:
@@ -695,12 +698,12 @@ def remove(path, recurse=False):
if exc.errno != errno.ENOENT:
raise
-def prunedir(topdir):
+def prunedir(topdir, ionice=False):
# Delete everything reachable from the directory named in 'topdir'.
# CAUTION: This is dangerous!
if _check_unsafe_delete_path(topdir):
raise Exception('bb.utils.prunedir: called with dangerous path "%s", refusing to delete!' % topdir)
- remove(topdir, recurse=True)
+ remove(topdir, recurse=True, ionice=ionice)
#
# Could also use return re.compile("(%s)" % "|".join(map(re.escape, suffixes))).sub(lambda mo: "", var)
@@ -780,7 +783,7 @@ def movefile(src, dest, newmtime = None, sstat = None):
os.rename(src, destpath)
renamefailed = 0
except Exception as e:
- if e[0] != errno.EXDEV:
+ if e.errno != errno.EXDEV:
# Some random error.
print("movefile: Failed to move", src, "to", dest, e)
return None
diff --git a/poky/bitbake/lib/bblayers/query.py b/poky/bitbake/lib/bblayers/query.py
index 993589de9..7db49c8e2 100644
--- a/poky/bitbake/lib/bblayers/query.py
+++ b/poky/bitbake/lib/bblayers/query.py
@@ -46,7 +46,7 @@ layer, with the preferred version first. Note that skipped recipes that
are overlayed will also be listed, with a " (skipped)" suffix.
"""
- items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, True, None)
+ items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None, False, None)
# Check for overlayed .bbclass files
classes = collections.defaultdict(list)
@@ -112,9 +112,9 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
title = 'Matching recipes:'
else:
title = 'Available recipes:'
- self.list_recipes(title, args.pnspec, False, False, args.filenames, args.multiple, inheritlist)
+ self.list_recipes(title, args.pnspec, False, False, args.filenames, args.recipes_only, args.multiple, args.layer, args.bare, inheritlist)
- def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_multi_provider_only, inherits):
+ def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_recipes_only, show_multi_provider_only, selected_layer, bare, inherits):
if inherits:
bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
for classname in inherits:
@@ -144,24 +144,30 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
preferred_versions[p] = (ver, fn)
def print_item(f, pn, ver, layer, ispref):
- if f in skiplist:
- skipped = ' (skipped)'
- else:
- skipped = ''
- if show_filenames:
- if ispref:
- logger.plain("%s%s", f, skipped)
+ if not selected_layer or layer == selected_layer:
+ if not bare and f in skiplist:
+ skipped = ' (skipped)'
else:
- logger.plain(" %s%s", f, skipped)
- else:
- if ispref:
- logger.plain("%s:", pn)
- logger.plain(" %s %s%s", layer.ljust(20), ver, skipped)
+ skipped = ''
+ if show_filenames:
+ if ispref:
+ logger.plain("%s%s", f, skipped)
+ else:
+ logger.plain(" %s%s", f, skipped)
+ elif show_recipes_only:
+ if pn not in show_unique_pn:
+ show_unique_pn.append(pn)
+ logger.plain("%s%s", pn, skipped)
+ else:
+ if ispref:
+ logger.plain("%s:", pn)
+ logger.plain(" %s %s%s", layer.ljust(20), ver, skipped)
global_inherit = (self.tinfoil.config_data.getVar('INHERIT') or "").split()
cls_re = re.compile('classes/')
preffiles = []
+ show_unique_pn = []
items_listed = False
for p in sorted(pkg_pn):
if pnspec:
@@ -493,8 +499,11 @@ NOTE: .bbappend files can impact the dependencies.
parser_show_recipes = self.add_command(sp, 'show-recipes', self.do_show_recipes)
parser_show_recipes.add_argument('-f', '--filenames', help='instead of the default formatting, list filenames of higher priority recipes with the ones they overlay indented underneath', action='store_true')
+ parser_show_recipes.add_argument('-r', '--recipes-only', help='instead of the default formatting, list recipes only', action='store_true')
parser_show_recipes.add_argument('-m', '--multiple', help='only list where multiple recipes (in the same layer or different layers) exist for the same recipe name', action='store_true')
parser_show_recipes.add_argument('-i', '--inherits', help='only list recipes that inherit the named class(es) - separate multiple classes using , (without spaces)', metavar='CLASS', default='')
+ parser_show_recipes.add_argument('-l', '--layer', help='only list recipes from the selected layer', default='')
+ parser_show_recipes.add_argument('-b', '--bare', help='output just names without the "(skipped)" marker', action='store_true')
parser_show_recipes.add_argument('pnspec', nargs='*', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
parser_show_appends = self.add_command(sp, 'show-appends', self.do_show_appends)
diff --git a/poky/bitbake/lib/hashserv/__init__.py b/poky/bitbake/lib/hashserv/__init__.py
index fdc9ced9f..c3318620f 100644
--- a/poky/bitbake/lib/hashserv/__init__.py
+++ b/poky/bitbake/lib/hashserv/__init__.py
@@ -1,126 +1,25 @@
-# Copyright (C) 2018 Garmin Ltd.
+# Copyright (C) 2018-2019 Garmin Ltd.
#
# SPDX-License-Identifier: GPL-2.0-only
#
-from http.server import BaseHTTPRequestHandler, HTTPServer
-import contextlib
-import urllib.parse
+from contextlib import closing
+import re
import sqlite3
-import json
-import traceback
-import logging
-from datetime import datetime
-
-logger = logging.getLogger('hashserv')
-
-class HashEquivalenceServer(BaseHTTPRequestHandler):
- def log_message(self, f, *args):
- logger.debug(f, *args)
-
- def do_GET(self):
- try:
- p = urllib.parse.urlparse(self.path)
-
- if p.path != self.prefix + '/v1/equivalent':
- self.send_error(404)
- return
-
- query = urllib.parse.parse_qs(p.query, strict_parsing=True)
- method = query['method'][0]
- taskhash = query['taskhash'][0]
-
- d = None
- with contextlib.closing(self.db.cursor()) as cursor:
- cursor.execute('SELECT taskhash, method, unihash FROM tasks_v1 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1',
- {'method': method, 'taskhash': taskhash})
-
- row = cursor.fetchone()
-
- if row is not None:
- logger.debug('Found equivalent task %s', row['taskhash'])
- d = {k: row[k] for k in ('taskhash', 'method', 'unihash')}
-
- self.send_response(200)
- self.send_header('Content-Type', 'application/json; charset=utf-8')
- self.end_headers()
- self.wfile.write(json.dumps(d).encode('utf-8'))
- except:
- logger.exception('Error in GET')
- self.send_error(400, explain=traceback.format_exc())
- return
-
- def do_POST(self):
- try:
- p = urllib.parse.urlparse(self.path)
-
- if p.path != self.prefix + '/v1/equivalent':
- self.send_error(404)
- return
-
- length = int(self.headers['content-length'])
- data = json.loads(self.rfile.read(length).decode('utf-8'))
-
- with contextlib.closing(self.db.cursor()) as cursor:
- cursor.execute('''
- SELECT taskhash, method, unihash FROM tasks_v1 WHERE method=:method AND outhash=:outhash
- ORDER BY CASE WHEN taskhash=:taskhash THEN 1 ELSE 2 END,
- created ASC
- LIMIT 1
- ''', {k: data[k] for k in ('method', 'outhash', 'taskhash')})
-
- row = cursor.fetchone()
-
- if row is None or row['taskhash'] != data['taskhash']:
- unihash = data['unihash']
- if row is not None:
- unihash = row['unihash']
-
- insert_data = {
- 'method': data['method'],
- 'outhash': data['outhash'],
- 'taskhash': data['taskhash'],
- 'unihash': unihash,
- 'created': datetime.now()
- }
-
- for k in ('owner', 'PN', 'PV', 'PR', 'task', 'outhash_siginfo'):
- if k in data:
- insert_data[k] = data[k]
-
- cursor.execute('''INSERT INTO tasks_v1 (%s) VALUES (%s)''' % (
- ', '.join(sorted(insert_data.keys())),
- ', '.join(':' + k for k in sorted(insert_data.keys()))),
- insert_data)
-
- logger.info('Adding taskhash %s with unihash %s', data['taskhash'], unihash)
- cursor.execute('SELECT taskhash, method, unihash FROM tasks_v1 WHERE id=:id', {'id': cursor.lastrowid})
- row = cursor.fetchone()
-
- self.db.commit()
-
- d = {k: row[k] for k in ('taskhash', 'method', 'unihash')}
-
- self.send_response(200)
- self.send_header('Content-Type', 'application/json; charset=utf-8')
- self.end_headers()
- self.wfile.write(json.dumps(d).encode('utf-8'))
- except:
- logger.exception('Error in POST')
- self.send_error(400, explain=traceback.format_exc())
- return
-
-def create_server(addr, db, prefix=''):
- class Handler(HashEquivalenceServer):
- pass
-
- Handler.prefix = prefix
- Handler.db = db
+
+UNIX_PREFIX = "unix://"
+
+ADDR_TYPE_UNIX = 0
+ADDR_TYPE_TCP = 1
+
+
+def setup_database(database, sync=True):
+ db = sqlite3.connect(database)
db.row_factory = sqlite3.Row
- with contextlib.closing(db.cursor()) as cursor:
+ with closing(db.cursor()) as cursor:
cursor.execute('''
- CREATE TABLE IF NOT EXISTS tasks_v1 (
+ CREATE TABLE IF NOT EXISTS tasks_v2 (
id INTEGER PRIMARY KEY AUTOINCREMENT,
method TEXT NOT NULL,
outhash TEXT NOT NULL,
@@ -134,9 +33,61 @@ def create_server(addr, db, prefix=''):
PV TEXT,
PR TEXT,
task TEXT,
- outhash_siginfo TEXT
+ outhash_siginfo TEXT,
+
+ UNIQUE(method, outhash, taskhash)
)
''')
+ cursor.execute('PRAGMA journal_mode = WAL')
+ cursor.execute('PRAGMA synchronous = %s' % ('NORMAL' if sync else 'OFF'))
+
+ # Drop old indexes
+ cursor.execute('DROP INDEX IF EXISTS taskhash_lookup')
+ cursor.execute('DROP INDEX IF EXISTS outhash_lookup')
+
+ # Create new indexes
+ cursor.execute('CREATE INDEX IF NOT EXISTS taskhash_lookup_v2 ON tasks_v2 (method, taskhash, created)')
+ cursor.execute('CREATE INDEX IF NOT EXISTS outhash_lookup_v2 ON tasks_v2 (method, outhash)')
+
+ return db
+
+
+def parse_address(addr):
+ if addr.startswith(UNIX_PREFIX):
+ return (ADDR_TYPE_UNIX, (addr[len(UNIX_PREFIX):],))
+ else:
+ m = re.match(r'\[(?P<host>[^\]]*)\]:(?P<port>\d+)$', addr)
+ if m is not None:
+ host = m.group('host')
+ port = m.group('port')
+ else:
+ host, port = addr.split(':')
+
+ return (ADDR_TYPE_TCP, (host, int(port)))
+
+
+def create_server(addr, dbname, *, sync=True):
+ from . import server
+ db = setup_database(dbname, sync=sync)
+ s = server.Server(db)
+
+ (typ, a) = parse_address(addr)
+ if typ == ADDR_TYPE_UNIX:
+ s.start_unix_server(*a)
+ else:
+ s.start_tcp_server(*a)
+
+ return s
+
+
+def create_client(addr):
+ from . import client
+ c = client.Client()
+
+ (typ, a) = parse_address(addr)
+ if typ == ADDR_TYPE_UNIX:
+ c.connect_unix(*a)
+ else:
+ c.connect_tcp(*a)
- logger.info('Starting server on %s', addr)
- return HTTPServer(addr, Handler)
+ return c
diff --git a/poky/bitbake/lib/hashserv/client.py b/poky/bitbake/lib/hashserv/client.py
new file mode 100644
index 000000000..f65956617
--- /dev/null
+++ b/poky/bitbake/lib/hashserv/client.py
@@ -0,0 +1,157 @@
+# Copyright (C) 2019 Garmin Ltd.
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+from contextlib import closing
+import json
+import logging
+import socket
+import os
+
+
+logger = logging.getLogger('hashserv.client')
+
+
+class HashConnectionError(Exception):
+ pass
+
+
+class Client(object):
+ MODE_NORMAL = 0
+ MODE_GET_STREAM = 1
+
+ def __init__(self):
+ self._socket = None
+ self.reader = None
+ self.writer = None
+ self.mode = self.MODE_NORMAL
+
+ def connect_tcp(self, address, port):
+ def connect_sock():
+ s = socket.create_connection((address, port))
+
+ s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1)
+ s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1)
+ s.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
+ return s
+
+ self._connect_sock = connect_sock
+
+ def connect_unix(self, path):
+ def connect_sock():
+ s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+ # AF_UNIX has path length issues so chdir here to workaround
+ cwd = os.getcwd()
+ try:
+ os.chdir(os.path.dirname(path))
+ s.connect(os.path.basename(path))
+ finally:
+ os.chdir(cwd)
+ return s
+
+ self._connect_sock = connect_sock
+
+ def connect(self):
+ if self._socket is None:
+ self._socket = self._connect_sock()
+
+ self.reader = self._socket.makefile('r', encoding='utf-8')
+ self.writer = self._socket.makefile('w', encoding='utf-8')
+
+ self.writer.write('OEHASHEQUIV 1.0\n\n')
+ self.writer.flush()
+
+ # Restore mode if the socket is being re-created
+ cur_mode = self.mode
+ self.mode = self.MODE_NORMAL
+ self._set_mode(cur_mode)
+
+ return self._socket
+
+ def close(self):
+ if self._socket is not None:
+ self._socket.close()
+ self._socket = None
+ self.reader = None
+ self.writer = None
+
+ def _send_wrapper(self, proc):
+ count = 0
+ while True:
+ try:
+ self.connect()
+ return proc()
+ except (OSError, HashConnectionError, json.JSONDecodeError, UnicodeDecodeError) as e:
+ logger.warning('Error talking to server: %s' % e)
+ if count >= 3:
+ if not isinstance(e, HashConnectionError):
+ raise HashConnectionError(str(e))
+ raise e
+ self.close()
+ count += 1
+
+ def send_message(self, msg):
+ def proc():
+ self.writer.write('%s\n' % json.dumps(msg))
+ self.writer.flush()
+
+ l = self.reader.readline()
+ if not l:
+ raise HashConnectionError('Connection closed')
+
+ if not l.endswith('\n'):
+ raise HashConnectionError('Bad message %r' % message)
+
+ return json.loads(l)
+
+ return self._send_wrapper(proc)
+
+ def send_stream(self, msg):
+ def proc():
+ self.writer.write("%s\n" % msg)
+ self.writer.flush()
+ l = self.reader.readline()
+ if not l:
+ raise HashConnectionError('Connection closed')
+ return l.rstrip()
+
+ return self._send_wrapper(proc)
+
+ def _set_mode(self, new_mode):
+ if new_mode == self.MODE_NORMAL and self.mode == self.MODE_GET_STREAM:
+ r = self.send_stream('END')
+ if r != 'ok':
+ raise HashConnectionError('Bad response from server %r' % r)
+ elif new_mode == self.MODE_GET_STREAM and self.mode == self.MODE_NORMAL:
+ r = self.send_message({'get-stream': None})
+ if r != 'ok':
+ raise HashConnectionError('Bad response from server %r' % r)
+ elif new_mode != self.mode:
+ raise Exception('Undefined mode transition %r -> %r' % (self.mode, new_mode))
+
+ self.mode = new_mode
+
+ def get_unihash(self, method, taskhash):
+ self._set_mode(self.MODE_GET_STREAM)
+ r = self.send_stream('%s %s' % (method, taskhash))
+ if not r:
+ return None
+ return r
+
+ def report_unihash(self, taskhash, method, outhash, unihash, extra={}):
+ self._set_mode(self.MODE_NORMAL)
+ m = extra.copy()
+ m['taskhash'] = taskhash
+ m['method'] = method
+ m['outhash'] = outhash
+ m['unihash'] = unihash
+ return self.send_message({'report': m})
+
+ def get_stats(self):
+ self._set_mode(self.MODE_NORMAL)
+ return self.send_message({'get-stats': None})
+
+ def reset_stats(self):
+ self._set_mode(self.MODE_NORMAL)
+ return self.send_message({'reset-stats': None})
diff --git a/poky/bitbake/lib/hashserv/server.py b/poky/bitbake/lib/hashserv/server.py
new file mode 100644
index 000000000..0aff77688
--- /dev/null
+++ b/poky/bitbake/lib/hashserv/server.py
@@ -0,0 +1,414 @@
+# Copyright (C) 2019 Garmin Ltd.
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+from contextlib import closing
+from datetime import datetime
+import asyncio
+import json
+import logging
+import math
+import os
+import signal
+import socket
+import time
+
+logger = logging.getLogger('hashserv.server')
+
+
+class Measurement(object):
+ def __init__(self, sample):
+ self.sample = sample
+
+ def start(self):
+ self.start_time = time.perf_counter()
+
+ def end(self):
+ self.sample.add(time.perf_counter() - self.start_time)
+
+ def __enter__(self):
+ self.start()
+ return self
+
+ def __exit__(self, *args, **kwargs):
+ self.end()
+
+
+class Sample(object):
+ def __init__(self, stats):
+ self.stats = stats
+ self.num_samples = 0
+ self.elapsed = 0
+
+ def measure(self):
+ return Measurement(self)
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, *args, **kwargs):
+ self.end()
+
+ def add(self, elapsed):
+ self.num_samples += 1
+ self.elapsed += elapsed
+
+ def end(self):
+ if self.num_samples:
+ self.stats.add(self.elapsed)
+ self.num_samples = 0
+ self.elapsed = 0
+
+
+class Stats(object):
+ def __init__(self):
+ self.reset()
+
+ def reset(self):
+ self.num = 0
+ self.total_time = 0
+ self.max_time = 0
+ self.m = 0
+ self.s = 0
+ self.current_elapsed = None
+
+ def add(self, elapsed):
+ self.num += 1
+ if self.num == 1:
+ self.m = elapsed
+ self.s = 0
+ else:
+ last_m = self.m
+ self.m = last_m + (elapsed - last_m) / self.num
+ self.s = self.s + (elapsed - last_m) * (elapsed - self.m)
+
+ self.total_time += elapsed
+
+ if self.max_time < elapsed:
+ self.max_time = elapsed
+
+ def start_sample(self):
+ return Sample(self)
+
+ @property
+ def average(self):
+ if self.num == 0:
+ return 0
+ return self.total_time / self.num
+
+ @property
+ def stdev(self):
+ if self.num <= 1:
+ return 0
+ return math.sqrt(self.s / (self.num - 1))
+
+ def todict(self):
+ return {k: getattr(self, k) for k in ('num', 'total_time', 'max_time', 'average', 'stdev')}
+
+
+class ServerClient(object):
+ def __init__(self, reader, writer, db, request_stats):
+ self.reader = reader
+ self.writer = writer
+ self.db = db
+ self.request_stats = request_stats
+
+ async def process_requests(self):
+ try:
+ self.addr = self.writer.get_extra_info('peername')
+ logger.debug('Client %r connected' % (self.addr,))
+
+ # Read protocol and version
+ protocol = await self.reader.readline()
+ if protocol is None:
+ return
+
+ (proto_name, proto_version) = protocol.decode('utf-8').rstrip().split()
+ if proto_name != 'OEHASHEQUIV' or proto_version != '1.0':
+ return
+
+ # Read headers. Currently, no headers are implemented, so look for
+ # an empty line to signal the end of the headers
+ while True:
+ line = await self.reader.readline()
+ if line is None:
+ return
+
+ line = line.decode('utf-8').rstrip()
+ if not line:
+ break
+
+ # Handle messages
+ handlers = {
+ 'get': self.handle_get,
+ 'report': self.handle_report,
+ 'get-stream': self.handle_get_stream,
+ 'get-stats': self.handle_get_stats,
+ 'reset-stats': self.handle_reset_stats,
+ }
+
+ while True:
+ d = await self.read_message()
+ if d is None:
+ break
+
+ for k in handlers.keys():
+ if k in d:
+ logger.debug('Handling %s' % k)
+ if 'stream' in k:
+ await handlers[k](d[k])
+ else:
+ with self.request_stats.start_sample() as self.request_sample, \
+ self.request_sample.measure():
+ await handlers[k](d[k])
+ break
+ else:
+ logger.warning("Unrecognized command %r" % d)
+ break
+
+ await self.writer.drain()
+ finally:
+ self.writer.close()
+
+ def write_message(self, msg):
+ self.writer.write(('%s\n' % json.dumps(msg)).encode('utf-8'))
+
+ async def read_message(self):
+ l = await self.reader.readline()
+ if not l:
+ return None
+
+ try:
+ message = l.decode('utf-8')
+
+ if not message.endswith('\n'):
+ return None
+
+ return json.loads(message)
+ except (json.JSONDecodeError, UnicodeDecodeError) as e:
+ logger.error('Bad message from client: %r' % message)
+ raise e
+
+ async def handle_get(self, request):
+ method = request['method']
+ taskhash = request['taskhash']
+
+ row = self.query_equivalent(method, taskhash)
+ if row is not None:
+ logger.debug('Found equivalent task %s -> %s', (row['taskhash'], row['unihash']))
+ d = {k: row[k] for k in ('taskhash', 'method', 'unihash')}
+
+ self.write_message(d)
+ else:
+ self.write_message(None)
+
+ async def handle_get_stream(self, request):
+ self.write_message('ok')
+
+ while True:
+ l = await self.reader.readline()
+ if not l:
+ return
+
+ try:
+ # This inner loop is very sensitive and must be as fast as
+ # possible (which is why the request sample is handled manually
+ # instead of using 'with', and also why logging statements are
+ # commented out.
+ self.request_sample = self.request_stats.start_sample()
+ request_measure = self.request_sample.measure()
+ request_measure.start()
+
+ l = l.decode('utf-8').rstrip()
+ if l == 'END':
+ self.writer.write('ok\n'.encode('utf-8'))
+ return
+
+ (method, taskhash) = l.split()
+ #logger.debug('Looking up %s %s' % (method, taskhash))
+ row = self.query_equivalent(method, taskhash)
+ if row is not None:
+ msg = ('%s\n' % row['unihash']).encode('utf-8')
+ #logger.debug('Found equivalent task %s -> %s', (row['taskhash'], row['unihash']))
+ else:
+ msg = '\n'.encode('utf-8')
+
+ self.writer.write(msg)
+ finally:
+ request_measure.end()
+ self.request_sample.end()
+
+ await self.writer.drain()
+
+ async def handle_report(self, data):
+ with closing(self.db.cursor()) as cursor:
+ cursor.execute('''
+ -- Find tasks with a matching outhash (that is, tasks that
+ -- are equivalent)
+ SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND outhash=:outhash
+
+ -- If there is an exact match on the taskhash, return it.
+ -- Otherwise return the oldest matching outhash of any
+ -- taskhash
+ ORDER BY CASE WHEN taskhash=:taskhash THEN 1 ELSE 2 END,
+ created ASC
+
+ -- Only return one row
+ LIMIT 1
+ ''', {k: data[k] for k in ('method', 'outhash', 'taskhash')})
+
+ row = cursor.fetchone()
+
+ # If no matching outhash was found, or one *was* found but it
+ # wasn't an exact match on the taskhash, a new entry for this
+ # taskhash should be added
+ if row is None or row['taskhash'] != data['taskhash']:
+ # If a row matching the outhash was found, the unihash for
+ # the new taskhash should be the same as that one.
+ # Otherwise the caller provided unihash is used.
+ unihash = data['unihash']
+ if row is not None:
+ unihash = row['unihash']
+
+ insert_data = {
+ 'method': data['method'],
+ 'outhash': data['outhash'],
+ 'taskhash': data['taskhash'],
+ 'unihash': unihash,
+ 'created': datetime.now()
+ }
+
+ for k in ('owner', 'PN', 'PV', 'PR', 'task', 'outhash_siginfo'):
+ if k in data:
+ insert_data[k] = data[k]
+
+ cursor.execute('''INSERT INTO tasks_v2 (%s) VALUES (%s)''' % (
+ ', '.join(sorted(insert_data.keys())),
+ ', '.join(':' + k for k in sorted(insert_data.keys()))),
+ insert_data)
+
+ self.db.commit()
+
+ logger.info('Adding taskhash %s with unihash %s',
+ data['taskhash'], unihash)
+
+ d = {
+ 'taskhash': data['taskhash'],
+ 'method': data['method'],
+ 'unihash': unihash
+ }
+ else:
+ d = {k: row[k] for k in ('taskhash', 'method', 'unihash')}
+
+ self.write_message(d)
+
+ async def handle_get_stats(self, request):
+ d = {
+ 'requests': self.request_stats.todict(),
+ }
+
+ self.write_message(d)
+
+ async def handle_reset_stats(self, request):
+ d = {
+ 'requests': self.request_stats.todict(),
+ }
+
+ self.request_stats.reset()
+ self.write_message(d)
+
+ def query_equivalent(self, method, taskhash):
+ # This is part of the inner loop and must be as fast as possible
+ try:
+ cursor = self.db.cursor()
+ cursor.execute('SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1',
+ {'method': method, 'taskhash': taskhash})
+ return cursor.fetchone()
+ except:
+ cursor.close()
+
+
+class Server(object):
+ def __init__(self, db, loop=None):
+ self.request_stats = Stats()
+ self.db = db
+
+ if loop is None:
+ self.loop = asyncio.new_event_loop()
+ self.close_loop = True
+ else:
+ self.loop = loop
+ self.close_loop = False
+
+ self._cleanup_socket = None
+
+ def start_tcp_server(self, host, port):
+ self.server = self.loop.run_until_complete(
+ asyncio.start_server(self.handle_client, host, port, loop=self.loop)
+ )
+
+ for s in self.server.sockets:
+ logger.info('Listening on %r' % (s.getsockname(),))
+ # Newer python does this automatically. Do it manually here for
+ # maximum compatibility
+ s.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1)
+ s.setsockopt(socket.SOL_TCP, socket.TCP_QUICKACK, 1)
+
+ name = self.server.sockets[0].getsockname()
+ if self.server.sockets[0].family == socket.AF_INET6:
+ self.address = "[%s]:%d" % (name[0], name[1])
+ else:
+ self.address = "%s:%d" % (name[0], name[1])
+
+ def start_unix_server(self, path):
+ def cleanup():
+ os.unlink(path)
+
+ cwd = os.getcwd()
+ try:
+ # Work around path length limits in AF_UNIX
+ os.chdir(os.path.dirname(path))
+ self.server = self.loop.run_until_complete(
+ asyncio.start_unix_server(self.handle_client, os.path.basename(path), loop=self.loop)
+ )
+ finally:
+ os.chdir(cwd)
+
+ logger.info('Listening on %r' % path)
+
+ self._cleanup_socket = cleanup
+ self.address = "unix://%s" % os.path.abspath(path)
+
+ async def handle_client(self, reader, writer):
+ # writer.transport.set_write_buffer_limits(0)
+ try:
+ client = ServerClient(reader, writer, self.db, self.request_stats)
+ await client.process_requests()
+ except Exception as e:
+ import traceback
+ logger.error('Error from client: %s' % str(e), exc_info=True)
+ traceback.print_exc()
+ writer.close()
+ logger.info('Client disconnected')
+
+ def serve_forever(self):
+ def signal_handler():
+ self.loop.stop()
+
+ self.loop.add_signal_handler(signal.SIGTERM, signal_handler)
+
+ try:
+ self.loop.run_forever()
+ except KeyboardInterrupt:
+ pass
+
+ self.server.close()
+ self.loop.run_until_complete(self.server.wait_closed())
+ logger.info('Server shutting down')
+
+ if self.close_loop:
+ self.loop.close()
+
+ if self._cleanup_socket is not None:
+ self._cleanup_socket()
diff --git a/poky/bitbake/lib/hashserv/tests.py b/poky/bitbake/lib/hashserv/tests.py
index 8300a2559..a5472a996 100644
--- a/poky/bitbake/lib/hashserv/tests.py
+++ b/poky/bitbake/lib/hashserv/tests.py
@@ -1,48 +1,48 @@
#! /usr/bin/env python3
#
-# Copyright (C) 2018 Garmin Ltd.
+# Copyright (C) 2018-2019 Garmin Ltd.
#
# SPDX-License-Identifier: GPL-2.0-only
#
-import unittest
-import threading
-import sqlite3
+from . import create_server, create_client
import hashlib
-import urllib.request
-import json
-from . import create_server
+import logging
+import multiprocessing
+import sys
+import tempfile
+import threading
+import unittest
+
+
+class TestHashEquivalenceServer(object):
+ METHOD = 'TestMethod'
+
+ def _run_server(self):
+ # logging.basicConfig(level=logging.DEBUG, filename='bbhashserv.log', filemode='w',
+ # format='%(levelname)s %(filename)s:%(lineno)d %(message)s')
+ self.server.serve_forever()
-class TestHashEquivalenceServer(unittest.TestCase):
def setUp(self):
- # Start an in memory hash equivalence server in the background bound to
- # an ephemeral port
- db = sqlite3.connect(':memory:', check_same_thread=False)
- self.server = create_server(('localhost', 0), db)
- self.server_addr = 'http://localhost:%d' % self.server.socket.getsockname()[1]
- self.server_thread = threading.Thread(target=self.server.serve_forever)
+ if sys.version_info < (3, 5, 0):
+ self.skipTest('Python 3.5 or later required')
+
+ self.temp_dir = tempfile.TemporaryDirectory(prefix='bb-hashserv')
+ self.dbfile = os.path.join(self.temp_dir.name, 'db.sqlite')
+
+ self.server = create_server(self.get_server_addr(), self.dbfile)
+ self.server_thread = multiprocessing.Process(target=self._run_server)
self.server_thread.start()
+ self.client = create_client(self.server.address)
def tearDown(self):
# Shutdown server
s = getattr(self, 'server', None)
if s is not None:
- self.server.shutdown()
+ self.server_thread.terminate()
self.server_thread.join()
- self.server.server_close()
-
- def send_get(self, path):
- url = '%s/%s' % (self.server_addr, path)
- request = urllib.request.Request(url)
- response = urllib.request.urlopen(request)
- return json.loads(response.read().decode('utf-8'))
-
- def send_post(self, path, data):
- headers = {'content-type': 'application/json'}
- url = '%s/%s' % (self.server_addr, path)
- request = urllib.request.Request(url, json.dumps(data).encode('utf-8'), headers)
- response = urllib.request.urlopen(request)
- return json.loads(response.read().decode('utf-8'))
+ self.client.close()
+ self.temp_dir.cleanup()
def test_create_hash(self):
# Simple test that hashes can be created
@@ -50,16 +50,11 @@ class TestHashEquivalenceServer(unittest.TestCase):
outhash = '2765d4a5884be49b28601445c2760c5f21e7e5c0ee2b7e3fce98fd7e5970796f'
unihash = 'f46d3fbb439bd9b921095da657a4de906510d2cd'
- d = self.send_get('v1/equivalent?method=TestMethod&taskhash=%s' % taskhash)
- self.assertIsNone(d, msg='Found unexpected task, %r' % d)
+ result = self.client.get_unihash(self.METHOD, taskhash)
+ self.assertIsNone(result, msg='Found unexpected task, %r' % result)
- d = self.send_post('v1/equivalent', {
- 'taskhash': taskhash,
- 'method': 'TestMethod',
- 'outhash': outhash,
- 'unihash': unihash,
- })
- self.assertEqual(d['unihash'], unihash, 'Server returned bad unihash')
+ result = self.client.report_unihash(taskhash, self.METHOD, outhash, unihash)
+ self.assertEqual(result['unihash'], unihash, 'Server returned bad unihash')
def test_create_equivalent(self):
# Tests that a second reported task with the same outhash will be
@@ -67,25 +62,16 @@ class TestHashEquivalenceServer(unittest.TestCase):
taskhash = '53b8dce672cb6d0c73170be43f540460bfc347b4'
outhash = '5a9cb1649625f0bf41fc7791b635cd9c2d7118c7f021ba87dcd03f72b67ce7a8'
unihash = 'f37918cc02eb5a520b1aff86faacbc0a38124646'
- d = self.send_post('v1/equivalent', {
- 'taskhash': taskhash,
- 'method': 'TestMethod',
- 'outhash': outhash,
- 'unihash': unihash,
- })
- self.assertEqual(d['unihash'], unihash, 'Server returned bad unihash')
+
+ result = self.client.report_unihash(taskhash, self.METHOD, outhash, unihash)
+ self.assertEqual(result['unihash'], unihash, 'Server returned bad unihash')
# Report a different task with the same outhash. The returned unihash
# should match the first task
taskhash2 = '3bf6f1e89d26205aec90da04854fbdbf73afe6b4'
unihash2 = 'af36b199320e611fbb16f1f277d3ee1d619ca58b'
- d = self.send_post('v1/equivalent', {
- 'taskhash': taskhash2,
- 'method': 'TestMethod',
- 'outhash': outhash,
- 'unihash': unihash2,
- })
- self.assertEqual(d['unihash'], unihash, 'Server returned bad unihash')
+ result = self.client.report_unihash(taskhash2, self.METHOD, outhash, unihash2)
+ self.assertEqual(result['unihash'], unihash, 'Server returned bad unihash')
def test_duplicate_taskhash(self):
# Tests that duplicate reports of the same taskhash with different
@@ -94,38 +80,63 @@ class TestHashEquivalenceServer(unittest.TestCase):
taskhash = '8aa96fcffb5831b3c2c0cb75f0431e3f8b20554a'
outhash = 'afe240a439959ce86f5e322f8c208e1fedefea9e813f2140c81af866cc9edf7e'
unihash = '218e57509998197d570e2c98512d0105985dffc9'
- d = self.send_post('v1/equivalent', {
- 'taskhash': taskhash,
- 'method': 'TestMethod',
- 'outhash': outhash,
- 'unihash': unihash,
- })
+ self.client.report_unihash(taskhash, self.METHOD, outhash, unihash)
- d = self.send_get('v1/equivalent?method=TestMethod&taskhash=%s' % taskhash)
- self.assertEqual(d['unihash'], unihash)
+ result = self.client.get_unihash(self.METHOD, taskhash)
+ self.assertEqual(result, unihash)
outhash2 = '0904a7fe3dc712d9fd8a74a616ddca2a825a8ee97adf0bd3fc86082c7639914d'
unihash2 = 'ae9a7d252735f0dafcdb10e2e02561ca3a47314c'
- d = self.send_post('v1/equivalent', {
- 'taskhash': taskhash,
- 'method': 'TestMethod',
- 'outhash': outhash2,
- 'unihash': unihash2
- })
+ self.client.report_unihash(taskhash, self.METHOD, outhash2, unihash2)
- d = self.send_get('v1/equivalent?method=TestMethod&taskhash=%s' % taskhash)
- self.assertEqual(d['unihash'], unihash)
+ result = self.client.get_unihash(self.METHOD, taskhash)
+ self.assertEqual(result, unihash)
outhash3 = '77623a549b5b1a31e3732dfa8fe61d7ce5d44b3370f253c5360e136b852967b4'
unihash3 = '9217a7d6398518e5dc002ed58f2cbbbc78696603'
- d = self.send_post('v1/equivalent', {
- 'taskhash': taskhash,
- 'method': 'TestMethod',
- 'outhash': outhash3,
- 'unihash': unihash3
- })
+ self.client.report_unihash(taskhash, self.METHOD, outhash3, unihash3)
+
+ result = self.client.get_unihash(self.METHOD, taskhash)
+ self.assertEqual(result, unihash)
+
+ def test_stress(self):
+ def query_server(failures):
+ client = Client(self.server.address)
+ try:
+ for i in range(1000):
+ taskhash = hashlib.sha256()
+ taskhash.update(str(i).encode('utf-8'))
+ taskhash = taskhash.hexdigest()
+ result = client.get_unihash(self.METHOD, taskhash)
+ if result != taskhash:
+ failures.append("taskhash mismatch: %s != %s" % (result, taskhash))
+ finally:
+ client.close()
+
+ # Report hashes
+ for i in range(1000):
+ taskhash = hashlib.sha256()
+ taskhash.update(str(i).encode('utf-8'))
+ taskhash = taskhash.hexdigest()
+ self.client.report_unihash(taskhash, self.METHOD, taskhash, taskhash)
+
+ failures = []
+ threads = [threading.Thread(target=query_server, args=(failures,)) for t in range(100)]
+
+ for t in threads:
+ t.start()
+
+ for t in threads:
+ t.join()
+
+ self.assertFalse(failures)
+
- d = self.send_get('v1/equivalent?method=TestMethod&taskhash=%s' % taskhash)
- self.assertEqual(d['unihash'], unihash)
+class TestHashEquivalenceUnixServer(TestHashEquivalenceServer, unittest.TestCase):
+ def get_server_addr(self):
+ return "unix://" + os.path.join(self.temp_dir.name, 'sock')
+class TestHashEquivalenceTCPServer(TestHashEquivalenceServer, unittest.TestCase):
+ def get_server_addr(self):
+ return "localhost:0"
diff --git a/poky/bitbake/lib/layerindexlib/__init__.py b/poky/bitbake/lib/layerindexlib/__init__.py
index d231cf6a9..77196b408 100644
--- a/poky/bitbake/lib/layerindexlib/__init__.py
+++ b/poky/bitbake/lib/layerindexlib/__init__.py
@@ -376,7 +376,7 @@ layerBranches set. If not, they are effectively blank.'''
invalid.append(name)
- def _resolve_dependencies(layerbranches, ignores, dependencies, invalid):
+ def _resolve_dependencies(layerbranches, ignores, dependencies, invalid, processed=None):
for layerbranch in layerbranches:
if ignores and layerbranch.layer.name in ignores:
continue
@@ -388,6 +388,13 @@ layerBranches set. If not, they are effectively blank.'''
if ignores and deplayerbranch.layer.name in ignores:
continue
+ # Since this is depth first, we need to know what we're currently processing
+ # in order to avoid infinite recursion on a loop.
+ if processed and deplayerbranch.layer.name in processed:
+ # We have found a recursion...
+ logger.warning('Circular layer dependency found: %s -> %s' % (processed, deplayerbranch.layer.name))
+ continue
+
# This little block is why we can't re-use the LayerIndexObj version,
# we must be able to satisfy each dependencies across layer indexes and
# use the layer index order for priority. (r stands for replacement below)
@@ -411,7 +418,17 @@ layerBranches set. If not, they are effectively blank.'''
# New dependency, we need to resolve it now... depth-first
if deplayerbranch.layer.name not in dependencies:
- (dependencies, invalid) = _resolve_dependencies([deplayerbranch], ignores, dependencies, invalid)
+ # Avoid recursion on this branch.
+ # We copy so we don't end up polluting the depth-first branch with other
+ # branches. Duplication between individual branches IS expected and
+ # handled by 'dependencies' processing.
+ if not processed:
+ local_processed = []
+ else:
+ local_processed = processed.copy()
+ local_processed.append(deplayerbranch.layer.name)
+
+ (dependencies, invalid) = _resolve_dependencies([deplayerbranch], ignores, dependencies, invalid, local_processed)
if deplayerbranch.layer.name not in dependencies:
dependencies[deplayerbranch.layer.name] = [deplayerbranch, layerdependency]
diff --git a/poky/bitbake/lib/prserv/db.py b/poky/bitbake/lib/prserv/db.py
index d6188a679..117d8c052 100644
--- a/poky/bitbake/lib/prserv/db.py
+++ b/poky/bitbake/lib/prserv/db.py
@@ -257,7 +257,7 @@ class PRData(object):
self.connection=sqlite3.connect(self.filename, isolation_level="EXCLUSIVE", check_same_thread = False)
self.connection.row_factory=sqlite3.Row
self.connection.execute("pragma synchronous = off;")
- self.connection.execute("PRAGMA journal_mode = WAL;")
+ self.connection.execute("PRAGMA journal_mode = MEMORY;")
self._tables={}
def disconnect(self):
diff --git a/poky/bitbake/lib/pyinotify.py b/poky/bitbake/lib/pyinotify.py
index 9dcfd0d2e..1528a22e8 100644
--- a/poky/bitbake/lib/pyinotify.py
+++ b/poky/bitbake/lib/pyinotify.py
@@ -1,5 +1,4 @@
-#!/usr/bin/env python
-
+#
# pyinotify.py - python interface to inotify
# Copyright (c) 2005-2015 Sebastien Martini <seb@dbzteam.org>
#
diff --git a/poky/bitbake/lib/toaster/orm/models.py b/poky/bitbake/lib/toaster/orm/models.py
index 41a9f819d..bb6b5decf 100644
--- a/poky/bitbake/lib/toaster/orm/models.py
+++ b/poky/bitbake/lib/toaster/orm/models.py
@@ -965,12 +965,12 @@ class TargetSDKFile(models.Model):
class Target_Image_File(models.Model):
# valid suffixes for image files produced by a build
SUFFIXES = {
- 'btrfs', 'cpio', 'cpio.gz', 'cpio.lz4', 'cpio.lzma', 'cpio.xz',
- 'cramfs', 'elf', 'ext2', 'ext2.bz2', 'ext2.gz', 'ext2.lzma', 'ext4',
- 'ext4.gz', 'ext3', 'ext3.gz', 'hdddirect', 'hddimg', 'iso', 'jffs2',
- 'jffs2.sum', 'multiubi', 'qcow2', 'squashfs', 'squashfs-lzo',
+ 'btrfs', 'container', 'cpio', 'cpio.gz', 'cpio.lz4', 'cpio.lzma',
+ 'cpio.xz', 'cramfs', 'ext2', 'ext2.bz2', 'ext2.gz', 'ext2.lzma',
+ 'ext3', 'ext3.gz', 'ext4', 'ext4.gz', 'f2fs', 'hddimg', 'iso', 'jffs2',
+ 'jffs2.sum', 'multiubi', 'squashfs', 'squashfs-lz4', 'squashfs-lzo',
'squashfs-xz', 'tar', 'tar.bz2', 'tar.gz', 'tar.lz4', 'tar.xz', 'ubi',
- 'ubifs', 'vdi', 'vmdk', 'wic', 'wic.bmap', 'wic.bz2', 'wic.gz', 'wic.lzma'
+ 'ubifs', 'wic', 'wic.bz2', 'wic.gz', 'wic.lzma'
}
target = models.ForeignKey(Target)
diff --git a/poky/bitbake/lib/toaster/tests/browser/selenium_helpers.py b/poky/bitbake/lib/toaster/tests/browser/selenium_helpers.py
index 6d9bb8092..02d4f4b5c 100644
--- a/poky/bitbake/lib/toaster/tests/browser/selenium_helpers.py
+++ b/poky/bitbake/lib/toaster/tests/browser/selenium_helpers.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py b/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
index 8417aa3b2..6c94684e8 100644
--- a/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
+++ b/poky/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_all_builds_page.py b/poky/bitbake/lib/toaster/tests/browser/test_all_builds_page.py
index f4021614b..fba627bd2 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_all_builds_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_all_builds_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_all_projects_page.py b/poky/bitbake/lib/toaster/tests/browser/test_all_projects_page.py
index f86d19d28..afd2d3566 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_all_projects_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_all_projects_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py
index 53c125ec5..d972aff1b 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py
index c560d7de1..e2623e8ad 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_artifacts.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py
index e4f3d685e..c542d45f1 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_recipes.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py
index bdb0c27be..22acb470a 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_builddashboard_page_tasks.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py b/poky/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
index 63f3f4a74..e8b4295b8 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_js_unit_tests.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_landing_page.py b/poky/bitbake/lib/toaster/tests/browser/test_landing_page.py
index 0a00fccc1..07901989d 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_landing_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_landing_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py b/poky/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py
index e34aa13db..f81e696a2 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_layerdetails_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py b/poky/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py
index d52b18429..15d25dc3a 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_most_recent_builds_states.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py b/poky/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py
index 3b47a497e..0aa3b7a77 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_new_custom_image_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_new_project_page.py b/poky/bitbake/lib/toaster/tests/browser/test_new_project_page.py
index d250bd143..8e56bb043 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_new_project_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_new_project_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_project_builds_page.py b/poky/bitbake/lib/toaster/tests/browser/test_project_builds_page.py
index 065f3ebe6..47fb10b26 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_project_builds_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_project_builds_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py b/poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py
index 48508dff3..2816eb907 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_project_page.py b/poky/bitbake/lib/toaster/tests/browser/test_project_page.py
index 5cb607ddd..8b5e1b673 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_project_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_project_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_sample.py b/poky/bitbake/lib/toaster/tests/browser/test_sample.py
index 008ba14a2..f4ad670a3 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_sample.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_sample.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_task_page.py b/poky/bitbake/lib/toaster/tests/browser/test_task_page.py
index 47c8c1aee..26f3dca83 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_task_page.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_task_page.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py b/poky/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py
index b4f83447f..ef78cbb1e 100644
--- a/poky/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py
+++ b/poky/bitbake/lib/toaster/tests/browser/test_toastertable_ui.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/builds/buildtest.py b/poky/bitbake/lib/toaster/tests/builds/buildtest.py
index 9f40f978d..872bbd377 100644
--- a/poky/bitbake/lib/toaster/tests/builds/buildtest.py
+++ b/poky/bitbake/lib/toaster/tests/builds/buildtest.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/builds/test_core_image_min.py b/poky/bitbake/lib/toaster/tests/builds/test_core_image_min.py
index 3d3aa2a8a..44b6cbec7 100644
--- a/poky/bitbake/lib/toaster/tests/builds/test_core_image_min.py
+++ b/poky/bitbake/lib/toaster/tests/builds/test_core_image_min.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/commands/test_loaddata.py b/poky/bitbake/lib/toaster/tests/commands/test_loaddata.py
index b633d9774..9e8d5553c 100644
--- a/poky/bitbake/lib/toaster/tests/commands/test_loaddata.py
+++ b/poky/bitbake/lib/toaster/tests/commands/test_loaddata.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/commands/test_lsupdates.py b/poky/bitbake/lib/toaster/tests/commands/test_lsupdates.py
index 23a84a248..3c4fbe055 100644
--- a/poky/bitbake/lib/toaster/tests/commands/test_lsupdates.py
+++ b/poky/bitbake/lib/toaster/tests/commands/test_lsupdates.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py b/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py
index 29bc7c900..e223b95fc 100644
--- a/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py
+++ b/poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/eventreplay/__init__.py b/poky/bitbake/lib/toaster/tests/eventreplay/__init__.py
index 3606cba4f..8ed6792ef 100644
--- a/poky/bitbake/lib/toaster/tests/eventreplay/__init__.py
+++ b/poky/bitbake/lib/toaster/tests/eventreplay/__init__.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/functional/functional_helpers.py b/poky/bitbake/lib/toaster/tests/functional/functional_helpers.py
index 6a3f74baa..455c408e9 100644
--- a/poky/bitbake/lib/toaster/tests/functional/functional_helpers.py
+++ b/poky/bitbake/lib/toaster/tests/functional/functional_helpers.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster functional tests implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/functional/test_functional_basic.py b/poky/bitbake/lib/toaster/tests/functional/test_functional_basic.py
index 2b3a2886c..56c84fba8 100644
--- a/poky/bitbake/lib/toaster/tests/functional/test_functional_basic.py
+++ b/poky/bitbake/lib/toaster/tests/functional/test_functional_basic.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster functional tests implementation
#
diff --git a/poky/bitbake/lib/toaster/tests/views/test_views.py b/poky/bitbake/lib/toaster/tests/views/test_views.py
index 477654ea5..68d9e9de1 100644
--- a/poky/bitbake/lib/toaster/tests/views/test_views.py
+++ b/poky/bitbake/lib/toaster/tests/views/test_views.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/bitbake/lib/toaster/toastergui/static/js/importlayer.js b/poky/bitbake/lib/toaster/toastergui/static/js/importlayer.js
index 296483985..8e2032de2 100644
--- a/poky/bitbake/lib/toaster/toastergui/static/js/importlayer.js
+++ b/poky/bitbake/lib/toaster/toastergui/static/js/importlayer.js
@@ -17,11 +17,15 @@ function importLayerPageInit (ctx) {
var currentLayerDepSelection;
var validLayerName = /^(\w|-)+$/;
+ /* Catch 'disable' race condition between type-ahead started and "input change" */
+ var typeAheadStarted = 0;
+
libtoaster.makeTypeahead(layerDepInput,
libtoaster.ctx.layersTypeAheadUrl,
{ include_added: "true" }, function(item){
currentLayerDepSelection = item;
layerDepBtn.removeAttr("disabled");
+ typeAheadStarted = 1;
});
layerDepInput.on("typeahead:select", function(event, data){
@@ -34,7 +38,10 @@ function importLayerPageInit (ctx) {
// disable the "Add layer" button when the layer input typeahead is empty
// or not in the typeahead choices
layerDepInput.on("input change", function(){
- layerDepBtn.attr("disabled","disabled");
+ if (0 == typeAheadStarted) {
+ layerDepBtn.attr("disabled","disabled");
+ }
+ typeAheadStarted = 0;
});
/* We automatically add "openembedded-core" layer for convenience as a
@@ -50,6 +57,7 @@ function importLayerPageInit (ctx) {
});
layerDepBtn.click(function(){
+ typeAheadStarted = 0;
if (currentLayerDepSelection == undefined)
return;
@@ -77,7 +85,7 @@ function importLayerPageInit (ctx) {
$("#layer-deps-list").append(newLayerDep);
- libtoaster.getLayerDepsForProject(currentLayerDepSelection.layerdetailurl,
+ libtoaster.getLayerDepsForProject(currentLayerDepSelection.xhrLayerUrl,
function (data){
/* These are the dependencies of the layer added as a dependency */
if (data.list.length > 0) {
diff --git a/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py b/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py
index c1758f340..811fd5d51 100644
--- a/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py
+++ b/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# BitBake Toaster Implementation
#
diff --git a/poky/documentation/dev-manual/dev-manual-common-tasks.xml b/poky/documentation/dev-manual/dev-manual-common-tasks.xml
index 9231d1416..165c3aa6a 100644
--- a/poky/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/poky/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -7129,7 +7129,8 @@
This problem is solved with the OpenEmbedded build system by
running the code through QEMU, which allows precisely that.
Unfortunately, QEMU does not always work perfectly as mentioned
- in the xxx section.
+ in the
+ "<link linkend='known-issues'>Known Issues</link>" section.
</para>
<section id='enabling-the-generation-of-introspection-data'>
diff --git a/poky/documentation/dev-manual/dev-manual-start.xml b/poky/documentation/dev-manual/dev-manual-start.xml
index 5625dfcdd..59ffa49bb 100644
--- a/poky/documentation/dev-manual/dev-manual-start.xml
+++ b/poky/documentation/dev-manual/dev-manual-start.xml
@@ -23,9 +23,8 @@
It might not be immediately clear how you can use the Yocto
Project in a team development environment, or how to scale it for a
large team of developers.
- One of the strengths of the Yocto Project is that it is extremely
- flexible.
- Thus, you can adapt it to many different use cases and scenarios.
+ You can adapt the Yocto Project to many different use cases and
+ scenarios.
However, this flexibility could cause difficulties if you are trying
to create a working setup that scales across a large team.
</para>
diff --git a/poky/documentation/overview-manual/overview-manual.xml b/poky/documentation/overview-manual/overview-manual.xml
index e74ba8d5c..728cad57f 100644
--- a/poky/documentation/overview-manual/overview-manual.xml
+++ b/poky/documentation/overview-manual/overview-manual.xml
@@ -37,6 +37,11 @@
<revremark>The initial document released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
+ <revnumber>2.6</revnumber>
+ <date>November 2018</date>
+ <revremark>Released with the Yocto Project 2.7 Release.</revremark>
+ </revision>
+ <revision>
<revnumber>2.7</revnumber>
<date>May 2019</date>
<revremark>Released with the Yocto Project 2.7 Release.</revremark>
diff --git a/poky/documentation/poky.ent b/poky/documentation/poky.ent
index b5f600969..192b9418f 100644
--- a/poky/documentation/poky.ent
+++ b/poky/documentation/poky.ent
@@ -60,7 +60,7 @@
<!ENTITY UBUNTU_HOST_PACKAGES_ESSENTIAL "gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
- xterm">
+ pylint3 xterm">
<!ENTITY FEDORA_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python3 unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
diff --git a/poky/documentation/ref-manual/ref-classes.xml b/poky/documentation/ref-manual/ref-classes.xml
index ece47e757..5403f20b6 100644
--- a/poky/documentation/ref-manual/ref-classes.xml
+++ b/poky/documentation/ref-manual/ref-classes.xml
@@ -318,23 +318,6 @@
</para>
</section>
-<section id='ref-classes-bluetooth'>
- <title><filename>bluetooth.bbclass</filename></title>
-
- <para>
- The <filename>bluetooth</filename> class defines a variable that
- expands to the recipe (package) providing core
- bluetooth support on the platform.
- </para>
-
- <para>
- For details on how the class works, see the
- <filename>meta/classes/bluetooth.bbclass</filename> file in the Yocto
- Project
- <link linkend='source-directory'>Source Directory</link>.
- </para>
-</section>
-
<section id='ref-classes-buildhistory'>
<title><filename>buildhistory.bbclass</filename></title>
@@ -937,21 +920,6 @@
</para>
</section>
-<section id='ref-classes-gnome'>
- <title><filename>gnome.bbclass</filename></title>
-
- <para>
- The <filename>gnome</filename> class supports recipes that
- build software from the GNOME stack.
- This class inherits the
- <link linkend='ref-classes-gnomebase'><filename>gnomebase</filename></link>,
- <link linkend='ref-classes-gtk-icon-cache'><filename>gtk-icon-cache</filename></link>,
- <link linkend='ref-classes-gconf'><filename>gconf</filename></link> and
- <link linkend='ref-classes-mime'><filename>mime</filename></link> classes.
- The class also disables GObject introspection where applicable.
- </para>
-</section>
-
<section id='ref-classes-gnomebase'>
<title><filename>gnomebase.bbclass</filename></title>
diff --git a/poky/documentation/ref-manual/ref-devtool-reference.xml b/poky/documentation/ref-manual/ref-devtool-reference.xml
index 4810d28ad..11f7399c5 100644
--- a/poky/documentation/ref-manual/ref-devtool-reference.xml
+++ b/poky/documentation/ref-manual/ref-devtool-reference.xml
@@ -629,18 +629,18 @@
<title>Building Your Recipe</title>
<para>
- Use the <filename>devtool build</filename> command to cause the
- OpenEmbedded build system to build your recipe.
+ Use the <filename>devtool build</filename> command to build your
+ recipe.
The <filename>devtool build</filename> command is equivalent to
- <filename>bitbake -c populate_sysroot</filename>.
+ the <filename>bitbake -c populate_sysroot</filename> command.
</para>
<para>
When you use the <filename>devtool build</filename> command,
- you must supply the root name of the recipe (i.e. no version,
- paths, or extensions).
+ you must supply the root name of the recipe (i.e. do not provide
+ versions, paths, or extensions).
You can use either the "-s" or the "--disable-parallel-make"
- option to disable parallel makes during the build.
+ options to disable parallel makes during the build.
Here is an example:
<literallayout class='monospaced'>
$ devtool build <replaceable>recipe</replaceable>
diff --git a/poky/documentation/ref-manual/ref-features.xml b/poky/documentation/ref-manual/ref-features.xml
index b057d2d04..44ba67cf5 100644
--- a/poky/documentation/ref-manual/ref-features.xml
+++ b/poky/documentation/ref-manual/ref-features.xml
@@ -154,27 +154,6 @@
</para></listitem>
<listitem><para><emphasis>bluetooth:</emphasis> Include
bluetooth support (integrated BT only).</para></listitem>
- <listitem><para><emphasis>bluez5:</emphasis> Include
- BlueZ Version 5, which provides core Bluetooth layers and
- protocols support.
- <note>
- The default value for the
- <filename>DISTRO FEATURES</filename> variable includes
- "bluetooth", which causes bluez5 to be backfilled in
- for bluetooth support.
- If you do not want bluez5 backfilled and would rather
- use bluez4, you need to use the
- <link linkend='var-DISTRO_FEATURES_BACKFILL_CONSIDERED'><filename>DISTRO_FEATURES_BACKFILL_CONSIDERED</filename></link>
- variable as follows:
- <literallayout class='monospaced'>
- DISTRO_FEATURES_BACKFILL_CONSIDERED = "bluez5"
- </literallayout>
- Setting this variable tells the OpenEmbedded build
- system that you have considered but ruled
- out using the bluez5 feature and that bluez4 will be
- used.
- </note>
- </para></listitem>
<listitem><para><emphasis>cramfs:</emphasis> Include CramFS
support.</para></listitem>
<listitem><para><emphasis>directfb:</emphasis>
diff --git a/poky/documentation/ref-manual/ref-system-requirements.xml b/poky/documentation/ref-manual/ref-system-requirements.xml
index 239dd84bb..51995309d 100644
--- a/poky/documentation/ref-manual/ref-system-requirements.xml
+++ b/poky/documentation/ref-manual/ref-system-requirements.xml
@@ -95,6 +95,7 @@
<listitem><para>CentOS 7.x</para></listitem>
<listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem>
<listitem><para>Debian GNU/Linux 9.x (Stretch)</para></listitem>
+ <listitem><para>Debian GNU/Linux 10.x (Buster)</para></listitem>
<listitem><para>OpenSUSE 42.3</para></listitem>
</itemizedlist>
</para>
diff --git a/poky/documentation/ref-manual/ref-variables.xml b/poky/documentation/ref-manual/ref-variables.xml
index 12876e3d9..93b758838 100644
--- a/poky/documentation/ref-manual/ref-variables.xml
+++ b/poky/documentation/ref-manual/ref-variables.xml
@@ -335,7 +335,7 @@
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- The minimal command and arguments used to run the
+ Minimal command and arguments needed to run the
assembler.
</para>
</glossdef>
@@ -1358,7 +1358,7 @@
For example, the following line specifies three
configuration files:
<literallayout class='monospaced'>
- BBMULTIFONFIG = "configA configB configC"
+ BBMULTICONFIG = "configA configB configC"
</literallayout>
Each configuration file you use must reside in the
<link linkend='build-directory'>Build Directory</link>
@@ -6606,6 +6606,7 @@
by default:
<literallayout class='monospaced'>
btrfs
+ container
cpio
cpio.gz
cpio.lz4
@@ -6621,13 +6622,14 @@
ext3.gz
ext4
ext4.gz
- hdddirect
+ f2fs
hddimg
iso
jffs2
jffs2.sum
multiubi
squashfs
+ squashfs-lz4
squashfs-lzo
squashfs-xz
tar
@@ -7580,15 +7582,9 @@
However, providing just the <filename>.dtb</filename>
file is preferred.
</note>
- In order to use this variable, you must have the include
- files in your kernel recipe:
- <literallayout class='monospaced'>
- require recipes-kernel/linux/linux-dtb.inc
- </literallayout>
- or
- <literallayout class='monospaced'>
- require recipes-kernel/linux/linux-yocto.inc
- </literallayout>
+ In order to use this variable, the
+ <link linkend='ref-classes-kernel-devicetree'><filename>kernel-devicetree</filename></link>
+ class must be inherited.
</para>
</glossdef>
</glossentry>
@@ -11694,8 +11690,7 @@
or
<link linkend='ref-classes-setuptools'><filename>setuptools</filename></link>
classes, specifies the major Python version being built.
- For Python 2.x, <filename>PYTHON_PN</filename> would
- be "python2". For Python 3.x, the variable would be
+ For Python 3.x, <filename>PYTHON_PN</filename> would be
"python3".
You do not have to set this variable as the
OpenEmbedded build system automatically sets it for you.
diff --git a/poky/documentation/sdk-manual/sdk-extensible.xml b/poky/documentation/sdk-manual/sdk-extensible.xml
index bd5278493..94d2a241f 100644
--- a/poky/documentation/sdk-manual/sdk-extensible.xml
+++ b/poky/documentation/sdk-manual/sdk-extensible.xml
@@ -618,7 +618,23 @@
The result is that the command sets up both
the source code and an append file within the
workspace while the recipe remains in its
- original location.
+ original location.</para>
+
+ <para>Additionally, if you have any non-patch
+ local files (i.e. files referred to with
+ <filename>file://</filename> entries in
+ <filename>SRC_URI</filename> statement excluding
+ <filename>*.patch/</filename> or
+ <filename>*.diff</filename>), these files are
+ copied to an
+ <filename>oe-local-files</filename> folder
+ under the newly created source tree.
+ Copying the files here gives you a convenient
+ area from which you can modify the files.
+ Any changes or additions you make to those
+ files are incorporated into the build the next
+ time you build the software just as are other
+ changes you might have made to the source.
</para></listitem>
<listitem><para>
<emphasis>Middle</emphasis>:
@@ -633,10 +649,10 @@
</para>
<para>The following command tells
- <filename>devtool</filename> what recipe with
+ <filename>devtool</filename> the recipe with
which to work and, in this case, identifies a
local area for the extracted source files that
- is outside of the default
+ exists outside of the default
<filename>devtool</filename> workspace:
<literallayout class='monospaced'>
$ devtool modify <replaceable>recipe srctree</replaceable>
@@ -650,8 +666,12 @@
the recipe's <filename>SRC_URI</filename>
statements to locate the source files and any
associated patch files.
- Once the files are located, the command by
- default extracts them into
+ Non-patch files are copied to an
+ <filename>oe-local-files</filename> folder
+ under the newly created source tree.</para>
+
+ <para>Once the files are located, the command
+ by default extracts them into
<replaceable>srctree</replaceable>.</para>
<para>Within workspace,
@@ -685,9 +705,21 @@
</literallayout>
</para>
- <para>Once the command finishes, it creates only
- an append file for the recipe in the
- <filename>devtool</filename> workspace.
+ <para>If an <filename>oe-local-files</filename>
+ subdirectory happens to exist and it contains
+ non-patch files, the files are used.
+ However, if the subdirectory does not exist and
+ you run the <filename>devtool finish</filename>
+ command, any non-patch files that might exist
+ next to the recipe are removed because it
+ appears to <filename>devtool</filename> that
+ you have deleted those files.</para>
+
+ <para>Once the
+ <filename>devtool modify</filename> command
+ finishes, it creates only an append file for
+ the recipe in the <filename>devtool</filename>
+ workspace.
The recipe and the source code remain in their
original locations.
</para></listitem>
@@ -778,7 +810,12 @@
original recipe in the original layer or the command
creates a <filename>.bbappend</filename> file in a
different layer as provided by
- <replaceable>layer</replaceable>.</para>
+ <replaceable>layer</replaceable>.
+ Any work you did in the
+ <filename>oe-local-files</filename> directory is
+ preserved in the original files next to the recipe
+ during the <filename>devtool finish</filename>
+ command.</para>
<para>As a final process of the
<filename>devtool finish</filename> command, the state
@@ -898,7 +935,23 @@
files from other developers.
The result is that the command sets up the source
code, the new version of the recipe, and an append file
- all within the workspace.
+ all within the workspace.</para>
+
+ <para>Additionally, if you have any non-patch
+ local files (i.e. files referred to with
+ <filename>file://</filename> entries in
+ <filename>SRC_URI</filename> statement excluding
+ <filename>*.patch/</filename> or
+ <filename>*.diff</filename>), these files are
+ copied to an
+ <filename>oe-local-files</filename> folder
+ under the newly created source tree.
+ Copying the files here gives you a convenient
+ area from which you can modify the files.
+ Any changes or additions you make to those
+ files are incorporated into the build the next
+ time you build the software just as are other
+ changes you might have made to the source.
</para></listitem>
<listitem><para>
<emphasis>Resolve any Conflicts created by the Upgrade</emphasis>:
@@ -976,10 +1029,18 @@
Git repository, moves the new recipe to a more
permanent layer, and then resets the recipe so that
the recipe is built normally rather than from the
- workspace.
+ workspace.</para>
+
+ <para>Any work you did in the
+ <filename>oe-local-files</filename> directory is
+ preserved in the original files next to the recipe
+ during the <filename>devtool finish</filename>
+ command.</para>
+
+ <para>
If you specify a destination layer that is the same as
the original source, then the old version of the
- recipe and associated files will be removed prior to
+ recipe and associated files are removed prior to
adding the new version.
<literallayout class='monospaced'>
$ devtool finish <replaceable>recipe layer</replaceable>
diff --git a/poky/meta-poky/conf/conf-notes.txt b/poky/meta-poky/conf/conf-notes.txt
index f1a4f4da1..67c177db4 100644
--- a/poky/meta-poky/conf/conf-notes.txt
+++ b/poky/meta-poky/conf/conf-notes.txt
@@ -10,3 +10,8 @@ Common targets are:
meta-ide-support
You can also run generated qemu images with a command like 'runqemu qemux86'
+
+Other commonly useful commands are:
+ - 'devtool' and 'recipetool' handle common recipe tasks
+ - 'bitbake-layers' handles common layer tasks
+ - 'oe-pkgdata-util' handles common target package tasks
diff --git a/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc b/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
new file mode 100644
index 000000000..9926c1bb0
--- /dev/null
+++ b/poky/meta-poky/conf/distro/include/poky-distro-alt-test-config.inc
@@ -0,0 +1,8 @@
+# Add an extra DISTRO_FEATURE
+DISTRO_FEATURES_append = " pam"
+
+# Use the LTSI Kernel
+PREFERRED_VERSION_linux-yocto ?= "4.19%"
+
+# Ensure the kernel nfs server is enabled
+KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
diff --git a/poky/meta-poky/conf/distro/poky-altcfg.conf b/poky/meta-poky/conf/distro/poky-altcfg.conf
new file mode 100644
index 000000000..177bf8d18
--- /dev/null
+++ b/poky/meta-poky/conf/distro/poky-altcfg.conf
@@ -0,0 +1,15 @@
+#
+# An example of subclassing a distro, primarily used for testing alternate configuration
+# combinations on the Yocto Project autobuilder
+#
+require conf/distro/poky.conf
+
+DISTRO = "poky-altcfg"
+DISTROOVERRIDES = "poky:poky-altcfg"
+#DISTROOVERRIDES = "poky:linuxstdbase"
+
+INIT_MANAGER ?= "systemd"
+# systemd isn't suitable with musl
+INIT_MANAGER_libc-musl ?= "sysvinit"
+
+require conf/distro/include/poky-distro-alt-test-config.inc
diff --git a/poky/meta-poky/conf/distro/poky-lsb.conf b/poky/meta-poky/conf/distro/poky-lsb.conf
deleted file mode 100644
index 5c7e2720a..000000000
--- a/poky/meta-poky/conf/distro/poky-lsb.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-
-require conf/distro/poky.conf
-
-DISTRO = "poky-lsb"
-DISTROOVERRIDES = "poky:linuxstdbase"
-
-DISTRO_FEATURES_append = " pam largefile opengl"
-PREFERRED_PROVIDER_virtual/libx11 = "libx11"
-
-# Ensure the kernel nfs server is enabled
-KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
-
-# Use the LTSI Kernel for LSB Testing
-PREFERRED_VERSION_linux-yocto_linuxstdbase ?= "4.19%"
diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf
index 1f8b6e8ff..c6d4b88f8 100644
--- a/poky/meta-poky/conf/distro/poky-tiny.conf
+++ b/poky/meta-poky/conf/distro/poky-tiny.conf
@@ -82,12 +82,7 @@ DISTRO_FEATURES_class-native = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO
DISTRO_FEATURES_class-nativesdk = "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
# enable mdev/busybox for init
-VIRTUAL-RUNTIME_dev_manager = "busybox-mdev"
-VIRTUAL-RUNTIME_login_manager = "busybox"
-VIRTUAL-RUNTIME_init_manager = "busybox"
-VIRTUAL-RUNTIME_initscripts = "initscripts"
-VIRTUAL-RUNTIME_keymaps = "keymaps"
-DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
+INIT_MANAGER ?= "mdev-busybox"
# FIXME: Consider adding "modules" to MACHINE_FEATURES and using that in
# packagegroup-core-base to select modutils-initscripts or not. Similar with "net" and
@@ -117,9 +112,6 @@ PNBLACKLIST[build-appliance-image] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-base] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-clutter] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-full-cmdline] = "not buildable with poky-tiny"
-PNBLACKLIST[core-image-lsb] = "not buildable with poky-tiny"
-PNBLACKLIST[core-image-lsb-dev] = "not buildable with poky-tiny"
-PNBLACKLIST[core-image-lsb-sdk] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-rt] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-rt-sdk] = "not buildable with poky-tiny"
PNBLACKLIST[core-image-sato] = "not buildable with poky-tiny"
diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf
index 78621e6db..f999992c9 100644
--- a/poky/meta-poky/conf/distro/poky.conf
+++ b/poky/meta-poky/conf/distro/poky.conf
@@ -21,7 +21,7 @@ POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
-PREFERRED_VERSION_linux-yocto ?= "5.0%"
+PREFERRED_VERSION_linux-yocto ?= "5.2%"
SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
SDKPATH = "/opt/${DISTRO}/${SDK_VERSION}"
@@ -56,10 +56,12 @@ SANITY_TESTED_DISTROS ?= " \
ubuntu-18.04 \n \
fedora-28 \n \
fedora-29 \n \
+ fedora-30 \n \
centos-7 \n \
debian-8 \n \
debian-9 \n \
- opensuse-42.3 \n \
+ debian-10 \n \
+ opensuseleap-15.1 \n \
"
#
# OELAYOUT_ABI allows us to notify users when the format of TMPDIR changes in
diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample
index 59b4d9561..2e0bb41e6 100644
--- a/poky/meta-poky/conf/local.conf.sample
+++ b/poky/meta-poky/conf/local.conf.sample
@@ -237,14 +237,31 @@ BB_DISKMON_DIRS ??= "\
#
# 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. By default libsdl2-native will
-# be built, if you want to use your host's libSDL instead of the minimal libsdl built
-# by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
+# By default native qemu will build with a builtin VNC server where graphical output can be
+# seen. The line below enables the SDL UI frontend too.
PACKAGECONFIG_append_pn-qemu-system-native = " sdl"
-PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+# By default libsdl2-native will be built, if you want to use your host's libSDL instead of
+# the minimal libsdl built by libsdl2-native then uncomment the ASSUME_PROVIDED line below.
#ASSUME_PROVIDED += "libsdl2-native"
+# You can also enable the Gtk UI frontend, which takes somewhat longer to build, but adds
+# a handy set of menus for controlling the emulator.
+#PACKAGECONFIG_append_pn-qemu-system-native = " gtk+"
+
+#
+# Hash Equivalence
+#
+# Enable support for automatically running a local hash equivalence server and
+# instruct bitbake to use a hash equivalence aware signature generator. Hash
+# equivalence improves reuse of sstate by detecting when a given sstate
+# artifact can be reused as equivalent, even if the current task hash doesn't
+# match the one that generated the artifact.
+#
+# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format
+#
+#BB_HASHSERVE = "auto"
+#BB_SIGNATURE_HANDLER = "OEEquivHash"
+
# 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.
diff --git a/poky/meta-poky/conf/local.conf.sample.extended b/poky/meta-poky/conf/local.conf.sample.extended
index 77e8be26f..dc92a16f6 100644
--- a/poky/meta-poky/conf/local.conf.sample.extended
+++ b/poky/meta-poky/conf/local.conf.sample.extended
@@ -270,7 +270,7 @@ DISTRO_FEATURES_remove = "x11"
#
# By including the security_flags include file you enable flags
# to the compiler and linker that cause them to generate more secure
-# code, this is enabled by default in the poky-lsb distro.
+# code.
# This does affect compile speed slightly.
#
# Use the following line to enable the security compiler and linker flags to your build
diff --git a/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb b/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb
index 922518bc3..9f905a519 100644
--- a/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb
+++ b/poky/meta-selftest/recipes-test/aspell/aspell_0.0.0.1.bb
@@ -8,8 +8,6 @@ SECTION = "console/utils"
LICENSE = "LGPLv2 | LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-PR = "r1"
-
SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz"
SRC_URI[md5sum] = "e66a9c9af6a60dc46134fdacf6ce97d7"
SRC_URI[sha256sum] = "f52583a83a63633701c5f71db3dc40aab87b7f76b29723aeb27941eff42df6e1"
diff --git a/poky/meta-selftest/recipes-test/aspell/aspell_0.60.6.1.bbappend b/poky/meta-selftest/recipes-test/aspell/aspell_0.60.7.bbappend
index 205720982..205720982 100644
--- a/poky/meta-selftest/recipes-test/aspell/aspell_0.60.6.1.bbappend
+++ b/poky/meta-selftest/recipes-test/aspell/aspell_0.60.7.bbappend
diff --git a/poky/meta-selftest/recipes-test/fortran/files/hello.f95 b/poky/meta-selftest/recipes-test/fortran/files/hello.f95
new file mode 100644
index 000000000..a0745fc64
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/fortran/files/hello.f95
@@ -0,0 +1,5 @@
+program helloworld
+
+ print * , "Hello World!"
+
+end program helloworld
diff --git a/poky/meta-selftest/recipes-test/fortran/fortran-helloworld.bb b/poky/meta-selftest/recipes-test/fortran/fortran-helloworld.bb
new file mode 100644
index 000000000..3a4640447
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/fortran/fortran-helloworld.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Fortran Hello World"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+DEPENDS = "libgfortran"
+
+SRC_URI = "file://hello.f95"
+
+# These set flags that Fortran doesn't support
+SECURITY_CFLAGS = ""
+SECURITY_LDFLAGS = ""
+
+do_compile() {
+ ${FC} ${LDFLAGS} ${WORKDIR}/hello.f95 -o ${B}/fortran-hello
+}
+
+do_install() {
+ install -D ${B}/fortran-hello ${D}${bindir}/fortran-hello
+}
+
+python () {
+ if not d.getVar("FORTRAN"):
+ raise bb.parse.SkipRecipe("Fortran isn't enabled")
+}
diff --git a/poky/meta-selftest/recipes-test/multiconfig/multiconfig-test-parse.bb b/poky/meta-selftest/recipes-test/multiconfig/multiconfig-test-parse.bb
new file mode 100644
index 000000000..623669745
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/multiconfig/multiconfig-test-parse.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Test Multiconfig Parsing"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_showvar() {
+ bbplain "MCTESTVAR=${MCTESTVAR}"
+}
+addtask do_showvar
+
diff --git a/poky/meta-selftest/wic/test_biosplusefi_plugin.wks b/poky/meta-selftest/wic/test_biosplusefi_plugin.wks
new file mode 100644
index 000000000..5a56c8451
--- /dev/null
+++ b/poky/meta-selftest/wic/test_biosplusefi_plugin.wks
@@ -0,0 +1,6 @@
+# short-description: This file is used in oe-selftest wic module to test biosplusefi plugin
+
+part /boot --source bootimg-biosplusefi --sourceparams="loader=grub-efi" --active --align 1024 --use-uuid
+part / --source rootfs --fstype=ext4 --align 1024 --use-uuid
+
+bootloader --timeout=0 --append="console=ttyS0,115200n8"
diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
index 35814cd8f..08dd3a507 100644
--- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
+++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf
@@ -20,11 +20,11 @@ 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 u-boot:do_deploy"
-SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0"
+SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0 115200;ttyAMA0"
SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.0%"
+PREFERRED_VERSION_linux-yocto ?= "5.2%"
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
@@ -39,3 +39,20 @@ UBOOT_LOADADDRESS = "0x80008000"
MACHINE_FEATURES = "usbgadget usbhost vfat alsa"
IMAGE_BOOT_FILES ?= "u-boot.${UBOOT_SUFFIX} MLO zImage am335x-bone.dtb am335x-boneblack.dtb am335x-bonegreen.dtb"
+
+# support runqemu
+EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
+IMAGE_CLASSES += "qemuboot"
+QB_DEFAULT_FSTYPE = "wic"
+QB_FSINFO = "wic:no-kernel-in-fs"
+QB_KERNEL_ROOT = "/dev/vda2"
+QB_SYSTEM_NAME = "qemu-system-arm"
+QB_MACHINE = "-machine virt"
+QB_CPU = "-cpu cortex-a15"
+QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0 systemd.mask=systemd-networkd"
+QB_OPT_APPEND = "-device virtio-rng-device"
+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 = ""
+QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
diff --git a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
index 88592dbc8..6331368f8 100644
--- a/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
+++ b/poky/meta-yocto-bsp/conf/machine/edgerouter.conf
@@ -11,7 +11,7 @@ KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
KERNEL_IMAGE_STRIP_EXTRA_SECTIONS = ".comment"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ?= "5.0%"
+PREFERRED_VERSION_linux-yocto ?= "5.2%"
SERIAL_CONSOLES = "115200;ttyS0"
USE_VT ?= "0"
diff --git a/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf b/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf
index c489462dc..81ec24e97 100644
--- a/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf
+++ b/poky/meta-yocto-bsp/conf/machine/genericx86-64.conf
@@ -7,3 +7,5 @@ require conf/machine/include/tune-core2.inc
require conf/machine/include/genericx86-common.inc
SERIAL_CONSOLES_CHECK = "ttyS0"
+#For runqemu
+QB_SYSTEM_NAME = "qemu-system-x86_64"
diff --git a/poky/meta-yocto-bsp/conf/machine/genericx86.conf b/poky/meta-yocto-bsp/conf/machine/genericx86.conf
index 9929d2788..1387bde85 100644
--- a/poky/meta-yocto-bsp/conf/machine/genericx86.conf
+++ b/poky/meta-yocto-bsp/conf/machine/genericx86.conf
@@ -7,3 +7,5 @@ require conf/machine/include/tune-core2.inc
require conf/machine/include/genericx86-common.inc
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "gma500-gfx-check"
+#For runqemu
+QB_SYSTEM_NAME = "qemu-system-i386"
diff --git a/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf b/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
index e2dce5673..538279628 100644
--- a/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
+++ b/poky/meta-yocto-bsp/conf/machine/mpc8315e-rdb.conf
@@ -15,7 +15,7 @@ SERIAL_CONSOLES = "115200;ttyS0"
MACHINE_FEATURES = "keyboard pci ext2 ext3 serial"
-PREFERRED_VERSION_linux-yocto ?= "5.0%"
+PREFERRED_VERSION_linux-yocto ?= "5.2%"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend
deleted file mode 100644
index d7cf1216f..000000000
--- a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.0.bbappend
+++ /dev/null
@@ -1,27 +0,0 @@
-KBRANCH_genericx86 = "v5.0/standard/base"
-KBRANCH_genericx86-64 = "v5.0/standard/base"
-KBRANCH_edgerouter = "v5.0/standard/edgerouter"
-KBRANCH_beaglebone-yocto = "v5.0/standard/beaglebone"
-KBRANCH_mpc8315e-rdb = "v5.0/standard/fsl-mpc8315e-rdb"
-
-KMACHINE_genericx86 ?= "common-pc"
-KMACHINE_genericx86-64 ?= "common-pc-64"
-KMACHINE_beaglebone-yocto ?= "beaglebone"
-
-SRCREV_machine_genericx86 ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4"
-SRCREV_machine_genericx86-64 ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4"
-SRCREV_machine_edgerouter ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4"
-SRCREV_machine_beaglebone-yocto ?= "f990fd0ce123aa6035042efad09b2ddc3e7d48f4"
-SRCREV_machine_mpc8315e-rdb ?= "670ce7e9db627d0c2067cfdb571ddc1f117818d8"
-
-COMPATIBLE_MACHINE_genericx86 = "genericx86"
-COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
-COMPATIBLE_MACHINE_edgerouter = "edgerouter"
-COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
-COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
-
-LINUX_VERSION_genericx86 = "5.0.13"
-LINUX_VERSION_genericx86-64 = "5.0.13"
-LINUX_VERSION_edgerouter = "5.0.13"
-LINUX_VERSION_beaglebone-yocto = "5.0.13"
-LINUX_VERSION_mpc8315e-rdb = "5.0.13"
diff --git a/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend
new file mode 100644
index 000000000..f15bccbaf
--- /dev/null
+++ b/poky/meta-yocto-bsp/recipes-kernel/linux/linux-yocto_5.2.bbappend
@@ -0,0 +1,27 @@
+KBRANCH_genericx86 = "v5.2/standard/base"
+KBRANCH_genericx86-64 = "v5.2/standard/base"
+KBRANCH_edgerouter = "v5.2/standard/edgerouter"
+KBRANCH_beaglebone-yocto = "v5.2/standard/beaglebone"
+KBRANCH_mpc8315e-rdb = "v5.2/standard/fsl-mpc8315e-rdb"
+
+KMACHINE_genericx86 ?= "common-pc"
+KMACHINE_genericx86-64 ?= "common-pc-64"
+KMACHINE_beaglebone-yocto ?= "beaglebone"
+
+SRCREV_machine_genericx86 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_machine_genericx86-64 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_machine_edgerouter ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_machine_beaglebone-yocto ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_machine_mpc8315e-rdb ?= "77f031b182885c177b3a96098ae61271911a7954"
+
+COMPATIBLE_MACHINE_genericx86 = "genericx86"
+COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
+COMPATIBLE_MACHINE_edgerouter = "edgerouter"
+COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
+COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
+
+LINUX_VERSION_genericx86 = "5.2.17"
+LINUX_VERSION_genericx86-64 = "5.2.17"
+LINUX_VERSION_edgerouter = "5.2.17"
+LINUX_VERSION_beaglebone-yocto = "5.2.17"
+LINUX_VERSION_mpc8315e-rdb = "5.2.17"
diff --git a/poky/meta/classes/archiver.bbclass b/poky/meta/classes/archiver.bbclass
index af9f010df..093e2d95a 100644
--- a/poky/meta/classes/archiver.bbclass
+++ b/poky/meta/classes/archiver.bbclass
@@ -78,6 +78,9 @@ python () {
bb.debug(1, 'archiver: %s is excluded, covered by gcc-source' % pn)
return
+ def hasTask(task):
+ return bool(d.getVarFlag(task, "task", False)) and not bool(d.getVarFlag(task, "noexec", False))
+
ar_src = d.getVarFlag('ARCHIVER_MODE', 'src')
ar_dumpdata = d.getVarFlag('ARCHIVER_MODE', 'dumpdata')
ar_recipe = d.getVarFlag('ARCHIVER_MODE', 'recipe')
@@ -98,9 +101,6 @@ python () {
# There is a corner case with "gcc-source-${PV}" recipes, they don't have
# the "do_configure" task, so we need to use "do_preconfigure"
- def hasTask(task):
- return bool(d.getVarFlag(task, "task", False)) and not bool(d.getVarFlag(task, "noexec", False))
-
if hasTask("do_preconfigure"):
d.appendVarFlag('do_ar_configured', 'depends', ' %s:do_preconfigure' % pn)
elif hasTask("do_configure"):
@@ -118,7 +118,11 @@ python () {
# Output the SRPM package
if d.getVarFlag('ARCHIVER_MODE', 'srpm') == "1" and d.getVar('PACKAGES'):
- if "package_rpm" in d.getVar('PACKAGE_CLASSES'):
+ if "package_rpm" not in d.getVar('PACKAGE_CLASSES'):
+ bb.fatal("ARCHIVER_MODE[srpm] needs package_rpm in PACKAGE_CLASSES")
+
+ # Some recipes do not have any packaging tasks
+ if hasTask("do_package_write_rpm"):
d.appendVarFlag('do_deploy_archives', 'depends', ' %s:do_package_write_rpm' % pn)
d.appendVarFlag('do_package_write_rpm', 'dirs', ' ${ARCHIVER_RPMTOPDIR}')
d.appendVarFlag('do_package_write_rpm', 'sstate-inputdirs', ' ${ARCHIVER_RPMTOPDIR}')
@@ -133,8 +137,6 @@ python () {
d.appendVarFlag('do_package_write_rpm', 'depends', ' %s:do_ar_patched' % pn)
elif ar_src == "configured":
d.appendVarFlag('do_package_write_rpm', 'depends', ' %s:do_ar_configured' % pn)
- else:
- bb.fatal("ARCHIVER_MODE[srpm] needs package_rpm in PACKAGE_CLASSES")
}
# Take all the sources for a recipe and puts them in WORKDIR/archiver-work/.
@@ -219,9 +221,10 @@ python do_ar_patched() {
# Get the ARCHIVER_OUTDIR before we reset the WORKDIR
ar_outdir = d.getVar('ARCHIVER_OUTDIR')
- ar_workdir = d.getVar('ARCHIVER_WORKDIR')
+ if not is_work_shared(d):
+ ar_workdir = d.getVar('ARCHIVER_WORKDIR')
+ d.setVar('WORKDIR', ar_workdir)
bb.note('Archiving the patched source...')
- d.setVar('WORKDIR', ar_workdir)
create_tarball(d, d.getVar('S'), 'patched', ar_outdir)
}
diff --git a/poky/meta/classes/autotools.bbclass b/poky/meta/classes/autotools.bbclass
index 8768a6ad6..3d22ad025 100644
--- a/poky/meta/classes/autotools.bbclass
+++ b/poky/meta/classes/autotools.bbclass
@@ -25,7 +25,9 @@ inherit siteinfo
# Space separated list of shell scripts with variables defined to supply test
# results for autoconf tests we cannot run at build time.
-export CONFIG_SITE = "${@siteinfo_get_files(d)}"
+# The value of this variable is filled in in a prefunc because it depends on
+# the contents of the sysroot.
+export CONFIG_SITE
acpaths ?= "default"
EXTRA_AUTORECONF = "--exclude=autopoint"
@@ -132,6 +134,8 @@ EXTRACONFFUNCS ??= ""
EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}"
do_configure[prefuncs] += "autotools_preconfigure autotools_aclocals ${EXTRACONFFUNCS}"
+do_compile[prefuncs] += "autotools_aclocals"
+do_install[prefuncs] += "autotools_aclocals"
do_configure[postfuncs] += "autotools_postconfigure"
ACLOCALDIR = "${STAGING_DATADIR}/aclocal"
@@ -140,7 +144,6 @@ ACLOCALEXTRAPATH_class-target = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
ACLOCALEXTRAPATH_class-nativesdk = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
python autotools_aclocals () {
- # Refresh variable with cache files
d.setVar("CONFIG_SITE", siteinfo_get_files(d, sysrootcache=True))
}
diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass
index 0c8a4b286..d3184ecf7 100644
--- a/poky/meta/classes/base.bbclass
+++ b/poky/meta/classes/base.bbclass
@@ -32,9 +32,11 @@ def oe_import(d):
import oe.data
for toimport in oe.data.typed_value("OE_IMPORTS", d):
- imported = __import__(toimport)
- inject(toimport.split(".", 1)[0], imported)
-
+ try:
+ imported = __import__(toimport)
+ inject(toimport.split(".", 1)[0], imported)
+ except AttributeError as e:
+ bb.error("Error importing OE modules: %s" % str(e))
return ""
# We need the oe module name space early (before INHERITs get added)
diff --git a/poky/meta/classes/bluetooth.bbclass b/poky/meta/classes/bluetooth.bbclass
deleted file mode 100644
index f88b4ae5b..000000000
--- a/poky/meta/classes/bluetooth.bbclass
+++ /dev/null
@@ -1,14 +0,0 @@
-# Avoid code duplication in bluetooth-dependent recipes.
-
-# Define a variable that expands to the recipe (package) providing core
-# bluetooth support on the platform:
-# "" if bluetooth is not in DISTRO_FEATURES
-# else "bluez5" if bluez5 is in DISTRO_FEATURES
-# else "bluez4"
-
-# Use this with:
-# inherit bluetooth
-# PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}
-# PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4"
-
-BLUEZ ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5', 'bluez4', d), '', d)}"
diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass
index 2e501df24..f986f7c79 100644
--- a/poky/meta/classes/buildhistory.bbclass
+++ b/poky/meta/classes/buildhistory.bbclass
@@ -60,15 +60,34 @@ SSTATEPOSTUNPACKFUNCS[vardepvalueexclude] .= "| buildhistory_emit_outputsigs"
# When extending build history, derive your class from buildhistory.bbclass
# and extend this list here with the additional files created by the derived
# class.
-BUILDHISTORY_PRESERVE = "latest latest_srcrev"
+BUILDHISTORY_PRESERVE = "latest latest_srcrev sysroot"
PATCH_GIT_USER_EMAIL ?= "buildhistory@oe"
PATCH_GIT_USER_NAME ?= "OpenEmbedded"
#
+# Write out the contents of the sysroot
+#
+buildhistory_emit_sysroot() {
+ mkdir --parents ${BUILDHISTORY_DIR_PACKAGE}
+ case ${CLASSOVERRIDE} in
+ class-native|class-cross|class-crosssdk)
+ BASE=${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}
+ ;;
+ *)
+ BASE=${SYSROOT_DESTDIR}
+ ;;
+ esac
+ buildhistory_list_files_no_owners $BASE ${BUILDHISTORY_DIR_PACKAGE}/sysroot
+}
+
+#
# Write out metadata about this package for comparison when writing future packages
#
python buildhistory_emit_pkghistory() {
+ if d.getVar('BB_CURRENTTASK') in ['populate_sysroot', 'populate_sysroot_setscene']:
+ bb.build.exec_func("buildhistory_emit_sysroot", d)
+
if not d.getVar('BB_CURRENTTASK') in ['packagedata', 'packagedata_setscene']:
return 0
@@ -529,6 +548,20 @@ buildhistory_list_files() {
fi | sort -k5 | sed 's/ * -> $//' > $2 )
}
+buildhistory_list_files_no_owners() {
+ # List the files in the specified directory, but exclude date/time etc.
+ # Also don't output the ownership data, but instead output just - - so
+ # that the same parsing code as for _list_files works.
+ # This is somewhat messy, but handles where the size is not printed for device files under pseudo
+ ( cd $1
+ find_cmd='find . ! -path . -printf "%M - - %10s %p -> %l\n"'
+ if [ "$3" = "fakeroot" ] ; then
+ eval ${FAKEROOTENV} ${FAKEROOTCMD} "$find_cmd"
+ else
+ eval "$find_cmd"
+ fi | sort -k5 | sed 's/ * -> $//' > $2 )
+}
+
buildhistory_list_pkg_files() {
# Create individual files-in-package for each recipe's package
for pkgdir in $(find ${PKGDEST}/* -maxdepth 0 -type d); do
diff --git a/poky/meta/classes/chrpath.bbclass b/poky/meta/classes/chrpath.bbclass
index ad3c3975a..2870c10d5 100644
--- a/poky/meta/classes/chrpath.bbclass
+++ b/poky/meta/classes/chrpath.bbclass
@@ -1,7 +1,7 @@
CHRPATH_BIN ?= "chrpath"
PREPROCESS_RELOCATE_DIRS ?= ""
-def process_file_linux(cmd, fpath, rootdir, baseprefix, tmpdir, d):
+def process_file_linux(cmd, fpath, rootdir, baseprefix, tmpdir, d, break_hardlinks = False):
import subprocess as sub
p = sub.Popen([cmd, '-l', fpath],stdout=sub.PIPE,stderr=sub.PIPE)
@@ -39,6 +39,9 @@ def process_file_linux(cmd, fpath, rootdir, baseprefix, tmpdir, d):
# if we have modified some rpaths call chrpath to update the binary
if modified:
+ if break_hardlinks:
+ bb.utils.break_hardlinks(fpath)
+
args = ":".join(new_rpaths)
#bb.note("Setting rpath for %s to %s" %(fpath, args))
p = sub.Popen([cmd, '-r', args, fpath],stdout=sub.PIPE,stderr=sub.PIPE)
@@ -46,7 +49,7 @@ def process_file_linux(cmd, fpath, rootdir, baseprefix, tmpdir, d):
if p.returncode != 0:
bb.fatal("%s: chrpath command failed with exit code %d:\n%s%s" % (d.getVar('PN'), p.returncode, out, err))
-def process_file_darwin(cmd, fpath, rootdir, baseprefix, tmpdir, d):
+def process_file_darwin(cmd, fpath, rootdir, baseprefix, tmpdir, d, break_hardlinks = False):
import subprocess as sub
p = sub.Popen([d.expand("${HOST_PREFIX}otool"), '-L', fpath],stdout=sub.PIPE,stderr=sub.PIPE)
@@ -61,11 +64,14 @@ def process_file_darwin(cmd, fpath, rootdir, baseprefix, tmpdir, d):
if baseprefix not in rpath:
continue
+ if break_hardlinks:
+ bb.utils.break_hardlinks(fpath)
+
newpath = "@loader_path/" + os.path.relpath(rpath, os.path.dirname(fpath.replace(rootdir, "/")))
p = sub.Popen([d.expand("${HOST_PREFIX}install_name_tool"), '-change', rpath, newpath, fpath],stdout=sub.PIPE,stderr=sub.PIPE)
out, err = p.communicate()
-def process_dir (rootdir, directory, d):
+def process_dir(rootdir, directory, d, break_hardlinks = False):
import stat
rootdir = os.path.normpath(rootdir)
@@ -95,7 +101,7 @@ def process_dir (rootdir, directory, d):
continue
if os.path.isdir(fpath):
- process_dir(rootdir, fpath, d)
+ process_dir(rootdir, fpath, d, break_hardlinks = break_hardlinks)
else:
#bb.note("Testing %s for relocatability" % fpath)
@@ -108,8 +114,9 @@ def process_dir (rootdir, directory, d):
else:
# Temporarily make the file writeable so we can chrpath it
os.chmod(fpath, perms|stat.S_IRWXU)
- process_file(cmd, fpath, rootdir, baseprefix, tmpdir, d)
-
+
+ process_file(cmd, fpath, rootdir, baseprefix, tmpdir, d, break_hardlinks = break_hardlinks)
+
if perms:
os.chmod(fpath, perms)
diff --git a/poky/meta/classes/core-image.bbclass b/poky/meta/classes/core-image.bbclass
index a9a2cec68..94f112c39 100644
--- a/poky/meta/classes/core-image.bbclass
+++ b/poky/meta/classes/core-image.bbclass
@@ -30,6 +30,7 @@
# - dev-pkgs - development packages (headers, etc.) for all installed packages in the rootfs
# - dbg-pkgs - debug symbol packages for all installed packages in the rootfs
# - doc-pkgs - documentation packages for all installed packages in the rootfs
+# - bash-completion-pkgs - bash-completion packages for recipes using bash-completion bbclass
# - ptest-pkgs - ptest packages for all ptest-enabled recipes
# - read-only-rootfs - tweaks an image to support read-only rootfs
# - splash - bootup splash screen
diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass
index 379f7121c..c00d2910b 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-json.db"
+CVE_CHECK_DB_FILE ?= "${CVE_CHECK_DB_DIR}/nvdcve_1.0.db"
CVE_CHECK_LOG ?= "${T}/cve.log"
CVE_CHECK_TMP_FILE ?= "${TMPDIR}/cve_check"
@@ -37,32 +37,33 @@ CVE_CHECK_COPY_FILES ??= "1"
CVE_CHECK_CREATE_MANIFEST ??= "1"
# Whitelist for packages (PN)
-CVE_CHECK_PN_WHITELIST = "\
- glibc-locale \
-"
+CVE_CHECK_PN_WHITELIST ?= ""
-# Whitelist for CVE and version of package
-CVE_CHECK_CVE_WHITELIST = "{\
- 'CVE-2014-2524': ('6.3','5.2',), \
-}"
+# Whitelist for CVE. If a CVE is found, then it is considered patched.
+# The value is a string containing space separated CVE values:
+#
+# CVE_CHECK_WHITELIST = 'CVE-2014-2524 CVE-2018-1234'
+#
+CVE_CHECK_WHITELIST ?= ""
python do_cve_check () {
"""
Check recipe for patched and unpatched CVEs
"""
- if os.path.exists(d.getVar("CVE_CHECK_TMP_FILE")):
+ if os.path.exists(d.getVar("CVE_CHECK_DB_FILE")):
patched_cves = get_patches_cves(d)
patched, unpatched = check_cves(d, patched_cves)
if patched or unpatched:
cve_data = get_cve_info(d, patched + unpatched)
cve_write_data(d, patched, unpatched, cve_data)
else:
- bb.note("Failed to update CVE database, skipping CVE check")
+ bb.note("No CVE database found, skipping CVE check")
+
}
addtask cve_check after do_unpack before do_build
-do_cve_check[depends] = "cve-update-db:do_populate_cve_db"
+do_cve_check[depends] = "cve-update-db-native:do_populate_cve_db"
do_cve_check[nostamp] = "1"
python cve_check_cleanup () {
@@ -170,52 +171,87 @@ def check_cves(d, patched_cves):
cves_unpatched = []
# CVE_PRODUCT can contain more than one product (eg. curl/libcurl)
- bpn = d.getVar("CVE_PRODUCT").split()
+ products = d.getVar("CVE_PRODUCT").split()
# If this has been unset then we're not scanning for CVEs here (for example, image recipes)
- if len(bpn) == 0:
+ if not products:
return ([], [])
pv = d.getVar("CVE_VERSION").split("+git")[0]
- cve_whitelist = ast.literal_eval(d.getVar("CVE_CHECK_CVE_WHITELIST"))
# 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 ([], [])
+ old_cve_whitelist = d.getVar("CVE_CHECK_CVE_WHITELIST")
+ if old_cve_whitelist:
+ bb.warn("CVE_CHECK_CVE_WHITELIST is deprecated, please use CVE_CHECK_WHITELIST.")
+ cve_whitelist = d.getVar("CVE_CHECK_WHITELIST").split()
+
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]
+ for product in products:
+ c = conn.cursor()
+ if ":" in product:
+ vendor, product = product.split(":", 1)
+ c.execute("SELECT * FROM PRODUCTS WHERE PRODUCT IS ? AND VENDOR IS ?", (product, vendor))
+ else:
+ c.execute("SELECT * FROM PRODUCTS WHERE PRODUCT IS ?", (product,))
- try:
- discardVersion = LooseVersion(version) < LooseVersion(pv)
- except:
- discardVersion = True
+ for row in c:
+ cve = row[0]
+ version_start = row[3]
+ operator_start = row[4]
+ version_end = row[5]
+ operator_end = row[6]
- if pv in cve_whitelist.get(cve,[]):
- bb.note("%s-%s has been whitelisted for %s" % (bpn[idx], pv, cve))
+ if cve in cve_whitelist:
+ bb.note("%s-%s has been whitelisted for %s" % (product, 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))
+ to_append = False
+ if (operator_start == '=' and pv == version_start):
+ cves_unpatched.append(cve)
+ else:
+ if operator_start:
+ try:
+ to_append_start = (operator_start == '>=' and LooseVersion(pv) >= LooseVersion(version_start))
+ to_append_start |= (operator_start == '>' and LooseVersion(pv) > LooseVersion(version_start))
+ except:
+ bb.note("%s: Failed to compare %s %s %s for %s" %
+ (product, pv, operator_start, version_start, cve))
+ to_append_start = False
+ else:
+ to_append_start = False
+
+ if operator_end:
+ try:
+ to_append_end = (operator_end == '<=' and LooseVersion(pv) <= LooseVersion(version_end))
+ to_append_end |= (operator_end == '<' and LooseVersion(pv) < LooseVersion(version_end))
+ except:
+ bb.note("%s: Failed to compare %s %s %s for %s" %
+ (product, pv, operator_end, version_end, cve))
+ to_append_end = False
+ else:
+ to_append_end = False
+
+ if operator_start and operator_end:
+ to_append = to_append_start and to_append_end
+ else:
+ to_append = to_append_start or to_append_end
+
+ if to_append:
+ cves_unpatched.append(cve)
+ bb.debug(2, "%s-%s is not patched for %s" % (product, pv, cve))
conn.close()
return (list(patched_cves), cves_unpatched)
def get_cve_info(d, cves):
"""
- Get CVE information from the database used by cve-check-tool.
+ Get CVE information from the database.
Unfortunately the only way to get CVE info is set the output to
html (hard to parse) or query directly the database.
diff --git a/poky/meta/classes/externalsrc.bbclass b/poky/meta/classes/externalsrc.bbclass
index 3618b99a8..ea59d02ed 100644
--- a/poky/meta/classes/externalsrc.bbclass
+++ b/poky/meta/classes/externalsrc.bbclass
@@ -203,7 +203,7 @@ def srctree_hash_files(d, srcdir=None):
ret = " "
if git_dir is not None:
- oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1')
+ oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1-%s' % d.getVar('PN'))
with tempfile.NamedTemporaryFile(prefix='oe-devtool-index') as tmp_index:
# Clone index
shutil.copyfile(os.path.join(git_dir, 'index'), tmp_index.name)
diff --git a/poky/meta/classes/gnome.bbclass b/poky/meta/classes/gnome.bbclass
deleted file mode 100644
index c6202bbb7..000000000
--- a/poky/meta/classes/gnome.bbclass
+++ /dev/null
@@ -1 +0,0 @@
-inherit gnomebase gtk-icon-cache gconf mime
diff --git a/poky/meta/classes/go-ptest.bbclass b/poky/meta/classes/go-ptest.bbclass
new file mode 100644
index 000000000..e230a8058
--- /dev/null
+++ b/poky/meta/classes/go-ptest.bbclass
@@ -0,0 +1,54 @@
+inherit go ptest
+
+do_compile_ptest_base() {
+ export TMPDIR="${GOTMPDIR}"
+ rm -f ${B}/.go_compiled_tests.list
+ go_list_package_tests | while read pkg; do
+ cd ${B}/src/$pkg
+ ${GO} test ${GOPTESTBUILDFLAGS} $pkg
+ find . -mindepth 1 -maxdepth 1 -type f -name '*.test' -exec echo $pkg/{} \; | \
+ sed -e's,/\./,/,'>> ${B}/.go_compiled_tests.list
+ done
+ do_compile_ptest
+}
+
+do_compile_ptest_base[dirs] =+ "${GOTMPDIR}"
+
+go_make_ptest_wrapper() {
+ cat >${D}${PTEST_PATH}/run-ptest <<EOF
+#!/bin/sh
+RC=0
+run_test() (
+ cd "\$1"
+ ((((./\$2 ${GOPTESTFLAGS}; echo \$? >&3) | sed -r -e"s,^(PASS|SKIP|FAIL)\$,\\1: \$1/\$2," >&4) 3>&1) | (read rc; exit \$rc)) 4>&1
+ exit \$?)
+EOF
+
+}
+
+do_install_ptest_base() {
+ test -f "${B}/.go_compiled_tests.list" || exit 0
+ install -d ${D}${PTEST_PATH}
+ go_stage_testdata
+ go_make_ptest_wrapper
+ havetests=""
+ while read test; do
+ testdir=`dirname $test`
+ testprog=`basename $test`
+ install -d ${D}${PTEST_PATH}/$testdir
+ install -m 0755 ${B}/src/$test ${D}${PTEST_PATH}/$test
+ echo "run_test $testdir $testprog || RC=1" >> ${D}${PTEST_PATH}/run-ptest
+ havetests="yes"
+ done < ${B}/.go_compiled_tests.list
+ if [ -n "$havetests" ]; then
+ echo "exit \$RC" >> ${D}${PTEST_PATH}/run-ptest
+ chmod +x ${D}${PTEST_PATH}/run-ptest
+ else
+ rm -rf ${D}${PTEST_PATH}
+ fi
+ do_install_ptest
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+INSANE_SKIP_${PN}-ptest += "ldflags"
+
diff --git a/poky/meta/classes/go.bbclass b/poky/meta/classes/go.bbclass
index e05a5c641..e40e55689 100644
--- a/poky/meta/classes/go.bbclass
+++ b/poky/meta/classes/go.bbclass
@@ -1,4 +1,4 @@
-inherit goarch ptest
+inherit goarch
GO_PARALLEL_BUILD ?= "${@oe.utils.parallel_make_argument(d, '-p %d')}"
@@ -71,17 +71,13 @@ python go_do_unpack() {
if len(src_uri) == 0:
return
- try:
- fetcher = bb.fetch2.Fetch(src_uri, d)
- for url in fetcher.urls:
- if fetcher.ud[url].type == 'git':
- if fetcher.ud[url].parm.get('destsuffix') is None:
- s_dirname = os.path.basename(d.getVar('S'))
- fetcher.ud[url].parm['destsuffix'] = os.path.join(s_dirname, 'src',
- d.getVar('GO_IMPORT')) + '/'
- fetcher.unpack(d.getVar('WORKDIR'))
- except bb.fetch2.BBFetchException as e:
- raise bb.build.FuncFailed(e)
+ fetcher = bb.fetch2.Fetch(src_uri, d)
+ for url in fetcher.urls:
+ if fetcher.ud[url].type == 'git':
+ if fetcher.ud[url].parm.get('destsuffix') is None:
+ s_dirname = os.path.basename(d.getVar('S'))
+ fetcher.ud[url].parm['destsuffix'] = os.path.join(s_dirname, 'src', d.getVar('GO_IMPORT')) + '/'
+ fetcher.unpack(d.getVar('WORKDIR'))
}
go_list_packages() {
@@ -114,19 +110,6 @@ go_do_compile() {
do_compile[dirs] =+ "${GOTMPDIR}"
do_compile[cleandirs] = "${B}/bin ${B}/pkg"
-do_compile_ptest_base() {
- export TMPDIR="${GOTMPDIR}"
- rm -f ${B}/.go_compiled_tests.list
- go_list_package_tests | while read pkg; do
- cd ${B}/src/$pkg
- ${GO} test ${GOPTESTBUILDFLAGS} $pkg
- find . -mindepth 1 -maxdepth 1 -type f -name '*.test' -exec echo $pkg/{} \; | \
- sed -e's,/\./,/,'>> ${B}/.go_compiled_tests.list
- done
- do_compile_ptest
-}
-do_compile_ptest_base[dirs] =+ "${GOTMPDIR}"
-
go_do_install() {
install -d ${D}${libdir}/go/src/${GO_IMPORT}
tar -C ${S}/src/${GO_IMPORT} -cf - --exclude-vcs --exclude '*.test' --exclude 'testdata' . | \
@@ -139,18 +122,6 @@ go_do_install() {
fi
}
-go_make_ptest_wrapper() {
- cat >${D}${PTEST_PATH}/run-ptest <<EOF
-#!/bin/sh
-RC=0
-run_test() (
- cd "\$1"
- ((((./\$2 ${GOPTESTFLAGS}; echo \$? >&3) | sed -r -e"s,^(PASS|SKIP|FAIL)\$,\\1: \$1/\$2," >&4) 3>&1) | (read rc; exit \$rc)) 4>&1
- exit \$?)
-EOF
-
-}
-
go_stage_testdata() {
oldwd="$PWD"
cd ${S}/src
@@ -165,37 +136,12 @@ go_stage_testdata() {
cd "$oldwd"
}
-do_install_ptest_base() {
- test -f "${B}/.go_compiled_tests.list" || exit 0
- install -d ${D}${PTEST_PATH}
- go_stage_testdata
- go_make_ptest_wrapper
- havetests=""
- while read test; do
- testdir=`dirname $test`
- testprog=`basename $test`
- install -d ${D}${PTEST_PATH}/$testdir
- install -m 0755 ${B}/src/$test ${D}${PTEST_PATH}/$test
- echo "run_test $testdir $testprog || RC=1" >> ${D}${PTEST_PATH}/run-ptest
- havetests="yes"
- done < ${B}/.go_compiled_tests.list
- if [ -n "$havetests" ]; then
- echo "exit \$RC" >> ${D}${PTEST_PATH}/run-ptest
- chmod +x ${D}${PTEST_PATH}/run-ptest
- else
- rm -rf ${D}${PTEST_PATH}
- fi
- do_install_ptest
- chown -R root:root ${D}${PTEST_PATH}
-}
-
EXPORT_FUNCTIONS do_unpack do_configure do_compile do_install
FILES_${PN}-dev = "${libdir}/go/src"
FILES_${PN}-staticdev = "${libdir}/go/pkg"
INSANE_SKIP_${PN} += "ldflags"
-INSANE_SKIP_${PN}-ptest += "ldflags"
# Add -buildmode=pie to GOBUILDFLAGS to satisfy "textrel" QA checking, but mips
# doesn't support -buildmode=pie, so skip the QA checking for mips and its
diff --git a/poky/meta/classes/grub-efi-cfg.bbclass b/poky/meta/classes/grub-efi-cfg.bbclass
index f661a69f8..8b5ff20c7 100644
--- a/poky/meta/classes/grub-efi-cfg.bbclass
+++ b/poky/meta/classes/grub-efi-cfg.bbclass
@@ -23,7 +23,6 @@ GRUB_TIMEOUT ?= "10"
#FIXME: build this from the machine config
GRUB_OPTS ?= "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"
-EFIDIR = "/EFI/BOOT"
GRUB_ROOT ?= "${ROOT}"
APPEND ?= ""
diff --git a/poky/meta/classes/grub-efi.bbclass b/poky/meta/classes/grub-efi.bbclass
index 90badc03a..8fc6999e5 100644
--- a/poky/meta/classes/grub-efi.bbclass
+++ b/poky/meta/classes/grub-efi.bbclass
@@ -1,39 +1,8 @@
inherit grub-efi-cfg
+require conf/image-uefi.conf
efi_populate() {
- # DEST must be the root of the image so that EFIDIR is not
- # nested under a top level directory.
- DEST=$1
-
- install -d ${DEST}${EFIDIR}
-
- GRUB_IMAGE="grub-efi-bootia32.efi"
- DEST_IMAGE="bootia32.efi"
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- GRUB_IMAGE="grub-efi-bootx64.efi"
- DEST_IMAGE="bootx64.efi"
- fi
- install -m 0644 ${DEPLOY_DIR_IMAGE}/${GRUB_IMAGE} ${DEST}${EFIDIR}/${DEST_IMAGE}
- EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
- printf 'fs0:%s\%s\n' "$EFIPATH" "$DEST_IMAGE" >${DEST}/startup.nsh
+ efi_populate_common "$1" grub-efi
install -m 0644 ${GRUB_CFG} ${DEST}${EFIDIR}/grub.cfg
}
-
-efi_iso_populate() {
- iso_dir=$1
- efi_populate $iso_dir
- # Build a EFI directory to create efi.img
- mkdir -p ${EFIIMGDIR}/${EFIDIR}
- cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
- cp $iso_dir/${KERNEL_IMAGETYPE} ${EFIIMGDIR}
- EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
- printf 'fs0:%s\%s\n' "$EFIPATH" "$GRUB_IMAGE" > ${EFIIMGDIR}/startup.nsh
- if [ -f "$iso_dir/initrd" ] ; then
- cp $iso_dir/initrd ${EFIIMGDIR}
- fi
-}
-
-efi_hddimg_populate() {
- efi_populate $1
-}
diff --git a/poky/meta/classes/gtk-icon-cache.bbclass b/poky/meta/classes/gtk-icon-cache.bbclass
index 66fe781bd..91cb4ad40 100644
--- a/poky/meta/classes/gtk-icon-cache.bbclass
+++ b/poky/meta/classes/gtk-icon-cache.bbclass
@@ -6,7 +6,7 @@ PACKAGE_WRITE_DEPS += "gtk+3-native gdk-pixbuf-native"
gtk_icon_cache_postinst() {
if [ "x$D" != "x" ]; then
- $INTERCEPT_DIR/postinst_intercept update_icon_cache ${PKG} \
+ $INTERCEPT_DIR/postinst_intercept update_gtk_icon_cache ${PKG} \
mlprefix=${MLPREFIX} \
libdir_native=${libdir_native}
else
@@ -24,7 +24,7 @@ fi
gtk_icon_cache_postrm() {
if [ "x$D" != "x" ]; then
- $INTERCEPT_DIR/postinst_intercept update_icon_cache ${PKG} \
+ $INTERCEPT_DIR/postinst_intercept update_gtk_icon_cache ${PKG} \
mlprefix=${MLPREFIX} \
libdir=${libdir}
else
diff --git a/poky/meta/classes/icecc.bbclass b/poky/meta/classes/icecc.bbclass
index edb0e1043..4376aa37d 100644
--- a/poky/meta/classes/icecc.bbclass
+++ b/poky/meta/classes/icecc.bbclass
@@ -57,7 +57,7 @@ ICECC_ENV_VERSION = "2"
# See: https://github.com/icecc/icecream/issues/190
export ICECC_CARET_WORKAROUND ??= "0"
-export ICECC_REMOTE_CPP ??= "1"
+export ICECC_REMOTE_CPP ??= "0"
ICECC_CFLAGS = ""
CFLAGS += "${ICECC_CFLAGS}"
@@ -73,10 +73,16 @@ ICECC_ENV_DEBUG ??= ""
#
# libgcc-initial - fails with CPP sanity check error if host sysroot contains
# cross gcc built for another target tune/variant
+# pixman - prng_state: TLS reference mismatches non-TLS reference, possibly due to
+# pragma omp threadprivate(prng_state)
+# systemtap - _HelperSDT.c undefs macros and uses the identifiers in macros emitting
+# inline assembly
# target-sdk-provides-dummy - ${HOST_PREFIX} is empty which triggers the "NULL
# prefix" error.
ICECC_SYSTEM_PACKAGE_BL += "\
libgcc-initial \
+ pixman \
+ systemtap \
target-sdk-provides-dummy \
"
@@ -132,6 +138,10 @@ def use_icecc(bb,d):
if icecc_is_cross_canadian(bb, d):
return "no"
+ if d.getVar('INHIBIT_DEFAULT_DEPS', False):
+ # We don't have a compiler, so no icecc
+ return "no"
+
pn = d.getVar('PN')
bpn = d.getVar('BPN')
@@ -243,7 +253,11 @@ def icecc_get_external_tool(bb, d, tool):
def icecc_get_tool_link(tool, d):
import subprocess
- return subprocess.check_output("readlink -f %s" % tool, shell=True).decode("utf-8")[:-1]
+ try:
+ return subprocess.check_output("readlink -f %s" % tool, shell=True).decode("utf-8")[:-1]
+ except subprocess.CalledProcessError as e:
+ bb.note("icecc: one of the tools probably disappeared during recipe parsing, cmd readlink -f %s returned %d:\n%s" % (tool, e.returncode, e.output.decode("utf-8")))
+ return tool
def icecc_get_path_tool(tool, d):
# This is a little ugly, but we want to make sure we add an actual
diff --git a/poky/meta/classes/image-live.bbclass b/poky/meta/classes/image-live.bbclass
index af71be509..54058b350 100644
--- a/poky/meta/classes/image-live.bbclass
+++ b/poky/meta/classes/image-live.bbclass
@@ -37,7 +37,7 @@ do_bootimg[depends] += "dosfstools-native:do_populate_sysroot \
LABELS_LIVE ?= "boot install"
ROOT_LIVE ?= "root=/dev/ram0"
INITRD_IMAGE_LIVE ?= "${MLPREFIX}core-image-minimal-initramfs"
-INITRD_LIVE ?= "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE_LIVE}-${MACHINE}.cpio.gz"
+INITRD_LIVE ?= "${DEPLOY_DIR_IMAGE}/${INITRD_IMAGE_LIVE}-${MACHINE}.${INITRAMFS_FSTYPES}"
LIVE_ROOTFS_TYPE ?= "ext4"
ROOTFS ?= "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${LIVE_ROOTFS_TYPE}"
diff --git a/poky/meta/classes/image.bbclass b/poky/meta/classes/image.bbclass
index d2b2fb979..f4633da3d 100644
--- a/poky/meta/classes/image.bbclass
+++ b/poky/meta/classes/image.bbclass
@@ -305,11 +305,8 @@ fakeroot python do_image_qa () {
bb.build.exec_func(cmd, d)
except oe.utils.ImageQAFailed as e:
qamsg = qamsg + '\tImage QA function %s failed: %s\n' % (e.name, e.description)
- except bb.build.FuncFailed as e:
- qamsg = qamsg + '\tImage QA function %s failed' % e.name
- if e.logfile:
- qamsg = qamsg + ' (log file is located at %s)' % e.logfile
- qamsg = qamsg + '\n'
+ except Exception as e:
+ qamsg = qamsg + '\tImage QA function %s failed\n' % cmd
if qamsg:
imgname = d.getVar('IMAGE_NAME')
@@ -328,7 +325,8 @@ addtask do_image_qa_setscene
def setup_debugfs_variables(d):
d.appendVar('IMAGE_ROOTFS', '-dbg')
- d.appendVar('IMAGE_LINK_NAME', '-dbg')
+ if d.getVar('IMAGE_LINK_NAME'):
+ d.appendVar('IMAGE_LINK_NAME', '-dbg')
d.appendVar('IMAGE_NAME','-dbg')
d.setVar('IMAGE_BUILDING_DEBUGFS', 'true')
debugfs_image_fstypes = d.getVar('IMAGE_FSTYPES_DEBUGFS')
@@ -528,7 +526,7 @@ def get_rootfs_size(d):
base_size = size_kb * overhead_factor
bb.debug(1, '%f = %d * %f' % (base_size, size_kb, overhead_factor))
base_size2 = max(base_size, rootfs_req_size) + rootfs_extra_space
- bb.debug(1, '%f = max(%f, %d)[%f] + %d' % (base_size2, base_size, rootfs_req_size, max(base_size, rootfs_req_size), overhead_factor))
+ bb.debug(1, '%f = max(%f, %d)[%f] + %d' % (base_size2, base_size, rootfs_req_size, max(base_size, rootfs_req_size), rootfs_extra_space))
base_size = base_size2
if base_size != int(base_size):
@@ -666,10 +664,11 @@ reproducible_final_image_task () {
}
systemd_preset_all () {
- systemctl --root="${IMAGE_ROOTFS}" --preset-mode=enable-only preset-all
+ if [ -e ${IMAGE_ROOTFS}${root_prefix}/lib/systemd/systemd ]; then
+ systemctl --root="${IMAGE_ROOTFS}" --preset-mode=enable-only preset-all
+ fi
}
-IMAGE_EXTRADEPENDS += "${@ 'systemd-systemctl-native' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''}"
IMAGE_PREPROCESS_COMMAND_append = " ${@ 'systemd_preset_all;' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''} reproducible_final_image_task; "
CVE_PRODUCT = ""
diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass
index fd98a7d1b..2eeffbb36 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 = "gzip -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 --rsyncable ${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"
@@ -324,7 +324,7 @@ RUNNABLE_MACHINE_PATTERNS ?= "qemu"
DEPLOYABLE_IMAGE_TYPES ?= "hddimg iso"
# The IMAGE_TYPES_MASKED variable will be used to mask out from the IMAGE_FSTYPES,
-# images that will not be built at do_rootfs time: vmdk, vdi, qcow2, hdddirect, hddimg, iso, etc.
+# images that will not be built at do_rootfs time: vmdk, vdi, qcow2, hddimg, iso, etc.
IMAGE_TYPES_MASKED ?= ""
# bmap requires python3 to be in the PATH
diff --git a/poky/meta/classes/image_types_wic.bbclass b/poky/meta/classes/image_types_wic.bbclass
index 5b40a9e91..f350dc272 100644
--- a/poky/meta/classes/image_types_wic.bbclass
+++ b/poky/meta/classes/image_types_wic.bbclass
@@ -3,7 +3,10 @@
WICVARS ?= "\
BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_BOOT_FILES \
IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \
- ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS"
+ ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS \
+ KERNEL_IMAGETYPE MACHINE INITRAMFS_IMAGE INITRAMFS_IMAGE_BUNDLE INITRAMFS_LINK_NAME"
+
+inherit ${@bb.utils.contains('INITRAMFS_IMAGE_BUNDLE', '1', 'kernel-artifact-names', '', d)}
WKS_FILE ??= "${IMAGE_BASENAME}.${MACHINE}.wks"
WKS_FILES ?= "${WKS_FILE} ${IMAGE_BASENAME}.wks"
@@ -44,7 +47,8 @@ do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r
# We ensure all artfacts are deployed (e.g virtual/bootloader)
do_image_wic[recrdeptask] += "do_deploy"
-WKS_FILE_DEPENDS_DEFAULT = "syslinux-native bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native"
+WKS_FILE_DEPENDS_DEFAULT = '${@bb.utils.contains_any("BUILD_ARCH", [ 'x86_64', 'i686' ], "syslinux-native", "",d)}'
+WKS_FILE_DEPENDS_DEFAULT += "bmap-tools-native cdrtools-native btrfs-tools-native squashfs-tools-native e2fsprogs-native"
WKS_FILE_DEPENDS_BOOTLOADERS = ""
WKS_FILE_DEPENDS_BOOTLOADERS_x86 = "syslinux grub-efi systemd-boot"
WKS_FILE_DEPENDS_BOOTLOADERS_x86-64 = "syslinux grub-efi systemd-boot"
@@ -73,6 +77,11 @@ python do_write_wks_template () {
wks_file = d.getVar('WKS_FULL_PATH')
with open(wks_file, 'w') as f:
f.write(template_body)
+ f.close()
+ # Copy the finalized wks file to the deploy directory for later use
+ depdir = d.getVar('IMGDEPLOYDIR')
+ basename = d.getVar('IMAGE_BASENAME')
+ bb.utils.copyfile(wks_file, "%s/%s" % (depdir, basename + '-' + os.path.basename(wks_file)))
}
python () {
@@ -101,7 +110,7 @@ python () {
# file in process_wks_template as well, so just put it in
# a variable and let the metadata deal with the deps.
d.setVar('_WKS_TEMPLATE', body)
- bb.build.addtask('do_write_wks_template', 'do_image_wic', None, d)
+ bb.build.addtask('do_write_wks_template', 'do_image_wic', 'do_image', d)
bb.build.addtask('do_image_wic', 'do_image_complete', None, d)
}
@@ -123,6 +132,10 @@ python do_rootfs_wicenv () {
value = d.getVar(var)
if value:
envf.write('%s="%s"\n' % (var, value.strip()))
+ envf.close()
+ # Copy .env file to deploy directory for later use with stand alone wic
+ depdir = d.getVar('IMGDEPLOYDIR')
+ bb.utils.copyfile(os.path.join(outdir, basename) + '.env', os.path.join(depdir, basename) + '.env')
}
addtask do_rootfs_wicenv after do_image before do_image_wic
do_rootfs_wicenv[vardeps] += "${WICVARS}"
diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass
index 0695a0443..9b886d138 100644
--- a/poky/meta/classes/insane.bbclass
+++ b/poky/meta/classes/insane.bbclass
@@ -722,25 +722,7 @@ def package_qa_check_rdepends(pkg, pkgdest, skip, taskdeps, packages, d):
filerdepends[subkey] = key[13:]
if filerdepends:
- next = rdepends
done = rdepends[:]
- # Find all the rdepends on the dependency chain
- while next:
- new = []
- for rdep in next:
- rdep_data = oe.packagedata.read_subpkgdata(rdep, d)
- sub_rdeps = rdep_data.get("RDEPENDS_" + rdep)
- if not sub_rdeps:
- continue
- for sub_rdep in bb.utils.explode_deps(sub_rdeps):
- if sub_rdep in done:
- continue
- if oe.packagedata.has_subpkgdata(sub_rdep, d):
- # It's a new rdep
- done.append(sub_rdep)
- new.append(sub_rdep)
- next = new
-
# Add the rprovides of itself
if pkg not in done:
done.insert(0, pkg)
@@ -874,15 +856,14 @@ def package_qa_check_host_user(path, name, d, elf, messages):
if exc.errno != errno.ENOENT:
raise
else:
- rootfs_path = path[len(dest):]
check_uid = int(d.getVar('HOST_USER_UID'))
if stat.st_uid == check_uid:
- package_qa_add_message(messages, "host-user-contaminated", "%s: %s is owned by uid %d, which is the same as the user running bitbake. This may be due to host contamination" % (pn, rootfs_path, check_uid))
+ package_qa_add_message(messages, "host-user-contaminated", "%s: %s is owned by uid %d, which is the same as the user running bitbake. This may be due to host contamination" % (pn, package_qa_clean_path(path, d, name), check_uid))
return False
check_gid = int(d.getVar('HOST_USER_GID'))
if stat.st_gid == check_gid:
- package_qa_add_message(messages, "host-user-contaminated", "%s: %s is owned by gid %d, which is the same as the user running bitbake. This may be due to host contamination" % (pn, rootfs_path, check_gid))
+ package_qa_add_message(messages, "host-user-contaminated", "%s: %s is owned by gid %d, which is the same as the user running bitbake. This may be due to host contamination" % (pn, package_qa_clean_path(path, d, name), check_gid))
return False
return True
@@ -1238,6 +1219,11 @@ python () {
if prog.search(pn):
package_qa_handle_error("uppercase-pn", 'PN: %s is upper case, this can result in unexpected behavior.' % pn, d)
+ # Some people mistakenly use DEPENDS_${PN} instead of DEPENDS and wonder
+ # why it doesn't work.
+ if (d.getVar(d.expand('DEPENDS_${PN}'))):
+ package_qa_handle_error("pkgvarcheck", "recipe uses DEPENDS_${PN}, should use DEPENDS", d)
+
issues = []
if (d.getVar('PACKAGES') or "").split():
for dep in (d.getVar('QADEPENDS') or "").split():
diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass
index b51882dce..1bcb09c59 100644
--- a/poky/meta/classes/kernel-fitimage.bbclass
+++ b/poky/meta/classes/kernel-fitimage.bbclass
@@ -207,7 +207,6 @@ EOF
fitimage_emit_section_ramdisk() {
ramdisk_csum="${FIT_HASH_ALG}"
- ramdisk_ctype="none"
ramdisk_loadline=""
ramdisk_entryline=""
@@ -218,24 +217,6 @@ fitimage_emit_section_ramdisk() {
ramdisk_entryline="entry = <${UBOOT_RD_ENTRYPOINT}>;"
fi
- case $3 in
- *.gz)
- ramdisk_ctype="gzip"
- ;;
- *.bz2)
- ramdisk_ctype="bzip2"
- ;;
- *.lzma)
- ramdisk_ctype="lzma"
- ;;
- *.lzo)
- ramdisk_ctype="lzo"
- ;;
- *.lz4)
- ramdisk_ctype="lz4"
- ;;
- esac
-
cat << EOF >> ${1}
ramdisk@${2} {
description = "${INITRAMFS_IMAGE}";
@@ -243,7 +224,7 @@ fitimage_emit_section_ramdisk() {
type = "ramdisk";
arch = "${UBOOT_ARCH}";
os = "linux";
- compression = "${ramdisk_ctype}";
+ compression = "none";
${ramdisk_loadline}
${ramdisk_entryline}
hash@1 {
diff --git a/poky/meta/classes/kernel-uboot.bbclass b/poky/meta/classes/kernel-uboot.bbclass
index 0457c5d1d..87f02654f 100644
--- a/poky/meta/classes/kernel-uboot.bbclass
+++ b/poky/meta/classes/kernel-uboot.bbclass
@@ -3,10 +3,6 @@ uboot_prep_kimage() {
vmlinux_path="arch/${ARCH}/boot/compressed/vmlinux"
linux_suffix=""
linux_comp="none"
- elif [ -e arch/${ARCH}/boot/Image ] ; then
- vmlinux_path="vmlinux"
- 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 a60e15b57..ebcb79a52 100644
--- a/poky/meta/classes/kernel.bbclass
+++ b/poky/meta/classes/kernel.bbclass
@@ -96,8 +96,10 @@ python __anonymous () {
d.setVar('ALLOW_EMPTY_%s-image-%s' % (kname, typelower), '1')
image = d.getVar('INITRAMFS_IMAGE')
- image_bundle = d.getVar('INITRAMFS_IMAGE_BUNDLE')
- if image and bb.utils.to_boolean(image_bundle, False):
+ # If the INTIRAMFS_IMAGE is set but the INITRAMFS_IMAGE_BUNDLE is set to 0,
+ # the do_bundle_initramfs does nothing, but the INITRAMFS_IMAGE is built
+ # standalone for use by wic and other tools.
+ if image:
d.appendVarFlag('do_bundle_initramfs', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
# NOTE: setting INITRAMFS_TASK is for backward compatibility
@@ -454,7 +456,7 @@ do_shared_workdir () {
cp .config $kerneldir/
mkdir -p $kerneldir/include/config
cp include/config/kernel.release $kerneldir/include/config/kernel.release
- if [ -e certs/signing_key.pem ]; then
+ if [ -e certs/signing_key.x509 ]; then
# The signing_key.* files are stored in the certs/ dir in
# newer Linux kernels
mkdir -p $kerneldir/certs
diff --git a/poky/meta/classes/libc-package.bbclass b/poky/meta/classes/libc-package.bbclass
index 8859dad56..a66e54088 100644
--- a/poky/meta/classes/libc-package.bbclass
+++ b/poky/meta/classes/libc-package.bbclass
@@ -82,6 +82,9 @@ do_collect_bins_from_locale_tree() {
parent=$(dirname ${localedir})
mkdir -p ${PKGD}/$parent
tar -cf - -C $treedir/$parent -p $(basename ${localedir}) | tar -xf - -C ${PKGD}$parent
+
+ # Finalize tree by chaning all duplicate files into hard links
+ cross-localedef-hardlink -c -v ${WORKDIR}/locale-tree
}
inherit qemu
@@ -265,7 +268,7 @@ python package_do_split_gconvs () {
bb.error("locale_arch_options not found for target_arch=" + target_arch)
bb.fatal("unknown arch:" + target_arch + " for locale_arch_options")
- localedef_opts += " --force --no-archive --prefix=%s \
+ localedef_opts += " --force --no-hard-links --no-archive --prefix=%s \
--inputfile=%s/%s/i18n/locales/%s --charmap=%s %s/%s" \
% (treedir, treedir, datadir, locale, encoding, outputpath, name)
@@ -273,7 +276,7 @@ python package_do_split_gconvs () {
(path, i18npath, gconvpath, localedef_opts)
else: # earlier slower qemu way
qemu = qemu_target_binary(d)
- localedef_opts = "--force --no-archive --prefix=%s \
+ localedef_opts = "--force --no-hard-links --no-archive --prefix=%s \
--inputfile=%s/i18n/locales/%s --charmap=%s %s" \
% (treedir, datadir, locale, encoding, name)
diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass
index 2cfda81c9..3f102d0fb 100644
--- a/poky/meta/classes/license_image.bbclass
+++ b/poky/meta/classes/license_image.bbclass
@@ -198,10 +198,6 @@ def get_deployed_dependencies(d):
deploy = {}
# Get all the dependencies for the current task (rootfs).
- # Also get EXTRA_IMAGEDEPENDS because the bootloader is
- # usually in this var and not listed in rootfs.
- # At last, get the dependencies from boot classes because
- # it might contain the bootloader.
taskdata = d.getVar("BB_TASKDEPDATA", False)
depends = list(set([dep[0] for dep
in list(taskdata.values())
diff --git a/poky/meta/classes/linuxloader.bbclass b/poky/meta/classes/linuxloader.bbclass
index b4c413494..c0fbf2683 100644
--- a/poky/meta/classes/linuxloader.bbclass
+++ b/poky/meta/classes/linuxloader.bbclass
@@ -19,6 +19,8 @@ def get_musl_loader(d):
dynamic_loader = "${base_libdir}/ld-musl-arm${ARMPKGSFX_ENDIAN}${ARMPKGSFX_EABI}.so.1"
elif targetarch.startswith("aarch64"):
dynamic_loader = "${base_libdir}/ld-musl-aarch64${ARMPKGSFX_ENDIAN_64}.so.1"
+ elif targetarch.startswith("riscv64"):
+ dynamic_loader = "${base_libdir}/ld-musl-riscv64${@['', '-sf'][d.getVar('TARGET_FPU') == 'soft']}.so.1"
return dynamic_loader
def get_glibc_loader(d):
@@ -42,6 +44,8 @@ def get_glibc_loader(d):
dynamic_loader = "${base_libdir}/ld-linux.so.3"
elif targetarch.startswith("aarch64"):
dynamic_loader = "${base_libdir}/ld-linux-aarch64${ARMPKGSFX_ENDIAN_64}.so.1"
+ elif targetarch.startswith("riscv64"):
+ dynamic_loader = "${base_libdir}/ld-linux-riscv64-lp64${@['d', ''][d.getVar('TARGET_FPU') == 'soft']}.so.1"
return dynamic_loader
def get_linuxloader(d):
diff --git a/poky/meta/classes/live-vm-common.bbclass b/poky/meta/classes/live-vm-common.bbclass
index 68105d9b8..74e7074a5 100644
--- a/poky/meta/classes/live-vm-common.bbclass
+++ b/poky/meta/classes/live-vm-common.bbclass
@@ -29,6 +29,39 @@ def pcbios(d):
PCBIOS = "${@pcbios(d)}"
PCBIOS_CLASS = "${@['','syslinux'][d.getVar('PCBIOS') == '1']}"
+# efi_populate_common DEST BOOTLOADER
+efi_populate_common() {
+ # DEST must be the root of the image so that EFIDIR is not
+ # nested under a top level directory.
+ DEST=$1
+
+ install -d ${DEST}${EFIDIR}
+
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/$2-${EFI_BOOT_IMAGE} ${DEST}${EFIDIR}/${EFI_BOOT_IMAGE}
+ EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
+ printf 'fs0:%s\%s\n' "$EFIPATH" "${EFI_BOOT_IMAGE}" >${DEST}/startup.nsh
+}
+
+efi_iso_populate() {
+ iso_dir=$1
+ efi_populate $iso_dir
+ # Build a EFI directory to create efi.img
+ mkdir -p ${EFIIMGDIR}/${EFIDIR}
+ cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
+ cp $iso_dir/${KERNEL_IMAGETYPE} ${EFIIMGDIR}
+
+ EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
+ printf 'fs0:%s\%s\n' "$EFIPATH" "${EFI_BOOT_IMAGE}" >${EFIIMGDIR}/startup.nsh
+
+ if [ -f "$iso_dir/initrd" ] ; then
+ cp $iso_dir/initrd ${EFIIMGDIR}
+ fi
+}
+
+efi_hddimg_populate() {
+ efi_populate $1
+}
+
inherit ${EFI_CLASS}
inherit ${PCBIOS_CLASS}
diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass
index 0edbfc181..efa623407 100644
--- a/poky/meta/classes/meson.bbclass
+++ b/poky/meta/classes/meson.bbclass
@@ -24,16 +24,7 @@ MESONOPTS = " --prefix ${prefix} \
--infodir ${@noprefix('infodir', d)} \
--sysconfdir ${sysconfdir} \
--localstatedir ${localstatedir} \
- --sharedstatedir ${sharedstatedir} \
- -Dc_args='${BUILD_CPPFLAGS} ${BUILD_CFLAGS}' \
- -Dc_link_args='${BUILD_LDFLAGS}' \
- -Dcpp_args='${BUILD_CPPFLAGS} ${BUILD_CXXFLAGS}' \
- -Dcpp_link_args='${BUILD_LDFLAGS}'"
-
-MESON_TOOLCHAIN_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
-MESON_C_ARGS = "${MESON_TOOLCHAIN_ARGS} ${CFLAGS}"
-MESON_CPP_ARGS = "${MESON_TOOLCHAIN_ARGS} ${CXXFLAGS}"
-MESON_LINK_ARGS = "${MESON_TOOLCHAIN_ARGS} ${LDFLAGS}"
+ --sharedstatedir ${sharedstatedir} "
EXTRA_OEMESON_append = " ${PACKAGECONFIG_CONFARGS}"
@@ -64,6 +55,8 @@ def meson_cpu_family(var, d):
return 'mips64'
elif re.match(r"i[3-6]86", arch):
return "x86"
+ elif arch == "microblazeel" or arch == "microblazeeb":
+ return "microblaze"
else:
return arch
@@ -78,7 +71,7 @@ def meson_endian(prefix, d):
bb.fatal("Cannot determine endianism for %s-%s" % (arch, os))
addtask write_config before do_configure
-do_write_config[vardeps] += "MESON_C_ARGS MESON_CPP_ARGS MESON_LINK_ARGS CC CXX LD AR NM STRIP READELF"
+do_write_config[vardeps] += "CC CXX LD AR NM STRIP READELF CFLAGS CXXFLAGS LDFLAGS"
do_write_config() {
# This needs to be Py to split the args into single-element lists
cat >${WORKDIR}/meson.cross <<EOF
@@ -91,14 +84,14 @@ ld = ${@meson_array('LD', d)}
strip = ${@meson_array('STRIP', d)}
readelf = ${@meson_array('READELF', d)}
pkgconfig = 'pkg-config'
-llvm-config = 'llvm-config8.0.0'
+llvm-config = 'llvm-config${LLVMVERSION}'
[properties]
needs_exe_wrapper = true
-c_args = ${@meson_array('MESON_C_ARGS', d)}
-c_link_args = ${@meson_array('MESON_LINK_ARGS', d)}
-cpp_args = ${@meson_array('MESON_CPP_ARGS', d)}
-cpp_link_args = ${@meson_array('MESON_LINK_ARGS', d)}
+c_args = ${@meson_array('CFLAGS', d)}
+c_link_args = ${@meson_array('LDFLAGS', d)}
+cpp_args = ${@meson_array('CXXFLAGS', d)}
+cpp_link_args = ${@meson_array('LDFLAGS', d)}
gtkdoc_exe_wrapper = '${B}/gtkdoc-qemuwrapper'
[host_machine]
@@ -135,6 +128,7 @@ override_native_tools() {
export CXX="${BUILD_CXX}"
export LD="${BUILD_LD}"
export AR="${BUILD_AR}"
+ export STRIP="${BUILD_STRIP}"
# These contain *target* flags but will be used as *native* flags. The
# correct native flags will be passed via -Dc_args and so on, unset them so
# they don't interfere with tools invoked by Meson (such as g-ir-scanner)
diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass
index 7750221f7..1a9295d36 100644
--- a/poky/meta/classes/multilib.bbclass
+++ b/poky/meta/classes/multilib.bbclass
@@ -125,8 +125,55 @@ python __anonymous () {
clsextend.map_variable("USERADD_PACKAGES")
clsextend.map_variable("SYSTEMD_PACKAGES")
clsextend.map_variable("UPDATERCPN")
+
+ reset_alternative_priority(d)
}
+def reset_alternative_priority(d):
+ if not bb.data.inherits_class('update-alternatives', d):
+ return
+
+ # There might be multiple multilibs at the same time, e.g., lib32 and
+ # lib64, each of them should have a different priority.
+ multilib_variants = d.getVar('MULTILIB_VARIANTS')
+ bbextendvariant = d.getVar('BBEXTENDVARIANT')
+ reset_gap = multilib_variants.split().index(bbextendvariant) + 1
+
+ # ALTERNATIVE_PRIORITY = priority
+ alt_priority_recipe = d.getVar('ALTERNATIVE_PRIORITY')
+ # Reset ALTERNATIVE_PRIORITY when found
+ if alt_priority_recipe:
+ reset_priority = int(alt_priority_recipe) - reset_gap
+ bb.debug(1, '%s: Setting ALTERNATIVE_PRIORITY to %s' % (d.getVar('PN'), reset_priority))
+ d.setVar('ALTERNATIVE_PRIORITY', reset_priority)
+
+ handled_pkgs = []
+ for pkg in (d.getVar('PACKAGES') or "").split():
+ # ALTERNATIVE_PRIORITY_pkg = priority
+ alt_priority_pkg = d.getVar('ALTERNATIVE_PRIORITY_%s' % pkg)
+ # Reset ALTERNATIVE_PRIORITY_pkg when found
+ if alt_priority_pkg:
+ reset_priority = int(alt_priority_pkg) - reset_gap
+ if not pkg in handled_pkgs:
+ handled_pkgs.append(pkg)
+ bb.debug(1, '%s: Setting ALTERNATIVE_PRIORITY_%s to %s' % (pkg, pkg, reset_priority))
+ d.setVar('ALTERNATIVE_PRIORITY_%s' % pkg, reset_priority)
+
+ for alt_name in (d.getVar('ALTERNATIVE_%s' % pkg) or "").split():
+ # ALTERNATIVE_PRIORITY_pkg[tool] = priority
+ alt_priority_pkg_name = d.getVarFlag('ALTERNATIVE_PRIORITY_%s' % pkg, alt_name)
+ # ALTERNATIVE_PRIORITY[tool] = priority
+ alt_priority_name = d.getVarFlag('ALTERNATIVE_PRIORITY', alt_name)
+
+ if alt_priority_pkg_name:
+ reset_priority = int(alt_priority_pkg_name) - reset_gap
+ bb.debug(1, '%s: Setting ALTERNATIVE_PRIORITY_%s[%s] to %s' % (pkg, pkg, alt_name, reset_priority))
+ d.setVarFlag('ALTERNATIVE_PRIORITY_%s' % pkg, alt_name, reset_priority)
+ elif alt_priority_name:
+ reset_priority = int(alt_priority_name) - reset_gap
+ bb.debug(1, '%s: Setting ALTERNATIVE_PRIORITY[%s] to %s' % (pkg, alt_name, reset_priority))
+ d.setVarFlag('ALTERNATIVE_PRIORITY', alt_name, reset_priority)
+
PACKAGEFUNCS_append = " do_package_qa_multilib"
python do_package_qa_multilib() {
@@ -140,7 +187,7 @@ python do_package_qa_multilib() {
if (not i.startswith('kernel-module')) and (not i.startswith(mlprefix)) and \
(not 'cross-canadian' in i) and (not i.startswith("nativesdk-")) and \
(not i.startswith("rtld")) and (not i.startswith('kernel-vmlinux')) \
- and (not i.startswith("kernel-image")):
+ and (not i.startswith("kernel-image")) and (not i.startswith("/")):
candidates.append(i)
if len(candidates) > 0:
msg = "%s package %s - suspicious values '%s' in %s" \
diff --git a/poky/meta/classes/multilib_global.bbclass b/poky/meta/classes/multilib_global.bbclass
index 19ce1a509..98f65c8aa 100644
--- a/poky/meta/classes/multilib_global.bbclass
+++ b/poky/meta/classes/multilib_global.bbclass
@@ -172,21 +172,27 @@ python multilib_virtclass_handler_global () {
if bb.data.inherits_class('kernel', e.data) or \
bb.data.inherits_class('module-base', e.data) or \
d.getVar('BPN') in non_ml_recipes:
+
+ # We need to avoid expanding KERNEL_VERSION which we can do by deleting it
+ # from a copy of the datastore
+ localdata = bb.data.createCopy(d)
+ localdata.delVar("KERNEL_VERSION")
+
variants = (e.data.getVar("MULTILIB_VARIANTS") or "").split()
import oe.classextend
clsextends = []
for variant in variants:
- clsextends.append(oe.classextend.ClassExtender(variant, e.data))
+ clsextends.append(oe.classextend.ClassExtender(variant, localdata))
# Process PROVIDES
- origprovs = provs = e.data.getVar("PROVIDES") or ""
+ origprovs = provs = localdata.getVar("PROVIDES") or ""
for clsextend in clsextends:
provs = provs + " " + clsextend.map_variable("PROVIDES", setvar=False)
e.data.setVar("PROVIDES", provs)
# Process RPROVIDES
- origrprovs = rprovs = e.data.getVar("RPROVIDES") or ""
+ origrprovs = rprovs = localdata.getVar("RPROVIDES") or ""
for clsextend in clsextends:
rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES", setvar=False)
if rprovs.strip():
@@ -194,7 +200,7 @@ python multilib_virtclass_handler_global () {
# Process RPROVIDES_${PN}...
for pkg in (e.data.getVar("PACKAGES") or "").split():
- origrprovs = rprovs = e.data.getVar("RPROVIDES_%s" % pkg) or ""
+ origrprovs = rprovs = localdata.getVar("RPROVIDES_%s" % pkg) or ""
for clsextend in clsextends:
rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES_%s" % pkg, setvar=False)
rprovs = rprovs + " " + clsextend.extname + "-" + pkg
@@ -202,5 +208,4 @@ python multilib_virtclass_handler_global () {
}
addhandler multilib_virtclass_handler_global
-multilib_virtclass_handler_global[eventmask] = "bb.event.RecipeParsed"
-
+multilib_virtclass_handler_global[eventmask] = "bb.event.RecipeTaskPreProcess"
diff --git a/poky/meta/classes/multilib_script.bbclass b/poky/meta/classes/multilib_script.bbclass
index dc166d06c..b11efc1ec 100644
--- a/poky/meta/classes/multilib_script.bbclass
+++ b/poky/meta/classes/multilib_script.bbclass
@@ -17,18 +17,18 @@ multilibscript_rename() {
python () {
# Do nothing if multilib isn't being used
if not d.getVar("MULTILIB_VARIANTS"):
- return
+ return
# Do nothing for native/cross
if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d):
- return
+ return
for entry in (d.getVar("MULTILIB_SCRIPTS", False) or "").split():
- pkg, script = entry.split(":")
- epkg = d.expand(pkg)
- scriptname = os.path.basename(script)
- d.appendVar("ALTERNATIVE_" + epkg, " " + scriptname + " ")
- d.setVarFlag("ALTERNATIVE_LINK_NAME", scriptname, script)
- d.setVarFlag("ALTERNATIVE_TARGET", scriptname, script + "-${MULTILIB_SUFFIX}")
- d.appendVar("multilibscript_rename", "\n mv ${PKGD}" + script + " ${PKGD}" + script + "-${MULTILIB_SUFFIX}")
- d.appendVar("FILES_" + epkg, " " + script + "-${MULTILIB_SUFFIX}")
+ pkg, script = entry.split(":")
+ epkg = d.expand(pkg)
+ scriptname = os.path.basename(script)
+ d.appendVar("ALTERNATIVE_" + epkg, " " + scriptname + " ")
+ d.setVarFlag("ALTERNATIVE_LINK_NAME", scriptname, script)
+ d.setVarFlag("ALTERNATIVE_TARGET", scriptname, script + "-${MULTILIB_SUFFIX}")
+ d.appendVar("multilibscript_rename", "\n mv ${PKGD}" + script + " ${PKGD}" + script + "-${MULTILIB_SUFFIX}")
+ d.appendVar("FILES_" + epkg, " " + script + "-${MULTILIB_SUFFIX}")
}
diff --git a/poky/meta/classes/nativesdk.bbclass b/poky/meta/classes/nativesdk.bbclass
index f25b0c31b..03135aced 100644
--- a/poky/meta/classes/nativesdk.bbclass
+++ b/poky/meta/classes/nativesdk.bbclass
@@ -100,6 +100,8 @@ python () {
clsextend.map_packagevars()
clsextend.map_variable("PROVIDES")
clsextend.map_regexp_variable("PACKAGES_DYNAMIC")
+ d.setVar("LIBCEXTENSION", "")
+ d.setVar("ABIEXTENSION", "")
}
addhandler nativesdk_virtclass_handler
diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass
index 20d72bba7..d8bef3afb 100644
--- a/poky/meta/classes/package.bbclass
+++ b/poky/meta/classes/package.bbclass
@@ -40,6 +40,7 @@
inherit packagedata
inherit chrpath
+inherit package_pkgdata
# Need the package_qa_handle_error() in insane.bbclass
inherit insane
@@ -1216,7 +1217,8 @@ python populate_packages () {
src = os.path.join(src, p)
dest = os.path.join(dest, p)
fstat = cpath.stat(src)
- os.mkdir(dest, fstat.st_mode)
+ os.mkdir(dest)
+ os.chmod(dest, fstat.st_mode)
os.chown(dest, fstat.st_uid, fstat.st_gid)
if p not in seen:
seen.append(p)
@@ -1356,12 +1358,16 @@ python emit_pkgdata() {
import json
def process_postinst_on_target(pkg, mlprefix):
+ pkgval = d.getVar('PKG_%s' % pkg)
+ if pkgval is None:
+ pkgval = pkg
+
defer_fragment = """
if [ -n "$D" ]; then
$INTERCEPT_DIR/postinst_intercept delay_to_first_boot %s mlprefix=%s
exit 0
fi
-""" % (pkg, mlprefix)
+""" % (pkgval, mlprefix)
postinst = d.getVar('pkg_postinst_%s' % pkg)
postinst_ontarget = d.getVar('pkg_postinst_ontarget_%s' % pkg)
@@ -1570,10 +1576,11 @@ python package_do_filedeps() {
d.setVar("FILERPROVIDESFLIST_" + pkg, " ".join(provides_files[pkg]))
}
-SHLIBSDIRS = "${PKGDATA_DIR}/${MLPREFIX}shlibs2"
+SHLIBSDIRS = "${WORKDIR_PKGDATA}/${MLPREFIX}shlibs2"
SHLIBSWORKDIR = "${PKGDESTWORK}/${MLPREFIX}shlibs2"
python package_do_shlibs() {
+ import itertools
import re, pipes
import subprocess
@@ -1640,7 +1647,8 @@ python package_do_shlibs() {
prov = (this_soname, ldir, pkgver)
if not prov in sonames:
# if library is private (only used by package) then do not build shlib for it
- if not private_libs or this_soname not in private_libs:
+ import fnmatch
+ if not private_libs or len([i for i in private_libs if fnmatch.fnmatch(this_soname, i)]) == 0:
sonames.add(prov)
if libdir_re.match(os.path.dirname(file)):
needs_ldconfig = True
@@ -1728,10 +1736,7 @@ python package_do_shlibs() {
needed = {}
- # Take shared lock since we're only reading, not writing
- lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}"), True)
shlib_provider = oe.package.read_shlib_providers(d)
- bb.utils.unlockfile(lf)
for pkg in shlib_pkgs:
private_libs = d.getVar('PRIVATE_LIBS_' + pkg) or d.getVar('PRIVATE_LIBS') or ""
@@ -1826,20 +1831,21 @@ python package_do_shlibs() {
# /opt/abc/lib/libfoo.so.1 and contains /usr/bin/abc depending on system library libfoo.so.1
# but skipping it is still better alternative than providing own
# version and then adding runtime dependency for the same system library
- if private_libs and n[0] in private_libs:
+ import fnmatch
+ if private_libs and len([i for i in private_libs if fnmatch.fnmatch(n[0], i)]) > 0:
bb.debug(2, '%s: Dependency %s covered by PRIVATE_LIBS' % (pkg, n[0]))
continue
if n[0] in shlib_provider.keys():
- shlib_provider_path = []
- for k in shlib_provider[n[0]].keys():
- shlib_provider_path.append(k)
- match = None
- for p in list(n[2]) + shlib_provider_path + libsearchpath:
- if p in shlib_provider[n[0]]:
- match = p
- break
- if match:
- (dep_pkg, ver_needed) = shlib_provider[n[0]][match]
+ shlib_provider_map = shlib_provider[n[0]]
+ matches = set()
+ for p in itertools.chain(list(n[2]), sorted(shlib_provider_map.keys()), libsearchpath):
+ if p in shlib_provider_map:
+ matches.add(p)
+ if len(matches) > 1:
+ matchpkgs = ', '.join([shlib_provider_map[match][0] for match in matches])
+ bb.error("%s: Multiple shlib providers for %s: %s (used by files: %s)" % (pkg, n[0], matchpkgs, n[1]))
+ elif len(matches) == 1:
+ (dep_pkg, ver_needed) = shlib_provider_map[matches.pop()]
bb.debug(2, '%s: Dependency %s requires package %s (used by files: %s)' % (pkg, n[0], dep_pkg, n[1]))
@@ -1917,14 +1923,11 @@ python package_do_pkgconfig () {
f.write('%s\n' % p)
f.close()
- # Take shared lock since we're only reading, not writing
- lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}"), True)
-
# Go from least to most specific since the last one found wins
for dir in reversed(shlibs_dirs):
if not os.path.exists(dir):
continue
- for file in os.listdir(dir):
+ for file in sorted(os.listdir(dir)):
m = re.match(r'^(.*)\.pclist$', file)
if m:
pkg = m.group(1)
@@ -1935,8 +1938,6 @@ python package_do_pkgconfig () {
for l in lines:
pkgconfig_provided[pkg].append(l.rstrip())
- bb.utils.unlockfile(lf)
-
for pkg in packages.split():
deps = []
for n in pkgconfig_needed[pkg]:
@@ -2133,6 +2134,7 @@ def gen_packagevar(d):
PACKAGE_PREPROCESS_FUNCS ?= ""
# Functions for setting up PKGD
PACKAGEBUILDPKGD ?= " \
+ package_prepare_pkgdata \
perform_packagecopy \
${PACKAGE_PREPROCESS_FUNCS} \
split_and_strip_files \
@@ -2253,19 +2255,19 @@ python do_package_setscene () {
}
addtask do_package_setscene
-do_packagedata () {
- :
+# Copy from PKGDESTWORK to tempdirectory as tempdirectory can be cleaned at both
+# do_package_setscene and do_packagedata_setscene leading to races
+python do_packagedata () {
+ src = d.expand("${PKGDESTWORK}")
+ dest = d.expand("${WORKDIR}/pkgdata-pdata-input")
+ oe.path.copyhardlinktree(src, dest)
}
addtask packagedata before do_build after do_package
SSTATETASKS += "do_packagedata"
-# PACKAGELOCK protects readers of PKGDATA_DIR against writes
-# whilst code is reading in do_package
-PACKAGELOCK = "${STAGING_DIR}/package-output.lock"
-do_packagedata[sstate-inputdirs] = "${PKGDESTWORK}"
+do_packagedata[sstate-inputdirs] = "${WORKDIR}/pkgdata-pdata-input"
do_packagedata[sstate-outputdirs] = "${PKGDATA_DIR}"
-do_packagedata[sstate-lockfile] = "${PACKAGELOCK}"
do_packagedata[stamp-extra-info] = "${MACHINE_ARCH}"
python do_packagedata_setscene () {
diff --git a/poky/meta/classes/package_deb.bbclass b/poky/meta/classes/package_deb.bbclass
index 6f8159165..790b26aef 100644
--- a/poky/meta/classes/package_deb.bbclass
+++ b/poky/meta/classes/package_deb.bbclass
@@ -6,6 +6,8 @@ inherit package
IMAGE_PKGTYPE ?= "deb"
+DPKG_BUILDCMD ??= "dpkg-deb"
+
DPKG_ARCH ?= "${@debian_arch_map(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'))}"
DPKG_ARCH[vardepvalue] = "${DPKG_ARCH}"
@@ -269,7 +271,8 @@ def deb_write_pkg(pkg, d):
conffiles.close()
os.chdir(basedir)
- subprocess.check_output("PATH=\"%s\" dpkg-deb -b %s %s" % (localdata.getVar("PATH"), root, pkgoutdir),
+ subprocess.check_output("PATH=\"%s\" %s -b %s %s" % (localdata.getVar("PATH"), localdata.getVar("DPKG_BUILDCMD"),
+ root, pkgoutdir),
stderr=subprocess.STDOUT,
shell=True)
diff --git a/poky/meta/classes/package_ipk.bbclass b/poky/meta/classes/package_ipk.bbclass
index d1b317b42..9f9da2f91 100644
--- a/poky/meta/classes/package_ipk.bbclass
+++ b/poky/meta/classes/package_ipk.bbclass
@@ -14,7 +14,7 @@ OPKG_ARGS += "--force_postinstall --prefer-arch-to-version"
OPKG_ARGS += "${@['', '--no-install-recommends'][d.getVar("NO_RECOMMENDATIONS") == "1"]}"
OPKG_ARGS += "${@['', '--add-exclude ' + ' --add-exclude '.join((d.getVar('PACKAGE_EXCLUDE') or "").split())][(d.getVar("PACKAGE_EXCLUDE") or "").strip() != ""]}"
-OPKGLIBDIR = "${localstatedir}/lib"
+OPKGLIBDIR ??= "${localstatedir}/lib"
python do_package_ipk () {
workdir = d.getVar('WORKDIR')
diff --git a/poky/meta/classes/package_pkgdata.bbclass b/poky/meta/classes/package_pkgdata.bbclass
new file mode 100644
index 000000000..18b7ed62e
--- /dev/null
+++ b/poky/meta/classes/package_pkgdata.bbclass
@@ -0,0 +1,167 @@
+WORKDIR_PKGDATA = "${WORKDIR}/pkgdata-sysroot"
+
+def package_populate_pkgdata_dir(pkgdatadir, d):
+ import glob
+
+ postinsts = []
+ seendirs = set()
+ stagingdir = d.getVar("PKGDATA_DIR")
+ pkgarchs = ['${MACHINE_ARCH}']
+ pkgarchs = pkgarchs + list(reversed(d.getVar("PACKAGE_EXTRA_ARCHS").split()))
+ pkgarchs.append('allarch')
+
+ bb.utils.mkdirhier(pkgdatadir)
+ for pkgarch in pkgarchs:
+ for manifest in glob.glob(d.expand("${SSTATE_MANIFESTS}/manifest-%s-*.packagedata" % pkgarch)):
+ with open(manifest, "r") as f:
+ for l in f:
+ l = l.strip()
+ dest = l.replace(stagingdir, "")
+ if l.endswith("/"):
+ staging_copydir(l, pkgdatadir, dest, seendirs)
+ continue
+ try:
+ staging_copyfile(l, pkgdatadir, dest, postinsts, seendirs)
+ except FileExistsError:
+ continue
+
+python package_prepare_pkgdata() {
+ import copy
+ import glob
+
+ taskdepdata = d.getVar("BB_TASKDEPDATA", False)
+ mytaskname = d.getVar("BB_RUNTASK")
+ if mytaskname.endswith("_setscene"):
+ mytaskname = mytaskname.replace("_setscene", "")
+ workdir = d.getVar("WORKDIR")
+ pn = d.getVar("PN")
+ stagingdir = d.getVar("PKGDATA_DIR")
+ pkgdatadir = d.getVar("WORKDIR_PKGDATA")
+
+ # Detect bitbake -b usage
+ nodeps = d.getVar("BB_LIMITEDDEPS") or False
+ if nodeps:
+ staging_package_populate_pkgdata_dir(pkgdatadir, d)
+ return
+
+ start = None
+ configuredeps = []
+ for dep in taskdepdata:
+ data = taskdepdata[dep]
+ if data[1] == mytaskname and data[0] == pn:
+ start = dep
+ break
+ if start is None:
+ bb.fatal("Couldn't find ourself in BB_TASKDEPDATA?")
+
+ # We need to figure out which sysroot files we need to expose to this task.
+ # This needs to match what would get restored from sstate, which is controlled
+ # ultimately by calls from bitbake to setscene_depvalid().
+ # That function expects a setscene dependency tree. We build a dependency tree
+ # condensed to inter-sstate task dependencies, similar to that used by setscene
+ # tasks. We can then call into setscene_depvalid() and decide
+ # which dependencies we can "see" and should expose in the recipe specific sysroot.
+ setscenedeps = copy.deepcopy(taskdepdata)
+
+ start = set([start])
+
+ sstatetasks = d.getVar("SSTATETASKS").split()
+ # Add recipe specific tasks referenced by setscene_depvalid()
+ sstatetasks.append("do_stash_locale")
+
+ # If start is an sstate task (like do_package) we need to add in its direct dependencies
+ # else the code below won't recurse into them.
+ for dep in set(start):
+ for dep2 in setscenedeps[dep][3]:
+ start.add(dep2)
+ start.remove(dep)
+
+ # Create collapsed do_populate_sysroot -> do_populate_sysroot tree
+ for dep in taskdepdata:
+ data = setscenedeps[dep]
+ if data[1] not in sstatetasks:
+ for dep2 in setscenedeps:
+ data2 = setscenedeps[dep2]
+ if dep in data2[3]:
+ data2[3].update(setscenedeps[dep][3])
+ data2[3].remove(dep)
+ if dep in start:
+ start.update(setscenedeps[dep][3])
+ start.remove(dep)
+ del setscenedeps[dep]
+
+ # Remove circular references
+ for dep in setscenedeps:
+ if dep in setscenedeps[dep][3]:
+ setscenedeps[dep][3].remove(dep)
+
+ # Direct dependencies should be present and can be depended upon
+ for dep in set(start):
+ if setscenedeps[dep][1] == "do_packagedata":
+ if dep not in configuredeps:
+ configuredeps.append(dep)
+
+ msgbuf = []
+ # Call into setscene_depvalid for each sub-dependency and only copy sysroot files
+ # for ones that would be restored from sstate.
+ done = list(start)
+ next = list(start)
+ while next:
+ new = []
+ for dep in next:
+ data = setscenedeps[dep]
+ for datadep in data[3]:
+ if datadep in done:
+ continue
+ taskdeps = {}
+ taskdeps[dep] = setscenedeps[dep][:2]
+ taskdeps[datadep] = setscenedeps[datadep][:2]
+ retval = setscene_depvalid(datadep, taskdeps, [], d, msgbuf)
+ done.append(datadep)
+ new.append(datadep)
+ if retval:
+ msgbuf.append("Skipping setscene dependency %s" % datadep)
+ continue
+ if datadep not in configuredeps and setscenedeps[datadep][1] == "do_packagedata":
+ configuredeps.append(datadep)
+ msgbuf.append("Adding dependency on %s" % setscenedeps[datadep][0])
+ else:
+ msgbuf.append("Following dependency on %s" % setscenedeps[datadep][0])
+ next = new
+
+ # This logging is too verbose for day to day use sadly
+ #bb.debug(2, "\n".join(msgbuf))
+
+ seendirs = set()
+ postinsts = []
+ multilibs = {}
+ manifests = {}
+
+ msg_adding = []
+
+ for dep in configuredeps:
+ c = setscenedeps[dep][0]
+ msg_adding.append(c)
+
+ manifest, d2 = oe.sstatesig.find_sstate_manifest(c, setscenedeps[dep][2], "packagedata", d, multilibs)
+ destsysroot = pkgdatadir
+
+ if manifest:
+ targetdir = destsysroot
+ with open(manifest, "r") as f:
+ manifests[dep] = manifest
+ for l in f:
+ l = l.strip()
+ dest = targetdir + l.replace(stagingdir, "")
+ if l.endswith("/"):
+ staging_copydir(l, targetdir, dest, seendirs)
+ continue
+ staging_copyfile(l, targetdir, dest, postinsts, seendirs)
+
+ bb.note("Installed into pkgdata-sysroot: %s" % str(msg_adding))
+
+}
+package_prepare_pkgdata[cleandirs] = "${WORKDIR_PKGDATA}"
+package_prepare_pkgdata[vardepsexclude] += "MACHINE_ARCH PACKAGE_EXTRA_ARCHS SDK_ARCH BUILD_ARCH SDK_OS BB_TASKDEPDATA"
+
+
diff --git a/poky/meta/classes/package_rpm.bbclass b/poky/meta/classes/package_rpm.bbclass
index 1a64cb271..9145717f9 100644
--- a/poky/meta/classes/package_rpm.bbclass
+++ b/poky/meta/classes/package_rpm.bbclass
@@ -36,7 +36,7 @@ def write_rpm_perfiledata(srcname, d):
pkgd = d.getVar('PKGD')
def dump_filerdeps(varname, outfile, d):
- outfile.write("#!/usr/bin/env python\n\n")
+ outfile.write("#!/usr/bin/env python3\n\n")
outfile.write("# Dependency table\n")
outfile.write('deps = {\n')
for pkg in packages.split():
@@ -409,7 +409,6 @@ python write_specfile () {
if not file_list and localdata.getVar('ALLOW_EMPTY', False) != "1":
bb.note("Not creating empty RPM package for %s" % splitname)
else:
- bb.note("Creating RPM package for %s" % splitname)
spec_files_top.append('%files')
if extra_pkgdata:
package_rpm_extra_pkgdata(splitname, spec_files_top, localdata)
@@ -418,7 +417,7 @@ python write_specfile () {
bb.note("Creating RPM package for %s" % splitname)
spec_files_top.extend(file_list)
else:
- bb.note("Creating EMPTY RPM Package for %s" % splitname)
+ bb.note("Creating empty RPM package for %s" % splitname)
spec_files_top.append('')
continue
@@ -510,7 +509,7 @@ python write_specfile () {
bb.note("Creating RPM package for %s" % splitname)
spec_files_bottom.extend(file_list)
else:
- bb.note("Creating EMPTY RPM Package for %s" % splitname)
+ bb.note("Creating empty RPM package for %s" % splitname)
spec_files_bottom.append('')
del localdata
diff --git a/poky/meta/classes/packagegroup.bbclass b/poky/meta/classes/packagegroup.bbclass
index 94a59e0c0..1541c8fbf 100644
--- a/poky/meta/classes/packagegroup.bbclass
+++ b/poky/meta/classes/packagegroup.bbclass
@@ -8,7 +8,7 @@ PACKAGES = "${PN}"
# By default, packagegroup packages do not depend on a certain architecture.
# Only if dependencies are modified by MACHINE_FEATURES, packages
-# need to be set to MACHINE_ARCH after inheriting packagegroup.bbclass
+# need to be set to MACHINE_ARCH before inheriting packagegroup.bbclass
PACKAGE_ARCH ?= "all"
# Fully expanded - so it applies the overrides as well
diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass
index 59920a57a..d03465b6f 100644
--- a/poky/meta/classes/populate_sdk_base.bbclass
+++ b/poky/meta/classes/populate_sdk_base.bbclass
@@ -8,6 +8,7 @@ COMPLEMENTARY_GLOB[doc-pkgs] = '*-doc'
COMPLEMENTARY_GLOB[dbg-pkgs] = '*-dbg'
COMPLEMENTARY_GLOB[src-pkgs] = '*-src'
COMPLEMENTARY_GLOB[ptest-pkgs] = '*-ptest'
+COMPLEMENTARY_GLOB[bash-completion-pkgs] = '*-bash-completion'
def complementary_globs(featurevar, d):
all_globs = d.getVarFlags('COMPLEMENTARY_GLOB')
@@ -63,7 +64,7 @@ python () {
SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
SDK_DEPENDS = "virtual/fakeroot-native ${SDK_ARCHIVE_DEPENDS} cross-localedef-native nativesdk-qemuwrapper-cross ${@' '.join(["%s-qemuwrapper-cross" % m for m in d.getVar("MULTILIB_VARIANTS").split()])} qemuwrapper-cross"
PATH_prepend = "${STAGING_DIR_HOST}${SDKPATHNATIVE}${bindir}/crossscripts:${@":".join(all_multilib_tune_values(d, 'STAGING_BINDIR_CROSS').split())}:"
-SDK_DEPENDS_append_libc-glibc = " nativesdk-glibc-locale"
+SDK_DEPENDS += "nativesdk-glibc-locale"
# We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not PACKAGE_ARCH as it
# could be set to the MACHINE_ARCH
diff --git a/poky/meta/classes/populate_sdk_ext.bbclass b/poky/meta/classes/populate_sdk_ext.bbclass
index 800e1175d..9fda1c9e7 100644
--- a/poky/meta/classes/populate_sdk_ext.bbclass
+++ b/poky/meta/classes/populate_sdk_ext.bbclass
@@ -20,6 +20,7 @@ SDK_EXT_task-populate-sdk-ext = "-ext"
SDK_EXT_TYPE ?= "full"
SDK_INCLUDE_PKGDATA ?= "0"
SDK_INCLUDE_TOOLCHAIN ?= "${@'1' if d.getVar('SDK_EXT_TYPE') == 'full' else '0'}"
+SDK_INCLUDE_NATIVESDK ?= "0"
SDK_RECRDEP_TASKS ?= ""
@@ -378,6 +379,11 @@ python copy_buildsystem () {
f.write('require conf/locked-sigs.inc\n')
f.write('require conf/unlocked-sigs.inc\n')
+ if os.path.exists(builddir + '/cache/bb_unihashes.dat'):
+ bb.parse.siggen.save_unitaskhashes()
+ bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache'))
+ shutil.copyfile(builddir + '/cache/bb_unihashes.dat', baseoutpath + '/cache/bb_unihashes.dat')
+
# Write a templateconf.cfg
with open(baseoutpath + '/conf/templateconf.cfg', 'w') as f:
f.write('meta/conf\n')
@@ -401,9 +407,27 @@ python copy_buildsystem () {
excluded_targets = get_sdk_install_targets(d, images_only=True)
sigfile = d.getVar('WORKDIR') + '/locked-sigs.inc'
lockedsigs_pruned = baseoutpath + '/conf/locked-sigs.inc'
+ #nativesdk-only sigfile to merge into locked-sigs.inc
+ sdk_include_nativesdk = (d.getVar("SDK_INCLUDE_NATIVESDK") == '1')
+ nativesigfile = d.getVar('WORKDIR') + '/locked-sigs_nativesdk.inc'
+ nativesigfile_pruned = d.getVar('WORKDIR') + '/locked-sigs_nativesdk_pruned.inc'
+
+ if sdk_include_nativesdk:
+ oe.copy_buildsystem.prune_lockedsigs([],
+ excluded_targets.split(),
+ nativesigfile,
+ True,
+ nativesigfile_pruned)
+
+ oe.copy_buildsystem.merge_lockedsigs([],
+ sigfile,
+ nativesigfile_pruned,
+ sigfile)
+
oe.copy_buildsystem.prune_lockedsigs([],
excluded_targets.split(),
sigfile,
+ False,
lockedsigs_pruned)
sstate_out = baseoutpath + '/sstate-cache'
@@ -414,13 +438,18 @@ python copy_buildsystem () {
sdk_include_toolchain = (d.getVar('SDK_INCLUDE_TOOLCHAIN') == '1')
sdk_ext_type = d.getVar('SDK_EXT_TYPE')
- if sdk_ext_type != 'minimal' or sdk_include_toolchain or derivative:
+ if (sdk_ext_type != 'minimal' or sdk_include_toolchain or derivative) and not sdk_include_nativesdk:
# Create the filtered task list used to generate the sstate cache shipped with the SDK
tasklistfn = d.getVar('WORKDIR') + '/tasklist.txt'
create_filtered_tasklist(d, baseoutpath, tasklistfn, conf_initpath)
else:
tasklistfn = None
+ if os.path.exists(builddir + '/cache/bb_unihashes.dat'):
+ bb.parse.siggen.save_unitaskhashes()
+ bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache'))
+ shutil.copyfile(builddir + '/cache/bb_unihashes.dat', baseoutpath + '/cache/bb_unihashes.dat')
+
# Add packagedata if enabled
if d.getVar('SDK_INCLUDE_PKGDATA') == '1':
lockedsigs_base = d.getVar('WORKDIR') + '/locked-sigs-base.inc'
@@ -657,9 +686,16 @@ fakeroot python do_populate_sdk_ext() {
d.setVar('SDKDEPLOYDIR', '${SDKEXTDEPLOYDIR}')
# ESDKs have a libc from the buildtools so ensure we don't ship linguas twice
d.delVar('SDKIMAGE_LINGUAS')
+ if d.getVar("SDK_INCLUDE_NATIVESDK") == '1':
+ generate_nativesdk_lockedsigs(d)
populate_sdk_common(d)
}
+def generate_nativesdk_lockedsigs(d):
+ import oe.copy_buildsystem
+ sigfile = d.getVar('WORKDIR') + '/locked-sigs_nativesdk.inc'
+ oe.copy_buildsystem.generate_locked_sigs(sigfile, d)
+
def get_ext_sdk_depends(d):
# Note: the deps varflag is a list not a string, so we need to specify expand=False
deps = d.getVarFlag('do_image_complete', 'deps', False)
diff --git a/poky/meta/classes/python3native.bbclass b/poky/meta/classes/python3native.bbclass
index a3acaf61b..d98fb4c75 100644
--- a/poky/meta/classes/python3native.bbclass
+++ b/poky/meta/classes/python3native.bbclass
@@ -9,6 +9,14 @@ DEPENDS_append = " python3-native "
export STAGING_INCDIR
export STAGING_LIBDIR
+# Packages can use
+# find_package(PythonInterp REQUIRED)
+# find_package(PythonLibs REQUIRED)
+# which ends up using libs/includes from build host
+# Therefore pre-empt that effort
+export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
+export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
+
export _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata"
# suppress host user's site-packages dirs.
diff --git a/poky/meta/classes/pythonnative.bbclass b/poky/meta/classes/pythonnative.bbclass
index ae6600cd1..0e9019d1e 100644
--- a/poky/meta/classes/pythonnative.bbclass
+++ b/poky/meta/classes/pythonnative.bbclass
@@ -12,6 +12,14 @@ DEPENDS_append = " python-native "
export STAGING_INCDIR
export STAGING_LIBDIR
+# Packages can use
+# find_package(PythonInterp REQUIRED)
+# find_package(PythonLibs REQUIRED)
+# which ends up using libs/includes from build host
+# Therefore pre-empt that effort
+export PYTHON_LIBRARY="${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so"
+export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
+
# suppress host user's site-packages dirs.
export PYTHONNOUSERSITE = "1"
diff --git a/poky/meta/classes/report-error.bbclass b/poky/meta/classes/report-error.bbclass
index 1c55abfbf..ea043b23e 100644
--- a/poky/meta/classes/report-error.bbclass
+++ b/poky/meta/classes/report-error.bbclass
@@ -25,6 +25,19 @@ def errorreport_savedata(e, newdata, file):
json.dump(newdata, f, indent=4, sort_keys=True)
return datafile
+def get_conf_data(e, filename):
+ builddir = e.data.getVar('TOPDIR')
+ filepath = os.path.join(builddir, "conf", filename)
+ jsonstring = ""
+ if os.path.exists(filepath):
+ with open(filepath, 'r') as f:
+ for line in f.readlines():
+ if line.startswith("#") or len(line.strip()) == 0:
+ continue
+ else:
+ jsonstring=jsonstring + line
+ return jsonstring
+
python errorreport_handler () {
import json
import codecs
@@ -51,6 +64,8 @@ python errorreport_handler () {
data['failures'] = []
data['component'] = " ".join(e.getPkgs())
data['branch_commit'] = str(base_detect_branch(e.data)) + ": " + str(base_detect_revision(e.data))
+ data['local_conf'] = get_conf_data(e, 'local.conf')
+ data['auto_conf'] = get_conf_data(e, 'auto.conf')
lock = bb.utils.lockfile(datafile + '.lock')
errorreport_savedata(e, data, "error-report.txt")
bb.utils.unlockfile(lock)
diff --git a/poky/meta/classes/reproducible_build.bbclass b/poky/meta/classes/reproducible_build.bbclass
index 8788ad714..39b6e40ca 100644
--- a/poky/meta/classes/reproducible_build.bbclass
+++ b/poky/meta/classes/reproducible_build.bbclass
@@ -39,19 +39,28 @@ inherit ${@oe.utils.ifelse(d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1', 'repr
SDE_DIR ="${WORKDIR}/source-date-epoch"
SDE_FILE = "${SDE_DIR}/__source_date_epoch.txt"
+SDE_DEPLOYDIR = "${WORKDIR}/deploy-source-date-epoch"
SSTATETASKS += "do_deploy_source_date_epoch"
do_deploy_source_date_epoch () {
echo "Deploying SDE to ${SDE_DIR}."
+ mkdir -p ${SDE_DEPLOYDIR}
+ if [ -e ${SDE_FILE} ]; then
+ cp -p ${SDE_FILE} ${SDE_DEPLOYDIR}/__source_date_epoch.txt
+ fi
}
python do_deploy_source_date_epoch_setscene () {
sstate_setscene(d)
+ bb.utils.mkdirhier(d.getVar('SDE_DIR'))
+ sde_file = os.path.join(d.getVar('SDE_DEPLOYDIR'), '__source_date_epoch.txt')
+ if os.path.exists(sde_file):
+ os.rename(sde_file, d.getVar('SDE_FILE'))
}
-do_deploy_source_date_epoch[dirs] = "${SDE_DIR}"
-do_deploy_source_date_epoch[sstate-plaindirs] = "${SDE_DIR}"
+do_deploy_source_date_epoch[dirs] = "${SDE_DEPLOYDIR}"
+do_deploy_source_date_epoch[sstate-plaindirs] = "${SDE_DEPLOYDIR}"
addtask do_deploy_source_date_epoch_setscene
addtask do_deploy_source_date_epoch before do_configure after do_patch
diff --git a/poky/meta/classes/rm_work.bbclass b/poky/meta/classes/rm_work.bbclass
index c478f4a18..a6bd3f719 100644
--- a/poky/meta/classes/rm_work.bbclass
+++ b/poky/meta/classes/rm_work.bbclass
@@ -121,7 +121,7 @@ do_rm_work_all () {
}
do_rm_work_all[recrdeptask] = "do_rm_work"
do_rm_work_all[noexec] = "1"
-addtask rm_work_all after before do_build
+addtask rm_work_all before do_build
do_populate_sdk[postfuncs] += "rm_work_populatesdk"
rm_work_populatesdk () {
diff --git a/poky/meta/classes/rootfs-postcommands.bbclass b/poky/meta/classes/rootfs-postcommands.bbclass
index 89f8efd32..2f171836f 100644
--- a/poky/meta/classes/rootfs-postcommands.bbclass
+++ b/poky/meta/classes/rootfs-postcommands.bbclass
@@ -29,7 +29,7 @@ APPEND_append = '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", " ro
ROOTFS_POSTPROCESS_COMMAND += "write_image_test_data ; "
# Write manifest
-IMAGE_MANIFEST = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.manifest"
+IMAGE_MANIFEST = "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.manifest"
ROOTFS_POSTUNINSTALL_COMMAND =+ "write_image_manifest ; "
# Set default postinst log file
POSTINST_LOGFILE ?= "${localstatedir}/log/postinstall.log"
@@ -95,6 +95,11 @@ read_only_rootfs_hook () {
sed -i -e '/^[#[:space:]]*\/dev\/root/{s/defaults/ro/;s/\([[:space:]]*[[:digit:]]\)\([[:space:]]*\)[[:digit:]]$/\1\20/}' ${IMAGE_ROOTFS}/etc/fstab
fi
+ # Tweak the "mount -o remount,rw /" command in busybox-inittab inittab
+ if [ -f ${IMAGE_ROOTFS}/etc/inittab ]; then
+ sed -i 's|/bin/mount -o remount,rw /|/bin/mount -o remount,ro /|' ${IMAGE_ROOTFS}/etc/inittab
+ fi
+
# If we're using openssh and the /etc/ssh directory has no pre-generated keys,
# we should configure openssh to use the configuration file /etc/ssh/sshd_config_readonly
# and the keys under /var/run/ssh.
@@ -260,7 +265,7 @@ python write_image_manifest () {
with open(manifest_name, 'w+') as image_manifest:
image_manifest.write(format_pkg_list(pkgs, "ver"))
- if os.path.exists(manifest_name):
+ if os.path.exists(manifest_name) and link_name:
manifest_link = deploy_dir + "/" + link_name + ".manifest"
if os.path.lexists(manifest_link):
os.remove(manifest_link)
@@ -328,7 +333,7 @@ python write_image_test_data() {
searchString = "%s/"%(d.getVar("TOPDIR")).replace("//","/")
export2json(d, testdata_name, searchString=searchString, replaceString="")
- if os.path.exists(testdata_name):
+ if os.path.exists(testdata_name) and link_name:
testdata_link = os.path.join(deploy_dir, "%s.testdata.json" % link_name)
if os.path.lexists(testdata_link):
os.remove(testdata_link)
@@ -356,7 +361,9 @@ rootfs_reproducible () {
echo $sformatted > ${IMAGE_ROOTFS}/etc/version
bbnote "rootfs_reproducible: set /etc/version to $sformatted"
- find ${IMAGE_ROOTFS}/etc/gconf -name '%gconf.xml' -print0 | xargs -0r \
- sed -i -e 's@\bmtime="[0-9][0-9]*"@mtime="'${REPRODUCIBLE_TIMESTAMP_ROOTFS}'"@g'
+ if [ -d ${IMAGE_ROOTFS}${sysconfdir}/gconf ]; then
+ find ${IMAGE_ROOTFS}${sysconfdir}/gconf -name '%gconf.xml' -print0 | xargs -0r \
+ sed -i -e 's@\bmtime="[0-9][0-9]*"@mtime="'${REPRODUCIBLE_TIMESTAMP_ROOTFS}'"@g'
+ fi
fi
}
diff --git a/poky/meta/classes/rootfs_ipk.bbclass b/poky/meta/classes/rootfs_ipk.bbclass
index aabc370cf..e73d2bfda 100644
--- a/poky/meta/classes/rootfs_ipk.bbclass
+++ b/poky/meta/classes/rootfs_ipk.bbclass
@@ -21,7 +21,7 @@ OPKG_PREPROCESS_COMMANDS = ""
OPKG_POSTPROCESS_COMMANDS = ""
-OPKGLIBDIR = "${localstatedir}/lib"
+OPKGLIBDIR ??= "${localstatedir}/lib"
MULTILIBRE_ALLOW_REP = "${OPKGLIBDIR}/opkg|/usr/lib/opkg"
diff --git a/poky/meta/classes/sanity.bbclass b/poky/meta/classes/sanity.bbclass
index 9429202dc..2d3f49eb1 100644
--- a/poky/meta/classes/sanity.bbclass
+++ b/poky/meta/classes/sanity.bbclass
@@ -573,7 +573,7 @@ def sanity_check_conffiles(d):
if check_conf_exists(conffile, d) and d.getVar(current_version) is not None and \
d.getVar(current_version) != d.getVar(required_version):
try:
- bb.build.exec_func(func, d, pythonexception=True)
+ bb.build.exec_func(func, d)
except NotImplementedError as e:
bb.fatal(str(e))
d.setVar("BB_INVALIDCONF", True)
diff --git a/poky/meta/classes/sstate.bbclass b/poky/meta/classes/sstate.bbclass
index 424acfb15..b47b9c23b 100644
--- a/poky/meta/classes/sstate.bbclass
+++ b/poky/meta/classes/sstate.bbclass
@@ -89,11 +89,6 @@ SSTATE_HASHEQUIV_METHOD[doc] = "The fully-qualified function used to calculate \
the output hash for a task, which in turn is used to determine equivalency. \
"
-SSTATE_HASHEQUIV_SERVER ?= ""
-SSTATE_HASHEQUIV_SERVER[doc] = "The hash equivalence sever. For example, \
- 'http://192.168.0.1:5000'. Do not include a trailing slash \
- "
-
SSTATE_HASHEQUIV_REPORT_TASKDATA ?= "0"
SSTATE_HASHEQUIV_REPORT_TASKDATA[doc] = "Report additional useful data to the \
hash equivalency server, such as PN, PV, taskname, etc. This information \
@@ -329,7 +324,7 @@ def sstate_installpkg(ss, d):
pstaging_fetch(sstatefetch, d)
if not os.path.isfile(sstatepkg):
- bb.note("Staging package %s does not exist" % sstatepkg)
+ bb.note("Sstate package %s does not exist" % sstatepkg)
return False
sstate_clean(ss, d)
@@ -340,7 +335,8 @@ def sstate_installpkg(ss, d):
if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG"), False):
signer = get_signer(d, 'local')
if not signer.verify(sstatepkg + '.sig'):
- bb.warn("Cannot verify signature on sstate package %s" % sstatepkg)
+ bb.warn("Cannot verify signature on sstate package %s, skipping acceleration..." % sstatepkg)
+ return False
# Empty sstateinst directory, ensure its clean
if os.path.exists(sstateinst):
@@ -658,8 +654,12 @@ def sstate_package(ss, d):
if d.getVar('SSTATE_SKIP_CREATION') == '1':
return
+ sstate_create_package = ['sstate_report_unihash', 'sstate_create_package']
+ if d.getVar('SSTATE_SIG_KEY'):
+ sstate_create_package.append('sstate_sign_package')
+
for f in (d.getVar('SSTATECREATEFUNCS') or '').split() + \
- ['sstate_report_unihash', 'sstate_create_package', 'sstate_sign_package'] + \
+ sstate_create_package + \
(d.getVar('SSTATEPOSTCREATEFUNCS') or '').split():
# All hooks should run in SSTATE_BUILDDIR.
bb.build.exec_func(f, d, (sstatebuild,))
@@ -750,6 +750,11 @@ sstate_task_postfunc[dirs] = "${WORKDIR}"
sstate_create_package () {
TFILE=`mktemp ${SSTATE_PKG}.XXXXXXXX`
+ # Exit earlu if it already exists
+ if [ -e ${SSTATE_PKG} ]; then
+ return
+ fi
+
# Use pigz if available
OPT="-czS"
if [ -x "$(command -v pigz)" ]; then
@@ -769,19 +774,24 @@ sstate_create_package () {
tar $OPT --file=$TFILE --files-from=/dev/null
fi
chmod 0664 $TFILE
- mv -f $TFILE ${SSTATE_PKG}
+ # Skip if it was already created by some other process
+ if [ ! -e ${SSTATE_PKG} ]; then
+ mv -f $TFILE ${SSTATE_PKG}
+ else
+ rm $TFILE
+ fi
}
python sstate_sign_package () {
from oe.gpg_sign import get_signer
- if d.getVar('SSTATE_SIG_KEY'):
- signer = get_signer(d, 'local')
- sstate_pkg = d.getVar('SSTATE_PKG')
- if os.path.exists(sstate_pkg + '.sig'):
- os.unlink(sstate_pkg + '.sig')
- signer.detach_sign(sstate_pkg, d.getVar('SSTATE_SIG_KEY', False), None,
- d.getVar('SSTATE_SIG_PASSPHRASE'), armor=False)
+
+ signer = get_signer(d, 'local')
+ sstate_pkg = d.getVar('SSTATE_PKG')
+ if os.path.exists(sstate_pkg + '.sig'):
+ os.unlink(sstate_pkg + '.sig')
+ signer.detach_sign(sstate_pkg, d.getVar('SSTATE_SIG_KEY', False), None,
+ d.getVar('SSTATE_SIG_PASSPHRASE'), armor=False)
}
python sstate_report_unihash() {
@@ -808,29 +818,26 @@ sstate_unpack_package () {
BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
-def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *, sq_unihash=None):
-
- ret = []
- missed = []
+def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, **kwargs):
+ found = set()
+ missed = set()
extension = ".tgz"
if siginfo:
extension = extension + ".siginfo"
def gethash(task):
- if sq_unihash is not None:
- return sq_unihash[task]
- return sq_hash[task]
+ return sq_data['unihash'][task]
def getpathcomponents(task, d):
# Magic data from BB_HASHFILENAME
- splithashfn = sq_hashfn[task].split(" ")
+ splithashfn = sq_data['hashfn'][task].split(" ")
spec = splithashfn[1]
if splithashfn[0] == "True":
extrapath = d.getVar("NATIVELSBSTRING") + "/"
else:
extrapath = ""
-
- tname = sq_task[task][3:]
+
+ tname = bb.runqueue.taskname_from_tid(task)[3:]
if tname in ["fetch", "unpack", "patch", "populate_lic", "preconfigure"] and splithashfn[2]:
spec = splithashfn[2]
@@ -839,18 +846,18 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *,
return spec, extrapath, tname
- for task in range(len(sq_fn)):
+ for tid in sq_data['hash']:
- spec, extrapath, tname = getpathcomponents(task, d)
+ spec, extrapath, tname = getpathcomponents(tid, d)
- sstatefile = d.expand("${SSTATE_DIR}/" + extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + extension)
+ sstatefile = d.expand("${SSTATE_DIR}/" + extrapath + generate_sstatefn(spec, gethash(tid), d) + "_" + tname + extension)
if os.path.exists(sstatefile):
bb.debug(2, "SState: Found valid sstate file %s" % sstatefile)
- ret.append(task)
+ found.add(tid)
continue
else:
- missed.append(task)
+ missed.add(tid)
bb.debug(2, "SState: Looked for but didn't find file %s" % sstatefile)
mirrors = d.getVar("SSTATE_MIRRORS")
@@ -880,7 +887,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *,
thread_worker.connection_cache.close_connections()
def checkstatus(thread_worker, arg):
- (task, sstatefile) = arg
+ (tid, sstatefile) = arg
localdata2 = bb.data.createCopy(localdata)
srcuri = "file://" + sstatefile
@@ -892,22 +899,22 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *,
connection_cache=thread_worker.connection_cache)
fetcher.checkstatus()
bb.debug(2, "SState: Successful fetch test for %s" % srcuri)
- ret.append(task)
- if task in missed:
- missed.remove(task)
+ found.add(tid)
+ if tid in missed:
+ missed.remove(tid)
except:
- missed.append(task)
+ missed.add(tid)
bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri)
pass
bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - thread_worker.tasks.qsize()), d)
tasklist = []
- for task in range(len(sq_fn)):
- if task in ret:
+ for tid in sq_data['hash']:
+ if tid in found:
continue
- spec, extrapath, tname = getpathcomponents(task, d)
- sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + extension)
- tasklist.append((task, sstatefile))
+ spec, extrapath, tname = getpathcomponents(tid, d)
+ sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(tid), d) + "_" + tname + extension)
+ tasklist.append((tid, sstatefile))
if tasklist:
msg = "Checking sstate mirror object availability"
@@ -927,35 +934,38 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False, *,
bb.event.fire(bb.event.ProcessFinished(msg), d)
+ # Likely checking an individual task hash again for multiconfig sharing of sstate tasks so skip reporting
+ if len(sq_data['hash']) == 1:
+ return found
+
inheritlist = d.getVar("INHERIT")
if "toaster" in inheritlist:
evdata = {'missed': [], 'found': []};
- for task in missed:
- spec, extrapath, tname = getpathcomponents(task, d)
- sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + ".tgz")
- evdata['missed'].append( (sq_fn[task], sq_task[task], gethash(task), sstatefile ) )
- for task in ret:
- spec, extrapath, tname = getpathcomponents(task, d)
- sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(task), d) + "_" + tname + ".tgz")
- evdata['found'].append( (sq_fn[task], sq_task[task], gethash(task), sstatefile ) )
+ for tid in missed:
+ spec, extrapath, tname = getpathcomponents(tid, d)
+ sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(tid), d) + "_" + tname + ".tgz")
+ evdata['missed'].append((bb.runqueue.fn_from_tid(tid), bb.runqueue.taskname_from_tid(tid), gethash(tid), sstatefile ) )
+ for tid in found:
+ spec, extrapath, tname = getpathcomponents(tid, d)
+ sstatefile = d.expand(extrapath + generate_sstatefn(spec, gethash(tid), d) + "_" + tname + ".tgz")
+ evdata['found'].append((bb.runqueue.fn_from_tid(tid), bb.runqueue.taskname_from_tid(tid), gethash(tid), sstatefile ) )
bb.event.fire(bb.event.MetadataEvent("MissedSstate", evdata), d)
# Print some summary statistics about the current task completion and how much sstate
# reuse there was. Avoid divide by zero errors.
- total = len(sq_fn)
- currentcount = d.getVar("BB_SETSCENE_STAMPCURRENT_COUNT") or 0
+ total = len(sq_data['hash'])
complete = 0
if currentcount:
- complete = (len(ret) + currentcount) / (total + currentcount) * 100
+ complete = (len(found) + currentcount) / (total + currentcount) * 100
match = 0
if total:
- match = len(ret) / total * 100
- bb.plain("Sstate summary: Wanted %d Found %d Missed %d Current %d (%d%% match, %d%% complete)" % (total, len(ret), len(missed), currentcount, match, complete))
+ match = len(found) / total * 100
+ bb.plain("Sstate summary: Wanted %d Found %d Missed %d Current %d (%d%% match, %d%% complete)" % (total, len(found), len(missed), currentcount, match, complete))
if hasattr(bb.parse.siggen, "checkhashes"):
- bb.parse.siggen.checkhashes(missed, ret, sq_fn, sq_task, sq_hash, sq_hashfn, d)
+ bb.parse.siggen.checkhashes(sq_data, missed, found, d)
- return ret
+ return found
BB_SETSCENE_DEPVALID = "setscene_depvalid"
diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass
index 920706022..55a9b52ed 100644
--- a/poky/meta/classes/staging.bbclass
+++ b/poky/meta/classes/staging.bbclass
@@ -197,7 +197,7 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d):
for pkgarch in pkgarchs:
for manifest in glob.glob(d.expand("${SSTATE_MANIFESTS}/manifest-%s-*.populate_sysroot" % pkgarch)):
if manifest.endswith("-initial.populate_sysroot"):
- # skip glibc-initial and libgcc-initial due to file overlap
+ # skip libgcc-initial due to file overlap
continue
if not native and (manifest.endswith("-native.populate_sysroot") or "nativesdk-" in manifest):
continue
@@ -261,12 +261,10 @@ python extend_recipe_sysroot() {
workdir = d.getVar("WORKDIR")
#bb.warn(str(taskdepdata))
pn = d.getVar("PN")
- mc = d.getVar("BB_CURRENT_MC")
stagingdir = d.getVar("STAGING_DIR")
sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests"
recipesysroot = d.getVar("RECIPE_SYSROOT")
recipesysrootnative = d.getVar("RECIPE_SYSROOT_NATIVE")
- current_variant = d.getVar("BBEXTENDVARIANT")
# Detect bitbake -b usage
nodeps = d.getVar("BB_LIMITEDDEPS") or False
@@ -452,11 +450,6 @@ python extend_recipe_sysroot() {
msg_adding = []
for dep in configuredeps:
- if mc != 'default':
- # We should not care about other multiconfigs
- depmc = dep.split(':')[1]
- if depmc != mc:
- continue
c = setscenedeps[dep][0]
if c not in installed:
continue
@@ -584,17 +577,6 @@ python do_prepare_recipe_sysroot () {
}
addtask do_prepare_recipe_sysroot before do_configure after do_fetch
-# Clean out the recipe specific sysroots before do_fetch
-# (use a prefunc so we can order before extend_recipe_sysroot if it gets added)
-python clean_recipe_sysroot() {
- # We remove these stamps since we're removing any content they'd have added with
- # cleandirs. This removes the sigdata too, likely not a big deal,
- oe.path.remove(d.getVar("STAMP") + "*addto_recipe_sysroot*")
- return
-}
-clean_recipe_sysroot[cleandirs] += "${RECIPE_SYSROOT} ${RECIPE_SYSROOT_NATIVE}"
-do_fetch[prefuncs] += "clean_recipe_sysroot"
-
python staging_taskhandler() {
bbtasks = e.tasklist
for task in bbtasks:
diff --git a/poky/meta/classes/syslinux.bbclass b/poky/meta/classes/syslinux.bbclass
index 031dacbf7..894f6b371 100644
--- a/poky/meta/classes/syslinux.bbclass
+++ b/poky/meta/classes/syslinux.bbclass
@@ -75,11 +75,6 @@ syslinux_hddimg_install() {
syslinux ${IMGDEPLOYDIR}/${IMAGE_NAME}.hddimg
}
-syslinux_hdddirect_install() {
- DEST=$1
- syslinux $DEST
-}
-
python build_syslinux_cfg () {
import copy
import sys
diff --git a/poky/meta/classes/systemd-boot.bbclass b/poky/meta/classes/systemd-boot.bbclass
index 3cd6811a6..336c4c2ff 100644
--- a/poky/meta/classes/systemd-boot.bbclass
+++ b/poky/meta/classes/systemd-boot.bbclass
@@ -11,50 +11,25 @@
do_bootimg[depends] += "${MLPREFIX}systemd-boot:do_deploy"
-EFIDIR = "/EFI/BOOT"
+require conf/image-uefi.conf
# Need UUID utility code.
inherit fs-uuid
efi_populate() {
- DEST=$1
+ efi_populate_common "$1" systemd
- EFI_IMAGE="systemd-bootia32.efi"
- DEST_EFI_IMAGE="bootia32.efi"
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- EFI_IMAGE="systemd-bootx64.efi"
- DEST_EFI_IMAGE="bootx64.efi"
- fi
-
- install -d ${DEST}${EFIDIR}
# systemd-boot requires these paths for configuration files
# they are not customizable so no point in new vars
install -d ${DEST}/loader
install -d ${DEST}/loader/entries
- install -m 0644 ${DEPLOY_DIR_IMAGE}/${EFI_IMAGE} ${DEST}${EFIDIR}/${DEST_EFI_IMAGE}
- EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
- printf 'fs0:%s\%s\n' "$EFIPATH" "$DEST_EFI_IMAGE" >${DEST}/startup.nsh
install -m 0644 ${SYSTEMD_BOOT_CFG} ${DEST}/loader/loader.conf
for i in ${SYSTEMD_BOOT_ENTRIES}; do
install -m 0644 ${i} ${DEST}/loader/entries
done
}
-efi_iso_populate() {
- iso_dir=$1
- efi_populate $iso_dir
- mkdir -p ${EFIIMGDIR}/${EFIDIR}
- cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
+efi_iso_populate_append() {
cp -r $iso_dir/loader ${EFIIMGDIR}
- cp $iso_dir/${KERNEL_IMAGETYPE} ${EFIIMGDIR}
- EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
- echo "fs0:${EFIPATH}\\${DEST_EFI_IMAGE}" > ${EFIIMGDIR}/startup.nsh
- if [ -f "$iso_dir/initrd" ] ; then
- cp $iso_dir/initrd ${EFIIMGDIR}
- fi
-}
-
-efi_hddimg_populate() {
- efi_populate $1
}
inherit systemd-boot-cfg
diff --git a/poky/meta/classes/systemd.bbclass b/poky/meta/classes/systemd.bbclass
index d1cb17dc8..747055b8f 100644
--- a/poky/meta/classes/systemd.bbclass
+++ b/poky/meta/classes/systemd.bbclass
@@ -214,7 +214,6 @@ python rm_systemd_unitdir (){
if (os.path.exists(systemd_libdir) and not os.listdir(systemd_libdir)):
os.rmdir(systemd_libdir)
}
-do_install[postfuncs] += "rm_systemd_unitdir "
python rm_sysvinit_initddir (){
import shutil
@@ -229,4 +228,8 @@ python rm_sysvinit_initddir (){
if (os.path.exists(systemd_system_unitdir) and os.listdir(systemd_system_unitdir)):
shutil.rmtree(sysv_initddir)
}
-do_install[postfuncs] += "rm_sysvinit_initddir "
+
+do_install[postfuncs] += "${RMINITDIR} "
+RMINITDIR_class-target = " rm_sysvinit_initddir rm_systemd_unitdir "
+RMINITDIR = ""
+
diff --git a/poky/meta/classes/uboot-extlinux-config.bbclass b/poky/meta/classes/uboot-extlinux-config.bbclass
index b5b1a81df..f4bf94be0 100644
--- a/poky/meta/classes/uboot-extlinux-config.bbclass
+++ b/poky/meta/classes/uboot-extlinux-config.bbclass
@@ -104,13 +104,16 @@ python do_create_extlinux_config() {
if default:
cfgfile.write('DEFAULT %s\n' % (default))
- for label in labels.split():
+ # Need to deconflict the labels with existing overrides
+ label_overrides = labels.split()
+ default_overrides = localdata.getVar('OVERRIDES').split(':')
+ # We're keeping all the existing overrides that aren't used as a label
+ # an override for that label will be added back in while we're processing that label
+ keep_overrides = list(filter(lambda x: x not in label_overrides, default_overrides))
- overrides = localdata.getVar('OVERRIDES')
- if not overrides:
- bb.fatal('OVERRIDES not defined')
+ for label in labels.split():
- localdata.setVar('OVERRIDES', label + ':' + overrides)
+ localdata.setVar('OVERRIDES', ':'.join(keep_overrides + [label]))
extlinux_console = localdata.getVar('UBOOT_EXTLINUX_CONSOLE')
diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass
index de81ad1b3..982ed46d0 100644
--- a/poky/meta/classes/uboot-sign.bbclass
+++ b/poky/meta/classes/uboot-sign.bbclass
@@ -66,7 +66,7 @@ concat_dtb_helper() {
install ${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
elif [ -e "${DEPLOYDIR}/${UBOOT_NODTB_IMAGE}" -a -e "$deployed_uboot_dtb_binary" ]; then
cd ${DEPLOYDIR}
- cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${UBOOT_BINARY} > ${UBOOT_IMAGE}
+ cat ${UBOOT_NODTB_IMAGE} $deployed_uboot_dtb_binary | tee ${B}/${CONFIG_B_PATH}/${UBOOT_BINARY} > ${UBOOT_IMAGE}
else
bbwarn "Failure while adding public key to u-boot binary. Verified boot won't be available."
fi
@@ -77,10 +77,12 @@ concat_dtb() {
mkdir -p ${DEPLOYDIR}
if [ -n "${UBOOT_CONFIG}" ]; then
for config in ${UBOOT_MACHINE}; do
+ CONFIG_B_PATH="${config}"
cd ${B}/${config}
concat_dtb_helper
done
else
+ CONFIG_B_PATH=""
cd ${B}
concat_dtb_helper
fi
diff --git a/poky/meta/classes/update-alternatives.bbclass b/poky/meta/classes/update-alternatives.bbclass
index b702e77ee..8c2b66e7f 100644
--- a/poky/meta/classes/update-alternatives.bbclass
+++ b/poky/meta/classes/update-alternatives.bbclass
@@ -284,8 +284,11 @@ python populate_packages_updatealternatives () {
bb.note('adding update-alternatives calls to postinst/prerm for %s' % pkg)
bb.note('%s' % alt_setup_links)
- postinst = d.getVar('pkg_postinst_%s' % pkg) or '#!/bin/sh\n'
- postinst += alt_setup_links
+ postinst = d.getVar('pkg_postinst_%s' % pkg)
+ if postinst:
+ postinst = alt_setup_links + postinst
+ else:
+ postinst = '#!/bin/sh\n' + alt_setup_links
d.setVar('pkg_postinst_%s' % pkg, postinst)
bb.note('%s' % alt_remove_links)
diff --git a/poky/meta/classes/xmlcatalog.bbclass b/poky/meta/classes/xmlcatalog.bbclass
index 075aef8c0..ae4811fde 100644
--- a/poky/meta/classes/xmlcatalog.bbclass
+++ b/poky/meta/classes/xmlcatalog.bbclass
@@ -1,3 +1,5 @@
+DEPENDS = "libxml2-native"
+
# A whitespace-separated list of XML catalogs to be registered, for example
# "${sysconfdir}/xml/docbook-xml.xml".
XMLCATALOGS ?= ""
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 4b907d682..263d8aea4 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -360,12 +360,6 @@ CACHE = "${TMPDIR}/cache${@['', '/' + str(d.getVar('MACHINE'))][bool(d.getVar('M
# The persistent cache should be shared by all builds
PERSISTENT_DIR = "${TOPDIR}/cache"
LOG_DIR = "${TMPDIR}/log"
-CO_DIR = "${DL_DIR}"
-CVSDIR = "${CO_DIR}/cvs"
-SVNDIR = "${CO_DIR}/svn"
-GITDIR = "${CO_DIR}/git2"
-BZRDIR = "${CO_DIR}/bzr"
-HGDIR = "${CO_DIR}/hg"
STAMPS_DIR ?= "${TMPDIR}/stamps"
STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
@@ -569,17 +563,17 @@ PATCHRESOLVE = "noop"
export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
BUILDSDK_CPPFLAGS = ""
export CPPFLAGS = "${TARGET_CPPFLAGS}"
-export TARGET_CPPFLAGS = ""
+TARGET_CPPFLAGS = ""
export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION} ${DEBUG_PREFIX_MAP}"
export CFLAGS = "${TARGET_CFLAGS}"
-export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
+TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
export BUILD_CXXFLAGS = "${BUILD_CFLAGS}"
BUILDSDK_CXXFLAGS = "${BUILDSDK_CFLAGS}"
export CXXFLAGS = "${TARGET_CXXFLAGS}"
-export TARGET_CXXFLAGS = "${TARGET_CFLAGS}"
+TARGET_CXXFLAGS = "${TARGET_CFLAGS}"
export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
-L${STAGING_BASE_LIBDIR_NATIVE} \
@@ -601,7 +595,7 @@ TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][d.getVar('LINKER_HASH_
ASNEEDED ?= "-Wl,--as-needed"
export LDFLAGS = "${TARGET_LDFLAGS}"
-export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}"
+TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}"
# Pass parallel make options to the compile task
EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} "
@@ -649,7 +643,7 @@ GPE_MIRROR = "http://gpe.linuxtogo.org/download/source"
KERNELORG_MIRROR = "https://cdn.kernel.org/pub"
SOURCEFORGE_MIRROR = "https://downloads.sourceforge.net"
XLIBS_MIRROR = "https://xlibs.freedesktop.org/release"
-XORG_MIRROR = "http://xorg.freedesktop.org/releases"
+XORG_MIRROR = "https://www.x.org/releases/"
SAVANNAH_GNU_MIRROR = "https://download.savannah.gnu.org/releases"
SAVANNAH_NONGNU_MIRROR = "https://download.savannah.nongnu.org/releases"
CPAN_MIRROR = "https://search.cpan.org/CPAN"
@@ -676,12 +670,6 @@ SRC_URI[vardepsexclude] += "\
# export DEBIAN_MIRROR = "http://ftp.de.debian.org/debian/pool"
# into your local.conf
-FETCHCMD_svn = "/usr/bin/env svn --non-interactive --trust-server-cert"
-FETCHCMD_cvs = "/usr/bin/env cvs"
-FETCHCMD_wget = "/usr/bin/env wget -t 2 -T 30 --passive-ftp --no-check-certificate"
-FETCHCMD_bzr = "/usr/bin/env bzr"
-FETCHCMD_hg = "/usr/bin/env hg"
-
SRCDATE = "${DATE}"
SRCREV ??= "INVALID"
AUTOREV = "${@bb.fetch2.get_autorev(d)}"
@@ -839,7 +827,7 @@ DISTRO_FEATURES_NATIVESDK ?= "x11"
DISTRO_FEATURES_FILTER_NATIVE ?= "api-documentation"
DISTRO_FEATURES_FILTER_NATIVESDK ?= "api-documentation"
-DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-introspection-data ldconfig"
+DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit gobject-introspection-data ldconfig"
MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
COMBINED_FEATURES = "${@oe.utils.set_intersect('DISTRO_FEATURES', 'MACHINE_FEATURES', d)}"
@@ -884,8 +872,8 @@ BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH BBSERVER DL_DI
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_NOHASHDIR LICENSE_PATH SDKPKGSUFFIX \
WARN_QA ERROR_QA WORKDIR STAMPCLEAN PKGDATA_DIR BUILD_ARCH SSTATE_PKGARCH \
BB_WORKERCONTEXT BB_LIMITEDDEPS BB_UNIHASH extend_recipe_sysroot DEPLOY_DIR \
- SSTATE_HASHEQUIV_METHOD SSTATE_HASHEQUIV_SERVER SSTATE_HASHEQUIV_REPORT_TASKDATA \
- SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR"
+ SSTATE_HASHEQUIV_METHOD SSTATE_HASHEQUIV_REPORT_TASKDATA \
+ SSTATE_HASHEQUIV_OWNER CCACHE_TOP_DIR BB_HASHSERVE"
BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID \
SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_EXTRAWHITE DISABLE_SANITY_CHECKS \
PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED \
diff --git a/poky/meta/conf/conf-notes.txt b/poky/meta/conf/conf-notes.txt
index f1a4f4da1..5af13a835 100644
--- a/poky/meta/conf/conf-notes.txt
+++ b/poky/meta/conf/conf-notes.txt
@@ -9,4 +9,9 @@ Common targets are:
meta-toolchain
meta-ide-support
-You can also run generated qemu images with a command like 'runqemu qemux86'
+You can also run generated qemu images with a command like 'runqemu qemux86'.
+
+Other commonly useful commands are:
+ - 'devtool' and 'recipetool' handle common recipe tasks
+ - 'bitbake-layers' handles common layer tasks
+ - 'oe-pkgdata-util' handles common target package tasks
diff --git a/poky/meta/conf/distro/defaultsetup.conf b/poky/meta/conf/distro/defaultsetup.conf
index 20e61232e..66fd24652 100644
--- a/poky/meta/conf/distro/defaultsetup.conf
+++ b/poky/meta/conf/distro/defaultsetup.conf
@@ -1,7 +1,6 @@
include conf/distro/include/default-providers.inc
include conf/distro/include/default-versions.inc
include conf/distro/include/default-distrovars.inc
-include conf/distro/include/world-broken.inc
include conf/distro/include/maintainers.inc
TCMODE ?= "default"
@@ -23,3 +22,6 @@ PACKAGE_CLASSES ?= "package_ipk"
INHERIT_BLACKLIST = "blacklist"
INHERIT_DISTRO ?= "debian devshell sstate license remove-libtool"
INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO} ${INHERIT_BLACKLIST}"
+
+INIT_MANAGER ??= "none"
+require conf/distro/include/init-manager-${INIT_MANAGER}.inc
diff --git a/poky/meta/conf/distro/include/default-providers.inc b/poky/meta/conf/distro/include/default-providers.inc
index 2be337877..ea88bd487 100644
--- a/poky/meta/conf/distro/include/default-providers.inc
+++ b/poky/meta/conf/distro/include/default-providers.inc
@@ -5,6 +5,8 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/egl ?= "mesa"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgl-native ?= "mesa-native"
+PREFERRED_PROVIDER_virtual/nativesdk-libgl ?= "nativesdk-mesa"
PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
PREFERRED_PROVIDER_virtual/mesa ?= "mesa"
@@ -44,7 +46,6 @@ 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
PREFERRED_PROVIDER_ltp ?= "ltp"
PREFERRED_PROVIDER_getopt ?= "util-linux-getopt"
diff --git a/poky/meta/conf/distro/include/distro_alias.inc b/poky/meta/conf/distro/include/distro_alias.inc
index d2ccb1ee4..e314642b9 100644
--- a/poky/meta/conf/distro/include/distro_alias.inc
+++ b/poky/meta/conf/distro/include/distro_alias.inc
@@ -43,9 +43,6 @@ DISTRO_PN_ALIAS_pn-core-image-base = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-clutter = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-full-cmdline = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-kernel-dev = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-lsb = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-lsb-dev = "OE-Core"
-DISTRO_PN_ALIAS_pn-core-image-lsb-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-minimal = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-minimal-dev = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-minimal-initramfs = "OE-Core"
@@ -80,8 +77,6 @@ DISTRO_PN_ALIAS_pn-docbook-xml-dtd4-native = "Ubuntu=docbook-xml Fedora=docbook-
DISTRO_PN_ALIAS_pn-docbook-xsl-stylesheets = "Fedora=docbook-xsl-stylesheets Opensuse=docbook-xsl-stylesheets"
DISTRO_PN_ALIAS_pn-dropbear = "Debian=dropbear Ubuntu=dropbear"
DISTRO_PN_ALIAS_pn-dtc = "Fedora=dtc Ubuntu=dtc"
-DISTRO_PN_ALIAS_pn-eglinfo-fb = "OE-Core"
-DISTRO_PN_ALIAS_pn-eglinfo-x11 = "OE-Core"
DISTRO_PN_ALIAS_pn-encodings = "Ubuntu=xfonts-encodings Mandriva=x11-font-encodings Debian=xfonts-encodings"
DISTRO_PN_ALIAS_pn-font-alias = "Fedora=xorg-x11-fonts-base Mandriva=x11-font-alias Meego=xorg-x11-fonts"
DISTRO_PN_ALIAS_pn-font-util = "Meego=xorg-x11-font-utils Fedora=xorg-x11-font-utils Ubuntu=xfonts-utils Mandriva=x11-font-util Debian=xfonts-utils"
@@ -181,7 +176,6 @@ DISTRO_PN_ALIAS_pn-libpcre2 = "Fedora=pcre2 Debian=pcre2 Clear=pcre2"
DISTRO_PN_ALIAS_pn-libpng12 = "Debian=libpng12-0 Fedora=libpng"
DISTRO_PN_ALIAS_pn-libpod-plainer-perl = "OSPDT"
DISTRO_PN_ALIAS_pn-libsamplerate0 = "Meego=libsamplerate Fedora=libsamplerate OpenSuSE=libsamplerate Ubuntu=libsamplerate Mandriva=libsamplerate Debian=libsamplerate"
-DISTRO_PN_ALIAS_pn-libsdl = "Fedora=SDL Opensuse=SDL"
DISTRO_PN_ALIAS_pn-libsdl2 = "Fedora=sdl2 Opensuse=libsdl2 Ubuntu=libsdl2 Debian=libsdl2"
DISTRO_PN_ALIAS_pn-libsndfile1 = "Meego=libsndfile Fedora=libsndfile OpenSuSE=libsndfile Ubuntu=libsndfile Mandriva=libsndfile Debian=libsndfile"
DISTRO_PN_ALIAS_pn-libsoup-2.4 = "Meego=libsoup Fedora=libsoup OpenSuSE=libsoup Ubuntu=libsoup2.4 Mandriva=libsoup Debian=libsoup2.4"
@@ -196,7 +190,6 @@ DISTRO_PN_ALIAS_pn-libxft = "Mandriva=libxft Debian=libxft2 Ubuntu=libxft2"
DISTRO_PN_ALIAS_pn-libxi = "Ubuntu=libxi Fedora=libXi"
DISTRO_PN_ALIAS_pn-libxkbcommon = "Fedora=libxkbcommon Debian=libxkbcommon"
DISTRO_PN_ALIAS_pn-libxscrnsaver = "Fedora=libXScrnSaver Ubuntu=libxss1 Mandriva=libxscrnsaver"
-DISTRO_PN_ALIAS_pn-libxxf86misc = "Mandriva=libxxf86misc Fedora=libXxf86misc"
DISTRO_PN_ALIAS_pn-linux-dummy = "Intel"
DISTRO_PN_ALIAS_pn-linux-firmware = "Fedora=linux-firmware Ubuntu=linux-firmware"
DISTRO_PN_ALIAS_pn-linux-libc-headers = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers"
@@ -204,8 +197,6 @@ DISTRO_PN_ALIAS_pn-linux-libc-headers-yocto = "Debian=linux-kernel-headers Ubunt
DISTRO_PN_ALIAS_pn-linux-yocto = "Debian=linux-base Ubuntu=linux"
DISTRO_PN_ALIAS_pn-linux-yocto-rt = "Debian=linux-base Ubuntu=linux"
DISTRO_PN_ALIAS_pn-linux-yocto-tiny = "OSPDT"
-DISTRO_PN_ALIAS_pn-lsbinitscripts = "Windriver"
-DISTRO_PN_ALIAS_pn-lsbtest = "Windriver"
DISTRO_PN_ALIAS_pn-ltp = "Mandriva=ltp Ubuntu=ltp"
DISTRO_PN_ALIAS_pn-lttng-modules = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-lttng-tools = "OSPDT upstream=http://lttng.org/"
@@ -267,7 +258,6 @@ DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-device-devel = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-eclipse-debug = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-full-cmdline = "OE-Core"
-DISTRO_PN_ALIAS_pn-packagegroup-core-lsb = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-dropbear = "OE-Core"
diff --git a/poky/meta/conf/distro/include/init-manager-mdev-busybox.inc b/poky/meta/conf/distro/include/init-manager-mdev-busybox.inc
new file mode 100644
index 000000000..4e3be14a8
--- /dev/null
+++ b/poky/meta/conf/distro/include/init-manager-mdev-busybox.inc
@@ -0,0 +1,7 @@
+# enable mdev/busybox for init
+DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " systemd sysvinit"
+VIRTUAL-RUNTIME_dev_manager ??= "busybox-mdev"
+VIRTUAL-RUNTIME_init_manager ??= "busybox"
+VIRTUAL-RUNTIME_initscripts ??= "initscripts"
+VIRTUAL-RUNTIME_keymaps ??= "keymaps"
+VIRTUAL-RUNTIME_login_manager ??= "busybox"
diff --git a/poky/meta/conf/distro/include/init-manager-none.inc b/poky/meta/conf/distro/include/init-manager-none.inc
new file mode 100644
index 000000000..bbedf898f
--- /dev/null
+++ b/poky/meta/conf/distro/include/init-manager-none.inc
@@ -0,0 +1,3 @@
+VIRTUAL-RUNTIME_init_manager ??= "sysvinit"
+VIRTUAL-RUNTIME_initscripts ??= "initscripts"
+VIRTUAL-RUNTIME_login_manager ??= "busybox"
diff --git a/poky/meta/conf/distro/include/init-manager-systemd.inc b/poky/meta/conf/distro/include/init-manager-systemd.inc
new file mode 100644
index 000000000..1558b8525
--- /dev/null
+++ b/poky/meta/conf/distro/include/init-manager-systemd.inc
@@ -0,0 +1,6 @@
+# Use systemd for system initialization
+DISTRO_FEATURES_append = " systemd"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " sysvinit"
+VIRTUAL-RUNTIME_init_manager ??= "systemd"
+VIRTUAL-RUNTIME_initscripts ??= "systemd-compat-units"
+VIRTUAL-RUNTIME_login_manager ??= "shadow-base"
diff --git a/poky/meta/conf/distro/include/init-manager-sysvinit.inc b/poky/meta/conf/distro/include/init-manager-sysvinit.inc
new file mode 100644
index 000000000..6b662d60b
--- /dev/null
+++ b/poky/meta/conf/distro/include/init-manager-sysvinit.inc
@@ -0,0 +1,6 @@
+# Use sysvinit for system initialization
+DISTRO_FEATURES_append = " sysvinit"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " systemd"
+VIRTUAL-RUNTIME_init_manager ??= "sysvinit"
+VIRTUAL-RUNTIME_initscripts ??= "initscripts"
+VIRTUAL-RUNTIME_login_manager ??= "busybox"
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 64856e105..ab0c6c554 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -28,7 +28,7 @@
# Please keep this list in alphabetical order.
#
RECIPE_MAINTAINER_pn-acl = "Chen Qi <Qi.Chen@windriver.com>"
-RECIPE_MAINTAINER_pn-acpica = "Fathi Boudra <fathi.boudra@linaro.org>"
+RECIPE_MAINTAINER_pn-acpica = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-acpid = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-adwaita-icon-theme = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-alsa-lib = "Tanu Kaskinen <tanuk@iki.fi>"
@@ -66,6 +66,7 @@ RECIPE_MAINTAINER_pn-bind = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-binutils = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-binutils-cross-${TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-binutils-cross-testsuite = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-binutils-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-bison = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-bjam-native = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -114,8 +115,6 @@ RECIPE_MAINTAINER_pn-core-image-full-cmdline = "Richard Purdie <richard.purdie@l
RECIPE_MAINTAINER_pn-core-image-kernel-dev = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-sato = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-sato-sdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-lsb = "Richard Purdie <richard.purdie@linuxfoundation.org>"
-RECIPE_MAINTAINER_pn-core-image-lsb-sdk = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-testmaster-initramfs = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-testmaster = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-clutter = "Richard Purdie <richard.purdie@linuxfoundation.org>"
@@ -136,7 +135,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-cve-update-db-native = "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>"
@@ -144,6 +143,7 @@ RECIPE_MAINTAINER_pn-dbus-glib = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-dbus-test = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-dbus-wait = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-debianutils = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER_pn-dejagnu = "Nathan Rossi <nathan@nathanrossi.com>"
RECIPE_MAINTAINER_pn-depmodwrapper-cross = "Mark Hatle <mark.hatle@windriver.com>"
RECIPE_MAINTAINER_pn-desktop-file-utils = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-dhcp = "Hongxu Jia <hongxu.jia@windriver.com>"
@@ -165,9 +165,6 @@ 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>"
RECIPE_MAINTAINER_pn-elfutils = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-ell = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-enchant = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -200,7 +197,7 @@ RECIPE_MAINTAINER_pn-gcc-crosssdk-initial-${SDK_SYS} = "Khem Raj <raj.khem@gmail
RECIPE_MAINTAINER_pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gcc-source-8.3.0 = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-gcc-source-9.1.0 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-gcc-source-9.2.0 = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gccmakedep = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gconf = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -217,10 +214,10 @@ RECIPE_MAINTAINER_pn-glew = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-glib-networking = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-glibc = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER_pn-glibc-initial = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-glibc-locale = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-glibc-mtrace = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-glibc-scripts = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-glibc-testsuite = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-glide = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
RECIPE_MAINTAINER_pn-gmp = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gnome-desktop-testing = "Ross Burton <ross.burton@intel.com>"
@@ -326,6 +323,7 @@ RECIPE_MAINTAINER_pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libdmx = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libdrm = "Otavio Salvador <otavio.salvador@ossystems.com.br>"
+RECIPE_MAINTAINER_pn-libedit = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libepoxy = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-liberation-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-liberror-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
@@ -380,13 +378,13 @@ RECIPE_MAINTAINER_pn-libpsl = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-librepo = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-librsvg = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libsamplerate0 = "Tanu Kaskinen <tanuk@iki.fi>"
-RECIPE_MAINTAINER_pn-libsdl = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-libsdl2 = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-libsecret = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libsm = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libsndfile1 = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-libsolv = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libsoup-2.4 = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER_pn-libssp-nonshared = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-libtasn1 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libtest-needs-perl = "Tim Orling <timothy.t.orling@linux.intel.com>"
RECIPE_MAINTAINER_pn-libtheora = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -405,7 +403,6 @@ RECIPE_MAINTAINER_pn-libva-utils = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-libvorbis = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-libwebp = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-libx11 = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libx11-diet = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxau = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxcb = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxcomposite = "Armin Kuster <akuster808@gmail.com>"
@@ -442,8 +439,6 @@ RECIPE_MAINTAINER_pn-libxt = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxtst = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxv = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxvmc = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxxf86dga = "Armin Kuster <akuster808@gmail.com>"
-RECIPE_MAINTAINER_pn-libxxf86misc = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libxxf86vm = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-libyaml = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-lighttpd = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -457,9 +452,7 @@ RECIPE_MAINTAINER_pn-linux-yocto-tiny = "Bruce Ashfield <bruce.ashfield@gmail.co
RECIPE_MAINTAINER_pn-llvm = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-logrotate = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-lrzsz = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-lsb = "Hongxu Jia <hongxu.jia@windriver.com>"
-RECIPE_MAINTAINER_pn-lsbinitscripts = "Ross Burton <ross.burton@intel.com>"
-RECIPE_MAINTAINER_pn-lsbtest = "Yi Zhao <yi.zhao@windriver.com>"
+RECIPE_MAINTAINER_pn-lsb-release = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-lsof = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-ltp = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-lttng-modules = "Richard Purdie <richard.purdie@linuxfoundation.org>"
@@ -517,6 +510,7 @@ RECIPE_MAINTAINER_pn-mtd-utils = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-mtdev = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-mtools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-musl = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER_pn-musl-obstack = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-musl-utils = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-mx-1.0 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-nasm = "Richard Purdie <richard.purdie@linuxfoundation.org>"
@@ -586,38 +580,34 @@ RECIPE_MAINTAINER_pn-ptest-runner = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-pulseaudio = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-pulseaudio-client-conf-sato = "Tanu Kaskinen <tanuk@iki.fi>"
RECIPE_MAINTAINER_pn-puzzles = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-python = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python-native = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python-nose = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python-numpy = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python-scons = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python-scons-native = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python-setuptools = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3 = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-async = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-dbus = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-docutils = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-extras = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-file-utils = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-git = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-gitdb = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-iniparse = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-mako = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-native = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-nose = "Derek Straka <derek@asterius.io>"
-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-python = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python-native = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python-setuptools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3 = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-async = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-dbus = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-docutils = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-extras = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-file-utils = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-git = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-gitdb = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-iniparse = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-mako = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-native = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-nose = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-numpy = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-pbr = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-pip = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-pycairo = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-pygments = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-pygobject = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
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>"
-RECIPE_MAINTAINER_pn-python3-subunit = "Derek Straka <derek@asterius.io>"
-RECIPE_MAINTAINER_pn-python3-testtools = "Derek Straka <derek@asterius.io>"
+RECIPE_MAINTAINER_pn-python3-setuptools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-six = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-smmap = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-subunit = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
+RECIPE_MAINTAINER_pn-python3-testtools = "Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>"
RECIPE_MAINTAINER_pn-qemu = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-qemu-helper-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-qemu-native = "Richard Purdie <richard.purdie@linuxfoundation.org>"
@@ -660,7 +650,7 @@ RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-squashfs-tools = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-startup-notification = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-strace = "Robert Yang <liezhi.yang@windriver.com>"
-RECIPE_MAINTAINER_pn-stress = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER_pn-stress-ng = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-subversion = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-sudo = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-swig = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -717,8 +707,10 @@ RECIPE_MAINTAINER_pn-vim-tiny = "Tom Rini <trini@konsulko.com>"
RECIPE_MAINTAINER_pn-virglrenderer = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-volatile-binds = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-vte = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-vulkan = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-vulkan-demos = "Ross Burton <ross.burton@intel.com>"
+RECIPE_MAINTAINER_pn-vulkan-headers = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER_pn-vulkan-loader = "Anuj Mittal <anuj.mittal@intel.com>"
+RECIPE_MAINTAINER_pn-vulkan-tools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-waffle = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-watchdog = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-watchdog-config = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -726,7 +718,6 @@ RECIPE_MAINTAINER_pn-wayland = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-wayland-protocols = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-webkitgtk = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-weston = "Denys Dmytriyenko <denys@ti.com>"
-RECIPE_MAINTAINER_pn-weston-conf = "Denys Dmytriyenko <denys@ti.com>"
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>"
diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc
index 0dc085091..bb4724cf5 100644
--- a/poky/meta/conf/distro/include/ptest-packagelists.inc
+++ b/poky/meta/conf/distro/include/ptest-packagelists.inc
@@ -77,3 +77,5 @@ PTESTS_SLOW = "\
util-linux-ptest \
valgrind-ptest \
"
+
+PTESTS_SLOW_remove_riscv64 = "valgrind-ptest"
diff --git a/poky/meta/conf/distro/include/security_flags.inc b/poky/meta/conf/distro/include/security_flags.inc
index 620978a8e..aaf04e9e5 100644
--- a/poky/meta/conf/distro/include/security_flags.inc
+++ b/poky/meta/conf/distro/include/security_flags.inc
@@ -36,7 +36,7 @@ SECURITY_CFLAGS_remove_powerpc = "${SECURITY_PIE_CFLAGS}"
SECURITY_CFLAGS_pn-libgcc_powerpc = ""
SECURITY_CFLAGS_pn-glibc = ""
-SECURITY_CFLAGS_pn-glibc-initial = ""
+SECURITY_CFLAGS_pn-glibc-testsuite = ""
SECURITY_CFLAGS_pn-gcc-runtime = ""
SECURITY_CFLAGS_pn-grub = ""
SECURITY_CFLAGS_pn-grub-efi = ""
@@ -60,7 +60,7 @@ TARGET_LDFLAGS_append_class-target = " ${SECURITY_LDFLAGS}"
SECURITY_STACK_PROTECTOR_pn-gcc-runtime = ""
SECURITY_STACK_PROTECTOR_pn-glibc = ""
-SECURITY_STACK_PROTECTOR_pn-glibc-initial = ""
+SECURITY_STACK_PROTECTOR_pn-glibc-testsuite = ""
# All xorg module drivers need to be linked this way as well and are
# handled in recipes-graphics/xorg-driver/xorg-driver-common.inc
SECURITY_LDFLAGS_pn-xserver-xorg = "${SECURITY_X_LDFLAGS}"
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index 32176dae4..d8f434609 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -14,18 +14,19 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}g++ = "gcc-crosssdk-${SDK_SYS}"
PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs = "nativesdk-gcc-runtime"
# Default libc config
-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 ?= "9.%"
SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.32%"
GDBVERSION ?= "8.3%"
-GLIBCVERSION ?= "2.29%"
-LINUXLIBCVERSION ?= "5.0%"
-QEMUVERSION ?= "4.0%"
+GLIBCVERSION ?= "2.30%"
+LINUXLIBCVERSION ?= "5.2%"
+QEMUVERSION ?= "4.1%"
GOVERSION ?= "1.12%"
+# This can not use wildcards like 8.0.% since it is also used in mesa to denote
+# llvm version being used, so always bump it with llvm recipe version bump
+LLVMVERSION ?= "8.0.1"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
@@ -59,8 +60,6 @@ PREFERRED_VERSION_glibc-locale ?= "${GLIBCVERSION}"
PREFERRED_VERSION_glibc-mtrace ?= "${GLIBCVERSION}"
PREFERRED_VERSION_glibc-scripts ?= "${GLIBCVERSION}"
PREFERRED_VERSION_nativesdk-glibc ?= "${GLIBCVERSION}"
-PREFERRED_VERSION_glibc-initial ?= "${GLIBCVERSION}"
-PREFERRED_VERSION_nativesdk-glibc-initial ?= "${GLIBCVERSION}"
PREFERRED_VERSION_cross-localedef-native ?= "${GLIBCVERSION}"
PREFERRED_VERSION_qemu ?= "${QEMUVERSION}"
@@ -76,3 +75,7 @@ PREFERRED_VERSION_go-native ?= "${GOVERSION}"
PREFERRED_VERSION_go-runtime ?= "${GOVERSION}"
PREFERRED_VERSION_nativesdk-go ?= "${GOVERSION}"
PREFERRED_VERSION_nativesdk-go-runtime ?= "${GOVERSION}"
+
+PREFERRED_VERSION_llvm = "${LLVMVERSION}"
+PREFERRED_VERSION_llvm-native = "${LLVMVERSION}"
+PREFERRED_VERSION_nativesdk-llvm = "${LLVMVERSION}"
diff --git a/poky/meta/conf/distro/include/world-broken.inc b/poky/meta/conf/distro/include/world-broken.inc
deleted file mode 100644
index 42cacfdf2..000000000
--- a/poky/meta/conf/distro/include/world-broken.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Exclude known broken packages
-#
-
-# rt-tests needs PI mutex support in libc
-EXCLUDE_FROM_WORLD_pn-rt-tests_libc-musl = "1"
-
-# error: use of undeclared identifier '_STAT_VER'
-EXCLUDE_FROM_WORLD_pn-pseudo_libc-musl = "1"
-
-# error: error.h: No such file or directory
-EXCLUDE_FROM_WORLD_pn-prelink_libc-musl = "1"
-
-# error: obstack.h: No such file or directory
-EXCLUDE_FROM_WORLD_pn-systemtap_libc-musl = "1"
-EXCLUDE_FROM_WORLD_pn-systemtap-uprobes_libc-musl = "1"
-
-# error: a parameter list without types is only allowed in a function definition
-# void (*_function)(sigval_t);
-EXCLUDE_FROM_WORLD_pn-qemu_libc-musl = "1"
-
-# error: format '%s' expects argument of type 'char *', but argument 4 has type 'int' [-Werror=format=]
-# snprintf(buf, size, "%s", strerror_r(err, sbuf, sizeof(sbuf)));
-EXCLUDE_FROM_WORLD_pn-perf_libc-musl = "1"
-
-# error: 'RTLD_NEXT' was not declared in this scope
-EXCLUDE_FROM_WORLD_pn-gcc-sanitizers_libc-musl = "1"
diff --git a/poky/meta/conf/image-uefi.conf b/poky/meta/conf/image-uefi.conf
new file mode 100644
index 000000000..aaeff12cc
--- /dev/null
+++ b/poky/meta/conf/image-uefi.conf
@@ -0,0 +1,16 @@
+# Location of EFI files inside EFI System Partition
+EFIDIR ?= "/EFI/BOOT"
+
+# Prefix where ESP is mounted inside rootfs. Set to empty if package is going
+# to be installed to ESP directly
+EFI_PREFIX ?= "/boot"
+
+# Location inside rootfs.
+EFI_FILES_PATH = "${EFI_PREFIX}${EFIDIR}"
+
+# Determine name of bootloader image
+EFI_BOOT_IMAGE ?= "bootINVALID.efi"
+EFI_BOOT_IMAGE_x86-64 = "bootx64.efi"
+EFI_BOOT_IMAGE_x86 = "bootia32.efi"
+EFI_BOOT_IMAGE_aarch64 = "bootaa64.efi"
+EFI_BOOT_IMAGE_arm = "bootarm.efi"
diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf
index 5ecb93651..95b1128ab 100644
--- a/poky/meta/conf/layer.conf
+++ b/poky/meta/conf/layer.conf
@@ -73,7 +73,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
font-alias->font-util \
systemd-boot->systemd-bootconf \
systemd->systemd-conf \
- weston->weston-conf \
+ weston->weston-init \
weston-init->weston \
weston-init->kbd \
connman->xl2tpd \
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc b/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc
index 0b47ccad0..bae169da3 100644
--- a/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc
+++ b/poky/meta/conf/machine/include/arm/feature-arm-thumb.inc
@@ -1,8 +1,6 @@
TUNEVALID[thumb] = "Support Thumb instructions"
-ARM_THUMB_SUFFIX = "${@bb.utils.contains_any('TUNE_FEATURES', 'armv4 armv5 armv6', 't', 't2', d)}"
-
# If the device supports ARM, then respect ARM_THUMB_OPT (which can be "arm" or "thumb")
# If the device doesn't support ARM, then always set "thumb" even when
# some recipe explicitly sets ARM_INSTRUCTION_SET to "arm"
@@ -23,6 +21,11 @@ python () {
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}"
+ARM_THUMB_SUFFIX = "t2"
+ARM_THUMB_SUFFIX_armv4 = "t"
+ARM_THUMB_SUFFIX_armv5 = "t"
+ARM_THUMB_SUFFIX_armv6 = "t"
+
# Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb
ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}"
diff --git a/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
index 9cf6b88fd..8c0c94304 100644
--- a/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
+++ b/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
@@ -8,6 +8,11 @@ DEFAULTTUNE ?= "powerpc"
TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
ABIEXTENSION ?= ""
+# Endian
+TUNEVALID[bigendian] = "Use PowerPC Big Endian"
+
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}"
+
TUNEVALID[m32] = "Power ELF32 standard ABI"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}"
TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc', '', d)}"
@@ -22,13 +27,24 @@ TARGET_FPU .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', 'soft', '', d)}
TUNEVALID[altivec] = "Altivec"
# Basic tune definitions
-AVAILTUNES += "powerpc powerpc-nf"
-TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft"
+AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf"
+
+TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft bigendian"
BASE_LIB_tune-powerpc-nf = "lib"
TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf"
PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf"
-TUNE_FEATURES_tune-powerpc = "m32 fpu-hard"
+TUNE_FEATURES_tune-powerpc = "m32 fpu-hard bigendian"
BASE_LIB_tune-powerpc = "lib"
TUNE_PKGARCH_tune-powerpc = "powerpc"
PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc"
+
+TUNE_FEATURES_tune-powerpcle-nf = "m32 fpu-soft"
+BASE_LIB_tune-powerpcle-nf = "lib"
+TUNE_PKGARCH_tune-powerpcle-nf = "powerpcle-nf"
+PACKAGE_EXTRA_ARCHS_tune-powerpcle-nf = "powerpcle-nf"
+
+TUNE_FEATURES_tune-powerpcle = "m32 fpu-hard"
+BASE_LIB_tune-powerpcle = "lib"
+TUNE_PKGARCH_tune-powerpcle = "powerpcle"
+PACKAGE_EXTRA_ARCHS_tune-powerpcle = "powerpcle"
diff --git a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
index d9916d43d..4bc598308 100644
--- a/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
+++ b/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -13,8 +13,14 @@ TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').spl
# user mode qemu doesn't support ppc64
MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}"
-AVAILTUNES += "powerpc64"
-TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard"
+AVAILTUNES += "powerpc64 powerpc64le"
+
+TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian"
BASE_LIB_tune-powerpc64 = "lib64"
TUNE_PKGARCH_tune-powerpc64 = "powerpc64"
PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64"
+
+TUNE_FEATURES_tune-powerpc64le = "m64 fpu-hard"
+BASE_LIB_tune-powerpc64le = "lib64"
+TUNE_PKGARCH_tune-powerpc64le = "powerpc64le"
+PACKAGE_EXTRA_ARCHS_tune-powerpc64le = "powerpc64le"
diff --git a/poky/meta/conf/machine/include/qemuboot-mips.inc b/poky/meta/conf/machine/include/qemuboot-mips.inc
index 75bb98861..978820a2e 100644
--- a/poky/meta/conf/machine/include/qemuboot-mips.inc
+++ b/poky/meta/conf/machine/include/qemuboot-mips.inc
@@ -1,9 +1,7 @@
# For runqemu
IMAGE_CLASSES += "qemuboot"
-QB_MEM = "-m 256"
QB_MACHINE = "-machine malta"
QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 console=tty"
-QB_OPT_APPEND = "-vga cirrus -show-cursor -usb -device usb-tablet"
+QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# 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-pci,rng=rng0"
-QB_SYSTEM_NAME = "qemu-system-${TUNE_ARCH}"
diff --git a/poky/meta/conf/machine/include/qemuboot-x86.inc b/poky/meta/conf/machine/include/qemuboot-x86.inc
index 82ce46d86..495418fa0 100644
--- a/poky/meta/conf/machine/include/qemuboot-x86.inc
+++ b/poky/meta/conf/machine/include/qemuboot-x86.inc
@@ -1,17 +1,15 @@
# For runqemu
IMAGE_CLASSES += "qemuboot"
-QB_SYSTEM_NAME_x86 = "qemu-system-i386"
QB_CPU_x86 = "-cpu core2duo"
QB_CPU_KVM_x86 = "-cpu core2duo"
-QB_SYSTEM_NAME_x86-64 = "qemu-system-x86_64"
QB_CPU_x86-64 = "-cpu core2duo"
QB_CPU_KVM_x86-64 = "-cpu core2duo"
QB_AUDIO_DRV = "alsa"
QB_AUDIO_OPT = "-soundhw ac97,es1370"
QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.timer=1 uvesafb.task_timeout=-1"
-QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet"
+QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# 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-pci,rng=rng0"
diff --git a/poky/meta/conf/machine/include/riscv/qemuriscv.inc b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
index 84d09fa78..a42346f36 100644
--- a/poky/meta/conf/machine/include/riscv/qemuriscv.inc
+++ b/poky/meta/conf/machine/include/riscv/qemuriscv.inc
@@ -11,7 +11,9 @@ KEEPUIMAGE = "no"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;hvc0"
-IMAGE_FSTYPES_append = " ext4"
+IMAGE_FSTYPES += "ext4 wic.qcow2"
+
+WKS_FILE ?= "qemuriscv.wks"
MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
@@ -24,9 +26,8 @@ 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_DEFAULT_BIOS = "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"
@@ -35,16 +36,3 @@ QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,por
# 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
index 1e3a1081e..25d046349 100644
--- a/poky/meta/conf/machine/include/riscv/tune-riscv.inc
+++ b/poky/meta/conf/machine/include/riscv/tune-riscv.inc
@@ -3,16 +3,16 @@ 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"
+TUNEVALID[bigendian] = "Big endian mode"
AVAILTUNES += "riscv64 riscv32"
-TUNE_FEATURES_tune-riscv64 = "riscv64 littleendian"
+TUNE_FEATURES_tune-riscv64 = "riscv64"
TUNE_ARCH_tune-riscv64 = "riscv64"
TUNE_PKGARCH_tune-riscv64 = "riscv64"
PACKAGE_EXTRA_ARCHS_tune-riscv64 = "riscv64"
-TUNE_FEATURES_tune-riscv32 = "riscv32 littleendian"
+TUNE_FEATURES_tune-riscv32 = "riscv32"
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-arm1136jf-s.inc b/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
index d883eba7c..b25995d49 100644
--- a/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
+++ b/poky/meta/conf/machine/include/tune-arm1136jf-s.inc
@@ -6,8 +6,11 @@ TUNEVALID[arm1136jfs] = "Enable arm1136jfs specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', ' -mcpu=arm1136jf-s', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1136jfs', 'armv6:', '' ,d)}"
-AVAILTUNES += "arm1136jfs"
+AVAILTUNES += "arm1136jfs arm1136jfshf"
ARMPKGARCH_tune-arm1136jfs = "arm1136jfs"
+ARMPKGARCH_tune-arm1136jfshf = "arm1136jfs"
# mcpu is used so don't use armv6 as we don't want march
TUNE_FEATURES_tune-arm1136jfs = "arm arm1136jfs"
+TUNE_FEATURES_tune-arm1136jfshf = "${TUNE_FEATURES_tune-arm1136jfs} callconvention-hard"
PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6} arm1136jfs-vfp"
+PACKAGE_EXTRA_ARCHS_tune-arm1136jfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1136jfshf-vfp"
diff --git a/poky/meta/conf/machine/include/tune-arm1176jz-s.inc b/poky/meta/conf/machine/include/tune-arm1176jz-s.inc
new file mode 100644
index 000000000..c741e8052
--- /dev/null
+++ b/poky/meta/conf/machine/include/tune-arm1176jz-s.inc
@@ -0,0 +1,17 @@
+DEFAULTTUNE ?= "arm1176jzs"
+
+require conf/machine/include/arm/arch-armv6.inc
+
+TUNEVALID[arm1176jzs] = "Enable arm1176jzs specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', ' -mcpu=arm1176jz-s', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'arm1176jzs', 'armv6:', '' ,d)}"
+
+AVAILTUNES += "arm1176jzs"
+ARMPKGARCH_tune-arm1176jzs = "arm1176jzs"
+TUNE_FEATURES_tune-arm1176jzs = "arm thumb arm1176jzs"
+PACKAGE_EXTRA_ARCHS_tune-arm1176jzs = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp} arm1176jzs arm1176jzst"
+
+AVAILTUNES += "arm1176jzs-be"
+ARMPKGARCH_tune-arm1176jzs-be = "${ARMPKGARCH_tune-arm1176jzs}"
+TUNE_FEATURES_tune-arm1176jzs-be = "${TUNE_FEATURES_tune-arm1176jzs} bigendian"
+PACKAGE_EXTRA_ARCHS_tune-arm1176jzs-be = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp} arm1176jzsb arm1176jzstb"
diff --git a/poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc b/poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc
new file mode 100644
index 000000000..d05e93f51
--- /dev/null
+++ b/poky/meta/conf/machine/include/tune-cortexa57-cortexa53.inc
@@ -0,0 +1,18 @@
+DEFAULTTUNE ?= "cortexa57-cortexa53"
+require conf/machine/include/arm/arch-armv8a.inc
+
+TUNEVALID[cortexa57-cortexa53] = "Enable big.LITTLE Cortex-A57.Cortex-A53 specific processor optimizations"
+TUNECONFLICTS[aarch64] = "armv4 armv5 armv6 armv7 armv7a"
+
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", " -march=armv8-a", "" ,d)}"
+
+MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", "cortexa57-cortexa53:", "" ,d)}"
+
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", " -mtune=cortex-a57.cortex-a53", "", d)}"
+
+# Little Endian base configs
+AVAILTUNES += "cortexa57-cortexa53"
+ARMPKGARCH_tune-cortexa57-cortexa53 = "cortexa57-cortexa53"
+TUNE_FEATURES_tune-cortexa57-cortexa53 = "${TUNE_FEATURES_tune-aarch64} cortexa57-cortexa53"
+PACKAGE_EXTRA_ARCHS_tune-cortexa57-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-aarch64} cortexa57-cortexa53"
+BASE_LIB_tune-cortexa57-cortexa53 = "lib64"
diff --git a/poky/meta/conf/machine/include/tune-ep9312.inc b/poky/meta/conf/machine/include/tune-ep9312.inc
index 4d9282162..be20eb363 100644
--- a/poky/meta/conf/machine/include/tune-ep9312.inc
+++ b/poky/meta/conf/machine/include/tune-ep9312.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "ep9312"
require conf/machine/include/arm/arch-armv4.inc
-TUNEVALID[ep9312] = "Enable Intel PXA27x specific processor optimizations"
+TUNEVALID[ep9312] = "Enable Cirrus Logic EP9312 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', ' -march=ep9312 -mcpu=ep9312', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'ep9312', 'armv4:', '' ,d)}"
diff --git a/poky/meta/conf/machine/include/tune-power5.inc b/poky/meta/conf/machine/include/tune-power5.inc
index 39501bd8c..48c33fb27 100644
--- a/poky/meta/conf/machine/include/tune-power5.inc
+++ b/poky/meta/conf/machine/include/tune-power5.inc
@@ -6,12 +6,12 @@ TUNEVALID[power5] = "Enable IBM Power5 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power5', ' -mcpu=power5', '', d)}"
AVAILTUNES += "ppcp5 ppc64p5"
-TUNE_FEATURES_tune-ppcp5 = "m32 fpu-hard power5 altivec"
+TUNE_FEATURES_tune-ppcp5 = "m32 fpu-hard power5 altivec bigendian"
BASE_LIB_tune-ppcp5 = "lib"
TUNE_PKGARCH_tune-ppcp5 = "ppcp5"
PACKAGE_EXTRA_ARCHS_tune-ppcp5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp5"
-TUNE_FEATURES_tune-ppc64p5 = "m64 fpu-hard power5 altivec"
+TUNE_FEATURES_tune-ppc64p5 = "m64 fpu-hard power5 altivec bigendian"
BASE_LIB_tune-ppc64p5 = "lib64"
TUNE_PKGARCH_tune-ppc64p5 = "ppc64p5"
PACKAGE_EXTRA_ARCHS_tune-ppc64p5 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p5"
diff --git a/poky/meta/conf/machine/include/tune-power6.inc b/poky/meta/conf/machine/include/tune-power6.inc
index 1d5e8ecc2..b70866021 100644
--- a/poky/meta/conf/machine/include/tune-power6.inc
+++ b/poky/meta/conf/machine/include/tune-power6.inc
@@ -6,12 +6,12 @@ TUNEVALID[power6] = "Enable IBM Power6 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power6', ' -mcpu=power6', '', d)}"
AVAILTUNES += "ppcp6 ppc64p6"
-TUNE_FEATURES_tune-ppcp6 = "m32 fpu-hard power6 altivec"
+TUNE_FEATURES_tune-ppcp6 = "m32 fpu-hard power6 altivec bigendian"
BASE_LIB_tune-ppcp6 = "lib"
TUNE_PKGARCH_tune-ppcp6 = "ppcp6"
PACKAGE_EXTRA_ARCHS_tune-ppcp6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp6"
-TUNE_FEATURES_tune-ppc64p6 = "m64 fpu-hard power6 altivec"
+TUNE_FEATURES_tune-ppc64p6 = "m64 fpu-hard power6 altivec bigendian"
BASE_LIB_tune-ppc64p6 = "lib64"
TUNE_PKGARCH_tune-ppc64p6 = "ppc64p6"
PACKAGE_EXTRA_ARCHS_tune-ppc64p6 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p6"
diff --git a/poky/meta/conf/machine/include/tune-power7.inc b/poky/meta/conf/machine/include/tune-power7.inc
index 8f3f037eb..e976cc046 100644
--- a/poky/meta/conf/machine/include/tune-power7.inc
+++ b/poky/meta/conf/machine/include/tune-power7.inc
@@ -6,12 +6,12 @@ TUNEVALID[power7] = "Enable IBM Power7 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'power7', ' -mcpu=power7', '', d)}"
AVAILTUNES += "ppcp7 ppc64p7"
-TUNE_FEATURES_tune-ppcp7 = "m32 fpu-hard power7 altivec"
+TUNE_FEATURES_tune-ppcp7 = "m32 fpu-hard power7 altivec bigendian"
BASE_LIB_tune-ppcp7 = "lib"
TUNE_PKGARCH_tune-ppcp7 = "ppcp7"
PACKAGE_EXTRA_ARCHS_tune-ppcp7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppcp7"
-TUNE_FEATURES_tune-ppc64p7 = "m64 fpu-hard power7 altivec"
+TUNE_FEATURES_tune-ppc64p7 = "m64 fpu-hard power7 altivec bigendian"
BASE_LIB_tune-ppc64p7 = "lib64"
TUNE_PKGARCH_tune-ppc64p7 = "ppc64p7"
PACKAGE_EXTRA_ARCHS_tune-ppc64p7 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64p7"
diff --git a/poky/meta/conf/machine/include/tune-ppc476.inc b/poky/meta/conf/machine/include/tune-ppc476.inc
index d0011ff21..31eecc435 100644
--- a/poky/meta/conf/machine/include/tune-ppc476.inc
+++ b/poky/meta/conf/machine/include/tune-ppc476.inc
@@ -6,7 +6,7 @@ TUNEVALID[ppc476] = "Enable ppc476 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc476', ' -mcpu=476', '', d)}"
AVAILTUNES += "ppc476"
-TUNE_FEATURES_tune-ppc476 = "m32 fpu-hard ppc476"
+TUNE_FEATURES_tune-ppc476 = "m32 fpu-hard ppc476 bigendian"
TUNE_PKGARCH_tune-ppc476 = "ppc476"
PACKAGE_EXTRA_ARCHS_tune-ppc476 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc476"
diff --git a/poky/meta/conf/machine/include/tune-ppc603e.inc b/poky/meta/conf/machine/include/tune-ppc603e.inc
index 13f60dd06..b110f1387 100644
--- a/poky/meta/conf/machine/include/tune-ppc603e.inc
+++ b/poky/meta/conf/machine/include/tune-ppc603e.inc
@@ -6,7 +6,7 @@ TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc603e', ' -mcpu=603e', '', d)}"
AVAILTUNES += "ppc603e"
-TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e"
+TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e bigendian"
TUNE_PKGARCH_tune-ppc603e = "ppc603e"
PACKAGE_EXTRA_ARCHS_tune-ppc603e = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc603e"
diff --git a/poky/meta/conf/machine/include/tune-ppc7400.inc b/poky/meta/conf/machine/include/tune-ppc7400.inc
index 425e8bd21..92d902994 100644
--- a/poky/meta/conf/machine/include/tune-ppc7400.inc
+++ b/poky/meta/conf/machine/include/tune-ppc7400.inc
@@ -6,7 +6,7 @@ TUNEVALID[ppc7400] = "Enable ppc7400 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppc7400', ' -mcpu=7400 -mno-spe', '', d)}"
AVAILTUNES += "ppc7400"
-TUNE_FEATURES_tune-ppc7400 = "m32 fpu-hard ppc7400 altivec"
+TUNE_FEATURES_tune-ppc7400 = "m32 fpu-hard ppc7400 altivec bigendian"
TUNE_PKGARCH_tune-ppc7400 = "ppc7400"
PACKAGE_EXTRA_ARCHS_tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc7400"
diff --git a/poky/meta/conf/machine/include/tune-ppce300c2.inc b/poky/meta/conf/machine/include/tune-ppce300c2.inc
index af21f601a..6adeb4bde 100644
--- a/poky/meta/conf/machine/include/tune-ppce300c2.inc
+++ b/poky/meta/conf/machine/include/tune-ppce300c2.inc
@@ -6,6 +6,6 @@ TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce300c2', ' -mcpu=e300c2', '', d)}"
AVAILTUNES += "ppce300c2"
-TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2"
+TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2 bigendian"
TUNE_PKGARCH_tune-ppce300c2 = "ppce300c2"
PACKAGE_EXTRA_ARCHS_tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c2"
diff --git a/poky/meta/conf/machine/include/tune-ppce500.inc b/poky/meta/conf/machine/include/tune-ppce500.inc
index 89ec3f38a..abf81b90c 100644
--- a/poky/meta/conf/machine/include/tune-ppce500.inc
+++ b/poky/meta/conf/machine/include/tune-ppce500.inc
@@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
ABIEXTENSION .= "${SPEABIEXTENSION}"
AVAILTUNES += "ppce500"
-TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500"
+TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500 bigendian"
TUNE_PKGARCH_tune-ppce500 = "ppce500"
PACKAGE_EXTRA_ARCHS_tune-ppce500 = "ppce500"
diff --git a/poky/meta/conf/machine/include/tune-ppce500mc.inc b/poky/meta/conf/machine/include/tune-ppce500mc.inc
index bc26a0f87..9f8a17280 100644
--- a/poky/meta/conf/machine/include/tune-ppce500mc.inc
+++ b/poky/meta/conf/machine/include/tune-ppce500mc.inc
@@ -6,7 +6,7 @@ TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'ppce500mc', ' -mcpu=e500mc', '', d)}"
AVAILTUNES += "ppce500mc"
-TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc"
+TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc bigendian"
TUNE_PKGARCH_tune-ppce500mc = "ppce500mc"
PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce500mc"
diff --git a/poky/meta/conf/machine/include/tune-ppce500v2.inc b/poky/meta/conf/machine/include/tune-ppce500v2.inc
index d318bba36..f6c7c1762 100644
--- a/poky/meta/conf/machine/include/tune-ppce500v2.inc
+++ b/poky/meta/conf/machine/include/tune-ppce500v2.inc
@@ -15,6 +15,6 @@ SPEABIEXTENSION = "${@bb.utils.filter('TUNE_FEATURES', 'spe', d)}"
ABIEXTENSION .= "${SPEABIEXTENSION}"
AVAILTUNES += "ppce500v2"
-TUNE_FEATURES_tune-ppce500v2 = "m32 ppce500v2"
+TUNE_FEATURES_tune-ppce500v2 = "m32 ppce500v2 bigendian"
TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2"
PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2"
diff --git a/poky/meta/conf/machine/include/tune-ppce5500.inc b/poky/meta/conf/machine/include/tune-ppce5500.inc
index cebb24406..acc6a50fc 100644
--- a/poky/meta/conf/machine/include/tune-ppce5500.inc
+++ b/poky/meta/conf/machine/include/tune-ppce5500.inc
@@ -6,12 +6,12 @@ TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e5500', ' -mcpu=e5500', '', d)}"
AVAILTUNES += "ppce5500 ppc64e5500"
-TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500"
+TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500 bigendian"
BASE_LIB_tune-ppce5500 = "lib"
TUNE_PKGARCH_tune-ppce5500 = "ppce5500"
PACKAGE_EXTRA_ARCHS_tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce5500"
-TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500"
+TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500 bigendian"
BASE_LIB_tune-ppc64e5500 = "lib64"
TUNE_PKGARCH_tune-ppc64e5500 = "ppc64e5500"
PACKAGE_EXTRA_ARCHS_tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e5500"
diff --git a/poky/meta/conf/machine/include/tune-ppce6500.inc b/poky/meta/conf/machine/include/tune-ppce6500.inc
index 5db7e760c..d12d218d0 100644
--- a/poky/meta/conf/machine/include/tune-ppce6500.inc
+++ b/poky/meta/conf/machine/include/tune-ppce6500.inc
@@ -6,12 +6,12 @@ TUNEVALID[e6500] = "Enable Freescale e6500 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'e6500', ' -mcpu=e6500', '', d)}"
AVAILTUNES += "ppce6500 ppc64e6500"
-TUNE_FEATURES_tune-ppce6500 = "m32 fpu-hard e6500 altivec"
+TUNE_FEATURES_tune-ppce6500 = "m32 fpu-hard e6500 altivec bigendian"
BASE_LIB_tune-ppce6500 = "lib"
TUNE_PKGARCH_tune-ppce6500 = "ppce6500"
PACKAGE_EXTRA_ARCHS_tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce6500"
-TUNE_FEATURES_tune-ppc64e6500 = "m64 fpu-hard e6500 altivec"
+TUNE_FEATURES_tune-ppc64e6500 = "m64 fpu-hard e6500 altivec bigendian"
BASE_LIB_tune-ppc64e6500 = "lib64"
TUNE_PKGARCH_tune-ppc64e6500 = "ppc64e6500"
PACKAGE_EXTRA_ARCHS_tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e6500"
diff --git a/poky/meta/conf/machine/include/x86-base.inc b/poky/meta/conf/machine/include/x86-base.inc
index 686f93823..0227f3c28 100644
--- a/poky/meta/conf/machine/include/x86-base.inc
+++ b/poky/meta/conf/machine/include/x86-base.inc
@@ -18,7 +18,7 @@ SERIAL_CONSOLES ?= "115200;ttyS0"
# kernel-related variables
#
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "5.0%"
+PREFERRED_VERSION_linux-yocto ??= "5.2%"
#
# XSERVER subcomponents, used to build the XSERVER variable
diff --git a/poky/meta/conf/machine/qemuarm.conf b/poky/meta/conf/machine/qemuarm.conf
index 0a2c99531..26f40b141 100644
--- a/poky/meta/conf/machine/qemuarm.conf
+++ b/poky/meta/conf/machine/qemuarm.conf
@@ -11,7 +11,6 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
# For runqemu
QB_SYSTEM_NAME = "qemu-system-arm"
-QB_MEM = "-m 512"
QB_MACHINE = "-machine virt"
QB_CPU = "-cpu cortex-a15"
# Standard Serial console
diff --git a/poky/meta/conf/machine/qemuarm64.conf b/poky/meta/conf/machine/qemuarm64.conf
index 353ac927d..ec2a887bd 100644
--- a/poky/meta/conf/machine/qemuarm64.conf
+++ b/poky/meta/conf/machine/qemuarm64.conf
@@ -11,7 +11,6 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
# For runqemu
QB_SYSTEM_NAME = "qemu-system-aarch64"
-QB_MEM = "-m 512"
QB_MACHINE = "-machine virt"
QB_CPU = "-cpu cortex-a57"
QB_CPU_KVM = "-cpu host"
diff --git a/poky/meta/conf/machine/qemuarmv5.conf b/poky/meta/conf/machine/qemuarmv5.conf
index 1c21d3342..fb4789fda 100644
--- a/poky/meta/conf/machine/qemuarmv5.conf
+++ b/poky/meta/conf/machine/qemuarmv5.conf
@@ -17,7 +17,7 @@ QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0,115200 console=tty"
QB_OPT_APPEND = "-show-cursor -usb -device usb-tablet"
# 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-pci,rng=rng0"
-PREFERRED_VERSION_linux-yocto ??= "5.0%"
+PREFERRED_VERSION_linux-yocto ??= "5.2%"
QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
KMACHINE_qemuarmv5 = "qemuarm"
diff --git a/poky/meta/conf/machine/qemumips.conf b/poky/meta/conf/machine/qemumips.conf
index 48d9f41d9..31ad75448 100644
--- a/poky/meta/conf/machine/qemumips.conf
+++ b/poky/meta/conf/machine/qemumips.conf
@@ -10,3 +10,5 @@ KERNEL_IMAGETYPE = "vmlinux"
KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1"
+
+QB_SYSTEM_NAME = "qemu-system-mips"
diff --git a/poky/meta/conf/machine/qemumips64.conf b/poky/meta/conf/machine/qemumips64.conf
index 1872e7b62..6d5174665 100644
--- a/poky/meta/conf/machine/qemumips64.conf
+++ b/poky/meta/conf/machine/qemumips64.conf
@@ -12,3 +12,5 @@ KERNEL_IMAGETYPE = "vmlinux"
KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1"
+
+QB_SYSTEM_NAME = "qemu-system-mips64"
diff --git a/poky/meta/conf/machine/qemuriscv64.conf b/poky/meta/conf/machine/qemuriscv64.conf
index dba8f09e9..99b48b309 100644
--- a/poky/meta/conf/machine/qemuriscv64.conf
+++ b/poky/meta/conf/machine/qemuriscv64.conf
@@ -4,8 +4,6 @@
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/conf/machine/qemux86-64.conf b/poky/meta/conf/machine/qemux86-64.conf
index 383e3bd6f..648cf2fe8 100644
--- a/poky/meta/conf/machine/qemux86-64.conf
+++ b/poky/meta/conf/machine/qemux86-64.conf
@@ -18,12 +18,16 @@ KERNEL_IMAGETYPE = "bzImage"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1"
+# Install swrast and glx if opengl is in DISTRO_FEATURES and x32 is not in use.
+# This is because gallium swrast driver was found to crash X server on startup in qemu x32.
XSERVER = "xserver-xorg \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', \
+ bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'mesa-driver-swrast xserver-xorg-extension-glx', d), '', d)} \
xf86-video-cirrus \
xf86-video-fbdev \
xf86-video-vmware \
xf86-video-modesetting \
+ xf86-video-vesa \
xserver-xorg-module-libint10 \
"
@@ -39,3 +43,6 @@ module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}"
WKS_FILE ?= "qemux86-directdisk.wks"
do_image_wic[depends] += "syslinux:do_populate_sysroot syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
+
+#For runqemu
+QB_SYSTEM_NAME = "qemu-system-x86_64"
diff --git a/poky/meta/conf/machine/qemux86.conf b/poky/meta/conf/machine/qemux86.conf
index 272ad1e18..8e0da8207 100644
--- a/poky/meta/conf/machine/qemux86.conf
+++ b/poky/meta/conf/machine/qemux86.conf
@@ -24,6 +24,7 @@ XSERVER = "xserver-xorg \
xf86-video-fbdev \
xf86-video-vmware \
xf86-video-modesetting \
+ xf86-video-vesa \
xserver-xorg-module-libint10 \
"
@@ -39,3 +40,6 @@ module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}"
WKS_FILE ?= "qemux86-directdisk.wks"
do_image_wic[depends] += "syslinux:do_populate_sysroot syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
+
+#For runqemu
+QB_SYSTEM_NAME = "qemu-system-i386"
diff --git a/poky/meta/conf/multilib.conf b/poky/meta/conf/multilib.conf
index 65a28ddbd..cfed3fbbd 100644
--- a/poky/meta/conf/multilib.conf
+++ b/poky/meta/conf/multilib.conf
@@ -29,4 +29,4 @@ PKG_CONFIG_PATH[vardepvalueexclude] = ":${WORKDIR}/recipe-sysroot/${datadir}/pkg
# These recipes don't need multilib variants, the ${BPN} PROVDES/RPROVDES
# ${MLPREFIX}${BPN}
-NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts"
+NON_MULTILIB_RECIPES = "grub grub-efi make-mod-scripts ovmf"
diff --git a/poky/meta/conf/sanity.conf b/poky/meta/conf/sanity.conf
index 45e675251..8b2f65539 100644
--- a/poky/meta/conf/sanity.conf
+++ b/poky/meta/conf/sanity.conf
@@ -3,7 +3,7 @@
# See sanity.bbclass
#
# Expert users can confirm their sanity with "touch conf/sanity.conf"
-BB_MIN_VERSION = "1.39.1"
+BB_MIN_VERSION = "1.43.2"
SANITY_ABIFILE = "${TMPDIR}/abi_version"
diff --git a/poky/meta/files/common-licenses/Apache-2.0-with-LLVM-exception b/poky/meta/files/common-licenses/Apache-2.0-with-LLVM-exception
new file mode 100644
index 000000000..f9dc50615
--- /dev/null
+++ b/poky/meta/files/common-licenses/Apache-2.0-with-LLVM-exception
@@ -0,0 +1,219 @@
+ 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.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+--- LLVM Exceptions to the Apache 2.0 License ----
+
+As an exception, if, as a result of your compiling your source code, portions
+of this Software are embedded into an Object form of such source code, you
+may redistribute such embedded portions in such Object form without complying
+with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
+
+In addition, if you combine or link compiled forms of this Software with
+software that is licensed under the GPLv2 ("Combined Software") and if a
+court of competent jurisdiction determines that the patent provision (Section
+3), the indemnity provision (Section 9) or other Section of the License
+conflicts with the conditions of the GPLv2, you may retroactively and
+prospectively choose to deem waived or otherwise exclude such Section(s) of
+the License, but only in their entirety and only with respect to the Combined
+Software.
+
diff --git a/poky/meta/files/common-licenses/BSD-2-Clause b/poky/meta/files/common-licenses/BSD-2-Clause
index ade0f34d5..f1917d6b7 100644
--- a/poky/meta/files/common-licenses/BSD-2-Clause
+++ b/poky/meta/files/common-licenses/BSD-2-Clause
@@ -1,13 +1,10 @@
-The FreeBSD Copyright
-
-Copyright 1992-2010 The FreeBSD Project. All rights reserved.
+Copyright <YEAR> <COPYRIGHT HOLDER>
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS`` AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project.
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/poky/meta/files/ext-sdk-prepare.py b/poky/meta/files/ext-sdk-prepare.py
index 96c5212a2..163d5e991 100644
--- a/poky/meta/files/ext-sdk-prepare.py
+++ b/poky/meta/files/ext-sdk-prepare.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Prepare the build system within the extensible SDK
diff --git a/poky/meta/lib/oe/buildhistory_analysis.py b/poky/meta/lib/oe/buildhistory_analysis.py
index 62c7a2e58..708e1b388 100644
--- a/poky/meta/lib/oe/buildhistory_analysis.py
+++ b/poky/meta/lib/oe/buildhistory_analysis.py
@@ -181,7 +181,7 @@ class ChangeRecord:
diff = difflib.unified_diff(alines, blines, self.fieldname, self.fieldname, lineterm='')
out += '\n '.join(list(diff)[2:])
out += '\n --'
- elif self.fieldname in img_monitor_files or '/image-files/' in self.path:
+ elif self.fieldname in img_monitor_files or '/image-files/' in self.path or self.fieldname == "sysroot":
if self.filechanges or (self.oldvalue and self.newvalue):
fieldname = self.fieldname
if '/image-files/' in self.path:
@@ -282,7 +282,7 @@ def file_list_to_dict(lines):
return adict
-def compare_file_lists(alines, blines):
+def compare_file_lists(alines, blines, compare_ownership=True):
adict = file_list_to_dict(alines)
bdict = file_list_to_dict(blines)
filechanges = []
@@ -294,16 +294,20 @@ def compare_file_lists(alines, blines):
newvalue = newsplitv[0][0]
if oldvalue != newvalue:
filechanges.append(FileChange(path, FileChange.changetype_type, oldvalue, newvalue))
+
# Check permissions
oldvalue = splitv[0][1:]
newvalue = newsplitv[0][1:]
if oldvalue != newvalue:
filechanges.append(FileChange(path, FileChange.changetype_perms, oldvalue, newvalue))
- # Check owner/group
- oldvalue = '%s/%s' % (splitv[1], splitv[2])
- newvalue = '%s/%s' % (newsplitv[1], newsplitv[2])
- if oldvalue != newvalue:
- filechanges.append(FileChange(path, FileChange.changetype_ownergroup, oldvalue, newvalue))
+
+ if compare_ownership:
+ # Check owner/group
+ oldvalue = '%s/%s' % (splitv[1], splitv[2])
+ newvalue = '%s/%s' % (newsplitv[1], newsplitv[2])
+ if oldvalue != newvalue:
+ filechanges.append(FileChange(path, FileChange.changetype_ownergroup, oldvalue, newvalue))
+
# Check symlink target
if newsplitv[0][0] == 'l':
if len(splitv) > 3:
@@ -571,6 +575,15 @@ def process_changes(repopath, revision1, revision2='HEAD', report_all=False, rep
elif filename.startswith('latest.'):
chg = ChangeRecord(path, filename, d.a_blob.data_stream.read().decode('utf-8'), d.b_blob.data_stream.read().decode('utf-8'), True)
changes.append(chg)
+ elif filename == 'sysroot':
+ alines = d.a_blob.data_stream.read().decode('utf-8').splitlines()
+ blines = d.b_blob.data_stream.read().decode('utf-8').splitlines()
+ filechanges = compare_file_lists(alines,blines, compare_ownership=False)
+ if filechanges:
+ chg = ChangeRecord(path, filename, None, None, True)
+ chg.filechanges = filechanges
+ changes.append(chg)
+
elif path.startswith('images/'):
filename = os.path.basename(d.a_blob.path)
if filename in img_monitor_files:
diff --git a/poky/meta/lib/oe/classextend.py b/poky/meta/lib/oe/classextend.py
index e25122e81..f02fbe9fb 100644
--- a/poky/meta/lib/oe/classextend.py
+++ b/poky/meta/lib/oe/classextend.py
@@ -24,6 +24,8 @@ class ClassExtender(object):
if not subs.startswith(self.extname):
return "virtual/" + self.extname + "-" + subs
return name
+ if name.startswith("/"):
+ return name
if not name.startswith(self.extname):
return self.extname + "-" + name
return name
diff --git a/poky/meta/lib/oe/copy_buildsystem.py b/poky/meta/lib/oe/copy_buildsystem.py
index 5b96121dd..31a84f5b0 100644
--- a/poky/meta/lib/oe/copy_buildsystem.py
+++ b/poky/meta/lib/oe/copy_buildsystem.py
@@ -45,6 +45,9 @@ class BuildSystem(object):
corebase = os.path.abspath(self.d.getVar('COREBASE'))
layers.append(corebase)
+ # Get relationship between TOPDIR and COREBASE
+ # Layers should respect it
+ corebase_relative = os.path.dirname(os.path.relpath(os.path.abspath(self.d.getVar('TOPDIR')), corebase))
# The bitbake build system uses the meta-skeleton layer as a layout
# for common recipies, e.g: the recipetool script to create kernel recipies
# Add the meta-skeleton layer to be included as part of the eSDK installation
@@ -98,7 +101,10 @@ class BuildSystem(object):
if corebase == os.path.dirname(layer):
layerdestpath += '/' + os.path.basename(corebase)
else:
- layer_relative = os.path.basename(corebase) + '/' + os.path.relpath(layer, corebase)
+ layer_relative = os.path.relpath(layer, corebase)
+ if os.path.dirname(layer_relative) == corebase_relative:
+ layer_relative = os.path.dirname(corebase_relative) + '/' + layernewname
+ layer_relative = os.path.basename(corebase) + '/' + layer_relative
if os.path.dirname(layer_relative) != layernewname:
layerdestpath += '/' + os.path.dirname(layer_relative)
@@ -168,10 +174,10 @@ class BuildSystem(object):
def generate_locked_sigs(sigfile, d):
bb.utils.mkdirhier(os.path.dirname(sigfile))
depd = d.getVar('BB_TASKDEPDATA', False)
- tasks = ['%s.%s' % (v[2], v[1]) for v in depd.values()]
+ tasks = ['%s:%s' % (v[2], v[1]) for v in depd.values()]
bb.parse.siggen.dump_lockedsigs(sigfile, tasks)
-def prune_lockedsigs(excluded_tasks, excluded_targets, lockedsigs, pruned_output):
+def prune_lockedsigs(excluded_tasks, excluded_targets, lockedsigs, onlynative, pruned_output):
with open(lockedsigs, 'r') as infile:
bb.utils.mkdirhier(os.path.dirname(pruned_output))
with open(pruned_output, 'w') as f:
@@ -181,7 +187,11 @@ def prune_lockedsigs(excluded_tasks, excluded_targets, lockedsigs, pruned_output
if line.endswith('\\\n'):
splitval = line.strip().split(':')
if not splitval[1] in excluded_tasks and not splitval[0] in excluded_targets:
- f.write(line)
+ if onlynative:
+ if 'nativesdk' in splitval[0]:
+ f.write(line)
+ else:
+ f.write(line)
else:
f.write(line)
invalue = False
diff --git a/poky/meta/lib/oe/gpg_sign.py b/poky/meta/lib/oe/gpg_sign.py
index 2fd8c3b1a..7634d7ef1 100644
--- a/poky/meta/lib/oe/gpg_sign.py
+++ b/poky/meta/lib/oe/gpg_sign.py
@@ -6,7 +6,6 @@
import os
import bb
-import oe.utils
import subprocess
import shlex
@@ -89,8 +88,7 @@ class LocalSigner(object):
(_, stderr) = job.communicate(passphrase.encode("utf-8"))
if job.returncode:
- raise bb.build.FuncFailed("GPG exited with code %d: %s" %
- (job.returncode, stderr.decode("utf-8")))
+ bb.fatal("GPG exited with code %d: %s" % (job.returncode, stderr.decode("utf-8")))
except IOError as e:
bb.error("IO error (%s): %s" % (e.errno, e.strerror))
@@ -108,7 +106,7 @@ class LocalSigner(object):
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)
+ bb.fatal("Could not get gpg version: %s" % e)
def verify(self, sig_file):
diff --git a/poky/meta/lib/oe/lsb.py b/poky/meta/lib/oe/lsb.py
index 4f2b419ed..43e46380d 100644
--- a/poky/meta/lib/oe/lsb.py
+++ b/poky/meta/lib/oe/lsb.py
@@ -110,12 +110,12 @@ def distro_identifier(adjust_hook=None):
if adjust_hook:
distro_id, release = adjust_hook(distro_id, release)
if not distro_id:
- return "Unknown"
- # Filter out any non-alphanumerics
- distro_id = re.sub(r'\W', '', distro_id)
+ return "unknown"
+ # Filter out any non-alphanumerics and convert to lowercase
+ distro_id = re.sub(r'\W', '', distro_id).lower()
if release:
- id_str = '{0}-{1}'.format(distro_id.lower(), release)
+ id_str = '{0}-{1}'.format(distro_id, release)
else:
id_str = distro_id
return id_str.replace(' ','-').replace('/','-')
diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py
index b59513227..b8585d425 100644
--- a/poky/meta/lib/oe/package.py
+++ b/poky/meta/lib/oe/package.py
@@ -265,7 +265,7 @@ def read_shlib_providers(d):
bb.debug(2, "Reading shlib providers in %s" % (dir))
if not os.path.exists(dir):
continue
- for file in os.listdir(dir):
+ for file in sorted(os.listdir(dir)):
m = list_re.match(file)
if m:
dep_pkg = m.group(1)
diff --git a/poky/meta/lib/oe/package_manager.py b/poky/meta/lib/oe/package_manager.py
index 06feb4def..7c373715a 100644
--- a/poky/meta/lib/oe/package_manager.py
+++ b/poky/meta/lib/oe/package_manager.py
@@ -1297,6 +1297,8 @@ class OpkgPM(OpkgDpkgPM):
rootfs_config = os.path.join('%s/etc/opkg/base-feeds.conf'
% self.target_rootfs)
+ os.makedirs('%s/etc/opkg' % self.target_rootfs, exist_ok=True)
+
feed_uris = self.construct_uris(feed_uris.split(), feed_base_paths.split())
archs = self.pkg_archs.split() if feed_archs is None else feed_archs.split()
diff --git a/poky/meta/lib/oe/sdk.py b/poky/meta/lib/oe/sdk.py
index b4fbdb799..d02a27481 100644
--- a/poky/meta/lib/oe/sdk.py
+++ b/poky/meta/lib/oe/sdk.py
@@ -88,10 +88,6 @@ class Sdk(object, metaclass=ABCMeta):
bb.warn("cannot remove SDK dir: %s" % path)
def install_locales(self, pm):
- # This is only relevant for glibc
- if self.d.getVar("TCLIBC") != "glibc":
- return
-
linguas = self.d.getVar("SDKIMAGE_LINGUAS")
if linguas:
import fnmatch
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index 13af16e47..c566ce5a0 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -59,7 +59,7 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
# is machine specific.
# Therefore if we're not a kernel or a module recipe (inheriting the kernel classes)
# and we reccomend a kernel-module, we exclude the dependency.
- depfn = dep.rsplit(".", 1)[0]
+ depfn = dep.rsplit(":", 1)[0]
if dataCache and isKernel(depfn) and not isKernel(fn):
for pkg in dataCache.runrecs[fn]:
if " ".join(dataCache.runrecs[fn][pkg]).find("kernel-module-") != -1:
@@ -90,8 +90,7 @@ class SignatureGeneratorOEBasic(bb.siggen.SignatureGeneratorBasic):
def rundep_check(self, fn, recipename, task, dep, depname, dataCache = None):
return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache)
-class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
- name = "OEBasicHash"
+class SignatureGeneratorOEBasicHashMixIn(object):
def init_rundepcheck(self, data):
self.abisaferecipes = (data.getVar("SIGGEN_EXCLUDERECIPES_ABISAFE") or "").split()
self.saferecipedeps = (data.getVar("SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS") or "").split()
@@ -129,12 +128,11 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache)
def get_taskdata(self):
- data = super(bb.siggen.SignatureGeneratorBasicHash, self).get_taskdata()
- return (data, self.lockedpnmap, self.lockedhashfn)
+ return (self.lockedpnmap, self.lockedhashfn, self.lockedhashes) + super().get_taskdata()
def set_taskdata(self, data):
- coredata, self.lockedpnmap, self.lockedhashfn = data
- super(bb.siggen.SignatureGeneratorBasicHash, self).set_taskdata(coredata)
+ self.lockedpnmap, self.lockedhashfn, self.lockedhashes = data[:3]
+ super().set_taskdata(data[3:])
def dump_sigs(self, dataCache, options):
sigfile = os.getcwd() + "/locked-sigs.inc"
@@ -142,8 +140,10 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
self.dump_lockedsigs(sigfile)
return super(bb.siggen.SignatureGeneratorBasicHash, self).dump_sigs(dataCache, options)
- def get_taskhash(self, fn, task, deps, dataCache):
- h = super(bb.siggen.SignatureGeneratorBasicHash, self).get_taskhash(fn, task, deps, dataCache)
+ def get_taskhash(self, tid, deps, dataCache):
+ h = super(bb.siggen.SignatureGeneratorBasicHash, self).get_taskhash(tid, deps, dataCache)
+
+ (mc, _, task, fn) = bb.runqueue.split_tid_mcfn(tid)
recipename = dataCache.pkg_fn[fn]
self.lockedpnmap[fn] = recipename
@@ -153,37 +153,27 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
if recipename in self.unlockedrecipes:
unlocked = True
else:
- def get_mc(tid):
- tid = tid.rsplit('.', 1)[0]
- if tid.startswith('mc:'):
- elems = tid.split(':')
- return elems[1]
def recipename_from_dep(dep):
- # The dep entry will look something like
- # /path/path/recipename.bb.task, virtual:native:/p/foo.bb.task,
- # ...
-
- fn = dep.rsplit('.', 1)[0]
+ fn = bb.runqueue.fn_from_tid(dep)
return dataCache.pkg_fn[fn]
- mc = get_mc(fn)
# If any unlocked recipe is in the direct dependencies then the
# current recipe should be unlocked as well.
- depnames = [ recipename_from_dep(x) for x in deps if mc == get_mc(x)]
+ depnames = [ recipename_from_dep(x) for x in deps if mc == bb.runqueue.mc_from_tid(x)]
if any(x in y for y in depnames for x in self.unlockedrecipes):
self.unlockedrecipes[recipename] = ''
unlocked = True
if not unlocked and recipename in self.lockedsigs:
if task in self.lockedsigs[recipename]:
- k = fn + "." + task
h_locked = self.lockedsigs[recipename][task][0]
var = self.lockedsigs[recipename][task][1]
- self.lockedhashes[k] = h_locked
- self.taskhash[k] = h_locked
+ self.lockedhashes[tid] = h_locked
+ unihash = super().get_unihash(tid)
+ self.taskhash[tid] = h_locked
#bb.warn("Using %s %s %s" % (recipename, task, h))
- if h != h_locked:
+ if h != h_locked and h_locked != unihash:
self.mismatch_msgs.append('The %s:%s sig is computed to be %s, but the sig is locked to %s in %s'
% (recipename, task, h, h_locked, var))
@@ -191,37 +181,41 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
#bb.warn("%s %s %s" % (recipename, task, h))
return h
+ def get_unihash(self, tid):
+ if tid in self.lockedhashes:
+ return self.lockedhashes[tid]
+ return super().get_unihash(tid)
+
def dump_sigtask(self, fn, task, stampbase, runtime):
- k = fn + "." + task
- if k in self.lockedhashes:
+ tid = fn + ":" + task
+ if tid in self.lockedhashes:
return
super(bb.siggen.SignatureGeneratorBasicHash, self).dump_sigtask(fn, task, stampbase, runtime)
def dump_lockedsigs(self, sigfile, taskfilter=None):
types = {}
- for k in self.runtaskdeps:
+ for tid in self.runtaskdeps:
if taskfilter:
- if not k in taskfilter:
+ if not tid in taskfilter:
continue
- fn = k.rsplit(".",1)[0]
+ fn = bb.runqueue.fn_from_tid(tid)
t = self.lockedhashfn[fn].split(" ")[1].split(":")[5]
t = 't-' + t.replace('_', '-')
if t not in types:
types[t] = []
- types[t].append(k)
+ types[t].append(tid)
with open(sigfile, "w") as f:
l = sorted(types)
for t in l:
f.write('SIGGEN_LOCKEDSIGS_%s = "\\\n' % t)
types[t].sort()
- sortedk = sorted(types[t], key=lambda k: self.lockedpnmap[k.rsplit(".",1)[0]])
- for k in sortedk:
- fn = k.rsplit(".",1)[0]
- task = k.rsplit(".",1)[1]
- if k not in self.taskhash:
+ sortedtid = sorted(types[t], key=lambda tid: self.lockedpnmap[bb.runqueue.fn_from_tid(tid)])
+ for tid in sortedtid:
+ (_, _, task, fn) = bb.runqueue.split_tid_mcfn(tid)
+ if tid not in self.taskhash:
continue
- f.write(" " + self.lockedpnmap[fn] + ":" + task + ":" + self.taskhash[k] + " \\\n")
+ f.write(" " + self.lockedpnmap[fn] + ":" + task + ":" + self.get_unihash(tid) + " \\\n")
f.write(' "\n')
f.write('SIGGEN_LOCKEDSIGS_TYPES_%s = "%s"' % (self.machine, " ".join(l)))
@@ -229,25 +223,26 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
with open(sigfile, "w") as f:
tasks = []
for taskitem in self.taskhash:
- (fn, task) = taskitem.rsplit(".", 1)
+ (fn, task) = taskitem.rsplit(":", 1)
pn = self.lockedpnmap[fn]
tasks.append((pn, task, fn, self.taskhash[taskitem]))
for (pn, task, fn, taskhash) in sorted(tasks):
- f.write('%s.%s %s %s\n' % (pn, task, fn, taskhash))
+ f.write('%s:%s %s %s\n' % (pn, task, fn, taskhash))
- def checkhashes(self, missed, ret, sq_fn, sq_task, sq_hash, sq_hashfn, d):
+ def checkhashes(self, sq_data, missed, found, d):
warn_msgs = []
error_msgs = []
sstate_missing_msgs = []
- for task in range(len(sq_fn)):
- if task not in ret:
+ for tid in sq_data['hash']:
+ if tid not in found:
for pn in self.lockedsigs:
- if sq_hash[task] in iter(self.lockedsigs[pn].values()):
- if sq_task[task] == 'do_shared_workdir':
+ taskname = bb.runqueue.taskname_from_tid(tid)
+ if sq_data['hash'][tid] in iter(self.lockedsigs[pn].values()):
+ if taskname == 'do_shared_workdir':
continue
sstate_missing_msgs.append("Locked sig is set for %s:%s (%s) yet not in sstate cache?"
- % (pn, sq_task[task], sq_hash[task]))
+ % (pn, taskname, sq_data['hash'][tid]))
checklevel = d.getVar("SIGGEN_LOCKEDSIGS_TASKSIG_CHECK")
if checklevel == 'warn':
@@ -266,176 +261,20 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
if error_msgs:
bb.fatal("\n".join(error_msgs))
-class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHash):
+class SignatureGeneratorOEBasicHash(SignatureGeneratorOEBasicHashMixIn, bb.siggen.SignatureGeneratorBasicHash):
+ name = "OEBasicHash"
+
+class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHashMixIn, bb.siggen.SignatureGeneratorUniHashMixIn, bb.siggen.SignatureGeneratorBasicHash):
name = "OEEquivHash"
def init_rundepcheck(self, data):
super().init_rundepcheck(data)
- self.server = data.getVar('SSTATE_HASHEQUIV_SERVER')
+ self.server = data.getVar('BB_HASHSERVE')
+ if not self.server:
+ bb.fatal("OEEquivHash requires BB_HASHSERVE to be set")
self.method = data.getVar('SSTATE_HASHEQUIV_METHOD')
- self.unihashes = bb.persist_data.persist('SSTATESIG_UNIHASH_CACHE_v1_' + self.method.replace('.', '_'), data)
-
- def get_taskdata(self):
- return (self.server, self.method) + super().get_taskdata()
-
- def set_taskdata(self, data):
- self.server, self.method = data[:2]
- super().set_taskdata(data[2:])
-
- def __get_task_unihash_key(self, task):
- # TODO: The key only *needs* to be the taskhash, the task is just
- # convenient
- return '%s:%s' % (task, self.taskhash[task])
-
- def get_stampfile_hash(self, task):
- if task in self.taskhash:
- # If a unique hash is reported, use it as the stampfile hash. This
- # ensures that if a task won't be re-run if the taskhash changes,
- # but it would result in the same output hash
- unihash = self.unihashes.get(self.__get_task_unihash_key(task))
- if unihash is not None:
- return unihash
-
- return super().get_stampfile_hash(task)
-
- def get_unihash(self, task):
- import urllib
- import json
-
- taskhash = self.taskhash[task]
-
- key = self.__get_task_unihash_key(task)
-
- # TODO: This cache can grow unbounded. It probably only needs to keep
- # for each task
- unihash = self.unihashes.get(key)
- if unihash is not None:
- return unihash
-
- # In the absence of being able to discover a unique hash from the
- # server, make it be equivalent to the taskhash. The unique "hash" only
- # really needs to be a unique string (not even necessarily a hash), but
- # making it match the taskhash has a few advantages:
- #
- # 1) All of the sstate code that assumes hashes can be the same
- # 2) It provides maximal compatibility with builders that don't use
- # an equivalency server
- # 3) The value is easy for multiple independent builders to derive the
- # same unique hash from the same input. This means that if the
- # independent builders find the same taskhash, but it isn't reported
- # to the server, there is a better chance that they will agree on
- # the unique hash.
- unihash = taskhash
-
- try:
- url = '%s/v1/equivalent?%s' % (self.server,
- urllib.parse.urlencode({'method': self.method, 'taskhash': self.taskhash[task]}))
-
- request = urllib.request.Request(url)
- response = urllib.request.urlopen(request)
- data = response.read().decode('utf-8')
-
- json_data = json.loads(data)
-
- if json_data:
- unihash = json_data['unihash']
- # A unique hash equal to the taskhash is not very interesting,
- # so it is reported it at debug level 2. If they differ, that
- # is much more interesting, so it is reported at debug level 1
- bb.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, task, self.server))
- else:
- bb.debug(2, 'No reported unihash for %s:%s from %s' % (task, taskhash, self.server))
- except urllib.error.URLError as e:
- bb.warn('Failure contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
- except (KeyError, json.JSONDecodeError) as e:
- bb.warn('Poorly formatted response from %s: %s' % (self.server, str(e)))
-
- self.unihashes[key] = unihash
- return unihash
-
- def report_unihash(self, path, task, d):
- import urllib
- import json
- import tempfile
- import base64
- import importlib
-
- taskhash = d.getVar('BB_TASKHASH')
- unihash = d.getVar('BB_UNIHASH')
- report_taskdata = d.getVar('SSTATE_HASHEQUIV_REPORT_TASKDATA') == '1'
- tempdir = d.getVar('T')
- fn = d.getVar('BB_FILENAME')
- key = fn + '.do_' + task + ':' + taskhash
-
- # Sanity checks
- cache_unihash = self.unihashes.get(key)
- if cache_unihash is None:
- bb.fatal('%s not in unihash cache. Please report this error' % key)
-
- if cache_unihash != unihash:
- bb.fatal("Cache unihash %s doesn't match BB_UNIHASH %s" % (cache_unihash, unihash))
-
- sigfile = None
- sigfile_name = "depsig.do_%s.%d" % (task, os.getpid())
- sigfile_link = "depsig.do_%s" % task
-
- try:
- sigfile = open(os.path.join(tempdir, sigfile_name), 'w+b')
-
- locs = {'path': path, 'sigfile': sigfile, 'task': task, 'd': d}
-
- (module, method) = self.method.rsplit('.', 1)
- locs['method'] = getattr(importlib.import_module(module), method)
-
- outhash = bb.utils.better_eval('method(path, sigfile, task, d)', locs)
-
- try:
- url = '%s/v1/equivalent' % self.server
- task_data = {
- 'taskhash': taskhash,
- 'method': self.method,
- 'outhash': outhash,
- 'unihash': unihash,
- 'owner': d.getVar('SSTATE_HASHEQUIV_OWNER')
- }
-
- if report_taskdata:
- sigfile.seek(0)
-
- task_data['PN'] = d.getVar('PN')
- task_data['PV'] = d.getVar('PV')
- task_data['PR'] = d.getVar('PR')
- task_data['task'] = task
- task_data['outhash_siginfo'] = sigfile.read().decode('utf-8')
-
- headers = {'content-type': 'application/json'}
-
- request = urllib.request.Request(url, json.dumps(task_data).encode('utf-8'), headers)
- response = urllib.request.urlopen(request)
- data = response.read().decode('utf-8')
-
- json_data = json.loads(data)
- new_unihash = json_data['unihash']
-
- if new_unihash != unihash:
- bb.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server))
- else:
- bb.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
- except urllib.error.URLError as e:
- bb.warn('Failure contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
- except (KeyError, json.JSONDecodeError) as e:
- bb.warn('Poorly formatted response from %s: %s' % (self.server, str(e)))
- finally:
- if sigfile:
- sigfile.close()
-
- sigfile_link_path = os.path.join(tempdir, sigfile_link)
- bb.utils.remove(sigfile_link_path)
-
- try:
- os.symlink(sigfile_name, sigfile_link_path)
- except OSError:
- pass
+ if not self.method:
+ bb.fatal("OEEquivHash requires SSTATE_HASHEQUIV_METHOD to be set")
# Insert these classes into siggen's namespace so it can see and select them
bb.siggen.SignatureGeneratorOEBasic = SignatureGeneratorOEBasic
@@ -452,7 +291,7 @@ def find_siginfo(pn, taskname, taskhashlist, d):
if not taskname:
# We have to derive pn and taskname
key = pn
- splitit = key.split('.bb.')
+ splitit = key.split('.bb:')
taskname = splitit[1]
pn = os.path.basename(splitit[0]).split('_')[0]
if key.startswith('virtual:native:'):
diff --git a/poky/meta/lib/oe/useradd.py b/poky/meta/lib/oe/useradd.py
index bedfe0ecb..8fc77568f 100644
--- a/poky/meta/lib/oe/useradd.py
+++ b/poky/meta/lib/oe/useradd.py
@@ -14,7 +14,7 @@ class myArgumentParser(argparse.ArgumentParser):
error(message)
def error(self, message):
- raise bb.build.FuncFailed(message)
+ bb.fatal(message)
def split_commands(params):
params = re.split('''[ \t]*;[ \t]*(?=(?:[^'"]|'[^']*'|"[^"]*")*$)''', params.strip())
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index d686ce1bf..652b2be14 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -486,7 +486,7 @@ def write_ld_so_conf(d):
f.write(d.getVar("base_libdir") + '\n')
f.write(d.getVar("libdir") + '\n')
-class ImageQAFailed(bb.build.FuncFailed):
+class ImageQAFailed(Exception):
def __init__(self, description, name=None, logfile=None):
self.description = description
self.name = name
diff --git a/poky/meta/lib/oeqa/core/case.py b/poky/meta/lib/oeqa/core/case.py
index aca144e9d..aae451fef 100644
--- a/poky/meta/lib/oeqa/core/case.py
+++ b/poky/meta/lib/oeqa/core/case.py
@@ -4,6 +4,8 @@
# SPDX-License-Identifier: MIT
#
+import base64
+import zlib
import unittest
from oeqa.core.exception import OEQAMissingVariable
@@ -49,3 +51,50 @@ class OETestCase(unittest.TestCase):
for d in self.decorators:
d.tearDownDecorator()
self.tearDownMethod()
+
+class OEPTestResultTestCase:
+ """
+ Mix-in class to provide functions to make interacting with extraresults for
+ the purposes of storing ptestresult data.
+ """
+ @staticmethod
+ def _compress_log(log):
+ logdata = log.encode("utf-8") if isinstance(log, str) else log
+ logdata = zlib.compress(logdata)
+ logdata = base64.b64encode(logdata).decode("utf-8")
+ return {"compressed" : logdata}
+
+ def ptest_rawlog(self, log):
+ if not hasattr(self, "extraresults"):
+ self.extraresults = {"ptestresult.sections" : {}}
+ self.extraresults["ptestresult.rawlogs"] = {"log" : self._compress_log(log)}
+
+ def ptest_section(self, section, duration = None, log = None, logfile = None, exitcode = None):
+ if not hasattr(self, "extraresults"):
+ self.extraresults = {"ptestresult.sections" : {}}
+
+ sections = self.extraresults.get("ptestresult.sections")
+ if section not in sections:
+ sections[section] = {}
+
+ if log is not None:
+ sections[section]["log"] = self._compress_log(log)
+ elif logfile is not None:
+ with open(logfile, "rb") as f:
+ sections[section]["log"] = self._compress_log(f.read())
+
+ if duration is not None:
+ sections[section]["duration"] = duration
+ if exitcode is not None:
+ sections[section]["exitcode"] = exitcode
+
+ def ptest_result(self, section, test, result):
+ if not hasattr(self, "extraresults"):
+ self.extraresults = {"ptestresult.sections" : {}}
+
+ sections = self.extraresults.get("ptestresult.sections")
+ if section not in sections:
+ sections[section] = {}
+ resultname = "ptestresult.{}.{}".format(section, test)
+ self.extraresults[resultname] = {"status" : result}
+
diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py
index 68819cc33..14fc6a54f 100644
--- a/poky/meta/lib/oeqa/core/context.py
+++ b/poky/meta/lib/oeqa/core/context.py
@@ -64,12 +64,12 @@ class OETestContext(object):
setattr(tclass, 'setUpHooker', skipfuncgen('Skip by the command line argument "%s"' % skip))
def loadTests(self, module_paths, modules=[], tests=[],
- modules_manifest="", modules_required=[], filters={}):
+ modules_manifest="", modules_required=[], **kwargs):
if modules_manifest:
modules = self._read_modules_from_manifest(modules_manifest)
self.loader = self.loaderClass(self, module_paths, modules, tests,
- modules_required, filters)
+ modules_required, **kwargs)
self.suites = self.loader.discover()
def runTests(self, processes=None, skips=[]):
diff --git a/poky/meta/lib/oeqa/core/decorator/__init__.py b/poky/meta/lib/oeqa/core/decorator/__init__.py
index 923b21826..1a82518ab 100644
--- a/poky/meta/lib/oeqa/core/decorator/__init__.py
+++ b/poky/meta/lib/oeqa/core/decorator/__init__.py
@@ -6,6 +6,7 @@
from functools import wraps
from abc import abstractmethod, ABCMeta
+from oeqa.core.utils.misc import strToList
decoratorClasses = set()
@@ -63,12 +64,16 @@ class OETestDiscover(OETestDecorator):
def discover(registry):
return registry['cases']
-class OETestFilter(OETestDecorator):
+def OETestTag(*tags):
+ expandedtags = []
+ for tag in tags:
+ expandedtags += strToList(tag)
+ def decorator(item):
+ if hasattr(item, "__oeqa_testtags"):
+ # do not append, create a new list (to handle classes with inheritance)
+ item.__oeqa_testtags = list(item.__oeqa_testtags) + expandedtags
+ else:
+ item.__oeqa_testtags = expandedtags
+ return item
+ return decorator
- # OETestLoader call it while loading the tests
- # in loadTestsFromTestCase method, it needs to
- # return a bool, True if needs to be filtered.
- # This method must consume the filter used.
- @abstractmethod
- def filtrate(self, filters):
- return False
diff --git a/poky/meta/lib/oeqa/core/decorator/oetag.py b/poky/meta/lib/oeqa/core/decorator/oetag.py
deleted file mode 100644
index 8c31138da..000000000
--- a/poky/meta/lib/oeqa/core/decorator/oetag.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (C) 2016 Intel Corporation
-#
-# SPDX-License-Identifier: MIT
-#
-
-from . import OETestFilter, registerDecorator
-from oeqa.core.utils.misc import strToList
-
-def _tagFilter(tags, filters):
- return False if set(tags) & set(filters) else True
-
-@registerDecorator
-class OETestTag(OETestFilter):
- attrs = ('oetag',)
-
- def bind(self, registry, case):
- super(OETestTag, self).bind(registry, case)
- self.oetag = strToList(self.oetag, 'oetag')
-
- def filtrate(self, filters):
- if filters.get('oetag'):
- filterx = strToList(filters['oetag'], 'oetag')
- del filters['oetag']
- if _tagFilter(self.oetag, filterx):
- return True
- return False
diff --git a/poky/meta/lib/oeqa/core/loader.py b/poky/meta/lib/oeqa/core/loader.py
index 7fea0585c..0d7970d49 100644
--- a/poky/meta/lib/oeqa/core/loader.py
+++ b/poky/meta/lib/oeqa/core/loader.py
@@ -16,7 +16,7 @@ from oeqa.core.utils.test import getSuiteModules, getCaseID
from oeqa.core.exception import OEQATestNotFound
from oeqa.core.case import OETestCase
from oeqa.core.decorator import decoratorClasses, OETestDecorator, \
- OETestFilter, OETestDiscover
+ OETestDiscover
# When loading tests, the unittest framework stores any exceptions and
# displays them only when the run method is called.
@@ -68,7 +68,7 @@ class OETestLoader(unittest.TestLoader):
'_top_level_dir']
def __init__(self, tc, module_paths, modules, tests, modules_required,
- filters, *args, **kwargs):
+ *args, **kwargs):
self.tc = tc
self.modules = _built_modules_dict(modules)
@@ -76,13 +76,7 @@ class OETestLoader(unittest.TestLoader):
self.tests = tests
self.modules_required = modules_required
- self.filters = filters
- self.decorator_filters = [d for d in decoratorClasses if \
- issubclass(d, OETestFilter)]
- self._validateFilters(self.filters, self.decorator_filters)
- self.used_filters = [d for d in self.decorator_filters
- for f in self.filters
- if f in d.attrs]
+ self.tags_filter = kwargs.get("tags_filter", None)
if isinstance(module_paths, str):
module_paths = [module_paths]
@@ -104,28 +98,6 @@ class OETestLoader(unittest.TestLoader):
setattr(testCaseClass, 'td', self.tc.td)
setattr(testCaseClass, 'logger', self.tc.logger)
- def _validateFilters(self, filters, decorator_filters):
- # Validate if filter isn't empty
- for key,value in filters.items():
- if not value:
- raise TypeError("Filter %s specified is empty" % key)
-
- # Validate unique attributes
- attr_filters = [attr for clss in decorator_filters \
- for attr in clss.attrs]
- dup_attr = [attr for attr in attr_filters
- if attr_filters.count(attr) > 1]
- if dup_attr:
- raise TypeError('Detected duplicated attribute(s) %s in filter'
- ' decorators' % ' ,'.join(dup_attr))
-
- # Validate if filter is supported
- for f in filters:
- if f not in attr_filters:
- classes = ', '.join([d.__name__ for d in decorator_filters])
- raise TypeError('Found "%s" filter but not declared in any of '
- '%s decorators' % (f, classes))
-
def _registerTestCase(self, case):
case_id = case.id()
self.tc._registry['cases'][case_id] = case
@@ -188,19 +160,20 @@ class OETestLoader(unittest.TestLoader):
return True
# Decorator filters
- if self.filters and isinstance(case, OETestCase):
- filters = self.filters.copy()
- case_decorators = [cd for cd in case.decorators
- if cd.__class__ in self.used_filters]
-
- # Iterate over case decorators to check if needs to be filtered.
- for cd in case_decorators:
- if cd.filtrate(filters):
- return True
-
- # Case is missing one or more decorators for all the filters
- # being used, so filter test case.
- if filters:
+ if self.tags_filter is not None and callable(self.tags_filter):
+ alltags = set()
+ # pull tags from the case class
+ if hasattr(case, "__oeqa_testtags"):
+ for t in getattr(case, "__oeqa_testtags"):
+ alltags.add(t)
+ # pull tags from the method itself
+ if hasattr(case, test_name):
+ method = getattr(case, test_name)
+ if hasattr(method, "__oeqa_testtags"):
+ for t in getattr(method, "__oeqa_testtags"):
+ alltags.add(t)
+
+ if self.tags_filter(alltags):
return True
return False
diff --git a/poky/meta/lib/oeqa/core/runner.py b/poky/meta/lib/oeqa/core/runner.py
index 930620ea1..f656e1a9c 100644
--- a/poky/meta/lib/oeqa/core/runner.py
+++ b/poky/meta/lib/oeqa/core/runner.py
@@ -43,6 +43,7 @@ class OETestResult(_TestResult):
self.starttime = {}
self.endtime = {}
self.progressinfo = {}
+ self.extraresults = {}
# Inject into tc so that TestDepends decorator can see results
tc.results = self
@@ -129,19 +130,51 @@ class OETestResult(_TestResult):
return 'UNKNOWN', None
- def addSuccess(self, test):
+ def extractExtraResults(self, test, details = None):
+ extraresults = None
+ if details is not None and "extraresults" in details:
+ extraresults = details.get("extraresults", {})
+ elif hasattr(test, "extraresults"):
+ extraresults = test.extraresults
+
+ if extraresults is not None:
+ for k, v in extraresults.items():
+ # handle updating already existing entries (e.g. ptestresults.sections)
+ if k in self.extraresults:
+ self.extraresults[k].update(v)
+ else:
+ self.extraresults[k] = v
+
+ def addError(self, test, *args, details = None):
+ self.extractExtraResults(test, details = details)
+ return super(OETestResult, self).addError(test, *args)
+
+ def addFailure(self, test, *args, details = None):
+ self.extractExtraResults(test, details = details)
+ return super(OETestResult, self).addFailure(test, *args)
+
+ def addSuccess(self, test, details = None):
#Added so we can keep track of successes too
self.successes.append((test, None))
- super(OETestResult, self).addSuccess(test)
+ self.extractExtraResults(test, details = details)
+ return super(OETestResult, self).addSuccess(test)
+
+ def addExpectedFailure(self, test, *args, details = None):
+ self.extractExtraResults(test, details = details)
+ return super(OETestResult, self).addExpectedFailure(test, *args)
+
+ def addUnexpectedSuccess(self, test, details = None):
+ self.extractExtraResults(test, details = details)
+ return super(OETestResult, self).addUnexpectedSuccess(test)
def logDetails(self, json_file_dir=None, configuration=None, result_id=None,
dump_streams=False):
self.tc.logger.info("RESULTS:")
- result = {}
+ result = self.extraresults
logs = {}
if hasattr(self.tc, "extraresults"):
- result = self.tc.extraresults
+ result.update(self.tc.extraresults)
for case_name in self.tc._registry['cases']:
case = self.tc._registry['cases'][case_name]
@@ -205,23 +238,20 @@ class OETestRunner(_TestRunner):
self._walked_cases = self._walked_cases + 1
def _list_tests_name(self, suite):
- from oeqa.core.decorator.oetag import OETestTag
-
self._walked_cases = 0
def _list_cases(logger, case):
- oetag = None
-
- if hasattr(case, 'decorators'):
- for d in case.decorators:
- if isinstance(d, OETestTag):
- oetag = d.oetag
-
- logger.info("%s\t\t%s" % (oetag, case.id()))
+ oetags = []
+ if hasattr(case, '__oeqa_testtags'):
+ oetags = getattr(case, '__oeqa_testtags')
+ if oetags:
+ logger.info("%s (%s)" % (case.id(), ",".join(oetags)))
+ else:
+ logger.info("%s" % (case.id()))
self.tc.logger.info("Listing all available tests:")
self._walked_cases = 0
- self.tc.logger.info("id\ttag\t\ttest")
+ self.tc.logger.info("test (tags)")
self.tc.logger.info("-" * 80)
self._walk_suite(suite, _list_cases)
self.tc.logger.info("-" * 80)
diff --git a/poky/meta/lib/oeqa/core/tests/cases/data.py b/poky/meta/lib/oeqa/core/tests/cases/data.py
index 0d8de87ae..61f88547f 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/data.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/data.py
@@ -5,7 +5,7 @@
#
from oeqa.core.case import OETestCase
-from oeqa.core.decorator.oetag import OETestTag
+from oeqa.core.decorator import OETestTag
from oeqa.core.decorator.data import OETestDataDepends
class DataTest(OETestCase):
diff --git a/poky/meta/lib/oeqa/core/tests/cases/oetag.py b/poky/meta/lib/oeqa/core/tests/cases/oetag.py
index 4e1d08098..52f97dfda 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/oetag.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/oetag.py
@@ -5,10 +5,9 @@
#
from oeqa.core.case import OETestCase
-from oeqa.core.decorator.oetag import OETestTag
+from oeqa.core.decorator import OETestTag
class TagTest(OETestCase):
-
@OETestTag('goodTag')
def testTagGood(self):
self.assertTrue(True, msg='How is this possible?')
@@ -17,5 +16,23 @@ class TagTest(OETestCase):
def testTagOther(self):
self.assertTrue(True, msg='How is this possible?')
+ @OETestTag('otherTag', 'multiTag')
+ def testTagOtherMulti(self):
+ self.assertTrue(True, msg='How is this possible?')
+
def testTagNone(self):
self.assertTrue(True, msg='How is this possible?')
+
+@OETestTag('classTag')
+class TagClassTest(OETestCase):
+ @OETestTag('otherTag')
+ def testTagOther(self):
+ self.assertTrue(True, msg='How is this possible?')
+
+ @OETestTag('otherTag', 'multiTag')
+ def testTagOtherMulti(self):
+ self.assertTrue(True, msg='How is this possible?')
+
+ def testTagNone(self):
+ self.assertTrue(True, msg='How is this possible?')
+
diff --git a/poky/meta/lib/oeqa/core/tests/common.py b/poky/meta/lib/oeqa/core/tests/common.py
index 39efd504c..88cc758ad 100644
--- a/poky/meta/lib/oeqa/core/tests/common.py
+++ b/poky/meta/lib/oeqa/core/tests/common.py
@@ -30,9 +30,9 @@ class TestBase(unittest.TestCase):
directory = os.path.dirname(os.path.abspath(__file__))
self.cases_path = os.path.join(directory, 'cases')
- def _testLoader(self, d={}, modules=[], tests=[], filters={}):
+ def _testLoader(self, d={}, modules=[], tests=[], **kwargs):
from oeqa.core.context import OETestContext
tc = OETestContext(d, self.logger)
tc.loadTests(self.cases_path, modules=modules, tests=tests,
- filters=filters)
+ **kwargs)
return tc
diff --git a/poky/meta/lib/oeqa/core/tests/test_data.py b/poky/meta/lib/oeqa/core/tests/test_data.py
index 50811bb38..ac74098b7 100755
--- a/poky/meta/lib/oeqa/core/tests/test_data.py
+++ b/poky/meta/lib/oeqa/core/tests/test_data.py
@@ -22,8 +22,9 @@ class TestData(TestBase):
expectedException = "oeqa.core.exception.OEQAMissingVariable"
tc = self._testLoader(modules=self.modules)
- self.assertEqual(False, tc.runTests().wasSuccessful())
- for test, data in tc.errors:
+ results = tc.runTests()
+ self.assertFalse(results.wasSuccessful())
+ for test, data in results.errors:
expect = False
if expectedException in data:
expect = True
@@ -35,8 +36,9 @@ class TestData(TestBase):
d = {'IMAGE' : 'core-image-sato', 'ARCH' : 'arm'}
tc = self._testLoader(d=d, modules=self.modules)
- self.assertEqual(False, tc.runTests().wasSuccessful())
- for test, data in tc.failures:
+ results = tc.runTests()
+ self.assertFalse(results.wasSuccessful())
+ for test, data in results.failures:
expect = False
if expectedError in data:
expect = True
diff --git a/poky/meta/lib/oeqa/core/tests/test_decorators.py b/poky/meta/lib/oeqa/core/tests/test_decorators.py
index 499cd66ff..b798bf7d3 100755
--- a/poky/meta/lib/oeqa/core/tests/test_decorators.py
+++ b/poky/meta/lib/oeqa/core/tests/test_decorators.py
@@ -14,35 +14,58 @@ setup_sys_path()
from oeqa.core.exception import OEQADependency
from oeqa.core.utils.test import getCaseMethod, getSuiteCasesNames, getSuiteCasesIDs
-class TestFilterDecorator(TestBase):
-
- def _runFilterTest(self, modules, filters, expect, msg):
- tc = self._testLoader(modules=modules, filters=filters)
- test_loaded = set(getSuiteCasesNames(tc.suites))
- self.assertEqual(expect, test_loaded, msg=msg)
+class TestTagDecorator(TestBase):
+ def _runTest(self, modules, filterfn, expect):
+ tc = self._testLoader(modules = modules, tags_filter = filterfn)
+ test_loaded = set(getSuiteCasesIDs(tc.suites))
+ self.assertEqual(expect, test_loaded)
def test_oetag(self):
- # Get all cases without filtering.
- filter_all = {}
- test_all = {'testTagGood', 'testTagOther', 'testTagNone'}
- msg_all = 'Failed to get all oetag cases without filtering.'
-
- # Get cases with 'goodTag'.
- filter_good = {'oetag':'goodTag'}
- test_good = {'testTagGood'}
- msg_good = 'Failed to get just one test filtering with "goodTag" oetag.'
-
- # Get cases with an invalid tag.
- filter_invalid = {'oetag':'invalidTag'}
- test_invalid = set()
- msg_invalid = 'Failed to filter all test using an invalid oetag.'
-
- tests = ((filter_all, test_all, msg_all),
- (filter_good, test_good, msg_good),
- (filter_invalid, test_invalid, msg_invalid))
-
- for test in tests:
- self._runFilterTest(['oetag'], test[0], test[1], test[2])
+ # get all cases without any filtering
+ self._runTest(['oetag'], None, {
+ 'oetag.TagTest.testTagGood',
+ 'oetag.TagTest.testTagOther',
+ 'oetag.TagTest.testTagOtherMulti',
+ 'oetag.TagTest.testTagNone',
+ 'oetag.TagClassTest.testTagOther',
+ 'oetag.TagClassTest.testTagOtherMulti',
+ 'oetag.TagClassTest.testTagNone',
+ })
+
+ # exclude any case with tags
+ self._runTest(['oetag'], lambda tags: tags, {
+ 'oetag.TagTest.testTagNone',
+ })
+
+ # exclude any case with otherTag
+ self._runTest(['oetag'], lambda tags: "otherTag" in tags, {
+ 'oetag.TagTest.testTagGood',
+ 'oetag.TagTest.testTagNone',
+ 'oetag.TagClassTest.testTagNone',
+ })
+
+ # exclude any case with classTag
+ self._runTest(['oetag'], lambda tags: "classTag" in tags, {
+ 'oetag.TagTest.testTagGood',
+ 'oetag.TagTest.testTagOther',
+ 'oetag.TagTest.testTagOtherMulti',
+ 'oetag.TagTest.testTagNone',
+ })
+
+ # include any case with classTag
+ self._runTest(['oetag'], lambda tags: "classTag" not in tags, {
+ 'oetag.TagClassTest.testTagOther',
+ 'oetag.TagClassTest.testTagOtherMulti',
+ 'oetag.TagClassTest.testTagNone',
+ })
+
+ # include any case with classTag or no tags
+ self._runTest(['oetag'], lambda tags: tags and "classTag" not in tags, {
+ 'oetag.TagTest.testTagNone',
+ 'oetag.TagClassTest.testTagOther',
+ 'oetag.TagClassTest.testTagOtherMulti',
+ 'oetag.TagClassTest.testTagNone',
+ })
class TestDependsDecorator(TestBase):
modules = ['depends']
diff --git a/poky/meta/lib/oeqa/core/tests/test_loader.py b/poky/meta/lib/oeqa/core/tests/test_loader.py
index 519ba9609..cb38ac845 100755
--- a/poky/meta/lib/oeqa/core/tests/test_loader.py
+++ b/poky/meta/lib/oeqa/core/tests/test_loader.py
@@ -15,31 +15,7 @@ from oeqa.core.exception import OEQADependency
from oeqa.core.utils.test import getSuiteModules, getSuiteCasesIDs
class TestLoader(TestBase):
-
- def test_fail_empty_filter(self):
- filters = {'oetag' : ''}
- expect = 'Filter oetag specified is empty'
- msg = 'Expected TypeError exception for having invalid filter'
- try:
- # Must throw TypeError because empty filter
- tc = self._testLoader(filters=filters)
- self.fail(msg)
- except TypeError as e:
- result = True if expect in str(e) else False
- self.assertTrue(result, msg=msg)
-
- def test_fail_invalid_filter(self):
- filters = {'invalid' : 'good'}
- expect = 'filter but not declared in any of'
- msg = 'Expected TypeError exception for having invalid filter'
- try:
- # Must throw TypeError because invalid filter
- tc = self._testLoader(filters=filters)
- self.fail(msg)
- except TypeError as e:
- result = True if expect in str(e) else False
- self.assertTrue(result, msg=msg)
-
+ @unittest.skip("invalid directory is missing oetag.py")
def test_fail_duplicated_module(self):
cases_path = self.cases_path
invalid_path = os.path.join(cases_path, 'loader', 'invalid')
diff --git a/poky/meta/lib/oeqa/core/utils/concurrencytest.py b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
index 6bf771886..0f7b3dcc1 100644
--- a/poky/meta/lib/oeqa/core/utils/concurrencytest.py
+++ b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
@@ -21,6 +21,7 @@ import testtools
import threading
import time
import io
+import json
import subunit
from queue import Queue
@@ -28,6 +29,8 @@ from itertools import cycle
from subunit import ProtocolTestCase, TestProtocolClient
from subunit.test_results import AutoTimingTestResultDecorator
from testtools import ThreadsafeForwardingResult, iterate_tests
+from testtools.content import Content
+from testtools.content_type import ContentType
from oeqa.utils.commands import get_test_layer
import bb.utils
@@ -70,6 +73,63 @@ class BBThreadsafeForwardingResult(ThreadsafeForwardingResult):
self.semaphore.release()
super(BBThreadsafeForwardingResult, self)._add_result_with_semaphore(method, test, *args, **kwargs)
+class ProxyTestResult:
+ # a very basic TestResult proxy, in order to modify add* calls
+ def __init__(self, target):
+ self.result = target
+
+ def _addResult(self, method, test, *args, exception = False, **kwargs):
+ return method(test, *args, **kwargs)
+
+ def addError(self, test, err = None, **kwargs):
+ self._addResult(self.result.addError, test, err, exception = True, **kwargs)
+
+ def addFailure(self, test, err = None, **kwargs):
+ self._addResult(self.result.addFailure, test, err, exception = True, **kwargs)
+
+ def addSuccess(self, test, **kwargs):
+ self._addResult(self.result.addSuccess, test, **kwargs)
+
+ def addExpectedFailure(self, test, err = None, **kwargs):
+ self._addResult(self.result.addExpectedFailure, test, err, exception = True, **kwargs)
+
+ def addUnexpectedSuccess(self, test, **kwargs):
+ self._addResult(self.result.addUnexpectedSuccess, test, **kwargs)
+
+ def __getattr__(self, attr):
+ return getattr(self.result, attr)
+
+class ExtraResultsDecoderTestResult(ProxyTestResult):
+ def _addResult(self, method, test, *args, exception = False, **kwargs):
+ if "details" in kwargs and "extraresults" in kwargs["details"]:
+ if isinstance(kwargs["details"]["extraresults"], Content):
+ kwargs = kwargs.copy()
+ kwargs["details"] = kwargs["details"].copy()
+ extraresults = kwargs["details"]["extraresults"]
+ data = bytearray()
+ for b in extraresults.iter_bytes():
+ data += b
+ extraresults = json.loads(data.decode())
+ kwargs["details"]["extraresults"] = extraresults
+ return method(test, *args, **kwargs)
+
+class ExtraResultsEncoderTestResult(ProxyTestResult):
+ def _addResult(self, method, test, *args, exception = False, **kwargs):
+ if hasattr(test, "extraresults"):
+ extras = lambda : [json.dumps(test.extraresults).encode()]
+ kwargs = kwargs.copy()
+ if "details" not in kwargs:
+ kwargs["details"] = {}
+ else:
+ kwargs["details"] = kwargs["details"].copy()
+ kwargs["details"]["extraresults"] = Content(ContentType("application", "json", {'charset': 'utf8'}), extras)
+ # if using details, need to encode any exceptions into the details obj,
+ # testtools does not handle "err" and "details" together.
+ if "details" in kwargs and exception and (len(args) >= 1 and args[0] is not None):
+ kwargs["details"]["traceback"] = testtools.content.TracebackContent(args[0], test)
+ args = []
+ return method(test, *args, **kwargs)
+
#
# We have to patch subunit since it doesn't understand how to handle addError
# outside of a running test case. This can happen if classSetUp() fails
@@ -116,7 +176,9 @@ class ConcurrentTestSuite(unittest.TestSuite):
result.threadprogress = {}
for i, (test, testnum) in enumerate(tests):
result.threadprogress[i] = []
- process_result = BBThreadsafeForwardingResult(result, semaphore, i, testnum, totaltests)
+ process_result = BBThreadsafeForwardingResult(
+ ExtraResultsDecoderTestResult(result),
+ semaphore, i, testnum, totaltests)
# Force buffering of stdout/stderr so the console doesn't get corrupted by test output
# as per default in parent code
process_result.buffer = True
@@ -159,7 +221,7 @@ def removebuilddir(d):
while delay and os.path.exists(d + "/bitbake.lock"):
time.sleep(1)
delay = delay - 1
- bb.utils.prunedir(d)
+ bb.utils.prunedir(d, ionice=True)
def fork_for_tests(concurrency_num, suite):
result = []
@@ -231,7 +293,7 @@ def fork_for_tests(concurrency_num, suite):
# as per default in parent code
subunit_client.buffer = True
subunit_result = AutoTimingTestResultDecorator(subunit_client)
- process_suite.run(subunit_result)
+ process_suite.run(ExtraResultsEncoderTestResult(subunit_result))
if ourpid != os.getpid():
os._exit(0)
if newbuilddir:
diff --git a/poky/meta/lib/oeqa/manual/bsp-hw.json b/poky/meta/lib/oeqa/manual/bsp-hw.json
index 4b7c76f70..18cec222f 100644
--- a/poky/meta/lib/oeqa/manual/bsp-hw.json
+++ b/poky/meta/lib/oeqa/manual/bsp-hw.json
@@ -526,7 +526,7 @@
"expected_results": ""
},
"4": {
- "action": "check ping status \n\nNote: This TC apply only for core-image-full-cmd and core-image-lsb .",
+ "action": "check ping status \n\nNote: This TC apply only for core-image-full-cmd.",
"expected_results": "ping should always work before/after standby"
}
},
diff --git a/poky/meta/lib/oeqa/manual/compliance-test.json b/poky/meta/lib/oeqa/manual/compliance-test.json
index 8c13b68ec..367a416f0 100644
--- a/poky/meta/lib/oeqa/manual/compliance-test.json
+++ b/poky/meta/lib/oeqa/manual/compliance-test.json
@@ -1,36 +1,6 @@
[
{
"test": {
- "@alias": "compliance-test.compliance-test.LSB_subset_test_suite",
- "author": [
- {
- "email": "corneliux.stoicescu@intel.com",
- "name": "corneliux.stoicescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Get lsd-sdk image and install it on target device or start the image(if it is QEMU) with option \"-m 512M\"",
- "expected_results": ""
- },
- "2": {
- "action": "Comment in /opt/lsb-test/session any tests you don't want to run.",
- "expected_results": ""
- },
- "3": {
- "action": "Run /usr/bin/LSB_Test.sh which should download the LSB suite and set it up. Some packages may fail to download because their location changed on ftp.linuxfoundation.org. You need to manually update /opt/lsb-test/packages_list",
- "expected_results": ""
- },
- "4": {
- "action": "Tests should start automatically, you can use the web interface to reconfigure the setup. ",
- "expected_results": "Check the result on wiki https://wiki.yoctoproject.org/wiki/LSB_Result No regression failures should be met."
- }
- },
- "summary": "LSB_subset_test_suite"
- }
- },
- {
- "test": {
"@alias": "compliance-test.compliance-test.stress_test_-_Genericx86-64",
"author": [
{
@@ -40,7 +10,7 @@
],
"execution": {
"1": {
- "action": "Bootup with core-image-lsb-sdk image",
+ "action": "Bootup with core-image-sato-sdk image",
"expected_results": ""
},
"2": {
diff --git a/poky/meta/lib/oeqa/manual/crops.json b/poky/meta/lib/oeqa/manual/crops.json
index 1cf3c8f30..5cfa65384 100644
--- a/poky/meta/lib/oeqa/manual/crops.json
+++ b/poky/meta/lib/oeqa/manual/crops.json
@@ -234,16 +234,16 @@
"expected_results": "this should output the directory of the devtool script and it should be within the sdk workdir you are working in. \n\n"
},
"5": {
- "action": "devtool add v4l2loopback-driver https://github.com/umlaeute/v4l2loopback.git \n\n",
- "expected_results": "This should automatically create the recipe v4l2loopback-driver.bb under <crops-esdk-workdir-workspace>/recipes/v4l2loopback-driver/v4l2loopback-driver.bb "
+ "action": "devtool add kernel-module-hello-world https://git.yoctoproject.org/git/kernel-module-hello-world \n\n",
+ "expected_results": "This should automatically create the recipe kernel-module-hello-world.bb under <crops-esdk-workdir-workspace>/recipes/kernel-module-hello-world/kernel-module-hello-world.bb "
},
"6": {
- "action": "devtool build v4l2loopback-driver \n\n",
+ "action": "devtool build kernel-module-hello-world \n\n",
"expected_results": "This should compile an image \n\n"
},
"7": {
- "action": "devtool reset v4l2loopback-driver ",
- "expected_results": "This cleans sysroot of the v4l2loopback-driver recipe, but it leaves the source tree intact. meaning it does not erase."
+ "action": "devtool reset kernel-module-hello-world ",
+ "expected_results": "This cleans sysroot of the kernel-module-hello-world recipe, but it leaves the source tree intact. meaning it does not erase."
}
},
"summary": "sdkext_devtool_kernelmodule"
@@ -291,4 +291,4 @@
"summary": "sdkext_recipes_for_nodejs"
}
}
-] \ No newline at end of file
+]
diff --git a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
index 812f57da3..12374c7c6 100644
--- a/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
+++ b/poky/meta/lib/oeqa/manual/toaster-managed-mode.json
@@ -1494,7 +1494,7 @@
"expected_results": "A type in form appears. \n\n\t"
},
"6": {
- "action": "Change distro (ex: poky-lsb). \n\n\t",
+ "action": "Change distro (ex: poky-tiny). \n\n\t",
"expected_results": "Distro has changed. \n\n\t"
},
"7": {
@@ -1503,7 +1503,7 @@
},
"8": {
"action": " Build a recipe (ex: core-image-minimal) and wait until build finish.",
- "expected_results": "Build finishes successfully. \n\nThe 'success' criteria for this one should be that the build is reported as using the poky-lsb distro in the build summary page, and that the DISTRO variable value in the bitbake variables table is set to the value specified in toaster (poky-lsb again)."
+ "expected_results": "Build finishes successfully. \n\nThe 'success' criteria for this one should be that the build is reported as using the poky-tiny distro in the build summary page, and that the DISTRO variable value in the bitbake variables table is set to the value specified in toaster (poky-tiny again)."
}
},
"summary": "Build_a_recipe_with_different_distro"
@@ -1612,7 +1612,7 @@
"expected_results": ""
},
"3": {
- "action": "Check that the table is populated with the list of image recipes (eg. core-image minimal, core-image-lsb) \n\n\n",
+ "action": "Check that the table is populated with the list of image recipes (eg. core-image minimal) \n\n\n",
"expected_results": ""
},
"4": {
@@ -1670,7 +1670,7 @@
"expected_results": ""
},
"7": {
- "action": "Sort the table by \"Layer\" and then navigate away by selecting an image (such as core-image-lsb). When you click the \"back\" button in the web-browser to go back, the \"New custom image\" table should still be sorted by \"Layer\". \nThis should apply also by navigating back to the page by any other means. \n\n",
+ "action": "Sort the table by \"Layer\" and then navigate away by selecting an image. When you click the \"back\" button in the web-browser to go back, the \"New custom image\" table should still be sorted by \"Layer\". \nThis should apply also by navigating back to the page by any other means. \n\n",
"expected_results": ""
},
"8": {
@@ -2348,7 +2348,7 @@
"expected_results": ""
},
"3": {
- "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. ",
+ "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. ",
"expected_results": " All recipes are built correctly \n\n"
},
"4": {
@@ -2382,7 +2382,7 @@
"expected_results": ""
},
"3": {
- "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. \n\n",
+ "action": "Build 6 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. \n\n",
"expected_results": "All recipes are built correctly \n\n"
},
"4": {
@@ -2420,7 +2420,7 @@
"expected_results": ""
},
"3": {
- "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-lsb, core-image-clutter) to name a few. \n\n",
+ "action": "Build 4 recipes example (core-image-sato, core-image-minimal, core-image-base, core-image-clutter) to name a few. \n\n",
"expected_results": " All recipes are built correctly \n\n"
},
"4": {
diff --git a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
index 6dd1faee0..e5cc3e288 100644
--- a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
+++ b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
@@ -25,6 +25,7 @@ class GalculatorTest(OERuntimeTestCase):
@OEHasPackage(['gcc'])
@OEHasPackage(['make'])
@OEHasPackage(['autoconf'])
+ @OEHasPackage(['gtk+3'])
def test_galculator(self):
self.project.download_archive()
self.project.run_configure()
diff --git a/poky/meta/lib/oeqa/runtime/cases/dnf.py b/poky/meta/lib/oeqa/runtime/cases/dnf.py
index 629b9af3e..80cc86a4f 100644
--- a/poky/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/poky/meta/lib/oeqa/runtime/cases/dnf.py
@@ -9,7 +9,7 @@ from oeqa.utils.httpserver import HTTPService
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature
+from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature, skipIfInDataVar, skipIfNotInDataVar
from oeqa.runtime.decorator.package import OEHasPackage
class DnfTest(OERuntimeTestCase):
@@ -116,6 +116,7 @@ class DnfRepoTest(DnfTest):
self.dnf_with_repo('reinstall -y run-postinsts-dev')
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
+ @skipIfInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when not enable usrmerge')
def test_dnf_installroot(self):
rootpath = '/home/root/chroot/test'
#Copy necessary files to avoid errors with not yet installed tools on
@@ -141,6 +142,37 @@ class DnfRepoTest(DnfTest):
self.assertEqual(0, status, output)
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
+ @skipIfNotInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when enable usrmege')
+ def test_dnf_installroot_usrmerge(self):
+ rootpath = '/home/root/chroot/test'
+ #Copy necessary files to avoid errors with not yet installed tools on
+ #installroot directory.
+ self.target.run('mkdir -p %s/etc' % rootpath, 1500)
+ self.target.run('mkdir -p %s/usr/bin %s/usr/sbin' % (rootpath, rootpath), 1500)
+ self.target.run('ln -sf -r %s/usr/bin %s/bin' % (rootpath, rootpath), 1500)
+ self.target.run('ln -sf -r %s/usr/sbin %s/sbin' % (rootpath, rootpath), 1500)
+ self.target.run('mkdir -p %s/dev' % rootpath, 1500)
+ #Handle different architectures lib dirs
+ self.target.run('mkdir -p %s/usr/lib' % rootpath, 1500)
+ self.target.run('mkdir -p %s/usr/libx32' % rootpath, 1500)
+ self.target.run('mkdir -p %s/usr/lib64' % rootpath, 1500)
+ self.target.run('cp /lib/libtinfo.so.5 %s/usr/lib' % rootpath, 1500)
+ self.target.run('cp /libx32/libtinfo.so.5 %s/usr/libx32' % rootpath, 1500)
+ self.target.run('cp /lib64/libtinfo.so.5 %s/usr/lib64' % rootpath, 1500)
+ self.target.run('ln -sf -r %s/lib %s/usr/lib' % (rootpath,rootpath), 1500)
+ self.target.run('ln -sf -r %s/libx32 %s/usr/libx32' % (rootpath,rootpath), 1500)
+ self.target.run('ln -sf -r %s/lib64 %s/usr/lib64' % (rootpath,rootpath), 1500)
+ self.target.run('cp -r /etc/rpm %s/etc' % rootpath, 1500)
+ self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500)
+ self.target.run('cp /bin/sh %s/bin' % rootpath, 1500)
+ self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500)
+ self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath)
+ status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500)
+ self.assertEqual(0, status, output)
+ status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500)
+ self.assertEqual(0, status, output)
+
+ @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
def test_dnf_exclude(self):
excludepkg = 'curl-dev'
self.dnf_with_repo('install -y curl*')
diff --git a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
index 0f5f9f43c..f3c2bedba 100644
--- a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
+++ b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
@@ -6,6 +6,7 @@ from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfDataVar
from oeqa.runtime.decorator.package import OEHasPackage
+import time
class SyslogTest(OERuntimeTestCase):
@@ -16,17 +17,77 @@ class SyslogTest(OERuntimeTestCase):
msg = "Failed to execute %s" % self.tc.target_cmds['ps']
self.assertEqual(status, 0, msg=msg)
msg = "No syslog daemon process; %s output:\n%s" % (self.tc.target_cmds['ps'], output)
- hasdaemon = "syslogd" in output or "syslog-ng" in output
+ hasdaemon = "syslogd" in output or "syslog-ng" in output or "svlogd" in output
self.assertTrue(hasdaemon, msg=msg)
class SyslogTestConfig(OERuntimeTestCase):
+ def verif_not_running(self, pids):
+ for pid in pids:
+ status, err_output = self.target.run('kill -0 %s' %pid)
+ if not status:
+ self.logger.debug("previous %s is still running" %pid)
+ return 1
+
+ def verify_running(self, names):
+ pids = []
+ for name in names:
+ status, pid = self.target.run('pidof %s' %name)
+ if status:
+ self.logger.debug("%s is not running" %name)
+ return 1, pids
+ pids.append(pid)
+ return 0, pids
+
+
+ def restart_sanity(self, names, restart_cmd, pidchange=True):
+ status, original_pids = self.verify_running(names)
+ if status:
+ return False
+
+ status, output = self.target.run(restart_cmd)
+
+ msg = ('Could not restart %s service. Status and output: %s and %s' % (names, status, output))
+ self.assertEqual(status, 0, msg)
+
+ if not pidchange:
+ return True
+
+ # Always check for an error, most likely a race between shutting down and starting up
+ timeout = time.time() + 30
+
+ restarted = False
+ status = ""
+ while time.time() < timeout:
+ # Verify the previous ones are no longer running
+ status = self.verif_not_running(original_pids)
+ if status:
+ status = "Original syslog processes still running"
+ continue
+
+ status, pids = self.verify_running(names)
+ if status:
+ status = "New syslog processes not running"
+ continue
+
+ # Everything is fine now, so exit to continue the test
+ restarted = True
+ break
+
+ msg = ('%s didn\'t appear to restart: %s' % (names, status))
+ self.assertTrue(restarted, msg)
+
+ return True
+
@OETestDepends(['oe_syslog.SyslogTest.test_syslog_running'])
def test_syslog_logger(self):
status, output = self.target.run('logger foobar')
msg = "Can't log into syslog. Output: %s " % output
self.assertEqual(status, 0, msg=msg)
+ # There is no way to flush the logger to disk in all cases
+ time.sleep(1)
+
status, output = self.target.run('grep foobar /var/log/messages')
if status != 0:
if self.tc.td.get("VIRTUAL-RUNTIME_init_manager") == "systemd":
@@ -37,12 +98,17 @@ class SyslogTestConfig(OERuntimeTestCase):
' Output: %s ' % output)
self.assertEqual(status, 0, msg=msg)
+
@OETestDepends(['oe_syslog.SyslogTest.test_syslog_running'])
def test_syslog_restart(self):
- if "systemd" != self.tc.td.get("VIRTUAL-RUNTIME_init_manager", ""):
- (_, _) = self.target.run('/etc/init.d/syslog restart')
+ if self.restart_sanity(['systemd-journald'], 'systemctl restart syslog.service', pidchange=False):
+ pass
+ elif self.restart_sanity(['rsyslogd'], '/etc/init.d/rsyslog restart'):
+ pass
+ elif self.restart_sanity(['syslogd', 'klogd'], '/etc/init.d/syslog restart'):
+ pass
else:
- (_, _) = self.target.run('systemctl restart syslog.service')
+ self.logger.info("No syslog found to restart, ignoring")
@OETestDepends(['oe_syslog.SyslogTestConfig.test_syslog_logger'])
@@ -52,10 +118,8 @@ class SyslogTestConfig(OERuntimeTestCase):
def test_syslog_startup_config(self):
cmd = 'echo "LOGFILE=/var/log/test" >> /etc/syslog-startup.conf'
self.target.run(cmd)
- status, output = self.target.run('/etc/init.d/syslog restart')
- msg = ('Could not restart syslog service. Status and output:'
- ' %s and %s' % (status,output))
- self.assertEqual(status, 0, msg)
+
+ self.test_syslog_restart()
cmd = 'logger foobar && grep foobar /var/log/test'
status,output = self.target.run(cmd)
@@ -64,4 +128,4 @@ class SyslogTestConfig(OERuntimeTestCase):
cmd = "sed -i 's#LOGFILE=/var/log/test##' /etc/syslog-startup.conf"
self.target.run(cmd)
- self.target.run('/etc/init.d/syslog restart')
+ self.test_syslog_restart()
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index eb2ebb195..15343d7ab 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -83,6 +83,10 @@ qemux86_common = [
'amd_nb: Cannot enumerate AMD northbridges',
'uvesafb: 5000 ms task timeout, infinitely waiting',
'tsc: HPET/PMTIMER calibration failed',
+ "modeset(0): Failed to initialize the DRI2 extension",
+ "uvesafb: cannot reserve video memory at",
+ "uvesafb: probe of uvesafb.0 failed with error",
+ "glamor initialization failed",
] + common_errors
ignore_errors = {
@@ -292,7 +296,7 @@ class ParseLogsTest(OERuntimeTestCase):
grepcmd = 'grep '
grepcmd += '-Ei "'
for error in errors:
- grepcmd += error + '|'
+ grepcmd += '\<' + error + '\>' + '|'
grepcmd = grepcmd[:-1]
grepcmd += '" ' + str(log) + " | grep -Eiv \'"
diff --git a/poky/meta/lib/oeqa/runtime/cases/rpm.py b/poky/meta/lib/oeqa/runtime/cases/rpm.py
index d8cabd364..8e18b426f 100644
--- a/poky/meta/lib/oeqa/runtime/cases/rpm.py
+++ b/poky/meta/lib/oeqa/runtime/cases/rpm.py
@@ -4,6 +4,7 @@
import os
import fnmatch
+import time
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
@@ -29,35 +30,6 @@ class RpmBasicTest(OERuntimeTestCase):
msg = 'status and output: %s and %s' % (status, output)
self.assertEqual(status, 0, msg=msg)
-class RpmInstallRemoveTest(OERuntimeTestCase):
-
- @classmethod
- def setUpClass(cls):
- pkgarch = cls.td['TUNE_PKGARCH'].replace('-', '_')
- rpmdir = os.path.join(cls.tc.td['DEPLOY_DIR'], 'rpm', pkgarch)
- # Pick base-passwd-doc as a test file to get installed, because it's small
- # and it will always be built for standard targets
- rpm_doc = 'base-passwd-doc-*.%s.rpm' % pkgarch
- if not os.path.exists(rpmdir):
- return
- for f in fnmatch.filter(os.listdir(rpmdir), rpm_doc):
- cls.test_file = os.path.join(rpmdir, f)
- cls.dst = '/tmp/base-passwd-doc.rpm'
-
- @OETestDepends(['rpm.RpmBasicTest.test_rpm_query'])
- def test_rpm_install(self):
- self.tc.target.copyTo(self.test_file, self.dst)
- status, output = self.target.run('rpm -ivh /tmp/base-passwd-doc.rpm')
- msg = 'Failed to install base-passwd-doc package: %s' % output
- self.assertEqual(status, 0, msg=msg)
- self.tc.target.run('rm -f %s' % self.dst)
-
- @OETestDepends(['rpm.RpmInstallRemoveTest.test_rpm_install'])
- def test_rpm_remove(self):
- status,output = self.target.run('rpm -e base-passwd-doc')
- msg = 'Failed to remove base-passwd-doc package: %s' % output
- self.assertEqual(status, 0, msg=msg)
-
@OETestDepends(['rpm.RpmBasicTest.test_rpm_query'])
def test_rpm_query_nonroot(self):
@@ -77,7 +49,21 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
msg = 'status: %s. Cannot run rpm -qa: %s' % (status, output)
self.assertEqual(status, 0, msg=msg)
+ def check_no_process_for_user(u):
+ _, output = self.target.run(self.tc.target_cmds['ps'])
+ if u + ' ' in output:
+ return False
+ else:
+ return True
+
def unset_up_test_user(u):
+ # ensure no test1 process in running
+ timeout = time.time() + 30
+ while time.time() < timeout:
+ if check_no_process_for_user(u):
+ break
+ else:
+ time.sleep(1)
status, output = self.target.run('userdel -r %s' % u)
msg = 'Failed to erase user: %s' % output
self.assertTrue(status == 0, msg=msg)
@@ -90,6 +76,36 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
finally:
unset_up_test_user(tuser)
+
+class RpmInstallRemoveTest(OERuntimeTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ pkgarch = cls.td['TUNE_PKGARCH'].replace('-', '_')
+ rpmdir = os.path.join(cls.tc.td['DEPLOY_DIR'], 'rpm', pkgarch)
+ # Pick base-passwd-doc as a test file to get installed, because it's small
+ # and it will always be built for standard targets
+ rpm_doc = 'base-passwd-doc-*.%s.rpm' % pkgarch
+ if not os.path.exists(rpmdir):
+ return
+ for f in fnmatch.filter(os.listdir(rpmdir), rpm_doc):
+ cls.test_file = os.path.join(rpmdir, f)
+ cls.dst = '/tmp/base-passwd-doc.rpm'
+
+ @OETestDepends(['rpm.RpmBasicTest.test_rpm_query'])
+ def test_rpm_install(self):
+ self.tc.target.copyTo(self.test_file, self.dst)
+ status, output = self.target.run('rpm -ivh /tmp/base-passwd-doc.rpm')
+ msg = 'Failed to install base-passwd-doc package: %s' % output
+ self.assertEqual(status, 0, msg=msg)
+ self.tc.target.run('rm -f %s' % self.dst)
+
+ @OETestDepends(['rpm.RpmInstallRemoveTest.test_rpm_install'])
+ def test_rpm_remove(self):
+ status,output = self.target.run('rpm -e base-passwd-doc')
+ msg = 'Failed to remove base-passwd-doc package: %s' % output
+ self.assertEqual(status, 0, msg=msg)
+
@OETestDepends(['rpm.RpmInstallRemoveTest.test_rpm_remove'])
def test_check_rpm_install_removal_log_file_size(self):
"""
diff --git a/poky/meta/lib/oeqa/sdkext/cases/devtool.py b/poky/meta/lib/oeqa/sdkext/cases/devtool.py
index 5a02add76..8e92bf806 100644
--- a/poky/meta/lib/oeqa/sdkext/cases/devtool.py
+++ b/poky/meta/lib/oeqa/sdkext/cases/devtool.py
@@ -73,8 +73,8 @@ class DevtoolTest(OESDKExtTestCase):
self._run('devtool reset %s' % recipe)
def test_devtool_kernelmodule(self):
- docfile = 'https://github.com/umlaeute/v4l2loopback.git'
- recipe = 'v4l2loopback-driver'
+ docfile = 'https://git.yoctoproject.org/git/kernel-module-hello-world'
+ recipe = 'kernel-module-hello-world'
self._run('devtool add %s %s' % (recipe, docfile) )
try:
self._run('devtool build %s' % recipe)
diff --git a/poky/meta/lib/oeqa/selftest/case.py b/poky/meta/lib/oeqa/selftest/case.py
index d207a0af0..ac3308d8a 100644
--- a/poky/meta/lib/oeqa/selftest/case.py
+++ b/poky/meta/lib/oeqa/selftest/case.py
@@ -193,13 +193,20 @@ to ensure accurate results.")
self.logger.debug("Adding path '%s' to be cleaned up when test is over" % path)
self._track_for_cleanup.append(path)
- def write_config(self, data):
- """Write to <builddir>/conf/selftest.inc"""
+ def write_config(self, data, multiconfig=None):
+ """Write to config file"""
+ if multiconfig:
+ multiconfigdir = "%s/conf/multiconfig" % self.builddir
+ os.makedirs(multiconfigdir, exist_ok=True)
+ dest_path = '%s/%s.conf' % (multiconfigdir, multiconfig)
+ self.track_for_cleanup(dest_path)
+ else:
+ dest_path = self.testinc_path
- self.logger.debug("Writing to: %s\n%s\n" % (self.testinc_path, data))
- ftools.write_file(self.testinc_path, data)
+ self.logger.debug("Writing to: %s\n%s\n" % (dest_path, data))
+ ftools.write_file(dest_path, data)
- if self.tc.custommachine and 'MACHINE' in data:
+ if not multiconfig and self.tc.custommachine and 'MACHINE' in data:
machine = get_bb_var('MACHINE')
self.logger.warning('MACHINE overridden: %s' % machine)
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index e9ad44b02..9461c7ed1 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -40,7 +40,7 @@ class BitbakeTests(OESelftestTestCase):
def test_event_handler(self):
self.write_config("INHERIT += \"test_events\"")
result = bitbake('m4-native')
- find_build_started = re.search(r"NOTE: Test for bb\.event\.BuildStarted(\n.*)*NOTE: Executing RunQueue Tasks", result.output)
+ find_build_started = re.search(r"NOTE: Test for bb\.event\.BuildStarted(\n.*)*NOTE: Executing.*Tasks", result.output)
find_build_completed = re.search(r"Tasks Summary:.*(\n.*)*NOTE: Test for bb\.event\.BuildCompleted", result.output)
self.assertTrue(find_build_started, msg = "Match failed in:\n%s" % result.output)
self.assertTrue(find_build_completed, msg = "Match failed in:\n%s" % result.output)
@@ -75,8 +75,11 @@ class BitbakeTests(OESelftestTestCase):
result = bitbake('man-db -c patch', ignore_status=True)
self.delete_recipeinc('man-db')
bitbake('-cclean man-db')
- line = self.getline(result, "Function failed: patch_do_patch")
- self.assertTrue(line and line.startswith("ERROR:"), msg = "Incorrectly formed patch application didn't fail. bitbake output: %s" % result.output)
+ found = False
+ for l in result.output.split('\n'):
+ if l.startswith("ERROR:") and "failed" in l and "do_patch" in l:
+ found = l
+ self.assertTrue(found and found.startswith("ERROR:"), msg = "Incorrectly formed patch application didn't fail. bitbake output: %s" % result.output)
def test_force_task_1(self):
# test 1 from bug 5875
@@ -115,11 +118,12 @@ class BitbakeTests(OESelftestTestCase):
self.assertIn(task, result.output, msg="Couldn't find %s task.")
def test_bitbake_g(self):
- result = bitbake('-g core-image-minimal')
- for f in ['pn-buildlist', 'recipe-depends.dot', 'task-depends.dot']:
+ recipe = 'base-files'
+ result = bitbake('-g %s' % recipe)
+ for f in ['pn-buildlist', 'task-depends.dot']:
self.addCleanup(os.remove, f)
self.assertTrue('Task dependencies saved to \'task-depends.dot\'' in result.output, msg = "No task dependency \"task-depends.dot\" file was generated for the given task target. bitbake output: %s" % result.output)
- self.assertTrue('busybox' in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"busybox\" dependency found in task-depends.dot file.")
+ self.assertTrue(recipe in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"%s\" dependency found in task-depends.dot file." % recipe)
def test_image_manifest(self):
bitbake('core-image-minimal')
@@ -242,6 +246,36 @@ INHERIT_remove = \"report-error\"
self.assertIn('_setscene', task, 'A task different from _setscene ran: %s.\n'
'Executed tasks were: %s' % (task, str(tasks)))
+ def test_skip_setscene(self):
+ test_recipe = 'ed'
+
+ bitbake(test_recipe)
+ bitbake('-c clean %s' % test_recipe)
+
+ ret = bitbake('--setscene-only %s' % test_recipe)
+ tasks = re.findall(r'task\s+(do_\S+):', ret.output)
+
+ for task in tasks:
+ self.assertIn('_setscene', task, 'A task different from _setscene ran: %s.\n'
+ 'Executed tasks were: %s' % (task, str(tasks)))
+
+ # Run without setscene. Should do nothing
+ ret = bitbake('--skip-setscene %s' % test_recipe)
+ tasks = re.findall(r'task\s+(do_\S+):', ret.output)
+
+ self.assertFalse(tasks, 'Tasks %s ran when they should not have' % (str(tasks)))
+
+ # Clean (leave sstate cache) and run with --skip-setscene. No setscene
+ # tasks should run
+ bitbake('-c clean %s' % test_recipe)
+
+ ret = bitbake('--skip-setscene %s' % test_recipe)
+ tasks = re.findall(r'task\s+(do_\S+):', ret.output)
+
+ for task in tasks:
+ self.assertNotIn('_setscene', task, 'A _setscene task ran: %s.\n'
+ 'Executed tasks were: %s' % (task, str(tasks)))
+
def test_bbappend_order(self):
""" Bitbake should bbappend to recipe in a predictable order """
test_recipe = 'ed'
diff --git a/poky/meta/lib/oeqa/selftest/cases/binutils.py b/poky/meta/lib/oeqa/selftest/cases/binutils.py
new file mode 100644
index 000000000..821f52f5a
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/binutils.py
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: MIT
+import os
+import sys
+import re
+import logging
+from oeqa.core.decorator import OETestTag
+from oeqa.core.case import OEPTestResultTestCase
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars
+
+def parse_values(content):
+ for i in content:
+ for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", "UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]:
+ if i.startswith(v + ": "):
+ yield i[len(v) + 2:].strip(), v
+ break
+
+@OETestTag("toolchain-user", "toolchain-system")
+class BinutilsCrossSelfTest(OESelftestTestCase, OEPTestResultTestCase):
+ def test_binutils(self):
+ self.run_binutils("binutils")
+
+ def test_gas(self):
+ self.run_binutils("gas")
+
+ def test_ld(self):
+ self.run_binutils("ld")
+
+ def run_binutils(self, suite):
+ features = []
+ features.append('CHECK_TARGETS = "{0}"'.format(suite))
+ self.write_config("\n".join(features))
+
+ recipe = "binutils-cross-testsuite"
+ bb_vars = get_bb_vars(["B", "TARGET_SYS", "T"], recipe)
+ builddir, target_sys, tdir = bb_vars["B"], bb_vars["TARGET_SYS"], bb_vars["T"]
+
+ bitbake("{0} -c check".format(recipe))
+
+ sumspath = os.path.join(builddir, suite, "{0}.sum".format(suite))
+ if not os.path.exists(sumspath):
+ sumspath = os.path.join(builddir, suite, "testsuite", "{0}.sum".format(suite))
+ logpath = os.path.splitext(sumspath)[0] + ".log"
+
+ ptestsuite = "binutils-{}".format(suite) if suite != "binutils" else suite
+ self.ptest_section(ptestsuite, logfile = logpath)
+ with open(sumspath, "r") as f:
+ for test, result in parse_values(f):
+ self.ptest_result(ptestsuite, test, result)
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
index 3ad65b403..6a5378d3f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -162,17 +162,14 @@ class ArchiverTest(OESelftestTestCase):
self.assertTrue((g.glob(src_file_glob) and g.glob(tar_file_glob)), "Couldn't find .src.rpm and .tar.gz files under %s/allarch*/xcursor*" % deploy_dir_src)
class ToolchainOptions(OESelftestTestCase):
-
def test_toolchain_fortran(self):
"""
- Test whether we can enable and build fortran and its supporting libraries
+ Test that Fortran works by building a Hello, World binary.
"""
features = 'FORTRAN_forcevariable = ",fortran"\n'
- features += 'RUNTIMETARGET_append_pn-gcc-runtime = " libquadmath"\n'
self.write_config(features)
-
- bitbake('gcc-runtime libgfortran')
+ bitbake('fortran-helloworld')
class SourceMirroring(OESelftestTestCase):
# Can we download everything from the Yocto Sources Mirror over http only
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 904ff6988..3a25da203 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -240,6 +240,9 @@ class DevtoolTests(DevtoolBase):
# Check preconditions
result = runCmd('bitbake-layers show-layers')
self.assertTrue('\nworkspace' not in result.output, 'This test cannot be run with a workspace layer in bblayers.conf')
+ # remove conf/devtool.conf to avoid it corrupting tests
+ devtoolconf = os.path.join(self.builddir, 'conf', 'devtool.conf')
+ self.track_for_cleanup(devtoolconf)
# Try creating a workspace layer with a specific path
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
@@ -515,8 +518,8 @@ class DevtoolModifyTests(DevtoolBase):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
self.track_for_cleanup(self.workspacedir)
- self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
self.add_command_to_tearDown('bitbake -c clean mdadm')
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool modify mdadm -x %s' % tempdir)
self.assertExists(os.path.join(tempdir, 'Makefile'), 'Extracted source could not be found')
self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created')
@@ -584,8 +587,8 @@ class DevtoolModifyTests(DevtoolBase):
self.track_for_cleanup(tempdir_m4)
self.track_for_cleanup(builddir_m4)
self.track_for_cleanup(self.workspacedir)
- self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
self.add_command_to_tearDown('bitbake -c clean mdadm m4')
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
self.write_recipeinc('m4', 'EXTERNALSRC_BUILD = "%s"\ndo_clean() {\n\t:\n}\n' % builddir_m4)
try:
runCmd('devtool modify mdadm -x %s' % tempdir_mdadm)
@@ -601,6 +604,7 @@ class DevtoolModifyTests(DevtoolBase):
bitbake('mdadm m4 -c buildclean')
assertNoFile(tempdir_mdadm, 'mdadm')
assertNoFile(builddir_m4, 'src/m4')
+ runCmd('echo "#Trigger rebuild" >> %s/Makefile' % tempdir_mdadm)
bitbake('mdadm m4 -c compile')
assertFile(tempdir_mdadm, 'mdadm')
assertFile(builddir_m4, 'src/m4')
@@ -680,8 +684,8 @@ class DevtoolModifyTests(DevtoolBase):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
self.track_for_cleanup(self.workspacedir)
- self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe)
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir))
self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found')
self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created. devtool output: %s' % result.output)
@@ -712,8 +716,8 @@ class DevtoolModifyTests(DevtoolBase):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
self.track_for_cleanup(self.workspacedir)
- self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe)
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir))
self.assertExists(os.path.join(tempdir, 'configure.ac'), 'Extracted source could not be found')
self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created')
@@ -1243,8 +1247,8 @@ class DevtoolExtractTests(DevtoolBase):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
self.track_for_cleanup(self.workspacedir)
- self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe)
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir))
# Test that deploy-target at this point fails (properly)
result = runCmd('devtool deploy-target -n %s root@localhost' % testrecipe, ignore_status=True)
@@ -1294,8 +1298,8 @@ class DevtoolExtractTests(DevtoolBase):
self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
image = 'core-image-minimal'
self.track_for_cleanup(self.workspacedir)
- self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
self.add_command_to_tearDown('bitbake -c clean %s' % image)
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
bitbake('%s -c clean' % image)
# Add target and native recipes to workspace
recipes = ['mdadm', 'parted-native']
@@ -1704,8 +1708,8 @@ class DevtoolUpgradeTests(DevtoolBase):
self.track_for_cleanup(tempdir)
self.track_for_cleanup(tempdir_cfg)
self.track_for_cleanup(self.workspacedir)
- self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
self.add_command_to_tearDown('bitbake -c clean %s' % kernel_provider)
+ self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
#Step 1
#Here is just generated the config file instead of all the kernel to optimize the
#time of executing this test case.
diff --git a/poky/meta/lib/oeqa/selftest/cases/gcc.py b/poky/meta/lib/oeqa/selftest/cases/gcc.py
new file mode 100644
index 000000000..5a917b9c4
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/gcc.py
@@ -0,0 +1,140 @@
+# SPDX-License-Identifier: MIT
+import os
+from oeqa.core.decorator import OETestTag
+from oeqa.core.case import OEPTestResultTestCase
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command
+
+def parse_values(content):
+ for i in content:
+ for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", "UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]:
+ if i.startswith(v + ": "):
+ yield i[len(v) + 2:].strip(), v
+ break
+
+class GccSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
+ def check_skip(self, suite):
+ targets = get_bb_var("RUNTIMETARGET", "gcc-runtime").split()
+ if suite not in targets:
+ self.skipTest("Target does not use {0}".format(suite))
+
+ def run_check(self, *suites, ssh = None):
+ targets = set()
+ for s in suites:
+ if s in ["gcc", "g++"]:
+ targets.add("check-gcc")
+ else:
+ targets.add("check-target-{}".format(s))
+
+ # configure ssh target
+ features = []
+ features.append('MAKE_CHECK_TARGETS = "{0}"'.format(" ".join(targets)))
+ if ssh is not None:
+ features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
+ features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
+ features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
+ features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
+ self.write_config("\n".join(features))
+
+ recipe = "gcc-runtime"
+ bitbake("{} -c check".format(recipe))
+
+ bb_vars = get_bb_vars(["B", "TARGET_SYS"], recipe)
+ builddir, target_sys = bb_vars["B"], bb_vars["TARGET_SYS"]
+
+ for suite in suites:
+ sumspath = os.path.join(builddir, "gcc", "testsuite", suite, "{0}.sum".format(suite))
+ if not os.path.exists(sumspath): # check in target dirs
+ sumspath = os.path.join(builddir, target_sys, suite, "testsuite", "{0}.sum".format(suite))
+ if not os.path.exists(sumspath): # handle libstdc++-v3 -> libstdc++
+ sumspath = os.path.join(builddir, target_sys, suite, "testsuite", "{0}.sum".format(suite.split("-")[0]))
+ logpath = os.path.splitext(sumspath)[0] + ".log"
+
+ ptestsuite = "gcc-{}".format(suite) if suite != "gcc" else suite
+ ptestsuite = ptestsuite + "-user" if ssh is None else ptestsuite
+ self.ptest_section(ptestsuite, logfile = logpath)
+ with open(sumspath, "r") as f:
+ for test, result in parse_values(f):
+ self.ptest_result(ptestsuite, test, result)
+
+ def run_check_emulated(self, *args, **kwargs):
+ # build core-image-minimal with required packages
+ default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
+ features = []
+ features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+ features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+ self.write_config("\n".join(features))
+ bitbake("core-image-minimal")
+
+ # wrap the execution with a qemu instance
+ with runqemu("core-image-minimal", runqemuparams = "nographic") as qemu:
+ # validate that SSH is working
+ status, _ = qemu.run("uname")
+ self.assertEqual(status, 0)
+
+ return self.run_check(*args, ssh=qemu.ip, **kwargs)
+
+@OETestTag("toolchain-user")
+class GccCrossSelfTest(GccSelfTestBase):
+ def test_cross_gcc(self):
+ self.run_check("gcc", "g++")
+
+@OETestTag("toolchain-user")
+class GccLibAtomicSelfTest(GccSelfTestBase):
+ def test_libatomic(self):
+ self.run_check("libatomic")
+
+@OETestTag("toolchain-user")
+class GccLibGompSelfTest(GccSelfTestBase):
+ def test_libgomp(self):
+ self.run_check("libgomp")
+
+@OETestTag("toolchain-user")
+class GccLibStdCxxSelfTest(GccSelfTestBase):
+ def test_libstdcxx(self):
+ self.run_check("libstdc++-v3")
+
+@OETestTag("toolchain-user")
+class GccLibSspSelfTest(GccSelfTestBase):
+ def test_libssp(self):
+ self.check_skip("libssp")
+ self.run_check("libssp")
+
+@OETestTag("toolchain-user")
+class GccLibItmSelfTest(GccSelfTestBase):
+ def test_libitm(self):
+ self.check_skip("libitm")
+ self.run_check("libitm")
+
+@OETestTag("toolchain-system")
+class GccCrossSelfTestSystemEmulated(GccSelfTestBase):
+ def test_cross_gcc(self):
+ self.run_check_emulated("gcc", "g++")
+
+@OETestTag("toolchain-system")
+class GccLibAtomicSelfTestSystemEmulated(GccSelfTestBase):
+ def test_libatomic(self):
+ self.run_check_emulated("libatomic")
+
+@OETestTag("toolchain-system")
+class GccLibGompSelfTestSystemEmulated(GccSelfTestBase):
+ def test_libgomp(self):
+ self.run_check_emulated("libgomp")
+
+@OETestTag("toolchain-system")
+class GccLibStdCxxSelfTestSystemEmulated(GccSelfTestBase):
+ def test_libstdcxx(self):
+ self.run_check_emulated("libstdc++-v3")
+
+@OETestTag("toolchain-system")
+class GccLibSspSelfTestSystemEmulated(GccSelfTestBase):
+ def test_libssp(self):
+ self.check_skip("libssp")
+ self.run_check_emulated("libssp")
+
+@OETestTag("toolchain-system")
+class GccLibItmSelfTestSystemEmulated(GccSelfTestBase):
+ def test_libitm(self):
+ self.check_skip("libitm")
+ self.run_check_emulated("libitm")
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/glibc.py b/poky/meta/lib/oeqa/selftest/cases/glibc.py
new file mode 100644
index 000000000..c687f6ef9
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/glibc.py
@@ -0,0 +1,89 @@
+# SPDX-License-Identifier: MIT
+import os
+import contextlib
+from oeqa.core.decorator import OETestTag
+from oeqa.core.case import OEPTestResultTestCase
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command
+from oeqa.utils.nfs import unfs_server
+
+def parse_values(content):
+ for i in content:
+ for v in ["PASS", "FAIL", "XPASS", "XFAIL", "UNRESOLVED", "UNSUPPORTED", "UNTESTED", "ERROR", "WARNING"]:
+ if i.startswith(v + ": "):
+ yield i[len(v) + 2:].strip(), v
+ break
+
+class GlibcSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
+ def run_check(self, ssh = None):
+ # configure ssh target
+ features = []
+ if ssh is not None:
+ features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
+ features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
+ features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
+ features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
+ # force single threaded test execution
+ features.append('EGLIBCPARALLELISM_task-check_pn-glibc-testsuite = "PARALLELMFLAGS="-j1""')
+ self.write_config("\n".join(features))
+
+ bitbake("glibc-testsuite -c check")
+
+ builddir = get_bb_var("B", "glibc-testsuite")
+
+ ptestsuite = "glibc-user" if ssh is None else "glibc"
+ self.ptest_section(ptestsuite)
+ with open(os.path.join(builddir, "tests.sum"), "r") as f:
+ for test, result in parse_values(f):
+ self.ptest_result(ptestsuite, test, result)
+
+ def run_check_emulated(self):
+ with contextlib.ExitStack() as s:
+ # use the base work dir, as the nfs mount, since the recipe directory may not exist
+ tmpdir = get_bb_var("BASE_WORKDIR")
+ nfsport, mountport = s.enter_context(unfs_server(tmpdir))
+
+ # build core-image-minimal with required packages
+ default_installed_packages = [
+ "glibc-charmaps",
+ "libgcc",
+ "libstdc++",
+ "libatomic",
+ "libgomp",
+ # "python3",
+ # "python3-pexpect",
+ "nfs-utils",
+ ]
+ features = []
+ features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+ features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+ self.write_config("\n".join(features))
+ bitbake("core-image-minimal")
+
+ # start runqemu
+ qemu = s.enter_context(runqemu("core-image-minimal", runqemuparams = "nographic"))
+
+ # validate that SSH is working
+ status, _ = qemu.run("uname")
+ self.assertEqual(status, 0)
+
+ # setup nfs mount
+ if qemu.run("mkdir -p \"{0}\"".format(tmpdir))[0] != 0:
+ raise Exception("Failed to setup NFS mount directory on target")
+ mountcmd = "mount -o noac,nfsvers=3,port={0},udp,mountport={1} \"{2}:{3}\" \"{3}\"".format(nfsport, mountport, qemu.server_ip, tmpdir)
+ status, output = qemu.run(mountcmd)
+ if status != 0:
+ raise Exception("Failed to setup NFS mount on target ({})".format(repr(output)))
+
+ self.run_check(ssh = qemu.ip)
+
+@OETestTag("toolchain-user")
+class GlibcSelfTest(GlibcSelfTestBase):
+ def test_glibc(self):
+ self.run_check()
+
+@OETestTag("toolchain-system")
+class GlibcSelfTestSystemEmulated(GlibcSelfTestBase):
+ def test_glibc(self):
+ self.run_check_emulated()
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
index afc629f29..8213d63e3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -161,7 +161,8 @@ class ImageFeatures(OESelftestTestCase):
sysroot = get_bb_var('STAGING_DIR_NATIVE', 'core-image-minimal')
result = runCmd('qemu-img info --output json %s' % image_path,
native_sysroot=sysroot)
- self.assertTrue(json.loads(result.output).get('format') == itype)
+ self.assertTrue(json.loads(result.output).get('format') == itype,
+ msg="Could not parse '%s'" % result.output)
def test_long_chain_conversion(self):
"""
diff --git a/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py b/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
new file mode 100644
index 000000000..a61876ee6
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/kerneldevelopment.py
@@ -0,0 +1,67 @@
+import os
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import runCmd, get_bb_var
+from oeqa.utils.git import GitRepo
+
+class KernelDev(OESelftestTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ super(KernelDev, cls).setUpClass()
+ # Create the recipe directory structure inside the created layer
+ cls.layername = 'meta-kerneltest'
+ runCmd('bitbake-layers create-layer %s' % cls.layername)
+ runCmd('mkdir -p %s/recipes-kernel/linux/linux-yocto' % cls.layername)
+ cls.recipes_linuxyocto_dir = os.path.join \
+ (cls.builddir, cls.layername, 'recipes-kernel', 'linux', 'linux-yocto')
+ cls.recipeskernel_dir = os.path.dirname(cls.recipes_linuxyocto_dir)
+ runCmd('bitbake-layers add-layer %s' % cls.layername)
+
+ @classmethod
+ def tearDownClass(cls):
+ runCmd('bitbake-layers remove-layer %s' % cls.layername, ignore_status=True)
+ runCmd('rm -rf %s' % cls.layername)
+ super(KernelDev, cls).tearDownClass()
+
+ def setUp(self):
+ super(KernelDev, self).setUp()
+ self.set_machine_config('MACHINE = "qemux86-64"\n')
+
+ def test_apply_patches(self):
+ """
+ Summary: Able to apply a single patch to the Linux kernel source
+ Expected: The README file should exist and the patch changes should be
+ displayed at the end of the file.
+ Product: Kernel Development
+ Author: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
+ AutomatedBy: Mazliana Mohamad <mazliana.mohamad@intel.com>
+ """
+ runCmd('bitbake virtual/kernel -c patch')
+ kernel_source = get_bb_var('STAGING_KERNEL_DIR')
+ readme = os.path.join(kernel_source, 'README')
+
+ # This test step adds modified file 'README' to git and creates a
+ # patch file '0001-KERNEL_DEV_TEST_CASE.patch' at the same location as file
+ patch_content = 'This is a test to apply a patch to the kernel'
+ with open(readme, 'a+') as f:
+ f.write(patch_content)
+ repo = GitRepo('%s' % kernel_source, is_topdir=True)
+ repo.run_cmd('add %s' % readme)
+ repo.run_cmd(['commit', '-m', 'KERNEL_DEV_TEST_CASE'])
+ repo.run_cmd(['format-patch', '-1'])
+ patch_name = '0001-KERNEL_DEV_TEST_CASE.patch'
+ patchpath = os.path.join(kernel_source, patch_name)
+ runCmd('mv %s %s' % (patchpath, self.recipes_linuxyocto_dir))
+ runCmd('rm %s ' % readme)
+ self.assertFalse(os.path.exists(readme))
+
+ recipe_append = os.path.join(self.recipeskernel_dir, 'linux-yocto_%.bbappend')
+ with open(recipe_append, 'w+') as fh:
+ fh.write('SRC_URI += "file://%s"\n' % patch_name)
+ fh.write('FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"')
+
+ runCmd('bitbake virtual/kernel -c clean')
+ runCmd('bitbake virtual/kernel -c patch')
+ self.assertTrue(os.path.exists(readme))
+ result = runCmd('tail -n 1 %s' % readme)
+ self.assertEqual(result.output, patch_content)
diff --git a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
index f47bc7091..03901a2f3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
+++ b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
@@ -5,9 +5,11 @@
from oeqa.selftest.case import OESelftestTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
from oeqa.utils.commands import bitbake, get_bb_vars, runCmd
+from oeqa.core.decorator import OETestTag
import tempfile
import shutil
+@OETestTag("machine")
class MetaIDE(OESelftestTestCase):
@classmethod
diff --git a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
index d21bf0a41..39b92f243 100644
--- a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
+++ b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
@@ -3,16 +3,16 @@
#
import os
+import textwrap
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
-import oeqa.utils.ftools as ftools
class MultiConfig(OESelftestTestCase):
def test_multiconfig(self):
"""
- Test that a simple multiconfig build works. This uses the mcextend class and the
- multiconfig-image-packager test recipe to build a core-image-full-cmdline image which
+ Test that a simple multiconfig build works. This uses the mcextend class and the
+ multiconfig-image-packager test recipe to build a core-image-full-cmdline image which
contains a tiny core-image-minimal and a musl core-image-minimal, installed as packages.
"""
@@ -28,20 +28,45 @@ DISTRO = "poky"
TCLIBC = "musl"
TMPDIR = "${TOPDIR}/tmp-mc-musl"
"""
+ self.write_config(muslconfig, 'musl')
tinyconfig = """
MACHINE = "qemux86"
DISTRO = "poky-tiny"
TMPDIR = "${TOPDIR}/tmp-mc-tiny"
"""
-
- multiconfigdir = self.builddir + "/conf/multiconfig"
- os.makedirs(multiconfigdir, exist_ok=True)
- self.track_for_cleanup(multiconfigdir + "/musl.conf")
- ftools.write_file(multiconfigdir + "/musl.conf", muslconfig)
- self.track_for_cleanup(multiconfigdir + "/tiny.conf")
- ftools.write_file(multiconfigdir + "/tiny.conf", tinyconfig)
+ self.write_config(tinyconfig, 'tiny')
# Build a core-image-minimal
bitbake('core-image-full-cmdline')
+ def test_multiconfig_reparse(self):
+ """
+ Test that changes to a multiconfig conf file are correctly detected and
+ cause a reparse/rebuild of a recipe.
+ """
+ config = textwrap.dedent('''\
+ MCTESTVAR = "test"
+ BBMULTICONFIG = "test"
+ ''')
+ self.write_config(config)
+
+ testconfig = textwrap.dedent('''\
+ MCTESTVAR_append = "1"
+ ''')
+ self.write_config(testconfig, 'test')
+
+ # Check that the 1) the task executed and 2) that it output the correct
+ # value. Note "bitbake -e" is not used because it always reparses the
+ # recipe and we want to ensure that the automatic reparsing and parse
+ # caching is detected.
+ result = bitbake('mc:test:multiconfig-test-parse -c showvar')
+ self.assertIn('MCTESTVAR=test1', result.output.splitlines())
+
+ testconfig = textwrap.dedent('''\
+ MCTESTVAR_append = "2"
+ ''')
+ self.write_config(testconfig, 'test')
+
+ result = bitbake('mc:test:multiconfig-test-parse -c showvar')
+ self.assertIn('MCTESTVAR=test2', result.output.splitlines())
diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
index 7770b66a2..c169885cf 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -3,10 +3,12 @@
#
import os
+import shutil
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
+from oeqa.utils import CommandError
class BuildhistoryDiffTests(BuildhistoryBase):
@@ -63,3 +65,59 @@ class OEPybootchartguyTests(OEScriptTests):
runCmd('%s/pybootchartgui/pybootchartgui.py %s -o %s/charts -f pdf' % (self.scripts_dir, self.buildstats, self.tmpdir))
self.assertTrue(os.path.exists(self.tmpdir + "/charts.pdf"))
+class OEGitproxyTests(OESelftestTestCase):
+
+ scripts_dir = os.path.join(get_bb_var('COREBASE'), 'scripts')
+
+ def test_oegitproxy_help(self):
+ try:
+ res = runCmd('%s/oe-git-proxy --help' % self.scripts_dir, assert_error=False)
+ self.assertTrue(False)
+ except CommandError as e:
+ self.assertEqual(2, e.retcode)
+
+ def run_oegitproxy(self, custom_shell=None):
+ os.environ['SOCAT'] = shutil.which("echo")
+ os.environ['ALL_PROXY'] = "https://proxy.example.com:3128"
+ os.environ['NO_PROXY'] = "*.example.com,.no-proxy.org,192.168.42.0/24,127.*.*.*"
+
+ if custom_shell is None:
+ prefix = ''
+ else:
+ prefix = custom_shell + ' '
+
+ # outside, use the proxy
+ res = runCmd('%s%s/oe-git-proxy host.outside-example.com 9418' %
+ (prefix,self.scripts_dir))
+ self.assertIn('PROXY:', res.output)
+ # match with wildcard suffix
+ res = runCmd('%s%s/oe-git-proxy host.example.com 9418' %
+ (prefix, self.scripts_dir))
+ self.assertIn('TCP:', res.output)
+ # match just suffix
+ res = runCmd('%s%s/oe-git-proxy host.no-proxy.org 9418' %
+ (prefix, self.scripts_dir))
+ self.assertIn('TCP:', res.output)
+ # match IP subnet
+ res = runCmd('%s%s/oe-git-proxy 192.168.42.42 9418' %
+ (prefix, self.scripts_dir))
+ self.assertIn('TCP:', res.output)
+ # match IP wildcard
+ res = runCmd('%s%s/oe-git-proxy 127.1.2.3 9418' %
+ (prefix, self.scripts_dir))
+ self.assertIn('TCP:', res.output)
+
+ # test that * globbering is off
+ os.environ['NO_PROXY'] = "*"
+ res = runCmd('%s%s/oe-git-proxy host.example.com 9418' %
+ (prefix, self.scripts_dir))
+ self.assertIn('TCP:', res.output)
+
+ def test_oegitproxy_proxy(self):
+ self.run_oegitproxy()
+
+ def test_oegitproxy_proxy_dash(self):
+ dash = shutil.which("dash")
+ if dash is None:
+ self.skipTest("No \"dash\" found on test system.")
+ self.run_oegitproxy(custom_shell=dash)
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index e3f5c7166..1c701a40b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -406,22 +406,19 @@ class RecipetoolTests(RecipetoolBase):
self._test_recipe_contents(os.path.join(temprecipe, dirlist[0]), checkvars, inherits)
def test_recipetool_create_cmake(self):
- bitbake('-c packagedata gtk+')
-
- # Try adding a recipe
temprecipe = os.path.join(self.tempdir, 'recipe')
os.makedirs(temprecipe)
- recipefile = os.path.join(temprecipe, 'navit_0.5.0.bb')
- srcuri = 'http://downloads.yoctoproject.org/mirror/sources/navit-0.5.0.tar.gz'
+ recipefile = os.path.join(temprecipe, 'taglib_1.11.1.bb')
+ srcuri = 'http://taglib.github.io/releases/taglib-1.11.1.tar.gz'
result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri))
self.assertTrue(os.path.isfile(recipefile))
checkvars = {}
- checkvars['LICENSE'] = set(['Unknown', 'GPLv2', 'LGPLv2'])
- checkvars['SRC_URI'] = 'http://downloads.yoctoproject.org/mirror/sources/navit-${PV}.tar.gz'
- checkvars['SRC_URI[md5sum]'] = '242f398e979a6b8c0f3c802b63435b68'
- checkvars['SRC_URI[sha256sum]'] = '13353481d7fc01a4f64e385dda460b51496366bba0fd2cc85a89a0747910e94d'
- checkvars['DEPENDS'] = set(['freetype', 'zlib', 'openssl', 'glib-2.0', 'virtual/libgl', 'virtual/egl', 'gtk+', 'libpng', 'libsdl', 'freeglut', 'dbus-glib', 'fribidi'])
- inherits = ['cmake', 'python-dir', 'gettext', 'pkgconfig']
+ checkvars['LICENSE'] = set(['LGPLv2.1', 'MPL-1.1'])
+ checkvars['SRC_URI'] = 'http://taglib.github.io/releases/taglib-${PV}.tar.gz'
+ checkvars['SRC_URI[md5sum]'] = 'cee7be0ccfc892fa433d6c837df9522a'
+ checkvars['SRC_URI[sha256sum]'] = 'b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b'
+ checkvars['DEPENDS'] = set(['boost', 'zlib'])
+ inherits = ['cmake']
self._test_recipe_contents(recipefile, checkvars, inherits)
def test_recipetool_create_github(self):
diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
index 6dc83d284..c235c139e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -8,6 +8,7 @@ from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
import functools
import multiprocessing
import textwrap
+import json
import unittest
MISSING = 'MISSING'
@@ -71,7 +72,7 @@ def compare_file(reference, test, diffutils_sysroot):
return result
class ReproducibleTests(OESelftestTestCase):
- package_classes = ['deb']
+ package_classes = ['deb', 'ipk']
images = ['core-image-minimal']
def setUpLocal(self):
@@ -81,14 +82,12 @@ class ReproducibleTests(OESelftestTestCase):
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'] = ''
+ self.extrasresults = {}
+ self.extrasresults.setdefault('reproducible.rawlogs', {})['log'] = ''
+ self.extrasresults.setdefault('reproducible', {}).setdefault('files', {})
def append_to_log(self, msg):
- self.extras['reproducible.rawlogs']['log'] += msg
+ self.extrasresults['reproducible.rawlogs']['log'] += msg
def compare_packages(self, reference_dir, test_dir, diffutils_sysroot):
result = PackageCompareResults()
@@ -114,47 +113,70 @@ class ReproducibleTests(OESelftestTestCase):
result.sort()
return result
- @unittest.skip("Reproducible builds do not yet pass")
+ def write_package_list(self, package_class, name, packages):
+ self.extrasresults['reproducible']['files'].setdefault(package_class, {})[name] = [
+ {'reference': p.reference, 'test': p.test} for p in packages]
+
def test_reproducible_builds(self):
capture_vars = ['DEPLOY_DIR_' + c.upper() for c in self.package_classes]
+ # Build native utilities
+ self.write_config('')
+ bitbake("diffutils-native -c addto_recipe_sysroot")
+ diffutils_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "diffutils-native")
+
+ # Reproducible builds should not pull from sstate or mirrors, but
+ # sharing DL_DIR is fine
common_config = textwrap.dedent('''\
INHERIT += "reproducible_build"
PACKAGE_CLASSES = "%s"
+ SSTATE_DIR = "${TMPDIR}/sstate"
''') % (' '.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)
+ # Perform a build.
+ reproducibleA_tmp = os.path.join(self.topdir, 'reproducibleA', 'tmp')
+ if os.path.exists(reproducibleA_tmp):
+ bb.utils.remove(reproducibleA_tmp, recurse=True)
+
+ self.write_config((textwrap.dedent('''\
+ TMPDIR = "%s"
+ ''') % reproducibleA_tmp) + common_config)
+ vars_A = 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.
+ reproducibleB_tmp = os.path.join(self.topdir, 'reproducibleB', 'tmp')
+ if os.path.exists(reproducibleB_tmp):
+ bb.utils.remove(reproducibleB_tmp, recurse=True)
- # 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"
+ self.write_config((textwrap.dedent('''\
SSTATE_MIRROR = ""
- ''') + common_config)
- vars_test = get_bb_vars(capture_vars)
+ TMPDIR = "%s"
+ ''') % reproducibleB_tmp) + common_config)
+ vars_B = get_bb_vars(capture_vars)
bitbake(' '.join(self.images))
+ # NOTE: The temp directories from the reproducible build are purposely
+ # kept after the build so it can be diffed for debugging.
+
for c in self.package_classes:
- package_class = 'package_' + c
+ with self.subTest(package_class=c):
+ package_class = 'package_' + c
+
+ deploy_A = vars_A['DEPLOY_DIR_' + c.upper()]
+ deploy_B = vars_B['DEPLOY_DIR_' + c.upper()]
- deploy_reference = vars_reference['DEPLOY_DIR_' + c.upper()]
- deploy_test = vars_test['DEPLOY_DIR_' + c.upper()]
+ result = self.compare_packages(deploy_A, deploy_B, diffutils_sysroot)
- result = self.compare_packages(deploy_reference, deploy_test, diffutils_sysroot)
+ self.logger.info('Reproducibility summary for %s: %s' % (c, result))
- 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))
- self.append_to_log('\n'.join("%s: %s" % (r.status, r.test) for r in result.total))
+ self.write_package_list(package_class, 'missing', result.missing)
+ self.write_package_list(package_class, 'different', result.different)
+ self.write_package_list(package_class, 'same', result.same)
- 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))))
+ 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/runqemu.py b/poky/meta/lib/oeqa/selftest/cases/runqemu.py
index b88ae306c..7e676bcb4 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runqemu.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runqemu.py
@@ -8,6 +8,7 @@ import re
import tempfile
import time
import oe.types
+from oeqa.core.decorator import OETestTag
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake, runqemu, get_bb_var, runCmd
@@ -147,6 +148,7 @@ SYSLINUX_TIMEOUT = "10"
# dedicated for MACHINE=qemux86-64 where it test that qemux86-64 will
# bootup various filesystem types, including live image(iso and hddimg)
# where live image was not supported on all qemu architecture.
+@OETestTag("machine")
class QemuTest(OESelftestTestCase):
@classmethod
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index d817b755f..3f212bd0e 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -153,6 +153,7 @@ class TestImage(OESelftestTestCase):
# Enable package feed signing
self.gpg_home = tempfile.mkdtemp(prefix="oeqa-feed-sign-")
+ self.track_for_cleanup(self.gpg_home)
signing_key_dir = os.path.join(self.testlayer_path, 'files', 'signing')
runCmd('gpg --batch --homedir %s --import %s' % (self.gpg_home, os.path.join(signing_key_dir, 'key.secret')), native_sysroot=get_bb_var("RECIPE_SYSROOT_NATIVE", "gnupg-native"))
features += 'INHERIT += "sign_package_feed"\n'
@@ -165,9 +166,6 @@ class TestImage(OESelftestTestCase):
bitbake('core-image-full-cmdline socat')
bitbake('-c testimage core-image-full-cmdline')
- # remove the oeqa-feed-sign temporal directory
- shutil.rmtree(self.gpg_home, ignore_errors=True)
-
def test_testimage_virgl_gtk(self):
"""
Summary: Check host-assisted accelerate OpenGL functionality in qemu with gtk frontend
@@ -193,7 +191,7 @@ class TestImage(OESelftestTestCase):
features += 'TEST_SUITES = "ping ssh virgl"\n'
features += 'IMAGE_FEATURES_append = " ssh-server-dropbear"\n'
features += 'IMAGE_INSTALL_append = " kmscube"\n'
- features += 'TEST_RUNQEMUPARAMS = "gtk-gl"\n'
+ features += 'TEST_RUNQEMUPARAMS = "gtk gl"\n'
self.write_config(features)
bitbake('core-image-minimal')
bitbake('-c testimage core-image-minimal')
diff --git a/poky/meta/lib/oeqa/selftest/cases/signing.py b/poky/meta/lib/oeqa/selftest/cases/signing.py
index b390f37d8..5c4e01b2c 100644
--- a/poky/meta/lib/oeqa/selftest/cases/signing.py
+++ b/poky/meta/lib/oeqa/selftest/cases/signing.py
@@ -180,6 +180,8 @@ class LockedSignatures(OESelftestTestCase):
AutomatedBy: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
"""
+ import uuid
+
test_recipe = 'ed'
locked_sigs_file = 'locked-sigs.inc'
@@ -197,9 +199,10 @@ class LockedSignatures(OESelftestTestCase):
bitbake(test_recipe)
# Make a change that should cause the locked task signature to change
+ # Use uuid so hash equivalance server isn't triggered
recipe_append_file = test_recipe + '_' + get_bb_var('PV', test_recipe) + '.bbappend'
recipe_append_path = os.path.join(self.testlayer_path, 'recipes-test', test_recipe, recipe_append_file)
- feature = 'SUMMARY += "test locked signature"\n'
+ feature = 'SUMMARY_${PN} = "test locked signature%s"\n' % uuid.uuid4()
os.mkdir(os.path.join(self.testlayer_path, 'recipes-test', test_recipe))
write_file(recipe_append_path, feature)
@@ -210,7 +213,7 @@ class LockedSignatures(OESelftestTestCase):
ret = bitbake(test_recipe)
# Verify you get the warning and that the real task *isn't* run (i.e. the locked signature has worked)
- patt = r'WARNING: The %s:do_package sig is computed to be \S+, but the sig is locked to \S+ in SIGGEN_LOCKEDSIGS\S+' % test_recipe
+ patt = r'The %s:do_package sig is computed to be \S+, but the sig is locked to \S+ in SIGGEN_LOCKEDSIGS\S+' % test_recipe
found_warn = re.search(patt, ret.output)
self.assertIsNotNone(found_warn, "Didn't find the expected warning message. Output: %s" % ret.output)
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index d16eae588..ea7530040 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
#
# Copyright (c) 2015, Intel Corporation.
#
@@ -500,7 +499,8 @@ class Wic2(WicTestCase):
wicvars = set(bb_vars['WICVARS'].split())
# filter out optional variables
wicvars = wicvars.difference(('DEPLOY_DIR_IMAGE', 'IMAGE_BOOT_FILES',
- 'INITRD', 'INITRD_LIVE', 'ISODIR'))
+ 'INITRD', 'INITRD_LIVE', 'ISODIR','INITRAMFS_IMAGE',
+ 'INITRAMFS_IMAGE_BUNDLE', 'INITRAMFS_LINK_NAME'))
with open(path) as envfile:
content = dict(line.split("=", 1) for line in envfile)
# test if variables used by wic present in the .env file
@@ -632,8 +632,10 @@ class Wic2(WicTestCase):
# 1:0.00MiB:200MiB:200MiB:ext4::;\n
partlns = res.output.splitlines()[2:]
- self.assertEqual(1, len(partlns))
- self.assertEqual("1:0.00MiB:200MiB:200MiB:ext4::;", partlns[0])
+ self.assertEqual(1, len(partlns),
+ msg="Partition list '%s'" % res.output)
+ self.assertEqual("1:0.00MiB:200MiB:200MiB:ext4::;", partlns[0],
+ msg="Partition list '%s'" % res.output)
def test_fixed_size_error(self):
"""
@@ -681,6 +683,63 @@ class Wic2(WicTestCase):
out = glob(self.resultdir + "%s-*direct" % wksname)
self.assertEqual(1, len(out))
+ @only_for_arch(['i586', 'i686', 'x86_64'])
+ def test_biosplusefi_plugin_qemu(self):
+ """Test biosplusefi plugin in qemu"""
+ config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES_append = " efi"\n'
+ self.append_config(config)
+ self.assertEqual(0, bitbake('core-image-minimal').status)
+ self.remove_config(config)
+
+ with runqemu('core-image-minimal', ssh=False, image_fstype='wic') as qemu:
+ # Check that we have ONLY two /dev/sda* partitions (/boot and /)
+ cmd = "grep sda. /proc/partitions | wc -l"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '2')
+ # Check that /dev/sda1 is /boot and that either /dev/root OR /dev/sda2 is /
+ cmd = "mount | grep '^/dev/' | cut -f1,3 -d ' ' | egrep -c -e '/dev/sda1 /boot' -e '/dev/root /|/dev/sda2 /'"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '2')
+ # Check that /boot has EFI bootx64.efi (required for EFI)
+ cmd = "ls /boot/EFI/BOOT/bootx64.efi | wc -l"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '1')
+ # Check that "BOOTABLE" flag is set on boot partition (required for PC-Bios)
+ # Trailing "cat" seems to be required; otherwise run_serial() sends back echo of the input command
+ cmd = "fdisk -l /dev/sda | grep /dev/sda1 | awk {print'$2'} | cat"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
+ self.assertEqual(output, '*')
+
+ @only_for_arch(['i586', 'i686', 'x86_64'])
+ def test_biosplusefi_plugin(self):
+ """Test biosplusefi plugin"""
+ # Wic generation below may fail depending on the order of the unittests
+ # This is because bootimg-pcbios (that bootimg-biosplusefi uses) generate its MBR inside STAGING_DATADIR directory
+ # which may or may not exists depending on what was built already
+ # If an image hasn't been built yet, directory ${STAGING_DATADIR}/syslinux won't exists and _get_bootimg_dir()
+ # will raise with "Couldn't find correct bootimg_dir"
+ # The easiest way to work-around this issue is to make sure we already built an image here, hence the bitbake call
+ config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_biosplusefi_plugin.wks"\nMACHINE_FEATURES_append = " efi"\n'
+ self.append_config(config)
+ self.assertEqual(0, bitbake('core-image-minimal').status)
+ self.remove_config(config)
+
+ img = 'core-image-minimal'
+ with NamedTemporaryFile("w", suffix=".wks") as wks:
+ wks.writelines(['part /boot --active --source bootimg-biosplusefi --sourceparams="loader=grub-efi"\n',
+ 'part / --source rootfs --fstype=ext4 --align 1024 --use-uuid\n'\
+ 'bootloader --timeout=0 --append="console=ttyS0,115200n8"\n'])
+ wks.flush()
+ cmd = "wic create %s -e %s -o %s" % (wks.name, img, self.resultdir)
+ runCmd(cmd)
+ wksname = os.path.splitext(os.path.basename(wks.name))[0]
+ out = glob(self.resultdir + "%s-*.direct" % wksname)
+ self.assertEqual(1, len(out))
+
def test_fs_types(self):
"""Test filesystem types for empty and not empty partitions"""
img = 'core-image-minimal'
diff --git a/poky/meta/lib/oeqa/selftest/context.py b/poky/meta/lib/oeqa/selftest/context.py
index d279994dd..c4eb5d614 100644
--- a/poky/meta/lib/oeqa/selftest/context.py
+++ b/poky/meta/lib/oeqa/selftest/context.py
@@ -77,7 +77,14 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
parser.add_argument('--machine', required=False, choices=['random', 'all'],
help='Run tests on different machines (random/all).')
-
+
+ parser.add_argument('-t', '--select-tag', dest="select_tags",
+ action='append', default=None,
+ help='Filter all (unhidden) tests to any that match any of the specified tag(s).')
+ parser.add_argument('-T', '--exclude-tag', dest="exclude_tags",
+ action='append', default=None,
+ help='Exclude all (unhidden) tests that match any of the specified tag(s). (exclude applies before select)')
+
parser.set_defaults(func=self.run)
def _get_available_machines(self):
@@ -149,6 +156,18 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
copyfile(self.tc_kwargs['init']['config_paths']['bblayers'],
self.tc_kwargs['init']['config_paths']['bblayers_backup'])
+ def tag_filter(tags):
+ if args.exclude_tags:
+ if any(tag in args.exclude_tags for tag in tags):
+ return True
+ if args.select_tags:
+ if not tags or not any(tag in args.select_tags for tag in tags):
+ return True
+ return False
+
+ if args.select_tags or args.exclude_tags:
+ self.tc_kwargs['load']['tags_filter'] = tag_filter
+
self.tc_kwargs['run']['skips'] = args.skips
self.tc_kwargs['run']['processes'] = args.processes
diff --git a/poky/meta/lib/oeqa/targetcontrol.py b/poky/meta/lib/oeqa/targetcontrol.py
index 15e617c95..1445e3ecf 100644
--- a/poky/meta/lib/oeqa/targetcontrol.py
+++ b/poky/meta/lib/oeqa/targetcontrol.py
@@ -175,7 +175,7 @@ class QemuTarget(BaseTarget):
if os.path.exists(self.qemulog):
with open(self.qemulog, 'r') as f:
bb.error("Qemu log output from %s:\n%s" % (self.qemulog, f.read()))
- raise bb.build.FuncFailed("%s - FAILED to start qemu - check the task log and the boot log" % self.pn)
+ raise RuntimeError("%s - FAILED to start qemu - check the task log and the boot log" % self.pn)
def check(self):
return self.runner.is_alive()
@@ -192,7 +192,7 @@ class QemuTarget(BaseTarget):
self.server_ip = self.runner.server_ip
self.connection = SSHControl(ip=self.ip, logfile=self.sshlog)
else:
- raise bb.build.FuncFailed("%s - FAILED to re-start qemu - check the task log and the boot log" % self.pn)
+ raise RuntimError("%s - FAILED to re-start qemu - check the task log and the boot log" % self.pn)
def run_serial(self, command, timeout=60):
return self.runner.run_serial(command, timeout=timeout)
diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py
index 59ebfbe12..dc1e286da 100644
--- a/poky/meta/lib/oeqa/utils/commands.py
+++ b/poky/meta/lib/oeqa/utils/commands.py
@@ -172,8 +172,11 @@ def runCmd(command, ignore_status=False, timeout=None, assert_error=True,
if native_sysroot:
extra_paths = "%s/sbin:%s/usr/sbin:%s/usr/bin" % \
(native_sysroot, native_sysroot, native_sysroot)
+ extra_libpaths = "%s/lib:%s/usr/lib" % \
+ (native_sysroot, native_sysroot)
nenv = dict(options.get('env', os.environ))
nenv['PATH'] = extra_paths + ':' + nenv.get('PATH', '')
+ nenv['LD_LIBRARY_PATH'] = extra_libpaths + ':' + nenv.get('LD_LIBRARY_PATH', '')
options['env'] = nenv
cmd = Command(command, timeout=timeout, output_log=output_log, **options)
@@ -337,8 +340,8 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None,
qemu.deploy()
try:
qemu.start(params=qemuparams, ssh=ssh, runqemuparams=runqemuparams, launch_cmd=launch_cmd, discard_writes=discard_writes)
- except bb.build.FuncFailed:
- msg = 'Failed to start QEMU - see the logs in %s' % logdir
+ except Exception as e:
+ msg = str(e) + '\nFailed to start QEMU - see the logs in %s' % logdir
if os.path.exists(qemu.qemurunnerlog):
with open(qemu.qemurunnerlog, 'r') as f:
msg = msg + "Qemurunner log output from %s:\n%s" % (qemu.qemurunnerlog, f.read())
diff --git a/poky/meta/lib/oeqa/utils/logparser.py b/poky/meta/lib/oeqa/utils/logparser.py
index b31214b1c..7313df8ec 100644
--- a/poky/meta/lib/oeqa/utils/logparser.py
+++ b/poky/meta/lib/oeqa/utils/logparser.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
#
# SPDX-License-Identifier: MIT
#
diff --git a/poky/meta/lib/oeqa/utils/network.py b/poky/meta/lib/oeqa/utils/network.py
index 59cbbc4f1..59d01723a 100644
--- a/poky/meta/lib/oeqa/utils/network.py
+++ b/poky/meta/lib/oeqa/utils/network.py
@@ -4,8 +4,8 @@
import socket
-def get_free_port():
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+def get_free_port(udp = False):
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM if not udp else socket.SOCK_DGRAM)
s.bind(('', 0))
addr = s.getsockname()
s.close()
diff --git a/poky/meta/lib/oeqa/utils/nfs.py b/poky/meta/lib/oeqa/utils/nfs.py
new file mode 100644
index 000000000..a37686c91
--- /dev/null
+++ b/poky/meta/lib/oeqa/utils/nfs.py
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: MIT
+import os
+import sys
+import tempfile
+import contextlib
+import socket
+from oeqa.utils.commands import bitbake, get_bb_var, Command
+from oeqa.utils.network import get_free_port
+
+@contextlib.contextmanager
+def unfs_server(directory, logger = None):
+ unfs_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "unfs3-native")
+ if not os.path.exists(os.path.join(unfs_sysroot, "usr", "bin", "unfsd")):
+ # build native tool
+ bitbake("unfs3-native -c addto_recipe_sysroot")
+
+ exports = None
+ cmd = None
+ try:
+ # create the exports file
+ with tempfile.NamedTemporaryFile(delete = False) as exports:
+ exports.write("{0} (rw,no_root_squash,no_all_squash,insecure)\n".format(directory).encode())
+
+ # find some ports for the server
+ nfsport, mountport = get_free_port(udp = True), get_free_port(udp = True)
+
+ nenv = dict(os.environ)
+ nenv['PATH'] = "{0}/sbin:{0}/usr/sbin:{0}/usr/bin:".format(unfs_sysroot) + nenv.get('PATH', '')
+ cmd = Command(["unfsd", "-d", "-p", "-N", "-e", exports.name, "-n", str(nfsport), "-m", str(mountport)],
+ bg = True, env = nenv, output_log = logger)
+ cmd.run()
+ yield nfsport, mountport
+ finally:
+ if cmd is not None:
+ cmd.stop()
+ if exports is not None:
+ # clean up exports file
+ os.unlink(exports.name)
+
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index c16227fc3..fe8b77d97 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -98,7 +98,7 @@ class QemuRunner:
def handleSIGCHLD(self, signum, frame):
if self.runqemu and self.runqemu.poll():
if self.runqemu.returncode:
- self.logger.debug('runqemu exited with code %d' % self.runqemu.returncode)
+ self.logger.warning('runqemu exited with code %d' % self.runqemu.returncode)
self.logger.debug("Output from runqemu:\n%s" % self.getOutput(self.runqemu.stdout))
self.stop()
self._dump_host()
@@ -126,7 +126,7 @@ class QemuRunner:
env["DEPLOY_DIR_IMAGE"] = self.deploy_dir_image
if not launch_cmd:
- launch_cmd = 'runqemu %s %s ' % ('snapshot' if discard_writes else '', runqemuparams)
+ launch_cmd = 'runqemu %s' % ('snapshot' if discard_writes else '')
if self.use_kvm:
self.logger.debug('Using kvm for runqemu')
launch_cmd += ' kvm'
@@ -136,7 +136,7 @@ class QemuRunner:
launch_cmd += ' nographic'
if self.use_slirp:
launch_cmd += ' slirp'
- launch_cmd += ' %s %s' % (self.machine, self.rootfs)
+ launch_cmd += ' %s %s %s' % (runqemuparams, self.machine, self.rootfs)
return self.launch(launch_cmd, qemuparams=qemuparams, get_ip=get_ip, extra_bootparams=extra_bootparams, env=env)
@@ -208,9 +208,9 @@ class QemuRunner:
if self.runqemu.poll():
if self.runqemu.returncode:
# No point waiting any longer
- self.logger.debug('runqemu exited with code %d' % self.runqemu.returncode)
+ self.logger.warning('runqemu exited with code %d' % self.runqemu.returncode)
self._dump_host()
- self.logger.debug("Output from runqemu:\n%s" % self.getOutput(output))
+ self.logger.warning("Output from runqemu:\n%s" % self.getOutput(output))
self.stop()
return False
time.sleep(0.5)
@@ -329,14 +329,14 @@ class QemuRunner:
if not reachedlogin:
if time.time() >= endtime:
- self.logger.debug("Target didn't reach login banner in %d seconds (%s)" %
+ self.logger.warning("Target didn't reach login banner in %d seconds (%s)" %
(self.boottime, time.strftime("%D %H:%M:%S")))
tail = lambda l: "\n".join(l.splitlines()[-25:])
bootlog = bootlog.decode("utf-8")
# in case bootlog is empty, use tail qemu log store at self.msg
lines = tail(bootlog if bootlog else self.msg)
- self.logger.debug("Last 25 lines of text:\n%s" % lines)
- self.logger.debug("Check full boot log: %s" % self.logfile)
+ self.logger.warning("Last 25 lines of text:\n%s" % lines)
+ self.logger.warning("Check full boot log: %s" % self.logfile)
self._dump_host()
self.stop()
return False
@@ -356,11 +356,11 @@ class QemuRunner:
else:
self.logger.debug("Couldn't configure guest networking")
else:
- self.logger.debug("Couldn't login into serial console"
+ self.logger.warning("Couldn't login into serial console"
" as root using blank password")
- self.logger.debug("The output:\n%s" % output)
+ self.logger.warning("The output:\n%s" % output)
except:
- self.logger.debug("Serial console failed while trying to login")
+ self.logger.warning("Serial console failed while trying to login")
return True
def stop(self):
@@ -414,7 +414,7 @@ class QemuRunner:
self.thread.join()
def restart(self, qemuparams = None):
- self.logger.debug("Restarting qemu process")
+ self.logger.warning("Restarting qemu process")
if self.runqemu.poll() is None:
self.stop()
if self.start(qemuparams):
@@ -425,13 +425,20 @@ class QemuRunner:
if not self.runqemu or self.runqemu.poll() is not None:
return False
if os.path.isfile(self.qemu_pidfile):
- f = open(self.qemu_pidfile, 'r')
- qemu_pid = f.read()
- f.close()
- qemupid = int(qemu_pid)
- if os.path.exists("/proc/" + str(qemupid)):
- self.qemupid = qemupid
- return True
+ # when handling pidfile, qemu creates the file, stat it, lock it and then write to it
+ # so it's possible that the file has been created but the content is empty
+ pidfile_timeout = time.time() + 3
+ while time.time() < pidfile_timeout:
+ with open(self.qemu_pidfile, 'r') as f:
+ qemu_pid = f.read().strip()
+ # file created but not yet written contents
+ if not qemu_pid:
+ time.sleep(0.5)
+ continue
+ else:
+ if os.path.exists("/proc/" + qemu_pid):
+ self.qemupid = int(qemu_pid)
+ return True
return False
def run_serial(self, command, raw=False, timeout=60):
diff --git a/poky/meta/recipes-bsp/acpid/acpid.inc b/poky/meta/recipes-bsp/acpid/acpid.inc
index 766ed4f89..1e43e7a9d 100644
--- a/poky/meta/recipes-bsp/acpid/acpid.inc
+++ b/poky/meta/recipes-bsp/acpid/acpid.inc
@@ -1,4 +1,10 @@
SUMMARY = "A daemon for delivering ACPI events"
+DESCRIPTION = "ACPID is a completely flexible, totally extensible daemon for \
+delivering ACPI events. It listens on netlink interface (or on the \
+deprecated file /proc/acpi/event), and when an event occurs, executes programs \
+to handle the event. The programs it executes are configured through a set of \
+configuration files, which can be dropped into place by packages or by the \
+admin."
HOMEPAGE = "http://sourceforge.net/projects/acpid2"
BUGTRACKER = "http://sourceforge.net/p/acpid2/tickets/?source=navbar"
SECTION = "base"
diff --git a/poky/meta/recipes-bsp/acpid/acpid_2.0.31.bb b/poky/meta/recipes-bsp/acpid/acpid_2.0.31.bb
deleted file mode 100644
index 407492132..000000000
--- a/poky/meta/recipes-bsp/acpid/acpid_2.0.31.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require acpid.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
- file://acpid.h;endline=24;md5=324a9cf225ae69ddaad1bf9d942115b5"
-
-SRC_URI[md5sum] = "599dd38681b5917eeeafb58176793952"
-SRC_URI[sha256sum] = "fc9dc669ed85d9a1739aa76915e0667c6697c5431160f8dfb253046c6a072cc3"
diff --git a/poky/meta/recipes-bsp/acpid/acpid_2.0.32.bb b/poky/meta/recipes-bsp/acpid/acpid_2.0.32.bb
new file mode 100644
index 000000000..227e4a467
--- /dev/null
+++ b/poky/meta/recipes-bsp/acpid/acpid_2.0.32.bb
@@ -0,0 +1,7 @@
+require acpid.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
+ file://acpid.h;endline=24;md5=324a9cf225ae69ddaad1bf9d942115b5"
+
+SRC_URI[md5sum] = "248995264b9d1cd8bdb923d5b190fd44"
+SRC_URI[sha256sum] = "f2d2d30b3edc3234bd82f6f7186699a6aa3c85c8d20bc4e30e9b3c68a1ed157e"
diff --git a/poky/meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch b/poky/meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch
new file mode 100644
index 000000000..9525ed8c5
--- /dev/null
+++ b/poky/meta/recipes-bsp/efibootmgr/efibootmgr/97668ae0bce776a36ea2001dea63d376be8274ac.patch
@@ -0,0 +1,83 @@
+From 97668ae0bce776a36ea2001dea63d376be8274ac Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Wed, 6 Mar 2019 13:08:33 -0500
+Subject: [PATCH] Make sure PKGS= is propogated into the submake for "make
+ deps"
+
+When we're doing make deps with "$(CC) -MF", gcc and clang have different
+behavior, both broken in different ways, which we're hitting because of a
+missing -I argument for libefivar's includes. On clang, when a header can't
+be found, it emits a rule with the header as a prerequisite without a path,
+such as efivar.h here:
+
+efibootmgr.o: efibootmgr.c fix_coverity.h efivar.h efiboot.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/list.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/unparse_path.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/efibootmgr.h \
+ error.h
+
+Then the build that utilizes that rule will fail to find the
+prerequisite and tell you something like:
+
+make[1]: *** No rule to make target 'efivar.h', needed by 'efibootmgr.o'. Stop.
+make[1]: Leaving directory '/home/pjones/devel/github.com/efibootmgr/master/src'
+
+With gcc, when a header can't be found, it emits a rule without that header
+as a prerequisite, as such (again with efivar.h):
+
+efibootmgr.o: efibootmgr.c fix_coverity.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/list.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/unparse_path.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/efibootmgr.h \
+ error.h
+
+And then your build will fail if you haven't adjusted CFLAGS to tell it
+where to find the header.
+
+Both of these would be better just erroring, but at least gcc's doesn't
+insert a *wrong* dependency.
+
+This patch adds "PKGS=efivar efibootmgr popt" for all deps under src/.
+Technically that's overkill, as efibootmgr itself doesn't need popt, but it
+doesn't hurt anything to have the extra part there. The resulting
+.efibootmgr.d file has the prerequisites expressed correctly:
+
+efibootmgr.o: efibootmgr.c fix_coverity.h /usr/include/efivar/efivar.h \
+ /usr/include/efivar/efiboot.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/list.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/unparse_path.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/efi.h \
+ /home/pjones/devel/github.com/efibootmgr/master/src/include/efibootmgr.h \
+ error.h
+
+This fixes the issue described in github PR #96
+
+Signed-off-by: Peter Jones <pjones@redhat.com>
+Upstream-Status: Backport [https://github.com/rhboot/efibootmgr/commit/97668ae0bce776a36ea2001dea63d376be8274ac]
+---
+ src/Makefile | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 258bac1..32fa188 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -31,8 +31,13 @@ efibootdump : PKGS=efivar efiboot popt
+ efibootnext : $(call objects-of,$(EFIBOOTNEXT_SOURCES))
+ efibootnext : PKGS=efivar efiboot popt
+
++deps : PKGS=efivar efiboot popt
+ deps : $(ALL_SOURCES)
+- $(MAKE) -f $(TOPDIR)/Make.deps deps SOURCES="$(ALL_SOURCES)" SUBDIR_CFLAGS="$(SUBDIR_CFLAGS)"
++ $(MAKE) -f $(TOPDIR)/Make.deps \
++ SOURCES="$(ALL_SOURCES)" \
++ SUBDIR_CFLAGS="$(SUBDIR_CFLAGS)" \
++ PKGS="$(PKGS)" \
++ deps
+
+ clean :
+ @rm -rfv *.o *.a *.so $(TARGETS)
diff --git a/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb b/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb
index 0e5a81e31..5d6f200a7 100644
--- a/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb
+++ b/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb
@@ -12,6 +12,7 @@ COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \
file://0001-remove-extra-decl.patch \
+ file://97668ae0bce776a36ea2001dea63d376be8274ac.patch \
"
SRCREV = "e067160ecef8208e1944002e5d50b275733211fb"
diff --git a/poky/meta/recipes-bsp/efivar/efivar_37.bb b/poky/meta/recipes-bsp/efivar/efivar_37.bb
index c4254c70d..9b95721a4 100644
--- a/poky/meta/recipes-bsp/efivar/efivar_37.bb
+++ b/poky/meta/recipes-bsp/efivar/efivar_37.bb
@@ -23,7 +23,10 @@ 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
+ oe_runmake \
+ CFLAGS="${BUILD_CFLAGS}" \
+ LDFLAGS="${BUILD_LDFLAGS}" \
+ -C src makeguids
}
do_install() {
diff --git a/poky/meta/recipes-bsp/formfactor/formfactor_0.0.bb b/poky/meta/recipes-bsp/formfactor/formfactor_0.0.bb
index 53cf1cf77..ea1fa4c75 100644
--- a/poky/meta/recipes-bsp/formfactor/formfactor_0.0.bb
+++ b/poky/meta/recipes-bsp/formfactor/formfactor_0.0.bb
@@ -1,4 +1,7 @@
SUMMARY = "Device formfactor information"
+DESCRIPTION = "A formfactor configuration file provides information about the \
+target hardware for which the image is being built and information that the \
+build system cannot obtain from other sources such as the kernel."
SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
diff --git a/poky/meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch b/poky/meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch
index ce3238f3a..6b73878cc 100644
--- a/poky/meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch
+++ b/poky/meta/recipes-bsp/grub/files/0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch
@@ -1,4 +1,4 @@
-From fb7b827a56b1f92f882d0f5ef130acc968b23293 Mon Sep 17 00:00:00 2001
+From 96d9aa55d29b24e2490d5647a9efc66940fc400f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 13 Jan 2016 19:17:31 +0000
Subject: [PATCH] Disable -mfpmath=sse as well when SSE is disabled
@@ -22,17 +22,17 @@ cc1: all warnings being treated as errors
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
+Upstream-Status: Pending
+---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 26d2f33..9ce56de 100644
+index 7656f24..0868ea9 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -783,7 +783,7 @@ fi
+@@ -824,7 +824,7 @@ fi
if ( test "x$target_cpu" = xi386 || test "x$target_cpu" = xx86_64 ) && test "x$platform" != xemu; then
# Some toolchains enable these features by default, but they need
# registers that aren't set up properly in GRUB.
@@ -41,6 +41,3 @@ index 26d2f33..9ce56de 100644
fi
# GRUB doesn't use float or doubles at all. Yet some toolchains may decide
---
-2.7.0
-
diff --git a/poky/meta/recipes-bsp/grub/files/0001-Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-bsp/grub/files/0001-Unset-need_charset_alias-when-building-for-musl.patch
deleted file mode 100644
index 67dc11549..000000000
--- a/poky/meta/recipes-bsp/grub/files/0001-Unset-need_charset_alias-when-building-for-musl.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Apr 2015 17:02:13 -0700
-Subject: [PATCH] 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>
----
- lib/gnulib.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: grub-2.00/grub-core/gnulib/Makefile.am
-===================================================================
---- grub-2.00.orig/grub-core/gnulib/Makefile.am
-+++ grub-2.00/grub-core/gnulib/Makefile.am
-@@ -410,7 +410,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-bsp/grub/files/0001-grub-setup-Debug-message-cleanup.patch b/poky/meta/recipes-bsp/grub/files/0001-grub-setup-Debug-message-cleanup.patch
deleted file mode 100644
index e01fcdffb..000000000
--- a/poky/meta/recipes-bsp/grub/files/0001-grub-setup-Debug-message-cleanup.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 4e9d9358e0cda6d01020005eb6343e3b69f7201a Mon Sep 17 00:00:00 2001
-From: Cao jin <caoj.fnst@cn.fujitsu.com>
-Date: Tue, 3 Jul 2018 18:51:13 +0800
-Subject: [PATCH] grub-setup: Debug message cleanup
-
-Variable "root" is initialized after root device probing and is null in
-current place, so, drop it.
-
-Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
-Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/grub.git/commit/?id=4e9d9358e0cda6d01020005eb6343e3b69f7201a]
-
- util/setup.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/util/setup.c b/util/setup.c
-index 80363075d..9c1e1b7da 100644
---- a/util/setup.c
-+++ b/util/setup.c
-@@ -305,9 +305,8 @@ SETUP (const char *dir,
- bl.first_block = (struct grub_boot_blocklist *) (core_img
- + GRUB_DISK_SECTOR_SIZE
- - sizeof (*bl.block));
-- grub_util_info ("root is `%s', dest is `%s'", root, dest);
-
-- grub_util_info ("Opening dest");
-+ grub_util_info ("Opening dest `%s'", dest);
- dest_dev = grub_device_open (dest);
- if (! dest_dev)
- grub_util_error ("%s", grub_errmsg);
---
-2.17.2 (Apple Git-113)
-
diff --git a/poky/meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch b/poky/meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch
index d5bfaa177..69b04aa56 100644
--- a/poky/meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch
+++ b/poky/meta/recipes-bsp/grub/files/0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch
@@ -1,4 +1,4 @@
-From b512c77222a8b133d7dd71a0dcef081a921d97d4 Mon Sep 17 00:00:00 2001
+From 8f47ed4aaefba087b6ca76e59c9f832b6a0702bc Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 13 Jan 2016 19:28:00 +0000
Subject: [PATCH] grub.d/10_linux.in: add oe's kernel name
@@ -11,18 +11,19 @@ to util/grub.d/20_linux_xen.in to keep compatibility.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
+
Upstream-Status: Inappropriate [OE specific]
+---
util/grub.d/10_linux.in | 6 +++---
util/grub.d/20_linux_xen.in | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
-index 859b608..946be5d 100644
+index 4532266..cba2617 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
-@@ -148,12 +148,12 @@ machine=`uname -m`
+@@ -164,12 +164,12 @@ machine=`uname -m`
case "x$machine" in
xi?86 | xx86_64)
list=
@@ -39,10 +40,10 @@ index 859b608..946be5d 100644
done ;;
esac
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
-index f532fb9..1994244 100644
+index 96179ea..98d16ae 100644
--- a/util/grub.d/20_linux_xen.in
+++ b/util/grub.d/20_linux_xen.in
-@@ -138,7 +138,7 @@ EOF
+@@ -154,7 +154,7 @@ EOF
}
linux_list=
@@ -51,6 +52,3 @@ index f532fb9..1994244 100644
if grub_file_is_not_garbage "$i"; then
basename=$(basename $i)
version=$(echo $basename | sed -e "s,^[^0-9]*-,,g")
---
-2.7.0
-
diff --git a/poky/meta/recipes-bsp/grub/files/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch b/poky/meta/recipes-bsp/grub/files/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch
deleted file mode 100644
index 61d58c404..000000000
--- a/poky/meta/recipes-bsp/grub/files/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 842c390469e2c2e10b5aa36700324cd3bde25875 Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Sat, 17 Feb 2018 06:47:28 -0800
-Subject: [PATCH] x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32
-
-Starting from binutils commit bd7ab16b4537788ad53521c45469a1bdae84ad4a:
-
-https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd7ab16b4537788ad53521c45469a1bdae84ad4a
-
-x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for
-32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as
-R_X86_64_PC32.
-
-Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/efiemu/i386/loadcore64.c | 1 +
- grub-core/kern/x86_64/dl.c | 1 +
- util/grub-mkimagexx.c | 1 +
- util/grub-module-verifier.c | 1 +
- 4 files changed, 4 insertions(+)
-
-diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c
-index e49d0b6ff..18facf47f 100644
---- a/grub-core/efiemu/i386/loadcore64.c
-+++ b/grub-core/efiemu/i386/loadcore64.c
-@@ -98,6 +98,7 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs,
- break;
-
- case R_X86_64_PC32:
-+ case R_X86_64_PLT32:
- err = grub_efiemu_write_value (addr,
- *addr32 + rel->r_addend
- + sym.off
-diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c
-index 440690673..3a73e6e6c 100644
---- a/grub-core/kern/x86_64/dl.c
-+++ b/grub-core/kern/x86_64/dl.c
-@@ -70,6 +70,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
- break;
-
- case R_X86_64_PC32:
-+ case R_X86_64_PLT32:
- {
- grub_int64_t value;
- value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value -
-diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
-index a2bb05439..39d7efb91 100644
---- a/util/grub-mkimagexx.c
-+++ b/util/grub-mkimagexx.c
-@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections,
- break;
-
- case R_X86_64_PC32:
-+ case R_X86_64_PLT32:
- {
- grub_uint32_t *t32 = (grub_uint32_t *) target;
- *t32 = grub_host_to_target64 (grub_target_to_host32 (*t32)
-diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c
-index 9179285a5..a79271f66 100644
---- a/util/grub-module-verifier.c
-+++ b/util/grub-module-verifier.c
-@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = {
- -1
- }, (int[]){
- R_X86_64_PC32,
-+ R_X86_64_PLT32,
- -1
- }
- },
---
-2.11.0
-
diff --git a/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch b/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch
index fc5aa4e31..faa7fde23 100644
--- a/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch
+++ b/poky/meta/recipes-bsp/grub/files/autogen.sh-exclude-pc.patch
@@ -1,4 +1,4 @@
-From ff8f68cc48fd3c30d55e1d570d51f2e0952c968e Mon Sep 17 00:00:00 2001
+From 72c30928d3d461e0e2d20c5ff33bd96b6991d585 Mon Sep 17 00:00:00 2001
From: Robert Yang <liezhi.yang@windriver.com>
Date: Sat, 25 Jan 2014 23:49:44 -0500
Subject: [PATCH] autogen.sh: exclude .pc from po/POTFILES.in
@@ -12,23 +12,24 @@ try to read it.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
- autogen.sh | 2 +-
+ autogen.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/autogen.sh b/autogen.sh
-index 7424428..843619e 100755
+index ef43270..a7067a7 100755
--- a/autogen.sh
+++ b/autogen.sh
-@@ -5,7 +5,7 @@ set -e
+@@ -13,7 +13,7 @@ fi
export LC_COLLATE=C
unset LC_ALL
--find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' |sort > po/POTFILES.in
-+find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -path './.pc/*' | sort > po/POTFILES.in
+-find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -ipath './gnulib/*' ! -iname './grub-core/lib/gnulib/*' |sort > po/POTFILES.in
++find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' ! -ipath './gnulib/*' ! -iname './grub-core/lib/gnulib/*' ! -path './.pc/*' |sort > po/POTFILES.in
find util -iname '*.in' ! -name Makefile.in |sort > po/POTFILES-shell.in
echo "Importing unicode..."
--
-1.7.10.4
+2.7.4
diff --git a/poky/meta/recipes-bsp/grub/files/gcc8.patch b/poky/meta/recipes-bsp/grub/files/gcc8.patch
deleted file mode 100644
index fa7331f1b..000000000
--- a/poky/meta/recipes-bsp/grub/files/gcc8.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 563b1da6e6ae7af46cc8354cadb5dab416989f0a Mon Sep 17 00:00:00 2001
-From: Michael Chang <mchang@suse.com>
-Date: Mon, 26 Mar 2018 16:52:34 +0800
-Subject: Fix packed-not-aligned error on GCC 8
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When building with GCC 8, there are several errors regarding packed-not-aligned.
-
-./include/grub/gpt_partition.h:79:1: error: alignment 1 of ‘struct grub_gpt_partentry’ is less than 8 [-Werror=packed-not-aligned]
-
-This patch fixes the build error by cleaning up the ambiguity of placing
-aligned structure in a packed one. In "struct grub_btrfs_time" and "struct
-grub_gpt_part_type", the aligned attribute seems to be superfluous, and also
-has to be packed, to ensure the structure is bit-to-bit mapped to the format
-laid on disk. I think we could blame to copy and paste error here for the
-mistake. In "struct efi_variable", we have to use grub_efi_packed_guid_t, as
-the name suggests. :)
-
-Signed-off-by: Michael Chang <mchang@suse.com>
-Tested-by: Michael Chang <mchang@suse.com>
-Tested-by: Paul Menzel <paulepanter@users.sourceforge.net>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
-
-Upstream-Status: Backport http://git.savannah.gnu.org/cgit/grub.git/commit/?id=563b1da6e6ae7af46cc8354cadb5dab416989f0a
----
- grub-core/fs/btrfs.c | 2 +-
- include/grub/efiemu/runtime.h | 2 +-
- include/grub/gpt_partition.h | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
-index 4849c1c..be19544 100644
---- a/grub-core/fs/btrfs.c
-+++ b/grub-core/fs/btrfs.c
-@@ -175,7 +175,7 @@ struct grub_btrfs_time
- {
- grub_int64_t sec;
- grub_uint32_t nanosec;
--} __attribute__ ((aligned (4)));
-+} GRUB_PACKED;
-
- struct grub_btrfs_inode
- {
-diff --git a/include/grub/efiemu/runtime.h b/include/grub/efiemu/runtime.h
-index 9b6b729..36d2ded 100644
---- a/include/grub/efiemu/runtime.h
-+++ b/include/grub/efiemu/runtime.h
-@@ -29,7 +29,7 @@ struct grub_efiemu_ptv_rel
-
- struct efi_variable
- {
-- grub_efi_guid_t guid;
-+ grub_efi_packed_guid_t guid;
- grub_uint32_t namelen;
- grub_uint32_t size;
- grub_efi_uint32_t attributes;
-diff --git a/include/grub/gpt_partition.h b/include/grub/gpt_partition.h
-index 1b32f67..9668a68 100644
---- a/include/grub/gpt_partition.h
-+++ b/include/grub/gpt_partition.h
-@@ -28,7 +28,7 @@ struct grub_gpt_part_type
- grub_uint16_t data2;
- grub_uint16_t data3;
- grub_uint8_t data4[8];
--} __attribute__ ((aligned(8)));
-+} GRUB_PACKED;
- typedef struct grub_gpt_part_type grub_gpt_part_type_t;
-
- #define GRUB_GPT_PARTITION_TYPE_EMPTY \
---
-cgit v1.0-41-gc330
-
diff --git a/poky/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch b/poky/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch
index ffc2d40d8..26890261b 100644
--- a/poky/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch
+++ b/poky/meta/recipes-bsp/grub/files/grub-module-explicitly-keeps-symbole-.module_license.patch
@@ -1,13 +1,14 @@
-From 7461a3de38b66edbe2f5593f9bdab9f2704d32bc Mon Sep 17 00:00:00 2001
+From 917133acc701dbc4636165d3b08d15dc5829a06f Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 17 Aug 2016 04:06:34 -0400
Subject: [PATCH] grub module explicitly keeps symbole .module_license
While using oe-core toolchain to strip grub module 'all_video.mod',
it stripped symbol table:
---------------
-root@localhost:~# objdump -t all_video.mod
+---------------
+root@localhost:~# objdump -t all_video.mod
+
all_video.mod: file format elf64-x86-64
SYMBOL TABLE:
@@ -43,16 +44,16 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
grub-core/genmod.sh.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: grub-2.02/grub-core/genmod.sh.in
-===================================================================
---- grub-2.02.orig/grub-core/genmod.sh.in
-+++ grub-2.02/grub-core/genmod.sh.in
-@@ -56,7 +56,7 @@ if test x@TARGET_APPLE_LINKER@ != x1; th
+diff --git a/grub-core/genmod.sh.in b/grub-core/genmod.sh.in
+index 1250589..dd14308 100644
+--- a/grub-core/genmod.sh.in
++++ b/grub-core/genmod.sh.in
+@@ -56,7 +56,7 @@ if test x@TARGET_APPLE_LINKER@ != x1; then
if test x@platform@ != xemu; then
@TARGET_STRIP@ --strip-unneeded \
-K grub_mod_init -K grub_mod_fini \
- -K _grub_mod_init -K _grub_mod_fini \
+ -K _grub_mod_init -K _grub_mod_fini -K .module_license \
-R .note.gnu.gold-version -R .note.GNU-stack \
- -R .note -R .comment -R .ARM.exidx $tmpfile || exit 1
- fi
+ -R .gnu.build.attributes \
+ -R .rel.gnu.build.attributes \
diff --git a/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb b/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
index 750f8c808..572580313 100644
--- a/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
+++ b/poky/meta/recipes-bsp/grub/grub-bootconf_1.00.bb
@@ -1,11 +1,16 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SUMMARY = "Basic grub.cfg for use in EFI systems"
+DESCRIPTION = "Grub might require different configuration file for \
+different machines."
+HOMEPAGE = "https://www.gnu.org/software/grub/manual/grub/grub.html#Configuration"
RPROVIDES_${PN} += "virtual/grub-bootconf"
inherit grub-efi-cfg
+require conf/image-uefi.conf
+
S = "${WORKDIR}"
GRUB_CFG = "${S}/grub-bootconf"
@@ -20,10 +25,8 @@ python do_configure() {
do_configure[vardeps] += "APPEND ROOT"
do_install() {
- install -d ${D}/boot
- install -d ${D}/boot/EFI
- install -d ${D}/boot/EFI/BOOT
- install grub-bootconf ${D}/boot/EFI/BOOT/grub.cfg
+ install -d ${D}${EFI_FILES_PATH}
+ install grub-bootconf ${D}${EFI_FILES_PATH}/grub.cfg
}
-FILES_${PN} = "/boot/EFI/BOOT/grub.cfg"
+FILES_${PN} = "${EFI_FILES_PATH}/grub.cfg"
diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb
deleted file mode 100644
index 0028a9b6e..000000000
--- a/poky/meta/recipes-bsp/grub/grub-efi_2.02.bb
+++ /dev/null
@@ -1,109 +0,0 @@
-require grub2.inc
-
-GRUBPLATFORM = "efi"
-
-DEPENDS_append_class-target = " grub-efi-native"
-RDEPENDS_${PN}_class-target = "diffutils freetype grub-common virtual/grub-bootconf"
-
-SRC_URI += " \
- file://cfg \
- "
-
-S = "${WORKDIR}/grub-${PV}"
-
-# Determine the target arch for the grub modules
-python __anonymous () {
- import re
- target = d.getVar('TARGET_ARCH')
- prefix = "" if d.getVar('EFI_PROVIDER') == "grub-efi" else "grub-efi-"
- if target == "x86_64":
- grubtarget = 'x86_64'
- grubimage = prefix + "bootx64.efi"
- elif re.match('i.86', target):
- grubtarget = 'i386'
- grubimage = prefix + "bootia32.efi"
- elif re.match('aarch64', target):
- grubtarget = 'arm64'
- grubimage = prefix + "bootaa64.efi"
- elif re.match('arm', target):
- grubtarget = 'arm'
- grubimage = prefix + "bootarm.efi"
- else:
- raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target)
- d.setVar("GRUB_TARGET", grubtarget)
- d.setVar("GRUB_IMAGE", grubimage)
- prefix = "grub-efi-" if prefix == "" else ""
- d.setVar("GRUB_IMAGE_PREFIX", prefix)
-}
-
-inherit deploy
-
-CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN="
-EXTRA_OECONF += "--enable-efiemu=no"
-
-do_mkimage() {
- cd ${B}
- # Search for the grub.cfg on the local boot media by using the
- # built in cfg file provided via this recipe
- grub-mkimage -c ../cfg -p /EFI/BOOT -d ./grub-core/ \
- -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \
- ${GRUB_BUILDIN}
-}
-
-addtask mkimage before do_install after do_compile
-
-do_mkimage_class-native() {
- :
-}
-
-do_install_append_class-target() {
- install -d ${D}/boot
- install -d ${D}/boot/EFI
- install -d ${D}/boot/EFI/BOOT
- install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${D}/boot/EFI/BOOT/${GRUB_IMAGE}
-}
-
-do_install_class-native() {
- install -d ${D}${bindir}
- install -m 755 grub-mkimage ${D}${bindir}
- install -m 755 grub-editenv ${D}${bindir}
-}
-
-do_install_class-target() {
- oe_runmake 'DESTDIR=${D}' -C grub-core install
-
- # Remove build host references...
- find "${D}" -name modinfo.sh -type f -exec \
- sed -i \
- -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- {} +
-}
-
-GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \
- efi_gop iso9660 configfile search loadenv test"
-
-do_deploy() {
- install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${DEPLOYDIR}
-}
-
-do_deploy_class-native() {
- :
-}
-
-addtask deploy after do_install before do_build
-
-FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \
- ${datadir}/grub \
- /boot/EFI/BOOT/${GRUB_IMAGE} \
- "
-
-
-# 64-bit binaries are expected for the bootloader with an x32 userland
-INSANE_SKIP_${PN}_append_linux-gnux32 = " arch"
-INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch"
-INSANE_SKIP_${PN}_append_linux-muslx32 = " arch"
-INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb b/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb
new file mode 100644
index 000000000..b9d6225d2
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/grub-efi_2.04.bb
@@ -0,0 +1,109 @@
+require grub2.inc
+
+require conf/image-uefi.conf
+
+GRUBPLATFORM = "efi"
+
+DEPENDS_append_class-target = " grub-efi-native"
+RDEPENDS_${PN}_class-target = "grub-common virtual/grub-bootconf"
+
+SRC_URI += " \
+ file://cfg \
+ "
+
+S = "${WORKDIR}/grub-${PV}"
+
+# Determine the target arch for the grub modules
+python __anonymous () {
+ import re
+ target = d.getVar('TARGET_ARCH')
+ prefix = "" if d.getVar('EFI_PROVIDER') == "grub-efi" else "grub-efi-"
+ if target == "x86_64":
+ grubtarget = 'x86_64'
+ elif re.match('i.86', target):
+ grubtarget = 'i386'
+ elif re.match('aarch64', target):
+ grubtarget = 'arm64'
+ elif re.match('arm', target):
+ grubtarget = 'arm'
+ else:
+ raise bb.parse.SkipRecipe("grub-efi is incompatible with target %s" % target)
+ grubimage = prefix + d.getVar("EFI_BOOT_IMAGE")
+ d.setVar("GRUB_TARGET", grubtarget)
+ d.setVar("GRUB_IMAGE", grubimage)
+ prefix = "grub-efi-" if prefix == "" else ""
+ d.setVar("GRUB_IMAGE_PREFIX", prefix)
+}
+
+inherit deploy
+
+CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN="
+EXTRA_OECONF += "--enable-efiemu=no"
+
+do_mkimage() {
+ cd ${B}
+ # Search for the grub.cfg on the local boot media by using the
+ # built in cfg file provided via this recipe
+ grub-mkimage -c ../cfg -p ${EFIDIR} -d ./grub-core/ \
+ -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \
+ ${GRUB_BUILDIN}
+}
+
+addtask mkimage before do_install after do_compile
+
+do_mkimage_class-native() {
+ :
+}
+
+do_install_append_class-target() {
+ install -d ${D}${EFI_FILES_PATH}
+ install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${D}${EFI_FILES_PATH}/${GRUB_IMAGE}
+}
+
+do_install_class-native() {
+ install -d ${D}${bindir}
+ install -m 755 grub-mkimage ${D}${bindir}
+ install -m 755 grub-editenv ${D}${bindir}
+}
+
+do_install_class-target() {
+ oe_runmake 'DESTDIR=${D}' -C grub-core install
+
+ # Remove build host references...
+ find "${D}" -name modinfo.sh -type f -exec \
+ sed -i \
+ -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+ {} +
+}
+
+do_install_append_aarch64() {
+ rm -rf ${D}/${prefix}/
+}
+
+GRUB_BUILDIN ?= "boot linux ext2 fat serial part_msdos part_gpt normal \
+ efi_gop iso9660 configfile search loadenv test"
+
+do_deploy() {
+ install -m 644 ${B}/${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} ${DEPLOYDIR}
+}
+
+do_deploy_class-native() {
+ :
+}
+
+addtask deploy after do_install before do_build
+
+FILES_${PN} = "${libdir}/grub/${GRUB_TARGET}-efi \
+ ${datadir}/grub \
+ ${EFI_FILES_PATH}/${GRUB_IMAGE} \
+ "
+
+FILES_${PN}_remove_aarch64 = "${libdir}/grub/${GRUB_TARGET}-efi"
+
+# 64-bit binaries are expected for the bootloader with an x32 userland
+INSANE_SKIP_${PN}_append_linux-gnux32 = " arch"
+INSANE_SKIP_${PN}-dbg_append_linux-gnux32 = " arch"
+INSANE_SKIP_${PN}_append_linux-muslx32 = " arch"
+INSANE_SKIP_${PN}-dbg_append_linux-muslx32 = " arch"
diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc
index bac2d7d41..c81def2a1 100644
--- a/poky/meta/recipes-bsp/grub/grub2.inc
+++ b/poky/meta/recipes-bsp/grub/grub2.inc
@@ -11,20 +11,16 @@ SECTION = "bootloaders"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRC_URI = "https://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
+SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \
file://0001-Disable-mfpmath-sse-as-well-when-SSE-is-disabled.patch \
- file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
file://autogen.sh-exclude-pc.patch \
file://grub-module-explicitly-keeps-symbole-.module_license.patch \
file://0001-grub.d-10_linux.in-add-oe-s-kernel-name.patch \
- file://gcc8.patch \
- file://0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch \
- file://0001-grub-setup-Debug-message-cleanup.patch \
"
-SRC_URI[md5sum] = "1116d1f60c840e6dbd67abbc99acb45d"
-SRC_URI[sha256sum] = "660ee136fbcee08858516ed4de2ad87068bfe1b6b8b37896ce3529ff054a726d"
+SRC_URI[md5sum] = "5ce674ca6b2612d8939b9e6abed32934"
+SRC_URI[sha256sum] = "f10c85ae3e204dbaec39ae22fa3c5e99f0665417e91c2cb49b7e5031658ba6ea"
-DEPENDS = "flex-native bison-native"
+DEPENDS = "flex-native bison-native gettext-native"
COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)'
COMPATIBLE_HOST_armv7a = 'null'
@@ -45,6 +41,7 @@ EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} \
--enable-liblzma=no \
--enable-libzfs=no \
--enable-largefile \
+ --disable-werror \
"
PACKAGECONFIG ??= ""
@@ -60,15 +57,13 @@ BUILD_CFLAGS = ""
BUILD_CXXFLAGS = ""
BUILD_LDFLAGS = ""
-CFLAGS_append = " -Wno-error"
+export PYTHON = "python3"
do_configure_prepend() {
- # The grub2 configure script uses variables such as TARGET_CFLAGS etc
- # for its own purposes. Remove the OE versions from the environment to
- # avoid conflicts.
- unset TARGET_CPPFLAGS TARGET_CFLAGS TARGET_CXXFLAGS TARGET_LDFLAGS
( cd ${S}
${S}/autogen.sh )
}
RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-bsp/grub/grub_2.02.bb b/poky/meta/recipes-bsp/grub/grub_2.02.bb
deleted file mode 100644
index e0973759f..000000000
--- a/poky/meta/recipes-bsp/grub/grub_2.02.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-require grub2.inc
-
-RDEPENDS_${PN}-common += "${PN}-editenv"
-RDEPENDS_${PN} += "diffutils freetype ${PN}-common"
-
-RPROVIDES_${PN}-editenv += "${PN}-efi-editenv"
-
-PACKAGES =+ "${PN}-editenv ${PN}-common"
-FILES_${PN}-editenv = "${bindir}/grub-editenv"
-FILES_${PN}-common = " \
- ${bindir} \
- ${sysconfdir} \
- ${sbindir} \
- ${datadir}/grub \
-"
-
-do_install_append () {
- install -d ${D}${sysconfdir}/grub.d
- # Remove build host references...
- find "${D}" -name modinfo.sh -type f -exec \
- sed -i \
- -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- {} +
-}
-
-INSANE_SKIP_${PN} = "arch"
-INSANE_SKIP_${PN}-dbg = "arch"
diff --git a/poky/meta/recipes-bsp/grub/grub_2.04.bb b/poky/meta/recipes-bsp/grub/grub_2.04.bb
new file mode 100644
index 000000000..9232ea812
--- /dev/null
+++ b/poky/meta/recipes-bsp/grub/grub_2.04.bb
@@ -0,0 +1,33 @@
+require grub2.inc
+
+RDEPENDS_${PN}-common += "${PN}-editenv"
+RDEPENDS_${PN} += "${PN}-common"
+
+RPROVIDES_${PN}-editenv += "${PN}-efi-editenv"
+
+PACKAGES =+ "${PN}-editenv ${PN}-common"
+FILES_${PN}-editenv = "${bindir}/grub-editenv"
+FILES_${PN}-common = " \
+ ${bindir} \
+ ${sysconfdir} \
+ ${sbindir} \
+ ${datadir}/grub \
+"
+
+FILES_${PN}-common_append_aarch64 = " \
+ ${libdir}/${BPN} \
+"
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/grub.d
+ # Remove build host references...
+ find "${D}" -name modinfo.sh -type f -exec \
+ sed -i \
+ -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+ {} +
+}
+
+INSANE_SKIP_${PN} = "arch"
+INSANE_SKIP_${PN}-dbg = "arch"
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
deleted file mode 100644
index 3c846bde6..000000000
--- a/poky/meta/recipes-bsp/opensbi/files/0002-lib-Create-a-sbi_ipi_data-structure.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-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
index 7828599ce..b9714a7ac 100644
--- a/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc
+++ b/poky/meta/recipes-bsp/opensbi/opensbi-payloads.inc
@@ -5,10 +5,7 @@ def riscv_get_extra_oemake_image(d):
if sbi_payload is None:
return ""
- if d.getVar('RISCV_SBI_PAYLOAD'):
- return "FW_PAYLOAD_PATH=" + deploy_dir + "/" + sbi_payload
-
- return ""
+ return "FW_PAYLOAD_PATH=" + deploy_dir + "/" + sbi_payload
def riscv_get_extra_oemake_fdt(d):
sbi_fdt_payload = d.getVar('RISCV_SBI_FDT')
@@ -17,14 +14,11 @@ def riscv_get_extra_oemake_fdt(d):
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 ""
+ return "FW_PAYLOAD_FDT_PATH=" + deploy_dir + "/" + sbi_fdt_payload
def riscv_get_do_compile_depends(d):
sbi_payload = d.getVar('RISCV_SBI_PAYLOAD')
+ sbi_fdt_payload = d.getVar('RISCV_SBI_FDT')
if sbi_payload is None:
return ""
@@ -32,6 +26,14 @@ def riscv_get_do_compile_depends(d):
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"
+ # If we want U-Boot and a FDT then we need to depend on U-Boot and
+ # the kernel
+ if sbi_fdt_payload is not None:
+ return "virtual/bootloader:do_deploy virtual/kernel:do_deploy"
+ else:
+ return "virtual/bootloader:do_deploy"
+ # If we want a custom FDT then we need to depend on the kernel
+ if sbi_fdt_payload is not None:
+ return "virtual/kernel: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
deleted file mode 100644
index 2b4fb97df..000000000
--- a/poky/meta/recipes-bsp/opensbi/opensbi_0.3.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-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/opensbi/opensbi_0.4.bb b/poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb
new file mode 100644
index 000000000..b03043668
--- /dev/null
+++ b/poky/meta/recipes-bsp/opensbi/opensbi_0.4.bb
@@ -0,0 +1,53 @@
+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=42dd9555eb177f35150cf9aa240b61e5"
+DEPENDS += "dtc-native"
+
+require opensbi-payloads.inc
+
+inherit autotools-brokensep deploy
+
+SRCREV = "ce228ee0919deb9957192d723eecc8aaae2697c6"
+SRC_URI = "git://github.com/riscv/opensbi.git \
+ file://0001-Makefile-Don-t-specify-mabi-or-march.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
+ rm -r ${D}/lib
+}
+
+do_deploy () {
+ install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.* ${DEPLOYDIR}/
+ install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.* ${DEPLOYDIR}/
+ install -m 755 ${D}/platform/${RISCV_SBI_PLAT}/firmware/fw_dynamic.* ${DEPLOYDIR}/
+}
+
+addtask deploy before do_build after do_install
+
+FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_jump.*"
+FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_payload.*"
+FILES_${PN} += "/platform/${RISCV_SBI_PLAT}/firmware/fw_dynamic.*"
+
+
+COMPATIBLE_HOST = "(riscv64|riscv32).*"
+INHIBIT_PACKAGE_STRIP = "1"
+
+SECURITY_CFLAGS = ""
diff --git a/poky/meta/recipes-bsp/u-boot/files/0001-CVE-2019-13103.patch b/poky/meta/recipes-bsp/u-boot/files/0001-CVE-2019-13103.patch
new file mode 100644
index 000000000..1a5d1eb99
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0001-CVE-2019-13103.patch
@@ -0,0 +1,69 @@
+From 39a759494f734c4cdc3e2b919671bfb3134b41ae Mon Sep 17 00:00:00 2001
+From: Paul Emge <paulemge@forallsecure.com>
+Date: Mon, 8 Jul 2019 16:37:03 -0700
+Subject: [PATCH 1/9] CVE-2019-13103: disk: stop infinite recursion in DOS
+ Partitions
+
+part_get_info_extended and print_partition_extended can recurse infinitely
+while parsing a self-referential filesystem or one with a silly number of
+extended partitions. This patch adds a limit to the number of recursive
+partitions.
+
+Signed-off-by: Paul Emge <paulemge@forallsecure.com>
+
+Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
+ h=232e2f4fd9a24bf08215ddc8c53ccadffc841fb5]
+
+CVE: CVE-2019-13103
+
+Signed-off-by: Meng Li <Meng.Li@windriver.com>
+---
+ disk/part_dos.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/disk/part_dos.c b/disk/part_dos.c
+index 936cee0d36..aae9d95906 100644
+--- a/disk/part_dos.c
++++ b/disk/part_dos.c
+@@ -23,6 +23,10 @@
+
+ #define DOS_PART_DEFAULT_SECTOR 512
+
++/* should this be configurable? It looks like it's not very common at all
++ * to use large numbers of partitions */
++#define MAX_EXT_PARTS 256
++
+ /* Convert char[4] in little endian format to the host format integer
+ */
+ static inline unsigned int le32_to_int(unsigned char *le32)
+@@ -126,6 +130,13 @@ static void print_partition_extended(struct blk_desc *dev_desc,
+ dos_partition_t *pt;
+ int i;
+
++ /* set a maximum recursion level */
++ if (part_num > MAX_EXT_PARTS)
++ {
++ printf("** Nested DOS partitions detected, stopping **\n");
++ return;
++ }
++
+ if (blk_dread(dev_desc, ext_part_sector, 1, (ulong *)buffer) != 1) {
+ printf ("** Can't read partition table on %d:" LBAFU " **\n",
+ dev_desc->devnum, ext_part_sector);
+@@ -191,6 +202,13 @@ static int part_get_info_extended(struct blk_desc *dev_desc,
+ int i;
+ int dos_type;
+
++ /* set a maximum recursion level */
++ if (part_num > MAX_EXT_PARTS)
++ {
++ printf("** Nested DOS partitions detected, stopping **\n");
++ return -1;
++ }
++
+ if (blk_dread(dev_desc, ext_part_sector, 1, (ulong *)buffer) != 1) {
+ printf ("** Can't read partition table on %d:" LBAFU " **\n",
+ dev_desc->devnum, ext_part_sector);
+--
+2.17.1
+
diff --git a/poky/meta/recipes-bsp/u-boot/files/0002-CVE-2019-13104.patch b/poky/meta/recipes-bsp/u-boot/files/0002-CVE-2019-13104.patch
new file mode 100644
index 000000000..de122b27d
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0002-CVE-2019-13104.patch
@@ -0,0 +1,49 @@
+From 1d36545e43003f4b1bb3a303a3b468abd482fa2f Mon Sep 17 00:00:00 2001
+From: Paul Emge <paulemge@forallsecure.com>
+Date: Mon, 8 Jul 2019 16:37:05 -0700
+Subject: [PATCH 2/9] CVE-2019-13104: ext4: check for underflow in
+ ext4fs_read_file
+
+in ext4fs_read_file, it is possible for a broken/malicious file
+system to cause a memcpy of a negative number of bytes, which
+overflows all memory. This patch fixes the issue by checking for
+a negative length.
+
+Signed-off-by: Paul Emge <paulemge@forallsecure.com>
+
+Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
+ h=878269dbe74229005dd7f27aca66c554e31dad8e]
+
+CVE: CVE-2019-13104
+
+Signed-off-by: Meng Li <Meng.Li@windriver.com>
+---
+ fs/ext4/ext4fs.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c
+index 26db677a1f..c8c8655ed8 100644
+--- a/fs/ext4/ext4fs.c
++++ b/fs/ext4/ext4fs.c
+@@ -66,13 +66,15 @@ int ext4fs_read_file(struct ext2fs_node *node, loff_t pos,
+
+ ext_cache_init(&cache);
+
+- if (blocksize <= 0)
+- return -1;
+-
+ /* Adjust len so it we can't read past the end of the file. */
+ if (len + pos > filesize)
+ len = (filesize - pos);
+
++ if (blocksize <= 0 || len <= 0) {
++ ext_cache_fini(&cache);
++ return -1;
++ }
++
+ blockcnt = lldiv(((len + pos) + blocksize - 1), blocksize);
+
+ for (i = lldiv(pos, blocksize); i < blockcnt; i++) {
+--
+2.17.1
+
diff --git a/poky/meta/recipes-bsp/u-boot/files/0003-CVE-2019-13105.patch b/poky/meta/recipes-bsp/u-boot/files/0003-CVE-2019-13105.patch
new file mode 100644
index 000000000..f525147e5
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0003-CVE-2019-13105.patch
@@ -0,0 +1,37 @@
+From 4e937d0de669ee69cf41c20494cbf66c339c3174 Mon Sep 17 00:00:00 2001
+From: Paul Emge <paulemge@forallsecure.com>
+Date: Mon, 8 Jul 2019 16:37:04 -0700
+Subject: [PATCH 3/9] CVE-2019-13105: ext4: fix double-free in ext4_cache_read
+
+ext_cache_read doesn't null cache->buf, after freeing, which results
+in a later function double-freeing it. This patch fixes
+ext_cache_read to call ext_cache_fini instead of free.
+
+Signed-off-by: Paul Emge <paulemge@forallsecure.com>
+
+Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
+ h=6e5a79de658cb1c8012c86e0837379aa6eabd024]
+
+CVE: CVE-2019-13105
+
+Signed-off-by: Meng Li <Meng.Li@windriver.com>
+---
+ fs/ext4/ext4fs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c
+index c8c8655ed8..e2b740cac4 100644
+--- a/fs/ext4/ext4fs.c
++++ b/fs/ext4/ext4fs.c
+@@ -288,7 +288,7 @@ int ext_cache_read(struct ext_block_cache *cache, lbaint_t block, int size)
+ if (!cache->buf)
+ return 0;
+ if (!ext4fs_devread(block, 0, size, cache->buf)) {
+- free(cache->buf);
++ ext_cache_fini(cache);
+ return 0;
+ }
+ cache->block = block;
+--
+2.17.1
+
diff --git a/poky/meta/recipes-bsp/u-boot/files/0004-CVE-2019-13106.patch b/poky/meta/recipes-bsp/u-boot/files/0004-CVE-2019-13106.patch
new file mode 100644
index 000000000..8e1a1a994
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0004-CVE-2019-13106.patch
@@ -0,0 +1,56 @@
+From 1307dabf5422372483f840dda3963f9dbd2e8e6f Mon Sep 17 00:00:00 2001
+From: Paul Emge <paulemge@forallsecure.com>
+Date: Mon, 8 Jul 2019 16:37:07 -0700
+Subject: [PATCH 4/9] CVE-2019-13106: ext4: fix out-of-bounds memset
+
+In ext4fs_read_file in ext4fs.c, a memset can overwrite the bounds of
+the destination memory region. This patch adds a check to disallow
+this.
+
+Signed-off-by: Paul Emge <paulemge@forallsecure.com>
+
+Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
+ h=e205896c5383c938274262524adceb2775fb03ba]
+
+CVE: CVE-2019-13106
+
+Signed-off-by: Meng Li <Meng.Li@windriver.com>
+---
+ fs/ext4/ext4fs.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c
+index e2b740cac4..37b31d9f0f 100644
+--- a/fs/ext4/ext4fs.c
++++ b/fs/ext4/ext4fs.c
+@@ -61,6 +61,7 @@ int ext4fs_read_file(struct ext2fs_node *node, loff_t pos,
+ lbaint_t delayed_skipfirst = 0;
+ lbaint_t delayed_next = 0;
+ char *delayed_buf = NULL;
++ char *start_buf = buf;
+ short status;
+ struct ext_block_cache cache;
+
+@@ -139,6 +140,7 @@ int ext4fs_read_file(struct ext2fs_node *node, loff_t pos,
+ }
+ } else {
+ int n;
++ int n_left;
+ if (previous_block_number != -1) {
+ /* spill */
+ status = ext4fs_devread(delayed_start,
+@@ -153,8 +155,9 @@ int ext4fs_read_file(struct ext2fs_node *node, loff_t pos,
+ }
+ /* Zero no more than `len' bytes. */
+ n = blocksize - skipfirst;
+- if (n > len)
+- n = len;
++ n_left = len - ( buf - start_buf );
++ if (n > n_left)
++ n = n_left;
+ memset(buf, 0, n);
+ }
+ buf += blocksize - skipfirst;
+--
+2.17.1
+
diff --git a/poky/meta/recipes-bsp/u-boot/files/0005-CVE-2019-14192-14193-14199.patch b/poky/meta/recipes-bsp/u-boot/files/0005-CVE-2019-14192-14193-14199.patch
new file mode 100644
index 000000000..a19545a2d
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0005-CVE-2019-14192-14193-14199.patch
@@ -0,0 +1,43 @@
+From e8e602f4a4b2aacfb3da32bb8a838be15ea70e7b Mon Sep 17 00:00:00 2001
+From: "liucheng (G)" <liucheng32@huawei.com>
+Date: Thu, 29 Aug 2019 13:47:33 +0000
+Subject: [PATCH 5/9] CVE: net: fix unbounded memcpy of UDP packet
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This patch adds a check to udp_len to fix unbounded memcpy for
+CVE-2019-14192, CVE-2019-14193 and CVE-2019-14199.
+
+Signed-off-by: Cheng Liu <liucheng32@huawei.com>
+Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
+Reported-by: Fermín Serna <fermin@semmle.com>
+Acked-by: Joe Hershberger <joe.hershberger@ni.com>
+
+Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
+ h=fe7288069d2e6659117049f7d27e261b550bb725]
+
+CVE: CVE-2019-14192, CVE-2019-14193 and CVE-2019-14199
+
+Signed-off-by: Meng Li <Meng.Li@windriver.com>
+---
+ net/net.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/net/net.c b/net/net.c
+index 58b0417cbe..38105f1142 100644
+--- a/net/net.c
++++ b/net/net.c
+@@ -1252,6 +1252,9 @@ void net_process_received_packet(uchar *in_packet, int len)
+ return;
+ }
+
++ if (ntohs(ip->udp_len) < UDP_HDR_SIZE || ntohs(ip->udp_len) > ntohs(ip->ip_len))
++ return;
++
+ debug_cond(DEBUG_DEV_PKT,
+ "received UDP (to=%pI4, from=%pI4, len=%d)\n",
+ &dst_ip, &src_ip, len);
+--
+2.17.1
+
diff --git a/poky/meta/recipes-bsp/u-boot/files/0006-CVE-2019-14197-14200-14201-14202-14203-14204.patch b/poky/meta/recipes-bsp/u-boot/files/0006-CVE-2019-14197-14200-14201-14202-14203-14204.patch
new file mode 100644
index 000000000..04a09e46d
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0006-CVE-2019-14197-14200-14201-14202-14203-14204.patch
@@ -0,0 +1,44 @@
+From 261658ddaf24bb35edd477cf09ec055569fd9894 Mon Sep 17 00:00:00 2001
+From: "liucheng (G)" <liucheng32@huawei.com>
+Date: Thu, 29 Aug 2019 13:47:40 +0000
+Subject: [PATCH 6/9] CVE: nfs: fix stack-based buffer overflow in some
+ nfs_handler reply helper functions
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This patch adds a check to nfs_handler to fix buffer overflow for CVE-2019-14197,
+CVE-2019-14200, CVE-2019-14201, CVE-2019-14202, CVE-2019-14203 and CVE-2019-14204.
+
+Signed-off-by: Cheng Liu <liucheng32@huawei.com>
+Reported-by: Fermín Serna <fermin@semmle.com>
+Acked-by: Joe Hershberger <joe.hershberger@ni.com>
+
+Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
+ h=741a8a08ebe5bc3ccfe3cde6c2b44ee53891af21]
+
+CVE: CVE-2019-14197, CVE-2019-14200, CVE-2019-14201, CVE-2019-14202,
+ CVE-2019-14203 and CVE-2019-14204
+
+Signed-off-by: Meng Li <Meng.Li@windriver.com>
+---
+ net/nfs.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/net/nfs.c b/net/nfs.c
+index d6a7f8e827..b7cf3b3a18 100644
+--- a/net/nfs.c
++++ b/net/nfs.c
+@@ -732,6 +732,9 @@ static void nfs_handler(uchar *pkt, unsigned dest, struct in_addr sip,
+
+ debug("%s\n", __func__);
+
++ if (len > sizeof(struct rpc_t))
++ return;
++
+ if (dest != nfs_our_port)
+ return;
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-bsp/u-boot/files/0007-CVE-2019-14194-14198.patch b/poky/meta/recipes-bsp/u-boot/files/0007-CVE-2019-14194-14198.patch
new file mode 100644
index 000000000..b3e3b72eb
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0007-CVE-2019-14194-14198.patch
@@ -0,0 +1,42 @@
+From fb6dc193bf2685b7574b218f7ca558aa54659e11 Mon Sep 17 00:00:00 2001
+From: "liucheng (G)" <liucheng32@huawei.com>
+Date: Thu, 29 Aug 2019 13:47:48 +0000
+Subject: [PATCH 7/9] CVE-2019-14194/CVE-2019-14198: nfs: fix unbounded memcpy
+ with a failed length check at nfs_read_reply
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This patch adds a check to rpc_pkt.u.reply.data at nfs_read_reply.
+
+Signed-off-by: Cheng Liu <liucheng32@huawei.com>
+Reported-by: Fermín Serna <fermin@semmle.com>
+Acked-by: Joe Hershberger <joe.hershberger@ni.com>
+
+Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
+ h=aa207cf3a6d68f39d64cd29057a4fb63943e9078]
+
+CVE: CVE-2019-14194 and CVE-2019-14198
+
+Signed-off-by: Meng Li <Meng.Li@windriver.com>
+---
+ net/nfs.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/net/nfs.c b/net/nfs.c
+index b7cf3b3a18..11941fad1a 100644
+--- a/net/nfs.c
++++ b/net/nfs.c
+@@ -701,6 +701,9 @@ static int nfs_read_reply(uchar *pkt, unsigned len)
+ &(rpc_pkt.u.reply.data[4 + nfsv3_data_offset]);
+ }
+
++ if (((uchar *)&(rpc_pkt.u.reply.data[0]) - (uchar *)(&rpc_pkt) + rlen) > len)
++ return -9999;
++
+ if (store_block(data_ptr, nfs_offset, rlen))
+ return -9999;
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-bsp/u-boot/files/0008-CVE-2019-14195.patch b/poky/meta/recipes-bsp/u-boot/files/0008-CVE-2019-14195.patch
new file mode 100644
index 000000000..bf9fb0ef5
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0008-CVE-2019-14195.patch
@@ -0,0 +1,42 @@
+From 2236973b8a173ff54ae1ebf8ec2300928e69bd1b Mon Sep 17 00:00:00 2001
+From: "liucheng (G)" <liucheng32@huawei.com>
+Date: Thu, 29 Aug 2019 13:47:54 +0000
+Subject: [PATCH 8/9] CVE-2019-14195: nfs: fix unbounded memcpy with
+ unvalidated length at nfs_readlink_reply
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This patch adds a check to rpc_pkt.u.reply.data at nfs_readlink_reply.
+
+Signed-off-by: Cheng Liu <liucheng32@huawei.com>
+Reported-by: Fermín Serna <fermin@semmle.com>
+Acked-by: Joe Hershberger <joe.hershberger@ni.com>
+
+Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
+ h=cf3a4f1e86ecdd24f87b615051b49d8e1968c230]
+
+CVE: CVE-2019-14195
+
+Signed-off-by: Meng Li <Meng.Li@windriver.com>
+---
+ net/nfs.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/net/nfs.c b/net/nfs.c
+index 11941fad1a..915acd95cf 100644
+--- a/net/nfs.c
++++ b/net/nfs.c
+@@ -634,6 +634,9 @@ static int nfs_readlink_reply(uchar *pkt, unsigned len)
+ /* new path length */
+ rlen = ntohl(rpc_pkt.u.reply.data[1 + nfsv3_data_offset]);
+
++ if (((uchar *)&(rpc_pkt.u.reply.data[0]) - (uchar *)(&rpc_pkt) + rlen) > len)
++ return -NFS_RPC_DROP;
++
+ if (*((char *)&(rpc_pkt.u.reply.data[2 + nfsv3_data_offset])) != '/') {
+ int pathlen;
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-bsp/u-boot/files/0009-CVE-2019-14196.patch b/poky/meta/recipes-bsp/u-boot/files/0009-CVE-2019-14196.patch
new file mode 100644
index 000000000..f06e02529
--- /dev/null
+++ b/poky/meta/recipes-bsp/u-boot/files/0009-CVE-2019-14196.patch
@@ -0,0 +1,48 @@
+From 74c468caa95c86cdb12c4b8073e154c435ac0bf7 Mon Sep 17 00:00:00 2001
+From: "liucheng (G)" <liucheng32@huawei.com>
+Date: Thu, 29 Aug 2019 13:48:02 +0000
+Subject: [PATCH 9/9] CVE-2019-14196: nfs: fix unbounded memcpy with a failed
+ length check at nfs_lookup_reply
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This patch adds a check to rpc_pkt.u.reply.data at nfs_lookup_reply.
+
+Signed-off-by: Cheng Liu <liucheng32@huawei.com>
+Reported-by: Fermín Serna <fermin@semmle.com>
+Acked-by: Joe Hershberger <joe.hershberger@ni.com>
+
+Upstream-Status: Backport[http://git.denx.de/?p=u-boot.git;a=commit;
+ h=5d14ee4e53a81055d34ba280cb8fd90330f22a96]
+
+CVE: CVE-2019-14196
+
+Signed-off-by: Meng Li <Meng.Li@windriver.com>
+---
+ net/nfs.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/net/nfs.c b/net/nfs.c
+index 915acd95cf..89952aeb66 100644
+--- a/net/nfs.c
++++ b/net/nfs.c
+@@ -566,11 +566,15 @@ static int nfs_lookup_reply(uchar *pkt, unsigned len)
+ }
+
+ if (supported_nfs_versions & NFSV2_FLAG) {
++ if (((uchar *)&(rpc_pkt.u.reply.data[0]) - (uchar *)(&rpc_pkt) + NFS_FHSIZE) > len)
++ return -NFS_RPC_DROP;
+ memcpy(filefh, rpc_pkt.u.reply.data + 1, NFS_FHSIZE);
+ } else { /* NFSV3_FLAG */
+ filefh3_length = ntohl(rpc_pkt.u.reply.data[1]);
+ if (filefh3_length > NFS3_FHSIZE)
+ filefh3_length = NFS3_FHSIZE;
++ if (((uchar *)&(rpc_pkt.u.reply.data[0]) - (uchar *)(&rpc_pkt) + filefh3_length) > len)
++ return -NFS_RPC_DROP;
+ memcpy(filefh, rpc_pkt.u.reply.data + 2, filefh3_length);
+ }
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
index a0212e1b6..f63dfa3b7 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-common.inc
@@ -1,4 +1,8 @@
HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
+DESCRIPTION = "U-Boot, a boot loader for Embedded boards based on PowerPC, \
+ARM, MIPS and several other processors, which can be installed in a boot \
+ROM and used to initialize and test the hardware or to download and run \
+application code."
SECTION = "bootloaders"
DEPENDS += "flex-native bison-native"
@@ -8,8 +12,18 @@ PE = "1"
# We use the revision in order to avoid having to fetch it from the
# repo during parse
-SRCREV = "3c99166441bf3ea325af2da83cfe65430b49c066"
+SRCREV = "e5aee22e4be75e75a854ab64503fc80598bc2004"
-SRC_URI = "git://git.denx.de/u-boot.git"
+SRC_URI = "git://git.denx.de/u-boot.git \
+ file://0001-CVE-2019-13103.patch \
+ file://0002-CVE-2019-13104.patch \
+ file://0003-CVE-2019-13105.patch \
+ file://0004-CVE-2019-13106.patch \
+ file://0005-CVE-2019-14192-14193-14199.patch \
+ file://0006-CVE-2019-14197-14200-14201-14202-14203-14204.patch \
+ file://0007-CVE-2019-14194-14198.patch \
+ file://0008-CVE-2019-14195.patch \
+ file://0009-CVE-2019-14196.patch \
+"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.04.bb b/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.07.bb
index b5ce56847..b5ce56847 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.04.bb
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-fw-utils_2019.07.bb
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.04.bb b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.07.bb
index bede984ef..bede984ef 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.04.bb
+++ b/poky/meta/recipes-bsp/u-boot/u-boot-tools_2019.07.bb
diff --git a/poky/meta/recipes-bsp/u-boot/u-boot_2019.04.bb b/poky/meta/recipes-bsp/u-boot/u-boot_2019.07.bb
index 02d67c0db..02d67c0db 100644
--- a/poky/meta/recipes-bsp/u-boot/u-boot_2019.04.bb
+++ b/poky/meta/recipes-bsp/u-boot/u-boot_2019.07.bb
diff --git a/poky/meta/recipes-bsp/usbinit/usbinit.bb b/poky/meta/recipes-bsp/usbinit/usbinit.bb
index aba44b406..ef98f0bf6 100644
--- a/poky/meta/recipes-bsp/usbinit/usbinit.bb
+++ b/poky/meta/recipes-bsp/usbinit/usbinit.bb
@@ -1,4 +1,8 @@
SUMMARY = "Initscript for enabling USB gadget Ethernet"
+DESCRIPTION = "This module allows ethernet emulation over USB, allowing for \
+all sorts of nifty things like SSH and NFS in one go plus charging over the \
+same wire, at higher speeds than most Wifi connections."
+HOMEPAGE = "http://linux-sunxi.org/USB_Gadget/Ethernet"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
diff --git a/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb b/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb
index a77653bf5..1c6e46aab 100644
--- a/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb
+++ b/poky/meta/recipes-connectivity/avahi/avahi-ui_0.7.bb
@@ -20,7 +20,13 @@ FILES_avahi-discover = "${datadir}/applications/avahi-discover.desktop \
do_install_append () {
rm ${D}${sysconfdir} -rf
- rm ${D}${base_libdir} -rf
+ if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
+ if [ "${nonarch_base_libdir}" != "${base_libdir}" ];then
+ rm ${D}${nonarch_base_libdir} -rf
+ fi
+ else
+ rm ${D}${base_libdir} -rf
+ fi
rm ${D}${systemd_unitdir} -rf
# The ${systemd_unitdir} is /lib/systemd, so we need rmdir /lib,
# but not ${base_libdir} here. And the /lib may not exist
diff --git a/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch b/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch
index 11e7e8a9b..cb8b83fd2 100644
--- a/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch
+++ b/poky/meta/recipes-connectivity/avahi/files/0001-Fix-opening-etc-resolv.conf-error.patch
@@ -19,6 +19,11 @@ is marked as OE specific.
Upstream-Status: Inappropriate [OE Specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
+When connman installed to image, /etc/resolv.conf is link to
+/etc/resolv-conf.connman. So launch avahi-daemon after connman too.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
avahi-daemon/avahi-daemon.service.in | 1 +
1 file changed, 1 insertion(+)
@@ -31,7 +36,7 @@ index 548c834..63e28e4 100644
[Unit]
Description=Avahi mDNS/DNS-SD Stack
Requires=avahi-daemon.socket
-+After=systemd-resolved.service
++After=systemd-resolved.service connman.service
[Service]
Type=dbus
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb b/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb
index 1355841e6..69b117407 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.11.5-P4.bb
@@ -26,8 +26,8 @@ SRC_URI[md5sum] = "8ddab4b61fa4516fe404679c74e37960"
SRC_URI[sha256sum] = "7e8c08192bcbaeb6e9f2391a70e67583b027b90e8c4bc1605da6eb126edde434"
UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
-UPSTREAM_CHECK_REGEX = "(?P<pver>9(\.\d+)+(-P\d+)*)/"
-RECIPE_NO_UPDATE_REASON = "9.11 is LTS 2021"
+# stay at 9.11 until 9.16, from 9.16 follow the ESV versions divisible by 4
+UPSTREAM_CHECK_REGEX = "(?P<pver>9.(11|16|20|24|28)(\.\d+)+(-P\d+)*)/"
inherit autotools update-rc.d systemd useradd pkgconfig multilib_script
@@ -39,7 +39,7 @@ PACKAGECONFIG[httpstats] = "--with-libxml2=${STAGING_DIR_HOST}${prefix},--withou
PACKAGECONFIG[readline] = "--with-readline=-lreadline,,readline"
PACKAGECONFIG[libedit] = "--with-readline=-ledit,,libedit"
PACKAGECONFIG[urandom] = "--with-randomdev=/dev/urandom,--with-randomdev=/dev/random,,"
-PACKAGECONFIG[python3] = "--with-python=${PYTHON} --with-python-install-dir=${D}/${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native,"
+PACKAGECONFIG[python3] = "--with-python=yes --with-python-install-dir=${PYTHON_SITEPACKAGES_DIR} , --without-python, python3-ply-native,"
ENABLE_IPV6 = "--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}"
EXTRA_OECONF = " ${ENABLE_IPV6} --with-libtool --enable-threads \
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
index 8f321638c..6c79ed060 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 = "dbus-glib glib-2.0"
+DEPENDS = "dbus glib-2.0"
PROVIDES += "bluez-hcidump"
RPROVIDES_${PN} += "bluez-hcidump"
@@ -57,6 +57,7 @@ SRC_URI = "\
file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch \
file://CVE-2018-10910.patch \
file://gcc9-fixes.patch \
+ file://0001-tools-Fix-build-after-y2038-changes-in-glibc.patch \
"
S = "${WORKDIR}/bluez-${PV}"
@@ -139,7 +140,7 @@ def get_noinst_tools_paths (d, bb, tools):
FILES_${PN}-noinst-tools = "${@get_noinst_tools_paths(d, bb, d.getVar('NOINST_TOOLS'))}"
-RDEPENDS_${PN}-testtools += "python3 python3-dbus"
+RDEPENDS_${PN}-testtools += "python3-core python3-dbus"
RDEPENDS_${PN}-testtools += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-pygobject', '', d)}"
SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'bluetooth.service', '', d)}"
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch
new file mode 100644
index 000000000..9ca20ae53
--- /dev/null
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5/0001-tools-Fix-build-after-y2038-changes-in-glibc.patch
@@ -0,0 +1,68 @@
+From f36f71f60b1e68c0f12e615b9b128d089ec3dd19 Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Fri, 7 Jun 2019 09:51:33 +0200
+Subject: [PATCH] tools: Fix build after y2038 changes in glibc
+
+The 32-bit SIOCGSTAMP has been deprecated. Use the deprecated name
+to fix the build.
+
+Upstream-Status: backport commit f36f71f60b1e68c0f12e615b9b128d089ec3dd19
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
+
+---
+ tools/l2test.c | 6 +++++-
+ tools/rctest.c | 6 +++++-
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/tools/l2test.c b/tools/l2test.c
+index e755ac881..e787c2ce2 100644
+--- a/tools/l2test.c
++++ b/tools/l2test.c
+@@ -55,6 +55,10 @@
+ #define BREDR_DEFAULT_PSM 0x1011
+ #define LE_DEFAULT_PSM 0x0080
+
++#ifndef SIOCGSTAMP_OLD
++#define SIOCGSTAMP_OLD SIOCGSTAMP
++#endif
++
+ /* Test modes */
+ enum {
+ SEND,
+@@ -907,7 +911,7 @@ static void recv_mode(int sk)
+ if (timestamp) {
+ struct timeval tv;
+
+- if (ioctl(sk, SIOCGSTAMP, &tv) < 0) {
++ if (ioctl(sk, SIOCGSTAMP_OLD, &tv) < 0) {
+ timestamp = 0;
+ memset(ts, 0, sizeof(ts));
+ } else {
+diff --git a/tools/rctest.c b/tools/rctest.c
+index 94490f462..bc8ed875d 100644
+--- a/tools/rctest.c
++++ b/tools/rctest.c
+@@ -50,6 +50,10 @@
+
+ #include "src/shared/util.h"
+
++#ifndef SIOCGSTAMP_OLD
++#define SIOCGSTAMP_OLD SIOCGSTAMP
++#endif
++
+ /* Test modes */
+ enum {
+ SEND,
+@@ -505,7 +509,7 @@ static void recv_mode(int sk)
+ if (timestamp) {
+ struct timeval tv;
+
+- if (ioctl(sk, SIOCGSTAMP, &tv) < 0) {
++ if (ioctl(sk, SIOCGSTAMP_OLD, &tv) < 0) {
+ timestamp = 0;
+ memset(ts, 0, sizeof(ts));
+ } else {
+--
+2.19.1
+
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch
index b4b1846c4..2a7807744 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5/CVE-2018-10910.patch
@@ -1,3 +1,8 @@
+From 977321f2c7f974ea68a3d90df296c66189a3f254 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Fri, 21 Jun 2019 17:57:35 +0900
+Subject: [PATCH] CVE-2018-10910
+
A bug in Bluez may allow for the Bluetooth Discoverable state being set to on
when no Bluetooth agent is registered with the system. This situation could
lead to the unauthorized pairing of certain Bluetooth devices without any
@@ -21,14 +26,24 @@ DiscoverableTimeout property:
[bluetooth]# discoverable-timeout 180
Changing discoverable-timeout 180 succeeded
---
- client/main.c | 43 +++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 43 insertions(+)
+ client/main.c | 82 +++++++++++++++++++++++++++++++++-
+ doc/adapter-api.txt | 6 +++
+ src/adapter.c | 125 ++++++++++++++++++++++++++++++++++++++++++++++------
+ 3 files changed, 198 insertions(+), 15 deletions(-)
diff --git a/client/main.c b/client/main.c
-index 87323d8f7..59820c6d9 100644
+index 87323d8..1a66a3a 100644
--- a/client/main.c
+++ b/client/main.c
-@@ -1061,6 +1061,47 @@ static void cmd_discoverable(int argc, char *argv[])
+@@ -877,6 +877,7 @@ static void cmd_show(int argc, char *argv[])
+ print_property(proxy, "Class");
+ print_property(proxy, "Powered");
+ print_property(proxy, "Discoverable");
++ print_property(proxy, "DiscoverableTimeout");
+ print_property(proxy, "Pairable");
+ print_uuids(proxy);
+ print_property(proxy, "Modalias");
+@@ -1061,6 +1062,47 @@ static void cmd_discoverable(int argc, char *argv[])
return bt_shell_noninteractive_quit(EXIT_FAILURE);
}
@@ -76,7 +91,87 @@ index 87323d8f7..59820c6d9 100644
static void cmd_agent(int argc, char *argv[])
{
dbus_bool_t enable;
-@@ -2549,6 +2590,8 @@ static const struct bt_shell_menu main_menu = {
+@@ -1124,6 +1166,7 @@ static struct set_discovery_filter_args {
+ char **uuids;
+ size_t uuids_len;
+ dbus_bool_t duplicate;
++ dbus_bool_t discoverable;
+ bool set;
+ } filter = {
+ .rssi = DISTANCE_VAL_INVALID,
+@@ -1163,6 +1206,11 @@ static void set_discovery_filter_setup(DBusMessageIter *iter, void *user_data)
+ DBUS_TYPE_BOOLEAN,
+ &args->duplicate);
+
++ if (args->discoverable)
++ g_dbus_dict_append_entry(&dict, "Discoverable",
++ DBUS_TYPE_BOOLEAN,
++ &args->discoverable);
++
+ dbus_message_iter_close_container(iter, &dict);
+ }
+
+@@ -1320,6 +1368,26 @@ static void cmd_scan_filter_duplicate_data(int argc, char *argv[])
+ filter.set = false;
+ }
+
++static void cmd_scan_filter_discoverable(int argc, char *argv[])
++{
++ if (argc < 2 || !strlen(argv[1])) {
++ bt_shell_printf("Discoverable: %s\n",
++ filter.discoverable ? "on" : "off");
++ return bt_shell_noninteractive_quit(EXIT_SUCCESS);
++ }
++
++ if (!strcmp(argv[1], "on"))
++ filter.discoverable = true;
++ else if (!strcmp(argv[1], "off"))
++ filter.discoverable = false;
++ else {
++ bt_shell_printf("Invalid option: %s\n", argv[1]);
++ return bt_shell_noninteractive_quit(EXIT_FAILURE);
++ }
++
++ filter.set = false;
++}
++
+ static void filter_clear_uuids(void)
+ {
+ g_strfreev(filter.uuids);
+@@ -1348,6 +1416,11 @@ static void filter_clear_duplicate(void)
+ filter.duplicate = false;
+ }
+
++static void filter_clear_discoverable(void)
++{
++ filter.discoverable = false;
++}
++
+ struct clear_entry {
+ const char *name;
+ void (*clear) (void);
+@@ -1359,6 +1432,7 @@ static const struct clear_entry filter_clear[] = {
+ { "pathloss", filter_clear_pathloss },
+ { "transport", filter_clear_transport },
+ { "duplicate-data", filter_clear_duplicate },
++ { "discoverable", filter_clear_discoverable },
+ {}
+ };
+
+@@ -2468,7 +2542,11 @@ static const struct bt_shell_menu scan_menu = {
+ { "duplicate-data", "[on/off]", cmd_scan_filter_duplicate_data,
+ "Set/Get duplicate data filter",
+ NULL },
+- { "clear", "[uuids/rssi/pathloss/transport/duplicate-data]",
++ { "discoverable", "[on/off]", cmd_scan_filter_discoverable,
++ "Set/Get discoverable filter",
++ NULL },
++ { "clear",
++ "[uuids/rssi/pathloss/transport/duplicate-data/discoverable]",
+ cmd_scan_filter_clear,
+ "Clears discovery filter.",
+ filter_clear_generator },
+@@ -2549,6 +2627,8 @@ static const struct bt_shell_menu main_menu = {
{ "discoverable", "<on/off>", cmd_discoverable,
"Set controller discoverable mode",
NULL },
@@ -85,74 +180,36 @@ index 87323d8f7..59820c6d9 100644
{ "agent", "<on/off/capability>", cmd_agent,
"Enable/disable agent with given capability",
capability_generator},
---
-2.17.1
-
-Subject: [PATCH BlueZ 2/4] client: Make show command print DiscoverableTimeout
-From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
-Date: 2018-07-25 10:20:33
-Message-ID: 20180725102035.19439-2-luiz.dentz () gmail ! com
-[Download RAW message or body]
-
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-
-Controller XX:XX:XX:XX:XX:XX (public)
- Name: Vudentz's T460s
- Alias: Intel-1
- Class: 0x004c010c
- Powered: yes
- Discoverable: no
- DiscoverableTimeout: 0x00000000
- Pairable: yes
- UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb)
- UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
- UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
- UUID: SIM Access (0000112d-0000-1000-8000-00805f9b34fb)
- UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
- UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
- UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
- UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb)
- UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)
- UUID: Headset (00001108-0000-1000-8000-00805f9b34fb)
- Modalias: usb:v1D6Bp0246d0532
- Discovering: no
----
- client/main.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/client/main.c b/client/main.c
-index 59820c6d9..6f472d050 100644
---- a/client/main.c
-+++ b/client/main.c
-@@ -877,6 +877,7 @@ static void cmd_show(int argc, char *argv[])
- print_property(proxy, "Class");
- print_property(proxy, "Powered");
- print_property(proxy, "Discoverable");
-+ print_property(proxy, "DiscoverableTimeout");
- print_property(proxy, "Pairable");
- print_uuids(proxy);
- print_property(proxy, "Modalias");
---
-2.17.1
-Subject: [PATCH BlueZ 3/4] adapter: Track pending settings
-From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
-Date: 2018-07-25 10:20:34
-Message-ID: 20180725102035.19439-3-luiz.dentz () gmail ! com
-[Download RAW message or body]
-
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-
-This tracks settings being changed and in case the settings is already
-pending considered it to be done.
----
- src/adapter.c | 30 ++++++++++++++++++++++++++++--
- 1 file changed, 28 insertions(+), 2 deletions(-)
-
+diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
+index d14d0ca..4791af2 100644
+--- a/doc/adapter-api.txt
++++ b/doc/adapter-api.txt
+@@ -113,6 +113,12 @@ Methods void StartDiscovery()
+ generated for either ManufacturerData and
+ ServiceData everytime they are discovered.
+
++ bool Discoverable (Default: false)
++
++ Make adapter discoverable while discovering,
++ if the adapter is already discoverable this
++ setting this filter won't do anything.
++
+ When discovery filter is set, Device objects will be
+ created as new devices with matching criteria are
+ discovered regardless of they are connectable or
diff --git a/src/adapter.c b/src/adapter.c
-index af340fd6e..20c20f9e9 100644
+index af340fd..822bd34 100644
--- a/src/adapter.c
+++ b/src/adapter.c
-@@ -196,6 +196,7 @@ struct btd_adapter {
+@@ -157,6 +157,7 @@ struct discovery_filter {
+ int16_t rssi;
+ GSList *uuids;
+ bool duplicate;
++ bool discoverable;
+ };
+
+ struct watch_client {
+@@ -196,6 +197,7 @@ struct btd_adapter {
char *name; /* controller device name */
char *short_name; /* controller short name */
uint32_t supported_settings; /* controller supported settings */
@@ -160,7 +217,15 @@ index af340fd6e..20c20f9e9 100644
uint32_t current_settings; /* current controller settings */
char *path; /* adapter object path */
-@@ -509,8 +510,10 @@ static void settings_changed(struct btd_adapter *adapter, uint32_t settings)
+@@ -213,6 +215,7 @@ struct btd_adapter {
+
+ bool discovering; /* discovering property state */
+ bool filtered_discovery; /* we are doing filtered discovery */
++ bool filtered_discoverable; /* we are doing filtered discovery */
+ bool no_scan_restart_delay; /* when this flag is set, restart scan
+ * without delay */
+ uint8_t discovery_type; /* current active discovery type */
+@@ -509,8 +512,10 @@ static void settings_changed(struct btd_adapter *adapter, uint32_t settings)
changed_mask = adapter->current_settings ^ settings;
adapter->current_settings = settings;
@@ -171,7 +236,7 @@ index af340fd6e..20c20f9e9 100644
if (changed_mask & MGMT_SETTING_POWERED) {
g_dbus_emit_property_changed(dbus_conn, adapter->path,
-@@ -596,10 +599,31 @@ static bool set_mode(struct btd_adapter *adapter, uint16_t opcode,
+@@ -596,10 +601,31 @@ static bool set_mode(struct btd_adapter *adapter, uint16_t opcode,
uint8_t mode)
{
struct mgmt_mode cp;
@@ -203,160 +268,11 @@ index af340fd6e..20c20f9e9 100644
DBG("sending set mode command for index %u", adapter->dev_id);
if (mgmt_send(adapter->mgmt, opcode,
-@@ -2739,13 +2763,15 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting,
- else
- current_enable = FALSE;
-
-- if (enable == current_enable) {
-+ if (enable == current_enable || adapter->pending_settings & setting) {
- g_dbus_pending_property_success(id);
- return;
- }
-
- mode = (enable == TRUE) ? 0x01 : 0x00;
-
-+ adapter->pending_settings |= setting;
-+
- switch (setting) {
- case MGMT_SETTING_POWERED:
- opcode = MGMT_OP_SET_POWERED;
-@@ -2798,7 +2824,7 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting,
- data->id = id;
-
- if (mgmt_send(adapter->mgmt, opcode, adapter->dev_id, len, param,
-- property_set_mode_complete, data, g_free) > 0)
-+ property_set_mode_complete, data, g_free) > 0)
- return;
-
- g_free(data);
---
-2.17.1
-Subject: [PATCH BlueZ 4/4] adapter: Check pending when setting DiscoverableTimeout
-From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
-Date: 2018-07-25 10:20:35
-Message-ID: 20180725102035.19439-4-luiz.dentz () gmail ! com
-[Download RAW message or body]
-
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-
-This makes DiscoverableTimeout check if discoverable is already pending
-and don't attempt to set it once again which may cause discoverable to
-be re-enabled when in fact the application just want to set the timeout
-alone.
----
- src/adapter.c | 14 +++++++++++++-
- 1 file changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/src/adapter.c b/src/adapter.c
-index 20c20f9e9..f92c897c7 100644
---- a/src/adapter.c
-+++ b/src/adapter.c
-@@ -2901,6 +2901,7 @@ static void property_set_discoverable_timeout(
- GDBusPendingPropertySet id, void *user_data)
- {
- struct btd_adapter *adapter = user_data;
-+ bool enabled;
- dbus_uint32_t value;
-
- dbus_message_iter_get_basic(iter, &value);
-@@ -2914,8 +2915,19 @@ static void property_set_discoverable_timeout(
- g_dbus_emit_property_changed(dbus_conn, adapter->path,
- ADAPTER_INTERFACE, "DiscoverableTimeout");
-
-+ if (adapter->pending_settings & MGMT_SETTING_DISCOVERABLE) {
-+ if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
-+ enabled = false;
-+ else
-+ enabled = true;
-+ } else {
-+ if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
-+ enabled = true;
-+ else
-+ enabled = false;
-+ }
-
-- if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
-+ if (enabled)
- set_discoverable(adapter, 0x01, adapter->discoverable_timeout);
- }
-
---
-2.17.1
-Subject: [PATCH BlueZ 1/5] doc/adapter-api: Add Discoverable option to SetDiscoveryFilter
-From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
-Date: 2018-07-26 14:17:19
-Message-ID: 20180726141723.20199-1-luiz.dentz () gmail ! com
-[Download RAW message or body]
-
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-
-This enables the client to set its discoverable setting while
-discovering which is very typical situation as usually the setings
-application would allow incoming pairing request while scanning, so
-this would reduce the number of calls setting Discoverable and
-DiscoverableTimeout and restoring after done with discovery.
----
- doc/adapter-api.txt | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/doc/adapter-api.txt b/doc/adapter-api.txt
-index d14d0ca50..4791af2c7 100644
---- a/doc/adapter-api.txt
-+++ b/doc/adapter-api.txt
-@@ -113,6 +113,12 @@ Methods void StartDiscovery()
- generated for either ManufacturerData and
- ServiceData everytime they are discovered.
-
-+ bool Discoverable (Default: false)
-+
-+ Make adapter discoverable while discovering,
-+ if the adapter is already discoverable this
-+ setting this filter won't do anything.
-+
- When discovery filter is set, Device objects will be
- created as new devices with matching criteria are
- discovered regardless of they are connectable or
---
-2.17.1
-Subject: [PATCH BlueZ 2/5] adapter: Discovery filter discoverable
-From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
-Date: 2018-07-26 14:17:20
-Message-ID: 20180726141723.20199-2-luiz.dentz () gmail ! com
-[Download RAW message or body]
-
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-
-This implements the discovery filter discoverable and tracks which
-clients had enabled it and restores the settings when the last client
-enabling it exits.
----
- src/adapter.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 54 insertions(+), 2 deletions(-)
-
-diff --git a/src/adapter.c b/src/adapter.c
-index f92c897c7..bd9edddc6 100644
---- a/src/adapter.c
-+++ b/src/adapter.c
-@@ -157,6 +157,7 @@ struct discovery_filter {
- int16_t rssi;
- GSList *uuids;
- bool duplicate;
-+ bool discoverable;
- };
-
- struct watch_client {
-@@ -214,6 +215,7 @@ struct btd_adapter {
-
- bool discovering; /* discovering property state */
- bool filtered_discovery; /* we are doing filtered discovery */
-+ bool filtered_discoverable; /* we are doing filtered discovery */
- bool no_scan_restart_delay; /* when this flag is set, restart scan
- * without delay */
- uint8_t discovery_type; /* current active discovery type */
-@@ -1842,6 +1844,16 @@ static void discovery_free(void *user_data)
+@@ -1818,7 +1844,17 @@ static void discovery_free(void *user_data)
g_free(client);
}
+-static void discovery_remove(struct watch_client *client)
+static bool set_filtered_discoverable(struct btd_adapter *adapter, bool enable)
+{
+ if (adapter->filtered_discoverable == enable)
@@ -367,13 +283,15 @@ index f92c897c7..bd9edddc6 100644
+ return set_discoverable(adapter, enable, 0);
+}
+
- static void discovery_remove(struct watch_client *client)
++static void discovery_remove(struct watch_client *client, bool exit)
{
struct btd_adapter *adapter = client->adapter;
-@@ -1854,6 +1866,22 @@ static void discovery_remove(struct watch_client *client)
+
+@@ -1830,7 +1866,27 @@ static void discovery_remove(struct watch_client *client)
adapter->discovery_list = g_slist_remove(adapter->discovery_list,
client);
+- discovery_free(client);
+ if (adapter->filtered_discoverable &&
+ client->discovery_filter->discoverable) {
+ GSList *l;
@@ -390,10 +308,72 @@ index f92c897c7..bd9edddc6 100644
+ set_filtered_discoverable(adapter, false);
+ }
+
- discovery_free(client);
++ if (!exit && client->discovery_filter)
++ adapter->set_filter_list = g_slist_prepend(
++ adapter->set_filter_list, client);
++ else
++ discovery_free(client);
/*
-@@ -2224,6 +2252,15 @@ static DBusMessage *start_discovery(DBusConnection *conn,
+ * If there are other client discoveries in progress, then leave
+@@ -1859,8 +1915,11 @@ static void stop_discovery_complete(uint8_t status, uint16_t length,
+ goto done;
+ }
+
+- if (client->msg)
++ if (client->msg) {
+ g_dbus_send_reply(dbus_conn, client->msg, DBUS_TYPE_INVALID);
++ dbus_message_unref(client->msg);
++ client->msg = NULL;
++ }
+
+ adapter->discovery_type = 0x00;
+ adapter->discovery_enable = 0x00;
+@@ -1873,7 +1932,7 @@ static void stop_discovery_complete(uint8_t status, uint16_t length,
+ trigger_passive_scanning(adapter);
+
+ done:
+- discovery_remove(client);
++ discovery_remove(client, false);
+ }
+
+ static int compare_sender(gconstpointer a, gconstpointer b)
+@@ -2094,14 +2153,14 @@ static int update_discovery_filter(struct btd_adapter *adapter)
+ return -EINPROGRESS;
+ }
+
+-static int discovery_stop(struct watch_client *client)
++static int discovery_stop(struct watch_client *client, bool exit)
+ {
+ struct btd_adapter *adapter = client->adapter;
+ struct mgmt_cp_stop_discovery cp;
+
+ /* Check if there are more client discovering */
+ if (g_slist_next(adapter->discovery_list)) {
+- discovery_remove(client);
++ discovery_remove(client, exit);
+ update_discovery_filter(adapter);
+ return 0;
+ }
+@@ -2111,7 +2170,7 @@ static int discovery_stop(struct watch_client *client)
+ * and so it is enough to send out the signal and just return.
+ */
+ if (adapter->discovery_enable == 0x00) {
+- discovery_remove(client);
++ discovery_remove(client, exit);
+ adapter->discovering = false;
+ g_dbus_emit_property_changed(dbus_conn, adapter->path,
+ ADAPTER_INTERFACE, "Discovering");
+@@ -2136,7 +2195,7 @@ static void discovery_disconnect(DBusConnection *conn, void *user_data)
+
+ DBG("owner %s", client->owner);
+
+- discovery_stop(client);
++ discovery_stop(client, true);
+ }
+
+ /*
+@@ -2200,6 +2259,15 @@ static DBusMessage *start_discovery(DBusConnection *conn,
adapter->set_filter_list, client);
adapter->discovery_list = g_slist_prepend(
adapter->discovery_list, client);
@@ -409,7 +389,7 @@ index f92c897c7..bd9edddc6 100644
goto done;
}
-@@ -2348,6 +2385,17 @@ static bool parse_duplicate_data(DBusMessageIter *value,
+@@ -2324,6 +2392,17 @@ static bool parse_duplicate_data(DBusMessageIter *value,
return true;
}
@@ -427,7 +407,7 @@ index f92c897c7..bd9edddc6 100644
struct filter_parser {
const char *name;
bool (*func)(DBusMessageIter *iter, struct discovery_filter *filter);
-@@ -2357,6 +2405,7 @@ struct filter_parser {
+@@ -2333,6 +2412,7 @@ struct filter_parser {
{ "Pathloss", parse_pathloss },
{ "Transport", parse_transport },
{ "DuplicateData", parse_duplicate_data },
@@ -435,7 +415,7 @@ index f92c897c7..bd9edddc6 100644
{ }
};
-@@ -2396,6 +2445,7 @@ static bool parse_discovery_filter_dict(struct btd_adapter *adapter,
+@@ -2372,6 +2452,7 @@ static bool parse_discovery_filter_dict(struct btd_adapter *adapter,
(*filter)->rssi = DISTANCE_VAL_INVALID;
(*filter)->type = get_scan_type(adapter);
(*filter)->duplicate = false;
@@ -443,7 +423,7 @@ index f92c897c7..bd9edddc6 100644
dbus_message_iter_init(msg, &iter);
if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY ||
-@@ -2441,8 +2491,10 @@ static bool parse_discovery_filter_dict(struct btd_adapter *adapter,
+@@ -2417,8 +2498,10 @@ static bool parse_discovery_filter_dict(struct btd_adapter *adapter,
goto invalid_args;
DBG("filtered discovery params: transport: %d rssi: %d pathloss: %d "
@@ -456,250 +436,70 @@ index f92c897c7..bd9edddc6 100644
return true;
---
-2.17.1
-Subject: [PATCH BlueZ 3/5] client: Add scan.discoverable command
-From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
-Date: 2018-07-26 14:17:21
-Message-ID: 20180726141723.20199-3-luiz.dentz () gmail ! com
-[Download RAW message or body]
-
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-
-This adds discoverable command to scan menu which can be used to set
-if adapter should become discoverable while scanning:
-
-[bluetooth]# scan.discoverable on
-[bluetooth]# scan on
-SetDiscoveryFilter success
-[CHG] Controller XX:XX:XX:XX:XX:XX Discoverable: yes
-Discovery started
-[CHG] Controller XX:XX:XX:XX:XX:XX Discovering: yes
-[bluetooth]# scan off
-Discovery stopped
-[CHG] Controller XX:XX:XX:XX:XX:XX Discoverable: no
----
- client/main.c | 29 +++++++++++++++++++++++++++++
- 1 file changed, 29 insertions(+)
-
-diff --git a/client/main.c b/client/main.c
-index 6f472d050..6e6f6d2fb 100644
---- a/client/main.c
-+++ b/client/main.c
-@@ -1166,6 +1166,7 @@ static struct set_discovery_filter_args {
- char **uuids;
- size_t uuids_len;
- dbus_bool_t duplicate;
-+ dbus_bool_t discoverable;
- bool set;
- } filter = {
- .rssi = DISTANCE_VAL_INVALID,
-@@ -1205,6 +1206,11 @@ static void set_discovery_filter_setup(DBusMessageIter *iter, void *user_data)
- DBUS_TYPE_BOOLEAN,
- &args->duplicate);
+@@ -2510,7 +2593,7 @@ static DBusMessage *stop_discovery(DBusConnection *conn,
+ if (client->msg)
+ return btd_error_busy(msg);
-+ if (args->discoverable)
-+ g_dbus_dict_append_entry(&dict, "Discoverable",
-+ DBUS_TYPE_BOOLEAN,
-+ &args->discoverable);
-+
- dbus_message_iter_close_container(iter, &dict);
- }
+- err = discovery_stop(client);
++ err = discovery_stop(client, false);
+ switch (err) {
+ case 0:
+ return dbus_message_new_method_return(msg);
+@@ -2739,13 +2822,15 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting,
+ else
+ current_enable = FALSE;
-@@ -1362,6 +1368,26 @@ static void cmd_scan_filter_duplicate_data(int argc, char *argv[])
- filter.set = false;
- }
+- if (enable == current_enable) {
++ if (enable == current_enable || adapter->pending_settings & setting) {
+ g_dbus_pending_property_success(id);
+ return;
+ }
-+static void cmd_scan_filter_discoverable(int argc, char *argv[])
-+{
-+ if (argc < 2 || !strlen(argv[1])) {
-+ bt_shell_printf("Discoverable: %s\n",
-+ filter.discoverable ? "on" : "off");
-+ return bt_shell_noninteractive_quit(EXIT_SUCCESS);
-+ }
-+
-+ if (!strcmp(argv[1], "on"))
-+ filter.discoverable = true;
-+ else if (!strcmp(argv[1], "off"))
-+ filter.discoverable = false;
-+ else {
-+ bt_shell_printf("Invalid option: %s\n", argv[1]);
-+ return bt_shell_noninteractive_quit(EXIT_FAILURE);
-+ }
-+
-+ filter.set = false;
-+}
-+
- static void filter_clear_uuids(void)
- {
- g_strfreev(filter.uuids);
-@@ -2510,6 +2536,9 @@ static const struct bt_shell_menu scan_menu = {
- { "duplicate-data", "[on/off]", cmd_scan_filter_duplicate_data,
- "Set/Get duplicate data filter",
- NULL },
-+ { "discoverable", "[on/off]", cmd_scan_filter_discoverable,
-+ "Set/Get discoverable filter",
-+ NULL },
- { "clear", "[uuids/rssi/pathloss/transport/duplicate-data]",
- cmd_scan_filter_clear,
- "Clears discovery filter.",
---
-2.17.1
-Subject: [PATCH BlueZ 4/5] client: Add scan.clear discoverable
-From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
-Date: 2018-07-26 14:17:22
-Message-ID: 20180726141723.20199-4-luiz.dentz () gmail ! com
-[Download RAW message or body]
-
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-
-This implements scan.clear for discoverable filter.
----
- client/main.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/client/main.c b/client/main.c
-index 6e6f6d2fb..1a66a3ab4 100644
---- a/client/main.c
-+++ b/client/main.c
-@@ -1416,6 +1416,11 @@ static void filter_clear_duplicate(void)
- filter.duplicate = false;
- }
+ mode = (enable == TRUE) ? 0x01 : 0x00;
-+static void filter_clear_discoverable(void)
-+{
-+ filter.discoverable = false;
-+}
++ adapter->pending_settings |= setting;
+
- struct clear_entry {
- const char *name;
- void (*clear) (void);
-@@ -1427,6 +1432,7 @@ static const struct clear_entry filter_clear[] = {
- { "pathloss", filter_clear_pathloss },
- { "transport", filter_clear_transport },
- { "duplicate-data", filter_clear_duplicate },
-+ { "discoverable", filter_clear_discoverable },
- {}
- };
+ switch (setting) {
+ case MGMT_SETTING_POWERED:
+ opcode = MGMT_OP_SET_POWERED;
+@@ -2798,7 +2883,7 @@ static void property_set_mode(struct btd_adapter *adapter, uint32_t setting,
+ data->id = id;
-@@ -2539,7 +2545,8 @@ static const struct bt_shell_menu scan_menu = {
- { "discoverable", "[on/off]", cmd_scan_filter_discoverable,
- "Set/Get discoverable filter",
- NULL },
-- { "clear", "[uuids/rssi/pathloss/transport/duplicate-data]",
-+ { "clear",
-+ "[uuids/rssi/pathloss/transport/duplicate-data/discoverable]",
- cmd_scan_filter_clear,
- "Clears discovery filter.",
- filter_clear_generator },
---
-2.17.1
-Subject: [PATCH BlueZ 5/5] adapter: Fix not keeping discovery filters
-From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
-Date: 2018-07-26 14:17:23
-Message-ID: 20180726141723.20199-5-luiz.dentz () gmail ! com
-[Download RAW message or body]
-
-From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-
-If the discovery has been stopped and the client has set filters those
-should be put back into filter list since the client may still be
-interested in using them the next time it start a scanning.
----
- src/adapter.c | 25 ++++++++++++++++---------
- 1 file changed, 16 insertions(+), 9 deletions(-)
-
-diff --git a/src/adapter.c b/src/adapter.c
-index bd9edddc6..822bd3472 100644
---- a/src/adapter.c
-+++ b/src/adapter.c
-@@ -1854,7 +1854,7 @@ static bool set_filtered_discoverable(struct btd_adapter *adapter, bool enable)
- return set_discoverable(adapter, enable, 0);
- }
+ if (mgmt_send(adapter->mgmt, opcode, adapter->dev_id, len, param,
+- property_set_mode_complete, data, g_free) > 0)
++ property_set_mode_complete, data, g_free) > 0)
+ return;
--static void discovery_remove(struct watch_client *client)
-+static void discovery_remove(struct watch_client *client, bool exit)
+ g_free(data);
+@@ -2875,6 +2960,7 @@ static void property_set_discoverable_timeout(
+ GDBusPendingPropertySet id, void *user_data)
{
- struct btd_adapter *adapter = client->adapter;
-
-@@ -1882,7 +1882,11 @@ static void discovery_remove(struct watch_client *client)
- set_filtered_discoverable(adapter, false);
- }
-
-- discovery_free(client);
-+ if (!exit && client->discovery_filter)
-+ adapter->set_filter_list = g_slist_prepend(
-+ adapter->set_filter_list, client);
-+ else
-+ discovery_free(client);
+ struct btd_adapter *adapter = user_data;
++ bool enabled;
+ dbus_uint32_t value;
- /*
- * If there are other client discoveries in progress, then leave
-@@ -1911,8 +1915,11 @@ static void stop_discovery_complete(uint8_t status, uint16_t length,
- goto done;
- }
+ dbus_message_iter_get_basic(iter, &value);
+@@ -2888,8 +2974,19 @@ static void property_set_discoverable_timeout(
+ g_dbus_emit_property_changed(dbus_conn, adapter->path,
+ ADAPTER_INTERFACE, "DiscoverableTimeout");
-- if (client->msg)
-+ if (client->msg) {
- g_dbus_send_reply(dbus_conn, client->msg, DBUS_TYPE_INVALID);
-+ dbus_message_unref(client->msg);
-+ client->msg = NULL;
++ if (adapter->pending_settings & MGMT_SETTING_DISCOVERABLE) {
++ if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
++ enabled = false;
++ else
++ enabled = true;
++ } else {
++ if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
++ enabled = true;
++ else
++ enabled = false;
+ }
- adapter->discovery_type = 0x00;
- adapter->discovery_enable = 0x00;
-@@ -1925,7 +1932,7 @@ static void stop_discovery_complete(uint8_t status, uint16_t length,
- trigger_passive_scanning(adapter);
-
- done:
-- discovery_remove(client);
-+ discovery_remove(client, false);
- }
-
- static int compare_sender(gconstpointer a, gconstpointer b)
-@@ -2146,14 +2153,14 @@ static int update_discovery_filter(struct btd_adapter *adapter)
- return -EINPROGRESS;
- }
-
--static int discovery_stop(struct watch_client *client)
-+static int discovery_stop(struct watch_client *client, bool exit)
- {
- struct btd_adapter *adapter = client->adapter;
- struct mgmt_cp_stop_discovery cp;
-
- /* Check if there are more client discovering */
- if (g_slist_next(adapter->discovery_list)) {
-- discovery_remove(client);
-+ discovery_remove(client, exit);
- update_discovery_filter(adapter);
- return 0;
- }
-@@ -2163,7 +2170,7 @@ static int discovery_stop(struct watch_client *client)
- * and so it is enough to send out the signal and just return.
- */
- if (adapter->discovery_enable == 0x00) {
-- discovery_remove(client);
-+ discovery_remove(client, exit);
- adapter->discovering = false;
- g_dbus_emit_property_changed(dbus_conn, adapter->path,
- ADAPTER_INTERFACE, "Discovering");
-@@ -2188,7 +2195,7 @@ static void discovery_disconnect(DBusConnection *conn, void *user_data)
-
- DBG("owner %s", client->owner);
-
-- discovery_stop(client);
-+ discovery_stop(client, true);
+- if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE)
++ if (enabled)
+ set_discoverable(adapter, 0x01, adapter->discoverable_timeout);
}
- /*
-@@ -2586,7 +2593,7 @@ static DBusMessage *stop_discovery(DBusConnection *conn,
- if (client->msg)
- return btd_error_busy(msg);
-
-- err = discovery_stop(client);
-+ err = discovery_stop(client, false);
- switch (err) {
- case 0:
- return dbus_message_new_method_return(msg);
--
-2.17.1
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5_5.50.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.50.bb
index 66271432f..4e443e5fb 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5_5.50.bb
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5_5.50.bb
@@ -1,7 +1,5 @@
require bluez5.inc
-REQUIRED_DISTRO_FEATURES = "bluez5"
-
SRC_URI[md5sum] = "8e35c67c81a55d3ad4c9f22280dae178"
SRC_URI[sha256sum] = "5ffcaae18bbb6155f1591be8c24898dc12f062075a40b538b745bfd477481911"
diff --git a/poky/meta/recipes-connectivity/connman/connman.inc b/poky/meta/recipes-connectivity/connman/connman.inc
index ae67079c7..ee0047992 100644
--- a/poky/meta/recipes-connectivity/connman/connman.inc
+++ b/poky/meta/recipes-connectivity/connman/connman.inc
@@ -13,7 +13,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
file://src/main.c;beginline=1;endline=20;md5=486a279a6ab0c8d152bcda3a5b5edc36"
-inherit autotools pkgconfig systemd update-rc.d bluetooth update-alternatives
+inherit autotools pkgconfig systemd update-rc.d update-alternatives
DEPENDS = "dbus glib-2.0 ppp readline"
@@ -42,7 +42,7 @@ PACKAGECONFIG ??= "wispr \
PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/ --with-tmpfilesdir=${sysconfdir}/tmpfiles.d/,--with-systemdunitdir='' --with-tmpfilesdir=''"
PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant, wpa-supplicant"
-PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, ${BLUEZ}, ${BLUEZ}"
+PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5, bluez5"
PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono, ofono"
PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp.inc b/poky/meta/recipes-connectivity/dhcp/dhcp.inc
index 3e65e5cf2..18bbaf884 100644
--- a/poky/meta/recipes-connectivity/dhcp/dhcp.inc
+++ b/poky/meta/recipes-connectivity/dhcp/dhcp.inc
@@ -21,7 +21,7 @@ SRC_URI = "http://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \
file://dhcpd.service file://dhcrelay.service \
file://dhcpd6.service \
"
-UPSTREAM_CHECK_URI = "ftp://ftp.isc.org/isc/dhcp/"
+UPSTREAM_CHECK_URI = "http://ftp.isc.org/isc/dhcp/"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.\d+\.(\d+?))/"
inherit autotools-brokensep systemd useradd update-rc.d
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/fix-buffer-fortify-tfpt.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/fix-buffer-fortify-tfpt.patch
new file mode 100644
index 000000000..a91913cb5
--- /dev/null
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/fix-buffer-fortify-tfpt.patch
@@ -0,0 +1,25 @@
+tftpd: Fix abort on error path
+
+When trying to fetch a non existent file, the app crashes with:
+
+*** buffer overflow detected ***:
+Aborted
+
+
+Upstream-Status: Submitted [https://www.mail-archive.com/bug-inetutils@gnu.org/msg03036.html https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91205]
+Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com>
+diff --git a/src/tftpd.c b/src/tftpd.c
+index 56002a0..144012f 100644
+--- a/src/tftpd.c
++++ b/src/tftpd.c
+@@ -864,9 +864,8 @@ nak (int error)
+ pe->e_msg = strerror (error - 100);
+ tp->th_code = EUNDEF; /* set 'undef' errorcode */
+ }
+- strcpy (tp->th_msg, pe->e_msg);
+ length = strlen (pe->e_msg);
+- tp->th_msg[length] = '\0';
++ memcpy(tp->th_msg, pe->e_msg, length + 1);
+ length += 5;
+ if (sendto (peer, buf, length, 0, (struct sockaddr *) &from, fromlen) != length)
+ syslog (LOG_ERR, "nak: %m\n");
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 ac2e017d8..684fbe09e 100644
--- a/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb
@@ -22,6 +22,7 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \
file://inetutils-1.9-PATH_PROCNET_DEV.patch \
file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \
file://0001-rcp-fix-to-work-with-large-files.patch \
+ file://fix-buffer-fortify-tfpt.patch \
"
SRC_URI[md5sum] = "04852c26c47cc8c6b825f2b74f191f52"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch b/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch
deleted file mode 100644
index b0c4a088f..000000000
--- a/poky/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 3835b1cc4a55361443c2b37dea688da652217635 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sun, 31 Mar 2019 17:32:07 +0200
-Subject: [PATCH] make configure cross compile safe
-
-According to Kevin Tian:
-Upstream-Status: Pending
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-Signed-off-by: Shane Wang <shane.wang@intel.com>
-
----
- configure | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index 45fcffb6..0c5c9146 100755
---- a/configure
-+++ b/configure
-@@ -3,6 +3,7 @@
- # This is not an autoconf generated configure
- #
- INCLUDE=${1:-"$PWD/include"}
-+SYSROOT=$1
-
- # Output file which is input to Makefile
- CONFIG=config.mk
-@@ -162,7 +163,7 @@ check_ipt_lib_dir()
- return
- fi
-
-- for dir in /lib /usr/lib /usr/local/lib; do
-+ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib; do
- for file in "xtables" "iptables"; do
- file="$dir/$file/lib*t_*so"
- if [ -f $file ]; then
---
-2.17.1
-
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb
deleted file mode 100644
index 6854a1300..000000000
--- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require iproute2.inc
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
- file://configure-cross.patch \
- file://0001-libc-compat.h-add-musl-workaround.patch \
- "
-
-SRC_URI[md5sum] = "a2b8349abf4ae00e92155fda22de4d5e"
-SRC_URI[sha256sum] = "dc5a980873eabf6b00c0be976b6e5562b1400d47d1d07d2ac35d5e5acbcf7bcf"
-
-# CFLAGS are computed in Makefile and reference CCOPTS
-#
-EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'"
diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.2.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.2.0.bb
new file mode 100644
index 000000000..1728cd69a
--- /dev/null
+++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.2.0.bb
@@ -0,0 +1,12 @@
+require iproute2.inc
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
+ file://0001-libc-compat.h-add-musl-workaround.patch \
+ "
+
+SRC_URI[md5sum] = "0cb2736e7bc2f56254a363d3d23703b7"
+SRC_URI[sha256sum] = "a5b95dec26353fc71dba9bb403e9343fad2a06bd69fb154a22a2aa2914f74da8"
+
+# CFLAGS are computed in Makefile and reference CCOPTS
+#
+EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'"
diff --git a/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb b/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb
deleted file mode 100644
index e12796351..000000000
--- a/poky/meta/recipes-connectivity/iw/iw_5.0.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "nl80211 based CLI configuration utility for wireless devices"
-DESCRIPTION = "iw is a new nl80211 based CLI configuration utility for \
-wireless devices. It supports almost all new drivers that have been added \
-to the kernel recently. "
-HOMEPAGE = "http://wireless.kernel.org/en/users/Documentation/iw"
-SECTION = "base"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774"
-
-DEPENDS = "libnl"
-
-SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \
- file://0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch \
- file://separate-objdir.patch \
-"
-
-SRC_URI[md5sum] = "a0a17ab1b20132c716bba9a4f9974ba6"
-SRC_URI[sha256sum] = "36fc7592dde7bec934df83cd53ef1f2c08ceec5cd58d07eb8f71cc6e8464013c"
-
-inherit pkgconfig
-
-EXTRA_OEMAKE = "\
- -f '${S}/Makefile' \
- \
- 'PREFIX=${prefix}' \
- 'SBINDIR=${sbindir}' \
- 'MANDIR=${mandir}' \
-"
-B = "${WORKDIR}/build"
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-}
diff --git a/poky/meta/recipes-connectivity/iw/iw_5.3.bb b/poky/meta/recipes-connectivity/iw/iw_5.3.bb
new file mode 100644
index 000000000..f7f13f5a3
--- /dev/null
+++ b/poky/meta/recipes-connectivity/iw/iw_5.3.bb
@@ -0,0 +1,32 @@
+SUMMARY = "nl80211 based CLI configuration utility for wireless devices"
+DESCRIPTION = "iw is a new nl80211 based CLI configuration utility for \
+wireless devices. It supports almost all new drivers that have been added \
+to the kernel recently. "
+HOMEPAGE = "http://wireless.kernel.org/en/users/Documentation/iw"
+SECTION = "base"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774"
+
+DEPENDS = "libnl"
+
+SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \
+ file://0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch \
+ file://separate-objdir.patch \
+"
+
+SRC_URI[md5sum] = "6d4d1c0ee34f3a7bda0e6aafcd7aaf31"
+SRC_URI[sha256sum] = "175abbfce86348c0b70e778c13a94c0bfc9abc7a506d2bd608261583aeedf64a"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = "\
+ -f '${S}/Makefile' \
+ \
+ 'PREFIX=${prefix}' \
+ 'SBINDIR=${sbindir}' \
+ 'MANDIR=${mandir}' \
+"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/poky/meta/recipes-connectivity/libpcap/libpcap_1.9.0.bb b/poky/meta/recipes-connectivity/libpcap/libpcap_1.9.0.bb
index 78361561e..77bc31af7 100644
--- a/poky/meta/recipes-connectivity/libpcap/libpcap_1.9.0.bb
+++ b/poky/meta/recipes-connectivity/libpcap/libpcap_1.9.0.bb
@@ -16,7 +16,7 @@ SRC_URI = "https://www.tcpdump.org/release/${BP}.tar.gz \
SRC_URI[md5sum] = "dffd65cb14406ab9841f421732eb0f33"
SRC_URI[sha256sum] = "2edb88808e5913fdaa8e9c1fcaf272e19b2485338742b5074b9fe44d68f37019"
-inherit autotools binconfig-disabled pkgconfig bluetooth
+inherit autotools binconfig-disabled pkgconfig
BINCONFIG = "${bindir}/pcap-config"
@@ -29,7 +29,7 @@ EXTRA_OECONF = " \
"
EXTRA_AUTORECONF += "--exclude=aclocal"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
"
PACKAGECONFIG[bluez5] = "--enable-bluetooth,--disable-bluetooth,bluez5"
diff --git a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
index 77adcebba..0b0bbab16 100644
--- a/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
+++ b/poky/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
@@ -3,11 +3,13 @@ HOMEPAGE = "http://live.gnome.org/NetworkManager/MobileBroadband/ServiceProvider
SECTION = "network"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=87964579b2a8ece4bc6744d2dc9a8b04"
-SRCREV = "c7def60ba50d9cc30a90f69f89d7e82243501e86"
-PV = "20190116"
+SRCREV = "22b49d86fb7aded2c195a9d49e5924da696b3228"
+PV = "20190618"
PE = "1"
SRC_URI = "git://gitlab.gnome.org/GNOME/mobile-broadband-provider-info.git;protocol=https"
S = "${WORKDIR}/git"
inherit autotools
+
+DEPENDS += "libxslt-native"
diff --git a/poky/meta/recipes-connectivity/neard/neard_0.16.bb b/poky/meta/recipes-connectivity/neard/neard_0.16.bb
index cc6af4e1c..7c124a3c0 100644
--- a/poky/meta/recipes-connectivity/neard/neard_0.16.bb
+++ b/poky/meta/recipes-connectivity/neard/neard_0.16.bb
@@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
file://src/near.h;beginline=1;endline=20;md5=358e4deefef251a4761e1ffacc965d13 \
"
-inherit autotools pkgconfig systemd update-rc.d bluetooth
+inherit autotools pkgconfig systemd update-rc.d
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
@@ -40,7 +40,7 @@ RDEPENDS_${PN} = "dbus"
# Bluez & Wifi are not mandatory except for handover
RRECOMMENDS_${PN} = "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi','wpa-supplicant', '', d)} \
"
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch
deleted file mode 100644
index a44d1bf2f..000000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4f115fc314646500f7b4178d7248a02654c7cd10 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 30 Nov 2018 16:47:57 -0800
-Subject: [PATCH] Do not pass null pointer to freeaddrinfo()
-
-Passing null pointer as input parameter to freeaddrinfo() is undefined
-behaviour, some libcs e.g. glibc might just call free() which does
-accept null pointer but other libcs e.g. musl might not and instead
-cause the program to segfault. Therefore do not rely on undefined
-behaviour instead make it deterministic
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- support/export/client.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-Index: nfs-utils-2.3.2/support/export/client.c
-===================================================================
---- nfs-utils-2.3.2.orig/support/export/client.c
-+++ nfs-utils-2.3.2/support/export/client.c
-@@ -309,7 +309,8 @@ client_lookup(char *hname, int canonical
- init_addrlist(clp, ai);
-
- out:
-- freeaddrinfo(ai);
-+ if (ai)
-+ freeaddrinfo(ai);
- return clp;
- }
-
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch
new file mode 100644
index 000000000..7b0f93535
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Fix-include-order-between-config.h-and-stat.h.patch
@@ -0,0 +1,156 @@
+From 2fbc62e2a13fc22b6ae4910e295a2c10fb790486 Mon Sep 17 00:00:00 2001
+From: Zoltan Karcagi <zkr7432@gmail.com>
+Date: Mon, 12 Aug 2019 13:27:16 -0400
+Subject: [PATCH] Fix include order between config.h and stat.h
+
+At least on Arch linux ARM, the definition of struct stat in stat.h depends
+on __USE_FILE_OFFSET64. This symbol comes from config.h when defined,
+therefore config.h must always be included before stat.h. Fix all
+occurrences where the order is wrong by moving config.h to the top.
+
+This fixes the client side error "Stale file handle" when mounting from
+a server running Arch Linux ARM.
+
+Signed-off-by: Zoltan Karcagi <zkr7432@gmail.com>
+Signed-off-by: Steve Dickson <steved@redhat.com>
+
+Upstream-Status: Backport
+[http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=2fbc62e2a13fc22b6ae4910e295a2c10fb790486]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ support/misc/nfsd_path.c | 5 ++++-
+ support/misc/xstat.c | 5 ++++-
+ support/nfs/conffile.c | 8 +++++++-
+ utils/blkmapd/device-discovery.c | 8 ++++----
+ utils/idmapd/idmapd.c | 8 ++++----
+ 5 files changed, 23 insertions(+), 11 deletions(-)
+
+diff --git a/support/misc/nfsd_path.c b/support/misc/nfsd_path.c
+index 84e4802..f078a66 100644
+--- a/support/misc/nfsd_path.c
++++ b/support/misc/nfsd_path.c
+@@ -1,3 +1,7 @@
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <errno.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -5,7 +9,6 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+
+-#include "config.h"
+ #include "conffile.h"
+ #include "xmalloc.h"
+ #include "xlog.h"
+diff --git a/support/misc/xstat.c b/support/misc/xstat.c
+index fa04788..4c997ee 100644
+--- a/support/misc/xstat.c
++++ b/support/misc/xstat.c
+@@ -1,3 +1,7 @@
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <errno.h>
+ #include <sys/types.h>
+ #include <fcntl.h>
+@@ -5,7 +9,6 @@
+ #include <sys/sysmacros.h>
+ #include <unistd.h>
+
+-#include "config.h"
+ #include "xstat.h"
+
+ #ifdef HAVE_FSTATAT
+diff --git a/support/nfs/conffile.c b/support/nfs/conffile.c
+index b6400be..6ba8a35 100644
+--- a/support/nfs/conffile.c
++++ b/support/nfs/conffile.c
+@@ -500,7 +500,7 @@ conf_readfile(const char *path)
+
+ if ((stat (path, &sb) == 0) || (errno != ENOENT)) {
+ char *new_conf_addr = NULL;
+- size_t sz = sb.st_size;
++ off_t sz;
+ int fd = open (path, O_RDONLY, 0);
+
+ if (fd == -1) {
+@@ -517,6 +517,11 @@ conf_readfile(const char *path)
+
+ /* only after we have the lock, check the file size ready to read it */
+ sz = lseek(fd, 0, SEEK_END);
++ if (sz < 0) {
++ xlog_warn("conf_readfile: unable to determine file size: %s",
++ strerror(errno));
++ goto fail;
++ }
+ lseek(fd, 0, SEEK_SET);
+
+ new_conf_addr = malloc(sz+1);
+@@ -2162,6 +2167,7 @@ conf_write(const char *filename, const char *section, const char *arg,
+ ret = 0;
+
+ cleanup:
++ flush_outqueue(&inqueue, NULL);
+ flush_outqueue(&outqueue, NULL);
+
+ if (buff)
+diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
+index e811703..f5f9b10 100644
+--- a/utils/blkmapd/device-discovery.c
++++ b/utils/blkmapd/device-discovery.c
+@@ -26,6 +26,10 @@
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif /* HAVE_CONFIG_H */
++
+ #include <sys/sysmacros.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+@@ -51,10 +55,6 @@
+ #include <errno.h>
+ #include <libdevmapper.h>
+
+-#ifdef HAVE_CONFIG_H
+-#include "config.h"
+-#endif /* HAVE_CONFIG_H */
+-
+ #include "device-discovery.h"
+ #include "xcommon.h"
+ #include "nfslib.h"
+diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
+index 62e37b8..267acea 100644
+--- a/utils/idmapd/idmapd.c
++++ b/utils/idmapd/idmapd.c
+@@ -34,6 +34,10 @@
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif /* HAVE_CONFIG_H */
++
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/inotify.h>
+@@ -62,10 +66,6 @@
+ #include <libgen.h>
+ #include <nfsidmap.h>
+
+-#ifdef HAVE_CONFIG_H
+-#include "config.h"
+-#endif /* HAVE_CONFIG_H */
+-
+ #include "xlog.h"
+ #include "conffile.h"
+ #include "queue.h"
+--
+2.7.4
+
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
index aa551ebd1..fcb0e99b3 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch
@@ -22,25 +22,28 @@ so rename ../support/misc/file.c to ../support/misc/misc.c.
Upstream-Status: Submitted[https://marc.info/?l=linux-nfs&m=154502780423058&w=2]
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+
+Rebase it.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
support/misc/Makefile.am | 2 +-
- support/misc/file.c | 111 -----------------------------------------------
- support/misc/misc.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++
+ support/misc/file.c | 111 ---------------------------------------------------------------------------------------------------------------
+ support/misc/misc.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
support/nsm/Makefile.am | 2 +-
4 files changed, 113 insertions(+), 113 deletions(-)
- delete mode 100644 support/misc/file.c
- create mode 100644 support/misc/misc.c
diff --git a/support/misc/Makefile.am b/support/misc/Makefile.am
-index 8936b0d..d4c1f76 100644
+index f9993e3..8b0e9db 100644
--- a/support/misc/Makefile.am
+++ b/support/misc/Makefile.am
-@@ -1,6 +1,6 @@
+@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in
noinst_LIBRARIES = libmisc.a
--libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c file.c
-+libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c misc.c
+-libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c file.c \
++libmisc_a_SOURCES = tcpwrapper.c from_local.c mountpoint.c misc.c \
+ nfsd_path.c workqueue.c xstat.c
MAINTAINERCLEANFILES = Makefile.in
diff --git a/support/misc/file.c b/support/misc/file.c
@@ -290,6 +293,3 @@ index 8f5874e..68f1a46 100644
BUILT_SOURCES = $(GENFILES)
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch
deleted file mode 100644
index 906ac0f90..000000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-Makefile.am-update-the-path-of-libnfs.a.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From fcece65d1b713eaeef41706898440302f8ce92d9 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <Mingli.Yu@windriver.com>
-Date: Thu, 12 Jul 2018 15:19:41 +0800
-Subject: [PATCH] Makefile.am: update the path of libnfs.a
-
-The libnfs.a is under ../support/nfs/.libs/ now,
-update the reference path accordingly to fix below
-build error when run "make -C tests statdb_dump":
-| make: *** No rule to make target '../support/nfs/libnfs.a', needed by 'statdb_dump'. Stop.
-
-And below error when run "make -C tests/nsm_client nsm_client"
-| make: *** No rule to make target '../../support/nfs/libnfs.a', needed by 'nsm_client'. Stop.
-
-Upstream-Status: Submitted[https://marc.info/?l=linux-nfs&m=154502636522745&w=2]
-
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- tests/Makefile.am | 2 +-
- tests/nsm_client/Makefile.am | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 1f96264..74aa629 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -3,7 +3,7 @@
- check_PROGRAMS = statdb_dump
- statdb_dump_SOURCES = statdb_dump.c
-
--statdb_dump_LDADD = ../support/nfs/libnfs.a \
-+statdb_dump_LDADD = ../support/nfs/.libs/libnfs.a \
- ../support/nsm/libnsm.a $(LIBCAP)
-
- SUBDIRS = nsm_client
-diff --git a/tests/nsm_client/Makefile.am b/tests/nsm_client/Makefile.am
-index a8fc131..43db9c2 100644
---- a/tests/nsm_client/Makefile.am
-+++ b/tests/nsm_client/Makefile.am
-@@ -13,7 +13,7 @@ check_PROGRAMS = nsm_client
- nsm_client_SOURCES = $(GENFILES) nsm_client.c
-
- BUILT_SOURCES = $(GENFILES)
--nsm_client_LDADD = ../../support/nfs/libnfs.a \
-+nsm_client_LDADD = ../../support/nfs/.libs/libnfs.a \
- ../../support/nsm/libnsm.a $(LIBCAP) $(LIBTIRPC)
-
- if CONFIG_RPCGEN
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch
index 17aabb9e4..d14f0789f 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch
@@ -26,18 +26,15 @@ Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index e82ff14..d0cc5d5 100644
+index 50002b4..aebff01 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -548,7 +548,7 @@ my_am_cflags="\
+@@ -582,7 +582,7 @@ my_am_cflags="\
-Wall \
-Wextra \
- -Werror=strict-prototypes \
+ $rpcgen_cflags \
- -Werror=missing-prototypes \
+ -Wmissing-prototypes \
-Werror=missing-declarations \
-Werror=format=2 \
-Werror=undef \
---
-2.7.4
-
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
index 822939f0d..f13d7b380 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
@@ -12,20 +12,28 @@ instead but forgot to update the mount.nfs helper 'start-statd' accordingly.
Upstream-Status: Inappropriate [other]
Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
+
+Rebase it.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
- utils/statd/start-statd | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ utils/statd/start-statd | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
-Index: nfs-utils-2.1.1/utils/statd/start-statd
-===================================================================
---- nfs-utils-2.1.1.orig/utils/statd/start-statd
-+++ nfs-utils-2.1.1/utils/statd/start-statd
-@@ -28,7 +28,7 @@ fi
+diff --git a/utils/statd/start-statd b/utils/statd/start-statd
+index af5c950..df9b9be 100755
+--- a/utils/statd/start-statd
++++ b/utils/statd/start-statd
+@@ -28,10 +28,10 @@ fi
# First try systemd if it's installed.
if [ -d /run/systemd/system ]; then
# Quit only if the call worked.
-- systemctl start rpc-statd.service && exit
-+ systemctl start nfs-statd.service && exit
+- if systemctl start rpc-statd.service; then
++ if systemctl start nfs-statd.service; then
+ # Ensure systemd knows not to stop rpc.statd or its dependencies
+ # on 'systemctl isolate ..'
+- systemctl add-wants --runtime remote-fs.target rpc-statd.service
++ systemctl add-wants --runtime remote-fs.target nfs-statd.service
+ exit 0
+ fi
fi
-
- cd /
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
index 27ea58d36..c01415de8 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
@@ -1,6 +1,7 @@
[Unit]
Description=NFS Mount Daemon
DefaultDependencies=no
+After=rpcbind.socket
Requires=proc-fs-nfsd.mount
After=proc-fs-nfsd.mount
After=network.target local-fs.target
@@ -10,6 +11,7 @@ ConditionPathExists=@SYSCONFDIR@/exports
[Service]
EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
ExecStart=@SBINDIR@/rpc.mountd -F $MOUNTD_OPTS
+LimitNOFILE=@HIGH_RLIMIT_NOFILE@
[Install]
WantedBy=multi-user.target
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
index 6e196b8c8..4fa64e199 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
@@ -8,6 +8,7 @@ After=network.target nss-lookup.target rpcbind.service
[Service]
EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
ExecStart=@SBINDIR@/rpc.statd -F $STATD_OPTS
+LimitNOFILE=@HIGH_RLIMIT_NOFILE@
[Install]
WantedBy=multi-user.target
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch
deleted file mode 100644
index 25ca41515..000000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-limits.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-Fixed:
-| file.c: In function 'generic_make_pathname':
-| file.c:48:13: error: 'PATH_MAX' undeclared (first use in this function); did you mean 'RAND_MAX'?
-| if (size > PATH_MAX)
-| ^~~~~~~~
-[snip]
-
-Upstream-Status: Pending [https://git.alpinelinux.org/cgit/aports/tree/main/nfs-utils/limits.patch?id=f6734a77d3caee73325f8cc1f77d1b5117a75096]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- support/export/export.c | 1 +
- support/export/xtab.c | 1 +
- support/misc/file.c | 1 +
- support/nfs/xcommon.c | 1 +
- support/nsm/file.c | 1 +
- utils/blkmapd/device-discovery.c | 1 +
- utils/gssd/krb5_util.c | 1 +
- utils/mountd/cache.c | 1 +
- utils/mountd/mountd.c | 1 +
- utils/mountd/rmtab.c | 1 +
- 10 files changed, 10 insertions(+)
-
-diff --git a/support/export/export.c b/support/export/export.c
---- a/support/export/export.c
-+++ b/support/export/export.c
-@@ -17,6 +17,7 @@
- #include <stdlib.h>
- #include <dirent.h>
- #include <errno.h>
-+#include <limits.h>
- #include "xmalloc.h"
- #include "nfslib.h"
- #include "exportfs.h"
-diff --git a/support/export/xtab.c b/support/export/xtab.c
---- a/support/export/xtab.c
-+++ b/support/export/xtab.c
-@@ -18,6 +18,7 @@
- #include <sys/stat.h>
- #include <errno.h>
- #include <libgen.h>
-+#include <limits.h>
-
- #include "nfslib.h"
- #include "exportfs.h"
-diff --git a/support/misc/file.c b/support/misc/file.c
---- a/support/misc/file.c
-+++ b/support/misc/file.c
-@@ -27,6 +27,7 @@
- #include <dirent.h>
- #include <stdlib.h>
- #include <stdbool.h>
-+#include <limits.h>
-
- #include "xlog.h"
- #include "misc.h"
-diff --git a/support/nfs/xcommon.c b/support/nfs/xcommon.c
---- a/support/nfs/xcommon.c
-+++ b/support/nfs/xcommon.c
-@@ -16,6 +16,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <limits.h>
-
- #include "xcommon.h"
- #include "nls.h" /* _() */
-diff --git a/support/nsm/file.c b/support/nsm/file.c
---- a/support/nsm/file.c
-+++ b/support/nsm/file.c
-@@ -85,6 +85,7 @@
- #include <fcntl.h>
- #include <dirent.h>
- #include <grp.h>
-+#include <limits.h>
-
- #include "xlog.h"
- #include "nsm.h"
-diff --git a/utils/blkmapd/device-discovery.c b/utils/blkmapd/device-discovery.c
---- a/utils/blkmapd/device-discovery.c
-+++ b/utils/blkmapd/device-discovery.c
-@@ -49,6 +49,7 @@
- #include <unistd.h>
- #include <libgen.h>
- #include <errno.h>
-+#include <limits.h>
- #include <libdevmapper.h>
-
- #ifdef HAVE_CONFIG_H
-diff --git a/utils/gssd/krb5_util.c b/utils/gssd/krb5_util.c
---- a/utils/gssd/krb5_util.c
-+++ b/utils/gssd/krb5_util.c
-@@ -120,6 +120,7 @@
- #endif
- #include <krb5.h>
- #include <rpc/auth_gss.h>
-+#include <limits.h>
-
- #include "gssd.h"
- #include "err_util.h"
-diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
---- a/utils/mountd/cache.c
-+++ b/utils/mountd/cache.c
-@@ -26,6 +26,7 @@
- #include <pwd.h>
- #include <grp.h>
- #include <mntent.h>
-+#include <limits.h>
- #include "misc.h"
- #include "nfslib.h"
- #include "exportfs.h"
-diff --git a/utils/mountd/mountd.c b/utils/mountd/mountd.c
---- a/utils/mountd/mountd.c
-+++ b/utils/mountd/mountd.c
-@@ -22,6 +22,7 @@
- #include <fcntl.h>
- #include <sys/resource.h>
- #include <sys/wait.h>
-+#include <limits.h>
-
- #include "conffile.h"
- #include "xmalloc.h"
-diff --git a/utils/mountd/rmtab.c b/utils/mountd/rmtab.c
---- a/utils/mountd/rmtab.c
-+++ b/utils/mountd/rmtab.c
-@@ -16,6 +16,7 @@
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <netdb.h>
-+#include <limits.h>
-
- #include "misc.h"
- #include "exportfs.h"
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
index 22002fadc..921f5edc8 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-musl-res_querydomain.patch
@@ -11,30 +11,19 @@ Upstream-Status: Pending [https://github.com/alpinelinux/aports/blob/master/main
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
- configure.ac | 13 ++++++-------
- 1 file changed, 6 insertions(+), 7 deletions(-)
+ configure.ac | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 276dec3..760238b 100644
+index 50002b4..dcadb23 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -408,7 +408,7 @@ if test "$enable_gss" = yes; then
- fi
-
- dnl libdnsidmap specific checks
--AC_CHECK_LIB([resolv], [__res_querydomain], , AC_MSG_ERROR(res_querydomain needed))
-+AC_CHECK_LIB([resolv], [res_querydomain], , AC_MSG_ERROR(res_querydomain needed))
-
- AC_ARG_ENABLE([ldap],
- [AS_HELP_STRING([--disable-ldap],[Disable support for LDAP @<:default=detect@:>@])])
-@@ -547,11 +547,11 @@ my_am_cflags="\
- -pipe \
+@@ -582,10 +582,10 @@ my_am_cflags="\
-Wall \
-Wextra \
-- -Werror=strict-prototypes \
+ $rpcgen_cflags \
- -Werror=missing-prototypes \
- -Werror=missing-declarations \
-+ -Wstrict-prototypes \
+ -Wmissing-prototypes \
+ -Wmissing-declarations \
-Werror=format=2 \
@@ -43,7 +32,7 @@ index 276dec3..760238b 100644
-Werror=missing-include-dirs \
-Werror=strict-aliasing=2 \
-Werror=init-self \
-@@ -579,10 +579,9 @@ AC_DEFUN([CHECK_CCSUPPORT], [
+@@ -614,10 +614,9 @@ AC_DEFUN([CHECK_CCSUPPORT], [
CHECK_CCSUPPORT([-Werror=format-overflow=2], [flg1])
CHECK_CCSUPPORT([-Werror=int-conversion], [flg2])
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb
deleted file mode 100644
index ac4437b92..000000000
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.3.3.bb
+++ /dev/null
@@ -1,153 +0,0 @@
-SUMMARY = "userspace utilities for kernel nfs"
-DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \
-NFS server and related tools."
-HOMEPAGE = "http://nfs.sourceforge.net/"
-SECTION = "console/network"
-
-LICENSE = "MIT & GPLv2+ & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
-
-# util-linux for libblkid
-DEPENDS = "libcap libevent util-linux sqlite3 libtirpc"
-RDEPENDS_${PN} = "${PN}-client bash"
-RRECOMMENDS_${PN} = "kernel-module-nfsd"
-
-inherit useradd
-
-USERADD_PACKAGES = "${PN}-client"
-USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \
- --shell /bin/false --user-group rpcuser"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \
- file://nfsserver \
- file://nfscommon \
- file://nfs-utils.conf \
- file://nfs-server.service \
- file://nfs-mountd.service \
- file://nfs-statd.service \
- file://proc-fs-nfsd.mount \
- file://nfs-utils-debianize-start-statd.patch \
- file://bugfix-adjust-statd-service-name.patch \
- file://nfs-utils-musl-limits.patch \
- file://0001-cacheio-use-intmax_t-for-formatted-IO.patch \
- file://0001-Do-not-pass-null-pointer-to-freeaddrinfo.patch \
- file://clang-format-string.patch \
- file://0001-Makefile.am-update-the-path-of-libnfs.a.patch \
- file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
- file://0001-Don-t-build-tools-with-CC_FOR_BUILD.patch \
-"
-SRC_URI_append_libc-glibc = " file://0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch"
-SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch"
-
-SRC_URI[md5sum] = "b6c9c032995af1c08fea9fbcc1ce33e9"
-SRC_URI[sha256sum] = "f68b34793831b05f1fd5760d6bdec92772c7684177586a99a61e7b444f336322"
-
-# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
-# pull in the remainder of the dependencies.
-
-INITSCRIPT_PACKAGES = "${PN} ${PN}-client"
-INITSCRIPT_NAME = "nfsserver"
-INITSCRIPT_PARAMS = "defaults"
-INITSCRIPT_NAME_${PN}-client = "nfscommon"
-INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21"
-
-inherit autotools-brokensep update-rc.d systemd pkgconfig
-
-SYSTEMD_PACKAGES = "${PN} ${PN}-client"
-SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service"
-SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
-
-# --enable-uuid is need for cross-compiling
-EXTRA_OECONF = "--with-statduser=rpcuser \
- --enable-mountconfig \
- --enable-libmount-mount \
- --enable-uuid \
- --disable-gss \
- --disable-nfsdcltrack \
- --with-statdpath=/var/lib/nfs/statd \
- "
-
-CFLAGS += "-Wno-error=format-overflow"
-
-PACKAGECONFIG ??= "tcp-wrappers \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-PACKAGECONFIG_remove_libc-musl = "tcp-wrappers"
-PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-# libdevmapper is available in meta-oe
-PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper"
-# keyutils is available in meta-security
-PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils"
-
-PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats"
-
-CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \
- ${localstatedir}/lib/nfs/rmtab \
- ${localstatedir}/lib/nfs/xtab \
- ${localstatedir}/lib/nfs/statd/state \
- ${sysconfdir}/nfsmount.conf"
-
-FILES_${PN}-client = "${sbindir}/*statd \
- ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
- ${sbindir}/showmount ${sbindir}/nfsstat \
- ${localstatedir}/lib/nfs \
- ${sysconfdir}/nfs-utils.conf \
- ${sysconfdir}/nfsmount.conf \
- ${sysconfdir}/init.d/nfscommon \
- ${systemd_unitdir}/system/nfs-statd.service"
-RDEPENDS_${PN}-client = "${PN}-mount rpcbind"
-
-FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*"
-
-FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
-RDEPENDS_${PN}-stats = "python3-core"
-
-FILES_${PN} += "${systemd_unitdir}"
-
-do_configure_prepend() {
- sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
- ${S}/utils/mount/Makefile.am
-
- sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
- ${S}/utils/osd_login/Makefile.am
-}
-
-# Make clean needed because the package comes with
-# precompiled 64-bit objects that break the build
-do_compile_prepend() {
- make clean
-}
-
-do_install_append () {
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
- install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
-
- install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
- install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir}
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SBINDIR@,${sbindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- ${D}${systemd_unitdir}/system/*.service
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/
- install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
- ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount
- fi
-
- # kernel code as of 3.8 hard-codes this path as a default
- install -d ${D}/var/lib/nfs/v4recovery
-
- # chown the directories and files
- chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd
- chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state
-
- # Make python tools use python 3
- sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat
-
-}
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb
new file mode 100644
index 000000000..7e80354e4
--- /dev/null
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.4.1.bb
@@ -0,0 +1,152 @@
+SUMMARY = "userspace utilities for kernel nfs"
+DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \
+NFS server and related tools."
+HOMEPAGE = "http://nfs.sourceforge.net/"
+SECTION = "console/network"
+
+LICENSE = "MIT & GPLv2+ & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
+
+# util-linux for libblkid
+DEPENDS = "libcap libevent util-linux sqlite3 libtirpc"
+RDEPENDS_${PN} = "${PN}-client bash"
+RRECOMMENDS_${PN} = "kernel-module-nfsd"
+
+inherit useradd
+
+USERADD_PACKAGES = "${PN}-client"
+USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \
+ --shell /bin/false --user-group rpcuser"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \
+ file://nfsserver \
+ file://nfscommon \
+ file://nfs-utils.conf \
+ file://nfs-server.service \
+ file://nfs-mountd.service \
+ file://nfs-statd.service \
+ file://proc-fs-nfsd.mount \
+ file://nfs-utils-debianize-start-statd.patch \
+ file://bugfix-adjust-statd-service-name.patch \
+ file://0001-cacheio-use-intmax_t-for-formatted-IO.patch \
+ file://clang-format-string.patch \
+ file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
+ file://0001-Don-t-build-tools-with-CC_FOR_BUILD.patch \
+ file://0001-Fix-include-order-between-config.h-and-stat.h.patch \
+"
+SRC_URI_append_libc-glibc = " file://0001-configure.ac-Do-not-fatalize-Wmissing-prototypes.patch"
+SRC_URI_append_libc-musl = " file://nfs-utils-musl-res_querydomain.patch"
+
+SRC_URI[md5sum] = "161efe469ec1b06f1c750bd87f8ba6dd"
+SRC_URI[sha256sum] = "85274ada94479b1beba9f8eeffd19f477c53a6710b9998d1192c807854087736"
+
+# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
+# pull in the remainder of the dependencies.
+
+INITSCRIPT_PACKAGES = "${PN} ${PN}-client"
+INITSCRIPT_NAME = "nfsserver"
+INITSCRIPT_PARAMS = "defaults"
+INITSCRIPT_NAME_${PN}-client = "nfscommon"
+INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21"
+
+inherit autotools-brokensep update-rc.d systemd pkgconfig
+
+SYSTEMD_PACKAGES = "${PN} ${PN}-client"
+SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service"
+SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
+
+# --enable-uuid is need for cross-compiling
+EXTRA_OECONF = "--with-statduser=rpcuser \
+ --enable-mountconfig \
+ --enable-libmount-mount \
+ --enable-uuid \
+ --disable-gss \
+ --disable-nfsdcltrack \
+ --with-statdpath=/var/lib/nfs/statd \
+ "
+
+CFLAGS += "-Wno-error=format-overflow"
+
+PACKAGECONFIG ??= "tcp-wrappers \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+PACKAGECONFIG_remove_libc-musl = "tcp-wrappers"
+PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+# libdevmapper is available in meta-oe
+PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper"
+# keyutils is available in meta-security
+PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils"
+
+PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats"
+
+CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \
+ ${localstatedir}/lib/nfs/rmtab \
+ ${localstatedir}/lib/nfs/xtab \
+ ${localstatedir}/lib/nfs/statd/state \
+ ${sysconfdir}/nfsmount.conf"
+
+FILES_${PN}-client = "${sbindir}/*statd \
+ ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
+ ${sbindir}/showmount ${sbindir}/nfsstat \
+ ${localstatedir}/lib/nfs \
+ ${sysconfdir}/nfs-utils.conf \
+ ${sysconfdir}/nfsmount.conf \
+ ${sysconfdir}/init.d/nfscommon \
+ ${systemd_unitdir}/system/nfs-statd.service"
+RDEPENDS_${PN}-client = "${PN}-mount rpcbind"
+
+FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*"
+
+FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
+RDEPENDS_${PN}-stats = "python3-core"
+
+FILES_${PN} += "${systemd_unitdir}"
+
+do_configure_prepend() {
+ sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
+ ${S}/utils/mount/Makefile.am
+}
+
+# Make clean needed because the package comes with
+# precompiled 64-bit objects that break the build
+do_compile_prepend() {
+ make clean
+}
+
+# Works on systemd only
+HIGH_RLIMIT_NOFILE ??= "4096"
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
+ install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
+
+ install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
+ install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir}
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \
+ ${D}${systemd_unitdir}/system/*.service
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/
+ install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
+ ln -sf ../proc-fs-nfsd.mount ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount
+ fi
+
+ # kernel code as of 3.8 hard-codes this path as a default
+ install -d ${D}/var/lib/nfs/v4recovery
+
+ # chown the directories and files
+ chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd
+ chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state
+
+ # Make python tools use python 3
+ sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${sbindir}/mountstats ${D}${sbindir}/nfsiostat
+
+}
diff --git a/poky/meta/recipes-connectivity/ofono/ofono.inc b/poky/meta/recipes-connectivity/ofono/ofono.inc
index e1185c6e6..bdbb0b5bc 100644
--- a/poky/meta/recipes-connectivity/ofono/ofono.inc
+++ b/poky/meta/recipes-connectivity/ofono/ofono.inc
@@ -5,7 +5,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
file://src/ofono.h;beginline=1;endline=20;md5=3ce17d5978ef3445def265b98899c2ee"
-inherit autotools pkgconfig update-rc.d systemd bluetooth gobject-introspection-data
+inherit autotools pkgconfig update-rc.d systemd gobject-introspection-data
DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell"
@@ -17,7 +17,7 @@ PACKAGECONFIG ??= "\
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
"
PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir="
-PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, ${BLUEZ}"
+PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, bluez5"
EXTRA_OECONF += "--enable-test --enable-external-ell"
@@ -35,5 +35,5 @@ RRECOMMENDS_${PN} += "kernel-module-tun mobile-broadband-provider-info"
FILES_${PN} += "${systemd_unitdir}"
FILES_${PN}-tests = "${libdir}/${BPN}/test"
-RDEPENDS_${PN}-tests = "python3 python3-dbus"
+RDEPENDS_${PN}-tests = "python3-core python3-dbus"
RDEPENDS_${PN}-tests += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-pygobject', '', d)}"
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
deleted file mode 100644
index 77073ddb1..000000000
--- a/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-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-build-Add-check-for-explicit_bzero-support.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Add-check-for-explicit_bzero-support.patch
deleted file mode 100644
index 4676bb766..000000000
--- a/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Add-check-for-explicit_bzero-support.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From dff595671bf5a46f7c9231966a6cd7d2a0183076 Mon Sep 17 00:00:00 2001
-From: Marcel Holtmann <marcel@holtmann.org>
-Date: Wed, 15 May 2019 09:39:44 +0200
-Subject: build: Add check for explicit_bzero support
-
-Upstream-Status: Backport
-Signed-off-by: Adrian Bunk <bunk@stusta.de>
----
- configure.ac | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index bacb7ac5..cad35c5d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -54,6 +54,8 @@ AC_ARG_ENABLE(pie, AC_HELP_STRING([--enable-pie],
- fi
- ])
-
-+AC_CHECK_FUNCS(explicit_bzero)
-+
- AC_CHECK_FUNC(signalfd, dummy=yes,
- AC_MSG_ERROR(signalfd support is required))
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Fix-a-race-condition.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Fix-a-race-condition.patch
deleted file mode 100644
index 2e2aa8826..000000000
--- a/poky/meta/recipes-connectivity/ofono/ofono/0001-build-Fix-a-race-condition.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 3e43e3342f3fada1624a28500a5337019fed7d89 Mon Sep 17 00:00:00 2001
-From: Adrian Bunk <bunk@kernel.org>
-Date: Thu, 9 May 2019 12:19:51 +0300
-Subject: build: Fix a race condition
-
-ell/ell.h was written before ell/ existed
-
-Upstream-Status: Backport
-Signed-off-by: Adrian Bunk <bunk@stusta.de>
----
- Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile.am b/Makefile.am
-index a569c4a3..d2e310d5 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1107,6 +1107,7 @@ ell/internal: Makefile
- done > $@
-
- ell/ell.h: Makefile
-+ $(AM_V_at)$(MKDIR_P) ell
- $(AM_V_at)echo -n > $@
- $(AM_V_GEN)for f in $(ell_headers) ; do \
- echo "#include <$$f>" >> $@ ; \
---
-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
deleted file mode 100644
index f9858e7f2..000000000
--- a/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-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_1.29.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb
deleted file mode 100644
index 900a6d26d..000000000
--- a/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require ofono.inc
-
-SRC_URI = "\
- ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
- 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/ofono/ofono_1.30.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.30.bb
new file mode 100644
index 000000000..c916cb1b2
--- /dev/null
+++ b/poky/meta/recipes-connectivity/ofono/ofono_1.30.bb
@@ -0,0 +1,9 @@
+require ofono.inc
+
+SRC_URI = "\
+ ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
+ file://ofono \
+ file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \
+"
+SRC_URI[md5sum] = "2b1ce11a4db1f4b5c8cd96eb7e96ba0c"
+SRC_URI[sha256sum] = "8079735efc5d7f33be9e792e791f2f7ff75c31ce67d477b994673e32319eec5c"
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb
index 35cdf71eb..01eaecd4e 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb
@@ -5,7 +5,7 @@ Ssh (Secure Shell) is a program for logging into a remote machine \
and for executing commands on a remote machine."
HOMEPAGE = "http://www.openssh.com/"
SECTION = "console/network"
-LICENSE = "BSD"
+LICENSE = "BSD & ISC & MIT"
LIC_FILES_CHKSUM = "file://LICENCE;md5=429658c6612f3a9b1293782366ab29d8"
DEPENDS = "zlib openssl virtual/crypt"
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
deleted file mode 100644
index 9a90a68cf..000000000
--- a/poky/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-error-for-aarch64-big-endian.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-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_1.1.1c.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb
deleted file mode 100644
index 011740731..000000000
--- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb
+++ /dev/null
@@ -1,202 +0,0 @@
-SUMMARY = "Secure Socket Layer"
-DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
-HOMEPAGE = "http://www.openssl.org/"
-BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
-SECTION = "libs/network"
-
-# "openssl" here actually means both OpenSSL and SSLeay licenses apply
-# (see meta/files/common-licenses/OpenSSL to which "openssl" is SPDXLICENSEMAPped)
-LICENSE = "openssl"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d343e62fc9c833710bbbed25f27364c8"
-
-DEPENDS = "hostperl-runtime-native"
-
-SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
- file://run-ptest \
- file://0001-skip-test_symbol_presence.patch \
- file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
- file://afalg.patch \
- file://0001-Fix-build-error-for-aarch64-big-endian.patch \
- "
-
-SRC_URI_append_class-nativesdk = " \
- file://environment.d-openssl.sh \
- "
-
-SRC_URI[md5sum] = "15e21da6efe8aa0e0768ffd8cd37a5f6"
-SRC_URI[sha256sum] = "f6fb3079ad15076154eda9413fed42877d668e7069d9b87396d0804fdb3f4c90"
-
-inherit lib_package multilib_header ptest
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG_class-nativesdk = ""
-
-PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux"
-
-B = "${WORKDIR}/build"
-do_configure[cleandirs] = "${B}"
-
-#| ./libcrypto.so: undefined reference to `getcontext'
-#| ./libcrypto.so: undefined reference to `setcontext'
-#| ./libcrypto.so: undefined reference to `makecontext'
-EXTRA_OECONF_append_libc-musl = " no-async"
-EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm"
-
-# This prevents openssl from using getrandom() which is not available on older glibc versions
-# (native versions can be built with newer glibc, but then relocated onto a system with older glibc)
-EXTRA_OECONF_class-native = "--with-rand-seed=devrandom"
-EXTRA_OECONF_class-nativesdk = "--with-rand-seed=devrandom"
-
-# Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate.
-CFLAGS_append_class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
-CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
-
-do_configure () {
- os=${HOST_OS}
- case $os in
- linux-gnueabi |\
- linux-gnuspe |\
- linux-musleabi |\
- linux-muslspe |\
- linux-musl )
- os=linux
- ;;
- *)
- ;;
- esac
- target="$os-${HOST_ARCH}"
- case $target in
- linux-arm*)
- target=linux-armv4
- ;;
- linux-aarch64*)
- target=linux-aarch64
- ;;
- linux-i?86 | linux-viac3)
- target=linux-x86
- ;;
- linux-gnux32-x86_64 | linux-muslx32-x86_64 )
- target=linux-x32
- ;;
- linux-gnu64-x86_64)
- target=linux-x86_64
- ;;
- linux-mips | linux-mipsel)
- # specifying TARGET_CC_ARCH prevents openssl from (incorrectly) adding target architecture flags
- target="linux-mips32 ${TARGET_CC_ARCH}"
- ;;
- linux-gnun32-mips*)
- target=linux-mips64
- ;;
- linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el)
- target=linux64-mips64
- ;;
- linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
- target=linux-generic32
- ;;
- linux-powerpc)
- target=linux-ppc
- ;;
- linux-powerpc64)
- target=linux-ppc64
- ;;
- linux-riscv32)
- target=linux-generic32
- ;;
- linux-riscv64)
- target=linux-generic64
- ;;
- linux-sparc | linux-supersparc)
- target=linux-sparcv9
- ;;
- esac
-
- useprefix=${prefix}
- if [ "x$useprefix" = "x" ]; then
- useprefix=/
- fi
- # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
- # environment variables set by bitbake. Adjust the environment variables instead.
- PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \
- perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target
- perl ${B}/configdata.pm --dump
-}
-
-do_install () {
- oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install
-
- oe_multilib_header openssl/opensslconf.h
-
- # Create SSL structure for packages such as ca-certificates which
- # contain hard-coded paths to /etc/ssl. Debian does the same.
- install -d ${D}${sysconfdir}/ssl
- mv ${D}${libdir}/ssl-1.1/certs \
- ${D}${libdir}/ssl-1.1/private \
- ${D}${libdir}/ssl-1.1/openssl.cnf \
- ${D}${sysconfdir}/ssl/
-
- # Although absolute symlinks would be OK for the target, they become
- # invalid if native or nativesdk are relocated from sstate.
- ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-1.1/certs
- ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-1.1/private
- ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-1.1/openssl.cnf
-}
-
-do_install_append_class-native () {
- create_wrapper ${D}${bindir}/openssl \
- OPENSSL_CONF=${libdir}/ssl-1.1/openssl.cnf \
- SSL_CERT_DIR=${libdir}/ssl-1.1/certs \
- SSL_CERT_FILE=${libdir}/ssl-1.1/cert.pem \
- OPENSSL_ENGINES=${libdir}/ssl-1.1/engines
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
- install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
- sed 's|/usr/lib/ssl/|/usr/lib/ssl-1.1/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
-}
-
-PTEST_BUILD_HOST_FILES += "configdata.pm"
-PTEST_BUILD_HOST_PATTERN = "perl_version ="
-do_install_ptest () {
- # Prune the build tree
- rm -f ${B}/fuzz/*.* ${B}/test/*.*
-
- cp ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH}
- 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}/
- ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/
-
- install -d ${D}${PTEST_PATH}/apps
- ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps
- install -m644 ${S}/apps/*.pem ${S}/apps/*.srl ${S}/apps/openssl.cnf ${D}${PTEST_PATH}/apps
- install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps
-
- install -d ${D}${PTEST_PATH}/engines
- install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines
-}
-
-# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
-# package RRECOMMENDS on this package. This will enable the configuration
-# file to be installed for both the openssl-bin package and the libcrypto
-# package since the openssl-bin package depends on the libcrypto package.
-
-PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
-
-FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"
-FILES_libssl = "${libdir}/libssl${SOLIBS}"
-FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
-FILES_${PN}-engines = "${libdir}/engines-1.1"
-FILES_${PN}-misc = "${libdir}/ssl-1.1/misc"
-FILES_${PN} =+ "${libdir}/ssl-1.1/*"
-FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
-
-CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
-
-RRECOMMENDS_libcrypto += "openssl-conf"
-RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1d.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1d.bb
new file mode 100644
index 000000000..072f727e0
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1d.bb
@@ -0,0 +1,204 @@
+SUMMARY = "Secure Socket Layer"
+DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
+HOMEPAGE = "http://www.openssl.org/"
+BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
+SECTION = "libs/network"
+
+# "openssl" here actually means both OpenSSL and SSLeay licenses apply
+# (see meta/files/common-licenses/OpenSSL to which "openssl" is SPDXLICENSEMAPped)
+LICENSE = "openssl"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d343e62fc9c833710bbbed25f27364c8"
+
+DEPENDS = "hostperl-runtime-native"
+
+SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
+ file://run-ptest \
+ file://0001-skip-test_symbol_presence.patch \
+ file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \
+ file://afalg.patch \
+ "
+
+SRC_URI_append_class-nativesdk = " \
+ file://environment.d-openssl.sh \
+ "
+
+SRC_URI[md5sum] = "3be209000dbc7e1b95bcdf47980a3baa"
+SRC_URI[sha256sum] = "1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2"
+
+inherit lib_package multilib_header multilib_script ptest
+MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG_class-native = ""
+PACKAGECONFIG_class-nativesdk = ""
+
+PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux"
+
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+#| ./libcrypto.so: undefined reference to `getcontext'
+#| ./libcrypto.so: undefined reference to `setcontext'
+#| ./libcrypto.so: undefined reference to `makecontext'
+EXTRA_OECONF_append_libc-musl = " no-async"
+EXTRA_OECONF_append_libc-musl_powerpc64 = " no-asm"
+
+# adding devrandom prevents openssl from using getrandom() which is not available on older glibc versions
+# (native versions can be built with newer glibc, but then relocated onto a system with older glibc)
+EXTRA_OECONF_class-native = "--with-rand-seed=os,devrandom"
+EXTRA_OECONF_class-nativesdk = "--with-rand-seed=os,devrandom"
+
+# Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate.
+CFLAGS_append_class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
+CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin"
+
+do_configure () {
+ os=${HOST_OS}
+ case $os in
+ linux-gnueabi |\
+ linux-gnuspe |\
+ linux-musleabi |\
+ linux-muslspe |\
+ linux-musl )
+ os=linux
+ ;;
+ *)
+ ;;
+ esac
+ target="$os-${HOST_ARCH}"
+ case $target in
+ linux-arm*)
+ target=linux-armv4
+ ;;
+ linux-aarch64*)
+ target=linux-aarch64
+ ;;
+ linux-i?86 | linux-viac3)
+ target=linux-x86
+ ;;
+ linux-gnux32-x86_64 | linux-muslx32-x86_64 )
+ target=linux-x32
+ ;;
+ linux-gnu64-x86_64)
+ target=linux-x86_64
+ ;;
+ linux-mips | linux-mipsel)
+ # specifying TARGET_CC_ARCH prevents openssl from (incorrectly) adding target architecture flags
+ target="linux-mips32 ${TARGET_CC_ARCH}"
+ ;;
+ linux-gnun32-mips*)
+ target=linux-mips64
+ ;;
+ linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el)
+ target=linux64-mips64
+ ;;
+ linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
+ target=linux-generic32
+ ;;
+ linux-powerpc)
+ target=linux-ppc
+ ;;
+ linux-powerpc64)
+ target=linux-ppc64
+ ;;
+ linux-riscv32)
+ target=linux-generic32
+ ;;
+ linux-riscv64)
+ target=linux-generic64
+ ;;
+ linux-sparc | linux-supersparc)
+ target=linux-sparcv9
+ ;;
+ esac
+
+ useprefix=${prefix}
+ if [ "x$useprefix" = "x" ]; then
+ useprefix=/
+ fi
+ # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
+ # environment variables set by bitbake. Adjust the environment variables instead.
+ PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \
+ perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target
+ perl ${B}/configdata.pm --dump
+}
+
+do_install () {
+ oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install
+
+ oe_multilib_header openssl/opensslconf.h
+
+ # Create SSL structure for packages such as ca-certificates which
+ # contain hard-coded paths to /etc/ssl. Debian does the same.
+ install -d ${D}${sysconfdir}/ssl
+ mv ${D}${libdir}/ssl-1.1/certs \
+ ${D}${libdir}/ssl-1.1/private \
+ ${D}${libdir}/ssl-1.1/openssl.cnf \
+ ${D}${sysconfdir}/ssl/
+
+ # Although absolute symlinks would be OK for the target, they become
+ # invalid if native or nativesdk are relocated from sstate.
+ ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/certs')} ${D}${libdir}/ssl-1.1/certs
+ ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/private')} ${D}${libdir}/ssl-1.1/private
+ ln -sf ${@oe.path.relative('${libdir}/ssl-1.1', '${sysconfdir}/ssl/openssl.cnf')} ${D}${libdir}/ssl-1.1/openssl.cnf
+}
+
+do_install_append_class-native () {
+ create_wrapper ${D}${bindir}/openssl \
+ OPENSSL_CONF=${libdir}/ssl-1.1/openssl.cnf \
+ SSL_CERT_DIR=${libdir}/ssl-1.1/certs \
+ SSL_CERT_FILE=${libdir}/ssl-1.1/cert.pem \
+ OPENSSL_ENGINES=${libdir}/ssl-1.1/engines
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d
+ install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
+ sed 's|/usr/lib/ssl/|/usr/lib/ssl-1.1/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh
+}
+
+PTEST_BUILD_HOST_FILES += "configdata.pm"
+PTEST_BUILD_HOST_PATTERN = "perl_version ="
+do_install_ptest () {
+ # Prune the build tree
+ rm -f ${B}/fuzz/*.* ${B}/test/*.*
+
+ cp ${S}/Configure ${B}/configdata.pm ${D}${PTEST_PATH}
+ 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}/
+ ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/
+
+ install -d ${D}${PTEST_PATH}/apps
+ ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps
+ install -m644 ${S}/apps/*.pem ${S}/apps/*.srl ${S}/apps/openssl.cnf ${D}${PTEST_PATH}/apps
+ install -m755 ${B}/apps/CA.pl ${D}${PTEST_PATH}/apps
+
+ install -d ${D}${PTEST_PATH}/engines
+ install -m755 ${B}/engines/ossltest.so ${D}${PTEST_PATH}/engines
+}
+
+# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
+# package RRECOMMENDS on this package. This will enable the configuration
+# file to be installed for both the openssl-bin package and the libcrypto
+# package since the openssl-bin package depends on the libcrypto package.
+
+PACKAGES =+ "libcrypto libssl openssl-conf ${PN}-engines ${PN}-misc"
+
+FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"
+FILES_libssl = "${libdir}/libssl${SOLIBS}"
+FILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
+FILES_${PN}-engines = "${libdir}/engines-1.1"
+FILES_${PN}-misc = "${libdir}/ssl-1.1/misc"
+FILES_${PN} =+ "${libdir}/ssl-1.1/*"
+FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/openssl.sh"
+
+CONFFILES_openssl-conf = "${sysconfdir}/ssl/openssl.cnf"
+
+RRECOMMENDS_libcrypto += "openssl-conf"
+RDEPENDS_${PN}-ptest += "openssl-bin perl perl-modules bash"
+
+BBCLASSEXTEND = "native nativesdk"
+
+CVE_PRODUCT = "openssl:openssl"
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb
deleted file mode 100644
index bd4167c31..000000000
--- a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.8.bb
+++ /dev/null
@@ -1,109 +0,0 @@
-SUMMARY = "Client for Wi-Fi Protected Access (WPA)"
-HOMEPAGE = "http://w1.fi/wpa_supplicant/"
-BUGTRACKER = "http://w1.fi/security/"
-SECTION = "network"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=279b4f5abb9c153c285221855ddb78cc \
- file://README;beginline=1;endline=56;md5=e7d3dbb01f75f0b9799e192731d1e1ff \
- file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=0a8b56d3543498b742b9c0e94cc2d18b"
-DEPENDS = "dbus libnl"
-RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
-
-PACKAGECONFIG ??= "gnutls"
-PACKAGECONFIG[gnutls] = ",,gnutls libgcrypt"
-PACKAGECONFIG[openssl] = ",,openssl"
-
-inherit pkgconfig systemd
-
-SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \
- file://defconfig \
- file://wpa-supplicant.sh \
- file://wpa_supplicant.conf \
- file://wpa_supplicant.conf-sane \
- file://99_wpa_supplicant \
- file://0001-replace-systemd-install-Alias-with-WantedBy.patch \
- "
-SRC_URI[md5sum] = "0af5998c5d924e985cab16b9a1c77904"
-SRC_URI[sha256sum] = "a689336a12a99151b9de5e25bfccadb88438f4f4438eb8db331cd94346fd3d96"
-
-CVE_PRODUCT = "wpa_supplicant"
-
-S = "${WORKDIR}/wpa_supplicant-${PV}"
-
-PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
-FILES_wpa-supplicant-passphrase = "${bindir}/wpa_passphrase"
-FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli"
-FILES_${PN} += "${datadir}/dbus-1/system-services/*"
-CONFFILES_${PN} += "${sysconfdir}/wpa_supplicant.conf"
-
-do_configure () {
- ${MAKE} -C wpa_supplicant clean
- install -m 0755 ${WORKDIR}/defconfig wpa_supplicant/.config
-
- if echo "${PACKAGECONFIG}" | grep -qw "openssl"; then
- ssl=openssl
- elif echo "${PACKAGECONFIG}" | grep -qw "gnutls"; then
- ssl=gnutls
- fi
- if [ -n "$ssl" ]; then
- sed -i "s/%ssl%/$ssl/" wpa_supplicant/.config
- fi
-
- # For rebuild
- rm -f wpa_supplicant/*.d wpa_supplicant/dbus/*.d
-}
-
-export EXTRA_CFLAGS = "${CFLAGS}"
-export BINDIR = "${sbindir}"
-
-do_compile () {
- unset CFLAGS CPPFLAGS CXXFLAGS
- sed -e "s:CFLAGS\ =.*:& \$(EXTRA_CFLAGS):g" -i ${S}/src/lib.rules
- oe_runmake -C wpa_supplicant
-}
-
-do_install () {
- install -d ${D}${sbindir}
- install -m 755 wpa_supplicant/wpa_supplicant ${D}${sbindir}
- install -m 755 wpa_supplicant/wpa_cli ${D}${sbindir}
-
- install -d ${D}${bindir}
- install -m 755 wpa_supplicant/wpa_passphrase ${D}${bindir}
-
- install -d ${D}${docdir}/wpa_supplicant
- install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant
-
- install -d ${D}${sysconfdir}
- install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf
-
- install -d ${D}${sysconfdir}/network/if-pre-up.d/
- install -d ${D}${sysconfdir}/network/if-post-down.d/
- install -d ${D}${sysconfdir}/network/if-down.d/
- install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant
- cd ${D}${sysconfdir}/network/ && \
- ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant
-
- install -d ${D}/${sysconfdir}/dbus-1/system.d
- install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d
- install -d ${D}/${datadir}/dbus-1/system-services
- install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system
- fi
-
- install -d ${D}/etc/default/volatiles
- install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles
-}
-
-pkg_postinst_wpa-supplicant () {
- # If we're offline, we don't need to do this.
- if [ "x$D" = "x" ]; then
- killall -q -HUP dbus-daemon || true
- fi
-
-}
diff --git a/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
new file mode 100644
index 000000000..c16978cfe
--- /dev/null
+++ b/poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.9.bb
@@ -0,0 +1,109 @@
+SUMMARY = "Client for Wi-Fi Protected Access (WPA)"
+HOMEPAGE = "http://w1.fi/wpa_supplicant/"
+BUGTRACKER = "http://w1.fi/security/"
+SECTION = "network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=279b4f5abb9c153c285221855ddb78cc \
+ file://README;beginline=1;endline=56;md5=e7d3dbb01f75f0b9799e192731d1e1ff \
+ file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=0a8b56d3543498b742b9c0e94cc2d18b"
+DEPENDS = "dbus libnl"
+RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
+
+PACKAGECONFIG ??= "gnutls"
+PACKAGECONFIG[gnutls] = ",,gnutls libgcrypt"
+PACKAGECONFIG[openssl] = ",,openssl"
+
+inherit pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+SRC_URI = "http://w1.fi/releases/wpa_supplicant-${PV}.tar.gz \
+ file://defconfig \
+ file://wpa-supplicant.sh \
+ file://wpa_supplicant.conf \
+ file://wpa_supplicant.conf-sane \
+ file://99_wpa_supplicant \
+ file://0001-replace-systemd-install-Alias-with-WantedBy.patch \
+ "
+SRC_URI[md5sum] = "2d2958c782576dc9901092fbfecb4190"
+SRC_URI[sha256sum] = "fcbdee7b4a64bea8177973299c8c824419c413ec2e3a95db63dd6a5dc3541f17"
+
+CVE_PRODUCT = "wpa_supplicant"
+
+S = "${WORKDIR}/wpa_supplicant-${PV}"
+
+PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
+FILES_wpa-supplicant-passphrase = "${bindir}/wpa_passphrase"
+FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli"
+FILES_${PN} += "${datadir}/dbus-1/system-services/*"
+CONFFILES_${PN} += "${sysconfdir}/wpa_supplicant.conf"
+
+do_configure () {
+ ${MAKE} -C wpa_supplicant clean
+ install -m 0755 ${WORKDIR}/defconfig wpa_supplicant/.config
+
+ if echo "${PACKAGECONFIG}" | grep -qw "openssl"; then
+ ssl=openssl
+ elif echo "${PACKAGECONFIG}" | grep -qw "gnutls"; then
+ ssl=gnutls
+ fi
+ if [ -n "$ssl" ]; then
+ sed -i "s/%ssl%/$ssl/" wpa_supplicant/.config
+ fi
+
+ # For rebuild
+ rm -f wpa_supplicant/*.d wpa_supplicant/dbus/*.d
+}
+
+export EXTRA_CFLAGS = "${CFLAGS}"
+export BINDIR = "${sbindir}"
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS
+ sed -e "s:CFLAGS\ =.*:& \$(EXTRA_CFLAGS):g" -i ${S}/src/lib.rules
+ oe_runmake -C wpa_supplicant
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m 755 wpa_supplicant/wpa_supplicant ${D}${sbindir}
+ install -m 755 wpa_supplicant/wpa_cli ${D}${sbindir}
+
+ install -d ${D}${bindir}
+ install -m 755 wpa_supplicant/wpa_passphrase ${D}${bindir}
+
+ install -d ${D}${docdir}/wpa_supplicant
+ install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant
+
+ install -d ${D}${sysconfdir}
+ install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf
+
+ install -d ${D}${sysconfdir}/network/if-pre-up.d/
+ install -d ${D}${sysconfdir}/network/if-post-down.d/
+ install -d ${D}${sysconfdir}/network/if-down.d/
+ install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant
+ cd ${D}${sysconfdir}/network/ && \
+ ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant
+
+ install -d ${D}/${sysconfdir}/dbus-1/system.d
+ install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d
+ install -d ${D}/${datadir}/dbus-1/system-services
+ install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system
+ fi
+
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles
+}
+
+pkg_postinst_wpa-supplicant () {
+ # If we're offline, we don't need to do this.
+ if [ "x$D" = "x" ]; then
+ killall -q -HUP dbus-daemon || true
+ fi
+
+}
diff --git a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
index 4b4027f18..94299431f 100644
--- a/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/poky/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -20,7 +20,6 @@ SRC_URI = "file://rotation \
file://fstab \
file://issue.net \
file://issue \
- file://usbd \
file://share/dot.bashrc \
file://share/dot.profile \
file://licenses/GPL-2 \
@@ -122,14 +121,12 @@ do_install () {
fi
install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab
- install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd
install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile
sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile
sed -i 's#@BINDIR@#${bindir}#g' ${D}${sysconfdir}/profile
install -m 0644 ${WORKDIR}/shells ${D}${sysconfdir}/shells
install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile
install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc
- install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf
install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd
@@ -142,6 +139,10 @@ do_install () {
fi
}
+do_install_append_libc-glibc () {
+ install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
+}
+
DISTRO_VERSION[vardepsexclude] += "DATE"
do_install_basefilesissue () {
install -m 644 ${WORKDIR}/issue* ${D}${sysconfdir}
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
deleted file mode 100644
index c347daf50..000000000
--- a/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "inittab configuration for BusyBox"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-SRC_URI = "file://inittab"
-
-S = "${WORKDIR}"
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-do_compile() {
- :
-}
-
-do_install() {
- install -d ${D}${sysconfdir}
- install -D -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
- tmp="${SERIAL_CONSOLES}"
- for i in $tmp
- do
- j=`echo ${i} | sed s/\;/\ /g`
- id=`echo ${i} | sed -e 's/^.*;//' -e 's/;.*//'`
- echo "$id::respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab
- done
-}
-
-# SERIAL_CONSOLES is generally defined by the MACHINE .conf.
-# Set PACKAGE_ARCH appropriately.
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-FILES_${PN} = "${sysconfdir}/inittab"
-CONFFILES_${PN} = "${sysconfdir}/inittab"
-
-RCONFLICTS_${PN} = "sysvinit-inittab"
diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.31.0.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.31.0.bb
new file mode 100644
index 000000000..61fb8cbad
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox-inittab_1.31.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "inittab configuration for BusyBox"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+
+SRC_URI = "file://inittab"
+
+S = "${WORKDIR}"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ install -d ${D}${sysconfdir}
+ install -D -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
+ tmp="${SERIAL_CONSOLES}"
+ [ -n "$tmp" ] && echo >> ${D}${sysconfdir}/inittab
+ for i in $tmp
+ do
+ j=`echo ${i} | sed s/\;/\ /g`
+ id=`echo ${i} | sed -e 's/^.*;//' -e 's/;.*//'`
+ echo "$id::respawn:${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab
+ done
+}
+
+# SERIAL_CONSOLES is generally defined by the MACHINE .conf.
+# Set PACKAGE_ARCH appropriately.
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+FILES_${PN} = "${sysconfdir}/inittab"
+CONFFILES_${PN} = "${sysconfdir}/inittab"
+
+RCONFLICTS_${PN} = "sysvinit-inittab"
diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc
index 174ce5a8c..d08fa8d3d 100644
--- a/poky/meta/recipes-core/busybox/busybox.inc
+++ b/poky/meta/recipes-core/busybox/busybox.inc
@@ -128,7 +128,9 @@ do_prepare_config () {
${S}/.config.oe-tmp > ${S}/.config
fi
sed -i 's/CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"/CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b"/' ${S}/.config
- sed -i 's|${DEBUG_PREFIX_MAP}||g' ${S}/.config
+ if [ -n "${DEBUG_PREFIX_MAP}" ]; then
+ sed -i 's|${DEBUG_PREFIX_MAP}||g' ${S}/.config
+ fi
}
# returns all the elements from the src uri that are .cfg files
@@ -142,6 +144,7 @@ def find_cfgs(d):
return sources_list
do_configure () {
+ set -x
do_prepare_config
merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
cml1_do_configure
@@ -316,8 +319,8 @@ do_install () {
fi
fi
if grep -q "CONFIG_INIT=y" ${B}/.config; then
- install -D -m 0777 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d/rcS
- install -D -m 0777 ${WORKDIR}/rcK ${D}${sysconfdir}/init.d/rcK
+ install -D -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d/rcS
+ install -D -m 0755 ${WORKDIR}/rcK ${D}${sysconfdir}/init.d/rcK
fi
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
@@ -392,34 +395,40 @@ python do_package_prepend () {
set_alternative_vars("${sysconfdir}/busybox.links.suid", "${base_bindir}/busybox.suid")
}
-pkg_postinst_${PN} () {
- # This part of code is dedicated to the on target upgrade problem.
- # It's known that if we don't make appropriate symlinks before update-alternatives calls,
- # there will be errors indicating missing commands such as 'sed'.
- # These symlinks will later be updated by update-alternatives calls.
- test -n 2 > /dev/null || alias test='busybox test'
- if test "x$D" = "x"; then
- # Remove busybox.nosuid if it's a symlink, because this situation indicates
- # that we're installing or upgrading to a one-binary busybox.
- if test -h ${base_bindir}/busybox.nosuid; then
- rm -f ${base_bindir}/busybox.nosuid
- fi
- for suffix in "" ".nosuid" ".suid"; do
- if test -e ${sysconfdir}/busybox.links$suffix; then
- while read link; do
- if test ! -e "$link"; then
- # we can use busybox here because even if we are using splitted busybox
- # we've made a symlink from /bin/busybox to /bin/busybox.nosuid.
- busybox rm -f $link
- busybox ln -s "${base_bindir}/busybox$suffix" $link
- fi
- done < ${sysconfdir}/busybox.links$suffix
- fi
- done
- fi
- if grep -q "^${base_bindir}/bash$" $D${sysconfdir}/busybox.links*; then
- grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells
- fi
+# This part of code is dedicated to the on target upgrade problem. It's known
+# that if we don't make appropriate symlinks before update-alternatives calls,
+# there will be errors indicating missing commands such as 'sed'.
+# These symlinks will later be updated by update-alternatives calls.
+# The update-alternatives.bbclass' postinst script runs firstly before other
+# postinst, but this part of code needs run firstly, so add this funtion.
+python populate_packages_updatealternatives_append() {
+ postinst = """
+test -n 2 > /dev/null || alias test='busybox test'
+if test "x$D" = "x"; then
+ # Remove busybox.nosuid if it's a symlink, because this situation indicates
+ # that we're installing or upgrading to a one-binary busybox.
+ if test -h ${base_bindir}/busybox.nosuid; then
+ rm -f ${base_bindir}/busybox.nosuid
+ fi
+ for suffix in "" ".nosuid" ".suid"; do
+ if test -e ${sysconfdir}/busybox.links$suffix; then
+ while read link; do
+ if test ! -e "$link"; then
+ # we can use busybox here because even if we are using splitted busybox
+ # we've made a symlink from /bin/busybox to /bin/busybox.nosuid.
+ busybox rm -f $link
+ busybox ln -s "${base_bindir}/busybox$suffix" $link
+ fi
+ done < ${sysconfdir}/busybox.links$suffix
+ fi
+ done
+fi
+if grep -q "^${base_bindir}/bash$" $D${sysconfdir}/busybox.links*; then
+ grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells
+fi
+
+"""
+ d.prependVar('pkg_postinst_%s' % pkg, postinst)
}
pkg_prerm_${PN} () {
diff --git a/poky/meta/recipes-core/busybox/busybox/0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch b/poky/meta/recipes-core/busybox/busybox/0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch
deleted file mode 100644
index d22db4a66..000000000
--- a/poky/meta/recipes-core/busybox/busybox/0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From a4e03fbb4d82f91069d96005405f89c45b8fd157 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 17 Apr 2019 09:24:37 +0800
-Subject: [PATCH] dc.tests: fix two test case to also depend on DC_BIG
-
-Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2019-April/087205.html]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- testsuite/dc.tests | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/testsuite/dc.tests b/testsuite/dc.tests
-index 1708a48..8c3af41 100755
---- a/testsuite/dc.tests
-+++ b/testsuite/dc.tests
-@@ -41,6 +41,9 @@ testing "dc complex without spaces (multiple args)" \
- "16\n" \
- "" ""
-
-+optional FEATURE_DC_BIG
-+# All tests below depend on FEATURE_DC_BIG
-+
- testing "dc read" \
- "dc -finput" \
- "2\n9\n1\n" \
-@@ -51,9 +54,6 @@ testing "dc read string" \
- "2\nstr\n1\n" \
- "1?2\nf" "[str]\n"
-
--optional FEATURE_DC_BIG
--# All tests below depend on FEATURE_DC_BIG
--
- testing "dc '>a' (conditional execute string) 1" \
- "dc" \
- "1\n9\n" \
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
index 76daaf1f0..2a0a40c51 100644
--- a/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
+++ b/poky/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
@@ -31,10 +31,10 @@ Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
networking/udhcp/dhcpc.c | 29 ++++++++++++++++------
1 file changed, 21 insertions(+), 8 deletions(-)
-Index: busybox-1.29.1/networking/udhcp/dhcpc.c
+Index: busybox-1.31.0/networking/udhcp/dhcpc.c
===================================================================
---- busybox-1.29.1.orig/networking/udhcp/dhcpc.c
-+++ busybox-1.29.1/networking/udhcp/dhcpc.c
+--- busybox-1.31.0.orig/networking/udhcp/dhcpc.c
++++ busybox-1.31.0/networking/udhcp/dhcpc.c
@@ -48,6 +48,8 @@
};
#endif
@@ -42,21 +42,21 @@ Index: busybox-1.29.1/networking/udhcp/dhcpc.c
+/* option whether to down the interface when reconfiguring */
+static int allow_deconfig = 1;
- /* "struct client_config_t client_config" is in bb_common_bufsiz1 */
+ /* "struct client_data_t client_data" is in bb_common_bufsiz1 */
-@@ -103,8 +105,9 @@
+@@ -103,8 +105,10 @@
OPT_x = 1 << 18,
OPT_f = 1 << 19,
OPT_B = 1 << 20,
+ OPT_D = 1 << 21,
/* The rest has variable bit positions, need to be clever */
-- OPTBIT_B = 20,
+ OPTBIT_B = 20,
+ OPTBIT_D = 21,
USE_FOR_MMU( OPTBIT_b,)
IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,)
IF_FEATURE_UDHCP_PORT( OPTBIT_P,)
-@@ -1116,7 +1119,8 @@
- state = RENEW_REQUESTED;
+@@ -1124,7 +1128,8 @@
+ client_data.state = RENEW_REQUESTED;
break;
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
- udhcp_run_script(NULL, "deconfig");
@@ -65,7 +65,7 @@ Index: busybox-1.29.1/networking/udhcp/dhcpc.c
case REQUESTING:
case RELEASED:
change_listen_mode(LISTEN_RAW);
-@@ -1152,7 +1156,8 @@
+@@ -1160,7 +1165,8 @@
* Users requested to be notified in all cases, even if not in one
* of the states above.
*/
@@ -74,8 +74,8 @@ Index: busybox-1.29.1/networking/udhcp/dhcpc.c
+ udhcp_run_script(NULL, "deconfig");
change_listen_mode(LISTEN_NONE);
- state = RELEASED;
-@@ -1265,7 +1270,7 @@
+ client_data.state = RELEASED;
+@@ -1278,7 +1284,7 @@
/* Parse command line */
opt = getopt32long(argv, "^"
/* O,x: list; -T,-t,-A take numeric param */
@@ -84,7 +84,7 @@ Index: busybox-1.29.1/networking/udhcp/dhcpc.c
USE_FOR_MMU("b")
IF_FEATURE_UDHCPC_ARPING("a::")
IF_FEATURE_UDHCP_PORT("P:")
-@@ -1376,6 +1381,10 @@
+@@ -1389,6 +1395,10 @@
logmode |= LOGMODE_SYSLOG;
}
@@ -92,52 +92,52 @@ Index: busybox-1.29.1/networking/udhcp/dhcpc.c
+ allow_deconfig = 0;
+ }
+
- /* Make sure fd 0,1,2 are open */
- bb_sanitize_stdio();
/* Create pidfile */
-@@ -1388,7 +1397,8 @@
+ write_pidfile(client_data.pidfile);
+ /* Goes to stdout (unless NOMMU) and possibly syslog */
+@@ -1397,7 +1407,8 @@
srand(monotonic_us());
- state = INIT_SELECTING;
+ client_data.state = INIT_SELECTING;
- udhcp_run_script(NULL, "deconfig");
+ if (allow_deconfig)
+ udhcp_run_script(NULL, "deconfig");
change_listen_mode(LISTEN_RAW);
packet_num = 0;
timeout = 0;
-@@ -1555,7 +1565,8 @@
+@@ -1570,7 +1581,8 @@
}
/* Timed out, enter init state */
- bb_error_msg("lease lost, entering init state");
+ bb_info_msg("lease lost, entering init state");
- udhcp_run_script(NULL, "deconfig");
+ if (allow_deconfig)
+ udhcp_run_script(NULL, "deconfig");
- state = INIT_SELECTING;
- client_config.first_secs = 0; /* make secs field count from 0 */
+ client_data.state = INIT_SELECTING;
+ client_data.first_secs = 0; /* make secs field count from 0 */
/*timeout = 0; - already is */
-@@ -1748,8 +1759,10 @@
+@@ -1762,8 +1774,10 @@
"(got ARP reply), declining");
send_decline(/*xid,*/ server_addr, packet.yiaddr);
-- if (state != REQUESTING)
+- if (client_data.state != REQUESTING)
- udhcp_run_script(NULL, "deconfig");
-+ if (state != REQUESTING) {
++ if (client_data.state != REQUESTING) {
+ if (allow_deconfig)
+ udhcp_run_script(NULL, "deconfig");
+ }
change_listen_mode(LISTEN_RAW);
- state = INIT_SELECTING;
- client_config.first_secs = 0; /* make secs field count from 0 */
-@@ -1818,8 +1831,10 @@
+ client_data.state = INIT_SELECTING;
+ client_data.first_secs = 0; /* make secs field count from 0 */
+@@ -1832,8 +1846,10 @@
/* return to init state */
- bb_error_msg("received %s", "DHCP NAK");
+ bb_info_msg("received %s", "DHCP NAK");
udhcp_run_script(&packet, "nak");
-- if (state != REQUESTING)
+- if (client_data.state != REQUESTING)
- udhcp_run_script(NULL, "deconfig");
-+ if (state != REQUESTING) {
++ if (client_data.state != REQUESTING) {
+ if (allow_deconfig)
+ udhcp_run_script(NULL, "deconfig");
+ }
change_listen_mode(LISTEN_RAW);
sleep(3); /* avoid excessive network traffic */
- state = INIT_SELECTING;
+ client_data.state = INIT_SELECTING;
diff --git a/poky/meta/recipes-core/busybox/busybox/unicode.cfg b/poky/meta/recipes-core/busybox/busybox/unicode.cfg
new file mode 100644
index 000000000..ecb5a64f2
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox/unicode.cfg
@@ -0,0 +1,10 @@
+CONFIG_UNICODE_SUPPORT=y
+# CONFIG_UNICODE_USING_LOCALE is not set
+CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y
+CONFIG_SUBST_WCHAR=63
+CONFIG_LAST_SUPPORTED_WCHAR=767
+CONFIG_UNICODE_COMBINING_WCHARS=y
+CONFIG_UNICODE_WIDE_WCHARS=y
+# CONFIG_UNICODE_BIDI_SUPPORT is not set
+# CONFIG_UNICODE_NEUTRAL_TABLE is not set
+# CONFIG_UNICODE_PRESERVE_BROKEN is not set
diff --git a/poky/meta/recipes-core/busybox/busybox_1.30.1.bb b/poky/meta/recipes-core/busybox/busybox_1.30.1.bb
deleted file mode 100644
index ba76755d7..000000000
--- a/poky/meta/recipes-core/busybox/busybox_1.30.1.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-require busybox.inc
-
-SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
- file://busybox-udhcpc-no_deconfig.patch \
- file://find-touchscreen.sh \
- file://busybox-cron \
- file://busybox-httpd \
- file://busybox-udhcpd \
- file://default.script \
- file://simple.script \
- file://hwclock.sh \
- file://mount.busybox \
- file://syslog \
- file://syslog-startup.conf \
- file://syslog.conf \
- file://busybox-syslog.default \
- file://mdev \
- file://mdev.conf \
- file://mdev-mount.sh \
- file://umount.busybox \
- file://defconfig \
- file://busybox-syslog.service.in \
- file://busybox-klogd.service.in \
- file://fail_on_no_media.patch \
- file://run-ptest \
- file://inetd.conf \
- file://inetd \
- file://login-utilities.cfg \
- file://recognize_connmand.patch \
- file://busybox-cross-menuconfig.patch \
- file://0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch \
- file://mount-via-label.cfg \
- file://sha1sum.cfg \
- file://sha256sum.cfg \
- file://getopts.cfg \
- file://resize.cfg \
- ${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \
- ${@["", "file://mdev.cfg"][(d.getVar('VIRTUAL-RUNTIME_dev_manager') == 'busybox-mdev')]} \
- file://syslog.cfg \
- file://inittab \
- file://rcS \
- file://rcK \
- file://makefile-libbb-race.patch \
- file://0001-testsuite-check-uudecode-before-using-it.patch \
- file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
- file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
- file://0001-dc.tests-fix-two-test-case-to-also-depend-on-DC_BIG.patch \
-"
-SRC_URI_append_libc-musl = " file://musl.cfg "
-
-SRC_URI[tarball.md5sum] = "4f72fc6abd736d5f4741fc4a2485547a"
-SRC_URI[tarball.sha256sum] = "3d1d04a4dbd34048f4794815a5c48ebb9eb53c5277e09ffffc060323b95dfbdc"
diff --git a/poky/meta/recipes-core/busybox/busybox_1.31.0.bb b/poky/meta/recipes-core/busybox/busybox_1.31.0.bb
new file mode 100644
index 000000000..34b1f2cc9
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox_1.31.0.bb
@@ -0,0 +1,49 @@
+require busybox.inc
+
+SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
+ file://busybox-udhcpc-no_deconfig.patch \
+ file://find-touchscreen.sh \
+ file://busybox-cron \
+ file://busybox-httpd \
+ file://busybox-udhcpd \
+ file://default.script \
+ file://simple.script \
+ file://hwclock.sh \
+ file://syslog \
+ file://syslog-startup.conf \
+ file://syslog.conf \
+ file://busybox-syslog.default \
+ file://mdev \
+ file://mdev.conf \
+ file://mdev-mount.sh \
+ file://defconfig \
+ file://busybox-syslog.service.in \
+ file://busybox-klogd.service.in \
+ file://fail_on_no_media.patch \
+ file://run-ptest \
+ file://inetd.conf \
+ file://inetd \
+ file://login-utilities.cfg \
+ file://recognize_connmand.patch \
+ file://busybox-cross-menuconfig.patch \
+ file://0001-Use-CC-when-linking-instead-of-LD-and-use-CFLAGS-and.patch \
+ file://mount-via-label.cfg \
+ file://sha1sum.cfg \
+ file://sha256sum.cfg \
+ file://getopts.cfg \
+ file://resize.cfg \
+ ${@["", "file://init.cfg"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'busybox')]} \
+ ${@["", "file://mdev.cfg"][(d.getVar('VIRTUAL-RUNTIME_dev_manager') == 'busybox-mdev')]} \
+ file://syslog.cfg \
+ file://unicode.cfg \
+ file://rcS \
+ file://rcK \
+ file://makefile-libbb-race.patch \
+ file://0001-testsuite-check-uudecode-before-using-it.patch \
+ file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \
+ file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \
+"
+SRC_URI_append_libc-musl = " file://musl.cfg "
+
+SRC_URI[tarball.md5sum] = "cdba5d4458f944ceec5cdcf7c4914b69"
+SRC_URI[tarball.sha256sum] = "0e4925392fd9f3743cc517e031b68b012b24a63b0cf6c1ff03cce7bb3846cc99"
diff --git a/poky/meta/recipes-core/busybox/files/mount.busybox b/poky/meta/recipes-core/busybox/files/mount.busybox
deleted file mode 100755
index fef945b7b..000000000
--- a/poky/meta/recipes-core/busybox/files/mount.busybox
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-exec /bin/busybox mount $@
diff --git a/poky/meta/recipes-core/busybox/files/syslog b/poky/meta/recipes-core/busybox/files/syslog
index 89c4d12e9..2208613e8 100644
--- a/poky/meta/recipes-core/busybox/files/syslog
+++ b/poky/meta/recipes-core/busybox/files/syslog
@@ -51,6 +51,22 @@ else
SYSLOG_ARGS="-C"
fi
+waitpid ()
+{
+ pid=$1
+ # Give pid a chance to exit before we restart with a 5s timeout in 1s intervals
+ if [ -z "$pid" ]; then
+ return
+ fi
+ timeout=5;
+ while [ $timeout -gt 0 ]
+ do
+ timeout=$(( $timeout-1 ))
+ kill -0 $pid 2> /dev/null || break
+ sleep 1
+ done
+}
+
case "$1" in
start)
echo -n "Starting syslogd/klogd: "
@@ -65,7 +81,11 @@ case "$1" in
echo "done"
;;
restart)
- $0 stop
+ pid1=`pidof syslogd`
+ pid2=`pidof klogd`
+ $0 stop
+ waitpid $pid1
+ waitpid $pid2
$0 start
;;
*)
diff --git a/poky/meta/recipes-core/busybox/files/umount.busybox b/poky/meta/recipes-core/busybox/files/umount.busybox
deleted file mode 100755
index f3731626e..000000000
--- a/poky/meta/recipes-core/busybox/files/umount.busybox
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-exec /bin/busybox umount $@
diff --git a/poky/meta/recipes-core/dbus/dbus/run-ptest b/poky/meta/recipes-core/dbus/dbus/run-ptest
index cf2e68fa0..48535e13d 100755
--- a/poky/meta/recipes-core/dbus/dbus/run-ptest
+++ b/poky/meta/recipes-core/dbus/dbus/run-ptest
@@ -21,7 +21,8 @@ do
#these programs are used by testcase test-bus, don't run here
if [ $i = "test/test-service" ] \
|| [ $i = "test/test-shell-service" ] \
- || [ $i = "test/test-segfault" ]
+ || [ $i = "test/test-segfault" ] \
+ || [ $i = "test/test-bus" ]
then
continue
fi
diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc
index dcbda741c..7269888a4 100644
--- a/poky/meta/recipes-core/dropbear/dropbear.inc
+++ b/poky/meta/recipes-core/dropbear/dropbear.inc
@@ -70,8 +70,13 @@ do_install() {
install -m 0644 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear
install -m 0755 dropbearmulti ${D}${sbindir}/
- ln -s ${sbindir}/dropbearmulti ${D}${bindir}/dbclient
+ for i in ${BINCOMMANDS}
+ do
+ # ssh and scp symlinks are created by update-alternatives
+ if [ $i = ssh ] || [ $i = scp ]; then continue; fi
+ ln -s ${sbindir}/dropbearmulti ${D}${bindir}/$i
+ done
for i in ${SBINCOMMANDS}
do
ln -s ./dropbearmulti ${D}${sbindir}/$i
@@ -101,7 +106,7 @@ do_install() {
inherit update-alternatives
ALTERNATIVE_PRIORITY = "20"
-ALTERNATIVE_${PN} = "scp ssh"
+ALTERNATIVE_${PN} = "${@bb.utils.filter('BINCOMMANDS', 'scp ssh', d)}"
ALTERNATIVE_TARGET = "${sbindir}/dropbearmulti"
@@ -113,3 +118,5 @@ pkg_postrm_append_${PN} () {
rm ${sysconfdir}/dropbear/dropbear_dss_host_key
fi
}
+
+FILES_${PN} += "${bindir}"
diff --git a/poky/meta/recipes-core/ell/ell_0.20.bb b/poky/meta/recipes-core/ell/ell_0.20.bb
deleted file mode 100644
index 81caa80fa..000000000
--- a/poky/meta/recipes-core/ell/ell_0.20.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Embedded Linux Library"
-DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \
-low-level functionality for system daemons. It typically has no \
-dependencies other than the Linux kernel, C standard library, and \
-libdl (for dynamic linking). While ELL is designed to be efficient \
-and compact enough for use on embedded Linux platforms, it is not \
-limited to resource-constrained systems."
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
-
-DEPENDS = "dbus"
-
-inherit autotools pkgconfig
-
-SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "920189f5be4ee4cd72d610baeb20da65"
-SRC_URI[sha256sum] = "d4aa08915f4058ecaab509dffbe22665d71dba6fe9626caff63c0e5f4b78a394"
-
-do_configure_prepend () {
- mkdir -p ${S}/build-aux
-}
diff --git a/poky/meta/recipes-core/ell/ell_0.22.bb b/poky/meta/recipes-core/ell/ell_0.22.bb
new file mode 100644
index 000000000..b3942fc30
--- /dev/null
+++ b/poky/meta/recipes-core/ell/ell_0.22.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Embedded Linux Library"
+DESCRIPTION = "The Embedded Linux Library (ELL) provides core, \
+low-level functionality for system daemons. It typically has no \
+dependencies other than the Linux kernel, C standard library, and \
+libdl (for dynamic linking). While ELL is designed to be efficient \
+and compact enough for use on embedded Linux platforms, it is not \
+limited to resource-constrained systems."
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
+
+DEPENDS = "dbus"
+
+inherit autotools pkgconfig
+
+SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "a4e7d74404f11e71775b89f53a8f1c33"
+SRC_URI[sha256sum] = "3c1d6d997e17dfcbe4ebcd1331d9a7be5c64f2f0a0813bc223790e570d8da2e3"
+
+do_configure_prepend () {
+ mkdir -p ${S}/build-aux
+}
diff --git a/poky/meta/recipes-core/expat/expat/autotools.patch b/poky/meta/recipes-core/expat/expat/autotools.patch
deleted file mode 100644
index 104717eab..000000000
--- a/poky/meta/recipes-core/expat/expat/autotools.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Avoid using expat's m4 files
-
-Upstream-Status: Inappropriate [Other]
-Workaround specific to our build system.
-
-Signed-off-by: Kevin Tian <kevin.tian@intel.com>
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-Updated to apply over expat 2.1.0
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-
-Index: expat-2.2.5/configure.ac
-===================================================================
---- expat-2.2.5.orig/configure.ac
-+++ expat-2.2.5/configure.ac
-@@ -53,8 +53,6 @@ LIBAGE=6 # CMakeLists.txt!
- CPPFLAGS="${CPPFLAGS} -DHAVE_EXPAT_CONFIG_H"
- AC_CONFIG_HEADER(expat_config.h)
-
--sinclude(conftools/ac_c_bigendian_cross.m4)
--
- AC_LIBTOOL_WIN32_DLL
- AC_PROG_LIBTOOL
-
diff --git a/poky/meta/recipes-core/expat/expat_2.2.6.bb b/poky/meta/recipes-core/expat/expat_2.2.6.bb
deleted file mode 100644
index c9e6081a3..000000000
--- a/poky/meta/recipes-core/expat/expat_2.2.6.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "A stream-oriented XML parser library"
-DESCRIPTION = "Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags)"
-HOMEPAGE = "http://expat.sourceforge.net/"
-SECTION = "libs"
-LICENSE = "MIT"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5b8620d98e49772d95fc1d291c26aa79"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \
- file://autotools.patch \
- file://libtool-tag.patch \
- "
-
-SRC_URI[md5sum] = "ca047ae951b40020ac831c28859161b2"
-SRC_URI[sha256sum] = "17b43c2716d521369f82fc2dc70f359860e90fa440bea65b3b85f0b246ea81f2"
-
-inherit autotools lib_package
-
-do_configure_prepend () {
- rm -f ${S}/conftools/libtool.m4
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-core/expat/expat_2.2.8.bb b/poky/meta/recipes-core/expat/expat_2.2.8.bb
new file mode 100644
index 000000000..0ea2edc12
--- /dev/null
+++ b/poky/meta/recipes-core/expat/expat_2.2.8.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A stream-oriented XML parser library"
+DESCRIPTION = "Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags)"
+HOMEPAGE = "http://expat.sourceforge.net/"
+SECTION = "libs"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5b8620d98e49772d95fc1d291c26aa79"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.bz2 \
+ file://libtool-tag.patch \
+ "
+
+SRC_URI[md5sum] = "00858041acfea5757af55e6ee6b86231"
+SRC_URI[sha256sum] = "9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102"
+
+inherit autotools lib_package
+
+do_configure_prepend () {
+ rm -f ${S}/conftools/libtool.m4
+}
+
+BBCLASSEXTEND = "native nativesdk"
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
deleted file mode 100644
index 59e49195c..000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/CVE-2019-12450.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-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/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
index 2d698a67c..380bee086 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 17ca85e329bf39c004b73a02e94b597dac41ddfe Mon Sep 17 00:00:00 2001
+From 9c5d6e6ce5254a5f050bba2118a4a1807292c02a 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
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb
deleted file mode 100644
index 5942241de..000000000
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-require glib.inc
-
-PE = "1"
-
-SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
- file://run-ptest \
- file://uclibc_musl_translation.patch \
- file://Enable-more-tests-while-cross-compiling.patch \
- file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
- 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-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://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] = "112a850caa8d2c21e24d4c9844e8b1fe"
-SRC_URI[sha256sum] = "04ab0d560d45790d055f50db2d69974eab8b693a77390075462c56e652b760b9"
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.7.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.7.bb
new file mode 100644
index 000000000..740473719
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.7.bb
@@ -0,0 +1,25 @@
+require glib.inc
+
+PE = "1"
+
+SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
+ file://run-ptest \
+ file://uclibc_musl_translation.patch \
+ file://Enable-more-tests-while-cross-compiling.patch \
+ file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
+ 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-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 \
+ "
+
+SRC_URI_append_class-native = " file://relocate-modules.patch"
+SRC_URI_append_class-target = " file://glib-meson.cross"
+
+SRC_URI[md5sum] = "f036f78a7fca330d9f7d939fcf794bde"
+SRC_URI[sha256sum] = "8b12c0af569afd3b71200556ad751bad4cf4bf7bc4b5f880638459a42ca86310"
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb
deleted file mode 100644
index 4d4fe6491..000000000
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "GLib networking extensions"
-DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies."
-HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/"
-BUGTRACKER = "http://bugzilla.gnome.org"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SECTION = "libs"
-DEPENDS = "glib-2.0"
-
-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"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gettext upstream-version-is-even gio-module-cache
-
-FILES_${PN} += "\
- ${libdir}/gio/modules/libgio*.so \
- ${datadir}/dbus-1/services/ \
- ${systemd_user_unitdir} \
- "
-FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
-FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.bb
new file mode 100644
index 000000000..0278ab2fb
--- /dev/null
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.3.bb
@@ -0,0 +1,34 @@
+SUMMARY = "GLib networking extensions"
+DESCRIPTION = "glib-networking contains the implementations of certain GLib networking features that cannot be implemented directly in GLib itself because of their dependencies."
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/glib-networking/"
+BUGTRACKER = "http://bugzilla.gnome.org"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SECTION = "libs"
+DEPENDS = "glib-2.0"
+
+SRC_URI[archive.md5sum] = "e8fd0462a82269fb4bbd6c07a1e7d0f4"
+SRC_URI[archive.sha256sum] = "d50183046a4ff955d8cc7e953067cdfc94f14dbfda3024bf377ff37a3121dcd5"
+
+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"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gettext upstream-version-is-even gio-module-cache
+
+FILES_${PN} += "\
+ ${libdir}/gio/modules/libgio*.so \
+ ${datadir}/dbus-1/services/ \
+ ${systemd_user_unitdir} \
+ "
+FILES_${PN}-dev += "${libdir}/gio/modules/libgio*.la"
+FILES_${PN}-staticdev += "${libdir}/gio/modules/libgio*.a"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb
deleted file mode 100644
index 8bc7cd649..000000000
--- a/poky/meta/recipes-core/glibc/cross-localedef-native_2.29.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "Cross locale generation tool for glibc"
-HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
-SECTION = "libs"
-LICENSE = "LGPL-2.1"
-
-LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-
-# Tell autotools that we're working in the localedef directory
-#
-AUTOTOOLS_SCRIPT_PATH = "${S}/localedef"
-
-inherit native
-inherit autotools
-
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:"
-
-SRCBRANCH ?= "release/${PV}/master"
-GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
-
-PV = "2.29"
-
-SRCREV_glibc ?= "86013ef5cea322b8f4b9c22f230c22cce369e947"
-SRCREV_localedef ?= "cd9f958c4c94a638fa7b2b4e21627364f1a1a655"
-
-SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
- git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \
- file://0016-timezone-re-written-tzselect-as-posix-sh.patch \
- file://0017-Remove-bash-dependency-for-nscd-init-script.patch \
- file://0018-eglibc-Cross-building-and-testing-instructions.patch \
- file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \
- file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \
- file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \
- file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
- file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
- file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
-"
-# Makes for a rather long rev (22 characters), but...
-#
-SRCREV_FORMAT = "glibc_localedef"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF = "--with-glibc=${S}"
-CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef
-}
diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb
new file mode 100644
index 000000000..29cd43e89
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/cross-localedef-native_2.30.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Cross locale generation tool for glibc"
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+SECTION = "libs"
+LICENSE = "LGPL-2.1"
+
+LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+require glibc-version.inc
+
+# Tell autotools that we're working in the localedef directory
+#
+AUTOTOOLS_SCRIPT_PATH = "${S}/localedef"
+
+inherit native
+inherit autotools
+
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/glibc:"
+
+SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
+ git://github.com/kraj/localedef;branch=master;name=localedef;destsuffix=git/localedef \
+ file://0016-timezone-re-written-tzselect-as-posix-sh.patch \
+ file://0017-Remove-bash-dependency-for-nscd-init-script.patch \
+ file://0018-eglibc-Cross-building-and-testing-instructions.patch \
+ file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \
+ file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \
+ file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \
+ file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
+ file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
+ file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
+ file://add-cross-localedef-hardlink.patch \
+ file://allow-compile-separate-from-util-linux-hardlink.patch \
+"
+# Makes for a rather long rev (22 characters), but...
+#
+SRCREV_FORMAT = "glibc_localedef"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = "--with-glibc=${S}"
+CFLAGS += "-fgnu89-inline -std=gnu99 -DIS_IN\(x\)='0'"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef
+ install -m 0755 ${B}/cross-localedef-hardlink ${D}${bindir}/cross-localedef-hardlink
+}
diff --git a/poky/meta/recipes-core/glibc/glibc-common.inc b/poky/meta/recipes-core/glibc/glibc-common.inc
index cded38459..fa46fd89f 100644
--- a/poky/meta/recipes-core/glibc/glibc-common.inc
+++ b/poky/meta/recipes-core/glibc/glibc-common.inc
@@ -3,10 +3,11 @@ DESCRIPTION = "The GNU C Library is used as the system C library in most systems
HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
SECTION = "libs"
LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \
- file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
+
+LIC_FILES_CHKSUM ?= "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
- file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff "
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
CVE_PRODUCT = "glibc"
@@ -21,4 +22,4 @@ ARM_INSTRUCTION_SET_armv6 = "arm"
#
COMPATIBLE_HOST_libc-musl_class-target = "null"
-PV = "2.29"
+PV = "2.30"
diff --git a/poky/meta/recipes-core/glibc/glibc-locale.inc b/poky/meta/recipes-core/glibc/glibc-locale.inc
index f033635bd..ef06389ff 100644
--- a/poky/meta/recipes-core/glibc/glibc-locale.inc
+++ b/poky/meta/recipes-core/glibc/glibc-locale.inc
@@ -87,6 +87,9 @@ do_install() {
if [ ${PACKAGE_NO_GCONV} -eq 0 ]; then
copy_locale_files ${libdir}/gconv 0755
copy_locale_files ${datadir}/i18n 0644
+ else
+ # Remove the libdir if it is empty when gconv is not copied
+ find ${D}${libdir} -type d -empty -delete
fi
copy_locale_files ${datadir}/locale 0644
install -m 0644 ${LOCALETREESRC}/SUPPORTED ${WORKDIR}/SUPPORTED
@@ -95,3 +98,6 @@ do_install() {
inherit libc-package
BBCLASSEXTEND = "nativesdk"
+
+# Don't scan for CVEs as glibc will be scanned
+CVE_PRODUCT = ""
diff --git a/poky/meta/recipes-core/glibc/glibc-locale_2.29.bb b/poky/meta/recipes-core/glibc/glibc-locale_2.30.bb
index f7702e035..f7702e035 100644
--- a/poky/meta/recipes-core/glibc/glibc-locale_2.29.bb
+++ b/poky/meta/recipes-core/glibc/glibc-locale_2.30.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace.inc b/poky/meta/recipes-core/glibc/glibc-mtrace.inc
index d703c14bd..ef9d60ec2 100644
--- a/poky/meta/recipes-core/glibc/glibc-mtrace.inc
+++ b/poky/meta/recipes-core/glibc/glibc-mtrace.inc
@@ -11,3 +11,6 @@ do_install() {
install -d -m 0755 ${D}${bindir}
install -m 0755 ${SRC}/mtrace ${D}${bindir}/
}
+
+# Don't scan for CVEs as glibc will be scanned
+CVE_PRODUCT = ""
diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb b/poky/meta/recipes-core/glibc/glibc-mtrace_2.30.bb
index 0b69bad46..0b69bad46 100644
--- a/poky/meta/recipes-core/glibc/glibc-mtrace_2.29.bb
+++ b/poky/meta/recipes-core/glibc/glibc-mtrace_2.30.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc
index b7c64a0b2..d7037c5cc 100644
--- a/poky/meta/recipes-core/glibc/glibc-package.inc
+++ b/poky/meta/recipes-core/glibc/glibc-package.inc
@@ -36,6 +36,7 @@ FILES_${PN}-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/*.o"
FILES_libsotruss = "${libdir}/audit/sotruss-lib.so"
FILES_SOLIBSDEV = "${libdir}/lib*${SOLIBSDEV}"
FILES_${PN}-dev += "${libdir}/*_nonshared.a ${base_libdir}/*_nonshared.a ${base_libdir}/*.o ${datadir}/aclocal"
+RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
FILES_${PN}-staticdev += "${libdir}/*.a ${base_libdir}/*.a"
FILES_nscd = "${sbindir}/nscd* ${sysconfdir}/init.d/nscd ${systemd_unitdir}/system/nscd* ${sysconfdir}/tmpfiles.d/nscd.conf \
${sysconfdir}/nscd.conf ${sysconfdir}/default/volatiles/98_nscd ${localstatedir}/db/nscd"
@@ -82,21 +83,6 @@ do_install_append () {
rm -f ${D}${infodir}/dir
fi
- if ! ${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', 'true', 'false', d)}; then
- # The distro doesn't want these files so let's not install them
- rm -f ${D}${sysconfdir}/ld.so.conf
- rm -f ${D}${base_sbindir}/ldconfig
- # This directory will be empty now so remove it too.
- # But check whether it exists first, since it won't for glibc-initial.
- if [ -d ${D}${sysconfdir} ]; then
- rmdir ${D}${sysconfdir}
- fi
- fi
-
- if echo ${PN}|grep -q "glibc-initial"; then
- return
- fi
-
install -d ${D}${sysconfdir}/init.d
install -d ${D}${localstatedir}/db/nscd
install -m 0755 ${S}/nscd/nscd.init ${D}${sysconfdir}/init.d/nscd
@@ -108,6 +94,24 @@ do_install_append () {
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${S}/nscd/nscd.service ${D}${systemd_unitdir}/system/
+ # The dynamic loader will have been installed into
+ # ${base_libdir}. However, if that isn't going to end up being
+ # available in the ABI-mandated location, then a symlink must
+ # be created.
+
+ if [ -n "${ARCH_DYNAMIC_LOADER}" -a ! -e "${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then
+ install -d ${D}${root_prefix}/lib
+ ln -s ${@oe.path.relative('${root_prefix}/lib', '${base_libdir}')}/${ARCH_DYNAMIC_LOADER} \
+ ${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}
+ fi
+}
+
+do_install_append_class-target() {
+ if ! ${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', 'true', 'false', d)}; then
+ # The distro doesn't want these files so let's not install them
+ rm -f ${D}${sysconfdir}/ld.so.conf
+ rm -f ${D}${base_sbindir}/ldconfig
+ fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /run/nscd 755 root root -" \
@@ -120,18 +124,7 @@ do_install_append () {
> ${D}${sysconfdir}/default/volatiles/98_nscd
fi
- # The dynamic loader will have been installed into
- # ${base_libdir}. However, if that isn't going to end up being
- # available in the ABI-mandated location, then a symlink must
- # be created.
-
- if [ -n "${ARCH_DYNAMIC_LOADER}" -a ! -e "${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then
- install -d ${D}${root_prefix}/lib
- ln -s ${@oe.path.relative('${root_prefix}/lib', '${base_libdir}')}/${ARCH_DYNAMIC_LOADER} \
- ${D}${root_prefix}/lib/${ARCH_DYNAMIC_LOADER}
- fi
}
-
do_install_append_aarch64 () {
do_install_armmultilib
}
@@ -161,27 +154,34 @@ bashscripts = "mtrace sotruss xtrace"
do_stash_locale () {
dest=${LOCALESTASH}
- install -d ${dest}${base_libdir} ${dest}${bindir} ${dest}${libdir} ${dest}${datadir}
- if [ "${base_libdir}" != "${libdir}" ]; then
- cp -fpPR ${D}${base_libdir}/* ${dest}${base_libdir}
- fi
+ install -d $dest${base_libdir} $dest${bindir} $dest${libdir} $dest${datadir}
+ # Hide away the locale data from the deployment
if [ -e ${D}${bindir}/localedef ]; then
- mv -f ${D}${bindir}/localedef ${dest}${bindir}
+ cp -a ${D}${bindir}/localedef $dest${bindir}
fi
if [ -e ${D}${libdir}/gconv ]; then
- mv -f ${D}${libdir}/gconv ${dest}${libdir}
- fi
- if [ -e ${D}${exec_prefix}/lib ]; then
- cp -fpPR ${D}${exec_prefix}/lib ${dest}${exec_prefix}
+ cp -a ${D}${libdir}/gconv $dest${libdir}
fi
if [ -e ${D}${datadir}/i18n ]; then
- mv ${D}${datadir}/i18n ${dest}${datadir}
+ cp -a ${D}${datadir}/i18n $dest${datadir}
+ fi
+
+ # Make a copy of all the libraries into the locale stash
+ cp -fpPR ${D}${libdir}/* $dest${libdir}
+ if [ "${base_libdir}" != "${libdir}" ]; then
+ cp -fpPR ${D}${base_libdir}/* $dest${base_libdir}
+ fi
+ if [ -e ${D}${exec_prefix}/lib ]; then
+ if [ ${exec_prefix}/lib != ${base_libdir} ] && [ ${exec_prefix}/lib != ${libdir} ]; then
+ cp -fpPR ${D}${exec_prefix}/lib $dest${exec_prefix}
+ fi
fi
- cp -fpPR ${D}${datadir}/* ${dest}${datadir}
+
+ cp -fpPR ${D}${datadir}/* $dest${datadir}
rm -rf ${D}${datadir}/locale/
- cp -fpPR ${WORKDIR}/SUPPORTED ${dest}
+ cp -fpPR ${WORKDIR}/SUPPORTED $dest
- target=${dest}/scripts
+ target=$dest/scripts
mkdir -p $target
for i in ${bashscripts}; do
if [ -f ${D}${bindir}/$i ]; then
@@ -203,30 +203,38 @@ python do_stash_locale_setscene () {
}
addtask do_stash_locale_setscene
-do_poststash_install_cleanup () {
- # Remove all files which do_stash_locale would remove (mv)
- # since that task could have come from sstate and not get run.
+PACKAGE_PREPROCESS_FUNCS += "stash_locale_package_cleanup"
+SYSROOT_PREPROCESS_FUNCS += "stash_locale_sysroot_cleanup"
+stash_locale_cleanup () {
+ cleanupdir=$1
+ # Remove all files which do_stash_locale() copies
for i in ${bashscripts}; do
- rm -f ${D}${bindir}/$i
+ rm -f $cleanupdir${bindir}/$i
done
- rm -f ${D}${bindir}/localedef
- rm -rf ${D}${datadir}/i18n
- rm -rf ${D}${libdir}/gconv
- rm -rf ${D}/${localedir}
- rm -rf ${D}${datadir}/locale
- if [ "${libdir}" != "${exec_prefix}/lib" ]; then
- if [ -d "${D}${exec_prefix}/lib" ]; then
- if [ -z "${ARCH_DYNAMIC_LOADER}" -o \
- ! -e "${D}${exec_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then
- # error out if directory isn't empty
- # this dir should only contain locale dir
- # which has been deleted in the previous step
- rmdir ${D}${exec_prefix}/lib
+ rm -f $cleanupdir${bindir}/localedef
+ rm -rf $cleanupdir${datadir}/i18n
+ rm -rf $cleanupdir${libdir}/gconv
+ rm -rf $cleanupdir${localedir}
+ rm -rf $cleanupdir${datadir}/locale
+ if [ "${libdir}" != "${exec_prefix}/lib" ] && [ "${root_prefix}/lib" != "${exec_prefix}/lib" ]; then
+ if [ -d "$cleanupdir${exec_prefix}/lib" ]; then
+ if [ -z "${ARCH_DYNAMIC_LOADER}" -o \
+ ! -e "$cleanupdir${exec_prefix}/lib/${ARCH_DYNAMIC_LOADER}" ]; then
+ # error out if directory isn't empty
+ # this dir should only contain locale dir
+ # which has been deleted in the previous step
+ rmdir $cleanupdir${exec_prefix}/lib
+ fi
fi
- fi
fi
}
-addtask do_poststash_install_cleanup after do_stash_locale do_install before do_populate_sysroot do_package
+
+stash_locale_sysroot_cleanup() {
+ stash_locale_cleanup ${SYSROOT_DESTDIR}
+}
+stash_locale_package_cleanup() {
+ stash_locale_cleanup ${PKGD}
+}
pkg_postinst_nscd () {
if [ -z "$D" ]; then
diff --git a/poky/meta/recipes-core/glibc/glibc-scripts.inc b/poky/meta/recipes-core/glibc/glibc-scripts.inc
index 2a2b41507..14a14e451 100644
--- a/poky/meta/recipes-core/glibc/glibc-scripts.inc
+++ b/poky/meta/recipes-core/glibc/glibc-scripts.inc
@@ -18,3 +18,6 @@ do_install() {
# sotruss script requires sotruss-lib.so (given by libsotruss package),
# to produce trace of the library calls.
RDEPENDS_${PN} += "libsotruss"
+
+# Don't scan for CVEs as glibc will be scanned
+CVE_PRODUCT = ""
diff --git a/poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb b/poky/meta/recipes-core/glibc/glibc-scripts_2.30.bb
index 5a89bd802..5a89bd802 100644
--- a/poky/meta/recipes-core/glibc/glibc-scripts_2.29.bb
+++ b/poky/meta/recipes-core/glibc/glibc-scripts_2.30.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb b/poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb
new file mode 100644
index 000000000..657fd4dbc
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc-testsuite_2.30.bb
@@ -0,0 +1,60 @@
+require glibc_${PV}.bb
+
+# handle PN differences
+FILESEXTRAPATHS_prepend := "${THISDIR}/glibc:"
+
+# strip provides
+PROVIDES = ""
+# setup depends
+INHIBIT_DEFAULT_DEPS = ""
+
+python () {
+ libc = d.getVar("PREFERRED_PROVIDER_virtual/libc")
+ libclocale = d.getVar("PREFERRED_PROVIDER_virtual/libc-locale")
+ if libc != "glibc" or libclocale != "glibc-locale":
+ raise bb.parse.SkipRecipe("glibc-testsuite requires that virtual/libc is glibc")
+}
+
+DEPENDS += "glibc-locale libgcc gcc-runtime"
+
+# remove the initial depends
+DEPENDS_remove = "libgcc-initial"
+
+inherit qemu
+
+SRC_URI += "file://check-test-wrapper"
+
+DEPENDS += "${@'qemu-native' if d.getVar('TOOLCHAIN_TEST_TARGET') == 'user' else ''}"
+
+TOOLCHAIN_TEST_TARGET ??= "user"
+TOOLCHAIN_TEST_HOST ??= "localhost"
+TOOLCHAIN_TEST_HOST_USER ??= "root"
+TOOLCHAIN_TEST_HOST_PORT ??= "2222"
+
+do_check[dirs] += "${B}"
+do_check[nostamp] = "1"
+do_check () {
+ chmod 0755 ${WORKDIR}/check-test-wrapper
+
+ # clean out previous test results
+ oe_runmake tests-clean
+ # makefiles don't clean entirely (and also sometimes fails due to too many args)
+ find ${B} -type f -name "*.out" -delete
+ find ${B} -type f -name "*.test-result" -delete
+ find ${B}/catgets -name "*.cat" -delete
+ find ${B}/conform -name "symlist-*" -delete
+ [ ! -e ${B}/timezone/testdata ] || rm -rf ${B}/timezone/testdata
+
+ oe_runmake -i \
+ QEMU_SYSROOT="${RECIPE_SYSROOT}" \
+ QEMU_OPTIONS="${@qemu_target_binary(d)} ${QEMU_OPTIONS}" \
+ SSH_HOST="${TOOLCHAIN_TEST_HOST}" \
+ SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \
+ SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \
+ test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \
+ check
+}
+addtask do_check after do_compile
+
+inherit nopackages
+deltask do_stash_locale
diff --git a/poky/meta/recipes-core/glibc/glibc-version.inc b/poky/meta/recipes-core/glibc/glibc-version.inc
new file mode 100644
index 000000000..c18c58339
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc-version.inc
@@ -0,0 +1,8 @@
+SRCBRANCH ?= "release/2.30/master"
+PV = "2.30"
+SRCREV_glibc ?= "be9a328c93834648e0bec106a1f86357d1a8c7e1"
+SRCREV_localedef ?= "cd9f958c4c94a638fa7b2b4e21627364f1a1a655"
+
+GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
index 86ad9eaf1..d86d1d8dc 100644
--- a/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
@@ -1,7 +1,7 @@
-From 0cac7493366586e8f87e8459359c15f702ef8c81 Mon Sep 17 00:00:00 2001
+From f6984c923b41155979764bfa3f44609572be5414 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:48:24 +0000
-Subject: [PATCH 01/30] nativesdk-glibc: Look for host system ld.so.cache as
+Subject: [PATCH 01/28] nativesdk-glibc: Look for host system ld.so.cache as
well
Upstream-Status: Inappropriate [embedded specific]
@@ -31,10 +31,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index f972524421..e53c3a1b7b 100644
+index 5abeb867f1..981bd5b4af 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
-@@ -2085,6 +2085,14 @@ _dl_map_object (struct link_map *loader, const char *name,
+@@ -2080,6 +2080,14 @@ _dl_map_object (struct link_map *loader, const char *name,
}
}
@@ -49,7 +49,7 @@ index f972524421..e53c3a1b7b 100644
#ifdef USE_LDCONFIG
if (fd == -1
&& (__glibc_likely ((mode & __RTLD_SECURE) == 0)
-@@ -2143,14 +2151,6 @@ _dl_map_object (struct link_map *loader, const char *name,
+@@ -2138,14 +2146,6 @@ _dl_map_object (struct link_map *loader, const char *name,
}
#endif
@@ -65,5 +65,5 @@ index f972524421..e53c3a1b7b 100644
if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
_dl_debug_printf ("\n");
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch b/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch
deleted file mode 100644
index 1a343149c..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch
+++ /dev/null
@@ -1,204 +0,0 @@
-From 3f635fb43389b54f682fc9ed2acc0b2aaf4a923d Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Mon, 4 Feb 2019 06:31:01 -0800
-Subject: [PATCH] x86-64 memcmp: Use unsigned Jcc instructions on size [BZ
- #24155]
-
-Since the size argument is unsigned. we should use unsigned Jcc
-instructions, instead of signed, to check size.
-
-Tested on x86-64 and x32, with and without --disable-multi-arch.
-
- [BZ #24155]
- CVE-2019-7309
- * NEWS: Updated for CVE-2019-7309.
- * sysdeps/x86_64/memcmp.S: Use RDX_LP for size. Clear the
- upper 32 bits of RDX register for x32. Use unsigned Jcc
- instructions, instead of signed.
- * sysdeps/x86_64/x32/Makefile (tests): Add tst-size_t-memcmp-2.
- * sysdeps/x86_64/x32/tst-size_t-memcmp-2.c: New test.
-
-CVE: CVE-2019-7309
-Upstream-Status: Backport
-Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
-Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
----
- sysdeps/x86_64/memcmp.S | 20 +++---
- sysdeps/x86_64/x32/Makefile | 3 +-
- sysdeps/x86_64/x32/tst-size_t-memcmp-2.c | 79 ++++++++++++++++++++++++
- 5 files changed, 111 insertions(+), 10 deletions(-)
- create mode 100644 sysdeps/x86_64/x32/tst-size_t-memcmp-2.c
-
-diff --git a/sysdeps/x86_64/memcmp.S b/sysdeps/x86_64/memcmp.S
-index 1fc487caa5..1322bb3b92 100644
---- a/sysdeps/x86_64/memcmp.S
-+++ b/sysdeps/x86_64/memcmp.S
-@@ -21,14 +21,18 @@
-
- .text
- ENTRY (memcmp)
-- test %rdx, %rdx
-+#ifdef __ILP32__
-+ /* Clear the upper 32 bits. */
-+ movl %edx, %edx
-+#endif
-+ test %RDX_LP, %RDX_LP
- jz L(finz)
- cmpq $1, %rdx
-- jle L(finr1b)
-+ jbe L(finr1b)
- subq %rdi, %rsi
- movq %rdx, %r10
- cmpq $32, %r10
-- jge L(gt32)
-+ jae L(gt32)
- /* Handle small chunks and last block of less than 32 bytes. */
- L(small):
- testq $1, %r10
-@@ -156,7 +160,7 @@ L(A32):
- movq %r11, %r10
- andq $-32, %r10
- cmpq %r10, %rdi
-- jge L(mt16)
-+ jae L(mt16)
- /* Pre-unroll to be ready for unrolled 64B loop. */
- testq $32, %rdi
- jz L(A64)
-@@ -178,7 +182,7 @@ L(A64):
- movq %r11, %r10
- andq $-64, %r10
- cmpq %r10, %rdi
-- jge L(mt32)
-+ jae L(mt32)
-
- L(A64main):
- movdqu (%rdi,%rsi), %xmm0
-@@ -216,7 +220,7 @@ L(mt32):
- movq %r11, %r10
- andq $-32, %r10
- cmpq %r10, %rdi
-- jge L(mt16)
-+ jae L(mt16)
-
- L(A32main):
- movdqu (%rdi,%rsi), %xmm0
-@@ -254,7 +258,7 @@ L(ATR):
- movq %r11, %r10
- andq $-32, %r10
- cmpq %r10, %rdi
-- jge L(mt16)
-+ jae L(mt16)
- testq $16, %rdi
- jz L(ATR32)
-
-@@ -325,7 +329,7 @@ L(ATR64main):
- movq %r11, %r10
- andq $-32, %r10
- cmpq %r10, %rdi
-- jge L(mt16)
-+ jae L(mt16)
-
- L(ATR32res):
- movdqa (%rdi,%rsi), %xmm0
-diff --git a/sysdeps/x86_64/x32/Makefile b/sysdeps/x86_64/x32/Makefile
-index 1557724b0c..8748956563 100644
---- a/sysdeps/x86_64/x32/Makefile
-+++ b/sysdeps/x86_64/x32/Makefile
-@@ -8,7 +8,8 @@ endif
- ifeq ($(subdir),string)
- tests += tst-size_t-memchr tst-size_t-memcmp tst-size_t-memcpy \
- tst-size_t-memrchr tst-size_t-memset tst-size_t-strncasecmp \
-- tst-size_t-strncmp tst-size_t-strncpy tst-size_t-strnlen
-+ tst-size_t-strncmp tst-size_t-strncpy tst-size_t-strnlen \
-+ tst-size_t-memcmp-2
- endif
-
- ifeq ($(subdir),wcsmbs)
-diff --git a/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c b/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c
-new file mode 100644
-index 0000000000..d8ae1a0813
---- /dev/null
-+++ b/sysdeps/x86_64/x32/tst-size_t-memcmp-2.c
-@@ -0,0 +1,79 @@
-+/* Test memcmp with size_t in the lower 32 bits of 64-bit register.
-+ Copyright (C) 2019 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C 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.
-+
-+ The GNU C 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 the GNU C Library; if not, see
-+ <http://www.gnu.org/licenses/>. */
-+
-+#define TEST_MAIN
-+#ifdef WIDE
-+# define TEST_NAME "wmemcmp"
-+#else
-+# define TEST_NAME "memcmp"
-+#endif
-+
-+#include "test-size_t.h"
-+
-+#ifdef WIDE
-+# include <inttypes.h>
-+# include <wchar.h>
-+
-+# define MEMCMP wmemcmp
-+# define CHAR wchar_t
-+#else
-+# define MEMCMP memcmp
-+# define CHAR char
-+#endif
-+
-+IMPL (MEMCMP, 1)
-+
-+typedef int (*proto_t) (const CHAR *, const CHAR *, size_t);
-+
-+static int
-+__attribute__ ((noinline, noclone))
-+do_memcmp (parameter_t a, parameter_t b)
-+{
-+ return CALL (&b, a.p, b.p, a.len);
-+}
-+
-+static int
-+test_main (void)
-+{
-+ test_init ();
-+
-+ parameter_t dest = { { page_size / sizeof (CHAR) }, buf1 };
-+ parameter_t src = { { 0 }, buf2 };
-+
-+ memcpy (buf1, buf2, page_size);
-+
-+ CHAR *p = (CHAR *) buf1;
-+ p[page_size / sizeof (CHAR) - 1] = (CHAR) 1;
-+
-+ int ret = 0;
-+ FOR_EACH_IMPL (impl, 0)
-+ {
-+ src.fn = impl->fn;
-+ int res = do_memcmp (dest, src);
-+ if (res >= 0)
-+ {
-+ error (0, 0, "Wrong result in function %s: %i >= 0",
-+ impl->name, res);
-+ ret = 1;
-+ }
-+ }
-+
-+ return ret ? EXIT_FAILURE : EXIT_SUCCESS;
-+}
-+
-+#include <support/test-driver.c>
---
-2.17.1
-
diff --git a/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
index f663e18ed..63531082a 100644
--- a/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
@@ -1,7 +1,7 @@
-From f275c04e263fc2ebf2eaad6ac1ab3c838647bb14 Mon Sep 17 00:00:00 2001
+From b91c323d809039bf9b8c445418579a8b5fe61aea Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:50:00 +0000
-Subject: [PATCH 02/30] nativesdk-glibc: Fix buffer overrun with a relocated
+Subject: [PATCH 02/28] nativesdk-glibc: Fix buffer overrun with a relocated
SDK
When ld-linux-*.so.2 is relocated to a path that is longer than the
@@ -22,10 +22,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 12 insertions(+)
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index e53c3a1b7b..2bd9bc27f2 100644
+index 981bd5b4af..c7a0fa58cb 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
-@@ -1785,7 +1785,19 @@ open_path (const char *name, size_t namelen, int mode,
+@@ -1780,7 +1780,19 @@ open_path (const char *name, size_t namelen, int mode,
given on the command line when rtld is run directly. */
return -1;
@@ -46,5 +46,5 @@ index e53c3a1b7b..2bd9bc27f2 100644
{
struct r_search_path_elem *this_dir = *dirs;
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
index fd909f644..48f5a7871 100644
--- a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
@@ -1,7 +1,7 @@
-From 92df5673de18779b612609afa4f687e33e5ecb6e Mon Sep 17 00:00:00 2001
+From 3aceb84e2bc0f796204fe059beede91179b1bc6e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:51:38 +0000
-Subject: [PATCH 03/30] nativesdk-glibc: Raise the size of arrays containing dl
+Subject: [PATCH 03/28] nativesdk-glibc: Raise the size of arrays containing dl
paths
This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings
@@ -41,7 +41,7 @@ index d8d1e2344e..d2247bfc4f 100644
_dl_cache_libcmp (const char *p1, const char *p2)
{
diff --git a/elf/dl-load.c b/elf/dl-load.c
-index 2bd9bc27f2..4170cc1a09 100644
+index c7a0fa58cb..4b87505d45 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -110,8 +110,8 @@ static size_t max_capstrlen attribute_relro;
@@ -67,7 +67,7 @@ index 243829f5f7..0e74241703 100644
+const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
= RUNTIME_LINKER;
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
-index 206cd51df6..2fd4fb54ae 100644
+index 3bc9e61891..6a23096435 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -168,6 +168,9 @@ static struct argp argp =
@@ -81,10 +81,10 @@ index 206cd51df6..2fd4fb54ae 100644
a platform. */
static int
diff --git a/elf/rtld.c b/elf/rtld.c
-index 5d97f41b7b..26c5fef929 100644
+index c9490ff694..3962373ebb 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
-@@ -130,6 +130,7 @@ dso_name_valid_for_suid (const char *p)
+@@ -173,6 +173,7 @@ dso_name_valid_for_suid (const char *p)
}
return *p != '\0';
}
@@ -92,7 +92,7 @@ index 5d97f41b7b..26c5fef929 100644
/* LD_AUDIT variable contents. Must be processed before the
audit_list below. */
-@@ -1001,12 +1002,12 @@ of this helper program; chances are you did not intend to run this program.\n\
+@@ -1220,13 +1221,13 @@ of this helper program; chances are you did not intend to run this program.\n\
--list list all dependencies and how they are resolved\n\
--verify verify that given object really is a dynamically linked\n\
object we can handle\n\
@@ -102,8 +102,9 @@ index 5d97f41b7b..26c5fef929 100644
variable LD_LIBRARY_PATH\n\
--inhibit-rpath LIST ignore RUNPATH and RPATH information in object names\n\
in LIST\n\
-- --audit LIST use objects named in LIST as auditors\n");
-+ --audit LIST use objects named in LIST as auditors\n", LD_SO_CACHE);
+ --audit LIST use objects named in LIST as auditors\n\
+- --preload LIST preload objects named in LIST\n");
++ --preload LIST preload objects named in LIST\n", LD_SO_CACHE);
++_dl_skip_args;
--_dl_argc;
@@ -136,5 +137,5 @@ index bc8b40331d..b0fdd2144b 100644
# define add_system_dir(dir) add_dir (dir)
#endif
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
index d6c9aac69..a43f29434 100644
--- a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
@@ -1,7 +1,7 @@
-From ff0f4756f1a98202726c65745aca38354864e033 Mon Sep 17 00:00:00 2001
+From e41e042149eac349e09fa629fcac4c64e574322c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 14:35:35 -0800
-Subject: [PATCH 04/30] nativesdk-glibc: Allow 64 bit atomics for x86
+Subject: [PATCH 04/28] nativesdk-glibc: Allow 64 bit atomics for x86
The fix consist of allowing 64bit atomic ops for x86.
This should be safe for i586 and newer CPUs.
@@ -38,5 +38,5 @@ index aa60ca4cd6..3e42e00183 100644
# define SEG_REG "gs"
# define BR_CONSTRAINT "r"
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
index 9f9f503a1..3aad603ad 100644
--- a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch
@@ -1,7 +1,7 @@
-From b2ec111dc3a42d9dce71c903524724ae82ff22d8 Mon Sep 17 00:00:00 2001
+From 50ab0b0c116f4ae3d975ec1b15ed4595fd9147f6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 3 Aug 2018 09:55:12 -0700
-Subject: [PATCH 05/30] nativesdk-glibc: Make relocatable install for locales
+Subject: [PATCH 05/28] nativesdk-glibc: Make relocatable install for locales
The glibc locale path is hard-coded to the install prefix, but in SDKs we need
to be able to relocate the binaries. Expand the strings to 4K and put them in a
@@ -66,5 +66,5 @@ index 7c1cc3eecb..53cb8bfc59 100644
/* Load the locale data for CATEGORY from the file specified by *NAME.
If *NAME is "", use environment variables as specified by POSIX, and
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch b/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
index a6dddebbc..5e1c59143 100644
--- a/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch
@@ -1,7 +1,7 @@
-From 4dc4b4f63dd79734078fa54446edb7fe2d9c74fa Mon Sep 17 00:00:00 2001
+From 7cccf5cec09f2a42cc3fe5d82ce21b7309330b33 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:01:50 +0000
-Subject: [PATCH 06/30] fsl e500/e5500/e6500/603e fsqrt implementation
+Subject: [PATCH 06/28] fsl e500/e5500/e6500/603e fsqrt implementation
Upstream-Status: Pending
Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
@@ -1580,5 +1580,5 @@ index 0000000000..04ff8cc181
@@ -0,0 +1 @@
+powerpc/powerpc64/e6500/fpu
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch b/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
index 17ffc6fd4..ae6fb268a 100644
--- a/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch
@@ -1,7 +1,7 @@
-From 5506296ef55a6e4916febab63805ddf2d5a5293c Mon Sep 17 00:00:00 2001
+From dc715f6c70d01e9c3b31c1825fa5bc447967c847 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:11:22 +0000
-Subject: [PATCH 07/30] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
+Subject: [PATCH 07/28] readlib: Add OECORE_KNOWN_INTERPRETER_NAMES to known
names
This bolts in a hook for OE to pass its own version of interpreter
@@ -29,5 +29,5 @@ index c9743e6692..6307f918fc 100644
static struct known_names known_libs[] =
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch b/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
index aacc9f2e3..8bed20306 100644
--- a/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch
@@ -1,7 +1,7 @@
-From ea969d7767428d73823c91ad9955829bd66b9e58 Mon Sep 17 00:00:00 2001
+From 42a01c55786a9472934e12e0bf0c40983579b607 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:15:07 +0000
-Subject: [PATCH 08/30] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
+Subject: [PATCH 08/28] ppc/sqrt: Fix undefined reference to `__sqrt_finite'
on ppc fixes the errors like below
| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
@@ -204,5 +204,5 @@ index 26fa067abf..9d175122a8 100644
}
+strong_alias (__ieee754_sqrtf, __sqrtf_finite)
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
index b1d441303..8a5d6d8b7 100644
--- a/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
@@ -1,7 +1,7 @@
-From a9e6ca45cdaf13ee595089a5a580d00a95a06bf1 Mon Sep 17 00:00:00 2001
+From a0fcb9135bc8c2b9d8a161d166b6f9d56d7af245 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:16:38 +0000
-Subject: [PATCH 09/30] __ieee754_sqrt{,f} are now inline functions and call
+Subject: [PATCH 09/28] __ieee754_sqrt{,f} are now inline functions and call
out __slow versions
Upstream-Status: Pending
@@ -383,5 +383,5 @@ index 9d175122a8..10de1f0cc3 100644
+
strong_alias (__ieee754_sqrtf, __sqrtf_finite)
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch b/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
index 46d205808..a140a1547 100644
--- a/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch
@@ -1,7 +1,7 @@
-From 50ad00401eb16bb88c57d95bc927deeec4033e01 Mon Sep 17 00:00:00 2001
+From 9c1f2229c48c37b38628c485ef16e01f6780160c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:20:09 +0000
-Subject: [PATCH 10/30] Quote from bug 1443 which explains what the patch does
+Subject: [PATCH 10/28] Quote from bug 1443 which explains what the patch does
:
We build some random program and link it with -lust. When we run it,
@@ -58,5 +58,5 @@ index 7a2f9d9b78..36a1dd1888 100644
case R_ARM_TLS_TPOFF32:
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
index 293b72e79..cb99092ee 100644
--- a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch
@@ -1,7 +1,7 @@
-From a29a718890a3f32e7135f6b64b1a80c74f2d1454 Mon Sep 17 00:00:00 2001
+From 171d2afb930917b0cfbe9df770774da1c92dd185 Mon Sep 17 00:00:00 2001
From: Ting Liu <b28495@freescale.com>
Date: Wed, 19 Dec 2012 04:39:57 -0600
-Subject: [PATCH 11/30] eglibc: run libm-err-tab.pl with specific dirs in ${S}
+Subject: [PATCH 11/28] eglibc: run libm-err-tab.pl with specific dirs in ${S}
libm-err-tab.pl will parse all the files named "libm-test-ulps"
in the given dir recursively. To avoid parsing the one in
@@ -32,5 +32,5 @@ index 4f76ee85d2..04b8c8c320 100644
touch $@
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
index 6e175b64d..e233fbe54 100644
--- a/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch
@@ -1,7 +1,7 @@
-From 777da88a819738683e4389580cfbfded2a83e87e Mon Sep 17 00:00:00 2001
+From 376be7b96152ef501c8cf95ed6dc52c0318bd26a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:24:46 +0000
-Subject: [PATCH 12/30] __ieee754_sqrt{,f} are now inline functions and call
+Subject: [PATCH 12/28] __ieee754_sqrt{,f} are now inline functions and call
out __slow versions
Upstream-Status: Pending
@@ -57,5 +57,5 @@ index 812653558f..10de1f0cc3 100644
#endif
{
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch b/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
index b5adecba0..9ba52e6e1 100644
--- a/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch
@@ -1,7 +1,7 @@
-From f98b1b9e6b569abd3594b4923ace0c966c9daece Mon Sep 17 00:00:00 2001
+From 1ba4e9577437632856d719cbd5d63b5a76cbb4c4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:27:10 +0000
-Subject: [PATCH 13/30] sysdeps/gnu/configure.ac: handle correctly
+Subject: [PATCH 13/28] sysdeps/gnu/configure.ac: handle correctly
$libc_cv_rootsbindir
Upstream-Status:Pending
@@ -38,5 +38,5 @@ index 634fe4de2a..3db1697f4f 100644
;;
esac
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch b/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
index 1cd91475d..0a602bb38 100644
--- a/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0014-Add-unused-attribute.patch
@@ -1,7 +1,7 @@
-From b9cd992052550d4b2bba954099e221677a6652e7 Mon Sep 17 00:00:00 2001
+From b84999dcf642b07e6c14e6ff507be14743349949 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:28:41 +0000
-Subject: [PATCH 14/30] Add unused attribute
+Subject: [PATCH 14/28] Add unused attribute
Helps in avoiding gcc warning when header is is included in
a source file which does not use both functions
@@ -30,5 +30,5 @@ index 91e0ad3141..2e9549fe49 100644
{
int slash_count = 0;
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
index f2e180239..dd6562a63 100644
--- a/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0015-yes-within-the-path-sets-wrong-config-variables.patch
@@ -1,7 +1,7 @@
-From e8a88fb3bb6ffcc43871a7caf7ad9c59bd183e50 Mon Sep 17 00:00:00 2001
+From 7c57f84bef4aaffe4204a7a354411ab3ea7e5273 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:31:06 +0000
-Subject: [PATCH 15/30] 'yes' within the path sets wrong config variables
+Subject: [PATCH 15/28] 'yes' within the path sets wrong config variables
It seems that the 'AC_EGREP_CPP(yes...' example is quite popular
but being such a short word to grep it is likely to produce
@@ -259,5 +259,5 @@ index f9cba6e15d..b21f72f1e4 100644
], libc_cv_ppc64_def_call_elf=yes, libc_cv_ppc64_def_call_elf=no)])
if test $libc_cv_ppc64_def_call_elf = no; then
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
index 8a9fa4916..4d1cf3197 100644
--- a/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0016-timezone-re-written-tzselect-as-posix-sh.patch
@@ -1,7 +1,7 @@
-From 10f470476dc947d7b950d6a66f7c06f500c96c60 Mon Sep 17 00:00:00 2001
+From a74f31ea9edf105f1a6dc26497aa2a12ae736660 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:33:03 +0000
-Subject: [PATCH 16/30] timezone: re-written tzselect as posix sh
+Subject: [PATCH 16/28] timezone: re-written tzselect as posix sh
To avoid the bash dependency.
@@ -41,5 +41,5 @@ index 18fce27e24..70745f9d36 100755
# Output one argument as-is to standard output.
# Safer than 'echo', which can mishandle '\' or leading '-'.
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
index a27759a39..e4f8a135d 100644
--- a/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0017-Remove-bash-dependency-for-nscd-init-script.patch
@@ -1,7 +1,7 @@
-From 809392d20fa9a9f8159242451f9969e65a658835 Mon Sep 17 00:00:00 2001
+From 95882b9864ff20e476d15c6825c83728eb99597f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 14:33:02 -0800
-Subject: [PATCH 17/30] Remove bash dependency for nscd init script
+Subject: [PATCH 17/28] Remove bash dependency for nscd init script
The nscd init script uses #! /bin/bash but only really uses one bashism
(translated strings), so remove them and switch the shell to #!/bin/sh.
@@ -71,5 +71,5 @@ index a882da7d8b..b02986ec15 100644
;;
esac
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
index f80a3ee1d..b5efc4304 100644
--- a/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0018-eglibc-Cross-building-and-testing-instructions.patch
@@ -1,7 +1,7 @@
-From 016d6987600d49d3f45874096e943b97d1667539 Mon Sep 17 00:00:00 2001
+From 6b603d25cc5723ba631dfc60b544774db1147d81 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:42:58 +0000
-Subject: [PATCH 18/30] eglibc: Cross building and testing instructions
+Subject: [PATCH 18/28] eglibc: Cross building and testing instructions
Ported from eglibc
Upstream-Status: Pending
@@ -615,5 +615,5 @@ index 0000000000..b67b468466
+ simply place copies of these libraries in the top GLIBC build
+ directory.
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
index 603bf2188..0333db281 100644
--- a/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0019-eglibc-Help-bootstrap-cross-toolchain.patch
@@ -1,7 +1,7 @@
-From 7e4423528d362cf6268b1902a8e30d710431f333 Mon Sep 17 00:00:00 2001
+From 2864aaae984d945445f3f79869c703e0b791df88 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:49:28 +0000
-Subject: [PATCH 19/30] eglibc: Help bootstrap cross toolchain
+Subject: [PATCH 19/28] eglibc: Help bootstrap cross toolchain
Taken from EGLIBC, r1484 + r1525
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 include/stubs-bootstrap.h
diff --git a/Makefile b/Makefile
-index 4a014d6eff..3a1f419bc3 100644
+index 9fbf705200..64bfd455bc 100644
--- a/Makefile
+++ b/Makefile
@@ -70,9 +70,18 @@ subdir-dirs = include
@@ -52,7 +52,7 @@ index 4a014d6eff..3a1f419bc3 100644
ifeq (yes,$(build-shared))
headers += gnu/lib-names.h
endif
-@@ -195,6 +204,16 @@ others: $(common-objpfx)testrun.sh
+@@ -196,6 +205,16 @@ others: $(common-objpfx)testrun.sh
subdir-stubs := $(foreach dir,$(subdirs),$(common-objpfx)$(dir)/stubs)
@@ -69,7 +69,7 @@ index 4a014d6eff..3a1f419bc3 100644
ifndef abi-variants
installed-stubs = $(inst_includedir)/gnu/stubs.h
else
-@@ -221,6 +240,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force)
+@@ -222,6 +241,7 @@ $(inst_includedir)/gnu/stubs.h: $(+force)
install-others-nosubdir: $(installed-stubs)
endif
@@ -96,5 +96,5 @@ index 0000000000..1d2b669aff
+ EGLIBC subdir 'stubs' make targets, on every .o file in EGLIBC, but
+ an empty stubs.h like this will do fine for GCC. */
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
index 985b17b58..965ad6578 100644
--- a/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0020-eglibc-Clear-cache-lines-on-ppc8xx.patch
@@ -1,7 +1,7 @@
-From 8c4d7d70a84a69fe5e8d69539368aa11f8fe20aa Mon Sep 17 00:00:00 2001
+From e2667086bf984de4d3f1226b9467761cd5a4c39f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 31 Dec 2015 15:15:09 -0800
-Subject: [PATCH 20/30] eglibc: Clear cache lines on ppc8xx
+Subject: [PATCH 20/28] eglibc: Clear cache lines on ppc8xx
2007-06-13 Nathan Sidwell <nathan@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
@@ -79,5 +79,5 @@ index 4fd5f70700..1a21e4675c 100644
break;
#ifndef SHARED
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
index fb1b43b18..76551cf55 100644
--- a/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0021-eglibc-Resolve-__fpscr_values-on-SH4.patch
@@ -1,7 +1,7 @@
-From 19f041215673d4499ee9b23805d5c224c4063689 Mon Sep 17 00:00:00 2001
+From b7290e54a1bda7a0212131655bc27926fc22de22 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 00:55:53 +0000
-Subject: [PATCH 21/30] eglibc: Resolve __fpscr_values on SH4
+Subject: [PATCH 21/28] eglibc: Resolve __fpscr_values on SH4
2010-09-29 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Andrew Stubbs <ams@codesourcery.com>
@@ -52,5 +52,5 @@ index 6ce36d6dd5..425811cc77 100644
+weak_alias (___fpscr_values, __fpscr_values)
+
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
index a2d35d43e..c46021a47 100644
--- a/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0022-eglibc-Forward-port-cross-locale-generation-support.patch
@@ -1,7 +1,7 @@
-From 1ae15f60a84f16187e06a05906f44a6658bae487 Mon Sep 17 00:00:00 2001
+From be382b4e0c6de52573f7e037f2d4ff9b1b5bbb6b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2015 01:33:49 +0000
-Subject: [PATCH 22/30] eglibc: Forward port cross locale generation support
+Subject: [PATCH 22/28] eglibc: Forward port cross locale generation support
Upstream-Status: Pending
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 locale/catnames.c
diff --git a/locale/Makefile b/locale/Makefile
-index 764e751c36..866957fefa 100644
+index d78cf9b83a..e166f5252e 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -26,7 +26,8 @@ headers = langinfo.h locale.h bits/locale.h \
@@ -150,7 +150,7 @@ index 94c122df68..80e53e12c8 100644
return NULL;
}
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
-index bb4e2c539d..9d08d422c4 100644
+index 6baab6cfb0..b12a2fceab 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -349,7 +349,7 @@ new_element (struct locale_collate_t *collate, const char *mbs, size_t mbslen,
@@ -199,7 +199,7 @@ index bb4e2c539d..9d08d422c4 100644
== runp->wcnext->wcs[runp->nwcs - 1] + 1));
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c
-index 36fd08ba80..08155a27d6 100644
+index cfc9c43fd5..6572cc199c 100644
--- a/locale/programs/ld-ctype.c
+++ b/locale/programs/ld-ctype.c
@@ -915,7 +915,7 @@ ctype_output (struct localedef_t *locale, const struct charmap_t *charmap,
@@ -211,7 +211,7 @@ index 36fd08ba80..08155a27d6 100644
: 0);
init_locale_data (&file, nelems);
-@@ -1926,7 +1926,7 @@ read_translit_entry (struct linereader *ldfile, struct locale_ctype_t *ctype,
+@@ -1927,7 +1927,7 @@ read_translit_entry (struct linereader *ldfile, struct locale_ctype_t *ctype,
ignore = 1;
else
/* This value is usable. */
@@ -220,7 +220,7 @@ index 36fd08ba80..08155a27d6 100644
first = 0;
}
-@@ -2460,8 +2460,8 @@ with character code range values one must use the absolute ellipsis `...'"));
+@@ -2461,8 +2461,8 @@ with character code range values one must use the absolute ellipsis `...'"));
}
handle_tok_digit:
@@ -231,7 +231,7 @@ index 36fd08ba80..08155a27d6 100644
handle_digits = 1;
goto read_charclass;
-@@ -3901,8 +3901,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
+@@ -3904,8 +3904,7 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
while (idx < number)
{
@@ -241,7 +241,7 @@ index 36fd08ba80..08155a27d6 100644
if (res == 0)
{
replace = 1;
-@@ -3939,11 +3938,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
+@@ -3942,11 +3941,11 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
for (size_t cnt = 0; cnt < number; ++cnt)
{
struct translit_to_t *srunp;
@@ -255,7 +255,7 @@ index 36fd08ba80..08155a27d6 100644
srunp = srunp->next;
}
/* Plus one for the extra NUL character marking the end of
-@@ -3967,18 +3966,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
+@@ -3970,18 +3969,18 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
ctype->translit_from_idx[cnt] = from_len;
ctype->translit_to_idx[cnt] = to_len;
@@ -521,7 +521,7 @@ index c063fc097d..4e7465e55a 100644
+
#endif /* locfile.h */
diff --git a/locale/setlocale.c b/locale/setlocale.c
-index 9427a5ad28..8f4140d684 100644
+index 9bd35454b9..2a67dc6589 100644
--- a/locale/setlocale.c
+++ b/locale/setlocale.c
@@ -64,36 +64,6 @@ static char *const _nl_current_used[] =
@@ -562,5 +562,5 @@ index 9427a5ad28..8f4140d684 100644
# define WEAK_POSTLOAD(postload) weak_extern (postload)
#else
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch b/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
index 0f7c5fdf7..17667da99 100644
--- a/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0023-Define-DUMMY_LOCALE_T-if-not-defined.patch
@@ -1,7 +1,7 @@
-From 809c79b7d554a4ec83921df9d8773c99a03dc81c Mon Sep 17 00:00:00 2001
+From afa8d6faeddeb80aca318b33edf49d9f8ce65761 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 20 Apr 2016 21:11:00 -0700
-Subject: [PATCH 23/30] Define DUMMY_LOCALE_T if not defined
+Subject: [PATCH 23/28] Define DUMMY_LOCALE_T if not defined
This is a hack to fix building the locale bits on an older
CentOs 5.X machine
@@ -28,5 +28,5 @@ index a1e6e0ec3c..7f75528eae 100644
#define PACKAGE _libc_intl_domainname
#ifndef VERSION
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
index c289e544e..f68e4f4fa 100644
--- a/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
@@ -1,7 +1,7 @@
-From b2d1c9b4159bfd661a4996588d06d922491dfecb Mon Sep 17 00:00:00 2001
+From c13e18adb634a6fd59129150ab7f9468f64dc931 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 3 Aug 2018 09:42:06 -0700
-Subject: [PATCH 24/30] localedef --add-to-archive uses a hard-coded locale
+Subject: [PATCH 24/28] localedef --add-to-archive uses a hard-coded locale
path
it doesn't exist in normal use, and there's no way to pass an
@@ -80,5 +80,5 @@ index e6310b18be..f54a76eade 100644
if (readonly)
{
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch b/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
index 0ddd2e58b..76a9eb256 100644
--- a/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch
@@ -1,7 +1,7 @@
-From 804b05a034bfaf4e3427243e6baf736086822cd0 Mon Sep 17 00:00:00 2001
+From 7c9ebe966bb97dd14de5719905b61311211ae3c8 Mon Sep 17 00:00:00 2001
From: Mark Hatle <mark.hatle@windriver.com>
Date: Thu, 18 Aug 2016 14:07:58 -0500
-Subject: [PATCH 25/30] elf/dl-deps.c: Make _dl_build_local_scope breadth first
+Subject: [PATCH 25/28] elf/dl-deps.c: Make _dl_build_local_scope breadth first
According to the ELF specification:
@@ -52,5 +52,5 @@ index e12c353158..9234daac05 100644
}
--
-2.20.1
+2.22.0
diff --git a/poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch b/poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch
new file mode 100644
index 000000000..7589e11d5
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0026-intl-Emit-no-lines-in-bison-generated-files.patch
@@ -0,0 +1,34 @@
+From aa5c758fbb7dbb026df33fc6bdc05548547bdb17 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 3 Aug 2018 09:44:00 -0700
+Subject: [PATCH 26/28] intl: Emit no lines in bison generated files
+
+Improve reproducibility:
+Do not put any #line preprocessor commands in bison generated files.
+These lines contain absolute paths containing file locations on
+the host build machine.
+
+Upstream-Status: Pending
+
+Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ intl/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/intl/Makefile b/intl/Makefile
+index 9eea8d57e3..627dce4cf1 100644
+--- a/intl/Makefile
++++ b/intl/Makefile
+@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out
+
+ CPPFLAGS += -D'LOCALEDIR="$(localedir)"' \
+ -D'LOCALE_ALIAS_PATH="$(localedir)"'
+-BISONFLAGS = --yacc --name-prefix=__gettext --output
++BISONFLAGS = --yacc --no-lines --name-prefix=__gettext --output
+
+ $(inst_localedir)/locale.alias: locale.alias $(+force)
+ $(do-install)
+--
+2.22.0
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0027-inject-file-assembly-directives.patch b/poky/meta/recipes-core/glibc/glibc/0027-inject-file-assembly-directives.patch
new file mode 100644
index 000000000..dc205a833
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0027-inject-file-assembly-directives.patch
@@ -0,0 +1,304 @@
+From fecd98040a2ae1bc5943a40a1623d76a696e0785 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Nov 2018 17:29:35 -0800
+Subject: [PATCH 27/28] inject file assembly directives
+
+Currently, non-IA builds are not reproducibile since build paths are
+being injected into the debug symbols. These are coming from the use of
+.S assembler files during the glibc build. No STT_FILE section is added
+during the assembly but when linking, ld decides to add one to aid
+debugging and ensure references between the different object files its
+linking remain clear.
+
+We can avoid this by injecting a file header into the assembler files
+ahead of time, choosing a filename which does not contain build system
+paths.
+
+This is a bit of a workaround/hack but does significantly reduce the
+build system references in target binaries for the non-IA architectures
+which use .S files.
+
+RP
+2018/10/3
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ csu/abi-note.S | 2 ++
+ sysdeps/aarch64/crti.S | 2 ++
+ sysdeps/aarch64/crtn.S | 2 ++
+ sysdeps/aarch64/dl-tlsdesc.S | 2 ++
+ sysdeps/aarch64/dl-trampoline.S | 2 ++
+ sysdeps/aarch64/start.S | 2 ++
+ sysdeps/arm/abi-note.S | 2 ++
+ sysdeps/arm/crti.S | 2 ++
+ sysdeps/arm/crtn.S | 2 ++
+ sysdeps/arm/dl-tlsdesc.S | 2 ++
+ sysdeps/arm/dl-trampoline.S | 2 ++
+ sysdeps/arm/start.S | 2 ++
+ sysdeps/mips/start.S | 2 ++
+ sysdeps/powerpc/powerpc32/dl-start.S | 2 ++
+ sysdeps/powerpc/powerpc32/start.S | 2 ++
+ sysdeps/powerpc/powerpc64/start.S | 2 ++
+ sysdeps/unix/sysv/linux/aarch64/__read_tp.S | 2 ++
+ sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | 2 ++
+ sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | 2 ++
+ sysdeps/unix/sysv/linux/powerpc/dl-brk.S | 2 ++
+ 20 files changed, 40 insertions(+)
+
+diff --git a/csu/abi-note.S b/csu/abi-note.S
+index fa1f014a88..098731362a 100644
+--- a/csu/abi-note.S
++++ b/csu/abi-note.S
+@@ -56,6 +56,8 @@ offset length contents
+ #include <config.h>
+ #include <abi-tag.h> /* OS-specific ABI tag value */
+
++ .file "abi-note.S"
++
+ /* The linker (GNU ld 2.8 and later) recognizes an allocated section whose
+ name begins with `.note' and creates a PT_NOTE program header entry
+ pointing at it. */
+diff --git a/sysdeps/aarch64/crti.S b/sysdeps/aarch64/crti.S
+index d4e7dfcf5c..e0218df30c 100644
+--- a/sysdeps/aarch64/crti.S
++++ b/sysdeps/aarch64/crti.S
+@@ -50,6 +50,8 @@
+ # define PREINIT_FUNCTION_WEAK 1
+ #endif
+
++ .file "crti.S"
++
+ #if PREINIT_FUNCTION_WEAK
+ weak_extern (PREINIT_FUNCTION)
+ #else
+diff --git a/sysdeps/aarch64/crtn.S b/sysdeps/aarch64/crtn.S
+index 363f752460..2fb06fba62 100644
+--- a/sysdeps/aarch64/crtn.S
++++ b/sysdeps/aarch64/crtn.S
+@@ -37,6 +37,8 @@
+ /* crtn.S puts function epilogues in the .init and .fini sections
+ corresponding to the prologues in crti.S. */
+
++ .file "crtn.S"
++
+ .section .init,"ax",%progbits
+ ldp x29, x30, [sp], 16
+ RET
+diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S
+index 4abe6b82a3..8c44b2ff8a 100644
+--- a/sysdeps/aarch64/dl-tlsdesc.S
++++ b/sysdeps/aarch64/dl-tlsdesc.S
+@@ -22,6 +22,8 @@
+ #include <tls.h>
+ #include "tlsdesc.h"
+
++ .file "dl-tlsdesc.S"
++
+ #define NSAVEDQREGPAIRS 16
+ #define SAVE_Q_REGISTERS \
+ stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \
+diff --git a/sysdeps/aarch64/dl-trampoline.S b/sysdeps/aarch64/dl-trampoline.S
+index 19b117e8f9..38c78b5409 100644
+--- a/sysdeps/aarch64/dl-trampoline.S
++++ b/sysdeps/aarch64/dl-trampoline.S
+@@ -21,6 +21,8 @@
+
+ #include "dl-link.h"
+
++ .file "dl-trampoline.S"
++
+ #define ip0 x16
+ #define ip0l PTR_REG (16)
+ #define ip1 x17
+diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S
+index f5e9b9c223..ae3e22a6a5 100644
+--- a/sysdeps/aarch64/start.S
++++ b/sysdeps/aarch64/start.S
+@@ -18,6 +18,8 @@
+
+ #include <sysdep.h>
+
++ .file "start.S"
++
+ /* This is the canonical entry point, usually the first thing in the text
+ segment.
+
+diff --git a/sysdeps/arm/abi-note.S b/sysdeps/arm/abi-note.S
+index 07bd4c4619..7213b16f27 100644
+--- a/sysdeps/arm/abi-note.S
++++ b/sysdeps/arm/abi-note.S
+@@ -1,3 +1,5 @@
++ .file "abi-note.S"
++
+ /* Tag_ABI_align8_preserved: This code preserves 8-byte
+ alignment in any callee. */
+ .eabi_attribute 25, 1
+diff --git a/sysdeps/arm/crti.S b/sysdeps/arm/crti.S
+index 26dbba66a3..dd84ecd566 100644
+--- a/sysdeps/arm/crti.S
++++ b/sysdeps/arm/crti.S
+@@ -57,6 +57,8 @@
+ .hidden PREINIT_FUNCTION
+ #endif
+
++ .file "crti.S"
++
+ #if PREINIT_FUNCTION_WEAK
+ .p2align 2
+ .type call_weak_fn, %function
+diff --git a/sysdeps/arm/crtn.S b/sysdeps/arm/crtn.S
+index 8f91c8d88b..a87fe49e07 100644
+--- a/sysdeps/arm/crtn.S
++++ b/sysdeps/arm/crtn.S
+@@ -37,6 +37,8 @@
+ #define NO_THUMB
+ #include <sysdep.h>
+
++ .file "crtn.S"
++
+ /* crtn.S puts function epilogues in the .init and .fini sections
+ corresponding to the prologues in crti.S. */
+
+diff --git a/sysdeps/arm/dl-tlsdesc.S b/sysdeps/arm/dl-tlsdesc.S
+index a929340b42..b724c9776d 100644
+--- a/sysdeps/arm/dl-tlsdesc.S
++++ b/sysdeps/arm/dl-tlsdesc.S
+@@ -21,6 +21,8 @@
+ #include <tls.h>
+ #include "tlsdesc.h"
+
++ .file "dl-tlsdesc.S"
++
+ .text
+ @ emit debug information with cfi
+ @ use arm-specific pseudos for unwinding itself
+diff --git a/sysdeps/arm/dl-trampoline.S b/sysdeps/arm/dl-trampoline.S
+index 325cfcd2ce..4bfdcbce51 100644
+--- a/sysdeps/arm/dl-trampoline.S
++++ b/sysdeps/arm/dl-trampoline.S
+@@ -21,6 +21,8 @@
+ #include <sysdep.h>
+ #include <libc-symbols.h>
+
++ .file "dl-trampoline.S"
++
+ .text
+ .globl _dl_runtime_resolve
+ .type _dl_runtime_resolve, #function
+diff --git a/sysdeps/arm/start.S b/sysdeps/arm/start.S
+index a05f8a4651..2f4374fcaa 100644
+--- a/sysdeps/arm/start.S
++++ b/sysdeps/arm/start.S
+@@ -57,6 +57,8 @@
+ NULL
+ */
+
++ .file "start.S"
++
+ /* Tag_ABI_align8_preserved: This code preserves 8-byte
+ alignment in any callee. */
+ .eabi_attribute 25, 1
+diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S
+index 8638e5b545..93f6564aec 100644
+--- a/sysdeps/mips/start.S
++++ b/sysdeps/mips/start.S
+@@ -38,6 +38,8 @@
+ #include <sgidefs.h>
+ #include <sys/asm.h>
+
++ .file "start.S"
++
+ #ifndef ENTRY_POINT
+ #error ENTRY_POINT needs to be defined for start.S on MIPS/ELF.
+ #endif
+diff --git a/sysdeps/powerpc/powerpc32/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S
+index 99a10d643a..e47fc0d245 100644
+--- a/sysdeps/powerpc/powerpc32/dl-start.S
++++ b/sysdeps/powerpc/powerpc32/dl-start.S
+@@ -18,6 +18,8 @@
+
+ #include <sysdep.h>
+
++ .file "dl-start.S"
++
+ /* Initial entry point code for the dynamic linker.
+ The C function `_dl_start' is the real entry point;
+ its return value is the user program's entry point. */
+diff --git a/sysdeps/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S
+index 172fb5a56b..ef1471b861 100644
+--- a/sysdeps/powerpc/powerpc32/start.S
++++ b/sysdeps/powerpc/powerpc32/start.S
+@@ -35,6 +35,8 @@
+
+ #include <sysdep.h>
+
++ .file "start.S"
++
+ /* We do not want .eh_frame info for crt1.o since crt1.o is linked
+ before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
+ #undef cfi_startproc
+diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S
+index 55fae68ad6..0cb608fe0f 100644
+--- a/sysdeps/powerpc/powerpc64/start.S
++++ b/sysdeps/powerpc/powerpc64/start.S
+@@ -35,6 +35,8 @@
+
+ #include <sysdep.h>
+
++ .file "start.S"
++
+ /* We do not want .eh_frame info for crt1.o since crt1.o is linked
+ before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
+ #undef cfi_startproc
+diff --git a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
+index 30a29b9fb0..07892b383f 100644
+--- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
++++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
+@@ -18,6 +18,8 @@
+
+ #include <sysdep.h>
+
++ .file "__read_tp.S"
++
+ .hidden __read_tp
+ ENTRY (__read_tp)
+ mrs x0, tpidr_el0
+diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
+index f64c4ffe8a..2da315ab08 100644
+--- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
++++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
+@@ -39,6 +39,8 @@
+ a normal function call) in a high page of memory; tail call to the
+ helper. */
+
++ .file "aeabi_read_tp.S"
++
+ .hidden __aeabi_read_tp
+ ENTRY (__aeabi_read_tp)
+ #ifdef ARCH_HAS_HARD_TP
+diff --git a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
+index 0b6237ac55..8cda491c28 100644
+--- a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
++++ b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
+@@ -27,6 +27,8 @@
+ ARM unwind tables for register to register moves, the actual opcodes
+ are not defined. */
+
++ .file "libc-do-syscall.S"
++
+ #if defined(__thumb__)
+ .thumb
+ .syntax unified
+diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
+index eeb96544e3..da182b28f8 100644
+--- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
++++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
+@@ -1 +1,3 @@
++ .file "dl-brk.S"
++
+ #include <brk.S>
+--
+2.22.0
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch b/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch
deleted file mode 100644
index 0eb006ffb..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0028-intl-Emit-no-lines-in-bison-generated-files.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 39f910a4b8195d0538425aad7f0ebdc232b7a582 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 3 Aug 2018 09:44:00 -0700
-Subject: [PATCH 28/30] intl: Emit no lines in bison generated files
-
-Improve reproducibility:
-Do not put any #line preprocessor commands in bison generated files.
-These lines contain absolute paths containing file locations on
-the host build machine.
-
-Upstream-Status: Pending
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- intl/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/intl/Makefile b/intl/Makefile
-index 9eea8d57e3..627dce4cf1 100644
---- a/intl/Makefile
-+++ b/intl/Makefile
-@@ -155,7 +155,7 @@ $(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out
-
- CPPFLAGS += -D'LOCALEDIR="$(localedir)"' \
- -D'LOCALE_ALIAS_PATH="$(localedir)"'
--BISONFLAGS = --yacc --name-prefix=__gettext --output
-+BISONFLAGS = --yacc --no-lines --name-prefix=__gettext --output
-
- $(inst_localedir)/locale.alias: locale.alias $(+force)
- $(do-install)
---
-2.20.1
-
diff --git a/poky/meta/recipes-core/glibc/glibc/0028-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/poky/meta/recipes-core/glibc/glibc/0028-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
new file mode 100644
index 000000000..6c49066fd
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0028-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
@@ -0,0 +1,56 @@
+From d934788e3221c28c9a1892235cbe4cfd1b28ced0 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Mon, 17 Dec 2018 21:36:18 +0000
+Subject: [PATCH 28/28] locale: prevent maybe-uninitialized errors with -Os [BZ
+ #19444]
+
+Fixes following error when building for aarch64 with -Os:
+| In file included from strcoll_l.c:43:
+| strcoll_l.c: In function '__strcoll_l':
+| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+| int_fast32_t i = table[*(*cpp)++];
+| ^~~~~~~~~
+| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here
+| coll_seq seq1, seq2;
+| ^~~~
+| In file included from strcoll_l.c:43:
+| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+| int_fast32_t i = table[*(*cpp)++];
+| ^~~~~~~~~
+| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here
+| coll_seq seq1, seq2;
+| ^~~~
+
+ Partial fix for [BZ #19444]
+ * locale/weight.h: Fix build with -Os.
+
+Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/1014766]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ locale/weight.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/locale/weight.h b/locale/weight.h
+index 7ca81498b2..d608ca70bb 100644
+--- a/locale/weight.h
++++ b/locale/weight.h
+@@ -28,7 +28,14 @@ findidx (const int32_t *table,
+ const unsigned char *extra,
+ const unsigned char **cpp, size_t len)
+ {
++ /* With GCC 8 when compiling with -Os the compiler warns that
++ seq1.back_us and seq2.back_us might be used uninitialized.
++ This uninitialized use is impossible for the same reason
++ as described in comments in locale/weightwc.h. */
++ DIAG_PUSH_NEEDS_COMMENT;
++ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
+ int_fast32_t i = table[*(*cpp)++];
++ DIAG_POP_NEEDS_COMMENT;
+ const unsigned char *cp;
+ const unsigned char *usrc;
+
+--
+2.22.0
+
diff --git a/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch b/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch
deleted file mode 100644
index 2874fb581..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0029-inject-file-assembly-directives.patch
+++ /dev/null
@@ -1,304 +0,0 @@
-From 649bfb399265eb48a9fe8db1c2b5a31633c55152 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 29 Nov 2018 17:29:35 -0800
-Subject: [PATCH 29/30] inject file assembly directives
-
-Currently, non-IA builds are not reproducibile since build paths are
-being injected into the debug symbols. These are coming from the use of
-.S assembler files during the glibc build. No STT_FILE section is added
-during the assembly but when linking, ld decides to add one to aid
-debugging and ensure references between the different object files its
-linking remain clear.
-
-We can avoid this by injecting a file header into the assembler files
-ahead of time, choosing a filename which does not contain build system
-paths.
-
-This is a bit of a workaround/hack but does significantly reduce the
-build system references in target binaries for the non-IA architectures
-which use .S files.
-
-RP
-2018/10/3
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- csu/abi-note.S | 2 ++
- sysdeps/aarch64/crti.S | 2 ++
- sysdeps/aarch64/crtn.S | 2 ++
- sysdeps/aarch64/dl-tlsdesc.S | 2 ++
- sysdeps/aarch64/dl-trampoline.S | 2 ++
- sysdeps/aarch64/start.S | 2 ++
- sysdeps/arm/abi-note.S | 2 ++
- sysdeps/arm/crti.S | 2 ++
- sysdeps/arm/crtn.S | 2 ++
- sysdeps/arm/dl-tlsdesc.S | 2 ++
- sysdeps/arm/dl-trampoline.S | 2 ++
- sysdeps/arm/start.S | 2 ++
- sysdeps/mips/start.S | 2 ++
- sysdeps/powerpc/powerpc32/dl-start.S | 2 ++
- sysdeps/powerpc/powerpc32/start.S | 2 ++
- sysdeps/powerpc/powerpc64/start.S | 2 ++
- sysdeps/unix/sysv/linux/aarch64/__read_tp.S | 2 ++
- sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S | 2 ++
- sysdeps/unix/sysv/linux/arm/libc-do-syscall.S | 2 ++
- sysdeps/unix/sysv/linux/powerpc/dl-brk.S | 2 ++
- 20 files changed, 40 insertions(+)
-
-diff --git a/csu/abi-note.S b/csu/abi-note.S
-index fa1f014a88..098731362a 100644
---- a/csu/abi-note.S
-+++ b/csu/abi-note.S
-@@ -56,6 +56,8 @@ offset length contents
- #include <config.h>
- #include <abi-tag.h> /* OS-specific ABI tag value */
-
-+ .file "abi-note.S"
-+
- /* The linker (GNU ld 2.8 and later) recognizes an allocated section whose
- name begins with `.note' and creates a PT_NOTE program header entry
- pointing at it. */
-diff --git a/sysdeps/aarch64/crti.S b/sysdeps/aarch64/crti.S
-index d4e7dfcf5c..e0218df30c 100644
---- a/sysdeps/aarch64/crti.S
-+++ b/sysdeps/aarch64/crti.S
-@@ -50,6 +50,8 @@
- # define PREINIT_FUNCTION_WEAK 1
- #endif
-
-+ .file "crti.S"
-+
- #if PREINIT_FUNCTION_WEAK
- weak_extern (PREINIT_FUNCTION)
- #else
-diff --git a/sysdeps/aarch64/crtn.S b/sysdeps/aarch64/crtn.S
-index 363f752460..2fb06fba62 100644
---- a/sysdeps/aarch64/crtn.S
-+++ b/sysdeps/aarch64/crtn.S
-@@ -37,6 +37,8 @@
- /* crtn.S puts function epilogues in the .init and .fini sections
- corresponding to the prologues in crti.S. */
-
-+ .file "crtn.S"
-+
- .section .init,"ax",%progbits
- ldp x29, x30, [sp], 16
- RET
-diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S
-index 4abe6b82a3..8c44b2ff8a 100644
---- a/sysdeps/aarch64/dl-tlsdesc.S
-+++ b/sysdeps/aarch64/dl-tlsdesc.S
-@@ -22,6 +22,8 @@
- #include <tls.h>
- #include "tlsdesc.h"
-
-+ .file "dl-tlsdesc.S"
-+
- #define NSAVEDQREGPAIRS 16
- #define SAVE_Q_REGISTERS \
- stp q0, q1, [sp, #-32*NSAVEDQREGPAIRS]!; \
-diff --git a/sysdeps/aarch64/dl-trampoline.S b/sysdeps/aarch64/dl-trampoline.S
-index 19b117e8f9..38c78b5409 100644
---- a/sysdeps/aarch64/dl-trampoline.S
-+++ b/sysdeps/aarch64/dl-trampoline.S
-@@ -21,6 +21,8 @@
-
- #include "dl-link.h"
-
-+ .file "dl-trampoline.S"
-+
- #define ip0 x16
- #define ip0l PTR_REG (16)
- #define ip1 x17
-diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S
-index f5e9b9c223..ae3e22a6a5 100644
---- a/sysdeps/aarch64/start.S
-+++ b/sysdeps/aarch64/start.S
-@@ -18,6 +18,8 @@
-
- #include <sysdep.h>
-
-+ .file "start.S"
-+
- /* This is the canonical entry point, usually the first thing in the text
- segment.
-
-diff --git a/sysdeps/arm/abi-note.S b/sysdeps/arm/abi-note.S
-index 07bd4c4619..7213b16f27 100644
---- a/sysdeps/arm/abi-note.S
-+++ b/sysdeps/arm/abi-note.S
-@@ -1,3 +1,5 @@
-+ .file "abi-note.S"
-+
- /* Tag_ABI_align8_preserved: This code preserves 8-byte
- alignment in any callee. */
- .eabi_attribute 25, 1
-diff --git a/sysdeps/arm/crti.S b/sysdeps/arm/crti.S
-index 26dbba66a3..dd84ecd566 100644
---- a/sysdeps/arm/crti.S
-+++ b/sysdeps/arm/crti.S
-@@ -57,6 +57,8 @@
- .hidden PREINIT_FUNCTION
- #endif
-
-+ .file "crti.S"
-+
- #if PREINIT_FUNCTION_WEAK
- .p2align 2
- .type call_weak_fn, %function
-diff --git a/sysdeps/arm/crtn.S b/sysdeps/arm/crtn.S
-index 8f91c8d88b..a87fe49e07 100644
---- a/sysdeps/arm/crtn.S
-+++ b/sysdeps/arm/crtn.S
-@@ -37,6 +37,8 @@
- #define NO_THUMB
- #include <sysdep.h>
-
-+ .file "crtn.S"
-+
- /* crtn.S puts function epilogues in the .init and .fini sections
- corresponding to the prologues in crti.S. */
-
-diff --git a/sysdeps/arm/dl-tlsdesc.S b/sysdeps/arm/dl-tlsdesc.S
-index a929340b42..b724c9776d 100644
---- a/sysdeps/arm/dl-tlsdesc.S
-+++ b/sysdeps/arm/dl-tlsdesc.S
-@@ -21,6 +21,8 @@
- #include <tls.h>
- #include "tlsdesc.h"
-
-+ .file "dl-tlsdesc.S"
-+
- .text
- @ emit debug information with cfi
- @ use arm-specific pseudos for unwinding itself
-diff --git a/sysdeps/arm/dl-trampoline.S b/sysdeps/arm/dl-trampoline.S
-index 325cfcd2ce..4bfdcbce51 100644
---- a/sysdeps/arm/dl-trampoline.S
-+++ b/sysdeps/arm/dl-trampoline.S
-@@ -21,6 +21,8 @@
- #include <sysdep.h>
- #include <libc-symbols.h>
-
-+ .file "dl-trampoline.S"
-+
- .text
- .globl _dl_runtime_resolve
- .type _dl_runtime_resolve, #function
-diff --git a/sysdeps/arm/start.S b/sysdeps/arm/start.S
-index a05f8a4651..2f4374fcaa 100644
---- a/sysdeps/arm/start.S
-+++ b/sysdeps/arm/start.S
-@@ -57,6 +57,8 @@
- NULL
- */
-
-+ .file "start.S"
-+
- /* Tag_ABI_align8_preserved: This code preserves 8-byte
- alignment in any callee. */
- .eabi_attribute 25, 1
-diff --git a/sysdeps/mips/start.S b/sysdeps/mips/start.S
-index 8638e5b545..93f6564aec 100644
---- a/sysdeps/mips/start.S
-+++ b/sysdeps/mips/start.S
-@@ -38,6 +38,8 @@
- #include <sgidefs.h>
- #include <sys/asm.h>
-
-+ .file "start.S"
-+
- #ifndef ENTRY_POINT
- #error ENTRY_POINT needs to be defined for start.S on MIPS/ELF.
- #endif
-diff --git a/sysdeps/powerpc/powerpc32/dl-start.S b/sysdeps/powerpc/powerpc32/dl-start.S
-index 99a10d643a..e47fc0d245 100644
---- a/sysdeps/powerpc/powerpc32/dl-start.S
-+++ b/sysdeps/powerpc/powerpc32/dl-start.S
-@@ -18,6 +18,8 @@
-
- #include <sysdep.h>
-
-+ .file "dl-start.S"
-+
- /* Initial entry point code for the dynamic linker.
- The C function `_dl_start' is the real entry point;
- its return value is the user program's entry point. */
-diff --git a/sysdeps/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S
-index 172fb5a56b..ef1471b861 100644
---- a/sysdeps/powerpc/powerpc32/start.S
-+++ b/sysdeps/powerpc/powerpc32/start.S
-@@ -35,6 +35,8 @@
-
- #include <sysdep.h>
-
-+ .file "start.S"
-+
- /* We do not want .eh_frame info for crt1.o since crt1.o is linked
- before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
- #undef cfi_startproc
-diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S
-index 55fae68ad6..0cb608fe0f 100644
---- a/sysdeps/powerpc/powerpc64/start.S
-+++ b/sysdeps/powerpc/powerpc64/start.S
-@@ -35,6 +35,8 @@
-
- #include <sysdep.h>
-
-+ .file "start.S"
-+
- /* We do not want .eh_frame info for crt1.o since crt1.o is linked
- before crtbegin.o, the file defining __EH_FRAME_BEGIN__. */
- #undef cfi_startproc
-diff --git a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
-index 30a29b9fb0..07892b383f 100644
---- a/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
-+++ b/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
-@@ -18,6 +18,8 @@
-
- #include <sysdep.h>
-
-+ .file "__read_tp.S"
-+
- .hidden __read_tp
- ENTRY (__read_tp)
- mrs x0, tpidr_el0
-diff --git a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
-index f64c4ffe8a..2da315ab08 100644
---- a/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
-+++ b/sysdeps/unix/sysv/linux/arm/aeabi_read_tp.S
-@@ -39,6 +39,8 @@
- a normal function call) in a high page of memory; tail call to the
- helper. */
-
-+ .file "aeabi_read_tp.S"
-+
- .hidden __aeabi_read_tp
- ENTRY (__aeabi_read_tp)
- #ifdef ARCH_HAS_HARD_TP
-diff --git a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
-index 0b6237ac55..8cda491c28 100644
---- a/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
-+++ b/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S
-@@ -27,6 +27,8 @@
- ARM unwind tables for register to register moves, the actual opcodes
- are not defined. */
-
-+ .file "libc-do-syscall.S"
-+
- #if defined(__thumb__)
- .thumb
- .syntax unified
-diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
-index eeb96544e3..da182b28f8 100644
---- a/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
-+++ b/sysdeps/unix/sysv/linux/powerpc/dl-brk.S
-@@ -1 +1,3 @@
-+ .file "dl-brk.S"
-+
- #include <brk.S>
---
-2.20.1
-
diff --git a/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch b/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
deleted file mode 100644
index adc242400..000000000
--- a/poky/meta/recipes-core/glibc/glibc/0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 6ddab9c8692e6a777c2e2e7a6ca26a65df7d2c5d Mon Sep 17 00:00:00 2001
-From: Martin Jansa <martin.jansa@gmail.com>
-Date: Mon, 17 Dec 2018 21:36:18 +0000
-Subject: [PATCH 30/30] locale: prevent maybe-uninitialized errors with -Os [BZ
- #19444]
-
-Fixes following error when building for aarch64 with -Os:
-| In file included from strcoll_l.c:43:
-| strcoll_l.c: In function '__strcoll_l':
-| ../locale/weight.h:31:26: error: 'seq2.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-| int_fast32_t i = table[*(*cpp)++];
-| ^~~~~~~~~
-| strcoll_l.c:304:18: note: 'seq2.back_us' was declared here
-| coll_seq seq1, seq2;
-| ^~~~
-| In file included from strcoll_l.c:43:
-| ../locale/weight.h:31:26: error: 'seq1.back_us' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-| int_fast32_t i = table[*(*cpp)++];
-| ^~~~~~~~~
-| strcoll_l.c:304:12: note: 'seq1.back_us' was declared here
-| coll_seq seq1, seq2;
-| ^~~~
-
- Partial fix for [BZ #19444]
- * locale/weight.h: Fix build with -Os.
-
-Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/1014766]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- locale/weight.h | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/locale/weight.h b/locale/weight.h
-index 7ca81498b2..d608ca70bb 100644
---- a/locale/weight.h
-+++ b/locale/weight.h
-@@ -28,7 +28,14 @@ findidx (const int32_t *table,
- const unsigned char *extra,
- const unsigned char **cpp, size_t len)
- {
-+ /* With GCC 8 when compiling with -Os the compiler warns that
-+ seq1.back_us and seq2.back_us might be used uninitialized.
-+ This uninitialized use is impossible for the same reason
-+ as described in comments in locale/weightwc.h. */
-+ DIAG_PUSH_NEEDS_COMMENT;
-+ DIAG_IGNORE_Os_NEEDS_COMMENT (8, "-Wmaybe-uninitialized");
- int_fast32_t i = table[*(*cpp)++];
-+ DIAG_POP_NEEDS_COMMENT;
- const unsigned char *cp;
- const unsigned char *usrc;
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch b/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch
deleted file mode 100644
index bc40361c5..000000000
--- a/poky/meta/recipes-core/glibc/glibc/CVE-2019-9169.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-CVE: CVE-2019-9169
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 583dd860d5b833037175247230a328f0050dbfe9 Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Mon, 21 Jan 2019 11:08:13 -0800
-Subject: [PATCH] regex: fix read overrun [BZ #24114]
-
-Problem found by AddressSanitizer, reported by Hongxu Chen in:
-https://debbugs.gnu.org/34140
-* posix/regexec.c (proceed_next_node):
-Do not read past end of input buffer.
----
- posix/regexec.c | 6 ++++--
- 2 files changed, 13 insertions(+), 3 deletions(-)
-
-diff --git a/posix/regexec.c b/posix/regexec.c
-index 91d5a79..084b122 100644
---- a/posix/regexec.c
-+++ b/posix/regexec.c
-@@ -1293,8 +1293,10 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
- else if (naccepted)
- {
- char *buf = (char *) re_string_get_buffer (&mctx->input);
-- if (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx,
-- naccepted) != 0)
-+ if (mctx->input.valid_len - *pidx < naccepted
-+ || (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx,
-+ naccepted)
-+ != 0))
- return -1;
- }
- }
---
-2.9.3
diff --git a/poky/meta/recipes-core/glibc/glibc/add-cross-localedef-hardlink.patch b/poky/meta/recipes-core/glibc/glibc/add-cross-localedef-hardlink.patch
new file mode 100644
index 000000000..847112194
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/add-cross-localedef-hardlink.patch
@@ -0,0 +1,1115 @@
+---
+ locale/programs/c.h | 407 ++++++++++++++++++++++
+ locale/programs/cross-localedef-hardlink.c | 528 +++++++++++++++++++++++++++++
+ locale/programs/xalloc.h | 129 +++++++
+ localedef/Makefile.in | 8
+ 4 files changed, 1071 insertions(+), 1 deletion(-)
+
+--- /dev/null
++++ b/locale/programs/cross-localedef-hardlink.c
+@@ -0,0 +1,528 @@
++/*
++ * hardlink - consolidate duplicate files via hardlinks
++ *
++ * Copyright (C) 2018 Red Hat, Inc. All rights reserved.
++ * Written by Jakub Jelinek <jakub@redhat.com>
++ *
++ * Copyright (C) 2019 Karel Zak <kzak@redhat.com>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it would 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, write to the Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++ */
++#include <sys/types.h>
++#include <stdlib.h>
++#include <getopt.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <sys/stat.h>
++#include <sys/mman.h>
++#include <string.h>
++#include <dirent.h>
++#include <fcntl.h>
++#include <errno.h>
++#ifdef HAVE_PCRE
++# define PCRE2_CODE_UNIT_WIDTH 8
++# include <pcre2.h>
++#endif
++
++#include "c.h"
++#include "xalloc.h"
++#include "nls.h"
++#include "closestream.h"
++
++#define NHASH (1<<17) /* Must be a power of 2! */
++#define NBUF 64
++
++struct hardlink_file;
++
++struct hardlink_hash {
++ struct hardlink_hash *next;
++ struct hardlink_file *chain;
++ off_t size;
++ time_t mtime;
++};
++
++struct hardlink_dir {
++ struct hardlink_dir *next;
++ char name[];
++};
++
++struct hardlink_file {
++ struct hardlink_file *next;
++ ino_t ino;
++ dev_t dev;
++ unsigned int cksum;
++ char name[];
++};
++
++struct hardlink_dynstr {
++ char *buf;
++ size_t alloc;
++};
++
++struct hardlink_ctl {
++ struct hardlink_dir *dirs;
++ struct hardlink_hash *hps[NHASH];
++ char iobuf1[BUFSIZ];
++ char iobuf2[BUFSIZ];
++ /* summary counters */
++ unsigned long long ndirs;
++ unsigned long long nobjects;
++ unsigned long long nregfiles;
++ unsigned long long ncomp;
++ unsigned long long nlinks;
++ unsigned long long nsaved;
++ /* current device */
++ dev_t dev;
++ /* flags */
++ unsigned int verbose;
++ unsigned int
++ no_link:1,
++ content_only:1,
++ force:1;
++};
++/* ctl is in global scope due use in atexit() */
++struct hardlink_ctl global_ctl;
++
++__attribute__ ((always_inline))
++static inline unsigned int hash(off_t size, time_t mtime)
++{
++ return (size ^ mtime) & (NHASH - 1);
++}
++
++__attribute__ ((always_inline))
++static inline int stcmp(struct stat *st1, struct stat *st2, int content_scope)
++{
++ if (content_scope)
++ return st1->st_size != st2->st_size;
++
++ return st1->st_mode != st2->st_mode
++ || st1->st_uid != st2->st_uid
++ || st1->st_gid != st2->st_gid
++ || st1->st_size != st2->st_size
++ || st1->st_mtime != st2->st_mtime;
++}
++
++static void print_summary(void)
++{
++ struct hardlink_ctl const *const ctl = &global_ctl;
++
++ if (!ctl->verbose)
++ return;
++
++ if (ctl->verbose > 1 && ctl->nlinks)
++ fputc('\n', stdout);
++
++ printf(_("Directories: %9lld\n"), ctl->ndirs);
++ printf(_("Objects: %9lld\n"), ctl->nobjects);
++ printf(_("Regular files: %9lld\n"), ctl->nregfiles);
++ printf(_("Comparisons: %9lld\n"), ctl->ncomp);
++ printf( "%s%9lld\n", (ctl->no_link ?
++ _("Would link: ") :
++ _("Linked: ")), ctl->nlinks);
++ printf( "%s %9lld\n", (ctl->no_link ?
++ _("Would save: ") :
++ _("Saved: ")), ctl->nsaved);
++}
++
++static void __attribute__((__noreturn__)) usage(void)
++{
++ fputs(USAGE_HEADER, stdout);
++ printf(_(" %s [options] directory...\n"), program_invocation_short_name);
++
++ fputs(USAGE_SEPARATOR, stdout);
++ puts(_("Consolidate duplicate files using hardlinks."));
++
++ fputs(USAGE_OPTIONS, stdout);
++ puts(_(" -c, --content compare only contents, ignore permission, etc."));
++ puts(_(" -n, --dry-run don't actually link anything"));
++ puts(_(" -v, --verbose print summary after hardlinking"));
++ puts(_(" -vv print every hardlinked file and summary"));
++ puts(_(" -f, --force force hardlinking across filesystems"));
++ puts(_(" -x, --exclude <regex> exclude files matching pattern"));
++
++ fputs(USAGE_SEPARATOR, stdout);
++ printf(USAGE_HELP_OPTIONS(16)); /* char offset to align option descriptions */
++ printf(USAGE_MAN_TAIL("hardlink(1)"));
++ exit(EXIT_SUCCESS);
++}
++
++__attribute__ ((always_inline))
++static inline size_t add2(size_t a, size_t b)
++{
++ size_t sum = a + b;
++
++ if (sum < a)
++ errx(EXIT_FAILURE, _("integer overflow"));
++ return sum;
++}
++
++__attribute__ ((always_inline))
++static inline size_t add3(size_t a, size_t b, size_t c)
++{
++ return add2(add2(a, b), c);
++}
++
++static void growstr(struct hardlink_dynstr *str, size_t newlen)
++{
++ if (newlen < str->alloc)
++ return;
++ str->buf = xrealloc(str->buf, str->alloc = add2(newlen, 1));
++}
++
++static void process_path(struct hardlink_ctl *ctl, const char *name)
++{
++ struct stat st, st2, st3;
++ const size_t namelen = strlen(name);
++
++ ctl->nobjects++;
++ if (lstat(name, &st))
++ return;
++
++ if (st.st_dev != ctl->dev && !ctl->force) {
++ if (ctl->dev)
++ errx(EXIT_FAILURE,
++ _("%s is on different filesystem than the rest "
++ "(use -f option to override)."), name);
++ ctl->dev = st.st_dev;
++ }
++ if (S_ISDIR(st.st_mode)) {
++ struct hardlink_dir *dp = xmalloc(add3(sizeof(*dp), namelen, 1));
++ memcpy(dp->name, name, namelen + 1);
++ dp->next = ctl->dirs;
++ ctl->dirs = dp;
++
++ } else if (S_ISREG(st.st_mode)) {
++ int fd, i;
++ struct hardlink_file *fp, *fp2;
++ struct hardlink_hash *hp;
++ const char *n1, *n2;
++ unsigned int buf[NBUF];
++ int cksumsize = sizeof(buf);
++ unsigned int cksum;
++ time_t mtime = ctl->content_only ? 0 : st.st_mtime;
++ unsigned int hsh = hash(st.st_size, mtime);
++ off_t fsize;
++
++ ctl->nregfiles++;
++ if (ctl->verbose > 1)
++ printf("%s\n", name);
++
++ fd = open(name, O_RDONLY);
++ if (fd < 0)
++ return;
++
++ if ((size_t)st.st_size < sizeof(buf)) {
++ cksumsize = st.st_size;
++ memset(((char *)buf) + cksumsize, 0,
++ (sizeof(buf) - cksumsize) % sizeof(buf[0]));
++ }
++ if (read(fd, buf, cksumsize) != cksumsize) {
++ close(fd);
++ return;
++ }
++ cksumsize = (cksumsize + sizeof(buf[0]) - 1) / sizeof(buf[0]);
++ for (i = 0, cksum = 0; i < cksumsize; i++) {
++ if (cksum + buf[i] < cksum)
++ cksum += buf[i] + 1;
++ else
++ cksum += buf[i];
++ }
++ for (hp = ctl->hps[hsh]; hp; hp = hp->next) {
++ if (hp->size == st.st_size && hp->mtime == mtime)
++ break;
++ }
++ if (!hp) {
++ hp = xmalloc(sizeof(*hp));
++ hp->size = st.st_size;
++ hp->mtime = mtime;
++ hp->chain = NULL;
++ hp->next = ctl->hps[hsh];
++ ctl->hps[hsh] = hp;
++ }
++ for (fp = hp->chain; fp; fp = fp->next) {
++ if (fp->cksum == cksum)
++ break;
++ }
++ for (fp2 = fp; fp2 && fp2->cksum == cksum; fp2 = fp2->next) {
++ if (fp2->ino == st.st_ino && fp2->dev == st.st_dev) {
++ close(fd);
++ return;
++ }
++ }
++ for (fp2 = fp; fp2 && fp2->cksum == cksum; fp2 = fp2->next) {
++
++ if (!lstat(fp2->name, &st2) && S_ISREG(st2.st_mode) &&
++ !stcmp(&st, &st2, ctl->content_only) &&
++ st2.st_ino != st.st_ino &&
++ st2.st_dev == st.st_dev) {
++
++ int fd2 = open(fp2->name, O_RDONLY);
++ if (fd2 < 0)
++ continue;
++
++ if (fstat(fd2, &st2) || !S_ISREG(st2.st_mode)
++ || st2.st_size == 0) {
++ close(fd2);
++ continue;
++ }
++ ctl->ncomp++;
++ lseek(fd, 0, SEEK_SET);
++
++ for (fsize = st.st_size; fsize > 0;
++ fsize -= (off_t)sizeof(ctl->iobuf1)) {
++ ssize_t xsz;
++ ssize_t rsize = fsize > (ssize_t) sizeof(ctl->iobuf1) ?
++ (ssize_t) sizeof(ctl->iobuf1) : fsize;
++
++ if ((xsz = read(fd, ctl->iobuf1, rsize)) != rsize)
++ warn(_("cannot read %s"), name);
++ else if ((xsz = read(fd2, ctl->iobuf2, rsize)) != rsize)
++ warn(_("cannot read %s"), fp2->name);
++
++ if (xsz != rsize) {
++ close(fd);
++ close(fd2);
++ return;
++ }
++ if (memcmp(ctl->iobuf1, ctl->iobuf2, rsize))
++ break;
++ }
++ close(fd2);
++ if (fsize > 0)
++ continue;
++ if (lstat(name, &st3)) {
++ warn(_("cannot stat %s"), name);
++ close(fd);
++ return;
++ }
++ st3.st_atime = st.st_atime;
++ if (stcmp(&st, &st3, 0)) {
++ warnx(_("file %s changed underneath us"), name);
++ close(fd);
++ return;
++ }
++ n1 = fp2->name;
++ n2 = name;
++
++ if (!ctl->no_link) {
++ const char *suffix =
++ ".$$$___cleanit___$$$";
++ const size_t suffixlen = strlen(suffix);
++ size_t n2len = strlen(n2);
++ struct hardlink_dynstr nam2 = { NULL, 0 };
++
++ growstr(&nam2, add2(n2len, suffixlen));
++ memcpy(nam2.buf, n2, n2len);
++ memcpy(&nam2.buf[n2len], suffix,
++ suffixlen + 1);
++ /* First create a temporary link to n1 under a new name */
++ if (link(n1, nam2.buf)) {
++ warn(_("failed to hardlink %s to %s (create temporary link as %s failed)"),
++ n1, n2, nam2.buf);
++ free(nam2.buf);
++ continue;
++ }
++ /* Then rename into place over the existing n2 */
++ if (rename(nam2.buf, n2)) {
++ warn(_("failed to hardlink %s to %s (rename temporary link to %s failed)"),
++ n1, n2, n2);
++ /* Something went wrong, try to remove the now redundant temporary link */
++ if (unlink(nam2.buf))
++ warn(_("failed to remove temporary link %s"), nam2.buf);
++ free(nam2.buf);
++ continue;
++ }
++ free(nam2.buf);
++ }
++ ctl->nlinks++;
++ if (st3.st_nlink > 1) {
++ /* We actually did not save anything this time, since the link second argument
++ had some other links as well. */
++ if (ctl->verbose > 1)
++ printf(_(" %s %s to %s\n"),
++ (ctl->no_link ? _("Would link") : _("Linked")),
++ n1, n2);
++ } else {
++ ctl->nsaved += ((st.st_size + 4095) / 4096) * 4096;
++ if (ctl->verbose > 1)
++ printf(_(" %s %s to %s, %s %jd\n"),
++ (ctl->no_link ? _("Would link") : _("Linked")),
++ n1, n2,
++ (ctl->no_link ? _("would save") : _("saved")),
++ (intmax_t)st.st_size);
++ }
++ close(fd);
++ return;
++ }
++ }
++ fp2 = xmalloc(add3(sizeof(*fp2), namelen, 1));
++ close(fd);
++ fp2->ino = st.st_ino;
++ fp2->dev = st.st_dev;
++ fp2->cksum = cksum;
++ memcpy(fp2->name, name, namelen + 1);
++
++ if (fp) {
++ fp2->next = fp->next;
++ fp->next = fp2;
++ } else {
++ fp2->next = hp->chain;
++ hp->chain = fp2;
++ }
++ return;
++ }
++}
++
++int main(int argc, char **argv)
++{
++ int ch;
++ int i;
++#ifdef HAVE_PCRE
++ int errornumber;
++ PCRE2_SIZE erroroffset;
++ pcre2_code *re = NULL;
++ PCRE2_SPTR exclude_pattern = NULL;
++ pcre2_match_data *match_data = NULL;
++#endif
++ struct hardlink_dynstr nam1 = { NULL, 0 };
++ struct hardlink_ctl *ctl = &global_ctl;
++
++ static const struct option longopts[] = {
++ { "content", no_argument, NULL, 'c' },
++ { "dry-run", no_argument, NULL, 'n' },
++ { "exclude", required_argument, NULL, 'x' },
++ { "force", no_argument, NULL, 'f' },
++ { "help", no_argument, NULL, 'h' },
++ { "verbose", no_argument, NULL, 'v' },
++ { "version", no_argument, NULL, 'V' },
++ { NULL, 0, NULL, 0 },
++ };
++
++ setlocale(LC_ALL, "");
++ bindtextdomain(PACKAGE, LOCALEDIR);
++ textdomain(PACKAGE);
++ close_stdout_atexit();
++
++ while ((ch = getopt_long(argc, argv, "cnvfx:Vh", longopts, NULL)) != -1) {
++ switch (ch) {
++ case 'n':
++ ctl->no_link = 1;
++ break;
++ case 'v':
++ ctl->verbose++;
++ break;
++ case 'c':
++ ctl->content_only = 1;
++ break;
++ case 'f':
++ ctl->force = 1;
++ break;
++ case 'x':
++#ifdef HAVE_PCRE
++ exclude_pattern = (PCRE2_SPTR) optarg;
++#else
++ errx(EXIT_FAILURE,
++ _("option --exclude not supported (built without pcre2)"));
++#endif
++ break;
++ case 'V':
++ print_version(EXIT_SUCCESS);
++ case 'h':
++ usage();
++ default:
++ errtryhelp(EXIT_FAILURE);
++ }
++ }
++
++ if (optind == argc) {
++ warnx(_("no directory specified"));
++ errtryhelp(EXIT_FAILURE);
++ }
++
++#ifdef HAVE_PCRE
++ if (exclude_pattern) {
++ re = pcre2_compile(exclude_pattern, /* the pattern */
++ PCRE2_ZERO_TERMINATED, /* indicates pattern is zero-terminate */
++ 0, /* default options */
++ &errornumber, &erroroffset, NULL); /* use default compile context */
++ if (!re) {
++ PCRE2_UCHAR buffer[256];
++ pcre2_get_error_message(errornumber, buffer,
++ sizeof(buffer));
++ errx(EXIT_FAILURE, _("pattern error at offset %d: %s"),
++ (int)erroroffset, buffer);
++ }
++ match_data = pcre2_match_data_create_from_pattern(re, NULL);
++ }
++#endif
++ atexit(print_summary);
++
++ for (i = optind; i < argc; i++)
++ process_path(ctl, argv[i]);
++
++ while (ctl->dirs) {
++ DIR *dh;
++ struct dirent *di;
++ struct hardlink_dir *dp = ctl->dirs;
++ size_t nam1baselen = strlen(dp->name);
++
++ ctl->dirs = dp->next;
++ growstr(&nam1, add2(nam1baselen, 1));
++ memcpy(nam1.buf, dp->name, nam1baselen);
++ free(dp);
++ nam1.buf[nam1baselen++] = '/';
++ nam1.buf[nam1baselen] = 0;
++ dh = opendir(nam1.buf);
++
++ if (dh == NULL)
++ continue;
++ ctl->ndirs++;
++
++ while ((di = readdir(dh)) != NULL) {
++ if (!di->d_name[0])
++ continue;
++ if (di->d_name[0] == '.') {
++ if (!di->d_name[1] || !strcmp(di->d_name, ".."))
++ continue;
++ }
++#ifdef HAVE_PCRE
++ if (re && pcre2_match(re, /* compiled regex */
++ (PCRE2_SPTR) di->d_name, strlen(di->d_name), 0, /* start at offset 0 */
++ 0, /* default options */
++ match_data, /* block for storing the result */
++ NULL) /* use default match context */
++ >=0) {
++ if (ctl->verbose) {
++ nam1.buf[nam1baselen] = 0;
++ printf(_("Skipping %s%s\n"), nam1.buf, di->d_name);
++ }
++ continue;
++ }
++#endif
++ {
++ size_t subdirlen;
++ growstr(&nam1,
++ add2(nam1baselen, subdirlen =
++ strlen(di->d_name)));
++ memcpy(&nam1.buf[nam1baselen], di->d_name,
++ add2(subdirlen, 1));
++ }
++ process_path(ctl, nam1.buf);
++ }
++ closedir(dh);
++ }
++
++ return 0;
++}
+--- a/localedef/Makefile.in
++++ b/localedef/Makefile.in
+@@ -40,6 +40,8 @@ WARNFLAGS = -Wall -Wno-format
+ FULLCC = $(CC) $(CPPFLAGS) $(CFLAGS) \
+ $(DEFINES) $(INCLUDES) $(WARNFLAGS)
+
++CROSS_LOCALEDEF_HARDLINK_OBJS = cross-localedef-hardlink.o
++
+ LOCALEDEF_OBJS = charmap.o charmap-dir.o ld-address.o ld-collate.o \
+ ld-ctype.o ld-identification.o ld-measurement.o \
+ ld-messages.o ld-monetary.o ld-name.o ld-numeric.o \
+@@ -54,11 +56,14 @@ LOCALEDEF_OBJS = charmap.o charmap-dir.o
+ asprintf.o getdelim.o localedef_extra.o \
+ obstack_printf.o vasprintf.o
+
+-all: localedef$(EXEEXT)
++all: localedef$(EXEEXT) cross-localedef-hardlink$(EXEEXT)
+
+ localedef$(EXEEXT): $(LOCALEDEF_OBJS)
+ $(CC) -o $@ $(LOCALEDEF_OBJS) $(LIBS)
+
++cross-localedef-hardlink$(EXEEXT): $(CROSS_LOCALEDEF_HARDLINK_OBJS)
++ $(CC) -o $@ $(CROSS_LOCALEDEF_HARDLINK_OBJS) $(LIBS)
++
+ clean:
+ rm -f locale$(EXEEXT) $(LOCALEDEF_OBJS)
+
+@@ -77,6 +82,7 @@ clean:
+ %.o: $(srcdir)/%.c
+ $(FULLCC) -c -o $@ $<
+
++cross-localedef-hardlink.o: glibc/locale/programs/cross-localedef-hardlink.c
+ charmap.o: glibc/locale/programs/charmap.c
+ charmap-dir.o: glibc/locale/programs/charmap-dir.c
+ ld-address.o: glibc/locale/programs/ld-address.c
+--- /dev/null
++++ b/locale/programs/c.h
+@@ -0,0 +1,407 @@
++/*
++ * Fundamental C definitions.
++ */
++
++#ifndef UTIL_LINUX_C_H
++#define UTIL_LINUX_C_H
++
++#include <limits.h>
++#include <stddef.h>
++#include <stdint.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <stdarg.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++
++#include <assert.h>
++
++#ifdef HAVE_ERR_H
++# include <err.h>
++#endif
++
++#ifdef HAVE_SYS_SYSMACROS_H
++# include <sys/sysmacros.h> /* for major, minor */
++#endif
++
++#ifndef LOGIN_NAME_MAX
++# define LOGIN_NAME_MAX 256
++#endif
++
++#ifndef NAME_MAX
++# define NAME_MAX PATH_MAX
++#endif
++
++/*
++ * __GNUC_PREREQ is deprecated in favour of __has_attribute() and
++ * __has_feature(). The __has macros are supported by clang and gcc>=5.
++ */
++#ifndef __GNUC_PREREQ
++# if defined __GNUC__ && defined __GNUC_MINOR__
++# define __GNUC_PREREQ(maj, min) \
++ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
++# else
++# define __GNUC_PREREQ(maj, min) 0
++# endif
++#endif
++
++#ifdef __GNUC__
++
++/* &a[0] degrades to a pointer: a different type from an array */
++# define __must_be_array(a) \
++ UL_BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(__typeof__(a), __typeof__(&a[0])))
++
++# define ignore_result(x) __extension__ ({ \
++ __typeof__(x) __dummy __attribute__((__unused__)) = (x); (void) __dummy; \
++})
++
++#else /* !__GNUC__ */
++# define __must_be_array(a) 0
++# define __attribute__(_arg_)
++# define ignore_result(x) ((void) (x))
++#endif /* !__GNUC__ */
++
++/*
++ * It evaluates to 1 if the attribute/feature is supported by the current
++ * compilation targed. Fallback for old compilers.
++ */
++#ifndef __has_attribute
++ #define __has_attribute(x) 0
++#endif
++
++#ifndef __has_feature
++ #define __has_feature(x) 0
++#endif
++
++/*
++ * Function attributes
++ */
++#ifndef __ul_alloc_size
++# if (__has_attribute(alloc_size) && __has_attribute(warn_unused_result)) || __GNUC_PREREQ (4, 3)
++# define __ul_alloc_size(s) __attribute__((alloc_size(s), warn_unused_result))
++# else
++# define __ul_alloc_size(s)
++# endif
++#endif
++
++#ifndef __ul_calloc_size
++# if (__has_attribute(alloc_size) && __has_attribute(warn_unused_result)) || __GNUC_PREREQ (4, 3)
++# define __ul_calloc_size(n, s) __attribute__((alloc_size(n, s), warn_unused_result))
++# else
++# define __ul_calloc_size(n, s)
++# endif
++#endif
++
++#if __has_attribute(returns_nonnull) || __GNUC_PREREQ (4, 9)
++# define __ul_returns_nonnull __attribute__((returns_nonnull))
++#else
++# define __ul_returns_nonnull
++#endif
++
++/*
++ * Force a compilation error if condition is true, but also produce a
++ * result (of value 0 and type size_t), so the expression can be used
++ * e.g. in a structure initializer (or wherever else comma expressions
++ * aren't permitted).
++ */
++#define UL_BUILD_BUG_ON_ZERO(e) __extension__ (sizeof(struct { int:-!!(e); }))
++#define BUILD_BUG_ON_NULL(e) ((void *)sizeof(struct { int:-!!(e); }))
++
++#ifndef ARRAY_SIZE
++# define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
++#endif
++
++#ifndef PATH_MAX
++# define PATH_MAX 4096
++#endif
++
++#ifndef TRUE
++# define TRUE 1
++#endif
++
++#ifndef FALSE
++# define FALSE 0
++#endif
++
++#ifndef min
++# define min(x, y) __extension__ ({ \
++ __typeof__(x) _min1 = (x); \
++ __typeof__(y) _min2 = (y); \
++ (void) (&_min1 == &_min2); \
++ _min1 < _min2 ? _min1 : _min2; })
++#endif
++
++#ifndef max
++# define max(x, y) __extension__ ({ \
++ __typeof__(x) _max1 = (x); \
++ __typeof__(y) _max2 = (y); \
++ (void) (&_max1 == &_max2); \
++ _max1 > _max2 ? _max1 : _max2; })
++#endif
++
++#ifndef cmp_numbers
++# define cmp_numbers(x, y) __extension__ ({ \
++ __typeof__(x) _a = (x); \
++ __typeof__(y) _b = (y); \
++ (void) (&_a == &_b); \
++ _a == _b ? 0 : _a > _b ? 1 : -1; })
++#endif
++
++#ifndef offsetof
++#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
++#endif
++
++/*
++ * container_of - cast a member of a structure out to the containing structure
++ * @ptr: the pointer to the member.
++ * @type: the type of the container struct this is embedded in.
++ * @member: the name of the member within the struct.
++ */
++#ifndef container_of
++#define container_of(ptr, type, member) __extension__ ({ \
++ const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \
++ (type *)( (char *)__mptr - offsetof(type,member) );})
++#endif
++
++#ifndef HAVE_PROGRAM_INVOCATION_SHORT_NAME
++# ifdef HAVE___PROGNAME
++extern char *__progname;
++# define program_invocation_short_name __progname
++# else
++# ifdef HAVE_GETEXECNAME
++# define program_invocation_short_name \
++ prog_inv_sh_nm_from_file(getexecname(), 0)
++# else
++# define program_invocation_short_name \
++ prog_inv_sh_nm_from_file(__FILE__, 1)
++# endif
++static char prog_inv_sh_nm_buf[256];
++static inline char *
++prog_inv_sh_nm_from_file(char *f, char stripext)
++{
++ char *t;
++
++ if ((t = strrchr(f, '/')) != NULL)
++ t++;
++ else
++ t = f;
++
++ strncpy(prog_inv_sh_nm_buf, t, sizeof(prog_inv_sh_nm_buf) - 1);
++ prog_inv_sh_nm_buf[sizeof(prog_inv_sh_nm_buf) - 1] = '\0';
++
++ if (stripext && (t = strrchr(prog_inv_sh_nm_buf, '.')) != NULL)
++ *t = '\0';
++
++ return prog_inv_sh_nm_buf;
++}
++# endif
++#endif
++
++
++#ifndef HAVE_ERR_H
++static inline void
++errmsg(char doexit, int excode, char adderr, const char *fmt, ...)
++{
++ fprintf(stderr, "%s: ", program_invocation_short_name);
++ if (fmt != NULL) {
++ va_list argp;
++ va_start(argp, fmt);
++ vfprintf(stderr, fmt, argp);
++ va_end(argp);
++ if (adderr)
++ fprintf(stderr, ": ");
++ }
++ if (adderr)
++ fprintf(stderr, "%m");
++ fprintf(stderr, "\n");
++ if (doexit)
++ exit(excode);
++}
++
++#ifndef HAVE_ERR
++# define err(E, FMT...) errmsg(1, E, 1, FMT)
++#endif
++
++#ifndef HAVE_ERRX
++# define errx(E, FMT...) errmsg(1, E, 0, FMT)
++#endif
++
++#ifndef HAVE_WARN
++# define warn(FMT...) errmsg(0, 0, 1, FMT)
++#endif
++
++#ifndef HAVE_WARNX
++# define warnx(FMT...) errmsg(0, 0, 0, FMT)
++#endif
++#endif /* !HAVE_ERR_H */
++
++
++/* Don't use inline function to avoid '#include "nls.h"' in c.h
++ */
++#define errtryhelp(eval) __extension__ ({ \
++ fprintf(stderr, _("Try '%s --help' for more information.\n"), \
++ program_invocation_short_name); \
++ exit(eval); \
++})
++
++/* After failed execvp() */
++#define EX_EXEC_FAILED 126 /* Program located, but not usable. */
++#define EX_EXEC_ENOENT 127 /* Could not find program to exec. */
++#define errexec(name) err(errno == ENOENT ? EX_EXEC_ENOENT : EX_EXEC_FAILED, \
++ _("failed to execute %s"), name)
++
++
++static inline __attribute__((const)) int is_power_of_2(unsigned long num)
++{
++ return (num != 0 && ((num & (num - 1)) == 0));
++}
++
++#ifndef HAVE_LOFF_T
++typedef int64_t loff_t;
++#endif
++
++#if !defined(HAVE_DIRFD) && (!defined(HAVE_DECL_DIRFD) || HAVE_DECL_DIRFD == 0) && defined(HAVE_DIR_DD_FD)
++#include <sys/types.h>
++#include <dirent.h>
++static inline int dirfd(DIR *d)
++{
++ return d->dd_fd;
++}
++#endif
++
++/*
++ * Fallback defines for old versions of glibc
++ */
++#include <fcntl.h>
++
++#ifdef O_CLOEXEC
++#define UL_CLOEXECSTR "e"
++#else
++#define UL_CLOEXECSTR ""
++#endif
++
++#ifndef O_CLOEXEC
++#define O_CLOEXEC 0
++#endif
++
++#ifdef __FreeBSD_kernel__
++#ifndef F_DUPFD_CLOEXEC
++#define F_DUPFD_CLOEXEC 17 /* Like F_DUPFD, but FD_CLOEXEC is set */
++#endif
++#endif
++
++
++#ifndef AI_ADDRCONFIG
++#define AI_ADDRCONFIG 0x0020
++#endif
++
++#ifndef IUTF8
++#define IUTF8 0040000
++#endif
++
++/*
++ * MAXHOSTNAMELEN replacement
++ */
++static inline size_t get_hostname_max(void)
++{
++ long len = sysconf(_SC_HOST_NAME_MAX);
++
++ if (0 < len)
++ return len;
++
++#ifdef MAXHOSTNAMELEN
++ return MAXHOSTNAMELEN;
++#elif HOST_NAME_MAX
++ return HOST_NAME_MAX;
++#endif
++ return 64;
++}
++
++
++/*
++ * Constant strings for usage() functions. For more info see
++ * Documentation/{howto-usage-function.txt,boilerplate.c}
++ */
++#define USAGE_HEADER ("\nUsage:\n")
++#define USAGE_OPTIONS ("\nOptions:\n")
++#define USAGE_FUNCTIONS ("\nFunctions:\n")
++#define USAGE_COMMANDS ("\nCommands:\n")
++#define USAGE_COLUMNS ("\nAvailable output columns:\n")
++#define USAGE_SEPARATOR "\n"
++
++#define USAGE_OPTSTR_HELP ("display this help")
++#define USAGE_OPTSTR_VERSION ("display version")
++
++#define USAGE_HELP_OPTIONS(marg_dsc) \
++ "%-" #marg_dsc "s%s\n" \
++ "%-" #marg_dsc "s%s\n" \
++ , " -h, --help", USAGE_OPTSTR_HELP \
++ , " -V, --version", USAGE_OPTSTR_VERSION
++
++#define USAGE_MAN_TAIL(_man) ("\nFor more details see %s.\n"), _man
++
++#define UTIL_LINUX_VERSION ("%s from %s\n"), program_invocation_short_name, PACKAGE_STRING
++
++#define print_version(eval) __extension__ ({ \
++ printf(UTIL_LINUX_VERSION); \
++ exit(eval); \
++})
++
++/*
++ * scanf modifiers for "strings allocation"
++ */
++#ifdef HAVE_SCANF_MS_MODIFIER
++#define UL_SCNsA "%ms"
++#elif defined(HAVE_SCANF_AS_MODIFIER)
++#define UL_SCNsA "%as"
++#endif
++
++/*
++ * seek stuff
++ */
++#ifndef SEEK_DATA
++# define SEEK_DATA 3
++#endif
++#ifndef SEEK_HOLE
++# define SEEK_HOLE 4
++#endif
++
++
++/*
++ * Macros to convert #define'itions to strings, for example
++ * #define XYXXY 42
++ * printf ("%s=%s\n", stringify(XYXXY), stringify_value(XYXXY));
++ */
++#define stringify_value(s) stringify(s)
++#define stringify(s) #s
++
++/*
++ * UL_ASAN_BLACKLIST is a macro to tell AddressSanitizer (a compile-time
++ * instrumentation shipped with Clang and GCC) to not instrument the
++ * annotated function. Furthermore, it will prevent the compiler from
++ * inlining the function because inlining currently breaks the blacklisting
++ * mechanism of AddressSanitizer.
++ */
++#if __has_feature(address_sanitizer) && __has_attribute(no_sanitize_memory) && __has_attribute(no_sanitize_address)
++# define UL_ASAN_BLACKLIST __attribute__((noinline)) __attribute__((no_sanitize_memory)) __attribute__((no_sanitize_address))
++#else
++# define UL_ASAN_BLACKLIST /* nothing */
++#endif
++
++/*
++ * Note that sysconf(_SC_GETPW_R_SIZE_MAX) returns *initial* suggested size for
++ * pwd buffer and in some cases it is not large enough. See POSIX and
++ * getpwnam_r man page for more details.
++ */
++#define UL_GETPW_BUFSIZ (16 * 1024)
++
++/*
++ * Darwin or other BSDs may only have MAP_ANON. To get it on Darwin we must
++ * define _DARWIN_C_SOURCE before including sys/mman.h. We do this in config.h.
++ */
++#if !defined MAP_ANONYMOUS && defined MAP_ANON
++# define MAP_ANONYMOUS (MAP_ANON)
++#endif
++
++#endif /* UTIL_LINUX_C_H */
+--- /dev/null
++++ b/locale/programs/xalloc.h
+@@ -0,0 +1,129 @@
++/*
++ * Copyright (C) 2010 Davidlohr Bueso <dave@gnu.org>
++ *
++ * This file may be redistributed under the terms of the
++ * GNU Lesser General Public License.
++ *
++ * General memory allocation wrappers for malloc, realloc, calloc and strdup
++ */
++
++#ifndef UTIL_LINUX_XALLOC_H
++#define UTIL_LINUX_XALLOC_H
++
++#include <stdlib.h>
++#include <string.h>
++
++#include "c.h"
++
++#ifndef XALLOC_EXIT_CODE
++# define XALLOC_EXIT_CODE EXIT_FAILURE
++#endif
++
++static inline void __attribute__((__noreturn__))
++__err_oom(const char *file, unsigned int line)
++{
++ err(XALLOC_EXIT_CODE, "%s: %u: cannot allocate memory", file, line);
++}
++
++#define err_oom() __err_oom(__FILE__, __LINE__)
++
++static inline __ul_alloc_size(1) __ul_returns_nonnull
++void *xmalloc(const size_t size)
++{
++ void *ret = malloc(size);
++
++ if (!ret && size)
++ err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
++ return ret;
++}
++
++static inline __ul_alloc_size(2) __ul_returns_nonnull
++void *xrealloc(void *ptr, const size_t size)
++{
++ void *ret = realloc(ptr, size);
++
++ if (!ret && size)
++ err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
++ return ret;
++}
++
++static inline __ul_calloc_size(1, 2) __ul_returns_nonnull
++void *xcalloc(const size_t nelems, const size_t size)
++{
++ void *ret = calloc(nelems, size);
++
++ if (!ret && size && nelems)
++ err(XALLOC_EXIT_CODE, "cannot allocate %zu bytes", size);
++ return ret;
++}
++
++static inline char __attribute__((warn_unused_result)) __ul_returns_nonnull
++*xstrdup(const char *str)
++{
++ char *ret;
++
++ if (!str)
++ return NULL;
++
++ ret = strdup(str);
++
++ if (!ret)
++ err(XALLOC_EXIT_CODE, "cannot duplicate string");
++ return ret;
++}
++
++static inline char * __attribute__((warn_unused_result)) __ul_returns_nonnull
++xstrndup(const char *str, size_t size)
++{
++ char *ret;
++
++ if (!str)
++ return NULL;
++
++ ret = strndup(str, size);
++
++ if (!ret)
++ err(XALLOC_EXIT_CODE, "cannot duplicate string");
++ return ret;
++}
++
++
++static inline int __attribute__ ((__format__(printf, 2, 3)))
++ xasprintf(char **strp, const char *fmt, ...)
++{
++ int ret;
++ va_list args;
++ va_start(args, fmt);
++ ret = vasprintf(&(*strp), fmt, args);
++ va_end(args);
++ if (ret < 0)
++ err(XALLOC_EXIT_CODE, "cannot allocate string");
++ return ret;
++}
++
++static inline int __attribute__ ((__format__(printf, 2, 0)))
++xvasprintf(char **strp, const char *fmt, va_list ap)
++{
++ int ret = vasprintf(&(*strp), fmt, ap);
++ if (ret < 0)
++ err(XALLOC_EXIT_CODE, "cannot allocate string");
++ return ret;
++}
++
++
++static inline char * __attribute__((warn_unused_result)) xgethostname(void)
++{
++ char *name;
++ size_t sz = get_hostname_max() + 1;
++
++ name = xmalloc(sizeof(char) * sz);
++
++ if (gethostname(name, sz) != 0) {
++ free(name);
++ return NULL;
++ }
++ name[sz - 1] = '\0';
++ return name;
++}
++
++#endif
diff --git a/poky/meta/recipes-core/glibc/glibc/allow-compile-separate-from-util-linux-hardlink.patch b/poky/meta/recipes-core/glibc/glibc/allow-compile-separate-from-util-linux-hardlink.patch
new file mode 100644
index 000000000..1148ebfcc
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/allow-compile-separate-from-util-linux-hardlink.patch
@@ -0,0 +1,226 @@
+---
+ locale/programs/c.h | 2
+ locale/programs/cross-localedef-hardlink.c | 79 +++++++++++++----------------
+ 2 files changed, 39 insertions(+), 42 deletions(-)
+
+--- a/locale/programs/cross-localedef-hardlink.c
++++ b/locale/programs/cross-localedef-hardlink.c
+@@ -20,6 +20,8 @@
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
++
++#undef HAVE_PCRE
+ #include <sys/types.h>
+ #include <stdlib.h>
+ #include <getopt.h>
+@@ -38,8 +40,8 @@
+
+ #include "c.h"
+ #include "xalloc.h"
+-#include "nls.h"
+-#include "closestream.h"
++//#include "nls.h"
++//#include "closestream.h"
+
+ #define NHASH (1<<17) /* Must be a power of 2! */
+ #define NBUF 64
+@@ -124,33 +126,33 @@ static void print_summary(void)
+ if (ctl->verbose > 1 && ctl->nlinks)
+ fputc('\n', stdout);
+
+- printf(_("Directories: %9lld\n"), ctl->ndirs);
+- printf(_("Objects: %9lld\n"), ctl->nobjects);
+- printf(_("Regular files: %9lld\n"), ctl->nregfiles);
+- printf(_("Comparisons: %9lld\n"), ctl->ncomp);
++ printf(("Directories: %9lld\n"), ctl->ndirs);
++ printf(("Objects: %9lld\n"), ctl->nobjects);
++ printf(("Regular files: %9lld\n"), ctl->nregfiles);
++ printf(("Comparisons: %9lld\n"), ctl->ncomp);
+ printf( "%s%9lld\n", (ctl->no_link ?
+- _("Would link: ") :
+- _("Linked: ")), ctl->nlinks);
++ ("Would link: ") :
++ ("Linked: ")), ctl->nlinks);
+ printf( "%s %9lld\n", (ctl->no_link ?
+- _("Would save: ") :
+- _("Saved: ")), ctl->nsaved);
++ ("Would save: ") :
++ ("Saved: ")), ctl->nsaved);
+ }
+
+ static void __attribute__((__noreturn__)) usage(void)
+ {
+ fputs(USAGE_HEADER, stdout);
+- printf(_(" %s [options] directory...\n"), program_invocation_short_name);
++ printf((" %s [options] directory...\n"), program_invocation_short_name);
+
+ fputs(USAGE_SEPARATOR, stdout);
+- puts(_("Consolidate duplicate files using hardlinks."));
++ puts(("Consolidate duplicate files using hardlinks."));
+
+ fputs(USAGE_OPTIONS, stdout);
+- puts(_(" -c, --content compare only contents, ignore permission, etc."));
+- puts(_(" -n, --dry-run don't actually link anything"));
+- puts(_(" -v, --verbose print summary after hardlinking"));
+- puts(_(" -vv print every hardlinked file and summary"));
+- puts(_(" -f, --force force hardlinking across filesystems"));
+- puts(_(" -x, --exclude <regex> exclude files matching pattern"));
++ puts((" -c, --content compare only contents, ignore permission, etc."));
++ puts((" -n, --dry-run don't actually link anything"));
++ puts((" -v, --verbose print summary after hardlinking"));
++ puts((" -vv print every hardlinked file and summary"));
++ puts((" -f, --force force hardlinking across filesystems"));
++ puts((" -x, --exclude <regex> exclude files matching pattern"));
+
+ fputs(USAGE_SEPARATOR, stdout);
+ printf(USAGE_HELP_OPTIONS(16)); /* char offset to align option descriptions */
+@@ -164,7 +166,7 @@ static inline size_t add2(size_t a, size
+ size_t sum = a + b;
+
+ if (sum < a)
+- errx(EXIT_FAILURE, _("integer overflow"));
++ errx(EXIT_FAILURE, ("integer overflow"));
+ return sum;
+ }
+
+@@ -193,7 +195,7 @@ static void process_path(struct hardlink
+ if (st.st_dev != ctl->dev && !ctl->force) {
+ if (ctl->dev)
+ errx(EXIT_FAILURE,
+- _("%s is on different filesystem than the rest "
++ ("%s is on different filesystem than the rest "
+ "(use -f option to override)."), name);
+ ctl->dev = st.st_dev;
+ }
+@@ -287,9 +289,9 @@ static void process_path(struct hardlink
+ (ssize_t) sizeof(ctl->iobuf1) : fsize;
+
+ if ((xsz = read(fd, ctl->iobuf1, rsize)) != rsize)
+- warn(_("cannot read %s"), name);
++ warn(("cannot read %s"), name);
+ else if ((xsz = read(fd2, ctl->iobuf2, rsize)) != rsize)
+- warn(_("cannot read %s"), fp2->name);
++ warn(("cannot read %s"), fp2->name);
+
+ if (xsz != rsize) {
+ close(fd);
+@@ -303,13 +305,13 @@ static void process_path(struct hardlink
+ if (fsize > 0)
+ continue;
+ if (lstat(name, &st3)) {
+- warn(_("cannot stat %s"), name);
++ warn(("cannot stat %s"), name);
+ close(fd);
+ return;
+ }
+ st3.st_atime = st.st_atime;
+ if (stcmp(&st, &st3, 0)) {
+- warnx(_("file %s changed underneath us"), name);
++ warnx(("file %s changed underneath us"), name);
+ close(fd);
+ return;
+ }
+@@ -329,18 +331,18 @@ static void process_path(struct hardlink
+ suffixlen + 1);
+ /* First create a temporary link to n1 under a new name */
+ if (link(n1, nam2.buf)) {
+- warn(_("failed to hardlink %s to %s (create temporary link as %s failed)"),
++ warn(("failed to hardlink %s to %s (create temporary link as %s failed)"),
+ n1, n2, nam2.buf);
+ free(nam2.buf);
+ continue;
+ }
+ /* Then rename into place over the existing n2 */
+ if (rename(nam2.buf, n2)) {
+- warn(_("failed to hardlink %s to %s (rename temporary link to %s failed)"),
++ warn(("failed to hardlink %s to %s (rename temporary link to %s failed)"),
+ n1, n2, n2);
+ /* Something went wrong, try to remove the now redundant temporary link */
+ if (unlink(nam2.buf))
+- warn(_("failed to remove temporary link %s"), nam2.buf);
++ warn(("failed to remove temporary link %s"), nam2.buf);
+ free(nam2.buf);
+ continue;
+ }
+@@ -351,16 +353,16 @@ static void process_path(struct hardlink
+ /* We actually did not save anything this time, since the link second argument
+ had some other links as well. */
+ if (ctl->verbose > 1)
+- printf(_(" %s %s to %s\n"),
+- (ctl->no_link ? _("Would link") : _("Linked")),
++ printf((" %s %s to %s\n"),
++ (ctl->no_link ? ("Would link") : ("Linked")),
+ n1, n2);
+ } else {
+ ctl->nsaved += ((st.st_size + 4095) / 4096) * 4096;
+ if (ctl->verbose > 1)
+- printf(_(" %s %s to %s, %s %jd\n"),
+- (ctl->no_link ? _("Would link") : _("Linked")),
++ printf((" %s %s to %s, %s %jd\n"),
++ (ctl->no_link ? ("Would link") : ("Linked")),
+ n1, n2,
+- (ctl->no_link ? _("would save") : _("saved")),
++ (ctl->no_link ? ("would save") : ("saved")),
+ (intmax_t)st.st_size);
+ }
+ close(fd);
+@@ -410,11 +412,6 @@ int main(int argc, char **argv)
+ { NULL, 0, NULL, 0 },
+ };
+
+- setlocale(LC_ALL, "");
+- bindtextdomain(PACKAGE, LOCALEDIR);
+- textdomain(PACKAGE);
+- close_stdout_atexit();
+-
+ while ((ch = getopt_long(argc, argv, "cnvfx:Vh", longopts, NULL)) != -1) {
+ switch (ch) {
+ case 'n':
+@@ -434,7 +431,7 @@ int main(int argc, char **argv)
+ exclude_pattern = (PCRE2_SPTR) optarg;
+ #else
+ errx(EXIT_FAILURE,
+- _("option --exclude not supported (built without pcre2)"));
++ ("option --exclude not supported (built without pcre2)"));
+ #endif
+ break;
+ case 'V':
+@@ -447,7 +444,7 @@ int main(int argc, char **argv)
+ }
+
+ if (optind == argc) {
+- warnx(_("no directory specified"));
++ warnx(("no directory specified"));
+ errtryhelp(EXIT_FAILURE);
+ }
+
+@@ -461,7 +458,7 @@ int main(int argc, char **argv)
+ PCRE2_UCHAR buffer[256];
+ pcre2_get_error_message(errornumber, buffer,
+ sizeof(buffer));
+- errx(EXIT_FAILURE, _("pattern error at offset %d: %s"),
++ errx(EXIT_FAILURE, ("pattern error at offset %d: %s"),
+ (int)erroroffset, buffer);
+ }
+ match_data = pcre2_match_data_create_from_pattern(re, NULL);
+@@ -506,7 +503,7 @@ int main(int argc, char **argv)
+ >=0) {
+ if (ctl->verbose) {
+ nam1.buf[nam1baselen] = 0;
+- printf(_("Skipping %s%s\n"), nam1.buf, di->d_name);
++ printf(("Skipping %s%s\n"), nam1.buf, di->d_name);
+ }
+ continue;
+ }
+--- a/locale/programs/c.h
++++ b/locale/programs/c.h
+@@ -240,7 +240,7 @@ errmsg(char doexit, int excode, char add
+ /* Don't use inline function to avoid '#include "nls.h"' in c.h
+ */
+ #define errtryhelp(eval) __extension__ ({ \
+- fprintf(stderr, _("Try '%s --help' for more information.\n"), \
++ fprintf(stderr, ("Try '%s --help' for more information.\n"), \
+ program_invocation_short_name); \
+ exit(eval); \
+ })
diff --git a/poky/meta/recipes-core/glibc/glibc/check-test-wrapper b/poky/meta/recipes-core/glibc/glibc/check-test-wrapper
new file mode 100644
index 000000000..f8e04e02d
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/check-test-wrapper
@@ -0,0 +1,71 @@
+#!/usr/bin/env python3
+import sys
+import os
+import subprocess
+
+env = os.environ.copy()
+args = sys.argv[1:]
+targettype = args.pop(0)
+
+if targettype == "user":
+ qemuargs = os.environ.get("QEMU_OPTIONS", "").split()
+ if not os.path.exists(qemuargs[0]):
+ # ensure qemu args has a valid absolute path
+ for i in os.environ.get("PATH", "").split(":"):
+ if os.path.exists(os.path.join(i, qemuargs[0])):
+ qemuargs[0] = os.path.join(i, qemuargs[0])
+ break
+ sysroot = os.environ.get("QEMU_SYSROOT", None)
+ if not sysroot:
+ sys.exit(-1)
+ libpaths = [sysroot + "/usr/lib", sysroot + "/lib"]
+
+ if args[0] == "env":
+ args.pop(0)
+ if len(args) == 0:
+ args = ["env"]
+ else:
+ # process options
+ while args[0].startswith("-"):
+ opt = args.pop(0).lstrip("-")
+ if "i" in opt:
+ env.clear()
+ # process environment vars
+ while "=" in args[0]:
+ key, val = args.pop(0).split("=", 1)
+ if key == "LD_LIBRARY_PATH":
+ libpaths += val.split(":")
+ else:
+ env[key] = val
+ if args[0] == "cp":
+ # ignore copies, the filesystem is the same
+ sys.exit(0)
+
+ qemuargs += ["-L", sysroot]
+ qemuargs += ["-E", "LD_LIBRARY_PATH={}".format(":".join(libpaths))]
+ command = qemuargs + args
+elif targettype == "ssh":
+ host = os.environ.get("SSH_HOST", None)
+ user = os.environ.get("SSH_HOST_USER", None)
+ port = os.environ.get("SSH_HOST_PORT", None)
+
+ command = ["ssh", "-o", "UserKnownHostsFile=/dev/null", "-o", "StrictHostKeyChecking=no"]
+ if port:
+ command += ["-p", str(port)]
+ if not host:
+ sys.exit(-1)
+ command += ["{}@{}".format(user, host) if user else host]
+
+ # wrap and replace quotes for correct transformation on ssh
+ wrapped = " ".join(["'{0}'".format(i.replace("'", r"'\''")) for i in ["cd", os.getcwd()]]) + "; "
+ wrapped += " ".join(["'{0}'".format(i.replace("'", r"'\''")) for i in args])
+ command += ["sh", "-c", "\"{}\"".format(wrapped)]
+else:
+ sys.exit(-1)
+
+try:
+ r = subprocess.run(command, timeout = 1800, env = env)
+ sys.exit(r.returncode)
+except subprocess.TimeoutExpired:
+ sys.exit(-1)
+
diff --git a/poky/meta/recipes-core/glibc/glibc_2.29.bb b/poky/meta/recipes-core/glibc/glibc_2.29.bb
deleted file mode 100644
index 073d1533e..000000000
--- a/poky/meta/recipes-core/glibc/glibc_2.29.bb
+++ /dev/null
@@ -1,129 +0,0 @@
-require glibc.inc
-
-LIC_FILES_CHKSUM = "file://LICENSES;md5=cfc0ed77a9f62fa62eded042ebe31d72 \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS += "gperf-native bison-native make-native"
-
-PV = "2.29"
-
-SRCREV ?= "86013ef5cea322b8f4b9c22f230c22cce369e947"
-
-SRCBRANCH ?= "release/${PV}/master"
-
-GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.(?!90)\d+)*)"
-
-NATIVESDKFIXES ?= ""
-NATIVESDKFIXES_class-nativesdk = "\
- file://0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \
- file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
- file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
- file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \
- file://0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch \
-"
-
-SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
- file://etc/ld.so.conf \
- file://generate-supported.mk \
- file://makedbs.sh \
- \
- ${NATIVESDKFIXES} \
- file://0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \
- file://0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
- file://0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \
- file://0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
- file://0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \
- file://0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \
- file://0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
- file://0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \
- file://0014-Add-unused-attribute.patch \
- file://0015-yes-within-the-path-sets-wrong-config-variables.patch \
- file://0016-timezone-re-written-tzselect-as-posix-sh.patch \
- file://0017-Remove-bash-dependency-for-nscd-init-script.patch \
- file://0018-eglibc-Cross-building-and-testing-instructions.patch \
- file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \
- file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \
- file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \
- file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
- file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
- file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
- file://0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
- file://0028-intl-Emit-no-lines-in-bison-generated-files.patch \
- file://0029-inject-file-assembly-directives.patch \
- file://0030-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
- file://0001-x86-64-memcmp-Use-unsigned-Jcc-instructions-on-size-.patch \
- file://CVE-2019-9169.patch \
-"
-
-S = "${WORKDIR}/git"
-B = "${WORKDIR}/build-${TARGET_SYS}"
-
-PACKAGES_DYNAMIC = ""
-
-# the -isystem in bitbake.conf screws up glibc do_stage
-BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
-TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
-
-GLIBC_BROKEN_LOCALES = ""
-
-GLIBCPIE ??= ""
-
-EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
- --disable-profile \
- --disable-debug --without-gd \
- --enable-clocale=gnu \
- --with-headers=${STAGING_INCDIR} \
- --without-selinux \
- --enable-tunables \
- --enable-bind-now \
- --enable-stack-protector=strong \
- --enable-stackguard-randomization \
- --disable-crypt \
- --with-default-link \
- --enable-nscd \
- ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \
- ${GLIBCPIE} \
- ${GLIBC_EXTRA_OECONF}"
-
-EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
-
-do_patch_append() {
- bb.build.exec_func('do_fix_readlib_c', d)
-}
-
-do_fix_readlib_c () {
- sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c
-}
-
-do_configure () {
-# override this function to avoid the autoconf/automake/aclocal/autoheader
-# calls for now
-# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
-# version check and doesn't really help with anything
- (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
- find ${S} -name "configure" | xargs touch
- CPPFLAGS="" oe_runconf
-}
-
-do_compile () {
- # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
- LDFLAGS="-fuse-ld=bfd"
- base_do_compile
- echo "Adjust ldd script"
- if [ -n "${RTLDLIST}" ]
- then
- prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'`
- # remove duplicate entries
- newrtld=`echo $(printf '%s\n' ${prevrtld} ${RTLDLIST} | LC_ALL=C sort -u)`
- echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\""
- sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#"
- fi
-
-}
-
-require glibc-package.inc
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/glibc/glibc_2.30.bb b/poky/meta/recipes-core/glibc/glibc_2.30.bb
new file mode 100644
index 000000000..03add3363
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc_2.30.bb
@@ -0,0 +1,112 @@
+require glibc.inc
+require glibc-version.inc
+
+DEPENDS += "gperf-native bison-native make-native"
+
+NATIVESDKFIXES ?= ""
+NATIVESDKFIXES_class-nativesdk = "\
+ file://0001-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch \
+ file://0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch \
+ file://0003-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch \
+ file://0004-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch \
+ file://0005-nativesdk-glibc-Make-relocatable-install-for-locales.patch \
+"
+
+SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk \
+ file://makedbs.sh \
+ \
+ ${NATIVESDKFIXES} \
+ file://0006-fsl-e500-e5500-e6500-603e-fsqrt-implementation.patch \
+ file://0007-readlib-Add-OECORE_KNOWN_INTERPRETER_NAMES-to-known-.patch \
+ file://0008-ppc-sqrt-Fix-undefined-reference-to-__sqrt_finite.patch \
+ file://0009-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
+ file://0010-Quote-from-bug-1443-which-explains-what-the-patch-do.patch \
+ file://0011-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \
+ file://0012-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch \
+ file://0013-sysdeps-gnu-configure.ac-handle-correctly-libc_cv_ro.patch \
+ file://0014-Add-unused-attribute.patch \
+ file://0015-yes-within-the-path-sets-wrong-config-variables.patch \
+ file://0016-timezone-re-written-tzselect-as-posix-sh.patch \
+ file://0017-Remove-bash-dependency-for-nscd-init-script.patch \
+ file://0018-eglibc-Cross-building-and-testing-instructions.patch \
+ file://0019-eglibc-Help-bootstrap-cross-toolchain.patch \
+ file://0020-eglibc-Clear-cache-lines-on-ppc8xx.patch \
+ file://0021-eglibc-Resolve-__fpscr_values-on-SH4.patch \
+ file://0022-eglibc-Forward-port-cross-locale-generation-support.patch \
+ file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
+ file://0024-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch \
+ file://0025-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
+ file://0026-intl-Emit-no-lines-in-bison-generated-files.patch \
+ file://0027-inject-file-assembly-directives.patch \
+ file://0028-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
+ "
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+PACKAGES_DYNAMIC = ""
+
+# the -isystem in bitbake.conf screws up glibc do_stage
+BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
+TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
+
+GLIBC_BROKEN_LOCALES = ""
+
+GLIBCPIE ??= ""
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --disable-profile \
+ --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --with-headers=${STAGING_INCDIR} \
+ --without-selinux \
+ --enable-tunables \
+ --enable-bind-now \
+ --enable-stack-protector=strong \
+ --enable-stackguard-randomization \
+ --disable-crypt \
+ --with-default-link \
+ --enable-nscd \
+ ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \
+ ${GLIBCPIE} \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
+
+do_patch_append() {
+ bb.build.exec_func('do_fix_readlib_c', d)
+}
+
+do_fix_readlib_c () {
+ sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c
+}
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ find ${S} -name "configure" | xargs touch
+ CPPFLAGS="" oe_runconf
+}
+
+do_compile () {
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ LDFLAGS="-fuse-ld=bfd"
+ base_do_compile
+ echo "Adjust ldd script"
+ if [ -n "${RTLDLIST}" ]
+ then
+ prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'`
+ # remove duplicate entries
+ newrtld=`echo $(printf '%s\n' ${prevrtld} ${RTLDLIST} | LC_ALL=C sort -u)`
+ echo "ldd \"${prevrtld} ${RTLDLIST}\" -> \"${newrtld}\""
+ sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${newrtld}\"#"
+ fi
+}
+
+require glibc-package.inc
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/ifupdown/files/0001-Define-FNM_EXTMATCH-for-musl.patch b/poky/meta/recipes-core/ifupdown/files/0001-Define-FNM_EXTMATCH-for-musl.patch
new file mode 100644
index 000000000..7bf02ea53
--- /dev/null
+++ b/poky/meta/recipes-core/ifupdown/files/0001-Define-FNM_EXTMATCH-for-musl.patch
@@ -0,0 +1,47 @@
+From ff714d6461569d69b253089110ec659e4ebec248 Mon Sep 17 00:00:00 2001
+From: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
+Date: Tue, 2 Jul 2019 20:10:42 +0200
+Subject: [PATCH] Define FNM_EXTMATCH for musl
+
+Fixes the following compilation errors with musl that does not have
+FNM_EXTMATCH defined:
+
+| main.c: In function 'expand_matches':
+| main.c:700:40: error: 'FNM_EXTMATCH' undeclared (first use in this
+function); did you mean 'FNM_NOMATCH'?
+| 700 | if(fnmatch(pattern, ifa->ifa_name, FNM_EXTMATCH))
+| | ^~~~~~~~~~~~
+| | FNM_NOMATCH
+
+and
+
+| archlinux.c:40:28: error: 'FNM_EXTMATCH' undeclared (first use in this
+function); did you mean 'FNM_NOMATCH'?
+| 40 | if(fnmatch(pattern, buf, FNM_EXTMATCH) == 0) {
+| | ^~~~~~~~~~~~
+| | FNM_NOMATCH
+
+Upstream-Status: Submitted [https://salsa.debian.org/debian/ifupdown/merge_requests/5]
+
+Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
+---
+ archcommon.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/archcommon.h b/archcommon.h
+index fe99950..f257f9d 100644
+--- a/archcommon.h
++++ b/archcommon.h
+@@ -1,5 +1,9 @@
+ #include "header.h"
+
++#if !defined(FNM_EXTMATCH)
++#define FNM_EXTMATCH 0
++#endif
++
+ bool execable(const char *);
+
+ #define iface_is_link() (!_iface_has(ifd->real_iface, ":."))
+--
+2.17.1
+
diff --git a/poky/meta/recipes-core/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch b/poky/meta/recipes-core/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch
index a24b8cda6..d1c3d260e 100644
--- a/poky/meta/recipes-core/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch
+++ b/poky/meta/recipes-core/ifupdown/files/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch
@@ -1,4 +1,4 @@
-From 7af9db748974cb3a2c6ef8f9e03d7db1f9f8ee16 Mon Sep 17 00:00:00 2001
+From 40257d65b338b6e2ed9d89d6fa7c7b8701a4c311 Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Wed, 6 Aug 2014 14:54:12 -0400
Subject: [PATCH 1/2] defn2[c|man]: don't rely on dpkg-architecture to set arch
@@ -19,7 +19,7 @@ Upstream-Status: Pending
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/defn2c.pl b/defn2c.pl
-index c449de2f3d1c..38845e374c76 100755
+index 8798dc2..f2551c7 100755
--- a/defn2c.pl
+++ b/defn2c.pl
@@ -2,9 +2,9 @@
@@ -36,7 +36,7 @@ index c449de2f3d1c..38845e374c76 100755
# declarations
my $address_family = "";
diff --git a/defn2man.pl b/defn2man.pl
-index 6ddcfdd4fe68..c9c4dd046597 100755
+index 6ddcfdd..c9c4dd0 100755
--- a/defn2man.pl
+++ b/defn2man.pl
@@ -2,9 +2,9 @@
@@ -53,5 +53,5 @@ index 6ddcfdd4fe68..c9c4dd046597 100755
# declarations
my $line;
--
-1.9.1
+2.17.1
diff --git a/poky/meta/recipes-core/ifupdown/files/inet-6-.defn-fix-inverted-checks-for-loopback.patch b/poky/meta/recipes-core/ifupdown/files/inet-6-.defn-fix-inverted-checks-for-loopback.patch
index 37a61c9bc..5b0d51d73 100644
--- a/poky/meta/recipes-core/ifupdown/files/inet-6-.defn-fix-inverted-checks-for-loopback.patch
+++ b/poky/meta/recipes-core/ifupdown/files/inet-6-.defn-fix-inverted-checks-for-loopback.patch
@@ -1,7 +1,7 @@
-From 7efe4676747e4e4a056b9bfb4e9424c8354e9996 Mon Sep 17 00:00:00 2001
+From 6fce99c9e42cbacde1855473b745ca1fded3fbf7 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Wed, 21 Dec 2016 15:32:07 +0200
-Subject: [PATCH] inet[6].defn: fix inverted checks for loopback
+Subject: [PATCH 2/2] inet[6].defn: fix inverted checks for loopback
Compared to the hurd link.defn for loopback, we see these
are inverted, meaning that you would only be able to configure
@@ -37,11 +37,11 @@ Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
- inet.defn | 140 +++++++++++++++++++++++++++++++-------------------------------
- 1 file changed, 70 insertions(+), 70 deletions(-)
+ inet.defn | 134 +++++++++++++++++++++++++++---------------------------
+ 1 file changed, 67 insertions(+), 67 deletions(-)
diff --git a/inet.defn b/inet.defn
-index 75e6744..23c7756 100644
+index 182b56b..31067bc 100644
--- a/inet.defn
+++ b/inet.defn
@@ -6,10 +6,10 @@ method loopback
@@ -103,9 +103,9 @@ index 75e6744..23c7756 100644
up
- [[/bin/ip link set dev %iface% address %hwaddress%]]
-- /sbin/dhclient -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
+- /sbin/dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
+ [[ip link set dev %iface% address %hwaddress%]]
-+ dhclient -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
++ dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
[[-e IF_METRIC=%metric%]] \
if (execable("/sbin/dhclient"))
- /sbin/pump -i %iface% [[-h %hostname%]] [[-l %leasehours%]] \
@@ -122,14 +122,13 @@ index 75e6744..23c7756 100644
elsif (1)
down
-- /sbin/dhclient -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
-+ dhclient -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
+- /sbin/dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
++ dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
if (execable("/sbin/dhclient"))
- /sbin/pump -i %iface% -r \
+ pump -i %iface% -r \
elsif (execable("/sbin/pump"))
-- if test -f /run/udhcpc.%iface%.pid; then kill -USR2 $(/bin/cat /run/udhcpc.%iface%.pid); kill -TERM $(/bin/cat /run/udhcpc.%iface%.pid); fi \
-+ if test -f /run/udhcpc.%iface%.pid; then kill -USR2 $(cat /run/udhcpc.%iface%.pid); kill -TERM $(cat /run/udhcpc.%iface%.pid); fi \
+ if test -f /run/udhcpc.%iface%.pid; then kill -USR2 $(/bin/cat /run/udhcpc.%iface%.pid); kill -TERM $(/bin/cat /run/udhcpc.%iface%.pid); fi \
elsif (execable("/sbin/udhcpc"))
- /sbin/dhcpcd -k %iface% \
+ dhcpcd -k %iface% \
@@ -252,9 +251,9 @@ index 75e6744..23c7756 100644
up
- [[/sbin/ifconfig %iface% link %hwaddress%]]
-- /sbin/dhclient -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
+- /sbin/dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
+ [[ifconfig %iface% link %hwaddress%]]
-+ dhclient -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
++ dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
[[-e IF_METRIC=%metric%]] \
if (execable("/sbin/dhclient"))
- /sbin/udhcpc -n -p /run/udhcpc.%iface%.pid -i %iface% [[-H %hostname%]] \
@@ -269,11 +268,10 @@ index 75e6744..23c7756 100644
elsif (1)
down
-- /sbin/dhclient -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
-+ dhclient -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
+- /sbin/dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
++ dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
if (execable("/sbin/dhclient"))
-- if test -f /run/udhcpc.%iface%.pid; then kill -USR2 $(/bin/cat /run/udhcpc.%iface%.pid); kill -TERM $(/bin/cat /run/udhcpc.%iface%.pid); fi \
-+ if test -f /run/udhcpc.%iface%.pid; then kill -USR2 $(cat /run/udhcpc.%iface%.pid); kill -TERM $(cat /run/udhcpc.%iface%.pid); fi \
+ if test -f /run/udhcpc.%iface%.pid; then kill -USR2 $(/bin/cat /run/udhcpc.%iface%.pid); kill -TERM $(/bin/cat /run/udhcpc.%iface%.pid); fi \
elsif (execable("/sbin/udhcpc"))
- /sbin/dhcpcd -k %iface% \
+ dhcpcd -k %iface% \
@@ -341,8 +339,8 @@ index 75e6744..23c7756 100644
up
[[Warning: Option hwaddress: %hwaddress% not yet supported]]
-- /sbin/dhclient -v -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
-+ dhclient -v -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
+- /sbin/dhclient -4 -v -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
++ dhclient -4 -v -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
if (execable("/sbin/dhclient"))
- /sbin/udhcpc -n -p /run/udhcpc.%iface///.%.pid -i %iface% [[-H %hostname%]] \
+ udhcpc -n -p /run/udhcpc.%iface///.%.pid -i %iface% [[-H %hostname%]] \
@@ -356,11 +354,10 @@ index 75e6744..23c7756 100644
elsif (1)
down
-- /sbin/dhclient -v -r -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
-+ dhclient -v -r -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
+- /sbin/dhclient -4 -v -r -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
++ dhclient -4 -v -r -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
if (execable("/sbin/dhclient"))
-- if test -f /run/udhcpc.%iface///.%.pid; then kill -USR2 $(/bin/cat /run/udhcpc.%iface///.%.pid); kill -TERM $(/bin/cat /run/udhcpc.%iface///.%.pid); fi \
-+ if test -f /run/udhcpc.%iface///.%.pid; then kill -USR2 $(cat /run/udhcpc.%iface///.%.pid); kill -TERM $(cat /run/udhcpc.%iface///.%.pid); fi \
+ if test -f /run/udhcpc.%iface///.%.pid; then kill -USR2 $(/bin/cat /run/udhcpc.%iface///.%.pid); kill -TERM $(/bin/cat /run/udhcpc.%iface///.%.pid); fi \
elsif (execable("/sbin/udhcpc"))
- /sbin/dhcpcd -k %iface% \
+ dhcpcd -k %iface% \
@@ -402,5 +399,5 @@ index 75e6744..23c7756 100644
- /usr/sbin/avahi-autoipd --kill %iface%
+ avahi-autoipd --kill %iface%
--
-2.7.4
+2.17.1
diff --git a/poky/meta/recipes-core/ifupdown/ifupdown_0.8.16.bb b/poky/meta/recipes-core/ifupdown/ifupdown_0.8.16.bb
deleted file mode 100644
index e9f3a2aee..000000000
--- a/poky/meta/recipes-core/ifupdown/ifupdown_0.8.16.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "ifupdown: basic ifup and ifdown used by initscripts"
-DESCRIPTION = "High level tools to configure network interfaces \
-This package provides the tools ifup and ifdown which may be used to \
-configure (or, respectively, deconfigure) network interfaces, based on \
-the file /etc/network/interfaces."
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = "git://salsa.debian.org/debian/ifupdown.git;protocol=https \
- file://defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch \
- file://inet-6-.defn-fix-inverted-checks-for-loopback.patch \
- file://99_network \
- "
-SRCREV = "11b9f99f7ecc7052497e6786156cfed531f11823"
-
-S = "${WORKDIR}/git"
-
-
-inherit update-alternatives
-
-do_compile () {
- chmod a+rx *.pl *.sh
- oe_runmake 'CC=${CC}' "CFLAGS=${CFLAGS} -Wall -W -D'IFUPDOWN_VERSION=\"${PV}\"'"
-}
-
-do_install () {
- install -d ${D}${mandir}/man8 \
- ${D}${mandir}/man5 \
- ${D}${base_sbindir}
-
- # If volatiles are used, then we'll also need /run/network there too.
- install -d ${D}/etc/default/volatiles
- install -m 0644 ${WORKDIR}/99_network ${D}/etc/default/volatiles
-
- install -m 0755 ifup ${D}${base_sbindir}/
- ln ${D}${base_sbindir}/ifup ${D}${base_sbindir}/ifdown
- install -m 0644 ifup.8 ${D}${mandir}/man8
- install -m 0644 interfaces.5 ${D}${mandir}/man5
- cd ${D}${mandir}/man8 && ln -s ifup.8 ifdown.8
-}
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "ifup ifdown"
-
-ALTERNATIVE_LINK_NAME[ifup] = "${base_sbindir}/ifup"
-ALTERNATIVE_LINK_NAME[ifdown] = "${base_sbindir}/ifdown"
diff --git a/poky/meta/recipes-core/ifupdown/ifupdown_0.8.22.bb b/poky/meta/recipes-core/ifupdown/ifupdown_0.8.22.bb
new file mode 100644
index 000000000..bd0989e88
--- /dev/null
+++ b/poky/meta/recipes-core/ifupdown/ifupdown_0.8.22.bb
@@ -0,0 +1,47 @@
+SUMMARY = "ifupdown: basic ifup and ifdown used by initscripts"
+DESCRIPTION = "High level tools to configure network interfaces \
+This package provides the tools ifup and ifdown which may be used to \
+configure (or, respectively, deconfigure) network interfaces, based on \
+the file /etc/network/interfaces."
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "git://salsa.debian.org/debian/ifupdown.git;protocol=https \
+ file://defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch \
+ file://inet-6-.defn-fix-inverted-checks-for-loopback.patch \
+ file://99_network \
+ file://0001-Define-FNM_EXTMATCH-for-musl.patch \
+ "
+SRCREV = "ab5a0f464e53e172316a5ca8b5dcdc49e8848999"
+
+S = "${WORKDIR}/git"
+
+
+inherit update-alternatives
+
+do_compile () {
+ chmod a+rx *.pl *.sh
+ oe_runmake 'CC=${CC}' "CFLAGS=${CFLAGS} -Wall -W -D'IFUPDOWN_VERSION=\"${PV}\"'"
+}
+
+do_install () {
+ install -d ${D}${mandir}/man8 \
+ ${D}${mandir}/man5 \
+ ${D}${base_sbindir}
+
+ # If volatiles are used, then we'll also need /run/network there too.
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_network ${D}/etc/default/volatiles
+
+ install -m 0755 ifup ${D}${base_sbindir}/
+ ln ${D}${base_sbindir}/ifup ${D}${base_sbindir}/ifdown
+ install -m 0644 ifup.8 ${D}${mandir}/man8
+ install -m 0644 interfaces.5 ${D}${mandir}/man5
+ cd ${D}${mandir}/man8 && ln -s ifup.8 ifdown.8
+}
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "ifup ifdown"
+
+ALTERNATIVE_LINK_NAME[ifup] = "${base_sbindir}/ifup"
+ALTERNATIVE_LINK_NAME[ifdown] = "${base_sbindir}/ifdown"
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 e9cac98c5..3f0a54cee 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
@@ -11,6 +11,8 @@ IMAGE_INSTALL = "packagegroup-core-boot packagegroup-core-ssh-openssh packagegro
IMAGE_FEATURES += "x11-base package-management splash"
+QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}'
+
# Ensure there's enough space to do a core-image-sato build, with rm_work enabled
IMAGE_ROOTFS_EXTRA_SPACE = "41943040"
@@ -22,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk"
inherit core-image module-base setuptools3
-SRCREV ?= "bb59bcd016bdd815809ac10df45d61c364c46df0"
+SRCREV ?= "d230765d1fa7119d1de0ab7f116e895202e898e3"
SRC_URI = "git://git.yoctoproject.org/poky \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \
diff --git a/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs b/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
index 76fa84d35..748c9391c 100644
--- a/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
+++ b/poky/meta/recipes-core/initrdscripts/initramfs-framework/rootfs
@@ -27,8 +27,18 @@ rootfs_run() {
fi
if [ "`echo ${bootparam_root} | cut -c1-9`" = "PARTUUID=" ]; then
- root_uuid=`echo $bootparam_root | cut -c10-`
- bootparam_root="/dev/disk/by-partuuid/$root_uuid"
+ root_partuuid=`echo $bootparam_root | cut -c10-`
+ bootparam_root="/dev/disk/by-partuuid/$root_partuuid"
+ fi
+
+ if [ "`echo ${bootparam_root} | cut -c1-10`" = "PARTLABEL=" ]; then
+ root_partlabel=`echo $bootparam_root | cut -c11-`
+ bootparam_root="/dev/disk/by-partlabel/$root_partlabel"
+ fi
+
+ if [ "`echo ${bootparam_root} | cut -c1-10`" = "PARTLABEL=" ]; then
+ root_partlabel=`echo $bootparam_root | cut -c11-`
+ bootparam_root="/dev/disk/by-partlabel/$root_partlabel"
fi
if [ "`echo ${bootparam_root} | cut -c1-6`" = "LABEL=" ]; then
diff --git a/poky/meta/recipes-core/initscripts/initscripts-1.0/arm/alignment.sh b/poky/meta/recipes-core/initscripts/initscripts-1.0/alignment.sh
index b577b9a03..b577b9a03 100644
--- a/poky/meta/recipes-core/initscripts/initscripts-1.0/arm/alignment.sh
+++ b/poky/meta/recipes-core/initscripts/initscripts-1.0/alignment.sh
diff --git a/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh b/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
index 6f965a687..1c525b71b 100755
--- a/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
+++ b/poky/meta/recipes-core/initscripts/initscripts-1.0/populate-volatile.sh
@@ -80,7 +80,7 @@ mk_dir() {
link_file() {
EXEC="
if [ -L \"$2\" ]; then
- [ \"\$(readlink -f \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
+ [ \"\$(readlink \"$2\")\" != \"$1\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
elif [ -d \"$2\" ]; then
if awk '\$2 == \"$2\" {exit 1}' /proc/mounts; then
cp -a $2/* $1 2>/dev/null;
diff --git a/poky/meta/recipes-core/initscripts/initscripts_1.0.bb b/poky/meta/recipes-core/initscripts/initscripts_1.0.bb
index 91eea4b8c..1a59b82fb 100644
--- a/poky/meta/recipes-core/initscripts/initscripts_1.0.bb
+++ b/poky/meta/recipes-core/initscripts/initscripts_1.0.bb
@@ -40,6 +40,7 @@ SRC_URI = "file://functions \
S = "${WORKDIR}"
SRC_URI_append_arm = " file://alignment.sh"
+SRC_URI_append_armeb = " file://alignment.sh"
KERNEL_VERSION = ""
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb
index ebc4648a1..ebc4648a1 100644
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.6.bb
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.8.bb
diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb
deleted file mode 100644
index 893f5e737..000000000
--- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Extended cryptographic library (from glibc)"
-DESCRIPTION = "Forked code from glibc libary to extract only crypto part."
-HOMEPAGE = "https://github.com/besser82/libxcrypt"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM ?= "file://LICENSING;md5=be275bc7f91642efe7709a8ae7a1433b \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-inherit autotools pkgconfig
-
-PV = "4.4.6"
-
-SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}"
-SRCREV = "398943774c5ff38baf1bc5ee088855fd8983bb05"
-SRCBRANCH ?= "develop"
-
-PROVIDES = "virtual/crypt"
-
-FILES_${PN} = "${libdir}/libcrypt*.so.* \
- ${libdir}/libcrypt-*.so \
- ${libdir}/libowcrypt*.so.* \
- ${libdir}/libowcrypt-*.so \
-"
-
-S = "${WORKDIR}/git"
-
-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/libxcrypt/libxcrypt_4.4.8.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb
new file mode 100644
index 000000000..1787f6921
--- /dev/null
+++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.8.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Extended cryptographic library (from glibc)"
+DESCRIPTION = "Forked code from glibc libary to extract only crypto part."
+HOMEPAGE = "https://github.com/besser82/libxcrypt"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM ?= "file://LICENSING;md5=3bb6614cf5880cbf1b9dbd9e3d145e2c \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit autotools pkgconfig
+
+SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}"
+SRCREV = "acd84997a5a8b2badd28b70a642abee11272fad2"
+SRCBRANCH ?= "develop"
+
+PROVIDES = "virtual/crypt"
+
+FILES_${PN} = "${libdir}/libcrypt*.so.* \
+ ${libdir}/libcrypt-*.so \
+ ${libdir}/libowcrypt*.so.* \
+ ${libdir}/libowcrypt-*.so \
+"
+
+S = "${WORKDIR}/git"
+
+BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
+TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir} -Wno-error"
+CPPFLAGS_append_class-nativesdk = " -Wno-error"
+
+API = "--disable-obsolete-api"
+EXTRA_OECONF += "${API}"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-core/meta/cve-update-db-native.bb b/poky/meta/recipes-core/meta/cve-update-db-native.bb
new file mode 100644
index 000000000..2c427a588
--- /dev/null
+++ b/poky/meta/recipes-core/meta/cve-update-db-native.bb
@@ -0,0 +1,195 @@
+SUMMARY = "Updates the NVD CVE database"
+LICENSE = "MIT"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+inherit native
+
+deltask do_unpack
+deltask do_patch
+deltask do_configure
+deltask do_compile
+deltask do_install
+deltask do_populate_sysroot
+
+python () {
+ if not d.getVar("CVE_CHECK_DB_FILE"):
+ raise bb.parse.SkipRecipe("Skip recipe when cve-check class is not loaded.")
+}
+
+python do_populate_cve_db() {
+ """
+ Update NVD database with json data feed
+ """
+
+ import sqlite3, urllib, urllib.parse, shutil, gzip
+ from datetime import date
+
+ BASE_URL = "https://nvd.nist.gov/feeds/json/cve/1.0/nvdcve-1.0-"
+ YEAR_START = 2002
+
+ db_dir = os.path.join(d.getVar("DL_DIR"), 'CVE_CHECK')
+ db_file = os.path.join(db_dir, 'nvdcve_1.0.db')
+ json_tmpfile = os.path.join(db_dir, 'nvd.json.gz')
+ proxy = d.getVar("https_proxy")
+
+ if proxy:
+ # instantiate an opener but do not install it as the global
+ # opener unless if we're really sure it's applicable for all
+ # urllib requests
+ proxy_handler = urllib.request.ProxyHandler({'https': proxy})
+ proxy_opener = urllib.request.build_opener(proxy_handler)
+ else:
+ proxy_opener = None
+
+ cve_f = open(os.path.join(d.getVar("TMPDIR"), 'cve_check'), 'a')
+
+ if not os.path.isdir(db_dir):
+ os.mkdir(db_dir)
+
+ # Connect to database
+ conn = sqlite3.connect(db_file)
+ c = conn.cursor()
+
+ initialize_db(c)
+
+ 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
+
+ response = None
+
+ if proxy_opener:
+ response = proxy_opener.open(meta_url)
+ else:
+ req = urllib.request.Request(meta_url)
+ response = urllib.request.urlopen(req)
+
+ if response:
+ for l in response.read().decode("utf-8").splitlines():
+ key, value = l.split(":", 1)
+ if key == "lastModifiedDate":
+ last_modified = value
+ break
+ else:
+ bb.warn("Cannot parse CVE metadata, update failed")
+ return
+
+ # Compare with current db last modified date
+ c.execute("select DATE from META where YEAR = ?", (year,))
+ meta = c.fetchone()
+ if not meta or meta[0] != last_modified:
+ # Clear products table entries corresponding to current year
+ c.execute("delete from PRODUCTS where ID like ?", ('CVE-%d%%' % year,))
+
+ # Update db with current year json file
+ try:
+ if proxy_opener:
+ response = proxy_opener.open(json_url)
+ else:
+ req = urllib.request.Request(json_url)
+ response = urllib.request.urlopen(req)
+
+ if response:
+ update_db(c, gzip.decompress(response.read()).decode('utf-8'))
+ c.execute("insert or replace into META values (?, ?)", [year, last_modified])
+ except urllib.error.URLError as e:
+ cve_f.write('Warning: CVE db update error, CVE data is outdated.\n\n')
+ bb.warn("Cannot parse CVE data (%s), update failed" % e.reason)
+ return
+
+ # Update success, set the date to cve_check file.
+ if year == date.today().year:
+ cve_f.write('CVE database update : %s\n\n' % date.today())
+
+ cve_f.close()
+ conn.commit()
+ conn.close()
+}
+
+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 (ID TEXT, \
+ VENDOR TEXT, PRODUCT TEXT, VERSION_START TEXT, OPERATOR_START TEXT, \
+ VERSION_END TEXT, OPERATOR_END TEXT)")
+
+def parse_node_and_insert(c, node, cveId):
+ # Parse children node if needed
+ for child in node.get('children', ()):
+ parse_node_and_insert(c, child, cveId)
+
+ def cpe_generator():
+ for cpe in node.get('cpe_match', ()):
+ if not cpe['vulnerable']:
+ return
+ cpe23 = cpe['cpe23Uri'].split(':')
+ vendor = cpe23[3]
+ product = cpe23[4]
+ version = cpe23[5]
+
+ if version != '*':
+ # Version is defined, this is a '=' match
+ yield [cveId, vendor, product, version, '=', '', '']
+ else:
+ # Parse start version, end version and operators
+ op_start = ''
+ op_end = ''
+ v_start = ''
+ v_end = ''
+
+ if 'versionStartIncluding' in cpe:
+ op_start = '>='
+ v_start = cpe['versionStartIncluding']
+
+ if 'versionStartExcluding' in cpe:
+ op_start = '>'
+ v_start = cpe['versionStartExcluding']
+
+ if 'versionEndIncluding' in cpe:
+ op_end = '<='
+ v_end = cpe['versionEndIncluding']
+
+ if 'versionEndExcluding' in cpe:
+ op_end = '<'
+ v_end = cpe['versionEndExcluding']
+
+ yield [cveId, vendor, product, v_start, op_start, v_end, op_end]
+
+ c.executemany("insert into PRODUCTS values (?, ?, ?, ?, ?, ?, ?)", cpe_generator())
+
+def update_db(c, jsondata):
+ import json
+ root = json.loads(jsondata)
+
+ 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])
+
+ configurations = elt['configurations']['nodes']
+ for config in configurations:
+ parse_node_and_insert(c, config, cveId)
+
+
+addtask do_populate_cve_db before do_fetch
+do_populate_cve_db[nostamp] = "1"
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/poky/meta/recipes-core/meta/cve-update-db.bb b/poky/meta/recipes-core/meta/cve-update-db.bb
deleted file mode 100644
index 522fd2380..000000000
--- a/poky/meta/recipes-core/meta/cve-update-db.bb
+++ /dev/null
@@ -1,121 +0,0 @@
-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 b5e8c0f03..87b8bfab9 100644
--- a/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
+++ b/poky/meta/recipes-core/meta/target-sdk-provides-dummy.bb
@@ -1,6 +1,6 @@
DUMMYARCH = "sdk-provides-dummy-target"
-DUMMYPROVIDES = "\
+DUMMYPROVIDES_PACKAGES = "\
busybox \
busybox-dev \
busybox-src \
@@ -42,14 +42,19 @@ DUMMYPROVIDES = "\
perl-module-threads \
perl-module-warnings \
perl-module-warnings-register \
+ pkgconfig \
+ pkgconfig-dev \
+ pkgconfig-src \
+"
+
+DUMMYPROVIDES = "\
+ ${@' '.join([multilib_pkg_extend(d, pkg) for pkg in d.getVar('DUMMYPROVIDES_PACKAGES').split()])} \
/bin/sh \
/bin/bash \
/usr/bin/env \
/usr/bin/perl \
libperl.so.5 \
- pkgconfig \
- pkgconfig-dev \
- pkgconfig-src \
+ libperl.so.5()(64bit) \
"
require dummy-sdk-package.inc
diff --git a/poky/meta/recipes-core/musl/musl-obstack.bb b/poky/meta/recipes-core/musl/musl-obstack.bb
new file mode 100644
index 000000000..3003935fe
--- /dev/null
+++ b/poky/meta/recipes-core/musl/musl-obstack.bb
@@ -0,0 +1,22 @@
+# Copyright (C) 2019 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "A standalone library to implement GNU libc's obstack"
+DESCRIPTION = "copy + paste of the obstack functions and macros found in GNU gcc libiberty library for use with musl libc"
+HOMEPAGE = "https://github.com/pullmoll/musl-obstack"
+LICENSE = "GPL-2.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3d23e4eef8243efcaab6f0a438078932"
+SECTION = "libs"
+
+PV = "1.1"
+SRCREV = "d2ad66b0df44a4b784956f7f7f2717131ddc05f4"
+SRC_URI = "git://github.com/pullmoll/musl-obstack"
+
+UPSTREAM_CHECK_COMMITS = "1"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_HOST = ".*-musl.*"
+
diff --git a/poky/meta/recipes-core/musl/musl.inc b/poky/meta/recipes-core/musl/musl.inc
index 8408c5da6..0683bf85e 100644
--- a/poky/meta/recipes-core/musl/musl.inc
+++ b/poky/meta/recipes-core/musl/musl.inc
@@ -9,7 +9,7 @@ standards-conformance and safety."
HOMEPAGE = "http://www.musl-libc.org/"
LICENSE = "MIT"
SECTION = "libs"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=8a4bb28f771c817fe57d3a7c4240e3aa"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d0fe2be17bc45ff4a42ade1c13ed6340"
INHIBIT_DEFAULT_DEPS = "1"
diff --git a/poky/meta/recipes-core/musl/musl/0001-Change-container-for-riscv-floating-point-state-to-_.patch b/poky/meta/recipes-core/musl/musl/0001-Change-container-for-riscv-floating-point-state-to-_.patch
new file mode 100644
index 000000000..a9abb1872
--- /dev/null
+++ b/poky/meta/recipes-core/musl/musl/0001-Change-container-for-riscv-floating-point-state-to-_.patch
@@ -0,0 +1,67 @@
+From 52a37610650e7366a398dd07393d3902d2f3faa3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 28 Sep 2019 12:19:57 -0700
+Subject: [PATCH] Change container for riscv floating-point state to __riscv_mc_fp_state
+
+Match the struct elements with glibc
+glibc also uses __riscv_mc prefix, some packages like gdb uses that
+
+Upstream-Status: Submitted [https://www.openwall.com/lists/musl/2019/09/28/1]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ arch/riscv64/bits/signal.h | 18 +++++++++---------
+ arch/riscv64/bits/user.h | 2 +-
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/arch/riscv64/bits/signal.h b/arch/riscv64/bits/signal.h
+index 76d7ad80..aba7ab00 100644
+--- a/arch/riscv64/bits/signal.h
++++ b/arch/riscv64/bits/signal.h
+@@ -13,25 +13,25 @@ typedef unsigned long greg_t;
+ typedef unsigned long gregset_t[32];
+
+ struct __riscv_mc_f_ext_state {
+- unsigned int f[32];
+- unsigned int fcsr;
++ unsigned int __f[32];
++ unsigned int __fcsr;
+ };
+
+ struct __riscv_mc_d_ext_state {
+- unsigned long long f[32];
+- unsigned int fcsr;
++ unsigned long long __f[32];
++ unsigned int __fcsr;
+ };
+
+ struct __riscv_mc_q_ext_state {
+- unsigned long long f[64] __attribute__((aligned(16)));
+- unsigned int fcsr;
++ unsigned long long __f[64] __attribute__((aligned(16)));
++ unsigned int __fcsr;
+ unsigned int reserved[3];
+ };
+
+ union __riscv_mc_fp_state {
+- struct __riscv_mc_f_ext_state f;
+- struct __riscv_mc_d_ext_state d;
+- struct __riscv_mc_q_ext_state q;
++ struct __riscv_mc_f_ext_state __f;
++ struct __riscv_mc_d_ext_state __d;
++ struct __riscv_mc_q_ext_state __q;
+ };
+
+ typedef union __riscv_mc_fp_state fpregset_t;
+diff --git a/arch/riscv64/bits/user.h b/arch/riscv64/bits/user.h
+index d2e383b2..9918a2fe 100644
+--- a/arch/riscv64/bits/user.h
++++ b/arch/riscv64/bits/user.h
+@@ -5,4 +5,4 @@ struct user_fpregs_struct {
+
+ #define ELF_NGREG 32
+ typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG];
+-typedef struct user_fpregs_struct elf_fpregset_t;
++typedef union __riscv_mc_fp_state elf_fpregset_t;
+--
+2.23.0
+
diff --git a/poky/meta/recipes-core/musl/musl/0001-correct-the-operand-specifiers-in-the-riscv64-CAS-ro.patch b/poky/meta/recipes-core/musl/musl/0001-correct-the-operand-specifiers-in-the-riscv64-CAS-ro.patch
new file mode 100644
index 000000000..09b71cb29
--- /dev/null
+++ b/poky/meta/recipes-core/musl/musl/0001-correct-the-operand-specifiers-in-the-riscv64-CAS-ro.patch
@@ -0,0 +1,55 @@
+From 59f2954fcaacd9426827c69a729e2647cb9977e5 Mon Sep 17 00:00:00 2001
+From: Palmer Dabbelt <palmer@sifive.com>
+Date: Tue, 24 Sep 2019 20:30:15 -0700
+Subject: [PATCH] correct the operand specifiers in the riscv64 CAS routines
+
+The operand sepcifiers in a_cas and a_casp for riscv64 were incorrect:
+there's a backwards branch in the routine, so despite tmp being written
+at the end of the assembly fragment it cannot be allocated in one of the
+input registers because the input values may be needed for another trip
+around the loop.
+
+For code that follows the guarnteed forward progress requirements, he
+backwards branch is rarely taken: SiFive's hardware only fails a store
+conditional on execptional cases (ie, instruction cache misses inside
+the loop), and until recently a bug in QEMU allowed back-to-back
+store conditionals to succeed. The bug has been fixed in the latest
+QEMU release, but it turns out that the fix caused this latent bug in
+musl to manifest.
+
+Full disclosure: I haven't actually even compiled musl. I just guessed
+this would fix a bug introducted by the new QEMU behavior, Alistair
+(CC'd) actually checked it fixes the problem. The rest is just
+conjecture.
+
+Upstream-Status: Submitted
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ arch/riscv64/atomic_arch.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/riscv64/atomic_arch.h b/arch/riscv64/atomic_arch.h
+index c9765342..41ad4d04 100644
+--- a/arch/riscv64/atomic_arch.h
++++ b/arch/riscv64/atomic_arch.h
+@@ -14,7 +14,7 @@ static inline int a_cas(volatile int *p, int t, int s)
+ " sc.w.aqrl %1, %4, (%2)\n"
+ " bnez %1, 1b\n"
+ "1:"
+- : "=&r"(old), "=r"(tmp)
++ : "=&r"(old), "=&r"(tmp)
+ : "r"(p), "r"(t), "r"(s)
+ : "memory");
+ return old;
+@@ -31,7 +31,7 @@ static inline void *a_cas_p(volatile void *p, void *t, void *s)
+ " sc.d.aqrl %1, %4, (%2)\n"
+ " bnez %1, 1b\n"
+ "1:"
+- : "=&r"(old), "=r"(tmp)
++ : "=&r"(old), "=&r"(tmp)
+ : "r"(p), "r"(t), "r"(s)
+ : "memory");
+ return old;
+--
+2.23.0
+
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index a7fae4a65..13fd17353 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -4,9 +4,9 @@
require musl.inc
inherit linuxloader
-SRCREV = "ac304227bb3ea1787d581f17d76a5f5f3abff51f"
+SRCREV = "1f0e9f9cc2e3fa354f94e18b3b362de5f1ec7272"
-BASEVER = "1.1.22"
+BASEVER = "1.1.23"
PV = "${BASEVER}+git${SRCPV}"
@@ -15,6 +15,8 @@ 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-correct-the-operand-specifiers-in-the-riscv64-CAS-ro.patch \
+ file://0001-Change-container-for-riscv-floating-point-state-to-_.patch \
"
S = "${WORKDIR}/git"
@@ -63,7 +65,7 @@ do_install() {
oe_runmake install DESTDIR='${D}'
install -d ${D}${bindir}
- rm -f ${D}${bindir}/ldd
+ rm -f ${D}${bindir}/ldd ${D}${GLIBC_LDSO}
lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd
lnr ${D}${libdir}/libc.so ${D}${GLIBC_LDSO}
for l in crypt dl m pthread resolv rt util xnet
diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
deleted file mode 100644
index ef6ca9879..000000000
--- a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require ncurses.inc
-
-SRC_URI += "file://0001-tic-hang.patch \
- file://0002-configure-reproducible.patch \
- file://config.cache \
-"
-# commit id corresponds to the revision in package version
-SRCREV = "7a97a7f937762ba342d5b2fd7cd090885a809835"
-S = "${WORKDIR}/git"
-EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache"
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)"
diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20190803.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20190803.bb
new file mode 100644
index 000000000..a44d78e4f
--- /dev/null
+++ b/poky/meta/recipes-core/ncurses/ncurses_6.1+20190803.bb
@@ -0,0 +1,11 @@
+require ncurses.inc
+
+SRC_URI += "file://0001-tic-hang.patch \
+ file://0002-configure-reproducible.patch \
+ file://config.cache \
+"
+# commit id corresponds to the revision in package version
+SRCREV = "3c9b2677c96c645496997321bf2fe465a5e7e21f"
+S = "${WORKDIR}/git"
+EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)"
diff --git a/poky/meta/recipes-core/newlib/newlib.inc b/poky/meta/recipes-core/newlib/newlib.inc
index 418cf0793..2f0553bd6 100644
--- a/poky/meta/recipes-core/newlib/newlib.inc
+++ b/poky/meta/recipes-core/newlib/newlib.inc
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = " \
file://newlib/libc/sys/linux/linuxthreads/LICENSE;md5=73640207fbc79b198c7ffd4ad4d97aa0 \
"
-SRC_URI = "ftp://sourceware.org/pub/newlib/newlib-${PV}.tar.gz"
+SRC_URI = "https://sourceware.org/pub/newlib/newlib-${PV}.tar.gz"
SRC_URI[md5sum] = "f84263b7d524df92a9c9fb30b79e0134"
SRC_URI[sha256sum] = "fb4fa1cc21e9060719208300a61420e4089d6de6ef59cf533b57fe74801d102a"
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch
deleted file mode 100644
index 342fcc623..000000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 9fce4bab014b9aa618060eba13d6dd04b0fa1b70 Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Fri, 2 Mar 2018 17:11:52 +0100
-Subject: [PATCH 1/4] BaseTools/header.makefile: add "-Wno-stringop-truncation"
-
-gcc-8 (which is part of Fedora 28) enables the new warning
-"-Wstringop-truncation" in "-Wall". This warning is documented in detail
-at <https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html>; the
-introduction says
-
-> Warn for calls to bounded string manipulation functions such as strncat,
-> strncpy, and stpncpy that may either truncate the copied string or leave
-> the destination unchanged.
-
-It breaks the BaseTools build with:
-
-> EfiUtilityMsgs.c: In function 'PrintMessage':
-> EfiUtilityMsgs.c:484:9: error: 'strncat' output may be truncated copying
-> between 0 and 511 bytes from a string of length 511
-> [-Werror=stringop-truncation]
-> strncat (Line, Line2, MAX_LINE_LEN - strlen (Line) - 1);
-> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-> EfiUtilityMsgs.c:469:9: error: 'strncat' output may be truncated copying
-> between 0 and 511 bytes from a string of length 511
-> [-Werror=stringop-truncation]
-> strncat (Line, Line2, MAX_LINE_LEN - strlen (Line) - 1);
-> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-> EfiUtilityMsgs.c:511:5: error: 'strncat' output may be truncated copying
-> between 0 and 511 bytes from a string of length 511
-> [-Werror=stringop-truncation]
-> strncat (Line, Line2, MAX_LINE_LEN - strlen (Line) - 1);
-> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The right way to fix the warning would be to implement string concat with
-snprintf(). However, Microsoft does not appear to support snprintf()
-before VS2015
-<https://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010>,
-so we just have to shut up the warning. The strncat() calls flagged above
-are valid BTW.
-
-Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Cc: Cole Robinson <crobinso@redhat.com>
-Cc: Liming Gao <liming.gao@intel.com>
-Cc: Paolo Bonzini <pbonzini@redhat.com>
-Cc: Yonghong Zhu <yonghong.zhu@intel.com>
-Contributed-under: TianoCore Contribution Agreement 1.1
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-Reviewed-by: Liming Gao <liming.gao@intel.com>
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport
-
- BaseTools/Source/C/Makefiles/header.makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: git/BaseTools/Source/C/Makefiles/header.makefile
-===================================================================
---- git.orig/BaseTools/Source/C/Makefiles/header.makefile
-+++ git/BaseTools/Source/C/Makefiles/header.makefile
-@@ -47,9 +47,9 @@ INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT)
- BUILD_CPPFLAGS += $(INCLUDE) -O2
- ifeq ($(DARWIN),Darwin)
- # assume clang or clang compatible flags on OS X
--BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g
-+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-self-assign -Wno-unused-result -nostdlib -c -g
- else
--BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g
-+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-unused-result -nostdlib -c -g
- endif
- BUILD_LFLAGS = $(LDFLAGS)
- BUILD_CXXFLAGS += -Wno-unused-result
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch b/poky/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch
deleted file mode 100644
index 5bb418b95..000000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0001-ia32-Dont-use-pie.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From f65e9cc025278387b494c2383c5d9ff3bed98687 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 11 Jun 2017 00:47:24 -0700
-Subject: [PATCH] ia32: Dont use -pie
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- BaseTools/Conf/tools_def.template | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: git/BaseTools/Conf/tools_def.template
-===================================================================
---- git.orig/BaseTools/Conf/tools_def.template
-+++ git/BaseTools/Conf/tools_def.template
-@@ -4336,7 +4336,7 @@ RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG =
- NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
-
- DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common
--DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe
-+DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe -fno-PIE -no-pie
- DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe
- DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency
- DEFINE GCC_ARM_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie
-@@ -4369,9 +4369,9 @@ DEFINE GCC_ARM_RC_FLAGS = -I
- DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
-
- DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
--DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables
-+DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -fno-PIE -no-pie
- DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables
--DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
-+DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 -no-pie
- DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
- DEFINE GCC44_IA32_X64_DLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
- DEFINE GCC44_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
-@@ -4451,7 +4451,7 @@ DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = D
-
- DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS)
- DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS)
--DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
-+DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 -no-pie
- DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
- DEFINE GCC49_IA32_X64_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
- DEFINE GCC49_IA32_DLINK2_FLAGS = DEF(GCC48_IA32_DLINK2_FLAGS)
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-header.makefile-add-Wno-restrict.patch b/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-header.makefile-add-Wno-restrict.patch
deleted file mode 100644
index a076665c3..000000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0002-BaseTools-header.makefile-add-Wno-restrict.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 86dbdac5a25bd23deb4a0e0a97b527407e02184d Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Fri, 2 Mar 2018 17:11:52 +0100
-Subject: [PATCH 2/4] BaseTools/header.makefile: add "-Wno-restrict"
-
-gcc-8 (which is part of Fedora 28) enables the new warning
-"-Wrestrict" in "-Wall". This warning is documented in detail
-at <https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html>; the
-introduction says
-
-> Warn when an object referenced by a restrict-qualified parameter (or, in
-> C++, a __restrict-qualified parameter) is aliased by another argument,
-> or when copies between such objects overlap.
-
-It breaks the BaseTools build (in the Brotli compression library) with:
-
-> In function 'ProcessCommandsInternal',
-> inlined from 'ProcessCommands' at dec/decode.c:1828:10:
-> dec/decode.c:1781:9: error: 'memcpy' accessing between 17 and 2147483631
-> bytes at offsets 16 and 16 overlaps between 17 and 2147483631 bytes at
-> offset 16 [-Werror=restrict]
-> memcpy(copy_dst + 16, copy_src + 16, (size_t)(i - 16));
-> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-> In function 'ProcessCommandsInternal',
-> inlined from 'SafeProcessCommands' at dec/decode.c:1833:10:
-> dec/decode.c:1781:9: error: 'memcpy' accessing between 17 and 2147483631
-> bytes at offsets 16 and 16 overlaps between 17 and 2147483631 bytes at
-> offset 16 [-Werror=restrict]
-> memcpy(copy_dst + 16, copy_src + 16, (size_t)(i - 16));
-> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Paolo Bonzini <pbonzini@redhat.com> analyzed the Brotli source in detail,
-and concluded that the warning is a false positive:
-
-> This seems safe to me, because it's preceded by:
->
-> uint8_t* copy_dst = &s->ringbuffer[pos];
-> uint8_t* copy_src = &s->ringbuffer[src_start];
-> int dst_end = pos + i;
-> int src_end = src_start + i;
-> if (src_end > pos && dst_end > src_start) {
-> /* Regions intersect. */
-> goto CommandPostWrapCopy;
-> }
->
-> If [src_start, src_start + i) and [pos, pos + i) don't intersect, then
-> neither do [src_start + 16, src_start + i) and [pos + 16, pos + i).
->
-> The if seems okay:
->
-> (src_start + i > pos && pos + i > src_start)
->
-> which can be rewritten to:
->
-> (pos < src_start + i && src_start < pos + i)
->
-> Then the numbers are in one of these two orders:
->
-> pos <= src_start < pos + i <= src_start + i
-> src_start <= pos < src_start + i <= pos + i
->
-> These two would be allowed by the "if", but they can only happen if pos
-> == src_start so they degenerate to the same two orders above:
->
-> pos <= src_start < src_start + i <= pos + i
-> src_start <= pos < pos + i <= src_start + i
->
-> So it is a false positive in GCC.
-
-Disable the warning for now.
-
-Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Cc: Cole Robinson <crobinso@redhat.com>
-Cc: Liming Gao <liming.gao@intel.com>
-Cc: Paolo Bonzini <pbonzini@redhat.com>
-Cc: Yonghong Zhu <yonghong.zhu@intel.com>
-Reported-by: Cole Robinson <crobinso@redhat.com>
-Contributed-under: TianoCore Contribution Agreement 1.1
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-Reviewed-by: Liming Gao <liming.gao@intel.com>
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport
- BaseTools/Source/C/Makefiles/header.makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: git/BaseTools/Source/C/Makefiles/header.makefile
-===================================================================
---- git.orig/BaseTools/Source/C/Makefiles/header.makefile
-+++ git/BaseTools/Source/C/Makefiles/header.makefile
-@@ -47,9 +47,9 @@ INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT)
- BUILD_CPPFLAGS += $(INCLUDE) -O2
- ifeq ($(DARWIN),Darwin)
- # assume clang or clang compatible flags on OS X
--BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-self-assign -Wno-unused-result -nostdlib -c -g
-+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-self-assign -Wno-unused-result -nostdlib -c -g
- else
--BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-unused-result -nostdlib -c -g
-+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-unused-result -nostdlib -c -g
- endif
- BUILD_LFLAGS = $(LDFLAGS)
- BUILD_CXXFLAGS += -Wno-unused-result
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch b/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch
deleted file mode 100644
index 920723e32..000000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 6866325dd9c17412e555974dde41f9631224db52 Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Wed, 7 Mar 2018 10:17:28 +0100
-Subject: [PATCH 3/4] BaseTools/header.makefile: revert gcc-8 "-Wno-xxx"
- options on OSX
-
-I recently added the gcc-8 specific "-Wno-stringop-truncation" and
-"-Wno-restrict" options to BUILD_CFLAGS, both for "Darwin" (XCODE5 /
-clang, OSX) and otherwise (gcc, Linux / Cygwin).
-
-I also regression-tested the change with gcc-4.8 on Linux -- gcc-4.8 does
-not know either of the (gcc-8 specific) "-Wno-stringop-truncation" and
-"-Wno-restrict" options, yet the build completed fine (by GCC design).
-
-Regarding OSX, my expectation was that
-
-- XCODE5 / clang would either recognize these warnings options (because
- clang does recognize most -W options of gcc),
-
-- or, similarly to gcc, clang would simply ignore the "-Wno-xxx" flags
- that it didn't recognize.
-
-Neither is the case; the new flags have broken the BaseTools build on OSX.
-Revert them (for OSX only).
-
-Cc: Liming Gao <liming.gao@intel.com>
-Cc: Yonghong Zhu <yonghong.zhu@intel.com>
-Reported-by: Liming Gao <liming.gao@intel.com>
-Fixes: 1d212a83df0eaf32a6f5d4159beb2d77832e0231
-Fixes: 9222154ae7b3eef75ae88cdb56158256227cb929
-Contributed-under: TianoCore Contribution Agreement 1.1
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-Reviewed-by: Liming Gao <liming.gao@intel.com>
-Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport
- BaseTools/Source/C/Makefiles/header.makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: git/BaseTools/Source/C/Makefiles/header.makefile
-===================================================================
---- git.orig/BaseTools/Source/C/Makefiles/header.makefile
-+++ git/BaseTools/Source/C/Makefiles/header.makefile
-@@ -47,7 +47,7 @@ INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT)
- BUILD_CPPFLAGS += $(INCLUDE) -O2
- ifeq ($(DARWIN),Darwin)
- # assume clang or clang compatible flags on OS X
--BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-self-assign -Wno-unused-result -nostdlib -c -g
-+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g
- else
- BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-unused-result -nostdlib -c -g
- endif
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch b/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch
index 65b5c16dc..070b0ac5a 100644
--- a/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch
+++ b/poky/meta/recipes-core/ovmf/ovmf/0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch
@@ -1,6 +1,6 @@
From 2320650c6d381b914fe91b2dedaa5870279a8bcf Mon Sep 17 00:00:00 2001
From: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
-Date: Sun, 27 Nov 2016 18:42:55 -0800
+Date: Fri, 26 Jul 2019 17:34:26 -0400
Subject: [PATCH] BaseTools: makefile: adjust to build in under bitbake
Prepend the build flags with those of bitbake. This is to build
@@ -9,31 +9,42 @@ using the bitbake native sysroot include and library directories.
Signed-off-by: Ricardo Neri <ricardo.neri@linux.intel.com>
Upstream-Status: Pending
---
- BaseTools/Source/C/Makefiles/header.makefile | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
+ BaseTools/Source/C/Makefiles/header.makefile | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
Index: git/BaseTools/Source/C/Makefiles/header.makefile
===================================================================
--- git.orig/BaseTools/Source/C/Makefiles/header.makefile
+++ git/BaseTools/Source/C/Makefiles/header.makefile
-@@ -44,15 +44,15 @@ ARCH_INCLUDE = -I $(MAKEROOT)/Include/AA
+@@ -62,23 +62,23 @@ $(error Bad HOST_ARCH)
endif
INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE)
--BUILD_CPPFLAGS = $(INCLUDE) -O2
-+BUILD_CPPFLAGS += $(INCLUDE) -O2
+-BUILD_CPPFLAGS = $(INCLUDE)
++BUILD_CPPFLAGS += $(INCLUDE)
+
+ # keep EXTRA_OPTFLAGS last
+ BUILD_OPTFLAGS = -O2 $(EXTRA_OPTFLAGS)
+
ifeq ($(DARWIN),Darwin)
# assume clang or clang compatible flags on OS X
--BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g
-+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g
+-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror \
++BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror \
+ -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -g
else
--BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g
-+BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g
+-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
++BUILD_CFLAGS += -MD -fshort-wchar -fno-strict-aliasing -fwrapv \
+ -fno-delete-null-pointer-checks -Wall -Werror \
+ -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict \
+ -Wno-unused-result -nostdlib -g
endif
-BUILD_LFLAGS =
-BUILD_CXXFLAGS = -Wno-unused-result
+BUILD_LFLAGS = $(LDFLAGS)
+BUILD_CXXFLAGS += -Wno-unused-result
- ifeq ($(ARCH), IA32)
+ ifeq ($(HOST_ARCH), IA32)
#
+--
+2.20.1
+
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch b/poky/meta/recipes-core/ovmf/ovmf/0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch
deleted file mode 100644
index 7ad7cdf0c..000000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From dfb42a5bff78d9239a80731e337855234badef3e Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Fri, 2 Mar 2018 17:11:52 +0100
-Subject: [PATCH 4/4] BaseTools/GenVtf: silence false "stringop-overflow"
- warning with memcpy()
-
-gcc-8 (which is part of Fedora 28) enables the new warning
-"-Wstringop-overflow" in "-Wall". This warning is documented in detail at
-<https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html>; the
-introduction says
-
-> Warn for calls to string manipulation functions such as memcpy and
-> strcpy that are determined to overflow the destination buffer.
-
-It breaks the BaseTools build with:
-
-> GenVtf.c: In function 'ConvertVersionInfo':
-> GenVtf.c:132:7: error: 'strncpy' specified bound depends on the length
-> of the source argument [-Werror=stringop-overflow=]
-> strncpy (TemStr + 4 - Length, Str, Length);
-> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-> GenVtf.c:130:14: note: length computed here
-> Length = strlen(Str);
-> ^~~~~~~~~~~
-
-It is a false positive because, while the bound equals the length of the
-source argument, the destination pointer is moved back towards the
-beginning of the destination buffer by the same amount (and this amount is
-range-checked first, so we can't precede the start of the dest buffer).
-
-Replace both strncpy() calls with memcpy().
-
-Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Cc: Cole Robinson <crobinso@redhat.com>
-Cc: Liming Gao <liming.gao@intel.com>
-Cc: Paolo Bonzini <pbonzini@redhat.com>
-Cc: Yonghong Zhu <yonghong.zhu@intel.com>
-Reported-by: Cole Robinson <crobinso@redhat.com>
-Contributed-under: TianoCore Contribution Agreement 1.1
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-Reviewed-by: Liming Gao <liming.gao@intel.com>
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport
- BaseTools/Source/C/GenVtf/GenVtf.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/BaseTools/Source/C/GenVtf/GenVtf.c b/BaseTools/Source/C/GenVtf/GenVtf.c
-index 2ae9a7be2c..0cd33e71e9 100644
---- a/BaseTools/Source/C/GenVtf/GenVtf.c
-+++ b/BaseTools/Source/C/GenVtf/GenVtf.c
-@@ -129,9 +129,9 @@ Returns:
- } else {
- Length = strlen(Str);
- if (Length < 4) {
-- strncpy (TemStr + 4 - Length, Str, Length);
-+ memcpy (TemStr + 4 - Length, Str, Length);
- } else {
-- strncpy (TemStr, Str + Length - 4, 4);
-+ memcpy (TemStr, Str + Length - 4, 4);
- }
-
- sscanf (
---
-2.17.0
-
diff --git a/poky/meta/recipes-core/ovmf/ovmf/0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch b/poky/meta/recipes-core/ovmf/ovmf/0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch
deleted file mode 100644
index 3aa6cc4ac..000000000
--- a/poky/meta/recipes-core/ovmf/ovmf/0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch
+++ /dev/null
@@ -1,1124 +0,0 @@
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Mon, 6 Jul 2015 20:22:02 +0200
-Subject: [PATCH] OvmfPkg: EnrollDefaultKeys: application for enrolling default
- keys
-
-(A port of the <https://bugzilla.redhat.com/show_bug.cgi?id=1148296> patch
-to Gerd's public RPMs.)
-
-This application is meant to be invoked by the management layer, after
-booting the UEFI shell and getting a shell prompt on the serial console.
-The app enrolls a number of certificates (see below), and then reports
-status to the serial console as well. The expected output is "info:
-success":
-
-> Shell> EnrollDefaultKeys.efi
-> info: SetupMode=1 SecureBoot=0 SecureBootEnable=0 CustomMode=0 VendorKeys=1
-> info: SetupMode=0 SecureBoot=1 SecureBootEnable=1 CustomMode=0 VendorKeys=0
-> info: success
-> Shell>
-
-In case of success, the management layer can force off or reboot the VM
-(for example with the "reset -s" or "reset -c" UEFI shell commands,
-respectively), and start the guest installation with SecureBoot enabled.
-
-PK:
-- A unique, static, ad-hoc certificate whose private half has been
- destroyed (more precisely, never saved) and is therefore unusable for
- signing. (The command for creating this certificate is saved in the
- source code.)
-
-KEK:
-- same ad-hoc certificate as used for the PK,
-- "Microsoft Corporation KEK CA 2011" -- the dbx data in Fedora's dbxtool
- package is signed (indirectly, through a chain) with this; enrolling
- such a KEK should allow guests to install those updates.
-
-DB:
-- "Microsoft Windows Production PCA 2011" -- to load Windows 8 and Windows
- Server 2012 R2,
-- "Microsoft Corporation UEFI CA 2011" -- to load Linux and signed PCI
- oproms.
-
-Contributed-under: TianoCore Contribution Agreement 1.0
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-Upstream-Status: Inappropriate [not author]
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
----
- OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c | 960 ++++++++++++++++++++++++
- OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf | 51 ++
- OvmfPkg/OvmfPkgIa32.dsc | 4 +
- OvmfPkg/OvmfPkgIa32X64.dsc | 4 +
- OvmfPkg/OvmfPkgX64.dsc | 4 +
- 5 files changed, 1023 insertions(+)
- create mode 100644 OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
- create mode 100644 OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
-
-diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
-new file mode 100644
-index 0000000..081212b
---- /dev/null
-+++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
-@@ -0,0 +1,960 @@
-+/** @file
-+ Enroll default PK, KEK, DB.
-+
-+ Copyright (C) 2014, Red Hat, Inc.
-+
-+ This program and the accompanying materials are licensed and made available
-+ under the terms and conditions of the BSD License which accompanies this
-+ distribution. The full text of the license may be found at
-+ http://opensource.org/licenses/bsd-license.
-+
-+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
-+ WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-+**/
-+#include <Guid/AuthenticatedVariableFormat.h> // gEfiCustomModeEnableGuid
-+#include <Guid/GlobalVariable.h> // EFI_SETUP_MODE_NAME
-+#include <Guid/ImageAuthentication.h> // EFI_IMAGE_SECURITY_DATABASE
-+#include <Library/BaseMemoryLib.h> // CopyGuid()
-+#include <Library/DebugLib.h> // ASSERT()
-+#include <Library/MemoryAllocationLib.h> // FreePool()
-+#include <Library/ShellCEntryLib.h> // ShellAppMain()
-+#include <Library/UefiLib.h> // AsciiPrint()
-+#include <Library/UefiRuntimeServicesTableLib.h> // gRT
-+
-+//
-+// The example self-signed certificate below, which we'll use for both Platform
-+// Key, and first Key Exchange Key, has been generated with the following
-+// non-interactive openssl command. The passphrase is read from /dev/urandom,
-+// and not saved, and the private key is written to /dev/null. In other words,
-+// we can't sign anything else against this certificate, which is our purpose.
-+//
-+/*
-+ openssl req \
-+ -passout file:<(head -c 16 /dev/urandom) \
-+ -x509 \
-+ -newkey rsa:2048 \
-+ -keyout /dev/null \
-+ -outform DER \
-+ -subj $(
-+ printf /C=US
-+ printf /ST=TestStateOrProvince
-+ printf /L=TestLocality
-+ printf /O=TestOrganization
-+ printf /OU=TestOrganizationalUnit
-+ printf /CN=TestCommonName
-+ printf /emailAddress=test@example.com
-+ ) \
-+ 2>/dev/null \
-+ | xxd -i
-+*/
-+STATIC CONST UINT8 ExampleCert[] = {
-+ 0x30, 0x82, 0x04, 0x45, 0x30, 0x82, 0x03, 0x2d, 0xa0, 0x03, 0x02, 0x01, 0x02,
-+ 0x02, 0x09, 0x00, 0xcf, 0x9f, 0x51, 0xa3, 0x07, 0xdb, 0x54, 0xa1, 0x30, 0x0d,
-+ 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00,
-+ 0x30, 0x81, 0xb8, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13,
-+ 0x02, 0x55, 0x53, 0x31, 0x1c, 0x30, 0x1a, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c,
-+ 0x13, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x50,
-+ 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03,
-+ 0x55, 0x04, 0x07, 0x0c, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61,
-+ 0x6c, 0x69, 0x74, 0x79, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a,
-+ 0x0c, 0x10, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a,
-+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04,
-+ 0x0b, 0x0c, 0x16, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69,
-+ 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x31,
-+ 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0e, 0x54, 0x65, 0x73,
-+ 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x31, 0x1f,
-+ 0x30, 0x1d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01,
-+ 0x16, 0x10, 0x74, 0x65, 0x73, 0x74, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c,
-+ 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x34, 0x31, 0x30,
-+ 0x30, 0x39, 0x31, 0x33, 0x32, 0x38, 0x32, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x34,
-+ 0x31, 0x31, 0x30, 0x38, 0x31, 0x33, 0x32, 0x38, 0x32, 0x32, 0x5a, 0x30, 0x81,
-+ 0xb8, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55,
-+ 0x53, 0x31, 0x1c, 0x30, 0x1a, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x13, 0x54,
-+ 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x50, 0x72, 0x6f,
-+ 0x76, 0x69, 0x6e, 0x63, 0x65, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04,
-+ 0x07, 0x0c, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69,
-+ 0x74, 0x79, 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x10,
-+ 0x54, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
-+ 0x69, 0x6f, 0x6e, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x0c,
-+ 0x16, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61,
-+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x31, 0x17, 0x30,
-+ 0x15, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0e, 0x54, 0x65, 0x73, 0x74, 0x43,
-+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x31, 0x1f, 0x30, 0x1d,
-+ 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x10,
-+ 0x74, 0x65, 0x73, 0x74, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e,
-+ 0x63, 0x6f, 0x6d, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
-+ 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f,
-+ 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xbf, 0xf1, 0xce,
-+ 0x17, 0x32, 0xac, 0xc4, 0x4b, 0xb2, 0xed, 0x84, 0x76, 0xe5, 0xd0, 0xf8, 0x21,
-+ 0xac, 0x10, 0xf8, 0x18, 0x09, 0x0e, 0x07, 0x13, 0x76, 0x21, 0x5c, 0xc4, 0xcc,
-+ 0xd5, 0xe6, 0x25, 0xa7, 0x26, 0x53, 0x79, 0x2f, 0x16, 0x4b, 0x85, 0xbd, 0xae,
-+ 0x42, 0x64, 0x58, 0xcb, 0x5e, 0xe8, 0x6e, 0x5a, 0xd0, 0xc4, 0x0f, 0x38, 0x16,
-+ 0xbe, 0xd3, 0x22, 0xa7, 0x3c, 0x9b, 0x8b, 0x5e, 0xcb, 0x62, 0x35, 0xc5, 0x9b,
-+ 0xe2, 0x8e, 0x4c, 0x65, 0x57, 0x4f, 0xcb, 0x27, 0xad, 0xe7, 0x63, 0xa7, 0x77,
-+ 0x2b, 0xd5, 0x02, 0x42, 0x70, 0x46, 0xac, 0xba, 0xb6, 0x60, 0x57, 0xd9, 0xce,
-+ 0x31, 0xc5, 0x12, 0x03, 0x4a, 0xf7, 0x2a, 0x2b, 0x40, 0x06, 0xb4, 0xdb, 0x31,
-+ 0xb7, 0x83, 0x6c, 0x67, 0x87, 0x98, 0x8b, 0xce, 0x1b, 0x30, 0x7a, 0xfa, 0x35,
-+ 0x6c, 0x86, 0x20, 0x74, 0xc5, 0x7d, 0x32, 0x31, 0x18, 0xeb, 0x69, 0xf7, 0x2d,
-+ 0x20, 0xc4, 0xf0, 0xd2, 0xfa, 0x67, 0x81, 0xc1, 0xbb, 0x23, 0xbb, 0x75, 0x1a,
-+ 0xe4, 0xb4, 0x49, 0x99, 0xdf, 0x12, 0x4c, 0xe3, 0x6d, 0x76, 0x24, 0x85, 0x24,
-+ 0xae, 0x5a, 0x9e, 0xbd, 0x54, 0x1c, 0xf9, 0x0e, 0xed, 0x96, 0xb5, 0xd8, 0xa2,
-+ 0x0d, 0x2a, 0x38, 0x5d, 0x12, 0x97, 0xb0, 0x4d, 0x75, 0x85, 0x1e, 0x47, 0x6d,
-+ 0xe1, 0x25, 0x59, 0xcb, 0xe9, 0x33, 0x86, 0x6a, 0xef, 0x98, 0x24, 0xa0, 0x2b,
-+ 0x02, 0x7b, 0xc0, 0x9f, 0x88, 0x03, 0xb0, 0xbe, 0x22, 0x65, 0x83, 0x77, 0xb3,
-+ 0x30, 0xba, 0xe0, 0x3b, 0x54, 0x31, 0x3a, 0x45, 0x81, 0x9c, 0x48, 0xaf, 0xc1,
-+ 0x11, 0x5b, 0xf2, 0x3a, 0x1e, 0x33, 0x1b, 0x8f, 0x0e, 0x04, 0xa4, 0x16, 0xd4,
-+ 0x6b, 0x57, 0xee, 0xe7, 0xba, 0xf5, 0xee, 0xaf, 0xe2, 0x4c, 0x50, 0xf8, 0x68,
-+ 0x57, 0x88, 0xfb, 0x7f, 0xa3, 0xcf, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x50,
-+ 0x30, 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14,
-+ 0x1e, 0x44, 0xe5, 0xef, 0xcd, 0x6e, 0x1f, 0xdb, 0xcb, 0x4f, 0x94, 0x8f, 0xe3,
-+ 0x3b, 0x1a, 0x8c, 0xe6, 0x95, 0x29, 0x61, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
-+ 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x1e, 0x44, 0xe5, 0xef, 0xcd, 0x6e,
-+ 0x1f, 0xdb, 0xcb, 0x4f, 0x94, 0x8f, 0xe3, 0x3b, 0x1a, 0x8c, 0xe6, 0x95, 0x29,
-+ 0x61, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01,
-+ 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
-+ 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x12, 0x9c, 0x3e, 0x38,
-+ 0xfc, 0x26, 0xea, 0x6d, 0xb7, 0x5c, 0x29, 0x3c, 0x76, 0x20, 0x0c, 0xb2, 0xa9,
-+ 0x0f, 0xdf, 0xc0, 0x85, 0xfe, 0xeb, 0xec, 0x1d, 0x5d, 0x73, 0x84, 0xac, 0x8a,
-+ 0xb4, 0x2a, 0x86, 0x38, 0x30, 0xaf, 0xd2, 0x2d, 0x2a, 0xde, 0x54, 0xc8, 0x5c,
-+ 0x29, 0x90, 0x24, 0xf2, 0x39, 0xc1, 0xa5, 0x00, 0xb4, 0xb7, 0xd8, 0xdc, 0x59,
-+ 0x64, 0x50, 0x62, 0x5f, 0x54, 0xf1, 0x73, 0x02, 0x4d, 0x43, 0xc5, 0xc3, 0xc4,
-+ 0x0e, 0x62, 0x60, 0x8c, 0x53, 0x66, 0x57, 0x77, 0xb5, 0x81, 0xda, 0x1f, 0x81,
-+ 0xda, 0xe9, 0xd6, 0x5e, 0x82, 0xce, 0xa7, 0x5c, 0xc0, 0xa6, 0xbe, 0x9c, 0x5c,
-+ 0x7b, 0xa5, 0x15, 0xc8, 0xd7, 0x14, 0x53, 0xd3, 0x5c, 0x1c, 0x9f, 0x8a, 0x9f,
-+ 0x66, 0x15, 0xd5, 0xd3, 0x2a, 0x27, 0x0c, 0xee, 0x9f, 0x80, 0x39, 0x88, 0x7b,
-+ 0x24, 0xde, 0x0c, 0x61, 0xa3, 0x44, 0xd8, 0x8d, 0x2e, 0x79, 0xf8, 0x1e, 0x04,
-+ 0x5a, 0xcb, 0xd6, 0x9c, 0xa3, 0x22, 0x8f, 0x09, 0x32, 0x1e, 0xe1, 0x65, 0x8f,
-+ 0x10, 0x5f, 0xd8, 0x52, 0x56, 0xd5, 0x77, 0xac, 0x58, 0x46, 0x60, 0xba, 0x2e,
-+ 0xe2, 0x3f, 0x58, 0x7d, 0x60, 0xfc, 0x31, 0x4a, 0x3a, 0xaf, 0x61, 0x55, 0x5f,
-+ 0xfb, 0x68, 0x14, 0x74, 0xda, 0xdc, 0x42, 0x78, 0xcc, 0xee, 0xff, 0x5c, 0x03,
-+ 0x24, 0x26, 0x2c, 0xb8, 0x3a, 0x81, 0xad, 0xdb, 0xe7, 0xed, 0xe1, 0x62, 0x84,
-+ 0x07, 0x1a, 0xc8, 0xa4, 0x4e, 0xb0, 0x87, 0xf7, 0x96, 0xd8, 0x33, 0x9b, 0x0d,
-+ 0xa7, 0x77, 0xae, 0x5b, 0xaf, 0xad, 0xe6, 0x5a, 0xc9, 0xfa, 0xa4, 0xe4, 0xe5,
-+ 0x57, 0xbb, 0x97, 0xdd, 0x92, 0x85, 0xd8, 0x03, 0x45, 0xfe, 0xd8, 0x6b, 0xb1,
-+ 0xdb, 0x85, 0x36, 0xb9, 0xd9, 0x28, 0xbf, 0x17, 0xae, 0x11, 0xde, 0x10, 0x19,
-+ 0x26, 0x5b, 0xc0, 0x3d, 0xc7
-+};
-+
-+//
-+// Second KEK: "Microsoft Corporation KEK CA 2011".
-+// SHA1: 31:59:0b:fd:89:c9:d7:4e:d0:87:df:ac:66:33:4b:39:31:25:4b:30
-+//
-+// "dbx" updates in "dbxtool" are signed with a key derived from this KEK.
-+//
-+STATIC CONST UINT8 MicrosoftKEK[] = {
-+ 0x30, 0x82, 0x05, 0xe8, 0x30, 0x82, 0x03, 0xd0, 0xa0, 0x03, 0x02, 0x01, 0x02,
-+ 0x02, 0x0a, 0x61, 0x0a, 0xd1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30,
-+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05,
-+ 0x00, 0x30, 0x81, 0x91, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
-+ 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08,
-+ 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31,
-+ 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64,
-+ 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a,
-+ 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43,
-+ 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x3b, 0x30,
-+ 0x39, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x32, 0x4d, 0x69, 0x63, 0x72, 0x6f,
-+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74,
-+ 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x68, 0x69, 0x72, 0x64, 0x20, 0x50, 0x61, 0x72,
-+ 0x74, 0x79, 0x20, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63,
-+ 0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x31, 0x30,
-+ 0x36, 0x32, 0x34, 0x32, 0x30, 0x34, 0x31, 0x32, 0x39, 0x5a, 0x17, 0x0d, 0x32,
-+ 0x36, 0x30, 0x36, 0x32, 0x34, 0x32, 0x30, 0x35, 0x31, 0x32, 0x39, 0x5a, 0x30,
-+ 0x81, 0x80, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
-+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a,
-+ 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31, 0x10, 0x30,
-+ 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 0x6f,
-+ 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15,
-+ 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72,
-+ 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x2a, 0x30, 0x28, 0x06,
-+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x21, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f,
-+ 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f,
-+ 0x6e, 0x20, 0x4b, 0x45, 0x4b, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, 0x31,
-+ 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
-+ 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82,
-+ 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xc4, 0xe8, 0xb5, 0x8a, 0xbf, 0xad,
-+ 0x57, 0x26, 0xb0, 0x26, 0xc3, 0xea, 0xe7, 0xfb, 0x57, 0x7a, 0x44, 0x02, 0x5d,
-+ 0x07, 0x0d, 0xda, 0x4a, 0xe5, 0x74, 0x2a, 0xe6, 0xb0, 0x0f, 0xec, 0x6d, 0xeb,
-+ 0xec, 0x7f, 0xb9, 0xe3, 0x5a, 0x63, 0x32, 0x7c, 0x11, 0x17, 0x4f, 0x0e, 0xe3,
-+ 0x0b, 0xa7, 0x38, 0x15, 0x93, 0x8e, 0xc6, 0xf5, 0xe0, 0x84, 0xb1, 0x9a, 0x9b,
-+ 0x2c, 0xe7, 0xf5, 0xb7, 0x91, 0xd6, 0x09, 0xe1, 0xe2, 0xc0, 0x04, 0xa8, 0xac,
-+ 0x30, 0x1c, 0xdf, 0x48, 0xf3, 0x06, 0x50, 0x9a, 0x64, 0xa7, 0x51, 0x7f, 0xc8,
-+ 0x85, 0x4f, 0x8f, 0x20, 0x86, 0xce, 0xfe, 0x2f, 0xe1, 0x9f, 0xff, 0x82, 0xc0,
-+ 0xed, 0xe9, 0xcd, 0xce, 0xf4, 0x53, 0x6a, 0x62, 0x3a, 0x0b, 0x43, 0xb9, 0xe2,
-+ 0x25, 0xfd, 0xfe, 0x05, 0xf9, 0xd4, 0xc4, 0x14, 0xab, 0x11, 0xe2, 0x23, 0x89,
-+ 0x8d, 0x70, 0xb7, 0xa4, 0x1d, 0x4d, 0xec, 0xae, 0xe5, 0x9c, 0xfa, 0x16, 0xc2,
-+ 0xd7, 0xc1, 0xcb, 0xd4, 0xe8, 0xc4, 0x2f, 0xe5, 0x99, 0xee, 0x24, 0x8b, 0x03,
-+ 0xec, 0x8d, 0xf2, 0x8b, 0xea, 0xc3, 0x4a, 0xfb, 0x43, 0x11, 0x12, 0x0b, 0x7e,
-+ 0xb5, 0x47, 0x92, 0x6c, 0xdc, 0xe6, 0x04, 0x89, 0xeb, 0xf5, 0x33, 0x04, 0xeb,
-+ 0x10, 0x01, 0x2a, 0x71, 0xe5, 0xf9, 0x83, 0x13, 0x3c, 0xff, 0x25, 0x09, 0x2f,
-+ 0x68, 0x76, 0x46, 0xff, 0xba, 0x4f, 0xbe, 0xdc, 0xad, 0x71, 0x2a, 0x58, 0xaa,
-+ 0xfb, 0x0e, 0xd2, 0x79, 0x3d, 0xe4, 0x9b, 0x65, 0x3b, 0xcc, 0x29, 0x2a, 0x9f,
-+ 0xfc, 0x72, 0x59, 0xa2, 0xeb, 0xae, 0x92, 0xef, 0xf6, 0x35, 0x13, 0x80, 0xc6,
-+ 0x02, 0xec, 0xe4, 0x5f, 0xcc, 0x9d, 0x76, 0xcd, 0xef, 0x63, 0x92, 0xc1, 0xaf,
-+ 0x79, 0x40, 0x84, 0x79, 0x87, 0x7f, 0xe3, 0x52, 0xa8, 0xe8, 0x9d, 0x7b, 0x07,
-+ 0x69, 0x8f, 0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x4f, 0x30,
-+ 0x82, 0x01, 0x4b, 0x30, 0x10, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82,
-+ 0x37, 0x15, 0x01, 0x04, 0x03, 0x02, 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55,
-+ 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x62, 0xfc, 0x43, 0xcd, 0xa0, 0x3e, 0xa4,
-+ 0xcb, 0x67, 0x12, 0xd2, 0x5b, 0xd9, 0x55, 0xac, 0x7b, 0xcc, 0xb6, 0x8a, 0x5f,
-+ 0x30, 0x19, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02,
-+ 0x04, 0x0c, 0x1e, 0x0a, 0x00, 0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 0x43, 0x00,
-+ 0x41, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01,
-+ 0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05,
-+ 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04,
-+ 0x18, 0x30, 0x16, 0x80, 0x14, 0x45, 0x66, 0x52, 0x43, 0xe1, 0x7e, 0x58, 0x11,
-+ 0xbf, 0xd6, 0x4e, 0x9e, 0x23, 0x55, 0x08, 0x3b, 0x3a, 0x22, 0x6a, 0xa8, 0x30,
-+ 0x5c, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x55, 0x30, 0x53, 0x30, 0x51, 0xa0,
-+ 0x4f, 0xa0, 0x4d, 0x86, 0x4b, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63,
-+ 0x72, 0x6c, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x2e,
-+ 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x70,
-+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43, 0x6f,
-+ 0x72, 0x54, 0x68, 0x69, 0x50, 0x61, 0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f, 0x6f,
-+ 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e, 0x63,
-+ 0x72, 0x6c, 0x30, 0x60, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01,
-+ 0x01, 0x04, 0x54, 0x30, 0x52, 0x30, 0x50, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05,
-+ 0x05, 0x07, 0x30, 0x02, 0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
-+ 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74,
-+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x65, 0x72, 0x74,
-+ 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43, 0x6f, 0x72, 0x54, 0x68, 0x69, 0x50, 0x61,
-+ 0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f, 0x6f, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d,
-+ 0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, 0x09,
-+ 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82,
-+ 0x02, 0x01, 0x00, 0xd4, 0x84, 0x88, 0xf5, 0x14, 0x94, 0x18, 0x02, 0xca, 0x2a,
-+ 0x3c, 0xfb, 0x2a, 0x92, 0x1c, 0x0c, 0xd7, 0xa0, 0xd1, 0xf1, 0xe8, 0x52, 0x66,
-+ 0xa8, 0xee, 0xa2, 0xb5, 0x75, 0x7a, 0x90, 0x00, 0xaa, 0x2d, 0xa4, 0x76, 0x5a,
-+ 0xea, 0x79, 0xb7, 0xb9, 0x37, 0x6a, 0x51, 0x7b, 0x10, 0x64, 0xf6, 0xe1, 0x64,
-+ 0xf2, 0x02, 0x67, 0xbe, 0xf7, 0xa8, 0x1b, 0x78, 0xbd, 0xba, 0xce, 0x88, 0x58,
-+ 0x64, 0x0c, 0xd6, 0x57, 0xc8, 0x19, 0xa3, 0x5f, 0x05, 0xd6, 0xdb, 0xc6, 0xd0,
-+ 0x69, 0xce, 0x48, 0x4b, 0x32, 0xb7, 0xeb, 0x5d, 0xd2, 0x30, 0xf5, 0xc0, 0xf5,
-+ 0xb8, 0xba, 0x78, 0x07, 0xa3, 0x2b, 0xfe, 0x9b, 0xdb, 0x34, 0x56, 0x84, 0xec,
-+ 0x82, 0xca, 0xae, 0x41, 0x25, 0x70, 0x9c, 0x6b, 0xe9, 0xfe, 0x90, 0x0f, 0xd7,
-+ 0x96, 0x1f, 0xe5, 0xe7, 0x94, 0x1f, 0xb2, 0x2a, 0x0c, 0x8d, 0x4b, 0xff, 0x28,
-+ 0x29, 0x10, 0x7b, 0xf7, 0xd7, 0x7c, 0xa5, 0xd1, 0x76, 0xb9, 0x05, 0xc8, 0x79,
-+ 0xed, 0x0f, 0x90, 0x92, 0x9c, 0xc2, 0xfe, 0xdf, 0x6f, 0x7e, 0x6c, 0x0f, 0x7b,
-+ 0xd4, 0xc1, 0x45, 0xdd, 0x34, 0x51, 0x96, 0x39, 0x0f, 0xe5, 0x5e, 0x56, 0xd8,
-+ 0x18, 0x05, 0x96, 0xf4, 0x07, 0xa6, 0x42, 0xb3, 0xa0, 0x77, 0xfd, 0x08, 0x19,
-+ 0xf2, 0x71, 0x56, 0xcc, 0x9f, 0x86, 0x23, 0xa4, 0x87, 0xcb, 0xa6, 0xfd, 0x58,
-+ 0x7e, 0xd4, 0x69, 0x67, 0x15, 0x91, 0x7e, 0x81, 0xf2, 0x7f, 0x13, 0xe5, 0x0d,
-+ 0x8b, 0x8a, 0x3c, 0x87, 0x84, 0xeb, 0xe3, 0xce, 0xbd, 0x43, 0xe5, 0xad, 0x2d,
-+ 0x84, 0x93, 0x8e, 0x6a, 0x2b, 0x5a, 0x7c, 0x44, 0xfa, 0x52, 0xaa, 0x81, 0xc8,
-+ 0x2d, 0x1c, 0xbb, 0xe0, 0x52, 0xdf, 0x00, 0x11, 0xf8, 0x9a, 0x3d, 0xc1, 0x60,
-+ 0xb0, 0xe1, 0x33, 0xb5, 0xa3, 0x88, 0xd1, 0x65, 0x19, 0x0a, 0x1a, 0xe7, 0xac,
-+ 0x7c, 0xa4, 0xc1, 0x82, 0x87, 0x4e, 0x38, 0xb1, 0x2f, 0x0d, 0xc5, 0x14, 0x87,
-+ 0x6f, 0xfd, 0x8d, 0x2e, 0xbc, 0x39, 0xb6, 0xe7, 0xe6, 0xc3, 0xe0, 0xe4, 0xcd,
-+ 0x27, 0x84, 0xef, 0x94, 0x42, 0xef, 0x29, 0x8b, 0x90, 0x46, 0x41, 0x3b, 0x81,
-+ 0x1b, 0x67, 0xd8, 0xf9, 0x43, 0x59, 0x65, 0xcb, 0x0d, 0xbc, 0xfd, 0x00, 0x92,
-+ 0x4f, 0xf4, 0x75, 0x3b, 0xa7, 0xa9, 0x24, 0xfc, 0x50, 0x41, 0x40, 0x79, 0xe0,
-+ 0x2d, 0x4f, 0x0a, 0x6a, 0x27, 0x76, 0x6e, 0x52, 0xed, 0x96, 0x69, 0x7b, 0xaf,
-+ 0x0f, 0xf7, 0x87, 0x05, 0xd0, 0x45, 0xc2, 0xad, 0x53, 0x14, 0x81, 0x1f, 0xfb,
-+ 0x30, 0x04, 0xaa, 0x37, 0x36, 0x61, 0xda, 0x4a, 0x69, 0x1b, 0x34, 0xd8, 0x68,
-+ 0xed, 0xd6, 0x02, 0xcf, 0x6c, 0x94, 0x0c, 0xd3, 0xcf, 0x6c, 0x22, 0x79, 0xad,
-+ 0xb1, 0xf0, 0xbc, 0x03, 0xa2, 0x46, 0x60, 0xa9, 0xc4, 0x07, 0xc2, 0x21, 0x82,
-+ 0xf1, 0xfd, 0xf2, 0xe8, 0x79, 0x32, 0x60, 0xbf, 0xd8, 0xac, 0xa5, 0x22, 0x14,
-+ 0x4b, 0xca, 0xc1, 0xd8, 0x4b, 0xeb, 0x7d, 0x3f, 0x57, 0x35, 0xb2, 0xe6, 0x4f,
-+ 0x75, 0xb4, 0xb0, 0x60, 0x03, 0x22, 0x53, 0xae, 0x91, 0x79, 0x1d, 0xd6, 0x9b,
-+ 0x41, 0x1f, 0x15, 0x86, 0x54, 0x70, 0xb2, 0xde, 0x0d, 0x35, 0x0f, 0x7c, 0xb0,
-+ 0x34, 0x72, 0xba, 0x97, 0x60, 0x3b, 0xf0, 0x79, 0xeb, 0xa2, 0xb2, 0x1c, 0x5d,
-+ 0xa2, 0x16, 0xb8, 0x87, 0xc5, 0xe9, 0x1b, 0xf6, 0xb5, 0x97, 0x25, 0x6f, 0x38,
-+ 0x9f, 0xe3, 0x91, 0xfa, 0x8a, 0x79, 0x98, 0xc3, 0x69, 0x0e, 0xb7, 0xa3, 0x1c,
-+ 0x20, 0x05, 0x97, 0xf8, 0xca, 0x14, 0xae, 0x00, 0xd7, 0xc4, 0xf3, 0xc0, 0x14,
-+ 0x10, 0x75, 0x6b, 0x34, 0xa0, 0x1b, 0xb5, 0x99, 0x60, 0xf3, 0x5c, 0xb0, 0xc5,
-+ 0x57, 0x4e, 0x36, 0xd2, 0x32, 0x84, 0xbf, 0x9e
-+};
-+
-+//
-+// First DB entry: "Microsoft Windows Production PCA 2011"
-+// SHA1: 58:0a:6f:4c:c4:e4:b6:69:b9:eb:dc:1b:2b:3e:08:7b:80:d0:67:8d
-+//
-+// Windows 8 and Windows Server 2012 R2 boot loaders are signed with a chain
-+// rooted in this certificate.
-+//
-+STATIC CONST UINT8 MicrosoftPCA[] = {
-+ 0x30, 0x82, 0x05, 0xd7, 0x30, 0x82, 0x03, 0xbf, 0xa0, 0x03, 0x02, 0x01, 0x02,
-+ 0x02, 0x0a, 0x61, 0x07, 0x76, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x30,
-+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05,
-+ 0x00, 0x30, 0x81, 0x88, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
-+ 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08,
-+ 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31,
-+ 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64,
-+ 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a,
-+ 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43,
-+ 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x32, 0x30,
-+ 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x4d, 0x69, 0x63, 0x72, 0x6f,
-+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x65, 0x72,
-+ 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68,
-+ 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x32, 0x30, 0x31, 0x30, 0x30, 0x1e, 0x17,
-+ 0x0d, 0x31, 0x31, 0x31, 0x30, 0x31, 0x39, 0x31, 0x38, 0x34, 0x31, 0x34, 0x32,
-+ 0x5a, 0x17, 0x0d, 0x32, 0x36, 0x31, 0x30, 0x31, 0x39, 0x31, 0x38, 0x35, 0x31,
-+ 0x34, 0x32, 0x5a, 0x30, 0x81, 0x84, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
-+ 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
-+ 0x04, 0x08, 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f,
-+ 0x6e, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52,
-+ 0x65, 0x64, 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55,
-+ 0x04, 0x0a, 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74,
-+ 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31,
-+ 0x2e, 0x30, 0x2c, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x25, 0x4d, 0x69, 0x63,
-+ 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77,
-+ 0x73, 0x20, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20,
-+ 0x50, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31, 0x31, 0x30, 0x82, 0x01, 0x22, 0x30,
-+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,
-+ 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01,
-+ 0x01, 0x00, 0xdd, 0x0c, 0xbb, 0xa2, 0xe4, 0x2e, 0x09, 0xe3, 0xe7, 0xc5, 0xf7,
-+ 0x96, 0x69, 0xbc, 0x00, 0x21, 0xbd, 0x69, 0x33, 0x33, 0xef, 0xad, 0x04, 0xcb,
-+ 0x54, 0x80, 0xee, 0x06, 0x83, 0xbb, 0xc5, 0x20, 0x84, 0xd9, 0xf7, 0xd2, 0x8b,
-+ 0xf3, 0x38, 0xb0, 0xab, 0xa4, 0xad, 0x2d, 0x7c, 0x62, 0x79, 0x05, 0xff, 0xe3,
-+ 0x4a, 0x3f, 0x04, 0x35, 0x20, 0x70, 0xe3, 0xc4, 0xe7, 0x6b, 0xe0, 0x9c, 0xc0,
-+ 0x36, 0x75, 0xe9, 0x8a, 0x31, 0xdd, 0x8d, 0x70, 0xe5, 0xdc, 0x37, 0xb5, 0x74,
-+ 0x46, 0x96, 0x28, 0x5b, 0x87, 0x60, 0x23, 0x2c, 0xbf, 0xdc, 0x47, 0xa5, 0x67,
-+ 0xf7, 0x51, 0x27, 0x9e, 0x72, 0xeb, 0x07, 0xa6, 0xc9, 0xb9, 0x1e, 0x3b, 0x53,
-+ 0x35, 0x7c, 0xe5, 0xd3, 0xec, 0x27, 0xb9, 0x87, 0x1c, 0xfe, 0xb9, 0xc9, 0x23,
-+ 0x09, 0x6f, 0xa8, 0x46, 0x91, 0xc1, 0x6e, 0x96, 0x3c, 0x41, 0xd3, 0xcb, 0xa3,
-+ 0x3f, 0x5d, 0x02, 0x6a, 0x4d, 0xec, 0x69, 0x1f, 0x25, 0x28, 0x5c, 0x36, 0xff,
-+ 0xfd, 0x43, 0x15, 0x0a, 0x94, 0xe0, 0x19, 0xb4, 0xcf, 0xdf, 0xc2, 0x12, 0xe2,
-+ 0xc2, 0x5b, 0x27, 0xee, 0x27, 0x78, 0x30, 0x8b, 0x5b, 0x2a, 0x09, 0x6b, 0x22,
-+ 0x89, 0x53, 0x60, 0x16, 0x2c, 0xc0, 0x68, 0x1d, 0x53, 0xba, 0xec, 0x49, 0xf3,
-+ 0x9d, 0x61, 0x8c, 0x85, 0x68, 0x09, 0x73, 0x44, 0x5d, 0x7d, 0xa2, 0x54, 0x2b,
-+ 0xdd, 0x79, 0xf7, 0x15, 0xcf, 0x35, 0x5d, 0x6c, 0x1c, 0x2b, 0x5c, 0xce, 0xbc,
-+ 0x9c, 0x23, 0x8b, 0x6f, 0x6e, 0xb5, 0x26, 0xd9, 0x36, 0x13, 0xc3, 0x4f, 0xd6,
-+ 0x27, 0xae, 0xb9, 0x32, 0x3b, 0x41, 0x92, 0x2c, 0xe1, 0xc7, 0xcd, 0x77, 0xe8,
-+ 0xaa, 0x54, 0x4e, 0xf7, 0x5c, 0x0b, 0x04, 0x87, 0x65, 0xb4, 0x43, 0x18, 0xa8,
-+ 0xb2, 0xe0, 0x6d, 0x19, 0x77, 0xec, 0x5a, 0x24, 0xfa, 0x48, 0x03, 0x02, 0x03,
-+ 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x43, 0x30, 0x82, 0x01, 0x3f, 0x30, 0x10,
-+ 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x01, 0x04, 0x03,
-+ 0x02, 0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04,
-+ 0x14, 0xa9, 0x29, 0x02, 0x39, 0x8e, 0x16, 0xc4, 0x97, 0x78, 0xcd, 0x90, 0xf9,
-+ 0x9e, 0x4f, 0x9a, 0xe1, 0x7c, 0x55, 0xaf, 0x53, 0x30, 0x19, 0x06, 0x09, 0x2b,
-+ 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x0c, 0x1e, 0x0a, 0x00,
-+ 0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 0x43, 0x00, 0x41, 0x30, 0x0b, 0x06, 0x03,
-+ 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x0f, 0x06, 0x03,
-+ 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff,
-+ 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14,
-+ 0xd5, 0xf6, 0x56, 0xcb, 0x8f, 0xe8, 0xa2, 0x5c, 0x62, 0x68, 0xd1, 0x3d, 0x94,
-+ 0x90, 0x5b, 0xd7, 0xce, 0x9a, 0x18, 0xc4, 0x30, 0x56, 0x06, 0x03, 0x55, 0x1d,
-+ 0x1f, 0x04, 0x4f, 0x30, 0x4d, 0x30, 0x4b, 0xa0, 0x49, 0xa0, 0x47, 0x86, 0x45,
-+ 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x6d, 0x69,
-+ 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70,
-+ 0x6b, 0x69, 0x2f, 0x63, 0x72, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
-+ 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x52, 0x6f, 0x6f, 0x43, 0x65, 0x72, 0x41,
-+ 0x75, 0x74, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x30, 0x36, 0x2d, 0x32, 0x33,
-+ 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x5a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05,
-+ 0x07, 0x01, 0x01, 0x04, 0x4e, 0x30, 0x4c, 0x30, 0x4a, 0x06, 0x08, 0x2b, 0x06,
-+ 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x3e, 0x68, 0x74, 0x74, 0x70, 0x3a,
-+ 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f,
-+ 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x65,
-+ 0x72, 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x52, 0x6f, 0x6f, 0x43, 0x65, 0x72,
-+ 0x41, 0x75, 0x74, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x30, 0x36, 0x2d, 0x32,
-+ 0x33, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
-+ 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x14,
-+ 0xfc, 0x7c, 0x71, 0x51, 0xa5, 0x79, 0xc2, 0x6e, 0xb2, 0xef, 0x39, 0x3e, 0xbc,
-+ 0x3c, 0x52, 0x0f, 0x6e, 0x2b, 0x3f, 0x10, 0x13, 0x73, 0xfe, 0xa8, 0x68, 0xd0,
-+ 0x48, 0xa6, 0x34, 0x4d, 0x8a, 0x96, 0x05, 0x26, 0xee, 0x31, 0x46, 0x90, 0x61,
-+ 0x79, 0xd6, 0xff, 0x38, 0x2e, 0x45, 0x6b, 0xf4, 0xc0, 0xe5, 0x28, 0xb8, 0xda,
-+ 0x1d, 0x8f, 0x8a, 0xdb, 0x09, 0xd7, 0x1a, 0xc7, 0x4c, 0x0a, 0x36, 0x66, 0x6a,
-+ 0x8c, 0xec, 0x1b, 0xd7, 0x04, 0x90, 0xa8, 0x18, 0x17, 0xa4, 0x9b, 0xb9, 0xe2,
-+ 0x40, 0x32, 0x36, 0x76, 0xc4, 0xc1, 0x5a, 0xc6, 0xbf, 0xe4, 0x04, 0xc0, 0xea,
-+ 0x16, 0xd3, 0xac, 0xc3, 0x68, 0xef, 0x62, 0xac, 0xdd, 0x54, 0x6c, 0x50, 0x30,
-+ 0x58, 0xa6, 0xeb, 0x7c, 0xfe, 0x94, 0xa7, 0x4e, 0x8e, 0xf4, 0xec, 0x7c, 0x86,
-+ 0x73, 0x57, 0xc2, 0x52, 0x21, 0x73, 0x34, 0x5a, 0xf3, 0xa3, 0x8a, 0x56, 0xc8,
-+ 0x04, 0xda, 0x07, 0x09, 0xed, 0xf8, 0x8b, 0xe3, 0xce, 0xf4, 0x7e, 0x8e, 0xae,
-+ 0xf0, 0xf6, 0x0b, 0x8a, 0x08, 0xfb, 0x3f, 0xc9, 0x1d, 0x72, 0x7f, 0x53, 0xb8,
-+ 0xeb, 0xbe, 0x63, 0xe0, 0xe3, 0x3d, 0x31, 0x65, 0xb0, 0x81, 0xe5, 0xf2, 0xac,
-+ 0xcd, 0x16, 0xa4, 0x9f, 0x3d, 0xa8, 0xb1, 0x9b, 0xc2, 0x42, 0xd0, 0x90, 0x84,
-+ 0x5f, 0x54, 0x1d, 0xff, 0x89, 0xea, 0xba, 0x1d, 0x47, 0x90, 0x6f, 0xb0, 0x73,
-+ 0x4e, 0x41, 0x9f, 0x40, 0x9f, 0x5f, 0xe5, 0xa1, 0x2a, 0xb2, 0x11, 0x91, 0x73,
-+ 0x8a, 0x21, 0x28, 0xf0, 0xce, 0xde, 0x73, 0x39, 0x5f, 0x3e, 0xab, 0x5c, 0x60,
-+ 0xec, 0xdf, 0x03, 0x10, 0xa8, 0xd3, 0x09, 0xe9, 0xf4, 0xf6, 0x96, 0x85, 0xb6,
-+ 0x7f, 0x51, 0x88, 0x66, 0x47, 0x19, 0x8d, 0xa2, 0xb0, 0x12, 0x3d, 0x81, 0x2a,
-+ 0x68, 0x05, 0x77, 0xbb, 0x91, 0x4c, 0x62, 0x7b, 0xb6, 0xc1, 0x07, 0xc7, 0xba,
-+ 0x7a, 0x87, 0x34, 0x03, 0x0e, 0x4b, 0x62, 0x7a, 0x99, 0xe9, 0xca, 0xfc, 0xce,
-+ 0x4a, 0x37, 0xc9, 0x2d, 0xa4, 0x57, 0x7c, 0x1c, 0xfe, 0x3d, 0xdc, 0xb8, 0x0f,
-+ 0x5a, 0xfa, 0xd6, 0xc4, 0xb3, 0x02, 0x85, 0x02, 0x3a, 0xea, 0xb3, 0xd9, 0x6e,
-+ 0xe4, 0x69, 0x21, 0x37, 0xde, 0x81, 0xd1, 0xf6, 0x75, 0x19, 0x05, 0x67, 0xd3,
-+ 0x93, 0x57, 0x5e, 0x29, 0x1b, 0x39, 0xc8, 0xee, 0x2d, 0xe1, 0xcd, 0xe4, 0x45,
-+ 0x73, 0x5b, 0xd0, 0xd2, 0xce, 0x7a, 0xab, 0x16, 0x19, 0x82, 0x46, 0x58, 0xd0,
-+ 0x5e, 0x9d, 0x81, 0xb3, 0x67, 0xaf, 0x6c, 0x35, 0xf2, 0xbc, 0xe5, 0x3f, 0x24,
-+ 0xe2, 0x35, 0xa2, 0x0a, 0x75, 0x06, 0xf6, 0x18, 0x56, 0x99, 0xd4, 0x78, 0x2c,
-+ 0xd1, 0x05, 0x1b, 0xeb, 0xd0, 0x88, 0x01, 0x9d, 0xaa, 0x10, 0xf1, 0x05, 0xdf,
-+ 0xba, 0x7e, 0x2c, 0x63, 0xb7, 0x06, 0x9b, 0x23, 0x21, 0xc4, 0xf9, 0x78, 0x6c,
-+ 0xe2, 0x58, 0x17, 0x06, 0x36, 0x2b, 0x91, 0x12, 0x03, 0xcc, 0xa4, 0xd9, 0xf2,
-+ 0x2d, 0xba, 0xf9, 0x94, 0x9d, 0x40, 0xed, 0x18, 0x45, 0xf1, 0xce, 0x8a, 0x5c,
-+ 0x6b, 0x3e, 0xab, 0x03, 0xd3, 0x70, 0x18, 0x2a, 0x0a, 0x6a, 0xe0, 0x5f, 0x47,
-+ 0xd1, 0xd5, 0x63, 0x0a, 0x32, 0xf2, 0xaf, 0xd7, 0x36, 0x1f, 0x2a, 0x70, 0x5a,
-+ 0xe5, 0x42, 0x59, 0x08, 0x71, 0x4b, 0x57, 0xba, 0x7e, 0x83, 0x81, 0xf0, 0x21,
-+ 0x3c, 0xf4, 0x1c, 0xc1, 0xc5, 0xb9, 0x90, 0x93, 0x0e, 0x88, 0x45, 0x93, 0x86,
-+ 0xe9, 0xb1, 0x20, 0x99, 0xbe, 0x98, 0xcb, 0xc5, 0x95, 0xa4, 0x5d, 0x62, 0xd6,
-+ 0xa0, 0x63, 0x08, 0x20, 0xbd, 0x75, 0x10, 0x77, 0x7d, 0x3d, 0xf3, 0x45, 0xb9,
-+ 0x9f, 0x97, 0x9f, 0xcb, 0x57, 0x80, 0x6f, 0x33, 0xa9, 0x04, 0xcf, 0x77, 0xa4,
-+ 0x62, 0x1c, 0x59, 0x7e
-+};
-+
-+//
-+// Second DB entry: "Microsoft Corporation UEFI CA 2011"
-+// SHA1: 46:de:f6:3b:5c:e6:1c:f8:ba:0d:e2:e6:63:9c:10:19:d0:ed:14:f3
-+//
-+// To verify the "shim" binary and PCI expansion ROMs with.
-+//
-+STATIC CONST UINT8 MicrosoftUefiCA[] = {
-+ 0x30, 0x82, 0x06, 0x10, 0x30, 0x82, 0x03, 0xf8, 0xa0, 0x03, 0x02, 0x01, 0x02,
-+ 0x02, 0x0a, 0x61, 0x08, 0xd3, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x30,
-+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05,
-+ 0x00, 0x30, 0x81, 0x91, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06,
-+ 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08,
-+ 0x13, 0x0a, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31,
-+ 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64,
-+ 0x6d, 0x6f, 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a,
-+ 0x13, 0x15, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43,
-+ 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x3b, 0x30,
-+ 0x39, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x32, 0x4d, 0x69, 0x63, 0x72, 0x6f,
-+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74,
-+ 0x69, 0x6f, 0x6e, 0x20, 0x54, 0x68, 0x69, 0x72, 0x64, 0x20, 0x50, 0x61, 0x72,
-+ 0x74, 0x79, 0x20, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63,
-+ 0x65, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x31, 0x30,
-+ 0x36, 0x32, 0x37, 0x32, 0x31, 0x32, 0x32, 0x34, 0x35, 0x5a, 0x17, 0x0d, 0x32,
-+ 0x36, 0x30, 0x36, 0x32, 0x37, 0x32, 0x31, 0x33, 0x32, 0x34, 0x35, 0x5a, 0x30,
-+ 0x81, 0x81, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
-+ 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a,
-+ 0x57, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x31, 0x10, 0x30,
-+ 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, 0x64, 0x6d, 0x6f,
-+ 0x6e, 0x64, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15,
-+ 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72,
-+ 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x31, 0x2b, 0x30, 0x29, 0x06,
-+ 0x03, 0x55, 0x04, 0x03, 0x13, 0x22, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f,
-+ 0x66, 0x74, 0x20, 0x43, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f,
-+ 0x6e, 0x20, 0x55, 0x45, 0x46, 0x49, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x31,
-+ 0x31, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
-+ 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30,
-+ 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa5, 0x08, 0x6c, 0x4c, 0xc7,
-+ 0x45, 0x09, 0x6a, 0x4b, 0x0c, 0xa4, 0xc0, 0x87, 0x7f, 0x06, 0x75, 0x0c, 0x43,
-+ 0x01, 0x54, 0x64, 0xe0, 0x16, 0x7f, 0x07, 0xed, 0x92, 0x7d, 0x0b, 0xb2, 0x73,
-+ 0xbf, 0x0c, 0x0a, 0xc6, 0x4a, 0x45, 0x61, 0xa0, 0xc5, 0x16, 0x2d, 0x96, 0xd3,
-+ 0xf5, 0x2b, 0xa0, 0xfb, 0x4d, 0x49, 0x9b, 0x41, 0x80, 0x90, 0x3c, 0xb9, 0x54,
-+ 0xfd, 0xe6, 0xbc, 0xd1, 0x9d, 0xc4, 0xa4, 0x18, 0x8a, 0x7f, 0x41, 0x8a, 0x5c,
-+ 0x59, 0x83, 0x68, 0x32, 0xbb, 0x8c, 0x47, 0xc9, 0xee, 0x71, 0xbc, 0x21, 0x4f,
-+ 0x9a, 0x8a, 0x7c, 0xff, 0x44, 0x3f, 0x8d, 0x8f, 0x32, 0xb2, 0x26, 0x48, 0xae,
-+ 0x75, 0xb5, 0xee, 0xc9, 0x4c, 0x1e, 0x4a, 0x19, 0x7e, 0xe4, 0x82, 0x9a, 0x1d,
-+ 0x78, 0x77, 0x4d, 0x0c, 0xb0, 0xbd, 0xf6, 0x0f, 0xd3, 0x16, 0xd3, 0xbc, 0xfa,
-+ 0x2b, 0xa5, 0x51, 0x38, 0x5d, 0xf5, 0xfb, 0xba, 0xdb, 0x78, 0x02, 0xdb, 0xff,
-+ 0xec, 0x0a, 0x1b, 0x96, 0xd5, 0x83, 0xb8, 0x19, 0x13, 0xe9, 0xb6, 0xc0, 0x7b,
-+ 0x40, 0x7b, 0xe1, 0x1f, 0x28, 0x27, 0xc9, 0xfa, 0xef, 0x56, 0x5e, 0x1c, 0xe6,
-+ 0x7e, 0x94, 0x7e, 0xc0, 0xf0, 0x44, 0xb2, 0x79, 0x39, 0xe5, 0xda, 0xb2, 0x62,
-+ 0x8b, 0x4d, 0xbf, 0x38, 0x70, 0xe2, 0x68, 0x24, 0x14, 0xc9, 0x33, 0xa4, 0x08,
-+ 0x37, 0xd5, 0x58, 0x69, 0x5e, 0xd3, 0x7c, 0xed, 0xc1, 0x04, 0x53, 0x08, 0xe7,
-+ 0x4e, 0xb0, 0x2a, 0x87, 0x63, 0x08, 0x61, 0x6f, 0x63, 0x15, 0x59, 0xea, 0xb2,
-+ 0x2b, 0x79, 0xd7, 0x0c, 0x61, 0x67, 0x8a, 0x5b, 0xfd, 0x5e, 0xad, 0x87, 0x7f,
-+ 0xba, 0x86, 0x67, 0x4f, 0x71, 0x58, 0x12, 0x22, 0x04, 0x22, 0x22, 0xce, 0x8b,
-+ 0xef, 0x54, 0x71, 0x00, 0xce, 0x50, 0x35, 0x58, 0x76, 0x95, 0x08, 0xee, 0x6a,
-+ 0xb1, 0xa2, 0x01, 0xd5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x76,
-+ 0x30, 0x82, 0x01, 0x72, 0x30, 0x12, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01,
-+ 0x82, 0x37, 0x15, 0x01, 0x04, 0x05, 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x23,
-+ 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x02, 0x04, 0x16,
-+ 0x04, 0x14, 0xf8, 0xc1, 0x6b, 0xb7, 0x7f, 0x77, 0x53, 0x4a, 0xf3, 0x25, 0x37,
-+ 0x1d, 0x4e, 0xa1, 0x26, 0x7b, 0x0f, 0x20, 0x70, 0x80, 0x30, 0x1d, 0x06, 0x03,
-+ 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x13, 0xad, 0xbf, 0x43, 0x09, 0xbd,
-+ 0x82, 0x70, 0x9c, 0x8c, 0xd5, 0x4f, 0x31, 0x6e, 0xd5, 0x22, 0x98, 0x8a, 0x1b,
-+ 0xd4, 0x30, 0x19, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14,
-+ 0x02, 0x04, 0x0c, 0x1e, 0x0a, 0x00, 0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 0x43,
-+ 0x00, 0x41, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02,
-+ 0x01, 0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04,
-+ 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
-+ 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x45, 0x66, 0x52, 0x43, 0xe1, 0x7e, 0x58,
-+ 0x11, 0xbf, 0xd6, 0x4e, 0x9e, 0x23, 0x55, 0x08, 0x3b, 0x3a, 0x22, 0x6a, 0xa8,
-+ 0x30, 0x5c, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x55, 0x30, 0x53, 0x30, 0x51,
-+ 0xa0, 0x4f, 0xa0, 0x4d, 0x86, 0x4b, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
-+ 0x63, 0x72, 0x6c, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74,
-+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x72, 0x6c, 0x2f,
-+ 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43,
-+ 0x6f, 0x72, 0x54, 0x68, 0x69, 0x50, 0x61, 0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f,
-+ 0x6f, 0x5f, 0x32, 0x30, 0x31, 0x30, 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e,
-+ 0x63, 0x72, 0x6c, 0x30, 0x60, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
-+ 0x01, 0x01, 0x04, 0x54, 0x30, 0x52, 0x30, 0x50, 0x06, 0x08, 0x2b, 0x06, 0x01,
-+ 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x44, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
-+ 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66,
-+ 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x63, 0x65, 0x72,
-+ 0x74, 0x73, 0x2f, 0x4d, 0x69, 0x63, 0x43, 0x6f, 0x72, 0x54, 0x68, 0x69, 0x50,
-+ 0x61, 0x72, 0x4d, 0x61, 0x72, 0x52, 0x6f, 0x6f, 0x5f, 0x32, 0x30, 0x31, 0x30,
-+ 0x2d, 0x31, 0x30, 0x2d, 0x30, 0x35, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06,
-+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03,
-+ 0x82, 0x02, 0x01, 0x00, 0x35, 0x08, 0x42, 0xff, 0x30, 0xcc, 0xce, 0xf7, 0x76,
-+ 0x0c, 0xad, 0x10, 0x68, 0x58, 0x35, 0x29, 0x46, 0x32, 0x76, 0x27, 0x7c, 0xef,
-+ 0x12, 0x41, 0x27, 0x42, 0x1b, 0x4a, 0xaa, 0x6d, 0x81, 0x38, 0x48, 0x59, 0x13,
-+ 0x55, 0xf3, 0xe9, 0x58, 0x34, 0xa6, 0x16, 0x0b, 0x82, 0xaa, 0x5d, 0xad, 0x82,
-+ 0xda, 0x80, 0x83, 0x41, 0x06, 0x8f, 0xb4, 0x1d, 0xf2, 0x03, 0xb9, 0xf3, 0x1a,
-+ 0x5d, 0x1b, 0xf1, 0x50, 0x90, 0xf9, 0xb3, 0x55, 0x84, 0x42, 0x28, 0x1c, 0x20,
-+ 0xbd, 0xb2, 0xae, 0x51, 0x14, 0xc5, 0xc0, 0xac, 0x97, 0x95, 0x21, 0x1c, 0x90,
-+ 0xdb, 0x0f, 0xfc, 0x77, 0x9e, 0x95, 0x73, 0x91, 0x88, 0xca, 0xbd, 0xbd, 0x52,
-+ 0xb9, 0x05, 0x50, 0x0d, 0xdf, 0x57, 0x9e, 0xa0, 0x61, 0xed, 0x0d, 0xe5, 0x6d,
-+ 0x25, 0xd9, 0x40, 0x0f, 0x17, 0x40, 0xc8, 0xce, 0xa3, 0x4a, 0xc2, 0x4d, 0xaf,
-+ 0x9a, 0x12, 0x1d, 0x08, 0x54, 0x8f, 0xbd, 0xc7, 0xbc, 0xb9, 0x2b, 0x3d, 0x49,
-+ 0x2b, 0x1f, 0x32, 0xfc, 0x6a, 0x21, 0x69, 0x4f, 0x9b, 0xc8, 0x7e, 0x42, 0x34,
-+ 0xfc, 0x36, 0x06, 0x17, 0x8b, 0x8f, 0x20, 0x40, 0xc0, 0xb3, 0x9a, 0x25, 0x75,
-+ 0x27, 0xcd, 0xc9, 0x03, 0xa3, 0xf6, 0x5d, 0xd1, 0xe7, 0x36, 0x54, 0x7a, 0xb9,
-+ 0x50, 0xb5, 0xd3, 0x12, 0xd1, 0x07, 0xbf, 0xbb, 0x74, 0xdf, 0xdc, 0x1e, 0x8f,
-+ 0x80, 0xd5, 0xed, 0x18, 0xf4, 0x2f, 0x14, 0x16, 0x6b, 0x2f, 0xde, 0x66, 0x8c,
-+ 0xb0, 0x23, 0xe5, 0xc7, 0x84, 0xd8, 0xed, 0xea, 0xc1, 0x33, 0x82, 0xad, 0x56,
-+ 0x4b, 0x18, 0x2d, 0xf1, 0x68, 0x95, 0x07, 0xcd, 0xcf, 0xf0, 0x72, 0xf0, 0xae,
-+ 0xbb, 0xdd, 0x86, 0x85, 0x98, 0x2c, 0x21, 0x4c, 0x33, 0x2b, 0xf0, 0x0f, 0x4a,
-+ 0xf0, 0x68, 0x87, 0xb5, 0x92, 0x55, 0x32, 0x75, 0xa1, 0x6a, 0x82, 0x6a, 0x3c,
-+ 0xa3, 0x25, 0x11, 0xa4, 0xed, 0xad, 0xd7, 0x04, 0xae, 0xcb, 0xd8, 0x40, 0x59,
-+ 0xa0, 0x84, 0xd1, 0x95, 0x4c, 0x62, 0x91, 0x22, 0x1a, 0x74, 0x1d, 0x8c, 0x3d,
-+ 0x47, 0x0e, 0x44, 0xa6, 0xe4, 0xb0, 0x9b, 0x34, 0x35, 0xb1, 0xfa, 0xb6, 0x53,
-+ 0xa8, 0x2c, 0x81, 0xec, 0xa4, 0x05, 0x71, 0xc8, 0x9d, 0xb8, 0xba, 0xe8, 0x1b,
-+ 0x44, 0x66, 0xe4, 0x47, 0x54, 0x0e, 0x8e, 0x56, 0x7f, 0xb3, 0x9f, 0x16, 0x98,
-+ 0xb2, 0x86, 0xd0, 0x68, 0x3e, 0x90, 0x23, 0xb5, 0x2f, 0x5e, 0x8f, 0x50, 0x85,
-+ 0x8d, 0xc6, 0x8d, 0x82, 0x5f, 0x41, 0xa1, 0xf4, 0x2e, 0x0d, 0xe0, 0x99, 0xd2,
-+ 0x6c, 0x75, 0xe4, 0xb6, 0x69, 0xb5, 0x21, 0x86, 0xfa, 0x07, 0xd1, 0xf6, 0xe2,
-+ 0x4d, 0xd1, 0xda, 0xad, 0x2c, 0x77, 0x53, 0x1e, 0x25, 0x32, 0x37, 0xc7, 0x6c,
-+ 0x52, 0x72, 0x95, 0x86, 0xb0, 0xf1, 0x35, 0x61, 0x6a, 0x19, 0xf5, 0xb2, 0x3b,
-+ 0x81, 0x50, 0x56, 0xa6, 0x32, 0x2d, 0xfe, 0xa2, 0x89, 0xf9, 0x42, 0x86, 0x27,
-+ 0x18, 0x55, 0xa1, 0x82, 0xca, 0x5a, 0x9b, 0xf8, 0x30, 0x98, 0x54, 0x14, 0xa6,
-+ 0x47, 0x96, 0x25, 0x2f, 0xc8, 0x26, 0xe4, 0x41, 0x94, 0x1a, 0x5c, 0x02, 0x3f,
-+ 0xe5, 0x96, 0xe3, 0x85, 0x5b, 0x3c, 0x3e, 0x3f, 0xbb, 0x47, 0x16, 0x72, 0x55,
-+ 0xe2, 0x25, 0x22, 0xb1, 0xd9, 0x7b, 0xe7, 0x03, 0x06, 0x2a, 0xa3, 0xf7, 0x1e,
-+ 0x90, 0x46, 0xc3, 0x00, 0x0d, 0xd6, 0x19, 0x89, 0xe3, 0x0e, 0x35, 0x27, 0x62,
-+ 0x03, 0x71, 0x15, 0xa6, 0xef, 0xd0, 0x27, 0xa0, 0xa0, 0x59, 0x37, 0x60, 0xf8,
-+ 0x38, 0x94, 0xb8, 0xe0, 0x78, 0x70, 0xf8, 0xba, 0x4c, 0x86, 0x87, 0x94, 0xf6,
-+ 0xe0, 0xae, 0x02, 0x45, 0xee, 0x65, 0xc2, 0xb6, 0xa3, 0x7e, 0x69, 0x16, 0x75,
-+ 0x07, 0x92, 0x9b, 0xf5, 0xa6, 0xbc, 0x59, 0x83, 0x58
-+};
-+
-+//
-+// The most important thing about the variable payload is that it is a list of
-+// lists, where the element size of any given *inner* list is constant.
-+//
-+// Since X509 certificates vary in size, each of our *inner* lists will contain
-+// one element only (one X.509 certificate). This is explicitly mentioned in
-+// the UEFI specification, in "28.4.1 Signature Database", in a Note.
-+//
-+// The list structure looks as follows:
-+//
-+// struct EFI_VARIABLE_AUTHENTICATION_2 { |
-+// struct EFI_TIME { |
-+// UINT16 Year; |
-+// UINT8 Month; |
-+// UINT8 Day; |
-+// UINT8 Hour; |
-+// UINT8 Minute; |
-+// UINT8 Second; |
-+// UINT8 Pad1; |
-+// UINT32 Nanosecond; |
-+// INT16 TimeZone; |
-+// UINT8 Daylight; |
-+// UINT8 Pad2; |
-+// } TimeStamp; |
-+// |
-+// struct WIN_CERTIFICATE_UEFI_GUID { | |
-+// struct WIN_CERTIFICATE { | |
-+// UINT32 dwLength; ----------------------------------------+ |
-+// UINT16 wRevision; | |
-+// UINT16 wCertificateType; | |
-+// } Hdr; | +- DataSize
-+// | |
-+// EFI_GUID CertType; | |
-+// UINT8 CertData[1] = { <--- "struct hack" | |
-+// struct EFI_SIGNATURE_LIST { | | |
-+// EFI_GUID SignatureType; | | |
-+// UINT32 SignatureListSize; -------------------------+ | |
-+// UINT32 SignatureHeaderSize; | | |
-+// UINT32 SignatureSize; ---------------------------+ | | |
-+// UINT8 SignatureHeader[SignatureHeaderSize]; | | | |
-+// v | | |
-+// struct EFI_SIGNATURE_DATA { | | | |
-+// EFI_GUID SignatureOwner; | | | |
-+// UINT8 SignatureData[1] = { <--- "struct hack" | | | |
-+// X.509 payload | | | |
-+// } | | | |
-+// } Signatures[]; | | |
-+// } SigLists[]; | |
-+// }; | |
-+// } AuthInfo; | |
-+// }; |
-+//
-+// Given that the "struct hack" invokes undefined behavior (which is why C99
-+// introduced the flexible array member), and because subtracting those pesky
-+// sizes of 1 is annoying, and because the format is fully specified in the
-+// UEFI specification, we'll introduce two matching convenience structures that
-+// are customized for our X.509 purposes.
-+//
-+#pragma pack(1)
-+typedef struct {
-+ EFI_TIME TimeStamp;
-+
-+ //
-+ // dwLength covers data below
-+ //
-+ UINT32 dwLength;
-+ UINT16 wRevision;
-+ UINT16 wCertificateType;
-+ EFI_GUID CertType;
-+} SINGLE_HEADER;
-+
-+typedef struct {
-+ //
-+ // SignatureListSize covers data below
-+ //
-+ EFI_GUID SignatureType;
-+ UINT32 SignatureListSize;
-+ UINT32 SignatureHeaderSize; // constant 0
-+ UINT32 SignatureSize;
-+
-+ //
-+ // SignatureSize covers data below
-+ //
-+ EFI_GUID SignatureOwner;
-+
-+ //
-+ // X.509 certificate follows
-+ //
-+} REPEATING_HEADER;
-+#pragma pack()
-+
-+/**
-+ Enroll a set of DER-formatted X.509 certificates in a global variable,
-+ overwriting it.
-+
-+ The variable will be rewritten with NV+BS+RT+AT attributes.
-+
-+ @param[in] VariableName The name of the variable to overwrite.
-+
-+ @param[in] VendorGuid The namespace (ie. vendor GUID) of the variable to
-+ overwrite.
-+
-+ @param[in] ... A list of
-+
-+ IN CONST UINT8 *Cert,
-+ IN UINTN CertSize,
-+ IN CONST EFI_GUID *OwnerGuid
-+
-+ triplets. If the first component of a triplet is
-+ NULL, then the other two components are not
-+ accessed, and processing is terminated. The list of
-+ X.509 certificates is enrolled in the variable
-+ specified, overwriting it. The OwnerGuid component
-+ identifies the agent installing the certificate.
-+
-+ @retval EFI_INVALID_PARAMETER The triplet list is empty (ie. the first Cert
-+ value is NULL), or one of the CertSize values
-+ is 0, or one of the CertSize values would
-+ overflow the accumulated UINT32 data size.
-+
-+ @retval EFI_OUT_OF_RESOURCES Out of memory while formatting variable
-+ payload.
-+
-+ @retval EFI_SUCCESS Enrollment successful; the variable has been
-+ overwritten (or created).
-+
-+ @return Error codes from gRT->GetTime() and
-+ gRT->SetVariable().
-+**/
-+STATIC
-+EFI_STATUS
-+EFIAPI
-+EnrollListOfX509Certs (
-+ IN CHAR16 *VariableName,
-+ IN EFI_GUID *VendorGuid,
-+ ...
-+ )
-+{
-+ UINTN DataSize;
-+ SINGLE_HEADER *SingleHeader;
-+ REPEATING_HEADER *RepeatingHeader;
-+ VA_LIST Marker;
-+ CONST UINT8 *Cert;
-+ EFI_STATUS Status = EFI_SUCCESS;
-+ UINT8 *Data;
-+ UINT8 *Position;
-+
-+ //
-+ // compute total size first, for UINT32 range check, and allocation
-+ //
-+ DataSize = sizeof *SingleHeader;
-+ VA_START (Marker, VendorGuid);
-+ for (Cert = VA_ARG (Marker, CONST UINT8 *);
-+ Cert != NULL;
-+ Cert = VA_ARG (Marker, CONST UINT8 *)) {
-+ UINTN CertSize;
-+
-+ CertSize = VA_ARG (Marker, UINTN);
-+ (VOID)VA_ARG (Marker, CONST EFI_GUID *);
-+
-+ if (CertSize == 0 ||
-+ CertSize > MAX_UINT32 - sizeof *RepeatingHeader ||
-+ DataSize > MAX_UINT32 - sizeof *RepeatingHeader - CertSize) {
-+ Status = EFI_INVALID_PARAMETER;
-+ break;
-+ }
-+ DataSize += sizeof *RepeatingHeader + CertSize;
-+ }
-+ VA_END (Marker);
-+
-+ if (DataSize == sizeof *SingleHeader) {
-+ Status = EFI_INVALID_PARAMETER;
-+ }
-+ if (EFI_ERROR (Status)) {
-+ goto Out;
-+ }
-+
-+ Data = AllocatePool (DataSize);
-+ if (Data == NULL) {
-+ Status = EFI_OUT_OF_RESOURCES;
-+ goto Out;
-+ }
-+
-+ Position = Data;
-+
-+ SingleHeader = (SINGLE_HEADER *)Position;
-+ Status = gRT->GetTime (&SingleHeader->TimeStamp, NULL);
-+ if (EFI_ERROR (Status)) {
-+ goto FreeData;
-+ }
-+ SingleHeader->TimeStamp.Pad1 = 0;
-+ SingleHeader->TimeStamp.Nanosecond = 0;
-+ SingleHeader->TimeStamp.TimeZone = 0;
-+ SingleHeader->TimeStamp.Daylight = 0;
-+ SingleHeader->TimeStamp.Pad2 = 0;
-+#if 0
-+ SingleHeader->dwLength = DataSize - sizeof SingleHeader->TimeStamp;
-+#else
-+ //
-+ // This looks like a bug in edk2. According to the UEFI specification,
-+ // dwLength is "The length of the entire certificate, including the length of
-+ // the header, in bytes". That shouldn't stop right after CertType -- it
-+ // should include everything below it.
-+ //
-+ SingleHeader->dwLength = sizeof *SingleHeader
-+ - sizeof SingleHeader->TimeStamp;
-+#endif
-+ SingleHeader->wRevision = 0x0200;
-+ SingleHeader->wCertificateType = WIN_CERT_TYPE_EFI_GUID;
-+ CopyGuid (&SingleHeader->CertType, &gEfiCertPkcs7Guid);
-+ Position += sizeof *SingleHeader;
-+
-+ VA_START (Marker, VendorGuid);
-+ for (Cert = VA_ARG (Marker, CONST UINT8 *);
-+ Cert != NULL;
-+ Cert = VA_ARG (Marker, CONST UINT8 *)) {
-+ UINTN CertSize;
-+ CONST EFI_GUID *OwnerGuid;
-+
-+ CertSize = VA_ARG (Marker, UINTN);
-+ OwnerGuid = VA_ARG (Marker, CONST EFI_GUID *);
-+
-+ RepeatingHeader = (REPEATING_HEADER *)Position;
-+ CopyGuid (&RepeatingHeader->SignatureType, &gEfiCertX509Guid);
-+ RepeatingHeader->SignatureListSize = sizeof *RepeatingHeader + CertSize;
-+ RepeatingHeader->SignatureHeaderSize = 0;
-+ RepeatingHeader->SignatureSize =
-+ sizeof RepeatingHeader->SignatureOwner + CertSize;
-+ CopyGuid (&RepeatingHeader->SignatureOwner, OwnerGuid);
-+ Position += sizeof *RepeatingHeader;
-+
-+ CopyMem (Position, Cert, CertSize);
-+ Position += CertSize;
-+ }
-+ VA_END (Marker);
-+
-+ ASSERT (Data + DataSize == Position);
-+
-+ Status = gRT->SetVariable (VariableName, VendorGuid,
-+ (EFI_VARIABLE_NON_VOLATILE |
-+ EFI_VARIABLE_BOOTSERVICE_ACCESS |
-+ EFI_VARIABLE_RUNTIME_ACCESS |
-+ EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS),
-+ DataSize, Data);
-+
-+FreeData:
-+ FreePool (Data);
-+
-+Out:
-+ if (EFI_ERROR (Status)) {
-+ AsciiPrint ("error: %a(\"%s\", %g): %r\n", __FUNCTION__, VariableName,
-+ VendorGuid, Status);
-+ }
-+ return Status;
-+}
-+
-+
-+STATIC
-+EFI_STATUS
-+EFIAPI
-+GetExact (
-+ IN CHAR16 *VariableName,
-+ IN EFI_GUID *VendorGuid,
-+ OUT VOID *Data,
-+ IN UINTN DataSize,
-+ IN BOOLEAN AllowMissing
-+ )
-+{
-+ UINTN Size;
-+ EFI_STATUS Status;
-+
-+ Size = DataSize;
-+ Status = gRT->GetVariable (VariableName, VendorGuid, NULL, &Size, Data);
-+ if (EFI_ERROR (Status)) {
-+ if (Status == EFI_NOT_FOUND && AllowMissing) {
-+ ZeroMem (Data, DataSize);
-+ return EFI_SUCCESS;
-+ }
-+
-+ AsciiPrint ("error: GetVariable(\"%s\", %g): %r\n", VariableName,
-+ VendorGuid, Status);
-+ return Status;
-+ }
-+
-+ if (Size != DataSize) {
-+ AsciiPrint ("error: GetVariable(\"%s\", %g): expected size 0x%Lx, "
-+ "got 0x%Lx\n", VariableName, VendorGuid, (UINT64)DataSize, (UINT64)Size);
-+ return EFI_PROTOCOL_ERROR;
-+ }
-+
-+ return EFI_SUCCESS;
-+}
-+
-+typedef struct {
-+ UINT8 SetupMode;
-+ UINT8 SecureBoot;
-+ UINT8 SecureBootEnable;
-+ UINT8 CustomMode;
-+ UINT8 VendorKeys;
-+} SETTINGS;
-+
-+STATIC
-+EFI_STATUS
-+EFIAPI
-+GetSettings (
-+ OUT SETTINGS *Settings
-+ )
-+{
-+ EFI_STATUS Status;
-+
-+ Status = GetExact (EFI_SETUP_MODE_NAME, &gEfiGlobalVariableGuid,
-+ &Settings->SetupMode, sizeof Settings->SetupMode, FALSE);
-+ if (EFI_ERROR (Status)) {
-+ return Status;
-+ }
-+
-+ Status = GetExact (EFI_SECURE_BOOT_MODE_NAME, &gEfiGlobalVariableGuid,
-+ &Settings->SecureBoot, sizeof Settings->SecureBoot, FALSE);
-+ if (EFI_ERROR (Status)) {
-+ return Status;
-+ }
-+
-+ Status = GetExact (EFI_SECURE_BOOT_ENABLE_NAME,
-+ &gEfiSecureBootEnableDisableGuid, &Settings->SecureBootEnable,
-+ sizeof Settings->SecureBootEnable, TRUE);
-+ if (EFI_ERROR (Status)) {
-+ return Status;
-+ }
-+
-+ Status = GetExact (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid,
-+ &Settings->CustomMode, sizeof Settings->CustomMode, FALSE);
-+ if (EFI_ERROR (Status)) {
-+ return Status;
-+ }
-+
-+ Status = GetExact (EFI_VENDOR_KEYS_VARIABLE_NAME, &gEfiGlobalVariableGuid,
-+ &Settings->VendorKeys, sizeof Settings->VendorKeys, FALSE);
-+ return Status;
-+}
-+
-+STATIC
-+VOID
-+EFIAPI
-+PrintSettings (
-+ IN CONST SETTINGS *Settings
-+ )
-+{
-+ AsciiPrint ("info: SetupMode=%d SecureBoot=%d SecureBootEnable=%d "
-+ "CustomMode=%d VendorKeys=%d\n", Settings->SetupMode, Settings->SecureBoot,
-+ Settings->SecureBootEnable, Settings->CustomMode, Settings->VendorKeys);
-+}
-+
-+
-+INTN
-+EFIAPI
-+ShellAppMain (
-+ IN UINTN Argc,
-+ IN CHAR16 **Argv
-+ )
-+{
-+ EFI_STATUS Status;
-+ SETTINGS Settings;
-+
-+ Status = GetSettings (&Settings);
-+ if (EFI_ERROR (Status)) {
-+ return 1;
-+ }
-+ PrintSettings (&Settings);
-+
-+ if (Settings.SetupMode != 1) {
-+ AsciiPrint ("error: already in User Mode\n");
-+ return 1;
-+ }
-+
-+ if (Settings.CustomMode != CUSTOM_SECURE_BOOT_MODE) {
-+ Settings.CustomMode = CUSTOM_SECURE_BOOT_MODE;
-+ Status = gRT->SetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid,
-+ (EFI_VARIABLE_NON_VOLATILE |
-+ EFI_VARIABLE_BOOTSERVICE_ACCESS),
-+ sizeof Settings.CustomMode, &Settings.CustomMode);
-+ if (EFI_ERROR (Status)) {
-+ AsciiPrint ("error: SetVariable(\"%s\", %g): %r\n", EFI_CUSTOM_MODE_NAME,
-+ &gEfiCustomModeEnableGuid, Status);
-+ return 1;
-+ }
-+ }
-+
-+ Status = EnrollListOfX509Certs (
-+ EFI_IMAGE_SECURITY_DATABASE,
-+ &gEfiImageSecurityDatabaseGuid,
-+ MicrosoftPCA, sizeof MicrosoftPCA, &gEfiCallerIdGuid,
-+ MicrosoftUefiCA, sizeof MicrosoftUefiCA, &gEfiCallerIdGuid,
-+ NULL);
-+ if (EFI_ERROR (Status)) {
-+ return 1;
-+ }
-+
-+ Status = EnrollListOfX509Certs (
-+ EFI_KEY_EXCHANGE_KEY_NAME,
-+ &gEfiGlobalVariableGuid,
-+ ExampleCert, sizeof ExampleCert, &gEfiCallerIdGuid,
-+ MicrosoftKEK, sizeof MicrosoftKEK, &gEfiCallerIdGuid,
-+ NULL);
-+ if (EFI_ERROR (Status)) {
-+ return 1;
-+ }
-+
-+ Status = EnrollListOfX509Certs (
-+ EFI_PLATFORM_KEY_NAME,
-+ &gEfiGlobalVariableGuid,
-+ ExampleCert, sizeof ExampleCert, &gEfiGlobalVariableGuid,
-+ NULL);
-+ if (EFI_ERROR (Status)) {
-+ return 1;
-+ }
-+
-+ Settings.CustomMode = STANDARD_SECURE_BOOT_MODE;
-+ Status = gRT->SetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid,
-+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
-+ sizeof Settings.CustomMode, &Settings.CustomMode);
-+ if (EFI_ERROR (Status)) {
-+ AsciiPrint ("error: SetVariable(\"%s\", %g): %r\n", EFI_CUSTOM_MODE_NAME,
-+ &gEfiCustomModeEnableGuid, Status);
-+ return 1;
-+ }
-+
-+ Status = GetSettings (&Settings);
-+ if (EFI_ERROR (Status)) {
-+ return 1;
-+ }
-+ PrintSettings (&Settings);
-+
-+ if (Settings.SetupMode != 0 || Settings.SecureBoot != 1 ||
-+ Settings.SecureBootEnable != 1 || Settings.CustomMode != 0 ||
-+ Settings.VendorKeys != 0) {
-+ AsciiPrint ("error: unexpected\n");
-+ return 1;
-+ }
-+
-+ AsciiPrint ("info: success\n");
-+ return 0;
-+}
-diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
-new file mode 100644
-index 0000000..ac919bb
---- /dev/null
-+++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
-@@ -0,0 +1,51 @@
-+## @file
-+# Enroll default PK, KEK, DB.
-+#
-+# Copyright (C) 2014, Red Hat, Inc.
-+#
-+# This program and the accompanying materials are licensed and made available
-+# under the terms and conditions of the BSD License which accompanies this
-+# distribution. The full text of the license may be found at
-+# http://opensource.org/licenses/bsd-license.
-+#
-+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
-+# IMPLIED.
-+##
-+
-+[Defines]
-+ INF_VERSION = 0x00010006
-+ BASE_NAME = EnrollDefaultKeys
-+ FILE_GUID = D5C1DF0B-1BAC-4EDF-BA48-08834009CA5A
-+ MODULE_TYPE = UEFI_APPLICATION
-+ VERSION_STRING = 0.1
-+ ENTRY_POINT = ShellCEntryLib
-+
-+#
-+# VALID_ARCHITECTURES = IA32 X64
-+#
-+
-+[Sources]
-+ EnrollDefaultKeys.c
-+
-+[Packages]
-+ MdePkg/MdePkg.dec
-+ MdeModulePkg/MdeModulePkg.dec
-+ SecurityPkg/SecurityPkg.dec
-+ ShellPkg/ShellPkg.dec
-+
-+[Guids]
-+ gEfiCertPkcs7Guid
-+ gEfiCertX509Guid
-+ gEfiCustomModeEnableGuid
-+ gEfiGlobalVariableGuid
-+ gEfiImageSecurityDatabaseGuid
-+ gEfiSecureBootEnableDisableGuid
-+
-+[LibraryClasses]
-+ BaseMemoryLib
-+ DebugLib
-+ MemoryAllocationLib
-+ ShellCEntryLib
-+ UefiLib
-+ UefiRuntimeServicesTableLib
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index fa9661c..e2e6ba3 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -764,6 +764,10 @@
-
- !if $(SECURE_BOOT_ENABLE) == TRUE
- SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
-+ OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf {
-+ <LibraryClasses>
-+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
-+ }
- !endif
-
- OvmfPkg/PlatformDxe/Platform.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 667584a..a0ae1aa 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -773,6 +773,10 @@
-
- !if $(SECURE_BOOT_ENABLE) == TRUE
- SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
-+ OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf {
-+ <LibraryClasses>
-+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
-+ }
- !endif
-
- OvmfPkg/PlatformDxe/Platform.inf
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index 5ae8469..87cee52 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -771,6 +771,10 @@
-
- !if $(SECURE_BOOT_ENABLE) == TRUE
- SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
-+ OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf {
-+ <LibraryClasses>
-+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
-+ }
- !endif
-
- OvmfPkg/PlatformDxe/Platform.inf
diff --git a/poky/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch b/poky/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch
index 25e5b58e7..1b65348e8 100644
--- a/poky/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch
+++ b/poky/meta/recipes-core/ovmf/ovmf/no-stack-protector-all-archs.patch
@@ -9,12 +9,26 @@ Index: git/BaseTools/Conf/tools_def.template
===================================================================
--- git.orig/BaseTools/Conf/tools_def.template
+++ git/BaseTools/Conf/tools_def.template
-@@ -4368,7 +4368,7 @@ DEFINE GCC_IPF_RC_FLAGS = -I
+@@ -1736,10 +1736,10 @@ DEFINE GCC_X64_RC_FLAGS = -I binary -O elf64-x86-64 -B i386
DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii
DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
--DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
-+DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -fno-stack-protector -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
- DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -fno-PIE -no-pie
- DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables
- DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20 -no-pie
+-DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
++DEFINE GCC48_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -fno-stack-protector -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
+ DEFINE GCC48_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
+-DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
+-DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
++DEFINE GCC48_IA32_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
++DEFINE GCC48_X64_CC_FLAGS = DEF(GCC48_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
+ DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
+ DEFINE GCC48_IA32_X64_DLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
+ DEFINE GCC48_IA32_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
+@@ -1748,7 +1748,7 @@ DEFINE GCC48_X64_DLINK2_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF
+ DEFINE GCC48_ASM_FLAGS = DEF(GCC_ASM_FLAGS)
+ DEFINE GCC48_ARM_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
+ DEFINE GCC48_AARCH64_ASM_FLAGS = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
+-DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations
++DEFINE GCC48_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -mword-relocations
+ DEFINE GCC48_ARM_CC_XIPFLAGS = DEF(GCC_ARM_CC_XIPFLAGS)
+ DEFINE GCC48_AARCH64_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS)
+ DEFINE GCC48_AARCH64_CC_XIPFLAGS = DEF(GCC_AARCH64_CC_XIPFLAGS)
diff --git a/poky/meta/recipes-core/ovmf/ovmf_git.bb b/poky/meta/recipes-core/ovmf/ovmf_git.bb
index 71828d8d8..b569b593f 100644
--- a/poky/meta/recipes-core/ovmf/ovmf_git.bb
+++ b/poky/meta/recipes-core/ovmf/ovmf_git.bb
@@ -4,7 +4,7 @@ Virtual Machines. OVMF contains sample UEFI firmware for QEMU and KVM"
HOMEPAGE = "https://github.com/tianocore/tianocore.github.io/wiki/OVMF"
LICENSE = "BSD"
LICENSE_class-target = "${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'BSD & OpenSSL', 'BSD', d)}"
-LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=343dc88e82ff33d042074f62050c3496"
+LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=06357ddc23f46577c2aeaeaf7b776d65"
# Enabling Secure Boot adds a dependency on OpenSSL and implies
# compiling OVMF twice, so it is disabled by default. Distros
@@ -12,30 +12,16 @@ LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=343dc88e82ff33d042074f62050c3
PACKAGECONFIG ??= ""
PACKAGECONFIG[secureboot] = ",,,"
-SRC_URI = "git://github.com/tianocore/edk2.git;branch=master \
- file://0001-ia32-Dont-use-pie.patch \
+SRC_URI = "gitsm://github.com/tianocore/edk2.git;branch=master;protocol=git \
file://0002-ovmf-update-path-to-native-BaseTools.patch \
file://0003-BaseTools-makefile-adjust-to-build-in-under-bitbake.patch \
file://0004-ovmf-enable-long-path-file.patch \
- file://VfrCompile-increase-path-length-limit.patch \
file://no-stack-protector-all-archs.patch \
- file://0001-BaseTools-header.makefile-add-Wno-stringop-truncatio.patch \
- file://0002-BaseTools-header.makefile-add-Wno-restrict.patch \
- file://0003-BaseTools-header.makefile-revert-gcc-8-Wno-xxx-optio.patch \
- file://0004-BaseTools-GenVtf-silence-false-stringop-overflow-war.patch \
"
-UPSTREAM_VERSION_UNKNOWN = "1"
-OPENSSL_RELEASE = "openssl-1.1.0e"
-
-SRC_URI_append_class-target = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'http://www.openssl.org/source/${OPENSSL_RELEASE}.tar.gz;name=openssl;subdir=${S}/CryptoPkg/Library/OpensslLib', '', d)} \
- file://0007-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch \
-"
-
-SRCREV="ec4910cd3336565fdb61dafdd9ec4ae7a6160ba3"
-SRC_URI[openssl.md5sum] = "51c42d152122e474754aea96f66928c6"
-SRC_URI[openssl.sha256sum] = "57be8618979d80c910728cfc99369bf97b2a1abd8f366ab6ebdee8975ad3874c"
+PV = "edk2-stable201905"
+SRCREV="20d2e5a125e34fc8501026613a71549b2a1a3e54"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>edk2-stable.*)"
inherit deploy
@@ -44,7 +30,7 @@ PARALLEL_MAKE = ""
S = "${WORKDIR}/git"
DEPENDS_class-native="util-linux-native iasl-native"
-DEPENDS_class-target="ovmf-native"
+DEPENDS_class-target="ovmf-native bc-native"
DEPENDS_append = " nasm-native"
@@ -61,6 +47,8 @@ COMPATIBLE_HOST='(i.86|x86_64).*'
OVMF_SECURE_BOOT_EXTRA_FLAGS ??= ""
OVMF_SECURE_BOOT_FLAGS = "-DSECURE_BOOT_ENABLE=TRUE ${OVMF_SECURE_BOOT_EXTRA_FLAGS}"
+export PYTHON_COMMAND = "${HOSTTOOLS_DIR}/python3"
+
do_patch[postfuncs] += "fix_basetools_location"
fix_basetools_location () {
}
@@ -191,12 +179,9 @@ do_compile_class-target() {
ln ${build_dir}/${OVMF_ARCH}/Shell.efi ${WORKDIR}/ovmf/
if ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'true', 'false', d)}; then
- # See CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt and
- # https://src.fedoraproject.org/cgit/rpms/edk2.git/tree/ for
- # building with Secure Boot enabled.
+ # Repeat build with the Secure Boot flags.
bbnote "Building with Secure Boot."
rm -rf ${S}/Build/Ovmf$OVMF_DIR_SUFFIX
- ln -sf ${OPENSSL_RELEASE} ${S}/CryptoPkg/Library/OpensslLib/openssl
${S}/OvmfPkg/build.sh $PARALLEL_JOBS -a $OVMF_ARCH -b RELEASE -t ${FIXED_GCCVER} ${OVMF_SECURE_BOOT_FLAGS}
ln ${build_dir}/FV/OVMF.fd ${WORKDIR}/ovmf/ovmf.secboot.fd
ln ${build_dir}/FV/OVMF_CODE.fd ${WORKDIR}/ovmf/ovmf.secboot.code.fd
@@ -233,6 +218,7 @@ FILES_ovmf-shell-efi = " \
DEPLOYDEP = ""
DEPLOYDEP_class-target = "qemu-system-native:do_populate_sysroot"
+DEPLOYDEP_class-target += " ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'openssl-native:do_populate_sysroot', '', d)}"
do_deploy[depends] += "${DEPLOYDEP}"
do_deploy() {
@@ -248,6 +234,13 @@ do_deploy_class-target() {
; do
qemu-img convert -f raw -O qcow2 ${WORKDIR}/ovmf/$i.fd ${DEPLOYDIR}/$i.qcow2
done
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'secureboot', 'true', 'false', d)}; then
+ # Create a test Platform Key and first Key Exchange Key to use with EnrollDefaultKeys
+ openssl req -new -x509 -newkey rsa:2048 -keyout ${DEPLOYDIR}/OvmfPkKek1.key \
+ -out ${DEPLOYDIR}/OvmfPkKek1.crt -nodes -days 20 -subj "/CN=OVMFSecBootTest"
+ openssl x509 -in ${DEPLOYDIR}/OvmfPkKek1.crt -out ${DEPLOYDIR}/OvmfPkKek1.pem -outform PEM
+ fi
}
addtask do_deploy after do_compile before do_build
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
index d05403635..1f802da09 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-base.bb
@@ -7,7 +7,6 @@ PR = "r83"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
-inherit bluetooth
PROVIDES = "${PACKAGES}"
PACKAGES = ' \
@@ -199,8 +198,7 @@ RRECOMMENDS_packagegroup-base-pcmcia = "\
SUMMARY_packagegroup-base-bluetooth = "Bluetooth support"
RDEPENDS_packagegroup-base-bluetooth = "\
- ${BLUEZ} \
- ${@bb.utils.contains('COMBINED_FEATURES', 'alsa', bb.utils.contains('BLUEZ', 'bluez4', 'libasound-module-bluez', '', d), '',d)} \
+ bluez5 \
"
RRECOMMENDS_packagegroup-base-bluetooth = "\
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
index 8dc445dc8..abbee14bd 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb
@@ -10,17 +10,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
-#
-# Set by the machine configuration with packages essential for device bootup
-#
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
-
# Distro can override the following VIRTUAL-RUNTIME providers:
VIRTUAL-RUNTIME_dev_manager ?= "udev"
-VIRTUAL-RUNTIME_login_manager ?= "busybox"
-VIRTUAL-RUNTIME_init_manager ?= "sysvinit"
-VIRTUAL-RUNTIME_initscripts ?= "initscripts"
VIRTUAL-RUNTIME_keymaps ?= "keymaps"
EFI_PROVIDER ??= "grub-efi"
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
index 15d0989b7..8854ec480 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
@@ -32,6 +32,7 @@ SANITIZERS_microblaze = ""
SANITIZERS_mipsarch = ""
SANITIZERS_nios2 = ""
SANITIZERS_riscv64 = ""
+SANITIZERS_riscv32 = ""
SANITIZERS_libc-musl = ""
RRECOMMENDS_packagegroup-core-sdk = "\
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
index f5b2d69ce..2a54f1ca3 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
@@ -1,6 +1,8 @@
SUMMARY = "Target packages for the standalone SDK"
PR = "r8"
+PACKAGE_ARCH = "${TUNE_PKGARCH}"
+
inherit packagegroup
RDEPENDS_${PN} = "\
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb
index 9fc2b0ef4..81fbdf460 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-core-tools-debug.bb
@@ -4,6 +4,8 @@
SUMMARY = "Debugging tools"
+PACKAGE_ARCH = "${TUNE_PKGARCH}"
+
inherit packagegroup
PR = "r3"
diff --git a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
index f206cee37..ee9d0636f 100644
--- a/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
+++ b/poky/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb
@@ -6,6 +6,8 @@ SUMMARY = "Self-hosting"
DESCRIPTION = "Packages required to run the build system"
PR = "r13"
+PACKAGE_ARCH = "${TUNE_PKGARCH}"
+
inherit packagegroup distro_features_check
# rdepends on libx11-dev
REQUIRED_DISTRO_FEATURES = "x11"
@@ -37,7 +39,7 @@ RDEPENDS_packagegroup-self-hosted-host-tools = "\
e2fsprogs-tune2fs \
hdparm \
iptables \
- lsb \
+ lsb-release \
mc \
mc-fish \
mc-helpers \
diff --git a/poky/meta/recipes-core/psplash/files/psplash-init b/poky/meta/recipes-core/psplash/files/psplash-init
index 0bce1de53..dcb751907 100755
--- a/poky/meta/recipes-core/psplash/files/psplash-init
+++ b/poky/meta/recipes-core/psplash/files/psplash-init
@@ -24,7 +24,10 @@ for x in $CMDLINE; do
done
export TMPDIR=/mnt/.psplash
-mount tmpfs -t tmpfs $TMPDIR -o,size=40k
+[ -d $TMPDIR ] || mkdir -p $TMPDIR
+if [ ! mountpoint -q $TMPDIR ]; then
+ mount tmpfs -t tmpfs $TMPDIR -o,size=40k
+fi
rotation=0
if [ -e /etc/rotation ]; then
diff --git a/poky/meta/recipes-core/psplash/psplash_git.bb b/poky/meta/recipes-core/psplash/psplash_git.bb
index 3161a5e3f..56734c158 100644
--- a/poky/meta/recipes-core/psplash/psplash_git.bb
+++ b/poky/meta/recipes-core/psplash/psplash_git.bb
@@ -97,7 +97,6 @@ python do_compile () {
}
do_install_append() {
- install -d ${D}/mnt/.psplash/
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/psplash-init ${D}${sysconfdir}/init.d/psplash.sh
install -d ${D}${bindir}
@@ -107,8 +106,6 @@ do_install_append() {
rm -f ${D}${bindir}/psplash
}
-FILES_${PN} += "/mnt/.psplash"
-
INITSCRIPT_NAME = "psplash.sh"
INITSCRIPT_PARAMS = "start 0 S . stop 20 0 1 6 ."
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_242.bb b/poky/meta/recipes-core/systemd/systemd-boot_242.bb
deleted file mode 100644
index 56e68a3d4..000000000
--- a/poky/meta/recipes-core/systemd/systemd-boot_242.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-require systemd.inc
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:"
-
-DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native"
-
-# NOTE: These three patches are in theory not needed, but we haven't
-# figured out how to correctly pass efi-cc parameter if it's an array.
-SRC_URI += "file://0001-Revert-meson-use-an-array-option-for-efi-cc.patch \
- file://0001-Revert-meson-print-EFI-CC-configuration-nicely.patch \
- file://0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch \
- "
-
-inherit meson pkgconfig gettext
-inherit deploy
-
-EFI_CC ?= "${CC}"
-EXTRA_OEMESON += "-Defi=true \
- -Dgnu-efi=true \
- -Defi-includedir=${STAGING_INCDIR}/efi \
- -Defi-ldsdir=${STAGING_LIBDIR} \
- -Defi-libdir=${STAGING_LIBDIR} \
- -Dman=false \
- -Defi-cc='${EFI_CC}' \
- -Defi-ld='${LD}' \
- "
-
-# install to the image as boot*.efi if its the EFI_PROVIDER,
-# otherwise install as the full name.
-# This allows multiple bootloaders to coexist in a single image.
-python __anonymous () {
- import re
- target = d.getVar('TARGET_ARCH')
- prefix = "" if d.getVar('EFI_PROVIDER') == "systemd-boot" else "systemd-"
- if target == "x86_64":
- systemdimage = prefix + "bootx64.efi"
- else:
- systemdimage = prefix + "bootia32.efi"
- d.setVar("SYSTEMD_BOOT_IMAGE", systemdimage)
- prefix = "systemd-" if prefix == "" else ""
- d.setVar("SYSTEMD_BOOT_IMAGE_PREFIX", prefix)
-}
-
-FILES_${PN} = "/boot/EFI/BOOT/${SYSTEMD_BOOT_IMAGE}"
-
-RDEPENDS_${PN} += "virtual/systemd-bootconf"
-
-# Imported from the old gummiboot recipe
-TUNE_CCARGS_remove = "-mfpmath=sse"
-COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"
-COMPATIBLE_HOST_x86-x32 = "null"
-
-do_compile() {
- SYSTEMD_BOOT_EFI_ARCH="ia32"
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- SYSTEMD_BOOT_EFI_ARCH="x64"
- fi
-
- ninja src/boot/efi/${SYSTEMD_BOOT_IMAGE_PREFIX}${SYSTEMD_BOOT_IMAGE}
-}
-
-do_install() {
- install -d ${D}/boot
- install -d ${D}/boot/EFI
- install -d ${D}/boot/EFI/BOOT
- install ${B}/src/boot/efi/systemd-boot*.efi ${D}/boot/EFI/BOOT/${SYSTEMD_BOOT_IMAGE}
-}
-
-do_deploy () {
- install ${B}/src/boot/efi/systemd-boot*.efi ${DEPLOYDIR}
-}
-addtask deploy before do_build after do_compile
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_243.bb b/poky/meta/recipes-core/systemd/systemd-boot_243.bb
new file mode 100644
index 000000000..515abc289
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd-boot_243.bb
@@ -0,0 +1,70 @@
+require systemd.inc
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/systemd:"
+
+require conf/image-uefi.conf
+
+DEPENDS = "intltool-native libcap util-linux gnu-efi gperf-native"
+
+# NOTE: These three patches are in theory not needed, but we haven't
+# figured out how to correctly pass efi-cc parameter if it's an array.
+SRC_URI += "file://0001-Revert-meson-use-an-array-option-for-efi-cc.patch \
+ file://0001-Revert-meson-print-EFI-CC-configuration-nicely.patch \
+ file://0001-Fix-to-run-efi_cc-and-efi_ld-correctly-when-cross-co.patch \
+ file://0001-meson-Add-Defi-objcopy-option-to-specify-objcopy.patch \
+ "
+
+inherit meson pkgconfig gettext
+inherit deploy
+
+EFI_CC ?= "${CC}"
+EXTRA_OEMESON += "-Defi=true \
+ -Dgnu-efi=true \
+ -Defi-includedir=${STAGING_INCDIR}/efi \
+ -Defi-ldsdir=${STAGING_LIBDIR} \
+ -Defi-libdir=${STAGING_LIBDIR} \
+ -Dman=false \
+ -Defi-cc='${EFI_CC}' \
+ -Defi-ld='${LD}' \
+ -Defi-objcopy='${OBJCOPY}' \
+ "
+
+# install to the image as boot*.efi if its the EFI_PROVIDER,
+# otherwise install as the full name.
+# This allows multiple bootloaders to coexist in a single image.
+python __anonymous () {
+ import re
+ target = d.getVar('TARGET_ARCH')
+ prefix = "" if d.getVar('EFI_PROVIDER') == "systemd-boot" else "systemd-"
+ systemdimage = prefix + d.getVar("EFI_BOOT_IMAGE")
+ d.setVar("SYSTEMD_BOOT_IMAGE", systemdimage)
+ prefix = "systemd-" if prefix == "" else ""
+ d.setVar("SYSTEMD_BOOT_IMAGE_PREFIX", prefix)
+}
+
+FILES_${PN} = "${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE}"
+
+RDEPENDS_${PN} += "virtual/systemd-bootconf"
+
+# Imported from the old gummiboot recipe
+TUNE_CCARGS_remove = "-mfpmath=sse"
+COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"
+COMPATIBLE_HOST_x86-x32 = "null"
+
+do_compile() {
+ SYSTEMD_BOOT_EFI_ARCH="ia32"
+ if [ "${TARGET_ARCH}" = "x86_64" ]; then
+ SYSTEMD_BOOT_EFI_ARCH="x64"
+ fi
+
+ ninja src/boot/efi/${SYSTEMD_BOOT_IMAGE_PREFIX}${SYSTEMD_BOOT_IMAGE}
+}
+
+do_install() {
+ install -d ${D}${EFI_FILES_PATH}
+ install ${B}/src/boot/efi/systemd-boot*.efi ${D}${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE}
+}
+
+do_deploy () {
+ install ${B}/src/boot/efi/systemd-boot*.efi ${DEPLOYDIR}
+}
+addtask deploy before do_build after do_compile
diff --git a/poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb b/poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
index e9c246645..d13b8c518 100644
--- a/poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
+++ b/poky/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
@@ -3,6 +3,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
SUMMARY = "Basic systemd-boot configuration files"
RPROVIDES_${PN} += "virtual/systemd-bootconf"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit systemd-boot-cfg
diff --git a/poky/meta/recipes-core/systemd/systemd-conf_242.bb b/poky/meta/recipes-core/systemd/systemd-conf_243.bb
index d9ec023bf..d9ec023bf 100644
--- a/poky/meta/recipes-core/systemd/systemd-conf_242.bb
+++ b/poky/meta/recipes-core/systemd/systemd-conf_243.bb
diff --git a/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service b/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service
index e8b027e97..15af16a9f 100644
--- a/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service
+++ b/poky/meta/recipes-core/systemd/systemd-serialgetty/serial-getty@.service
@@ -9,7 +9,8 @@
Description=Serial Getty on %I
Documentation=man:agetty(8) man:systemd-getty-generator(8)
Documentation=http://0pointer.de/blog/projects/serial-console.html
-BindsTo=dev-%i.device
+PartOf=dev-%i.device
+ConditionPathExists=/dev/%i
After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service
diff --git a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
index 8d7b3ba32..ebac86373 100755
--- a/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
+++ b/poky/meta/recipes-core/systemd/systemd-systemctl/systemctl
@@ -28,6 +28,10 @@ class SystemdFile():
def __init__(self, root, path):
self.sections = dict()
self._parse(root, path)
+ dirname = os.path.basename(path.name) + ".d"
+ for location in locations:
+ for path2 in sorted((root / location / "system" / dirname).glob("*.conf")):
+ self._parse(root, path2)
def _parse(self, root, path):
"""Parse a systemd syntax configuration file
@@ -53,11 +57,14 @@ class SystemdFile():
if skip_re.match(line):
continue
- line = line.rstrip("\n")
+ line = line.strip()
m = section_re.match(line)
if m:
- section = dict()
- self.sections[m.group('section')] = section
+ if m.group('section') not in self.sections:
+ section = dict()
+ self.sections[m.group('section')] = section
+ else:
+ section = self.sections[m.group('section')]
continue
while line.endswith("\\"):
diff --git a/poky/meta/recipes-core/systemd/systemd.inc b/poky/meta/recipes-core/systemd/systemd.inc
index 3a353b009..7f3a59c20 100644
--- a/poky/meta/recipes-core/systemd/systemd.inc
+++ b/poky/meta/recipes-core/systemd/systemd.inc
@@ -14,8 +14,8 @@ LICENSE = "GPLv2 & LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "db2e367bfc3b119609f837eb973d915f6c550b2f"
-SRCBRANCH = "v242-stable"
+SRCREV = "efb536d0cbe2e58f80e501d19999928c75e08f6a"
+SRCBRANCH = "v243-stable"
SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
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
deleted file mode 100644
index 6f192a2ad..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-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-Use-getenv-when-secure-versions-are-not-available.patch b/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch
deleted file mode 100644
index 37979755d..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-Use-getenv-when-secure-versions-are-not-available.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b8055a61b5df6b43b8d3117936587b874b0a339b Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 11:01:18 +0800
-Subject: [PATCH 01/24] Use getenv when secure versions are not available
-
-musl doesnt implement secure version, so we default
-to it if configure does not detect a secure implementation
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Denied
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/missing_stdlib.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
-index 188a8d4..c0ffe86 100644
---- a/src/basic/missing_stdlib.h
-+++ b/src/basic/missing_stdlib.h
-@@ -8,6 +8,6 @@
- # if HAVE___SECURE_GETENV
- # define secure_getenv __secure_getenv
- # else
--# error "neither secure_getenv nor __secure_getenv are available"
-+# define secure_getenv getenv
- # endif
- #endif
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
index 00670ca2b..73e65ff79 100644
--- a/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -16,6 +16,8 @@ Upstream-Status: Denied
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
units/meson.build | 6 ++----
units/proc-sys-fs-binfmt_misc.automount | 3 +++
@@ -23,10 +25,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/units/meson.build b/units/meson.build
-index d695084..7b1f14a 100644
+index e1ee9f86c3..6bb7771b36 100644
--- a/units/meson.build
+++ b/units/meson.build
-@@ -47,8 +47,7 @@ units = [
+@@ -46,8 +46,7 @@ units = [
['poweroff.target', '',
'runlevel0.target'],
['printer.target', ''],
@@ -36,7 +38,7 @@ index d695084..7b1f14a 100644
['proc-sys-fs-binfmt_misc.mount', 'ENABLE_BINFMT'],
['reboot.target', '',
'runlevel6.target ctrl-alt-del.target'],
-@@ -134,8 +133,7 @@ in_units = [
+@@ -130,8 +129,7 @@ in_units = [
['systemd-ask-password-console.service', ''],
['systemd-ask-password-wall.service', ''],
['systemd-backlight@.service', 'ENABLE_BACKLIGHT'],
@@ -45,9 +47,9 @@ index d695084..7b1f14a 100644
+ ['systemd-binfmt.service', 'ENABLE_BINFMT'],
['systemd-bless-boot.service', 'ENABLE_EFI HAVE_BLKID'],
['systemd-boot-check-no-failures.service', ''],
- ['systemd-coredump@.service', 'ENABLE_COREDUMP'],
+ ['systemd-boot-system-token.service', 'ENABLE_EFI',
diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount
-index 30a6bc9..4231f3b 100644
+index 30a6bc9918..4231f3b70f 100644
--- a/units/proc-sys-fs-binfmt_misc.automount
+++ b/units/proc-sys-fs-binfmt_misc.automount
@@ -18,3 +18,6 @@ ConditionPathIsReadWrite=/proc/sys/
@@ -58,7 +60,7 @@ index 30a6bc9..4231f3b 100644
+[Install]
+WantedBy=sysinit.target
diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in
-index e940c7c..6be7f5c 100644
+index e940c7c9ad..6be7f5cc9b 100644
--- a/units/systemd-binfmt.service.in
+++ b/units/systemd-binfmt.service.in
@@ -14,6 +14,7 @@ Documentation=https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.htm
@@ -76,6 +78,3 @@ index e940c7c..6be7f5c 100644
+
+[Install]
+WantedBy=sysinit.target
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch b/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch
index 68ca604d6..2f4daf866 100644
--- a/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0001-do-not-disable-buffer-in-writing-files.patch
@@ -16,6 +16,8 @@ Upstream-Status: Inappropriate [musl]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[Rebased for v242]
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
src/basic/cgroup-util.c | 14 +++++++-------
src/basic/procfs-util.c | 4 ++--
@@ -30,17 +32,17 @@ Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
src/nspawn/nspawn-cgroup.c | 2 +-
src/nspawn/nspawn.c | 6 +++---
src/shared/sysctl-util.c | 2 +-
- src/sleep/sleep.c | 12 ++++++------
+ src/sleep/sleep.c | 10 +++++-----
src/udev/udevadm-trigger.c | 2 +-
- src/udev/udevd.c | 6 +++---
+ src/udev/udevd.c | 2 +-
src/vconsole/vconsole-setup.c | 2 +-
- 17 files changed, 39 insertions(+), 39 deletions(-)
+ 17 files changed, 36 insertions(+), 36 deletions(-)
diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
-index fc28109..44fe985 100644
+index 7b5839ccd6..18f6e8ffc8 100644
--- a/src/basic/cgroup-util.c
+++ b/src/basic/cgroup-util.c
-@@ -822,7 +822,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
+@@ -860,7 +860,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
xsprintf(c, PID_FMT "\n", pid);
@@ -49,7 +51,7 @@ index fc28109..44fe985 100644
if (r < 0)
return r;
-@@ -1104,7 +1104,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+@@ -1142,7 +1142,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
sc = strstrip(contents);
if (isempty(sc)) {
@@ -58,7 +60,7 @@ index fc28109..44fe985 100644
if (r < 0)
return r;
} else if (!path_equal(sc, agent))
-@@ -1122,7 +1122,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+@@ -1160,7 +1160,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
sc = strstrip(contents);
if (streq(sc, "0")) {
@@ -67,7 +69,7 @@ index fc28109..44fe985 100644
if (r < 0)
return r;
-@@ -1149,7 +1149,7 @@ int cg_uninstall_release_agent(const char *controller) {
+@@ -1187,7 +1187,7 @@ int cg_uninstall_release_agent(const char *controller) {
if (r < 0)
return r;
@@ -76,7 +78,7 @@ index fc28109..44fe985 100644
if (r < 0)
return r;
-@@ -1159,7 +1159,7 @@ int cg_uninstall_release_agent(const char *controller) {
+@@ -1197,7 +1197,7 @@ int cg_uninstall_release_agent(const char *controller) {
if (r < 0)
return r;
@@ -85,7 +87,7 @@ index fc28109..44fe985 100644
if (r < 0)
return r;
-@@ -2016,7 +2016,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
+@@ -2053,7 +2053,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
if (r < 0)
return r;
@@ -94,7 +96,7 @@ index fc28109..44fe985 100644
}
int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
-@@ -2664,7 +2664,7 @@ int cg_enable_everywhere(
+@@ -2697,7 +2697,7 @@ int cg_enable_everywhere(
return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
}
@@ -104,10 +106,10 @@ index fc28109..44fe985 100644
log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
-index 7aaf95b..25fc3de 100644
+index 42ce53d5aa..57512532a6 100644
--- a/src/basic/procfs-util.c
+++ b/src/basic/procfs-util.c
-@@ -85,13 +85,13 @@ int procfs_tasks_set_limit(uint64_t limit) {
+@@ -86,13 +86,13 @@ int procfs_tasks_set_limit(uint64_t limit) {
* decrease it, as threads-max is the much more relevant sysctl. */
if (limit > pid_max-1) {
sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */
@@ -124,7 +126,7 @@ index 7aaf95b..25fc3de 100644
uint64_t threads_max;
diff --git a/src/basic/smack-util.c b/src/basic/smack-util.c
-index 123d00e..e7ea78f 100644
+index 123d00e13e..e7ea78f349 100644
--- a/src/basic/smack-util.c
+++ b/src/basic/smack-util.c
@@ -115,7 +115,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
@@ -137,7 +139,7 @@ index 123d00e..e7ea78f 100644
return r;
diff --git a/src/basic/util.c b/src/basic/util.c
-index 93d610b..97dca64 100644
+index 93d610bc98..97dca64f73 100644
--- a/src/basic/util.c
+++ b/src/basic/util.c
@@ -294,7 +294,7 @@ void disable_coredumps(void) {
@@ -150,7 +152,7 @@ index 93d610b..97dca64 100644
log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
}
diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
-index 66e2f01..5daa43b 100644
+index aa9d811f2e..8c7f2dae7a 100644
--- a/src/binfmt/binfmt.c
+++ b/src/binfmt/binfmt.c
@@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
@@ -175,16 +177,16 @@ index 66e2f01..5daa43b 100644
}
/* Flush out all rules */
-- write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
+- (void) write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ (void) write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
STRV_FOREACH(f, files) {
k = apply_file(*f, true);
diff --git a/src/core/main.c b/src/core/main.c
-index 46db471..726ccaf 100644
+index bcce7178a8..4199cedab9 100644
--- a/src/core/main.c
+++ b/src/core/main.c
-@@ -1469,7 +1469,7 @@ static int bump_unix_max_dgram_qlen(void) {
+@@ -1285,7 +1285,7 @@ static int bump_unix_max_dgram_qlen(void) {
if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
return 0;
@@ -193,7 +195,7 @@ index 46db471..726ccaf 100644
if (r < 0)
return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
"Failed to bump AF_UNIX datagram queue length, ignoring: %m");
-@@ -1684,7 +1684,7 @@ static void initialize_core_pattern(bool skip_setup) {
+@@ -1509,7 +1509,7 @@ static void initialize_core_pattern(bool skip_setup) {
if (getpid_cached() != 1)
return;
@@ -203,10 +205,10 @@ index 46db471..726ccaf 100644
log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
}
diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
-index cd7fb01..077e861 100644
+index b95e6239d4..fdbdaaaccb 100644
--- a/src/core/smack-setup.c
+++ b/src/core/smack-setup.c
-@@ -351,17 +351,17 @@ int mac_smack_setup(bool *loaded_policy) {
+@@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) {
}
#ifdef SMACK_RUN_LABEL
@@ -229,7 +231,7 @@ index cd7fb01..077e861 100644
log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
#endif
diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
-index 17e7cd1..87a7667 100644
+index 17e7cd1a00..87a7667716 100644
--- a/src/hibernate-resume/hibernate-resume.c
+++ b/src/hibernate-resume/hibernate-resume.c
@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
@@ -242,10 +244,10 @@ index 17e7cd1..87a7667 100644
log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
return EXIT_FAILURE;
diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
-index c2315c0..00f81b4 100644
+index c4a7f2f3d3..bcac758284 100644
--- a/src/libsystemd/sd-device/sd-device.c
+++ b/src/libsystemd/sd-device/sd-device.c
-@@ -1852,7 +1852,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
+@@ -1849,7 +1849,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
if (!value)
return -ENOMEM;
@@ -255,10 +257,10 @@ index c2315c0..00f81b4 100644
if (r == -ELOOP)
return -EINVAL;
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
-index 2cebcce..7111fc1 100644
+index 30b9a66334..cc1d577933 100644
--- a/src/login/logind-dbus.c
+++ b/src/login/logind-dbus.c
-@@ -1285,7 +1285,7 @@ static int trigger_device(Manager *m, sd_device *d) {
+@@ -1325,7 +1325,7 @@ static int trigger_device(Manager *m, sd_device *d) {
if (!t)
return -ENOMEM;
@@ -268,23 +270,23 @@ index 2cebcce..7111fc1 100644
return 0;
diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
-index 168125d..dd0ab79 100644
+index 0462b46413..7c53d41483 100644
--- a/src/nspawn/nspawn-cgroup.c
+++ b/src/nspawn/nspawn-cgroup.c
-@@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
- (void) mkdir_parents(fn, 0755);
+@@ -123,7 +123,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
+ fn = strjoina(tree, cgroup, "/cgroup.procs");
sprintf(pid_string, PID_FMT, pid);
-- r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(fn, pid_string, 0);
+- r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755);
++ r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755);
if (r < 0) {
log_error_errno(r, "Failed to move process: %m");
goto finish;
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 3b0ecb1..a1b5240 100644
+index 2aec8041f0..841542f2f3 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
-@@ -2341,7 +2341,7 @@ static int reset_audit_loginuid(void) {
+@@ -2357,7 +2357,7 @@ static int reset_audit_loginuid(void) {
if (streq(p, "4294967295"))
return 0;
@@ -293,7 +295,7 @@ index 3b0ecb1..a1b5240 100644
if (r < 0) {
log_error_errno(r,
"Failed to reset audit login UID. This probably means that your kernel is too\n"
-@@ -3531,13 +3531,13 @@ static int setup_uid_map(pid_t pid) {
+@@ -3566,13 +3566,13 @@ static int setup_uid_map(pid_t pid) {
xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range);
@@ -310,10 +312,10 @@ index 3b0ecb1..a1b5240 100644
return log_error_errno(r, "Failed to write GID map: %m");
diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
-index 9be4055..f935cde 100644
+index 93bdcf11bf..68cddb7a9f 100644
--- a/src/shared/sysctl-util.c
+++ b/src/shared/sysctl-util.c
-@@ -73,7 +73,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
+@@ -88,7 +88,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
log_debug("Setting '%s' to '%s'", p, value);
@@ -323,19 +325,19 @@ index 9be4055..f935cde 100644
int sysctl_read(const char *property, char **content) {
diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
-index 11aabaf..6aa5d37 100644
+index b9fe96635d..f168d7f890 100644
--- a/src/sleep/sleep.c
+++ b/src/sleep/sleep.c
-@@ -48,7 +48,7 @@ static int write_hibernate_location_info(void) {
+@@ -54,7 +54,7 @@ static int write_hibernate_location_info(void) {
/* if it's a swap partition, we just write the disk to /sys/power/resume */
if (streq(type, "partition")) {
- r = write_string_file("/sys/power/resume", device, WRITE_STRING_FILE_DISABLE_BUFFER);
+ r = write_string_file("/sys/power/resume", device, 0);
if (r < 0)
- return log_debug_errno(r, "Faileed to write partitoin device to /sys/power/resume: %m");
+ return log_debug_errno(r, "Failed to write partition device to /sys/power/resume: %m");
-@@ -84,12 +84,12 @@ static int write_hibernate_location_info(void) {
+@@ -98,14 +98,14 @@ static int write_hibernate_location_info(void) {
offset = fiemap->fm_extents[0].fe_physical / page_size();
xsprintf(offset_str, "%" PRIu64, offset);
@@ -344,13 +346,15 @@ index 11aabaf..6aa5d37 100644
if (r < 0)
return log_debug_errno(r, "Failed to write offset '%s': %m", offset_str);
+ log_debug("Wrote calculated resume_offset value to /sys/power/resume_offset: %s", offset_str);
+
xsprintf(device_str, "%lx", (unsigned long)stb.st_dev);
- r = write_string_file("/sys/power/resume", device_str, WRITE_STRING_FILE_DISABLE_BUFFER);
+ r = write_string_file("/sys/power/resume", device_str, 0);
if (r < 0)
return log_debug_errno(r, "Failed to write device '%s': %m", device_str);
-@@ -103,7 +103,7 @@ static int write_mode(char **modes) {
+@@ -121,7 +121,7 @@ static int write_mode(char **modes) {
STRV_FOREACH(mode, modes) {
int k;
@@ -359,7 +363,7 @@ index 11aabaf..6aa5d37 100644
if (k >= 0)
return 0;
-@@ -122,7 +122,7 @@ static int write_state(FILE **f, char **states) {
+@@ -140,7 +140,7 @@ static int write_state(FILE **f, char **states) {
STRV_FOREACH(state, states) {
int k;
@@ -368,17 +372,8 @@ index 11aabaf..6aa5d37 100644
if (k >= 0)
return 0;
log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
-@@ -217,7 +217,7 @@ static int rtc_write_wake_alarm(uint64_t sec) {
-
- xsprintf(buf, "%" PRIu64, sec);
-
-- r = write_string_file("/sys/class/rtc/rtc0/wakealarm", buf, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/class/rtc/rtc0/wakealarm", buf, 0);
- if (r < 0)
- return log_error_errno(r, "Failed to write '%s' to /sys/class/rtc/rtc0/wakealarm: %m", buf);
-
diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
-index b7dafb7..bab4907 100644
+index 77d95e513f..25ce4abfb1 100644
--- a/src/udev/udevadm-trigger.c
+++ b/src/udev/udevadm-trigger.c
@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se
@@ -388,44 +383,26 @@ index b7dafb7..bab4907 100644
- r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER);
+ r = write_string_file(filename, action, 0);
if (r < 0) {
- log_debug_errno(r, "Failed to write '%s' to '%s', ignoring: %m", action, filename);
- continue;
+ log_full_errno(r == -ENOENT ? LOG_DEBUG : LOG_ERR, r,
+ "Failed to write '%s' to '%s': %m", action, filename);
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index 140ec35..33063a9 100644
+index cb5123042a..ea309a9e7f 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
-@@ -1185,7 +1185,7 @@ static int synthesize_change(sd_device *dev) {
- */
- log_debug("Device '%s' is closed, synthesising 'change'", devname);
- strscpyl(filename, sizeof(filename), syspath, "/uevent", NULL);
-- write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ write_string_file(filename, "change", 0);
-
- FOREACH_DEVICE(e, d) {
- const char *t, *n, *s;
-@@ -1200,7 +1200,7 @@ static int synthesize_change(sd_device *dev) {
-
- log_debug("Device '%s' is closed, synthesising partition '%s' 'change'", devname, n);
- strscpyl(filename, sizeof(filename), s, "/uevent", NULL);
-- write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ write_string_file(filename, "change", 0);
- }
-
- return 0;
-@@ -1208,7 +1208,7 @@ static int synthesize_change(sd_device *dev) {
-
- log_debug("Device %s is closed, synthesising 'change'", devname);
- strscpyl(filename, sizeof(filename), syspath, "/uevent", NULL);
-- write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ write_string_file(filename, "change", 0);
+@@ -1113,7 +1113,7 @@ static int synthesize_change_one(sd_device *dev, const char *syspath) {
+ filename = strjoina(syspath, "/uevent");
+ log_device_debug(dev, "device is closed, synthesising 'change' on %s", syspath);
+- r = write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(filename, "change", 0);
+ if (r < 0)
+ return log_device_debug_errno(dev, r, "Failed to write 'change' to %s: %m", filename);
return 0;
- }
diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
-index 67dc2e4..01b83d0 100644
+index 75d052ae70..5a15c939d8 100644
--- a/src/vconsole/vconsole-setup.c
+++ b/src/vconsole/vconsole-setup.c
-@@ -116,7 +116,7 @@ static int toggle_utf8(const char *name, int fd, bool utf8) {
+@@ -117,7 +117,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
static int toggle_utf8_sysfs(bool utf8) {
int r;
@@ -434,6 +411,3 @@ index 67dc2e4..01b83d0 100644
if (r < 0)
return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0001-meson-Add-Defi-objcopy-option-to-specify-objcopy.patch b/poky/meta/recipes-core/systemd/systemd/0001-meson-Add-Defi-objcopy-option-to-specify-objcopy.patch
new file mode 100644
index 000000000..7d764b411
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-meson-Add-Defi-objcopy-option-to-specify-objcopy.patch
@@ -0,0 +1,48 @@
+From 3f37ad5e083dcad51c21c1050b2829b70d240b52 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Aug 2019 03:10:20 +0000
+Subject: [PATCH] meson: Add -Defi-objcopy option to specify objcopy
+
+This helps in cross compiling for x86 target on a aarch64 host e.g.
+Fixes
+TOPDIR/build/tmp/hosttools/objcopy:src/boot/efi/systemd_boot.so: Invalid bfd target
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ meson_options.txt | 2 ++
+ src/boot/efi/meson.build | 5 ++++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index d4ec37dda2..dc1c96e112 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -296,6 +296,8 @@ option('efi-cc', type : 'array',
+ description : 'the compiler to use for EFI modules')
+ option('efi-ld', type : 'string',
+ description : 'the linker to use for EFI modules')
++option('efi-objcopy', type : 'string',
++ description : 'the objcopy to use for EFI')
+ option('efi-libdir', type : 'string',
+ description : 'path to the EFI lib directory')
+ option('efi-ldsdir', type : 'string',
+diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
+index 0ae3191635..5a7137bc84 100644
+--- a/src/boot/efi/meson.build
++++ b/src/boot/efi/meson.build
+@@ -88,7 +88,10 @@ if have_gnu_efi
+ output : 'efi_config.h',
+ configuration : efi_conf)
+
+- objcopy = find_program('objcopy')
++ objcopy = get_option('efi-objcopy')
++ if objcopy == ''
++ objcopy = find_program('objcopy', required: true)
++ endif
+
+ efi_ldsdir = get_option('efi-ldsdir')
+ arch_lds = 'elf_@0@_efi.lds'.format(gnu_efi_path_arch)
+--
+2.17.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
deleted file mode 100644
index f0ae1db60..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-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
deleted file mode 100644
index 565deba1d..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-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/0001-unit-file.c-consider-symlink-on-filesystems-like-NFS.patch b/poky/meta/recipes-core/systemd/systemd/0001-unit-file.c-consider-symlink-on-filesystems-like-NFS.patch
new file mode 100644
index 000000000..ba20a0bb4
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0001-unit-file.c-consider-symlink-on-filesystems-like-NFS.patch
@@ -0,0 +1,42 @@
+From d0122c077d2d8fd0fd29b463c501e7ddf9177ff3 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 24 Sep 2019 17:04:50 +0800
+Subject: [PATCH] unit-file.c: consider symlink on filesystems like NFS
+
+Some filesystems do not fully support readdir, according to the manual,
+so we should also consider DT_UNKNOWN to correctly handle symlinks.
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
+Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/13637]
+---
+ src/shared/unit-file.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/shared/unit-file.c b/src/shared/unit-file.c
+index 4a5f23e6c1..8373103000 100644
+--- a/src/shared/unit-file.c
++++ b/src/shared/unit-file.c
+@@ -247,6 +247,7 @@ int unit_file_build_name_map(
+ _cleanup_free_ char *_filename_free = NULL, *simplified = NULL;
+ const char *suffix, *dst = NULL;
+ bool valid_unit_name;
++ struct stat sb;
+
+ valid_unit_name = unit_name_is_valid(de->d_name, UNIT_NAME_ANY);
+
+@@ -279,7 +280,10 @@ int unit_file_build_name_map(
+ if (hashmap_contains(ids, de->d_name))
+ continue;
+
+- if (de->d_type == DT_LNK) {
++ if (de->d_type == DT_LNK ||
++ (de->d_type == DT_UNKNOWN &&
++ lstat(filename, &sb) == 0 &&
++ (sb.st_mode & S_IFMT) == S_IFLNK)) {
+ /* We don't explicitly check for alias loops here. unit_ids_map_get() which
+ * limits the number of hops should be used to access the map. */
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-src-login-brightness.c-include-sys-wait.h.patch b/poky/meta/recipes-core/systemd/systemd/0002-src-login-brightness.c-include-sys-wait.h.patch
new file mode 100644
index 000000000..dcae668dc
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0002-src-login-brightness.c-include-sys-wait.h.patch
@@ -0,0 +1,25 @@
+Include sys/wait.h
+
+Fixes:
+src/login/logind-brightness.c:158:85: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'?
+ 158 | r = sd_event_add_child(w->manager->event, &w->child_event_source, w->child, WEXITED, on_brightness_writer_exit, w);
+ | ^~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/login/logind-brightness.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/login/logind-brightness.c b/src/login/logind-brightness.c
+index 8dfa97d7ae..bddd4a2727 100644
+--- a/src/login/logind-brightness.c
++++ b/src/login/logind-brightness.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <sys/wait.h>
+ #include "bus-util.h"
+ #include "device-util.h"
+ #include "hash-funcs.h"
diff --git a/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch b/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
index df5506cc2..49a334d09 100644
--- a/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch
@@ -11,6 +11,8 @@ Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
meson.build | 4 ----
tools/meson-make-symlink.sh | 3 ++-
@@ -18,10 +20,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/meson.build b/meson.build
-index 56c98b9..3386546 100644
+index e5ceb1e169..79b762faeb 100644
--- a/meson.build
+++ b/meson.build
-@@ -630,10 +630,6 @@ endforeach
+@@ -579,10 +579,6 @@ endforeach
conf.set_quoted('TELINIT', get_option('telinit-path'))
@@ -33,23 +35,23 @@ index 56c98b9..3386546 100644
gperf = find_program('gperf')
diff --git a/tools/meson-make-symlink.sh b/tools/meson-make-symlink.sh
-index 501cd43..f4e4ac9 100755
+index da0d13a341..90bc0a93c2 100755
--- a/tools/meson-make-symlink.sh
+++ b/tools/meson-make-symlink.sh
@@ -8,5 +8,6 @@ mkdir -vp "$(dirname "${DESTDIR:-}$2")"
if [ "$(dirname $1)" = . ]; then
- ln -vfs -T "$1" "${DESTDIR:-}$2"
+ ln -vfs -T "$1" "${DESTDIR:-}$2"
else
-- ln -vfs -T --relative "${DESTDIR:-}$1" "${DESTDIR:-}$2"
-+ rm -f "${DESTDIR:-}$2"
-+ lnr "${DESTDIR:-}$1" "${DESTDIR:-}$2"
+- ln -vfs -T --relative "${DESTDIR:-}$1" "${DESTDIR:-}$2"
++ rm -f "${DESTDIR:-}$2"
++ lnr "${DESTDIR:-}$1" "${DESTDIR:-}$2"
fi
diff --git a/units/meson-add-wants.sh b/units/meson-add-wants.sh
-index e2b2603..210d604 100755
+index a483d75b86..3c01c523f1 100755
--- a/units/meson-add-wants.sh
+++ b/units/meson-add-wants.sh
@@ -25,4 +25,9 @@ case "$target" in
- ;;
+ ;;
esac
-ln -vfs --relative "$unitpath" "$dir"
@@ -59,6 +61,3 @@ index e2b2603..210d604 100755
+else
+ lnr "$unitpath" "$dir"
+fi
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0003-src-basic-copy.c-include-signal.h.patch b/poky/meta/recipes-core/systemd/systemd/0003-src-basic-copy.c-include-signal.h.patch
new file mode 100644
index 000000000..7ee0d48fa
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0003-src-basic-copy.c-include-signal.h.patch
@@ -0,0 +1,27 @@
+Include signal.h
+
+Fixes several signal set related errors:
+src/basic/copy.c:92:19: error: implicit declaration of function 'sigemptyset' [-Werror=implicit-function-declaration]
+src/basic/copy.c:93:19: error: implicit declaration of function 'sigaddset' [-Werror=implicit-function-declaration]
+src/basic/copy.c:93:34: error: 'SIGINT' undeclared (first use in this function)
+src/basic/copy.c:95:13: error: implicit declaration of function 'sigtimedwait' [-Werror=implicit-function-declaration]
+
+Upstream-Status: Pending
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/basic/copy.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/basic/copy.c b/src/basic/copy.c
+index ca311e021e..3cf7fc1697 100644
+--- a/src/basic/copy.c
++++ b/src/basic/copy.c
+@@ -12,6 +12,7 @@
+ #include <sys/xattr.h>
+ #include <time.h>
+ #include <unistd.h>
++#include <signal.h>
+
+ #include "alloc-util.h"
+ #include "btrfs-util.h"
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index fa8217e3d..a2aad40ac 100644
--- a/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -8,6 +8,8 @@ Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Emil Renner Berthing <systemd@esmil.dk>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
meson.build | 1 +
src/basic/meson.build | 5 +
@@ -20,22 +22,22 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
create mode 100644 src/basic/parse-printf-format.h
diff --git a/meson.build b/meson.build
-index 79195c9748..0bffbf29c5 100644
+index 79b762faeb..7f8c679411 100644
--- a/meson.build
+++ b/meson.build
-@@ -685,6 +685,7 @@ foreach header : ['crypt.h',
+@@ -613,6 +613,7 @@ endif
+ foreach header : ['crypt.h',
'linux/memfd.h',
'linux/vm_sockets.h',
- 'linux/can/vxcan.h',
+ 'printf.h',
'sys/auxv.h',
'valgrind/memcheck.h',
'valgrind/valgrind.h',
diff --git a/src/basic/meson.build b/src/basic/meson.build
-index 91e0df3d2f..a732b554da 100644
+index d6caf28f14..32c1acf349 100644
--- a/src/basic/meson.build
+++ b/src/basic/meson.build
-@@ -298,6 +298,11 @@ foreach item : [['af', af_list_txt, 'af', ''],
+@@ -312,6 +312,11 @@ foreach item : [['af', af_list_txt, 'af', ''],
endforeach
basic_sources += generated_gperf_headers
@@ -428,6 +430,3 @@ index 5ef11fa1a4..6384ab620c 100644
#define SNDBUF_SIZE (8*1024*1024)
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch b/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch
index 738f8eb7b..f9c5996ff 100644
--- a/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0004-rules-whitelist-hd-devices.patch
@@ -13,23 +13,22 @@ Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
[rebased for systemd 241]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
rules/60-persistent-storage.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
-index 1d8880e..e53c8ea 100644
+index 7802b1c94f..c0534ae26a 100644
--- a/rules/60-persistent-storage.rules
+++ b/rules/60-persistent-storage.rules
@@ -7,7 +7,7 @@ ACTION=="remove", GOTO="persistent_storage_end"
ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_end"
SUBSYSTEM!="block", GOTO="persistent_storage_end"
--KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*|zd*", GOTO="persistent_storage_end"
-+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*|zd*|hd*", GOTO="persistent_storage_end"
+-KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|ubi*|scm*|pmem*|nbd*|zd*", GOTO="persistent_storage_end"
++KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|ubi*|scm*|pmem*|nbd*|zd*|hd*", GOTO="persistent_storage_end"
# ignore partitions that span the entire disk
TEST=="whole_disk", GOTO="persistent_storage_end"
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch b/poky/meta/recipes-core/systemd/systemd/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch
new file mode 100644
index 000000000..0f75e8c12
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch
@@ -0,0 +1,54 @@
+Handle __cpu_mask usage
+
+Fixes errors:
+
+src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function)
+src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function)
+
+__cpu_mask is an internal type of glibc's cpu_set implementation, not
+part of the POSIX definition, which is problematic when building with
+musl, which does not define a matching type. From inspection of musl's
+sched.h, however, it is clear that the corresponding type would be
+unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So,
+add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/shared/cpu-set-util.h | 2 ++
+ src/test/test-sizeof.c | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h
+index 27812dfd59..f698f9df83 100644
+--- a/src/shared/cpu-set-util.h
++++ b/src/shared/cpu-set-util.h
+@@ -6,6 +6,8 @@
+ #include "macro.h"
+ #include "missing_syscall.h"
+
++typedef unsigned long __cpu_mask;
++
+ /* This wraps the libc interface with a variable to keep the allocated size. */
+ typedef struct CPUSet {
+ cpu_set_t *set;
+diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
+index a710db5370..d1601ad929 100644
+--- a/src/test/test-sizeof.c
++++ b/src/test/test-sizeof.c
+@@ -1,6 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
+-#include <sched.h>
+ #include <stdio.h>
+ #include <string.h>
+
+@@ -8,6 +7,7 @@
+ #include <float.h>
+
+ #include "time-util.h"
++#include "cpu-set-util.h"
+
+ /* Print information about various types. Useful when diagnosing
+ * gcc diagnostics on an unfamiliar architecture. */
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch b/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch
index 5312083fd..96175b5b5 100644
--- a/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0005-rules-watch-metadata-changes-in-ide-devices.patch
@@ -26,20 +26,20 @@ is deprecated.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
[rebased for systemd 241]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
rules/60-block.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rules/60-block.rules b/rules/60-block.rules
-index a1458e9..3ba4b6b4 100644
+index 3134ab995e..cd72a494a1 100644
--- a/rules/60-block.rules
+++ b/rules/60-block.rules
-@@ -8,4 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_
- ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
+@@ -9,5 +9,5 @@ ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block",
# watch metadata changes, caused by tools closing the device node which was opened for writing
--ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*|nbd*", OPTIONS+="watch"
-+ACTION!="remove", SUBSYSTEM=="block", KERNEL=="loop*|nvme*|sd*|vd*|xvd*|pmem*|mmcblk*|dasd*|nbd*|hd*", OPTIONS+="watch"
---
-2.7.4
-
+ ACTION!="remove", SUBSYSTEM=="block", \
+- KERNEL=="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|ubi*|scm*|pmem*|nbd*|zd*", \
++ KERNEL=="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|ubi*|scm*|pmem*|nbd*|zd*|hd*", \
+ OPTIONS+="watch"
diff --git a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
index a2e25a97d..adfc3b786 100644
--- a/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -11,6 +11,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
[Rebased for v242]
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
meson.build | 1 +
src/backlight/backlight.c | 1 +
@@ -30,6 +32,8 @@ Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
src/libsystemd/sd-bus/bus-objects.c | 1 +
src/libsystemd/sd-bus/test-bus-benchmark.c | 1 +
src/locale/keymap-util.c | 1 +
+ src/login/pam_systemd.c | 1 +
+ src/network/generator/network-generator.c | 1 +
src/nspawn/nspawn-settings.c | 1 +
src/shared/dns-domain.c | 1 +
src/shared/journal-importer.c | 1 +
@@ -40,23 +44,24 @@ Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
src/socket-proxy/socket-proxyd.c | 1 +
src/test/test-hexdecoct.c | 1 +
src/udev/udev-builtin-path_id.c | 1 +
+ src/udev/udev-event.c | 1 +
src/udev/udev-rules.c | 1 +
- 29 files changed, 40 insertions(+)
+ 32 files changed, 43 insertions(+)
diff --git a/meson.build b/meson.build
-index 79195c9..80d9564 100644
+index 7f8c679411..81c061b768 100644
--- a/meson.build
+++ b/meson.build
-@@ -572,6 +572,7 @@ foreach ident : [
+@@ -506,6 +506,7 @@ foreach ident : [
+ #include <unistd.h>'''],
+ ['get_mempolicy', '''#include <stdlib.h>
#include <unistd.h>'''],
- ['explicit_bzero' , '''#include <string.h>'''],
- ['reallocarray', '''#include <malloc.h>'''],
+ ['strndupa' , '''#include <string.h>'''],
]
have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
-index dfd6805..c2b2ace 100644
+index dfd6805398..c2b2ace6ec 100644
--- a/src/backlight/backlight.c
+++ b/src/backlight/backlight.c
@@ -17,6 +17,7 @@
@@ -68,7 +73,7 @@ index dfd6805..c2b2ace 100644
static int find_pci_or_platform_parent(sd_device *device, sd_device **ret) {
const char *subsystem, *sysname, *value;
diff --git a/src/basic/env-util.c b/src/basic/env-util.c
-index fd449dc..e2b0722 100644
+index a6503cf2b6..ceef9a62c8 100644
--- a/src/basic/env-util.c
+++ b/src/basic/env-util.c
@@ -16,6 +16,7 @@
@@ -80,11 +85,11 @@ index fd449dc..e2b0722 100644
#define VALID_CHARS_ENV_NAME \
DIGITS LETTERS \
diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
-index 188a8d4..1e16ec2 100644
+index 188a8d4406..1e16ec287a 100644
--- a/src/basic/missing_stdlib.h
+++ b/src/basic/missing_stdlib.h
@@ -11,3 +11,15 @@
- # define secure_getenv getenv
+ # error "neither secure_getenv nor __secure_getenv are available"
# endif
#endif
+
@@ -100,7 +105,7 @@ index 188a8d4..1e16ec2 100644
+ })
+#endif
diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
-index 6b82eab..51c6b78 100644
+index 6b82eab640..51c6b78615 100644
--- a/src/basic/mkdir.c
+++ b/src/basic/mkdir.c
@@ -14,6 +14,7 @@
@@ -112,10 +117,10 @@ index 6b82eab..51c6b78 100644
int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags, mkdir_func_t _mkdir) {
struct stat st;
diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
-index 87724af..d9c53bc 100644
+index 115a1494a2..07a34bfd53 100644
--- a/src/basic/parse-util.c
+++ b/src/basic/parse-util.c
-@@ -19,6 +19,7 @@
+@@ -20,6 +20,7 @@
#include "process-util.h"
#include "stat-util.h"
#include "string-util.h"
@@ -124,7 +129,7 @@ index 87724af..d9c53bc 100644
int parse_boolean(const char *v) {
if (!v)
diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
-index 1670001..b51feaa 100644
+index 09169cf963..f411ba897f 100644
--- a/src/basic/proc-cmdline.c
+++ b/src/basic/proc-cmdline.c
@@ -15,6 +15,7 @@
@@ -136,7 +141,7 @@ index 1670001..b51feaa 100644
int proc_cmdline(char **ret) {
const char *e;
diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
-index 7aaf95b..42ce53d 100644
+index 7aaf95bfce..42ce53d5aa 100644
--- a/src/basic/procfs-util.c
+++ b/src/basic/procfs-util.c
@@ -11,6 +11,7 @@
@@ -148,7 +153,7 @@ index 7aaf95b..42ce53d 100644
int procfs_tasks_get_limit(uint64_t *ret) {
_cleanup_free_ char *value = NULL;
diff --git a/src/basic/time-util.c b/src/basic/time-util.c
-index daf952b..374b97f 100644
+index 3018e81acb..4e2b3b66c1 100644
--- a/src/basic/time-util.c
+++ b/src/basic/time-util.c
@@ -28,6 +28,7 @@
@@ -160,7 +165,7 @@ index daf952b..374b97f 100644
static clockid_t map_clock_id(clockid_t c) {
diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
-index 4615aea..bc1364f 100644
+index 2f2313c599..c9937f9d62 100644
--- a/src/core/dbus-cgroup.c
+++ b/src/core/dbus-cgroup.c
@@ -15,6 +15,7 @@
@@ -172,7 +177,7 @@ index 4615aea..bc1364f 100644
static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_cgroup_device_policy, cgroup_device_policy, CGroupDevicePolicy);
diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
-index f4fbb72..0a1e3b5 100644
+index 7862beaacb..19f6968cfe 100644
--- a/src/core/dbus-util.c
+++ b/src/core/dbus-util.c
@@ -7,6 +7,7 @@
@@ -184,7 +189,7 @@ index f4fbb72..0a1e3b5 100644
int bus_property_get_triggered_unit(
sd_bus *bus,
diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
-index a91cfeb..a459610 100644
+index a91cfebc67..a45961013f 100644
--- a/src/core/kmod-setup.c
+++ b/src/core/kmod-setup.c
@@ -11,6 +11,7 @@
@@ -196,10 +201,10 @@ index a91cfeb..a459610 100644
#if HAVE_KMOD
#include <libkmod.h>
diff --git a/src/core/service.c b/src/core/service.c
-index 0289990..0e725b5 100644
+index 73b3c9c316..ef74f00a08 100644
--- a/src/core/service.c
+++ b/src/core/service.c
-@@ -42,6 +42,7 @@
+@@ -43,6 +43,7 @@
#include "unit.h"
#include "utf8.h"
#include "util.h"
@@ -208,19 +213,19 @@ index 0289990..0e725b5 100644
static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
[SERVICE_DEAD] = UNIT_INACTIVE,
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
-index 0048909..0e85eb7 100644
+index 6d6bb1cf63..6666349a35 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
-@@ -67,6 +67,7 @@
- #include "tmpfile-util.h"
+@@ -70,6 +70,7 @@
#include "unit-name.h"
#include "user-util.h"
+ #include "varlink.h"
+#include "missing.h"
#define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
-index 427d42f..b050568 100644
+index eb029e4453..f31fe9d5a8 100644
--- a/src/libsystemd/sd-bus/bus-message.c
+++ b/src/libsystemd/sd-bus/bus-message.c
@@ -21,6 +21,7 @@
@@ -232,7 +237,7 @@ index 427d42f..b050568 100644
static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
-index d9fc256..e9c6932 100644
+index ae643cacc7..1b752271a5 100644
--- a/src/libsystemd/sd-bus/bus-objects.c
+++ b/src/libsystemd/sd-bus/bus-objects.c
@@ -13,6 +13,7 @@
@@ -244,7 +249,7 @@ index d9fc256..e9c6932 100644
static int node_vtable_get_userdata(
sd_bus *bus,
diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
-index 8de0a85..4fd0a2e 100644
+index 8de0a859ee..4fd0a2e692 100644
--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
@@ -14,6 +14,7 @@
@@ -256,10 +261,10 @@ index 8de0a85..4fd0a2e 100644
#define MAX_SIZE (2*1024*1024)
diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
-index b8bd181..fe0cae0 100644
+index f8c36c94f5..41f5606aea 100644
--- a/src/locale/keymap-util.c
+++ b/src/locale/keymap-util.c
-@@ -23,6 +23,7 @@
+@@ -22,6 +22,7 @@
#include "string-util.h"
#include "strv.h"
#include "tmpfile-util.h"
@@ -267,8 +272,32 @@ index b8bd181..fe0cae0 100644
static bool startswith_comma(const char *s, const char *prefix) {
s = startswith(s, prefix);
+diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
+index 3f762cbbc3..005cfea658 100644
+--- a/src/login/pam_systemd.c
++++ b/src/login/pam_systemd.c
+@@ -28,6 +28,7 @@
+ #include "hostname-util.h"
+ #include "login-util.h"
+ #include "macro.h"
++#include "missing.h"
+ #include "parse-util.h"
+ #include "path-util.h"
+ #include "process-util.h"
+diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
+index 0b5af33566..9c808cd014 100644
+--- a/src/network/generator/network-generator.c
++++ b/src/network/generator/network-generator.c
+@@ -13,6 +13,7 @@
+ #include "string-table.h"
+ #include "string-util.h"
+ #include "strv.h"
++#include "missing.h"
+
+ /*
+ # .network
diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
-index 476cb07..91e28de 100644
+index 3a99736813..279fea4d88 100644
--- a/src/nspawn/nspawn-settings.c
+++ b/src/nspawn/nspawn-settings.c
@@ -16,6 +16,7 @@
@@ -280,7 +309,7 @@ index 476cb07..91e28de 100644
Settings *settings_new(void) {
Settings *s;
diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
-index 4b31cb3..989ebf3 100644
+index f62ad0a0f5..f1a27e158d 100644
--- a/src/shared/dns-domain.c
+++ b/src/shared/dns-domain.c
@@ -24,6 +24,7 @@
@@ -292,10 +321,10 @@ index 4b31cb3..989ebf3 100644
int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
const char *n;
diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
-index 8638cd3..d03774a 100644
+index 7c4fc7021d..a6ff2214df 100644
--- a/src/shared/journal-importer.c
+++ b/src/shared/journal-importer.c
-@@ -13,6 +13,7 @@
+@@ -14,6 +14,7 @@
#include "parse-util.h"
#include "string-util.h"
#include "unaligned.h"
@@ -304,10 +333,10 @@ index 8638cd3..d03774a 100644
enum {
IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
-index 5fb736f..19cb165 100644
+index b615c70dff..75b26e9c21 100644
--- a/src/shared/logs-show.c
+++ b/src/shared/logs-show.c
-@@ -38,6 +38,7 @@
+@@ -39,6 +39,7 @@
#include "time-util.h"
#include "utf8.h"
#include "util.h"
@@ -316,7 +345,7 @@ index 5fb736f..19cb165 100644
/* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
#define PRINT_LINE_THRESHOLD 3
diff --git a/src/shared/pager.c b/src/shared/pager.c
-index 2abb0f6..a00c95f 100644
+index 7c20b100b4..e4209d3a95 100644
--- a/src/shared/pager.c
+++ b/src/shared/pager.c
@@ -25,6 +25,7 @@
@@ -328,7 +357,7 @@ index 2abb0f6..a00c95f 100644
static pid_t pager_pid = 0;
diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c
-index 442fde7..0eb1188 100644
+index 6bf0ff0316..f6c8009cd2 100644
--- a/src/shared/path-lookup.c
+++ b/src/shared/path-lookup.c
@@ -20,6 +20,7 @@
@@ -340,7 +369,7 @@ index 442fde7..0eb1188 100644
int xdg_user_runtime_dir(char **ret, const char *suffix) {
const char *e;
diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
-index 7cb7d8a..8b12b91 100644
+index 7cb7d8a477..8b12b91084 100644
--- a/src/shared/uid-range.c
+++ b/src/shared/uid-range.c
@@ -9,6 +9,7 @@
@@ -352,7 +381,7 @@ index 7cb7d8a..8b12b91 100644
static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
assert(range);
diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
-index abbbc9f..6179b58 100644
+index abbbc9f2d6..6179b5851e 100644
--- a/src/socket-proxy/socket-proxyd.c
+++ b/src/socket-proxy/socket-proxyd.c
@@ -28,6 +28,7 @@
@@ -364,7 +393,7 @@ index abbbc9f..6179b58 100644
#define BUFFER_SIZE (256 * 1024)
diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
-index 5221742..a05e778 100644
+index 52217429b1..a05e7782f6 100644
--- a/src/test/test-hexdecoct.c
+++ b/src/test/test-hexdecoct.c
@@ -6,6 +6,7 @@
@@ -376,7 +405,7 @@ index 5221742..a05e778 100644
static void test_hexchar(void) {
assert_se(hexchar(0xa) == 'a');
diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
-index 7ce1c56..cc19b8e 100644
+index e8f1ce1354..8693cb02a4 100644
--- a/src/udev/udev-builtin-path_id.c
+++ b/src/udev/udev-builtin-path_id.c
@@ -23,6 +23,7 @@
@@ -387,18 +416,27 @@ index 7ce1c56..cc19b8e 100644
_printf_(2,3)
static void path_prepend(char **path, const char *fmt, ...) {
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index 8cfa2cdf23..b0670c77ec 100644
+--- a/src/udev/udev-event.c
++++ b/src/udev/udev-event.c
+@@ -35,6 +35,7 @@
+ #include "udev-util.h"
+ #include "udev-watch.h"
+ #include "user-util.h"
++#include "missing.h"
+
+ typedef struct Spawn {
+ sd_device *device;
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
-index ee87d7c..9aced10 100644
+index 1642f10535..fe2aa75478 100644
--- a/src/udev/udev-rules.c
+++ b/src/udev/udev-rules.c
-@@ -40,6 +40,7 @@
- #include "udev.h"
+@@ -28,6 +28,7 @@
+ #include "udev-event.h"
+ #include "udev-rules.h"
#include "user-util.h"
- #include "util.h"
+#include "missing.h"
- #define PREALLOC_TOKEN 2048
#define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
---
-2.11.0
-
+
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
index b41f6c7be..6d73d715c 100644
--- a/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
@@ -1,28 +1,63 @@
-From 67a988ae82c776d11be76de7180d50ea027ac442 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 14:24:20 +0800
-Subject: [PATCH 06/24] Include netinet/if_ether.h
+Include netinet/if_ether.h
Fixes
/path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
struct ethhdr {
^~~~~~
+and related arphdr, arpreq, and arpreq_old errors
+/path/to/systemd/recipe-sysroot/usr/include/net/if_arp.h:22:8: error: redefinition of 'struct arphdr'
+ struct arphdr {
+ ^~~~~~
+
+The latter requires removing some includes of net/if_arp.h to avoid
+conflicting with netinet/if_ether.h.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
+ src/libsystemd-network/sd-dhcp6-client.c | 1 -
src/libsystemd/sd-netlink/netlink-types.c | 1 +
- src/network/netdev/tuntap.c | 1 +
+ src/machine/machine-dbus.c | 1 +
+ src/network/netdev/macsec.c | 1 +
+ src/network/netdev/netdev.c | 1 +
src/network/networkd-brvlan.c | 1 +
- src/udev/net/ethtool-util.c | 1 +
- src/udev/net/ethtool-util.h | 1 +
+ src/network/networkd-dhcp-common.c | 1 +
+ src/network/networkd-dhcp4.c | 2 +-
+ src/network/networkd-dhcp6.c | 2 +-
+ src/network/networkd-link.c | 2 +-
+ src/network/networkd-network.c | 1 +
+ src/shared/ethtool-util.c | 1 +
+ src/shared/ethtool-util.h | 1 +
+ src/udev/net/link-config.c | 1 +
src/udev/udev-builtin-net_setup_link.c | 1 +
- 6 files changed, 6 insertions(+)
+ 15 files changed, 14 insertions(+), 4 deletions(-)
+diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
+index d7a5349c70..68b41dfb6c 100644
+--- a/src/libsystemd-network/sd-dhcp6-client.c
++++ b/src/libsystemd-network/sd-dhcp6-client.c
+@@ -6,7 +6,6 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <sys/ioctl.h>
+-#include <linux/if_arp.h>
+ #include <linux/if_infiniband.h>
+
+ #include "sd-dhcp6-client.h"
diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
-index 9dcd3f2..e23ff4c 100644
+index de9b8b21ab..f64f6500f7 100644
--- a/src/libsystemd/sd-netlink/netlink-types.c
+++ b/src/libsystemd/sd-netlink/netlink-types.c
@@ -3,6 +3,7 @@
@@ -30,23 +65,45 @@ index 9dcd3f2..e23ff4c 100644
#include <stdint.h>
#include <sys/socket.h>
+#include <netinet/if_ether.h>
+ #include <linux/can/vxcan.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
- #include <linux/genetlink.h>
-diff --git a/src/network/netdev/tuntap.c b/src/network/netdev/tuntap.c
-index 951138d..1ad499d 100644
---- a/src/network/netdev/tuntap.c
-+++ b/src/network/netdev/tuntap.c
-@@ -2,6 +2,7 @@
+diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
+index 0d58b5eb8b..01093c1f62 100644
+--- a/src/machine/machine-dbus.c
++++ b/src/machine/machine-dbus.c
+@@ -4,6 +4,7 @@
+ #include <string.h>
+ #include <sys/mount.h>
+ #include <sys/wait.h>
++#include <netinet/if_ether.h>
+
+ /* When we include libgen.h because we need dirname() we immediately
+ * undefine basename() since libgen.h defines it as a macro to the POSIX
+diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
+index cf281e75a6..269dc618ff 100644
+--- a/src/network/netdev/macsec.c
++++ b/src/network/netdev/macsec.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <netinet/in.h>
+ #include <linux/if_ether.h>
+ #include <linux/if_macsec.h>
+diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
+index 7735b455b7..ed4eda4a44 100644
+--- a/src/network/netdev/netdev.c
++++ b/src/network/netdev/netdev.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
- #include <errno.h>
- #include <fcntl.h>
+#include <netinet/if_ether.h>
- #include <linux/if_tun.h>
#include <net/if.h>
- #include <netinet/if_ether.h>
+ #include <netinet/in.h>
+
diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
-index 8377623..132af60 100644
+index c3c5d535ac..ebea408c89 100644
--- a/src/network/networkd-brvlan.c
+++ b/src/network/networkd-brvlan.c
@@ -4,6 +4,7 @@
@@ -57,10 +114,76 @@ index 8377623..132af60 100644
#include <linux/if_bridge.h>
#include <stdbool.h>
-diff --git a/src/udev/net/ethtool-util.c b/src/udev/net/ethtool-util.c
-index 0dcec03..3695b10 100644
---- a/src/udev/net/ethtool-util.c
-+++ b/src/udev/net/ethtool-util.c
+diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
+index 626b975839..42fe92f320 100644
+--- a/src/network/networkd-dhcp-common.c
++++ b/src/network/networkd-dhcp-common.c
+@@ -1,6 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
+ #include "networkd-dhcp-common.h"
++#include <netinet/if_ether.h>
+ #include "networkd-network.h"
+ #include "parse-util.h"
+ #include "string-table.h"
+diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
+index 662770b50e..c6ab62a94d 100644
+--- a/src/network/networkd-dhcp4.c
++++ b/src/network/networkd-dhcp4.c
+@@ -1,8 +1,8 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <netinet/in.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
+
+ #include "alloc-util.h"
+ #include "hostname-util.h"
+diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
+index 8ad736a82b..f41b4d834e 100644
+--- a/src/network/networkd-dhcp6.c
++++ b/src/network/networkd-dhcp6.c
+@@ -3,9 +3,9 @@
+ Copyright © 2014 Intel Corporation. All rights reserved.
+ ***/
+
++#include <netinet/if_ether.h>
+ #include <netinet/in.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
+ #include "sd-radv.h"
+
+ #include "sd-dhcp6-client.h"
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index f5bb78890a..f13a36b791 100644
+--- a/src/network/networkd-link.c
++++ b/src/network/networkd-link.c
+@@ -1,8 +1,8 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <netinet/in.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
+ #include <unistd.h>
+
+ #include "alloc-util.h"
+diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
+index 2b8d0eb2fb..2f79ef25cd 100644
+--- a/src/network/networkd-network.c
++++ b/src/network/networkd-network.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
+ #include <linux/netdevice.h>
+diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
+index b0961df72e..53fcbbd84b 100644
+--- a/src/shared/ethtool-util.c
++++ b/src/shared/ethtool-util.c
@@ -1,5 +1,6 @@
/* SPDX-License-Identifier: LGPL-2.1+ */
@@ -68,10 +191,10 @@ index 0dcec03..3695b10 100644
#include <net/if.h>
#include <sys/ioctl.h>
#include <linux/ethtool.h>
-diff --git a/src/udev/net/ethtool-util.h b/src/udev/net/ethtool-util.h
-index 618b26b..ebfe82a 100644
---- a/src/udev/net/ethtool-util.h
-+++ b/src/udev/net/ethtool-util.h
+diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
+index 8b32b243f3..262b819976 100644
+--- a/src/shared/ethtool-util.h
++++ b/src/shared/ethtool-util.h
@@ -2,6 +2,7 @@
#pragma once
@@ -80,8 +203,19 @@ index 618b26b..ebfe82a 100644
#include <linux/ethtool.h>
#include "conf-parser.h"
+diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
+index d44af64d5e..fd052f1591 100644
+--- a/src/udev/net/link-config.c
++++ b/src/udev/net/link-config.c
+@@ -1,5 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1+ */
+
++#include <netinet/if_ether.h>
+ #include <linux/netdevice.h>
+ #include <netinet/ether.h>
+
diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
-index a845dfa..177289a 100644
+index ee3ca9fa38..9aa4e82874 100644
--- a/src/udev/udev-builtin-net_setup_link.c
+++ b/src/udev/udev-builtin-net_setup_link.c
@@ -1,5 +1,6 @@
@@ -91,6 +225,3 @@ index a845dfa..177289a 100644
#include "device-util.h"
#include "alloc-util.h"
#include "link-config.h"
---
-2.7.4
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch b/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch
deleted file mode 100644
index 33f482ae9..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0006-network-remove-redunant-link-name-in-message.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 9e6940858c7dbdd56b297bdf49f58d623e3430b7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Tue, 7 May 2019 13:46:55 +0200
-Subject: [PATCH] network: remove redunant link name in message
-
-Fixes #12454.
-
-gcc was complaining that the link->ifname argument is NULL. Adding
-assert(link->ifname) right before the call has no effect. It seems that
-gcc is confused by the fact that log_link_warning_errno() internally
-calls log_object(), with link->ifname passed as the object. log_object()
-is also a macro and is does a check whether the passed object is NULL.
-So we have a check if something is NULL right next an unconditional use
-of it where it cannot be NULL. I think it's a bug in gcc.
-
-Anyway, we don't need to use link->ifname here. log_object() already prepends
-the object name to the message.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: backport [https://github.com/systemd/systemd/commit/c98b3545008d8e984ab456dcf79787418fcbfe13]
----
- src/network/networkd-link.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 3e334c8d29..a158c01bbd 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -321,8 +321,7 @@ static int link_enable_ipv6(Link *link) {
-
- r = sysctl_write_ip_property_boolean(AF_INET6, link->ifname, "disable_ipv6", disabled);
- if (r < 0)
-- log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m",
-- enable_disable(!disabled), link->ifname);
-+ log_link_warning_errno(link, r, "Cannot %s IPv6: %m", enable_disable(!disabled));
- else
- log_link_info(link, "IPv6 successfully %sd", enable_disable(!disabled));
-
---
-2.21.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
index aa2b4cbcf..34f7f5fb7 100644
--- a/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
@@ -15,17 +15,19 @@ Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
- src/basic/glob-util.c | 13 ++++++++++++-
+ src/basic/glob-util.c | 12 ++++++++++++
src/test/test-glob-util.c | 16 ++++++++++++++++
src/tmpfiles/tmpfiles.c | 10 ++++++++++
- 3 files changed, 38 insertions(+), 1 deletion(-)
+ 3 files changed, 38 insertions(+)
diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
-index 32c53f8..ae358d9 100644
+index b335af8d97..2cdfc11f16 100644
--- a/src/basic/glob-util.c
+++ b/src/basic/glob-util.c
-@@ -13,6 +13,12 @@
+@@ -14,6 +14,12 @@
#include "path-util.h"
#include "strv.h"
@@ -38,7 +40,7 @@ index 32c53f8..ae358d9 100644
static void closedir_wrapper(void* v) {
(void) closedir(v);
}
-@@ -20,6 +26,7 @@ static void closedir_wrapper(void* v) {
+@@ -21,6 +27,7 @@ static void closedir_wrapper(void* v) {
int safe_glob(const char *path, int flags, glob_t *pglob) {
int k;
@@ -46,7 +48,7 @@ index 32c53f8..ae358d9 100644
/* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
assert(!(flags & GLOB_ALTDIRFUNC));
-@@ -33,10 +40,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
+@@ -34,9 +41,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
pglob->gl_lstat = lstat;
if (!pglob->gl_stat)
pglob->gl_stat = stat;
@@ -55,7 +57,6 @@ index 32c53f8..ae358d9 100644
errno = 0;
+#ifdef GLOB_ALTDIRFUNC
k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob);
--
+#else
+ k = glob(path, flags, NULL, pglob);
+#endif
@@ -63,7 +64,7 @@ index 32c53f8..ae358d9 100644
return -ENOENT;
if (k == GLOB_NOSPACE)
diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
-index b4f4144..f0d474e 100644
+index b4f41445fe..f0d474ed14 100644
--- a/src/test/test-glob-util.c
+++ b/src/test/test-glob-util.c
@@ -13,6 +13,12 @@
@@ -114,7 +115,7 @@ index b4f4144..f0d474e 100644
(void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index d9d1cc1..477d1e3 100644
+index 3c30612af1..14bc428085 100644
--- a/src/tmpfiles/tmpfiles.c
+++ b/src/tmpfiles/tmpfiles.c
@@ -63,6 +63,12 @@
@@ -130,7 +131,7 @@ index d9d1cc1..477d1e3 100644
/* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
* them in the file system. This is intended to be used to create
* properly owned directories beneath /tmp, /var/tmp, /run, which are
-@@ -1839,7 +1845,9 @@ finish:
+@@ -1853,7 +1859,9 @@ finish:
static int glob_item(Item *i, action_t action) {
_cleanup_globfree_ glob_t g = {
@@ -140,7 +141,7 @@ index d9d1cc1..477d1e3 100644
};
int r = 0, k;
char **fn;
-@@ -1859,7 +1867,9 @@ static int glob_item(Item *i, action_t action) {
+@@ -1873,7 +1881,9 @@ static int glob_item(Item *i, action_t action) {
static int glob_item_recursively(Item *i, fdaction_t action) {
_cleanup_globfree_ glob_t g = {
@@ -150,6 +151,3 @@ index d9d1cc1..477d1e3 100644
};
int r = 0, k;
char **fn;
---
-2.11.0
-
diff --git a/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index b54635e8a..24e24e8e5 100644
--- a/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/poky/meta/recipes-core/systemd/systemd/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -17,15 +17,17 @@ This is libc implementation specific, as glibc does not have this issue.
Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
src/basic/process-util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index f773eea..79af915 100644
+index b1c08fcade..0a7a1f7d89 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
-@@ -1546,7 +1546,7 @@ int set_oom_score_adjust(int value) {
+@@ -1474,7 +1474,7 @@ int set_oom_score_adjust(int value) {
sprintf(t, "%i", value);
return write_string_file("/proc/self/oom_score_adj", t,
@@ -33,8 +35,4 @@ index f773eea..79af915 100644
+ WRITE_STRING_FILE_VERIFY_ON_FAILURE);
}
- int cpus_in_affinity_mask(void) {
---
-2.11.0
-
-
+ static const char *const ioprio_class_table[] = {
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
deleted file mode 100644
index 37987b57f..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-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: 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: Accepted
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/socket-util.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h
-index 6920fd99ba..36ec422f2c 100644
---- a/src/basic/socket-util.h
-+++ b/src/basic/socket-util.h
-@@ -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>
---
-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
deleted file mode 100644
index ada404b05..000000000
--- a/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-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: 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: 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 b9651205e6..c153bc4448 100644
---- a/src/basic/fs-util.h
-+++ b/src/basic/fs-util.h
-@@ -7,6 +7,7 @@
- #include <stdbool.h>
- #include <stdint.h>
- #include <sys/inotify.h>
-+#include <sys/stat.h>
- #include <sys/types.h>
- #include <unistd.h>
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-core/systemd/systemd_242.bb b/poky/meta/recipes-core/systemd/systemd_242.bb
deleted file mode 100644
index 29f64b995..000000000
--- a/poky/meta/recipes-core/systemd/systemd_242.bb
+++ /dev/null
@@ -1,667 +0,0 @@
-require systemd.inc
-
-PROVIDES = "udev"
-
-PE = "1"
-
-DEPENDS = "intltool-native gperf-native libcap util-linux"
-
-SECTION = "base/shell"
-
-inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages distro_features_check
-
-# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
-# that we don't build both udev and systemd in world builds.
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-SRC_URI += "file://touchscreen.rules \
- file://00-create-volatile.conf \
- file://init \
- file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
- file://0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
- file://0003-implment-systemd-sysv-install-for-OE.patch \
- file://0004-rules-whitelist-hd-devices.patch \
- 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_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 \
- file://0004-add-fallback-parse_printf_format-implementation.patch \
- file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \
- file://0006-Include-netinet-if_ether.h.patch \
- file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch \
- 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://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 \
- file://0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
- file://0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
- 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://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 \
- file://0001-do-not-disable-buffer-in-writing-files.patch \
- "
-
-PAM_PLUGINS = " \
- pam-plugin-unix \
- pam-plugin-loginuid \
- pam-plugin-keyinit \
-"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'efi ldconfig pam selinux usrmerge polkit', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
- acl \
- backlight \
- binfmt \
- gshadow \
- hibernate \
- hostnamed \
- idn \
- ima \
- kmod \
- localed \
- logind \
- machined \
- myhostname \
- networkd \
- nss \
- nss-mymachines \
- nss-resolve \
- quotacheck \
- randomseed \
- resolved \
- smack \
- sysusers \
- timedated \
- timesyncd \
- utmp \
- vconsole \
- xz \
-"
-
-PACKAGECONFIG_remove_libc-musl = " \
- gshadow \
- idn \
- localed \
- myhostname \
- nss \
- nss-mymachines \
- nss-resolve \
- resolved \
- smack \
- sysusers \
- utmp \
-"
-
-# Use the upstream systemd serial-getty@.service and rely on
-# systemd-getty-generator instead of using the OE-core specific
-# systemd-serialgetty.bb - not enabled by default.
-PACKAGECONFIG[serial-getty-generator] = ""
-
-PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl"
-PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit"
-PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false"
-PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false"
-PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2"
-PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid"
-PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false"
-PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup"
-PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
-PACKAGECONFIG[efi] = "-Defi=true,-Defi=false"
-PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
-PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
-# Sign the journal for anti-tampering
-PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt"
-PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
-PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
-PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false"
-PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false"
-PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
-PACKAGECONFIG[ima] = "-Dima=true,-Dima=false"
-# importd requires curl/xz/zlib/bzip2/gcrypt
-PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false"
-# Update NAT firewall rules
-PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables"
-PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl"
-PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod"
-PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false"
-PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn"
-PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
-PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
-PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
-PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
-PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
-PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd"
-PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname"
-PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
-PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
-PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false"
-PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false"
-PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl"
-PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}"
-PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2"
-PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false"
-PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false"
-PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode"
-PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false"
-PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false"
-PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false"
-PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false"
-# libseccomp is found in meta-security
-PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
-PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell"
-PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false"
-PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false"
-PACKAGECONFIG[time-epoch] = "-Dtime-epoch=0,,"
-PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false"
-PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false"
-PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true"
-PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true"
-PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false"
-PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind"
-PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup"
-# Verify keymaps on locale change
-PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon"
-PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz"
-PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib"
-
-# Helper variables to clarify locations. This mirrors the logic in systemd's
-# build system.
-rootprefix ?= "${root_prefix}"
-rootlibdir ?= "${base_libdir}"
-rootlibexecdir = "${rootprefix}/lib"
-
-# This links udev statically with systemd helper library.
-# Otherwise udev package would depend on systemd package (which has the needed shared library),
-# and always pull it into images.
-EXTRA_OEMESON += "-Dlink-udev-shared=false"
-
-EXTRA_OEMESON += "-Dnobody-user=nobody \
- -Dnobody-group=nobody \
- -Drootlibdir=${rootlibdir} \
- -Drootprefix=${rootprefix} \
- -Dsysvrcnd-path=${sysconfdir} \
- -Ddefault-locale=C \
- "
-
-# Hardcode target binary paths to avoid using paths from sysroot
-EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \
- -Dkmod-path=${base_bindir}/kmod \
- -Dmount-path=${base_bindir}/mount \
- -Dquotacheck-path=${sbindir}/quotacheck \
- -Dquotaon-path=${sbindir}/quotaon \
- -Dsulogin-path=${base_sbindir}/sulogin \
- -Dumount-path=${base_bindir}/umount"
-
-do_install() {
- meson_do_install
- install -d ${D}/${base_sbindir}
- if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then
- # Provided by a separate recipe
- rm ${D}${systemd_unitdir}/system/serial-getty* -f
- fi
-
- # Provide support for initramfs
- [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init
- [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd
-
- install -d ${D}${sysconfdir}/udev/rules.d/
- install -d ${D}${sysconfdir}/tmpfiles.d
- install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
- install -d ${D}${libdir}/pkgconfig
- install -m 0644 ${B}/src/udev/udev.pc ${D}${libdir}/pkgconfig/
-
- install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
-
- 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/systemd-udevd
- sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd
- fi
-
- chown root:systemd-journal ${D}/${localstatedir}/log/journal
-
- # Delete journal README, as log can be symlinked inside volatile.
- rm -f ${D}/${localstatedir}/log/README
-
- # journal-remote creates this at start
- rm -rf ${D}/${localstatedir}/log/journal/remote
-
- install -d ${D}${systemd_unitdir}/system/graphical.target.wants
- install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
- install -d ${D}${systemd_unitdir}/system/poweroff.target.wants
- install -d ${D}${systemd_unitdir}/system/reboot.target.wants
- install -d ${D}${systemd_unitdir}/system/rescue.target.wants
-
- # Create symlinks for systemd-update-utmp-runlevel.service
- if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service
- ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service
- fi
-
- # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
- # for existence else it fails
- if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then
- ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)}
- fi
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then
- echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
- echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
- echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
- ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
- else
- sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
- ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
- fi
- install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
-
- # If polkit is setup fixup permissions and ownership
- if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then
- if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
- chmod 700 ${D}${datadir}/polkit-1/rules.d
- chown polkitd:root ${D}${datadir}/polkit-1/rules.d
- fi
- fi
-
- # duplicate udevadm for postinst script
- install -d ${D}${libexecdir}
- ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
-
- # install default policy for presets
- # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
- install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
-}
-
-
-python populate_packages_prepend (){
- systemdlibdir = d.getVar("rootlibdir")
- do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
-}
-PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*"
-
-PACKAGES =+ "\
- ${PN}-gui \
- ${PN}-vconsole-setup \
- ${PN}-initramfs \
- ${PN}-analyze \
- ${PN}-kernel-install \
- ${PN}-rpm-macros \
- ${PN}-binfmt \
- ${PN}-zsh-completion \
- ${PN}-xorg-xinitrc \
- ${PN}-container \
- ${PN}-journal-gatewayd \
- ${PN}-journal-upload \
- ${PN}-journal-remote \
- ${PN}-extra-utils \
-"
-
-SUMMARY_${PN}-container = "Tools for containers and VMs"
-DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines."
-
-SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events"
-DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default."
-
-SUMMARY_${PN}-journal-upload = "Send journal messages over the network"
-DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL."
-
-SUMMARY_${PN}-journal-remote = "Receive journal messages over the network"
-DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
-
-SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
-"
-SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
-
-USERADD_PACKAGES = "${PN} ${PN}-extra-utils \
- ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
-"
-GROUPADD_PARAM_${PN} = "-r systemd-journal"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /bin/nologin systemd-coredump;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /bin/nologin systemd-network;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /bin/nologin systemd-resolve;', '', d)}"
-USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /bin/nologin systemd-timesync;', '', d)}"
-USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /bin/nologin systemd-bus-proxy"
-USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /bin/nologin systemd-journal-gateway"
-USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /bin/nologin systemd-journal-remote"
-USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /bin/nologin systemd-journal-upload"
-
-FILES_${PN}-analyze = "${bindir}/systemd-analyze"
-
-FILES_${PN}-initramfs = "/init"
-RDEPENDS_${PN}-initramfs = "${PN}"
-
-FILES_${PN}-gui = "${bindir}/systemadm"
-
-FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
- ${systemd_unitdir}/system/systemd-vconsole-setup.service \
- ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
-
-RDEPENDS_${PN}-kernel-install += "bash"
-FILES_${PN}-kernel-install = "${bindir}/kernel-install \
- ${sysconfdir}/kernel/ \
- ${exec_prefix}/lib/kernel \
- "
-FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
- "
-
-FILES_${PN}-xorg-xinitrc = "${sysconfdir}/X11/xinit/xinitrc.d/*"
-
-FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
-
-FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
- ${exec_prefix}/lib/binfmt.d \
- ${rootlibexecdir}/systemd/systemd-binfmt \
- ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
- ${systemd_unitdir}/system/systemd-binfmt.service"
-RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
-
-RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
-
-
-FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \
- ${systemd_system_unitdir}/systemd-journal-gatewayd.service \
- ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \
- ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \
- ${datadir}/systemd/gatewayd/browse.html \
- "
-SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket"
-
-FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \
- ${systemd_system_unitdir}/systemd-journal-upload.service \
- ${sysconfdir}/systemd/journal-upload.conf \
- "
-SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service"
-
-FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \
- ${sysconfdir}/systemd/journal-remote.conf \
- ${systemd_system_unitdir}/systemd-journal-remote.service \
- ${systemd_system_unitdir}/systemd-journal-remote.socket \
- "
-SYSTEMD_SERVICE_${PN}-remote = "systemd-journal-remote.socket"
-
-
-FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
- ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
- ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \
- ${base_bindir}/machinectl \
- ${bindir}/systemd-nspawn \
- ${nonarch_libdir}/systemd/import-pubring.gpg \
- ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \
- ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \
- ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \
- ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \
- ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \
- ${systemd_system_unitdir}/machine.slice \
- ${systemd_system_unitdir}/machines.target \
- ${systemd_system_unitdir}/org.freedesktop.import1.busname \
- ${systemd_system_unitdir}/org.freedesktop.machine1.busname \
- ${systemd_system_unitdir}/systemd-importd.service \
- ${systemd_system_unitdir}/systemd-machined.service \
- ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \
- ${systemd_system_unitdir}/var-lib-machines.mount \
- ${rootlibexecdir}/systemd/systemd-import \
- ${rootlibexecdir}/systemd/systemd-importd \
- ${rootlibexecdir}/systemd/systemd-machined \
- ${rootlibexecdir}/systemd/systemd-pull \
- ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
- ${systemd_system_unitdir}/systemd-nspawn@.service \
- ${libdir}/libnss_mymachines.so.2 \
- ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
- ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \
- ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \
- ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \
- ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \
- "
-
-RRECOMMENDS_${PN}-container += "\
- ${PN}-journal-upload \
- ${PN}-journal-remote \
- ${PN}-journal-gatewayd \
- "
-
-FILES_${PN}-extra-utils = "\
- ${base_bindir}/systemd-escape \
- ${base_bindir}/systemd-inhibit \
- ${bindir}/systemd-detect-virt \
- ${bindir}/systemd-path \
- ${bindir}/systemd-run \
- ${bindir}/systemd-cat \
- ${bindir}/systemd-delta \
- ${bindir}/systemd-cgls \
- ${bindir}/systemd-cgtop \
- ${bindir}/systemd-stdio-bridge \
- ${base_bindir}/systemd-ask-password \
- ${base_bindir}/systemd-tty-ask-password-agent \
- ${systemd_unitdir}/system/systemd-ask-password-console.path \
- ${systemd_unitdir}/system/systemd-ask-password-console.service \
- ${systemd_unitdir}/system/systemd-ask-password-wall.path \
- ${systemd_unitdir}/system/systemd-ask-password-wall.service \
- ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \
- ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \
- ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \
- ${rootlibexecdir}/systemd/systemd-resolve-host \
- ${rootlibexecdir}/systemd/systemd-ac-power \
- ${rootlibexecdir}/systemd/systemd-activate \
- ${rootlibexecdir}/systemd/systemd-bus-proxyd \
- ${systemd_unitdir}/system/systemd-bus-proxyd.service \
- ${systemd_unitdir}/system/systemd-bus-proxyd.socket \
- ${rootlibexecdir}/systemd/systemd-socket-proxyd \
- ${rootlibexecdir}/systemd/systemd-reply-password \
- ${rootlibexecdir}/systemd/systemd-sleep \
- ${rootlibexecdir}/systemd/system-sleep \
- ${systemd_unitdir}/system/systemd-hibernate.service \
- ${systemd_unitdir}/system/systemd-hybrid-sleep.service \
- ${systemd_unitdir}/system/systemd-suspend.service \
- ${systemd_unitdir}/system/sleep.target \
- ${rootlibexecdir}/systemd/systemd-initctl \
- ${systemd_unitdir}/system/systemd-initctl.service \
- ${systemd_unitdir}/system/systemd-initctl.socket \
- ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \
- ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \
- ${rootlibexecdir}/systemd/systemd-cgroups-agent \
-"
-
-CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \
- ${sysconfdir}/systemd/journald.conf \
- ${sysconfdir}/systemd/logind.conf \
- ${sysconfdir}/systemd/system.conf \
- ${sysconfdir}/systemd/user.conf \
- ${sysconfdir}/systemd/resolved.conf \
- ${sysconfdir}/systemd/timesyncd.conf \
-"
-
-FILES_${PN} = " ${base_bindir}/* \
- ${base_sbindir}/shutdown \
- ${base_sbindir}/halt \
- ${base_sbindir}/poweroff \
- ${base_sbindir}/runlevel \
- ${base_sbindir}/telinit \
- ${base_sbindir}/resolvconf \
- ${base_sbindir}/reboot \
- ${base_sbindir}/init \
- ${datadir}/dbus-1/services \
- ${datadir}/dbus-1/system-services \
- ${datadir}/polkit-1 \
- ${datadir}/${BPN} \
- ${datadir}/factory \
- ${sysconfdir}/dbus-1/ \
- ${sysconfdir}/modules-load.d/ \
- ${sysconfdir}/pam.d/ \
- ${sysconfdir}/sysctl.d/ \
- ${sysconfdir}/systemd/ \
- ${sysconfdir}/tmpfiles.d/ \
- ${sysconfdir}/xdg/ \
- ${sysconfdir}/init.d/README \
- ${sysconfdir}/resolv-conf.systemd \
- ${rootlibexecdir}/systemd/* \
- ${systemd_unitdir}/* \
- ${base_libdir}/security/*.so \
- /cgroup \
- ${bindir}/systemd* \
- ${bindir}/busctl \
- ${bindir}/coredumpctl \
- ${bindir}/localectl \
- ${bindir}/hostnamectl \
- ${bindir}/resolvectl \
- ${bindir}/timedatectl \
- ${bindir}/bootctl \
- ${bindir}/kernel-install \
- ${exec_prefix}/lib/tmpfiles.d/*.conf \
- ${exec_prefix}/lib/systemd \
- ${exec_prefix}/lib/modules-load.d \
- ${exec_prefix}/lib/sysctl.d \
- ${exec_prefix}/lib/sysusers.d \
- ${exec_prefix}/lib/environment.d \
- ${localstatedir} \
- ${nonarch_base_libdir}/udev/rules.d/70-uaccess.rules \
- ${nonarch_base_libdir}/udev/rules.d/71-seat.rules \
- ${nonarch_base_libdir}/udev/rules.d/73-seat-late.rules \
- ${nonarch_base_libdir}/udev/rules.d/99-systemd.rules \
- ${nonarch_base_libdir}/modprobe.d/systemd.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \
- ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \
- "
-
-FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
-
-RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck"
-RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
-RDEPENDS_${PN} += "volatile-binds update-rc.d"
-
-RRECOMMENDS_${PN} += "systemd-extra-utils \
- systemd-compat-units udev-hwdb \
- e2fsprogs-e2fsck \
- kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 \
- os-release \
- systemd-conf \
-"
-
-INSANE_SKIP_${PN} += "dev-so libdir"
-INSANE_SKIP_${PN}-dbg += "libdir"
-INSANE_SKIP_${PN}-doc += " libdir"
-
-PACKAGES =+ "udev udev-hwdb"
-
-RPROVIDES_udev = "hotplug"
-
-RDEPENDS_udev-hwdb += "udev"
-
-FILES_udev += "${base_sbindir}/udevd \
- ${rootlibexecdir}/systemd/network/99-default.link \
- ${rootlibexecdir}/systemd/systemd-udevd \
- ${rootlibexecdir}/udev/accelerometer \
- ${rootlibexecdir}/udev/ata_id \
- ${rootlibexecdir}/udev/cdrom_id \
- ${rootlibexecdir}/udev/collect \
- ${rootlibexecdir}/udev/findkeyboards \
- ${rootlibexecdir}/udev/keyboard-force-release.sh \
- ${rootlibexecdir}/udev/keymap \
- ${rootlibexecdir}/udev/mtd_probe \
- ${rootlibexecdir}/udev/scsi_id \
- ${rootlibexecdir}/udev/v4l_id \
- ${rootlibexecdir}/udev/keymaps \
- ${rootlibexecdir}/udev/rules.d/*.rules \
- ${sysconfdir}/udev \
- ${sysconfdir}/init.d/systemd-udevd \
- ${systemd_unitdir}/system/*udev* \
- ${systemd_unitdir}/system/*.wants/*udev* \
- ${base_bindir}/udevadm \
- ${libexecdir}/${MLPREFIX}udevadm \
- ${datadir}/bash-completion/completions/udevadm \
- "
-
-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 ."
-
-python __anonymous() {
- if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
- d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
-
-ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel resolv-conf"
-
-ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd"
-ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf"
-ALTERNATIVE_PRIORITY[resolv-conf] ?= "50"
-
-ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt"
-ALTERNATIVE_PRIORITY[halt] ?= "300"
-
-ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot"
-ALTERNATIVE_PRIORITY[reboot] ?= "300"
-
-ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
-ALTERNATIVE_PRIORITY[shutdown] ?= "300"
-
-ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
-ALTERNATIVE_PRIORITY[poweroff] ?= "300"
-
-ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
-ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
-ALTERNATIVE_PRIORITY[runlevel] ?= "300"
-
-pkg_postinst_${PN} () {
- sed -e '/^hosts:/s/\s*\<myhostname\>//' \
- -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 myhostname \3\4\5/' \
- -i $D${sysconfdir}/nsswitch.conf
-}
-
-pkg_prerm_${PN} () {
- sed -e '/^hosts:/s/\s*\<myhostname\>//' \
- -e '/^hosts:/s/\s*myhostname//' \
- -i $D${sysconfdir}/nsswitch.conf
-}
-
-PACKAGE_WRITE_DEPS += "qemu-native"
-pkg_postinst_udev-hwdb () {
- if test -n "$D"; then
- $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
- else
- udevadm hwdb --update
- fi
-}
-
-pkg_prerm_udev-hwdb () {
- rm -f $D${sysconfdir}/udev/hwdb.bin
-}
diff --git a/poky/meta/recipes-core/systemd/systemd_243.bb b/poky/meta/recipes-core/systemd/systemd_243.bb
new file mode 100644
index 000000000..b9097593f
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd_243.bb
@@ -0,0 +1,689 @@
+require systemd.inc
+
+PROVIDES = "udev"
+
+PE = "1"
+
+DEPENDS = "intltool-native gperf-native libcap util-linux"
+
+SECTION = "base/shell"
+
+inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu systemd gettext bash-completion manpages distro_features_check
+
+# As this recipe builds udev, respect systemd being in DISTRO_FEATURES so
+# that we don't build both udev and systemd in world builds.
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SRC_URI += "file://touchscreen.rules \
+ file://00-create-volatile.conf \
+ file://init \
+ file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
+ file://0002-use-lnr-wrapper-instead-of-looking-for-relative-opti.patch \
+ file://0003-implment-systemd-sysv-install-for-OE.patch \
+ file://0004-rules-whitelist-hd-devices.patch \
+ file://0005-rules-watch-metadata-changes-in-ide-devices.patch \
+ file://0001-unit-file.c-consider-symlink-on-filesystems-like-NFS.patch \
+ file://99-default.preset \
+ "
+
+# patches needed by musl
+SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}"
+SRC_URI_MUSL = "\
+ file://0002-don-t-use-glibc-specific-qsort_r.patch \
+ file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \
+ file://0004-add-fallback-parse_printf_format-implementation.patch \
+ file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \
+ file://0006-Include-netinet-if_ether.h.patch \
+ file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch \
+ 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://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 \
+ file://0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
+ file://0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
+ 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://0024-test-json.c-define-M_PIl.patch \
+ file://0001-do-not-disable-buffer-in-writing-files.patch \
+ file://0002-src-login-brightness.c-include-sys-wait.h.patch \
+ file://0003-src-basic-copy.c-include-signal.h.patch \
+ file://0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch \
+ "
+
+PAM_PLUGINS = " \
+ pam-plugin-unix \
+ pam-plugin-loginuid \
+ pam-plugin-keyinit \
+"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'efi ldconfig pam selinux usrmerge polkit', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
+ acl \
+ backlight \
+ binfmt \
+ gshadow \
+ hibernate \
+ hostnamed \
+ idn \
+ ima \
+ kmod \
+ localed \
+ logind \
+ machined \
+ myhostname \
+ networkd \
+ nss \
+ nss-mymachines \
+ nss-resolve \
+ quotacheck \
+ randomseed \
+ resolved \
+ set-time-epoch \
+ smack \
+ sysusers \
+ timedated \
+ timesyncd \
+ utmp \
+ vconsole \
+ xz \
+"
+
+PACKAGECONFIG_remove_libc-musl = " \
+ gshadow \
+ idn \
+ localed \
+ myhostname \
+ nss \
+ nss-mymachines \
+ nss-resolve \
+ resolved \
+ smack \
+ sysusers \
+ utmp \
+"
+
+# Use the upstream systemd serial-getty@.service and rely on
+# systemd-getty-generator instead of using the OE-core specific
+# systemd-serialgetty.bb - not enabled by default.
+PACKAGECONFIG[serial-getty-generator] = ""
+
+PACKAGECONFIG[acl] = "-Dacl=true,-Dacl=false,acl"
+PACKAGECONFIG[audit] = "-Daudit=true,-Daudit=false,audit"
+PACKAGECONFIG[backlight] = "-Dbacklight=true,-Dbacklight=false"
+PACKAGECONFIG[binfmt] = "-Dbinfmt=true,-Dbinfmt=false"
+PACKAGECONFIG[bzip2] = "-Dbzip2=true,-Dbzip2=false,bzip2"
+PACKAGECONFIG[cgroupv2] = "-Ddefault-hierarchy=unified,-Ddefault-hierarchy=hybrid"
+PACKAGECONFIG[coredump] = "-Dcoredump=true,-Dcoredump=false"
+PACKAGECONFIG[cryptsetup] = "-Dlibcryptsetup=true,-Dlibcryptsetup=false,cryptsetup"
+PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
+PACKAGECONFIG[efi] = "-Defi=true,-Defi=false"
+PACKAGECONFIG[gnu-efi] = "-Dgnu-efi=true -Defi-libdir=${STAGING_LIBDIR} -Defi-includedir=${STAGING_INCDIR}/efi,-Dgnu-efi=false,gnu-efi"
+PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
+PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
+# Sign the journal for anti-tampering
+PACKAGECONFIG[gcrypt] = "-Dgcrypt=true,-Dgcrypt=false,libgcrypt"
+PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
+PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
+PACKAGECONFIG[hibernate] = "-Dhibernate=true,-Dhibernate=false"
+PACKAGECONFIG[hostnamed] = "-Dhostnamed=true,-Dhostnamed=false"
+PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
+PACKAGECONFIG[ima] = "-Dima=true,-Dima=false"
+# importd requires curl/xz/zlib/bzip2/gcrypt
+PACKAGECONFIG[importd] = "-Dimportd=true,-Dimportd=false"
+# Update NAT firewall rules
+PACKAGECONFIG[iptc] = "-Dlibiptc=true,-Dlibiptc=false,iptables"
+PACKAGECONFIG[journal-upload] = "-Dlibcurl=true,-Dlibcurl=false,curl"
+PACKAGECONFIG[kmod] = "-Dkmod=true,-Dkmod=false,kmod"
+PACKAGECONFIG[ldconfig] = "-Dldconfig=true,-Dldconfig=false"
+PACKAGECONFIG[libidn] = "-Dlibidn=true,-Dlibidn=false,libidn"
+PACKAGECONFIG[localed] = "-Dlocaled=true,-Dlocaled=false"
+PACKAGECONFIG[logind] = "-Dlogind=true,-Dlogind=false"
+PACKAGECONFIG[lz4] = "-Dlz4=true,-Dlz4=false,lz4"
+PACKAGECONFIG[machined] = "-Dmachined=true,-Dmachined=false"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[microhttpd] = "-Dmicrohttpd=true,-Dmicrohttpd=false,libmicrohttpd"
+PACKAGECONFIG[myhostname] = "-Dnss-myhostname=true,-Dnss-myhostname=false,,libnss-myhostname"
+PACKAGECONFIG[networkd] = "-Dnetworkd=true,-Dnetworkd=false"
+PACKAGECONFIG[nss] = "-Dnss-systemd=true,-Dnss-systemd=false"
+PACKAGECONFIG[nss-mymachines] = "-Dnss-mymachines=true,-Dnss-mymachines=false"
+PACKAGECONFIG[nss-resolve] = "-Dnss-resolve=true,-Dnss-resolve=false"
+PACKAGECONFIG[openssl] = "-Dopenssl=true,-Dopenssl=false,openssl"
+PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam,${PAM_PLUGINS}"
+PACKAGECONFIG[pcre2] = "-Dpcre2=true,-Dpcre2=false,libpcre2"
+PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false"
+PACKAGECONFIG[portabled] = "-Dportabled=true,-Dportabled=false"
+PACKAGECONFIG[qrencode] = "-Dqrencode=true,-Dqrencode=false,qrencode"
+PACKAGECONFIG[quotacheck] = "-Dquotacheck=true,-Dquotacheck=false"
+PACKAGECONFIG[randomseed] = "-Drandomseed=true,-Drandomseed=false"
+PACKAGECONFIG[resolved] = "-Dresolve=true,-Dresolve=false"
+PACKAGECONFIG[rfkill] = "-Drfkill=true,-Drfkill=false"
+# libseccomp is found in meta-security
+PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
+PACKAGECONFIG[selinux] = "-Dselinux=true,-Dselinux=false,libselinux,initscripts-sushell"
+PACKAGECONFIG[smack] = "-Dsmack=true,-Dsmack=false"
+PACKAGECONFIG[sysusers] = "-Dsysusers=true,-Dsysusers=false"
+# When enabled use reproducble build timestamp if set as time epoch,
+# or build time if not. When disabled, time epoch is unset.
+def build_epoch(d):
+ epoch = d.getVar('SOURCE_DATE_EPOCH') or "-1"
+ return '-Dtime-epoch=%d' % int(epoch)
+PACKAGECONFIG[set-time-epoch] = "${@build_epoch(d)},-Dtime-epoch=0"
+PACKAGECONFIG[timedated] = "-Dtimedated=true,-Dtimedated=false"
+PACKAGECONFIG[timesyncd] = "-Dtimesyncd=true,-Dtimesyncd=false"
+PACKAGECONFIG[usrmerge] = "-Dsplit-usr=false,-Dsplit-usr=true"
+PACKAGECONFIG[sbinmerge] = "-Dsplit-bin=false,-Dsplit-bin=true"
+PACKAGECONFIG[utmp] = "-Dutmp=true,-Dutmp=false"
+PACKAGECONFIG[valgrind] = "-DVALGRIND=1,,valgrind"
+PACKAGECONFIG[vconsole] = "-Dvconsole=true,-Dvconsole=false,,${PN}-vconsole-setup"
+# Verify keymaps on locale change
+PACKAGECONFIG[xkbcommon] = "-Dxkbcommon=true,-Dxkbcommon=false,libxkbcommon"
+PACKAGECONFIG[xz] = "-Dxz=true,-Dxz=false,xz"
+PACKAGECONFIG[zlib] = "-Dzlib=true,-Dzlib=false,zlib"
+
+# Helper variables to clarify locations. This mirrors the logic in systemd's
+# build system.
+rootprefix ?= "${root_prefix}"
+rootlibdir ?= "${base_libdir}"
+rootlibexecdir = "${rootprefix}/lib"
+
+# This links udev statically with systemd helper library.
+# Otherwise udev package would depend on systemd package (which has the needed shared library),
+# and always pull it into images.
+EXTRA_OEMESON += "-Dlink-udev-shared=false"
+
+EXTRA_OEMESON += "-Dnobody-user=nobody \
+ -Dnobody-group=nobody \
+ -Drootlibdir=${rootlibdir} \
+ -Drootprefix=${rootprefix} \
+ -Dsysvrcnd-path=${sysconfdir} \
+ -Ddefault-locale=C \
+ "
+
+# Hardcode target binary paths to avoid using paths from sysroot
+EXTRA_OEMESON += "-Dkexec-path=${sbindir}/kexec \
+ -Dkmod-path=${base_bindir}/kmod \
+ -Dmount-path=${base_bindir}/mount \
+ -Dquotacheck-path=${sbindir}/quotacheck \
+ -Dquotaon-path=${sbindir}/quotaon \
+ -Dsulogin-path=${base_sbindir}/sulogin \
+ -Dnologin-path=${base_sbindir}/nologin \
+ -Dumount-path=${base_bindir}/umount"
+
+do_install() {
+ meson_do_install
+ install -d ${D}/${base_sbindir}
+ if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then
+ # Provided by a separate recipe
+ rm ${D}${systemd_unitdir}/system/serial-getty* -f
+ fi
+
+ # Provide support for initramfs
+ [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init
+ [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd
+
+ install -d ${D}${sysconfdir}/udev/rules.d/
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
+ install -d ${D}${libdir}/pkgconfig
+ install -m 0644 ${B}/src/udev/udev.pc ${D}${libdir}/pkgconfig/
+
+ install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
+
+ 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/systemd-udevd
+ sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd
+ fi
+
+ chown root:systemd-journal ${D}/${localstatedir}/log/journal
+
+ # Delete journal README, as log can be symlinked inside volatile.
+ rm -f ${D}/${localstatedir}/log/README
+
+ # journal-remote creates this at start
+ rm -rf ${D}/${localstatedir}/log/journal/remote
+
+ install -d ${D}${systemd_unitdir}/system/graphical.target.wants
+ install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
+ install -d ${D}${systemd_unitdir}/system/poweroff.target.wants
+ install -d ${D}${systemd_unitdir}/system/reboot.target.wants
+ install -d ${D}${systemd_unitdir}/system/rescue.target.wants
+
+ # Create symlinks for systemd-update-utmp-runlevel.service
+ if ${@bb.utils.contains('PACKAGECONFIG', 'utmp', 'true', 'false', d)}; then
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/graphical.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/multi-user.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/poweroff.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/reboot.target.wants/systemd-update-utmp-runlevel.service
+ ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service
+ fi
+
+ # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it
+ # for existence else it fails
+ if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then
+ ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf', d)}
+ fi
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'true', 'false', d)}; then
+ echo 'L! ${sysconfdir}/resolv.conf - - - - ../run/systemd/resolve/resolv.conf' >>${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
+ echo 'd /run/systemd/resolve 0755 root root -' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
+ echo 'f /run/systemd/resolve/resolv.conf 0644 root root' >>${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf
+ ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
+ else
+ sed -i -e "s%^L! /etc/resolv.conf.*$%L! /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf%g" ${D}${exec_prefix}/lib/tmpfiles.d/etc.conf
+ ln -s ../run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv-conf.systemd
+ fi
+ install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
+
+ # If polkit is setup fixup permissions and ownership
+ if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then
+ if [ -d ${D}${datadir}/polkit-1/rules.d ]; then
+ chmod 700 ${D}${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}${datadir}/polkit-1/rules.d
+ fi
+ fi
+
+ # create link for existing udev rules
+ ln -s ${base_bindir}/udevadm ${D}${base_sbindir}/udevadm
+
+ # duplicate udevadm for postinst script
+ install -d ${D}${libexecdir}
+ ln ${D}${base_bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
+
+ # install default policy for presets
+ # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
+ install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
+}
+
+do_install_append () {
+ # Mips qemu is extremely slow, allow more time for the hwdb update
+ # This is a workaround until https://github.com/systemd/systemd/issues/13581 is resolved
+ [ ! -e ${D}${systemd_unitdir}/system/systemd-hwdb-update.service ] ||
+ sed -i -e s#TimeoutSec=90s#TimeoutSec=180s# ${D}${systemd_unitdir}/system/systemd-hwdb-update.service
+}
+
+python populate_packages_prepend (){
+ systemdlibdir = d.getVar("rootlibdir")
+ do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True)
+}
+PACKAGES_DYNAMIC += "^lib(udev|systemd|nss).*"
+
+PACKAGES =+ "\
+ ${PN}-gui \
+ ${PN}-vconsole-setup \
+ ${PN}-initramfs \
+ ${PN}-analyze \
+ ${PN}-kernel-install \
+ ${PN}-rpm-macros \
+ ${PN}-binfmt \
+ ${PN}-zsh-completion \
+ ${PN}-xorg-xinitrc \
+ ${PN}-container \
+ ${PN}-journal-gatewayd \
+ ${PN}-journal-upload \
+ ${PN}-journal-remote \
+ ${PN}-extra-utils \
+"
+
+SUMMARY_${PN}-container = "Tools for containers and VMs"
+DESCRIPTION_${PN}-container = "Systemd tools to spawn and manage containers and virtual machines."
+
+SUMMARY_${PN}-journal-gatewayd = "HTTP server for journal events"
+DESCRIPTION_${PN}-journal-gatewayd = "systemd-journal-gatewayd serves journal events over the network. Clients must connect using HTTP. The server listens on port 19531 by default."
+
+SUMMARY_${PN}-journal-upload = "Send journal messages over the network"
+DESCRIPTION_${PN}-journal-upload = "systemd-journal-upload uploads journal entries to a specified URL."
+
+SUMMARY_${PN}-journal-remote = "Receive journal messages over the network"
+DESCRIPTION_${PN}-journal-remote = "systemd-journal-remote is a command to receive serialized journal events and store them to journal files."
+
+SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt', '${PN}-binfmt', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gatewayd', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
+"
+SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"
+
+USERADD_PACKAGES = "${PN} ${PN}-extra-utils \
+ ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-gateway', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'microhttpd', '${PN}-journal-remote', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'journal-upload', '${PN}-journal-upload', '', d)} \
+"
+GROUPADD_PARAM_${PN} = "-r systemd-journal"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /bin/nologin systemd-coredump;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--system -d / -M --shell /bin/nologin systemd-network;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /bin/nologin systemd-resolve;', '', d)}"
+USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', '--system -d / -M --shell /bin/nologin systemd-timesync;', '', d)}"
+USERADD_PARAM_${PN}-extra-utils = "--system -d / -M --shell /bin/nologin systemd-bus-proxy"
+USERADD_PARAM_${PN}-journal-gateway = "--system -d / -M --shell /bin/nologin systemd-journal-gateway"
+USERADD_PARAM_${PN}-journal-remote = "--system -d / -M --shell /bin/nologin systemd-journal-remote"
+USERADD_PARAM_${PN}-journal-upload = "--system -d / -M --shell /bin/nologin systemd-journal-upload"
+
+FILES_${PN}-analyze = "${bindir}/systemd-analyze"
+
+FILES_${PN}-initramfs = "/init"
+RDEPENDS_${PN}-initramfs = "${PN}"
+
+FILES_${PN}-gui = "${bindir}/systemadm"
+
+FILES_${PN}-vconsole-setup = "${rootlibexecdir}/systemd/systemd-vconsole-setup \
+ ${systemd_unitdir}/system/systemd-vconsole-setup.service \
+ ${systemd_unitdir}/system/sysinit.target.wants/systemd-vconsole-setup.service"
+
+RDEPENDS_${PN}-kernel-install += "bash"
+FILES_${PN}-kernel-install = "${bindir}/kernel-install \
+ ${sysconfdir}/kernel/ \
+ ${exec_prefix}/lib/kernel \
+ "
+FILES_${PN}-rpm-macros = "${exec_prefix}/lib/rpm \
+ "
+
+FILES_${PN}-xorg-xinitrc = "${sysconfdir}/X11/xinit/xinitrc.d/*"
+
+FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
+
+FILES_${PN}-binfmt = "${sysconfdir}/binfmt.d/ \
+ ${exec_prefix}/lib/binfmt.d \
+ ${rootlibexecdir}/systemd/systemd-binfmt \
+ ${systemd_unitdir}/system/proc-sys-fs-binfmt_misc.* \
+ ${systemd_unitdir}/system/systemd-binfmt.service"
+RRECOMMENDS_${PN}-binfmt = "kernel-module-binfmt-misc"
+
+RRECOMMENDS_${PN}-vconsole-setup = "kbd kbd-consolefonts kbd-keymaps"
+
+
+FILES_${PN}-journal-gatewayd = "${rootlibexecdir}/systemd/systemd-journal-gatewayd \
+ ${systemd_system_unitdir}/systemd-journal-gatewayd.service \
+ ${systemd_system_unitdir}/systemd-journal-gatewayd.socket \
+ ${systemd_system_unitdir}/sockets.target.wants/systemd-journal-gatewayd.socket \
+ ${datadir}/systemd/gatewayd/browse.html \
+ "
+SYSTEMD_SERVICE_${PN}-journal-gatewayd = "systemd-journal-gatewayd.socket"
+
+FILES_${PN}-journal-upload = "${rootlibexecdir}/systemd/systemd-journal-upload \
+ ${systemd_system_unitdir}/systemd-journal-upload.service \
+ ${sysconfdir}/systemd/journal-upload.conf \
+ "
+SYSTEMD_SERVICE_${PN}-journal-upload = "systemd-journal-upload.service"
+
+FILES_${PN}-journal-remote = "${rootlibexecdir}/systemd/systemd-journal-remote \
+ ${sysconfdir}/systemd/journal-remote.conf \
+ ${systemd_system_unitdir}/systemd-journal-remote.service \
+ ${systemd_system_unitdir}/systemd-journal-remote.socket \
+ "
+SYSTEMD_SERVICE_${PN}-remote = "systemd-journal-remote.socket"
+
+
+FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.conf \
+ ${sysconfdir}/dbus-1/system.d/org.freedesktop.machine1.conf \
+ ${sysconfdir}/systemd/system/multi-user.target.wants/machines.target \
+ ${base_bindir}/machinectl \
+ ${bindir}/systemd-nspawn \
+ ${nonarch_libdir}/systemd/import-pubring.gpg \
+ ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.import1.busname \
+ ${systemd_system_unitdir}/busnames.target.wants/org.freedesktop.machine1.busname \
+ ${systemd_system_unitdir}/local-fs.target.wants/var-lib-machines.mount \
+ ${systemd_system_unitdir}/machines.target.wants/var-lib-machines.mount \
+ ${systemd_system_unitdir}/remote-fs.target.wants/var-lib-machines.mount \
+ ${systemd_system_unitdir}/machine.slice \
+ ${systemd_system_unitdir}/machines.target \
+ ${systemd_system_unitdir}/org.freedesktop.import1.busname \
+ ${systemd_system_unitdir}/org.freedesktop.machine1.busname \
+ ${systemd_system_unitdir}/systemd-importd.service \
+ ${systemd_system_unitdir}/systemd-machined.service \
+ ${systemd_system_unitdir}/dbus-org.freedesktop.machine1.service \
+ ${systemd_system_unitdir}/var-lib-machines.mount \
+ ${rootlibexecdir}/systemd/systemd-import \
+ ${rootlibexecdir}/systemd/systemd-importd \
+ ${rootlibexecdir}/systemd/systemd-machined \
+ ${rootlibexecdir}/systemd/systemd-pull \
+ ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
+ ${systemd_system_unitdir}/systemd-nspawn@.service \
+ ${libdir}/libnss_mymachines.so.2 \
+ ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
+ ${datadir}/dbus-1/system-services/org.freedesktop.machine1.service \
+ ${datadir}/dbus-1/system.d/org.freedesktop.import1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.machine1.conf \
+ ${datadir}/polkit-1/actions/org.freedesktop.import1.policy \
+ ${datadir}/polkit-1/actions/org.freedesktop.machine1.policy \
+ "
+
+RRECOMMENDS_${PN}-container += "\
+ ${PN}-journal-upload \
+ ${PN}-journal-remote \
+ ${PN}-journal-gatewayd \
+ "
+
+FILES_${PN}-extra-utils = "\
+ ${base_bindir}/systemd-escape \
+ ${base_bindir}/systemd-inhibit \
+ ${bindir}/systemd-detect-virt \
+ ${bindir}/systemd-path \
+ ${bindir}/systemd-run \
+ ${bindir}/systemd-cat \
+ ${bindir}/systemd-delta \
+ ${bindir}/systemd-cgls \
+ ${bindir}/systemd-cgtop \
+ ${bindir}/systemd-stdio-bridge \
+ ${base_bindir}/systemd-ask-password \
+ ${base_bindir}/systemd-tty-ask-password-agent \
+ ${systemd_unitdir}/system/systemd-ask-password-console.path \
+ ${systemd_unitdir}/system/systemd-ask-password-console.service \
+ ${systemd_unitdir}/system/systemd-ask-password-wall.path \
+ ${systemd_unitdir}/system/systemd-ask-password-wall.service \
+ ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-console.path \
+ ${systemd_unitdir}/system/sysinit.target.wants/systemd-ask-password-wall.path \
+ ${systemd_unitdir}/system/multi-user.target.wants/systemd-ask-password-wall.path \
+ ${rootlibexecdir}/systemd/systemd-resolve-host \
+ ${rootlibexecdir}/systemd/systemd-ac-power \
+ ${rootlibexecdir}/systemd/systemd-activate \
+ ${rootlibexecdir}/systemd/systemd-bus-proxyd \
+ ${systemd_unitdir}/system/systemd-bus-proxyd.service \
+ ${systemd_unitdir}/system/systemd-bus-proxyd.socket \
+ ${rootlibexecdir}/systemd/systemd-socket-proxyd \
+ ${rootlibexecdir}/systemd/systemd-reply-password \
+ ${rootlibexecdir}/systemd/systemd-sleep \
+ ${rootlibexecdir}/systemd/system-sleep \
+ ${systemd_unitdir}/system/systemd-hibernate.service \
+ ${systemd_unitdir}/system/systemd-hybrid-sleep.service \
+ ${systemd_unitdir}/system/systemd-suspend.service \
+ ${systemd_unitdir}/system/sleep.target \
+ ${rootlibexecdir}/systemd/systemd-initctl \
+ ${systemd_unitdir}/system/systemd-initctl.service \
+ ${systemd_unitdir}/system/systemd-initctl.socket \
+ ${systemd_unitdir}/system/sockets.target.wants/systemd-initctl.socket \
+ ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \
+ ${rootlibexecdir}/systemd/systemd-cgroups-agent \
+"
+
+CONFFILES_${PN} = "${sysconfdir}/systemd/coredump.conf \
+ ${sysconfdir}/systemd/journald.conf \
+ ${sysconfdir}/systemd/logind.conf \
+ ${sysconfdir}/systemd/system.conf \
+ ${sysconfdir}/systemd/user.conf \
+ ${sysconfdir}/systemd/resolved.conf \
+ ${sysconfdir}/systemd/timesyncd.conf \
+"
+
+FILES_${PN} = " ${base_bindir}/* \
+ ${base_sbindir}/shutdown \
+ ${base_sbindir}/halt \
+ ${base_sbindir}/poweroff \
+ ${base_sbindir}/runlevel \
+ ${base_sbindir}/telinit \
+ ${base_sbindir}/resolvconf \
+ ${base_sbindir}/reboot \
+ ${base_sbindir}/init \
+ ${datadir}/dbus-1/services \
+ ${datadir}/dbus-1/system-services \
+ ${datadir}/polkit-1 \
+ ${datadir}/${BPN} \
+ ${datadir}/factory \
+ ${sysconfdir}/dbus-1/ \
+ ${sysconfdir}/modules-load.d/ \
+ ${sysconfdir}/pam.d/ \
+ ${sysconfdir}/sysctl.d/ \
+ ${sysconfdir}/systemd/ \
+ ${sysconfdir}/tmpfiles.d/ \
+ ${sysconfdir}/xdg/ \
+ ${sysconfdir}/init.d/README \
+ ${sysconfdir}/resolv-conf.systemd \
+ ${rootlibexecdir}/systemd/* \
+ ${systemd_unitdir}/* \
+ ${base_libdir}/security/*.so \
+ /cgroup \
+ ${bindir}/systemd* \
+ ${bindir}/busctl \
+ ${bindir}/coredumpctl \
+ ${bindir}/localectl \
+ ${bindir}/hostnamectl \
+ ${bindir}/resolvectl \
+ ${bindir}/timedatectl \
+ ${bindir}/bootctl \
+ ${bindir}/kernel-install \
+ ${exec_prefix}/lib/tmpfiles.d/*.conf \
+ ${exec_prefix}/lib/systemd \
+ ${exec_prefix}/lib/modules-load.d \
+ ${exec_prefix}/lib/sysctl.d \
+ ${exec_prefix}/lib/sysusers.d \
+ ${exec_prefix}/lib/environment.d \
+ ${localstatedir} \
+ ${nonarch_base_libdir}/udev/rules.d/70-uaccess.rules \
+ ${nonarch_base_libdir}/udev/rules.d/71-seat.rules \
+ ${nonarch_base_libdir}/udev/rules.d/73-seat-late.rules \
+ ${nonarch_base_libdir}/udev/rules.d/99-systemd.rules \
+ ${nonarch_base_libdir}/modprobe.d/systemd.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.resolve1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.systemd1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.hostname1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.login1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.timesync1.conf \
+ ${datadir}/dbus-1/system.d/org.freedesktop.portable1.conf \
+ "
+
+FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
+
+RDEPENDS_${PN} += "kmod dbus util-linux-mount util-linux-umount udev (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck"
+RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}"
+RDEPENDS_${PN} += "volatile-binds update-rc.d"
+
+RRECOMMENDS_${PN} += "systemd-extra-utils \
+ systemd-compat-units udev-hwdb \
+ e2fsprogs-e2fsck \
+ kernel-module-autofs4 kernel-module-unix kernel-module-ipv6 \
+ os-release \
+ systemd-conf \
+"
+
+INSANE_SKIP_${PN} += "dev-so libdir"
+INSANE_SKIP_${PN}-dbg += "libdir"
+INSANE_SKIP_${PN}-doc += " libdir"
+
+PACKAGES =+ "udev udev-hwdb"
+
+RPROVIDES_udev = "hotplug"
+
+RDEPENDS_udev-hwdb += "udev"
+
+FILES_udev += "${base_sbindir}/udevd \
+ ${rootlibexecdir}/systemd/network/99-default.link \
+ ${rootlibexecdir}/systemd/systemd-udevd \
+ ${rootlibexecdir}/udev/accelerometer \
+ ${rootlibexecdir}/udev/ata_id \
+ ${rootlibexecdir}/udev/cdrom_id \
+ ${rootlibexecdir}/udev/collect \
+ ${rootlibexecdir}/udev/findkeyboards \
+ ${rootlibexecdir}/udev/keyboard-force-release.sh \
+ ${rootlibexecdir}/udev/keymap \
+ ${rootlibexecdir}/udev/mtd_probe \
+ ${rootlibexecdir}/udev/scsi_id \
+ ${rootlibexecdir}/udev/v4l_id \
+ ${rootlibexecdir}/udev/keymaps \
+ ${rootlibexecdir}/udev/rules.d/*.rules \
+ ${sysconfdir}/udev \
+ ${sysconfdir}/init.d/systemd-udevd \
+ ${systemd_unitdir}/system/*udev* \
+ ${systemd_unitdir}/system/*.wants/*udev* \
+ ${base_bindir}/udevadm \
+ ${base_sbindir}/udevadm \
+ ${libexecdir}/${MLPREFIX}udevadm \
+ ${datadir}/bash-completion/completions/udevadm \
+ "
+
+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 ."
+
+python __anonymous() {
+ if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
+ d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
+}
+
+python do_warn_musl() {
+ if d.getVar('TCLIBC') == "musl":
+ bb.warn("Using systemd with musl is not recommended since it is not supported upstream and some patches are known to be problematic.")
+}
+addtask warn_musl before do_configure
+
+ALTERNATIVE_${PN} = "halt reboot shutdown poweroff runlevel ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolv-conf', '', d)}"
+
+ALTERNATIVE_TARGET[resolv-conf] = "${sysconfdir}/resolv-conf.systemd"
+ALTERNATIVE_LINK_NAME[resolv-conf] = "${sysconfdir}/resolv.conf"
+ALTERNATIVE_PRIORITY[resolv-conf] ?= "50"
+
+ALTERNATIVE_TARGET[halt] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[halt] = "${base_sbindir}/halt"
+ALTERNATIVE_PRIORITY[halt] ?= "300"
+
+ALTERNATIVE_TARGET[reboot] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[reboot] = "${base_sbindir}/reboot"
+ALTERNATIVE_PRIORITY[reboot] ?= "300"
+
+ALTERNATIVE_TARGET[shutdown] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[shutdown] = "${base_sbindir}/shutdown"
+ALTERNATIVE_PRIORITY[shutdown] ?= "300"
+
+ALTERNATIVE_TARGET[poweroff] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[poweroff] = "${base_sbindir}/poweroff"
+ALTERNATIVE_PRIORITY[poweroff] ?= "300"
+
+ALTERNATIVE_TARGET[runlevel] = "${base_bindir}/systemctl"
+ALTERNATIVE_LINK_NAME[runlevel] = "${base_sbindir}/runlevel"
+ALTERNATIVE_PRIORITY[runlevel] ?= "300"
+
+pkg_postinst_${PN}_libc-glibc () {
+ sed -e '/^hosts:/s/\s*\<myhostname\>//' \
+ -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 myhostname \3\4\5/' \
+ -i $D${sysconfdir}/nsswitch.conf
+}
+
+pkg_prerm_${PN}_libc-glibc () {
+ sed -e '/^hosts:/s/\s*\<myhostname\>//' \
+ -e '/^hosts:/s/\s*myhostname//' \
+ -i $D${sysconfdir}/nsswitch.conf
+}
+
+PACKAGE_WRITE_DEPS += "qemu-native"
+pkg_postinst_udev-hwdb () {
+ if test -n "$D"; then
+ $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
+ else
+ udevadm hwdb --update
+ fi
+}
+
+pkg_prerm_udev-hwdb () {
+ rm -f $D${sysconfdir}/udev/hwdb.bin
+}
diff --git a/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch b/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
index 2575b59b5..e13ac9d06 100644
--- a/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
+++ b/poky/meta/recipes-core/sysvinit/sysvinit/0001-include-sys-sysmacros.h-for-major-minor-defines-in-g.patch
@@ -1,71 +1,50 @@
-From 29c7a529d3bb0c1e20239f885e74c5036f1a908c Mon Sep 17 00:00:00 2001
+From 3c29a86f351ea4827dc445bb8e6cb774543c9be6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 6 Aug 2018 15:38:58 -0700
-Subject: [PATCH] include sys/sysmacros.h for major/minor defines in glibc
+Subject: [PATCH] include sys/sysmacros.h for major/minor definitions
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
+
---
- src/bootlogd.c | 3 +++
- src/bootlogd.o | Bin 58448 -> 60376 bytes
- src/dowall.c | 3 +++
- src/shutdown.c | 4 +++-
- 4 files changed, 9 insertions(+), 1 deletion(-)
+ src/bootlogd.c | 1 +
+ src/mountpoint.c | 1 +
+ src/shutdown.c | 1 +
+ 3 files changed, 3 insertions(+)
-Index: sysvinit-2.88dsf/src/bootlogd.c
-===================================================================
---- sysvinit-2.88dsf.orig/src/bootlogd.c
-+++ sysvinit-2.88dsf/src/bootlogd.c
-@@ -53,6 +53,9 @@
- #ifdef __linux__
- #include <sys/mount.h>
- #endif
-+#ifdef __GLIBC__
-+#include <sys/sysmacros.h>
-+#endif
-
- char *Version = "@(#) bootlogd 2.86 03-Jun-2004 miquels@cistron.nl";
-
-Index: sysvinit-2.88dsf/src/dowall.c
-===================================================================
---- sysvinit-2.88dsf.orig/src/dowall.c
-+++ sysvinit-2.88dsf/src/dowall.c
-@@ -37,6 +37,9 @@
- #include <signal.h>
- #include <setjmp.h>
- #include <paths.h>
-+#ifdef __GLIBC__
+diff --git a/src/bootlogd.c b/src/bootlogd.c
+index 570d382..68d62f3 100644
+--- a/src/bootlogd.c
++++ b/src/bootlogd.c
+@@ -35,6 +35,7 @@
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/stat.h>
+#include <sys/sysmacros.h>
-+#endif
+ #include <sys/ioctl.h>
+ #include <sys/utsname.h>
+ #include <time.h>
+diff --git a/src/mountpoint.c b/src/mountpoint.c
+index 9e3dd9c..91f74ed 100644
+--- a/src/mountpoint.c
++++ b/src/mountpoint.c
+@@ -25,6 +25,7 @@
- #ifndef _PATH_DEV
- # define _PATH_DEV "/dev/"
-Index: sysvinit-2.88dsf/src/shutdown.c
-===================================================================
---- sysvinit-2.88dsf.orig/src/shutdown.c
-+++ sysvinit-2.88dsf/src/shutdown.c
-@@ -57,7 +57,9 @@
- #include "reboot.h"
- #include "initreq.h"
- #include "init.h"
--
-+#ifdef __GLIBC__
+ #include <sys/types.h>
+ #include <sys/stat.h>
+#include <sys/sysmacros.h>
-+#endif
-
- char *Version = "@(#) shutdown 2.86-1 31-Jul-2004 miquels@cistron.nl";
-
-Index: sysvinit-2.88dsf/src/mountpoint.c
-===================================================================
---- sysvinit-2.88dsf.orig/src/mountpoint.c
-+++ sysvinit-2.88dsf/src/mountpoint.c
-@@ -32,6 +32,9 @@
- #include <stdarg.h>
- #include <getopt.h>
- #include <stdio.h>
-+#ifdef __GLIBC__
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/src/shutdown.c b/src/shutdown.c
+index 7e997da..17de58d 100644
+--- a/src/shutdown.c
++++ b/src/shutdown.c
+@@ -40,6 +40,7 @@
+ #endif
+ #include <sys/types.h>
+ #include <sys/stat.h>
+#include <sys/sysmacros.h>
-+#endif
-
- int dostat(char *path, struct stat *st, int do_lstat, int quiet)
- {
+ #include <sys/wait.h>
+ #include <time.h>
+ #include <string.h>
diff --git a/poky/meta/recipes-core/udev/eudev_3.2.7.bb b/poky/meta/recipes-core/udev/eudev_3.2.7.bb
deleted file mode 100644
index 1bea4ebd9..000000000
--- a/poky/meta/recipes-core/udev/eudev_3.2.7.bb
+++ /dev/null
@@ -1,96 +0,0 @@
-SUMMARY = "eudev is a fork of systemd's udev"
-HOMEPAGE = "https://wiki.gentoo.org/wiki/Eudev"
-LICENSE = "GPLv2.0+ & LGPL-2.1+"
-LICENSE_libudev = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "glib-2.0 glib-2.0-native gperf-native kmod libxslt-native util-linux"
-
-PROVIDES = "udev"
-
-SRC_URI = "http://dev.gentoo.org/~blueness/${BPN}/${BP}.tar.gz \
- file://0014-Revert-rules-remove-firmware-loading-rules.patch \
- file://Revert-udev-remove-userspace-firmware-loading-suppor.patch \
- file://devfs-udev.rules \
- file://init \
- file://links.conf \
- file://local.rules \
- file://permissions.rules \
- file://run.rules \
- file://udev.rules \
-"
-
-SRC_URI[md5sum] = "c75d99910c1791dd9430d26ab76059c0"
-SRC_URI[sha256sum] = "3004614bd253c1f98558460215027aaf60d7592c70be27fd384ec01db87bf062"
-
-inherit autotools update-rc.d qemu pkgconfig distro_features_check
-
-CONFLICT_DISTRO_FEATURES = "systemd"
-
-EXTRA_OECONF = " \
- --sbindir=${base_sbindir} \
- --with-rootlibdir=${base_libdir} \
- --with-rootlibexecdir=${nonarch_base_libdir}/udev \
- --with-rootprefix= \
-"
-
-PACKAGECONFIG ??= "hwdb"
-PACKAGECONFIG[hwdb] = "--enable-hwdb,--disable-hwdb"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
- sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev
-
- install -d ${D}${sysconfdir}/udev/rules.d
- install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
-
- # Use classic network interface naming scheme
- touch ${D}${sysconfdir}/udev/rules.d/80-net-name-slot.rules
-
- # hid2hci has moved to bluez4. removed in udev as of version 169
- rm -f ${D}${base_libdir}/udev/hid2hci
-
- # duplicate udevadm for postinst script
- install -d ${D}${libexecdir}
- ln ${D}${bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
-}
-
-do_install_prepend_class-target () {
- # Remove references to buildmachine
- sed -i -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- ${B}/src/udev/keyboard-keys-from-name.h
-}
-
-INITSCRIPT_NAME = "udev"
-INITSCRIPT_PARAMS = "start 04 S ."
-
-PACKAGES =+ "libudev"
-PACKAGES =+ "eudev-hwdb"
-
-
-FILES_${PN} += "${libexecdir} ${nonarch_base_libdir}/udev ${bindir}/udevadm"
-FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc \
- ${includedir}/libudev.h ${libdir}/libudev.so \
- ${includedir}/udev.h ${libdir}/libudev.la \
- ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc"
-FILES_libudev = "${base_libdir}/libudev.so.*"
-FILES_eudev-hwdb = "${sysconfdir}/udev/hwdb.d"
-
-RDEPENDS_eudev-hwdb += "eudev"
-
-RPROVIDES_${PN} = "hotplug udev"
-RPROVIDES_eudev-hwdb += "udev-hwdb"
-
-PACKAGE_WRITE_DEPS += "qemu-native"
-pkg_postinst_eudev-hwdb () {
- if test -n "$D"; then
- $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
- else
- udevadm hwdb --update
- fi
-}
-
-pkg_prerm_eudev-hwdb () {
- rm -f $D${sysconfdir}/udev/hwdb.bin
-}
diff --git a/poky/meta/recipes-core/udev/eudev_3.2.8.bb b/poky/meta/recipes-core/udev/eudev_3.2.8.bb
new file mode 100644
index 000000000..eecf64e55
--- /dev/null
+++ b/poky/meta/recipes-core/udev/eudev_3.2.8.bb
@@ -0,0 +1,96 @@
+SUMMARY = "eudev is a fork of systemd's udev"
+HOMEPAGE = "https://wiki.gentoo.org/wiki/Eudev"
+LICENSE = "GPLv2.0+ & LGPL-2.1+"
+LICENSE_libudev = "LGPL-2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "glib-2.0 glib-2.0-native gperf-native kmod libxslt-native util-linux"
+
+PROVIDES = "udev"
+
+SRC_URI = "http://dev.gentoo.org/~blueness/${BPN}/${BP}.tar.gz \
+ file://0014-Revert-rules-remove-firmware-loading-rules.patch \
+ file://Revert-udev-remove-userspace-firmware-loading-suppor.patch \
+ file://devfs-udev.rules \
+ file://init \
+ file://links.conf \
+ file://local.rules \
+ file://permissions.rules \
+ file://run.rules \
+ file://udev.rules \
+"
+
+SRC_URI[md5sum] = "ce166b3fdd910c2a4a840378f48fedaf"
+SRC_URI[sha256sum] = "61e4948e9e51271c3cce2bb5311a30b206dd03ef011062e6c627fb007e43f6b8"
+
+inherit autotools update-rc.d qemu pkgconfig distro_features_check
+
+CONFLICT_DISTRO_FEATURES = "systemd"
+
+EXTRA_OECONF = " \
+ --sbindir=${base_sbindir} \
+ --with-rootlibdir=${base_libdir} \
+ --with-rootlibexecdir=${nonarch_base_libdir}/udev \
+ --with-rootprefix= \
+"
+
+PACKAGECONFIG ??= "hwdb"
+PACKAGECONFIG[hwdb] = "--enable-hwdb,--disable-hwdb"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+ sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev
+
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
+
+ # Use classic network interface naming scheme
+ touch ${D}${sysconfdir}/udev/rules.d/80-net-name-slot.rules
+
+ # hid2hci has moved to bluez4. removed in udev as of version 169
+ rm -f ${D}${base_libdir}/udev/hid2hci
+
+ # duplicate udevadm for postinst script
+ install -d ${D}${libexecdir}
+ ln ${D}${bindir}/udevadm ${D}${libexecdir}/${MLPREFIX}udevadm
+}
+
+do_install_prepend_class-target () {
+ # Remove references to buildmachine
+ sed -i -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+ ${B}/src/udev/keyboard-keys-from-name.h
+}
+
+INITSCRIPT_NAME = "udev"
+INITSCRIPT_PARAMS = "start 04 S ."
+
+PACKAGES =+ "libudev"
+PACKAGES =+ "eudev-hwdb"
+
+
+FILES_${PN} += "${libexecdir} ${nonarch_base_libdir}/udev ${bindir}/udevadm"
+FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc \
+ ${includedir}/libudev.h ${libdir}/libudev.so \
+ ${includedir}/udev.h ${libdir}/libudev.la \
+ ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc"
+FILES_libudev = "${base_libdir}/libudev.so.*"
+FILES_eudev-hwdb = "${sysconfdir}/udev/hwdb.d"
+
+RDEPENDS_eudev-hwdb += "eudev"
+
+RPROVIDES_${PN} = "hotplug udev"
+RPROVIDES_eudev-hwdb += "udev-hwdb"
+
+PACKAGE_WRITE_DEPS += "qemu-native"
+pkg_postinst_eudev-hwdb () {
+ if test -n "$D"; then
+ $INTERCEPT_DIR/postinst_intercept update_udev_hwdb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX}
+ else
+ udevadm hwdb --update
+ fi
+}
+
+pkg_prerm_eudev-hwdb () {
+ rm -f $D${sysconfdir}/udev/hwdb.bin
+}
diff --git a/poky/meta/recipes-core/udev/udev-extraconf/mount.sh b/poky/meta/recipes-core/udev/udev-extraconf/mount.sh
index 3ee67b131..b23731870 100644
--- a/poky/meta/recipes-core/udev/udev-extraconf/mount.sh
+++ b/poky/meta/recipes-core/udev/udev-extraconf/mount.sh
@@ -38,6 +38,12 @@ done
automount_systemd() {
name="`basename "$DEVNAME"`"
+ # Skip already mounted partitions
+ if [ -f /run/systemd/transient/run-media-$name.mount ]; then
+ logger "mount.sh/automount" "/run/media/$name already mounted"
+ return
+ fi
+
# Skip the partition which are already in /etc/fstab
grep "^[[:space:]]*$DEVNAME" /etc/fstab && return
for n in LABEL PARTLABEL UUID PARTUUID; do
@@ -57,6 +63,8 @@ automount_systemd() {
vfat|fat)
MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
;;
+ swap)
+ return ;;
# TODO
*)
;;
@@ -98,6 +106,8 @@ automount() {
vfat|fat)
MOUNT="$MOUNT -o umask=007,gid=`awk -F':' '/^disk/{print $3}' /etc/group`"
;;
+ swap)
+ return ;;
# TODO
*)
;;
diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc
index 84c701275..1fa82363b 100644
--- a/poky/meta/recipes-core/util-linux/util-linux.inc
+++ b/poky/meta/recipes-core/util-linux/util-linux.inc
@@ -190,20 +190,19 @@ do_install () {
echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall
rm -f ${D}${bindir}/chkdupexe
+}
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+do_install_append_class-target () {
+ if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then
install -d ${D}${sysconfdir}/pam.d
install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser
install -m 0644 ${WORKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l
- fi
- if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then
# Required for "su -" aka "su --login" because
# otherwise it uses "other", which has "auth pam_deny.so"
# and thus prevents the operation.
ln -s su ${D}${sysconfdir}/pam.d/su-l
fi
}
-
# nologin causes a conflict with shadow-native
# kill causes a conflict with coreutils-native (if ${bindir}==${base_bindir})
do_install_append_class-native () {
diff --git a/poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch b/poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch
deleted file mode 100644
index c92c276ac..000000000
--- a/poky/meta/recipes-core/util-linux/util-linux/check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Checking for exitence of the define is not enough since
-it will be defined with 0 or 1 value
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/sys-utils/ldattach.c
-+++ b/sys-utils/ldattach.c
-@@ -242,7 +242,7 @@ static int my_cfsetspeed(struct termios
- * -- we have to bypass glibc and set the speed manually (because glibc
- * checks for speed and supports Bxxx bit rates only)...
- */
--#ifdef _HAVE_STRUCT_TERMIOS_C_ISPEED
-+#if _HAVE_STRUCT_TERMIOS_C_ISPEED
- # define BOTHER 0010000 /* non standard rate */
- dbg("using non-standard speeds");
- ts->c_ospeed = ts->c_ispeed = speed;
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb b/poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb
deleted file mode 100644
index 538e27612..000000000
--- a/poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require util-linux.inc
-
-SRC_URI += "file://configure-sbindir.patch \
- file://runuser.pamd \
- file://runuser-l.pamd \
- file://ptest.patch \
- file://run-ptest \
- file://display_testname_for_subtest.patch \
- file://avoid_parallel_tests.patch \
- file://check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch \
-"
-SRC_URI[md5sum] = "91653b90fcbe9c161153e39b8cc69fb5"
-SRC_URI[sha256sum] = "631be8eac6cf6230ba478de211941d526808dba3cd436380793334496013ce97"
diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.34.bb b/poky/meta/recipes-core/util-linux/util-linux_2.34.bb
new file mode 100644
index 000000000..262f4bacb
--- /dev/null
+++ b/poky/meta/recipes-core/util-linux/util-linux_2.34.bb
@@ -0,0 +1,12 @@
+require util-linux.inc
+
+SRC_URI += "file://configure-sbindir.patch \
+ file://runuser.pamd \
+ file://runuser-l.pamd \
+ file://ptest.patch \
+ file://run-ptest \
+ file://display_testname_for_subtest.patch \
+ file://avoid_parallel_tests.patch \
+"
+SRC_URI[md5sum] = "a78cbeaed9c39094b96a48ba8f891d50"
+SRC_URI[sha256sum] = "743f9d0c7252b6db246b659c1e1ce0bd45d8d4508b4dfa427bbb4a3e9b9f62b5"
diff --git a/poky/meta/recipes-devtools/apt/apt-native_1.2.24.bb b/poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb
index 5b16b503d..5b16b503d 100644
--- a/poky/meta/recipes-devtools/apt/apt-native_1.2.24.bb
+++ b/poky/meta/recipes-devtools/apt/apt-native_1.2.31.bb
diff --git a/poky/meta/recipes-devtools/apt/apt-package.inc b/poky/meta/recipes-devtools/apt/apt-package.inc
index da91451d7..922f739d0 100644
--- a/poky/meta/recipes-devtools/apt/apt-package.inc
+++ b/poky/meta/recipes-devtools/apt/apt-package.inc
@@ -35,6 +35,7 @@ FILES_${PN} = "${bindir}/apt-cdrom ${bindir}/apt-get \
${libdir}/dpkg \
${systemd_unitdir}/system \
"
+RDEPENDS_${PN} += "perl"
FILES_${PN}-utils = "${bindir}/apt-sortpkgs ${bindir}/apt-extracttemplates"
FILES_${PN}-doc = "${@get_files_apt_doc(d, bb, d.getVar('apt-manpages'))} \
${docdir}/apt"
diff --git a/poky/meta/recipes-devtools/apt/apt.inc b/poky/meta/recipes-devtools/apt/apt.inc
index 842c30240..b855099e5 100644
--- a/poky/meta/recipes-devtools/apt/apt.inc
+++ b/poky/meta/recipes-devtools/apt/apt.inc
@@ -15,8 +15,8 @@ SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/${BPN}/${P
file://0001-apt-1.2.12-Fix-musl-build.patch \
file://0001-Include-array.h-for-std-array.patch \
"
-SRC_URI[md5sum] = "ce8f9ab11f4fd0a08ec73eaffd75c8f0"
-SRC_URI[sha256sum] = "fa1311a9ce00e72379a0a3bc6d240ba30c0968cfbbb3472859e50b99e24e9598"
+SRC_URI[md5sum] = "d30eed9304e82ea8238c854b5c5a34d9"
+SRC_URI[sha256sum] = "03ded4f5e9b8d43ecec083704b2dcabf20c182ed382db9ac7251da0b0b038059"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
# the package is taken from snapshots.debian.org; that source is static and goes stale
diff --git a/poky/meta/recipes-devtools/apt/apt_1.2.24.bb b/poky/meta/recipes-devtools/apt/apt_1.2.31.bb
index ae0bce933..ae0bce933 100644
--- a/poky/meta/recipes-devtools/apt/apt_1.2.24.bb
+++ b/poky/meta/recipes-devtools/apt/apt_1.2.31.bb
diff --git a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2018.03.13.bb b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2018.03.13.bb
deleted file mode 100644
index 7d62e52ab..000000000
--- a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2018.03.13.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "a collection of freely re-usable Autoconf macros"
-HOMEPAGE = "http://www.gnu.org/software/autoconf-archive/"
-SECTION = "devel"
-LICENSE = "GPL-3.0-with-autoconf-exception"
-LIC_FILES_CHKSUM = "file://COPYING;md5=11cc2d3ee574f9d6b7ee797bdce4d423 \
- file://COPYING.EXCEPTION;md5=fdef168ebff3bc2f13664c365a5fb515"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "46b13a5936372297b6d49980327a3c35"
-SRC_URI[sha256sum] = "6175f90d9fa64c4d939bdbb3e8511ae0ee2134863a2c7bf8d9733819efa6e159"
-
-inherit autotools allarch
-
-PACKAGES = "${PN} ${PN}-doc"
-
-FILES_${PN} += "${datadir}/aclocal"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb
new file mode 100644
index 000000000..985a254fc
--- /dev/null
+++ b/poky/meta/recipes-devtools/autoconf-archive/autoconf-archive_2019.01.06.bb
@@ -0,0 +1,18 @@
+SUMMARY = "a collection of freely re-usable Autoconf macros"
+HOMEPAGE = "http://www.gnu.org/software/autoconf-archive/"
+SECTION = "devel"
+LICENSE = "GPL-3.0-with-autoconf-exception"
+LIC_FILES_CHKSUM = "file://COPYING;md5=11cc2d3ee574f9d6b7ee797bdce4d423 \
+ file://COPYING.EXCEPTION;md5=fdef168ebff3bc2f13664c365a5fb515"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "d46413c8b00a125b1529bae385bbec55"
+SRC_URI[sha256sum] = "17195c833098da79de5778ee90948f4c5d90ed1a0cf8391b4ab348e2ec511e3f"
+
+inherit autotools allarch
+
+PACKAGES = "${PN} ${PN}-doc"
+
+FILES_${PN} += "${datadir}/aclocal"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc
index 49e6827c1..19baf8a88 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-2.32.inc
+++ b/poky/meta/recipes-devtools/binutils/binutils-2.32.inc
@@ -14,11 +14,8 @@ def binutils_branch_version(d):
pvsplit = d.getVar('PV').split('.')
return pvsplit[0] + "_" + pvsplit[1]
-# Actual upstream version is 2.32 (without the .0), so we have to set
-# UPSTREAM_VERSION_UNKNOWN to avoid the version check failure. The line can
-# be removed when a new version of binutils is released (if the PV is then
-# correctly set to match the upstream version tag).
-UPSTREAM_VERSION_UNKNOWN = "1"
+# When upgrading to 2.33, please make sure there is no trailing .0, so
+# that upstream version check can work correctly.
PV = "2.32.0"
CVE_VERSION = "2.32"
BINUPV = "${@binutils_branch_version(d)}"
@@ -48,6 +45,10 @@ SRC_URI = "\
file://CVE-2019-9075.patch \
file://CVE-2019-9076.patch \
file://CVE-2019-9077.patch \
+ file://CVE-2019-9071.patch \
+ file://CVE-2019-12972.patch \
+ file://CVE-2019-14250.patch \
+ file://CVE-2019-14444.patch \
"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb
new file mode 100644
index 000000000..07a8e7c41
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb
@@ -0,0 +1,85 @@
+require binutils.inc
+require binutils-${PV}.inc
+
+BPN = "binutils"
+
+DEPENDS += "dejagnu-native expect-native"
+DEPENDS += "binutils-native"
+
+deltask do_compile
+deltask do_install
+
+inherit nopackages
+
+do_configure[dirs] += "${B}/ld ${B}/bfd"
+do_configure() {
+ # create config.h, oe enables initfini-array by default
+ echo "#define HAVE_INITFINI_ARRAY" > ${B}/ld/config.h
+ # use the bfd_stdint.h from binutils-native, this is the same of the one
+ # generated by binutils-cross
+ cp ${RECIPE_SYSROOT_NATIVE}/usr/include/bfd_stdint.h ${B}/bfd/
+}
+
+# target depends
+DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}binutils"
+DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}gcc"
+DEPENDS += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs"
+DEPENDS += "virtual/${MLPREFIX}libc"
+
+python check_prepare() {
+ def suffix_sys(sys):
+ if sys.endswith("-linux"):
+ return sys + "-gnu"
+ return sys
+
+ def generate_site_exp(d, suite):
+ content = []
+ content.append('set srcdir "{0}/{1}"'.format(d.getVar("S"), suite))
+ content.append('set objdir "{0}/{1}"'.format(d.getVar("B"), suite))
+ content.append('set build_alias "{0}"'.format(d.getVar("BUILD_SYS")))
+ content.append('set build_triplet {0}'.format(d.getVar("BUILD_SYS")))
+ # use BUILD here since HOST=TARGET
+ content.append('set host_alias "{0}"'.format(d.getVar("BUILD_SYS")))
+ content.append('set host_triplet {0}'.format(d.getVar("BUILD_SYS")))
+ content.append('set target_alias "{0}"'.format(d.getVar("TARGET_SYS")))
+ content.append('set target_triplet {0}'.format(suffix_sys(d.getVar("TARGET_SYS"))))
+ content.append("set development true")
+ content.append("set experimental false")
+
+ content.append(d.expand('set CXXFILT "${TARGET_PREFIX}c++filt"'))
+ content.append(d.expand('set CC "${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
+ content.append(d.expand('set CXX "${TARGET_PREFIX}g++ --sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
+ content.append(d.expand('set CFLAGS_FOR_TARGET "--sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
+
+ if suite == "ld" and d.getVar("TUNE_ARCH") == "mips64":
+ # oe patches binutils to have the default mips64 abi as 64bit, but
+ # skips gas causing issues with the ld test suite (which uses gas)
+ content.append('set ASFLAGS "-64"')
+
+ return "\n".join(content)
+
+ for i in ["binutils", "gas", "ld"]:
+ builddir = os.path.join(d.getVar("B"), i)
+ if not os.path.isdir(builddir):
+ os.makedirs(builddir)
+ with open(os.path.join(builddir, "site.exp"), "w") as f:
+ f.write(generate_site_exp(d, i))
+}
+
+CHECK_TARGETS ??= "binutils gas ld"
+
+do_check[dirs] = "${B} ${B}/binutils ${B}/gas ${B}/ld"
+do_check[prefuncs] += "check_prepare"
+do_check[nostamp] = "1"
+do_check() {
+ export LC_ALL=C
+ for i in ${CHECK_TARGETS}; do
+ (cd ${B}/$i; runtest \
+ --tool $i \
+ --srcdir ${S}/$i/testsuite \
+ --ignore 'plugin.exp' \
+ || true)
+ done
+}
+addtask check after do_configure
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch b/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch
index ba5e4c2ce..5f4ac72f4 100644
--- a/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch
+++ b/poky/meta/recipes-devtools/binutils/binutils/0010-Change-default-emulation-for-mips64-linux.patch
@@ -1,4 +1,4 @@
-From d540e95d05cd7c4b8924ac7b257c14ae0105d0ab Mon Sep 17 00:00:00 2001
+From 958a49749b772660d3bafb80748829cba6bed065 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 2 Mar 2015 01:44:14 +0000
Subject: [PATCH 10/15] Change default emulation for mips64*-*-linux
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 0e1ddb659c..cc65547588 100644
+index 0e1ddb659c..d4f50f0a8d 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -919,12 +919,12 @@ case "${targ}" in
@@ -30,7 +30,7 @@ index 0e1ddb659c..cc65547588 100644
- targ_defvec=mips_elf32_ntrad_be_vec
- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
+ targ_defvec=mips_elf64_trad_be_vec
-+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_be_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
++ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
;;
mips*el-*-linux*)
targ_defvec=mips_elf32_trad_le_vec
@@ -54,6 +54,3 @@ index beba17ef51..917be6f8eb 100644
targ_extra_libpath=$targ_extra_emuls ;;
mips*el-*-linux-*) targ_emul=elf32ltsmip
targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-12972.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-12972.patch
new file mode 100644
index 000000000..07d1d6546
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-12972.patch
@@ -0,0 +1,51 @@
+From 30bcc01478433a1cb05b36dc5c4beef7d2c89b5b Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Fri, 21 Jun 2019 11:51:38 +0930
+Subject: [PATCH] PR24689, string table corruption
+
+The testcase in the PR had a e_shstrndx section of type SHT_GROUP.
+hdr->contents were initialized by setup_group rather than being read
+from the file, thus last byte was not zero and string dereference ran
+off the end of the buffer.
+
+ PR 24689
+ * elfcode.h (elf_object_p): Check type of e_shstrndx section.
+
+Upstream-Status: Backport
+CVE: CVE-2019-12972
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ bfd/ChangeLog | 5 +++++
+ bfd/elfcode.h | 3 ++-
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/bfd/ChangeLog b/bfd/ChangeLog
+index 91f09e6346..e66fb40a2c 100644
+--- a/bfd/ChangeLog
++++ b/bfd/ChangeLog
+@@ -1,3 +1,8 @@
++2019-06-21 Alan Modra <amodra@gmail.com>
++
++ PR 24689
++ * elfcode.h (elf_object_p): Check type of e_shstrndx section.
++
+ 2019-02-20 Alan Modra <amodra@gmail.com>
+
+ PR 24236
+diff --git a/bfd/elfcode.h b/bfd/elfcode.h
+index ec5ea766de..a35a629087 100644
+--- a/bfd/elfcode.h
++++ b/bfd/elfcode.h
+@@ -755,7 +755,8 @@ elf_object_p (bfd *abfd)
+ /* A further sanity check. */
+ if (i_ehdrp->e_shnum != 0)
+ {
+- if (i_ehdrp->e_shstrndx >= elf_numsections (abfd))
++ if (i_ehdrp->e_shstrndx >= elf_numsections (abfd)
++ || i_shdrp[i_ehdrp->e_shstrndx].sh_type != SHT_STRTAB)
+ {
+ /* PR 2257:
+ We used to just goto got_wrong_format_error here
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch
new file mode 100644
index 000000000..c915a832b
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14250.patch
@@ -0,0 +1,33 @@
+From df78be05daf4eb07f60f50ec1080cb979af32ec0 Mon Sep 17 00:00:00 2001
+From: marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 23 Jul 2019 07:33:32 +0000
+Subject: [PATCH] libiberty: Check zero value shstrndx in simple-object-elf.c
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@273718 138bc75d-0d04-0410-961f-82ee72b054a4
+
+CVE: CVE-2019-14250
+Upstream-Status: Backport [from gcc: https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=273718]
+[Removed Changelog entry]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+diff --git a/libiberty/simple-object-elf.c b/libiberty/simple-object-elf.c
+index 502388991a08..bdee963634d6 100644
+--- a/libiberty/simple-object-elf.c
++++ b/libiberty/simple-object-elf.c
+@@ -548,7 +548,15 @@ simple_object_elf_match (unsigned char header[SIMPLE_OBJECT_MATCH_HEADER_LEN],
+ XDELETE (eor);
+ return NULL;
+ }
+-
++
++ if (eor->shstrndx == 0)
++ {
++ *errmsg = "invalid ELF shstrndx == 0";
++ *err = 0;
++ XDELETE (eor);
++ return NULL;
++ }
++
+ return (void *) eor;
+ }
+
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch
new file mode 100644
index 000000000..85b9a9f91
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-14444.patch
@@ -0,0 +1,28 @@
+From e17869db99195849826eaaf5d2d0eb2cfdd7a2a7 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Mon, 5 Aug 2019 10:40:35 +0100
+Subject: [PATCH] Catch potential integer overflow in readelf when processing
+ corrupt binaries.
+
+ PR 24829
+ * readelf.c (apply_relocations): Catch potential integer overflow
+ whilst checking reloc location against section size.
+
+CVE: CVE-2019-14444
+Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e17869db99195849826eaaf5d2d0eb2cfdd7a2a7]
+[Removed Changelog entry]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+diff --git a/binutils/readelf.c b/binutils/readelf.c
+index b896ad9f406..e785fde43e7 100644
+--- a/binutils/readelf.c
++++ b/binutils/readelf.c
+@@ -13366,7 +13366,7 @@ apply_relocations (Filedata * filedata,
+ }
+
+ rloc = start + rp->r_offset;
+- if ((rloc + reloc_size) > end || (rloc < start))
++ if (rloc >= end || (rloc + reloc_size) > end || (rloc < start))
+ {
+ warn (_("skipping invalid relocation offset 0x%lx in section %s\n"),
+ (unsigned long) rp->r_offset,
diff --git a/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9071.patch b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9071.patch
new file mode 100644
index 000000000..f02539942
--- /dev/null
+++ b/poky/meta/recipes-devtools/binutils/binutils/CVE-2019-9071.patch
@@ -0,0 +1,165 @@
+From c1202057eb9161a86af27d867703235fee7b7555 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Wed, 10 Apr 2019 15:49:36 +0100
+Subject: [PATCH] Pull in patch for libiberty that fixes a stack exhaustion bug
+ when demangling a pathalogically constructed mangled name.
+
+ PR 89394
+ * cp-demangle.c (cplus_demangle_fill_name): Reject negative
+ lengths.
+ (d_count_templates_scopes): Replace num_templates and num_scopes
+ parameters with a struct d_print_info pointer parameter. Adjust
+ body of the function accordingly. Add recursion counter and check
+ that the recursion limit is not reached.
+ (d_print_init): Pass dpi parameter to d_count_templates_scopes.
+ Reset recursion counter afterwards, unless the recursion limit was
+ reached.
+
+CVE: CVE-2019-9071
+CVE: CVE-2019-9070
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ ChangeLog | 16 ++++++++++++++
+ libiberty/cp-demangle.c | 48 ++++++++++++++++++++++-------------------
+ 2 files changed, 42 insertions(+), 22 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index cd631a15b6..4df3aaa62c 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,19 @@
++2019-04-10 Nick Clifton <nickc@redhat.com>
++
++ * libiberty: Sync with gcc. Bring in:
++ 2019-04-10 Nick Clifton <nickc@redhat.com>
++
++ PR 89394
++ * cp-demangle.c (cplus_demangle_fill_name): Reject negative
++ lengths.
++ (d_count_templates_scopes): Replace num_templates and num_scopes
++ parameters with a struct d_print_info pointer parameter. Adjust
++ body of the function accordingly. Add recursion counter and check
++ that the recursion limit is not reached.
++ (d_print_init): Pass dpi parameter to d_count_templates_scopes.
++ Reset recursion counter afterwards, unless the recursion limit was
++ reached.
++
+ 2018-06-24 Nick Clifton <nickc@redhat.com>
+
+ 2.32 branch created.
+diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
+index b34b485692..779b4e763a 100644
+--- a/libiberty/cp-demangle.c
++++ b/libiberty/cp-demangle.c
+@@ -861,7 +861,7 @@ CP_STATIC_IF_GLIBCPP_V3
+ int
+ cplus_demangle_fill_name (struct demangle_component *p, const char *s, int len)
+ {
+- if (p == NULL || s == NULL || len == 0)
++ if (p == NULL || s == NULL || len <= 0)
+ return 0;
+ p->d_printing = 0;
+ p->type = DEMANGLE_COMPONENT_NAME;
+@@ -4061,7 +4061,7 @@ d_growable_string_callback_adapter (const char *s, size_t l, void *opaque)
+ are larger than the actual numbers encountered. */
+
+ static void
+-d_count_templates_scopes (int *num_templates, int *num_scopes,
++d_count_templates_scopes (struct d_print_info *dpi,
+ const struct demangle_component *dc)
+ {
+ if (dc == NULL)
+@@ -4081,13 +4081,13 @@ d_count_templates_scopes (int *num_templates, int *num_scopes,
+ break;
+
+ case DEMANGLE_COMPONENT_TEMPLATE:
+- (*num_templates)++;
++ dpi->num_copy_templates++;
+ goto recurse_left_right;
+
+ case DEMANGLE_COMPONENT_REFERENCE:
+ case DEMANGLE_COMPONENT_RVALUE_REFERENCE:
+ if (d_left (dc)->type == DEMANGLE_COMPONENT_TEMPLATE_PARAM)
+- (*num_scopes)++;
++ dpi->num_saved_scopes++;
+ goto recurse_left_right;
+
+ case DEMANGLE_COMPONENT_QUAL_NAME:
+@@ -4152,42 +4152,42 @@ d_count_templates_scopes (int *num_templates, int *num_scopes,
+ case DEMANGLE_COMPONENT_TAGGED_NAME:
+ case DEMANGLE_COMPONENT_CLONE:
+ recurse_left_right:
+- d_count_templates_scopes (num_templates, num_scopes,
+- d_left (dc));
+- d_count_templates_scopes (num_templates, num_scopes,
+- d_right (dc));
++ /* PR 89394 - Check for too much recursion. */
++ if (dpi->recursion > DEMANGLE_RECURSION_LIMIT)
++ /* FIXME: There ought to be a way to report to the
++ user that the recursion limit has been reached. */
++ return;
++
++ ++ dpi->recursion;
++ d_count_templates_scopes (dpi, d_left (dc));
++ d_count_templates_scopes (dpi, d_right (dc));
++ -- dpi->recursion;
+ break;
+
+ case DEMANGLE_COMPONENT_CTOR:
+- d_count_templates_scopes (num_templates, num_scopes,
+- dc->u.s_ctor.name);
++ d_count_templates_scopes (dpi, dc->u.s_ctor.name);
+ break;
+
+ case DEMANGLE_COMPONENT_DTOR:
+- d_count_templates_scopes (num_templates, num_scopes,
+- dc->u.s_dtor.name);
++ d_count_templates_scopes (dpi, dc->u.s_dtor.name);
+ break;
+
+ case DEMANGLE_COMPONENT_EXTENDED_OPERATOR:
+- d_count_templates_scopes (num_templates, num_scopes,
+- dc->u.s_extended_operator.name);
++ d_count_templates_scopes (dpi, dc->u.s_extended_operator.name);
+ break;
+
+ case DEMANGLE_COMPONENT_FIXED_TYPE:
+- d_count_templates_scopes (num_templates, num_scopes,
+- dc->u.s_fixed.length);
++ d_count_templates_scopes (dpi, dc->u.s_fixed.length);
+ break;
+
+ case DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS:
+ case DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS:
+- d_count_templates_scopes (num_templates, num_scopes,
+- d_left (dc));
++ d_count_templates_scopes (dpi, d_left (dc));
+ break;
+
+ case DEMANGLE_COMPONENT_LAMBDA:
+ case DEMANGLE_COMPONENT_DEFAULT_ARG:
+- d_count_templates_scopes (num_templates, num_scopes,
+- dc->u.s_unary_num.sub);
++ d_count_templates_scopes (dpi, dc->u.s_unary_num.sub);
+ break;
+ }
+ }
+@@ -4222,8 +4222,12 @@ d_print_init (struct d_print_info *dpi, demangle_callbackref callback,
+ dpi->next_copy_template = 0;
+ dpi->num_copy_templates = 0;
+
+- d_count_templates_scopes (&dpi->num_copy_templates,
+- &dpi->num_saved_scopes, dc);
++ d_count_templates_scopes (dpi, dc);
++ /* If we did not reach the recursion limit, then reset the
++ current recursion value back to 0, so that we can print
++ the templates. */
++ if (dpi->recursion < DEMANGLE_RECURSION_LIMIT)
++ dpi->recursion = 0;
+ dpi->num_copy_templates *= dpi->num_saved_scopes;
+
+ dpi->current_template = NULL;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-devtools/bison/bison_3.3.2.bb b/poky/meta/recipes-devtools/bison/bison_3.3.2.bb
deleted file mode 100644
index adb9d48e9..000000000
--- a/poky/meta/recipes-devtools/bison/bison_3.3.2.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "GNU Project parser generator (yacc replacement)"
-DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \
-an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \
-grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \
-little trouble."
-HOMEPAGE = "http://www.gnu.org/software/bison/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SECTION = "devel"
-DEPENDS = "bison-native flex-native"
-
-SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
- file://dont-depend-on-help2man.patch.patch \
- file://add-with-bisonlocaledir.patch \
-"
-
-# No point in hardcoding path to m4, just use PATH
-EXTRA_OECONF += "M4=m4"
-
-SRC_URI[md5sum] = "c9b552dee234b2f6b66e56b27e5234c9"
-SRC_URI[sha256sum] = "039ee45b61d95e5003e7e8376f9080001b4066ff357bde271b7faace53b9d804"
-
-inherit autotools gettext texinfo
-
-# The automatic m4 path detection gets confused, so force the right value
-acpaths = "-I ${S}/m4"
-
-do_compile_prepend() {
- for i in mfcalc calc++ rpcalc; do mkdir -p ${B}/examples/$i; done
-}
-
-do_install_append_class-native() {
- create_wrapper ${D}/${bindir}/bison \
- BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison
-}
-do_install_append_class-nativesdk() {
- create_wrapper ${D}/${bindir}/bison \
- BISON_PKGDATADIR=${datadir}/bison
-}
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/bison/bison_3.4.1.bb b/poky/meta/recipes-devtools/bison/bison_3.4.1.bb
new file mode 100644
index 000000000..7946e20c5
--- /dev/null
+++ b/poky/meta/recipes-devtools/bison/bison_3.4.1.bb
@@ -0,0 +1,40 @@
+SUMMARY = "GNU Project parser generator (yacc replacement)"
+DESCRIPTION = "Bison is a general-purpose parser generator that converts an annotated context-free grammar into \
+an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc \
+grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with \
+little trouble."
+HOMEPAGE = "http://www.gnu.org/software/bison/"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "devel"
+DEPENDS = "bison-native flex-native"
+
+SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \
+ file://dont-depend-on-help2man.patch.patch \
+ file://add-with-bisonlocaledir.patch \
+"
+
+# No point in hardcoding path to m4, just use PATH
+EXTRA_OECONF += "M4=m4"
+
+SRC_URI[md5sum] = "201286a573b12da109df96282fe4ff4a"
+SRC_URI[sha256sum] = "27159ac5ebf736dffd5636fd2cd625767c9e437de65baa63cb0de83570bd820d"
+
+inherit autotools gettext texinfo
+
+# The automatic m4 path detection gets confused, so force the right value
+acpaths = "-I ${S}/m4"
+
+do_compile_prepend() {
+ for i in mfcalc calc++ rpcalc; do mkdir -p ${B}/examples/$i; done
+}
+
+do_install_append_class-native() {
+ create_wrapper ${D}/${bindir}/bison \
+ BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison
+}
+do_install_append_class-nativesdk() {
+ create_wrapper ${D}/${bindir}/bison \
+ BISON_PKGDATADIR=${datadir}/bison
+}
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch b/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch
new file mode 100644
index 000000000..8ee6723df
--- /dev/null
+++ b/poky/meta/recipes-devtools/bootchart2/bootchart2/0001-bootchart2-support-usrmerge.patch
@@ -0,0 +1,37 @@
+From b6d1a1ff2de363b1b76c8c70f77ae56a4e4d4b56 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 5 Sep 2019 18:37:31 +0800
+Subject: [PATCH] bootchart2: support usrmerge
+
+Upstream-Status: Inappropriate[oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1cc2974..f988904 100644
+--- a/Makefile
++++ b/Makefile
+@@ -36,7 +36,7 @@ endif
+ PY_SITEDIR ?= $(PY_LIBDIR)/site-packages
+ LIBC_A_PATH = /usr$(LIBDIR)
+ # Always lib, even on systems that otherwise use lib64
+-SYSTEMD_UNIT_DIR = $(EARLY_PREFIX)/lib/systemd/system
++SYSTEMD_UNIT_DIR ?= $(EARLY_PREFIX)/lib/systemd/system
+ COLLECTOR = \
+ collector/collector.o \
+ collector/output.o \
+@@ -99,7 +99,7 @@ install-chroot:
+ install -d $(DESTDIR)$(PKGLIBDIR)/tmpfs
+
+ install-collector: all install-chroot
+- install -m 755 -D bootchartd $(DESTDIR)$(EARLY_PREFIX)/sbin/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX)
++ install -m 755 -D bootchartd $(DESTDIR)${BASE_SBINDIR}/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX)
+ install -m 644 -D bootchartd.conf $(DESTDIR)/etc/$(PROGRAM_PREFIX)bootchartd$(PROGRAM_SUFFIX).conf
+ install -m 755 -D bootchart-collector $(DESTDIR)$(PKGLIBDIR)/$(PROGRAM_PREFIX)bootchart$(PROGRAM_SUFFIX)-collector
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb
index 396d0ec0a..a938b2da4 100644
--- a/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb
+++ b/poky/meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb
@@ -93,6 +93,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
SRC_URI = "git://github.com/xrmx/bootchart.git \
file://bootchartd_stop.sh \
file://0001-collector-Allocate-space-on-heap-for-chunks.patch \
+ file://0001-bootchart2-support-usrmerge.patch \
"
S = "${WORKDIR}/git"
@@ -114,6 +115,8 @@ UPDATERCPN = "bootchartd-stop-initscript"
INITSCRIPT_NAME = "bootchartd_stop.sh"
INITSCRIPT_PARAMS = "start 99 2 3 4 5 ."
+EXTRA_OEMAKE = 'BASE_SBINDIR="${base_sbindir}"'
+
do_compile_prepend () {
export PY_LIBDIR="${libdir}/${PYTHON_DIR}"
export BINDIR="${bindir}"
@@ -126,6 +129,8 @@ do_install () {
export BINDIR="${bindir}"
export DESTDIR="${D}"
export LIBDIR="${base_libdir}"
+ export PKGLIBDIR="${base_libdir}/bootchart"
+ export SYSTEMD_UNIT_DIR="${systemd_unitdir}/system"
oe_runmake install
install -d ${D}${sysconfdir}/init.d
@@ -141,7 +146,7 @@ PACKAGES =+ "pybootchartgui"
FILES_pybootchartgui += "${PYTHON_SITEPACKAGES_DIR}/pybootchartgui ${bindir}/pybootchartgui"
RDEPENDS_pybootchartgui = "python3-pycairo python3-compression python3-image python3-shell python3-compression python3-codecs"
RDEPENDS_${PN}_class-target += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}"
-RDEPENDS_${PN}_class-target += "lsb"
+RDEPENDS_${PN}_class-target += "lsb-release"
DEPENDS_append_class-native = " python3-pycairo-native"
PACKAGES =+ "bootchartd-stop-initscript"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb
deleted file mode 100644
index 2cd99706b..000000000
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.1.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Checksumming Copy on Write Filesystem utilities"
-DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \
-implementing advanced features while focusing on fault tolerance, repair and \
-easy administration. \
-This package contains utilities (mkfs, fsck, btrfsctl) used to work with \
-btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3."
-
-HOMEPAGE = "https://btrfs.wiki.kernel.org"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
-SECTION = "base"
-DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native"
-DEPENDS_append_class-target = " udev"
-RDEPENDS_${PN} = "libgcc"
-
-SRCREV = "781e36a784faa58a4f0515eef124af860d59e2c0"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
- file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
- "
-
-inherit autotools-brokensep pkgconfig manpages distutils3-base
-
-CLEANBROKEN = "1"
-
-PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
-EXTRA_OECONF = " --disable-zstd"
-EXTRA_OECONF_append_libc-musl = " --disable-backtrace "
-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.
- mkdir -p ${S}/config
- cp -f $(automake --print-libdir)/install-sh ${S}/config/
-}
-
-S = "${WORKDIR}/git"
-
-do_install_append() {
- oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python
-}
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.2.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.2.bb
new file mode 100644
index 000000000..6b73c01dc
--- /dev/null
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.2.2.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Checksumming Copy on Write Filesystem utilities"
+DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \
+implementing advanced features while focusing on fault tolerance, repair and \
+easy administration. \
+This package contains utilities (mkfs, fsck, btrfsctl) used to work with \
+btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3."
+
+HOMEPAGE = "https://btrfs.wiki.kernel.org"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
+SECTION = "base"
+DEPENDS = "util-linux attr e2fsprogs lzo acl"
+DEPENDS_append_class-target = " udev"
+RDEPENDS_${PN} = "libgcc"
+
+SRCREV = "55a8c9626fb906c20c3206f8fd39b9a8fb259b79"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
+ file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
+ "
+
+PACKAGECONFIG ??= "python"
+PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native"
+PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native"
+PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd"
+
+inherit autotools-brokensep pkgconfig manpages
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'distutils3-base', '', d)}
+
+CLEANBROKEN = "1"
+
+EXTRA_OECONF_append_libc-musl = " --disable-backtrace "
+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.
+ mkdir -p ${S}/config
+ cp -f $(automake --print-libdir)/install-sh ${S}/config/
+}
+
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then
+ oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python
+ fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/build-compare/build-compare_git.bb b/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
index efcf6b6dd..b0560cc27 100644
--- a/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
+++ b/poky/meta/recipes-devtools/build-compare/build-compare_git.bb
@@ -6,22 +6,14 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "git://github.com/openSUSE/build-compare.git \
- file://Rename-rpm-check.sh-to-pkg-diff.sh.patch;striplevel=1 \
file://Ignore-DWARF-sections.patch;striplevel=1 \
- file://0001-Add-support-for-deb-and-ipk-packaging.patch \
- file://functions.sh-remove-space-at-head.patch \
- file://functions.sh-run-rpm-once-to-make-it-faster.patch \
- file://pkg-diff.sh-check-for-fifo-named-pipe.patch \
- file://pkg-diff.sh-check_single_file-return-at-once-when-sa.patch \
- file://pkg-diff.sh-remove-space-in-the-end-for-ftype.patch \
- file://functions.sh-improve-deb-and-ipk-checking.patch \
"
# Date matches entry in build-compare.changes and date of SRCREV.
#
-SRCREV = "c5352c054c6ef15735da31b76d6d88620f4aff0a"
+SRCREV = "4dfa207660776cae120afa4353aec7f1f2a998d2"
PE = "1"
-PV = "2015.02.10+git${SRCPV}"
+PV = "2019.08.14+git${SRCPV}"
UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch b/poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch
deleted file mode 100644
index 82fd8169f..000000000
--- a/poky/meta/recipes-devtools/build-compare/files/0001-Add-support-for-deb-and-ipk-packaging.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 02dbc7e3478e409d6f5e3e1c53daddf8838be999 Mon Sep 17 00:00:00 2001
-From: Paul Eggleton <paul.eggleton@linux.intel.com>
-Date: Tue, 1 Sep 2015 12:04:33 +0100
-Subject: [PATCH] Add support for deb and ipk packaging
-
-Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10]
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
----
- functions.sh | 15 +++++++++++++++
- pkg-diff.sh | 6 ++++++
- 2 files changed, 21 insertions(+)
-
-diff --git a/functions.sh b/functions.sh
-index 06079df..85c9003 100644
---- a/functions.sh
-+++ b/functions.sh
-@@ -85,6 +85,13 @@ function unpackage()
- CPIO_OPTS="--extract --unconditional --preserve-modification-time --make-directories --quiet"
- rpm2cpio $file | cpio ${CPIO_OPTS}
- ;;
-+ *.ipk|*.deb)
-+ ar x $file
-+ tar xf control.tar.gz
-+ rm control.tar.gz
-+ tar xf data.tar.gz
-+ rm data.tar.gz
-+ ;;
- esac
- popd 1>/dev/null
- }
-@@ -255,4 +262,12 @@ function cmp_spec ()
- rm $file1 $file2
- return $RES
- }
-+
-+function adjust_controlfile() {
-+ cat $1/control | sed '/^Version: /d' > $1/control.fixed
-+ mv $1/control.fixed $1/control
-+ cat $2/control | sed '/^Version: /d' > $2/control.fixed
-+ mv $2/control.fixed $2/control
-+}
-+
- # vim: tw=666 ts=2 et
-diff --git a/pkg-diff.sh b/pkg-diff.sh
-index 0f1fa76..3cf10aa 100644
---- a/pkg-diff.sh
-+++ b/pkg-diff.sh
-@@ -138,6 +138,12 @@ echo "Extracting packages"
- unpackage $oldpkg $dir/old
- unpackage $newpkg $dir/new
-
-+case $oldpkg in
-+ *.deb|*.ipk)
-+ adjust_controlfile $dir/old $dir/new
-+ ;;
-+esac
-+
- # files is set in cmp_spec for rpms, so if RES is empty we should assume
- # it wasn't an rpm and pick all files for comparison.
- if [ -z $RES ]; then
---
-2.1.0
-
diff --git a/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch b/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch
index 7dda1acbf..2fb62ae8c 100644
--- a/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch
+++ b/poky/meta/recipes-devtools/build-compare/files/Ignore-DWARF-sections.patch
@@ -23,18 +23,15 @@ Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pkg-diff.sh b/pkg-diff.sh
-index 56035c1..0f1fa76 100755
+index 9c2125e..b0d77c8 100755
--- a/pkg-diff.sh
+++ b/pkg-diff.sh
-@@ -658,7 +658,7 @@ check_single_file()
+@@ -851,7 +851,7 @@ check_single_file()
echo "" >$file1
echo "" >$file2
- # Don't compare .build-id and .gnu_debuglink sections
-- sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" | tr "\n" " ")"
-+ sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.debug_abbrev" -e "\.debug_aranges" -e "\.debug_frame" -e "\.debug_info" -e "\.debug_line" -e "\.debug_loc" -e "\.debug_macinfo" -e "\.debug_pubnames" -e "\.debug_pubtypes" -e "\.debug_ranges" -e "\.debug_str" | tr "\n" " ")"
+ # Don't compare .build-id, .gnu_debuglink and .gnu_debugdata sections
+- sections="$($OBJDUMP -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.gnu_debugdata" | tr "\n" " ")"
++ sections="$($OBJDUMP -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.gnu_debugdata" -e "\.debug_abbrev" -e "\.debug_aranges" -e "\.debug_frame" -e "\.debug_info" -e "\.debug_line" -e "\.debug_loc" -e "\.debug_macinfo" -e "\.debug_pubnames" -e "\.debug_pubtypes" -e "\.debug_ranges" -e "\.debug_str" | tr "\n" " ")"
for section in $sections; do
- objdump -s -j $section old/$file | sed "s,^old/,," > $file1
- objdump -s -j $section new/$file | sed "s,^new/,," > $file2
---
-1.9.3
-
+ $OBJDUMP -s -j $section old/$file | sed "s,^old/,," > $file1
+ $OBJDUMP -s -j $section new/$file | sed "s,^new/,," > $file2
diff --git a/poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch b/poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch
deleted file mode 100644
index cff3a9e23..000000000
--- a/poky/meta/recipes-devtools/build-compare/files/Rename-rpm-check.sh-to-pkg-diff.sh.patch
+++ /dev/null
@@ -1,1599 +0,0 @@
-From 4de3df5a1b361cd09a081f0e0bdb94cbf684ed48 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 19 Feb 2015 00:34:47 -0800
-Subject: [PATCH] Rename rpm-check.sh to pkg-diff.sh.
-
-The tool now accepts package input other than rpm, so change the name
-which could be misleading.
-
-Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pulls]
-
-Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
-
-Updated for rpm-check.sh.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- build-compare.spec | 2 +-
- pkg-diff.sh | 765 ++++++++++++++++++++++++++++++++++++++++++++++++++
- rpm-check.sh | 764 -------------------------------------------------
- same-build-result.sh | 4 +-
- 4 files changed, 768 insertions(+), 767 deletions(-)
- create mode 100644 pkg-diff.sh
- delete mode 100755 rpm-check.sh
-
-diff --git a/build-compare.spec b/build-compare.spec
-index 14a97e9..5f47ca1 100644
---- a/build-compare.spec
-+++ b/build-compare.spec
-@@ -25,7 +25,7 @@ Version: 2015.02.10
- Release: 0
- Source1: COPYING
- Source2: same-build-result.sh
--Source3: rpm-check.sh
-+Source3: pkg-diff.sh
- Source4: functions.sh
- Source5: srpm-check.sh
- BuildRoot: %{_tmppath}/%{name}-%{version}-build
-diff --git a/pkg-diff.sh b/pkg-diff.sh
-new file mode 100644
-index 0000000..56035c1
---- /dev/null
-+++ b/pkg-diff.sh
-@@ -0,0 +1,765 @@
-+#! /bin/bash
-+#
-+# Copyright (c) 2009, 2010, 2011, 2012 SUSE Linux Product GmbH, Germany.
-+# Licensed under GPL v2, see COPYING file for details.
-+#
-+# Written by Michael Matz and Stephan Coolo
-+# Enhanced by Andreas Jaeger
-+
-+FUNCTIONS=${0%/*}/functions.sh
-+
-+check_all=
-+case $1 in
-+ -a | --check-all)
-+ check_all=1
-+ shift
-+esac
-+
-+if test "$#" != 2; then
-+ echo "usage: $0 [-a|--check-all] old.rpm new.rpm"
-+ exit 1
-+fi
-+
-+self_script=$(cd $(dirname $0); echo $(pwd)/$(basename $0))
-+
-+source $FUNCTIONS
-+
-+oldpkg=`readlink -f $1`
-+newpkg=`readlink -f $2`
-+rename_script=`mktemp`
-+
-+if test ! -f "$oldpkg"; then
-+ echo "can't open $1"
-+ exit 1
-+fi
-+
-+if test ! -f "$newpkg"; then
-+ echo "can't open $2"
-+ exit 1
-+fi
-+
-+#usage unjar <file>
-+function unjar()
-+{
-+ local file
-+ file=$1
-+
-+ if [[ $(type -p fastjar) ]]; then
-+ UNJAR=fastjar
-+ elif [[ $(type -p jar) ]]; then
-+ UNJAR=jar
-+ elif [[ $(type -p unzip) ]]; then
-+ UNJAR=unzip
-+ else
-+ echo "ERROR: jar, fastjar, or unzip is not installed (trying file $file)"
-+ exit 1
-+ fi
-+
-+ case $UNJAR in
-+ jar|fastjar)
-+ # echo jar -xf $file
-+ ${UNJAR} -xf $file
-+ ;;
-+ unzip)
-+ unzip -oqq $file
-+ ;;
-+ esac
-+}
-+
-+# list files in directory
-+#usage unjar_l <file>
-+function unjar_l()
-+{
-+ local file
-+ file=$1
-+
-+ if [[ $(type -p fastjar) ]]; then
-+ UNJAR=fastjar
-+ elif [[ $(type -p jar) ]]; then
-+ UNJAR=jar
-+ elif [[ $(type -p unzip) ]]; then
-+ UNJAR=unzip
-+ else
-+ echo "ERROR: jar, fastjar, or unzip is not installed (trying file $file)"
-+ exit 1
-+ fi
-+
-+ case $UNJAR in
-+ jar|fastjar)
-+ ${UNJAR} -tf $file
-+ ;;
-+ unzip)
-+ unzip -l $file
-+ ;;
-+ esac
-+}
-+
-+filter_disasm()
-+{
-+ sed -e 's/^ *[0-9a-f]\+://' -e 's/\$0x[0-9a-f]\+/$something/' -e 's/callq *[0-9a-f]\+/callq /' -e 's/# *[0-9a-f]\+/# /' -e 's/\(0x\)\?[0-9a-f]\+(/offset(/' -e 's/[0-9a-f]\+ </</' -e 's/^<\(.*\)>:/\1:/' -e 's/<\(.*\)+0x[0-9a-f]\+>/<\1 + ofs>/'
-+}
-+
-+echo "Comparing `basename $oldpkg` to `basename $newpkg`"
-+
-+case $oldpkg in
-+ *.rpm)
-+ cmp_spec $rename_script $oldpkg $newpkg
-+ RES=$?
-+ case $RES in
-+ 0)
-+ echo "RPM meta information is identical"
-+ if test -z "$check_all"; then
-+ exit 0
-+ fi
-+ ;;
-+ 1)
-+ echo "RPM meta information is different"
-+ if test -z "$check_all"; then
-+ exit 1
-+ fi
-+ ;;
-+ 2)
-+ echo "RPM file checksum differs."
-+ RES=0
-+ ;;
-+ *)
-+ echo "Wrong exit code!"
-+ exit 1
-+ ;;
-+ esac
-+ ;;
-+esac
-+
-+file1=`mktemp`
-+file2=`mktemp`
-+
-+dir=`mktemp -d`
-+echo "Extracting packages"
-+unpackage $oldpkg $dir/old
-+unpackage $newpkg $dir/new
-+
-+# files is set in cmp_spec for rpms, so if RES is empty we should assume
-+# it wasn't an rpm and pick all files for comparison.
-+if [ -z $RES ]; then
-+ oldfiles=`cd $dir/old; find . -type f`
-+ newfiles=`cd $dir/new; find . -type f`
-+
-+ files=`echo -e "$oldfiles\n$newfiles" | sort -u`
-+fi
-+
-+cd $dir
-+bash $rename_script
-+
-+dfile=`mktemp`
-+
-+diff_two_files()
-+{
-+ if ! cmp -s old/$file new/$file; then
-+ echo "$file differs ($ftype)"
-+ hexdump -C old/$file > $file1
-+ hexdump -C new/$file > $file2
-+ diff -u $file1 $file2 | head -n 200
-+ return 1
-+ fi
-+ return 0
-+}
-+
-+trim_man_first_line()
-+{
-+ # Handles the first line if it is like:
-+ #.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
-+ #.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3.
-+ local f=$1
-+ sed -i -e '1{
-+ s|^\.\\"[[:blank:]]\+Automatically[[:blank:]]generated[[:blank:]]by[[:blank:]]Pod::Man[[:blank:]].*|.\\" Overly verbose Pod::Man|
-+ s|^\.\\"[[:blank:]]\+DO[[:blank:]]NOT[[:blank:]]MODIFY[[:blank:]]THIS[[:blank:]]FILE![[:blank:]]\+It[[:blank:]]was[[:blank:]]generated[[:blank:]]by[[:blank:]]help2man[[:blank:]].*|.\\" Overly verbose help2man|
-+ }' $f
-+}
-+
-+trim_man_TH()
-+{
-+ # Handles lines like:
-+ # .TH debhelper 7 "2010-02-27" "7.4.15" "Debhelper"
-+ # .TH DIRMNGR-CLIENT 1 2010-02-27 "Dirmngr 1.0.3" "GNU Privacy Guard"
-+ # .TH ccmake 1 "March 06, 2010" "ccmake 2.8.1-rc3"
-+ # .TH QEMU-IMG 1 "2010-03-14" " " " "
-+ # .TH kdecmake 1 "May 07, 2010" "cmake 2.8.1"
-+ # .TH "appender.h" 3 "12 May 2010" "Version 1.2.1" "log4c" \" -*- nroff -*-
-+ # .TH "appender.h" 3 "Tue Aug 31 2010" "Version 1.2.1" "log4c" \" -*- nroff -*-
-+ # .TH "OFFLINEIMAP" "1" "11 May 2010" "John Goerzen" "OfflineIMAP Manual"
-+ # .TH gv 3guile "13 May 2010"
-+ #.TH "GIT\-ARCHIMPORT" "1" "09/13/2010" "Git 1\&.7\&.1" "Git Manual"
-+ # .TH LDIRECTORD 8 "2010-10-20" "perl v5.12.2" "User Contributed Perl Documentation"
-+ # .TH ccmake 1 "February 05, 2012" "ccmake 2.8.7"
-+ # .TH "appender.h" 3 "Tue Aug 31 2010" "Version 1.2.1" "log4c" \" -*- nroff -*-
-+ # .TH ARCH "1" "September 2010" "GNU coreutils 8.5" "User Commands"
-+ # .TH "GCM-CALIBRATE" "1" "03 February 2012" "" ""
-+ #.TH Locale::Po4a::Xml.pm 3pm "2015-01-30" "Po4a Tools" "Po4a Tools"
-+ local f=$1
-+ # (.TH quoted section) (quoted_date)(*)
-+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1 "qq2000-01-01"\3|' $f
-+ # (.TH unquoted section) (quoted_date)(*)
-+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+[^"][^[:blank:]]\+[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1 "uq2000-02-02"\3|' $f
-+ # (.TH quoted section) (unquoted_date)(*)
-+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\([^"][^[:blank:]]\+\)\([[:blank:]]\+.*\)\?|\1 qu2000-03-03\3|' $f
-+ # (.TH unquoted section) (unquoted_date)(*)
-+ sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+[^"][^[:blank:]]\+[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\([^"][^[:blank:]]\+\)\([[:blank:]]\+.*\)\?|\1 uu2000-04-04\3|' $f
-+}
-+
-+strip_numbered_anchors()
-+{
-+ # Remove numbered anchors on Docbook / HTML files.
-+ # This should be save since we remove them from old and new files.
-+ # A trailing </a> or </div> tag will stay also on both files.
-+ for f in old/$file new/$file; do
-+ sed -i -e 's%<[ ]*a[ ]\+name[^<]*[0-9]\+[^<]*%%g' \
-+ -e 's%<[ ]*a[ ]\+href[^<]*#[^<]*[0-9]\+[^<]*%%g' \
-+ -e 's%<[^<]*id="ftn\.[^<]*[0-9]\+[^<]*%%g' $f
-+ done
-+}
-+
-+
-+check_compressed_file()
-+{
-+ local file=$1
-+ local ext=$2
-+ local tmpdir=`mktemp -d`
-+ local ftype
-+ local ret=0
-+ echo "$ext file with odd filename: $file"
-+ if test -n "$tmpdir"; then
-+ mkdir $tmpdir/{old,new}
-+ cp --parents --dereference old/$file $tmpdir/
-+ cp --parents --dereference new/$file $tmpdir/
-+ if pushd $tmpdir > /dev/null ; then
-+ case "$ext" in
-+ bz2)
-+ mv old/$file{,.bz2}
-+ mv new/$file{,.bz2}
-+ bzip2 -d old/$file.bz2
-+ bzip2 -d new/$file.bz2
-+ ;;
-+ gzip)
-+ mv old/$file{,.gz}
-+ mv new/$file{,.gz}
-+ gzip -d old/$file.gz
-+ gzip -d new/$file.gz
-+ ;;
-+ xz)
-+ mv old/$file{,.xz}
-+ mv new/$file{,.xz}
-+ xz -d old/$file.xz
-+ xz -d new/$file.xz
-+ ;;
-+ esac
-+ ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'`
-+ case $ftype in
-+ POSIX\ tar\ archive)
-+ echo "$ext content is: $ftype"
-+ mv old/$file{,.tar}
-+ mv new/$file{,.tar}
-+ if ! check_single_file ${file}.tar; then
-+ ret=1
-+ fi
-+ ;;
-+ ASCII\ cpio\ archive\ *)
-+ echo "$ext content is: $ftype"
-+ mv old/$file{,.cpio}
-+ mv new/$file{,.cpio}
-+ if ! check_single_file ${file}.cpio; then
-+ ret=1
-+ fi
-+ ;;
-+ *)
-+ echo "unhandled $ext content: $ftype"
-+ if ! diff_two_files; then
-+ ret=1
-+ fi
-+ ;;
-+ esac
-+ popd > /dev/null
-+ fi
-+ rm -rf "$tmpdir"
-+ fi
-+ return $ret
-+}
-+
-+check_single_file()
-+{
-+ local file="$1"
-+ case $file in
-+ *.spec)
-+ sed -i -e "s,Release:.*$release1,Release: @RELEASE@," old/$file
-+ sed -i -e "s,Release:.*$release2,Release: @RELEASE@," new/$file
-+ ;;
-+ *.exe.mdb|*.dll.mdb)
-+ # Just debug information, we can skip them
-+ echo "$file skipped as debug file."
-+ return 0
-+ ;;
-+ *.a)
-+ flist=`ar t new/$file`
-+ pwd=$PWD
-+ fdir=`dirname $file`
-+ cd old/$fdir
-+ ar x `basename $file`
-+ cd $pwd/new/$fdir
-+ ar x `basename $file`
-+ cd $pwd
-+ for f in $flist; do
-+ if ! check_single_file $fdir/$f; then
-+ return 1
-+ fi
-+ done
-+ return 0
-+ ;;
-+ *.cpio)
-+ flist=`cpio --quiet --list --force-local < "new/$file"`
-+ pwd=$PWD
-+ fdir=$file.extract.$PPID.$$
-+ mkdir old/$fdir new/$fdir
-+ cd old/$fdir
-+ cpio --quiet --extract --force-local < "../${file##*/}"
-+ cd $pwd/new/$fdir
-+ cpio --quiet --extract --force-local < "../${file##*/}"
-+ cd $pwd
-+ local ret=0
-+ for f in $flist; do
-+ if ! check_single_file $fdir/$f; then
-+ ret=1
-+ if test -z "$check_all"; then
-+ break
-+ fi
-+ fi
-+ done
-+ rm -rf old/$fdir new/$fdir
-+ return $ret
-+ ;;
-+ *.tar|*.tar.bz2|*.tar.gz|*.tgz|*.tbz2)
-+ flist=`tar tf new/$file`
-+ pwd=$PWD
-+ fdir=`dirname $file`
-+ cd old/$fdir
-+ tar xf `basename $file`
-+ cd $pwd/new/$fdir
-+ tar xf `basename $file`
-+ cd $pwd
-+ local ret=0
-+ for f in $flist; do
-+ if ! check_single_file $fdir/$f; then
-+ ret=1
-+ if test -z "$check_all"; then
-+ break
-+ fi
-+ fi
-+ done
-+ return $ret
-+ ;;
-+ *.zip|*.jar|*.war)
-+ cd old
-+ unjar_l ./$file |sort > flist
-+ # 10-05-2010 14:39
-+ sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ," flist
-+ # 2012-02-03 07:59
-+ sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , date ," flist
-+ cd ../new
-+ unjar_l ./$file |sort> flist
-+ sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ,; " flist
-+ sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , date ," flist
-+ cd ..
-+ if ! cmp -s old/flist new/flist; then
-+ echo "$file has different file list"
-+ diff -u old/flist new/flist
-+ return 1
-+ fi
-+ flist=`grep date new/flist | sed -e 's,.* date ,,'`
-+ pwd=$PWD
-+ fdir=`dirname $file`
-+ cd old/$fdir
-+ unjar `basename $file`
-+ cd $pwd/new/$fdir
-+ unjar `basename $file`
-+ cd $pwd
-+ local ret=0
-+ for f in $flist; do
-+ if test -f new/$fdir/$f && ! check_single_file $fdir/$f; then
-+ ret=1
-+ if test -z "$check_all"; then
-+ break
-+ fi
-+ fi
-+ done
-+ return $ret;;
-+ *.pyc|*.pyo)
-+ perl -e "open fh, '+<', 'old/$file'; seek fh, 4, SEEK_SET; print fh '0000';"
-+ perl -e "open fh, '+<', 'new/$file'; seek fh, 4, SEEK_SET; print fh '0000';"
-+ ;;
-+ *.bz2)
-+ bunzip2 -c old/$file > old/${file/.bz2/}
-+ bunzip2 -c new/$file > new/${file/.bz2/}
-+ check_single_file ${file/.bz2/}
-+ return $?
-+ ;;
-+ *.gz)
-+ gunzip -c old/$file > old/${file/.gz/}
-+ gunzip -c new/$file > new/${file/.gz/}
-+ check_single_file ${file/.gz/}
-+ return $?
-+ ;;
-+ *.rpm)
-+ $self_script -a old/$file new/$file
-+ return $?
-+ ;;
-+ *png)
-+ # Try to remove timestamps, only if convert from ImageMagick is installed
-+ if [[ $(type -p convert) ]]; then
-+ convert old/$file +set date:create +set date:modify old/${file/.png/_n.png}
-+ convert old/$file +set date:create +set date:modify new/${file/.png/_n.png}
-+ if ! cmp -s old/${file/.png/_n.png} new/${file/.png/_n.png}; then
-+ echo "$file differs ($ftype)"
-+ hexdump -C old/${file/.png/_n.png} > $file1
-+ hexdump -C new/${file/.png/_n.png} > $file2
-+ diff -u $file1 $file2 | head -n 20
-+ return 1
-+ fi
-+ return 0
-+ fi
-+ ;;
-+ /usr/share/locale/*/LC_MESSAGES/*.mo|/usr/share/locale-bundle/*/LC_MESSAGES/*.mo)
-+ for f in old/$file new/$file; do
-+ sed -i -e "s,POT-Creation-Date: ....-..-.. ..:..+....,POT-Creation-Date: 1970-01-01 00:00+0000," $f
-+ done
-+ ;;
-+ /usr/share/doc/packages/*/*.html|\
-+ /usr/share/doc/kde/HTML/*/*/*.html|/usr/share/doc/*/html/*.html)
-+ for f in old/$file new/$file; do
-+ # texi2html output, e.g. in kvm, indent, qemu
-+ sed -i -e "s|^<!-- Created on .*, 20.. by texi2html .\...|<!-- Created on August 7, 2009 by texi2html 1.82|" $f
-+ sed -i -e 's|^ *This document was generated by <em>Autobuild</em> on <em>.*, 20..</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html .\...</em></a>.$| This document was generated by <em>Autobuild</em> on <em>August 7, 2009</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.|' $f
-+ # doxygen docu, e.g. in libssh and log4c
-+ sed -i -e 's|Generated on ... ... [0-9]* [0-9]*:[0-9][0-9]:[0-9][0-9] 20[0-9][0-9] for |Generated on Mon May 10 20:45:00 2010 for |' $f
-+ # Generated on Sat Aug 14 2010 16:49:48 for libssh
-+ sed -i -e 's|Generated on ... ... [0-9]* 20[0-9][0-9] [0-9]*:[0-9][0-9]:[0-9][0-9] for |Generated on Mon May 10 20:45:00 2010 for |' $f
-+ done
-+ strip_numbered_anchors
-+ ;;
-+ /usr/share/javadoc/*.html |\
-+ /usr/share/javadoc/*/*.html|/usr/share/javadoc/*/*/*.html)
-+ strip_numbered_anchors
-+ # There are more timestamps in html, so far we handle only some primitive versions.
-+ for f in old/$file new/$file; do
-+ # Javadoc:
-+ # <head>
-+ # <!-- Generated by javadoc (version 1.7.0_75) on Tue Feb 03 02:20:12 GMT 2015 -->
-+ # <!-- Generated by javadoc on Tue Feb 03 00:02:48 GMT 2015 -->
-+ # <meta name="date" content="2015-02-03">
-+ # </head>
-+ sed -i -e '
-+ /^<head>/{
-+ : next
-+ n
-+ /^<\/head>/{
-+ b end_head
-+ }
-+ s/^\(<!-- Generated by javadoc\) \((\(build\|version\) [0-9._]\+) on ... ... .. ..:..:.. \(GMT\|UTC\) ....\) \(-->\)/\1 some-date-removed-by-build-compare \5/
-+ t next
-+ s/^\(<!-- Generated by javadoc\) \(on ... ... .. ..:..:.. \(GMT\|UTC\) ....\) \(-->\)/\1 some-date-removed-by-build-compare \3/
-+ t next
-+ s/^<meta name="date" content="[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}">/<meta name="date" content="some-date-removed-by-build-compare">/
-+ b next
-+ }
-+ : end_head
-+ ' $f
-+ # Gjdoc HtmlDoclet:
-+ sed -i -e 's%Generated by Gjdoc HtmlDoclet [0-9,.]*, part of <a href="http://www.gnu.org/software/classpath/cp-tools/" title="" target="_top">GNU Classpath Tools</a>, on .*, 20.. [0-9]*:..:.. \(a\|p\)\.m\. GMT.%Generated by Gjdoc.%' $f
-+ sed -i -e 's%<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN"\(.*\)GNU Classpath Tools</a>, on [A-Z][a-z]* [0-9]*, 20?? [0-9]*:??:?? \(a|p\)\.m\. GMT.</p>%<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN"\1GNU Classpath Tools</a>, on January 1, 2009 0:00:00 a.m. GMT.</p>%' $f
-+ sed -i -e 's%<!DOCTYPE html PUBLIC "-//gnu.org///DTD\(.*GNU Classpath Tools</a>\), on [a-zA-Z]* [0-9][0-9], 20.. [0-9]*:..:.. \(a\|p\)\.m\. GMT.</p>%<!DOCTYPE html PUBLIC "-//gnu.org///DTD\1,on May 1, 2010 1:11:42 p.m. GMT.</p>%' $f
-+ # deprecated-list is randomly ordered, sort it for comparison
-+ case $f in
-+ */deprecated-list.html)
-+ sort -o $f $f
-+ ;;
-+ esac
-+ done
-+ ;;
-+ /usr/share/javadoc/gjdoc.properties |\
-+ /usr/share/javadoc/*/gjdoc.properties)
-+ for f in old/$file new/$file; do
-+ sed -i -e 's|^#[A-Z][a-z]\{2\} [A-Z][a-z]\{2\} [0-9]\{2\} ..:..:.. GMT 20..$|#Fri Jan 01 11:27:36 GMT 2009|' $f
-+ done
-+ ;;
-+ */fonts.scale|*/fonts.dir|*/encodings.dir)
-+ for f in old/$file new/$file; do
-+ # sort files before comparing
-+ sort -o $f $f
-+ done
-+ ;;
-+ /var/adm/perl-modules/*)
-+ for f in old/$file new/$file; do
-+ sed -i -e 's|^=head2 ... ... .. ..:..:.. ....: C<Module>|=head2 Wed Jul 1 00:00:00 2009: C<Module>|' $f
-+ done
-+ ;;
-+ /usr/share/man/man3/*3pm)
-+ for f in old/$file new/$file; do
-+ sed -i -e 's| 3 "20..-..-.." "perl v5....." "User Contributed Perl Documentation"$| 3 "2009-01-01" "perl v5.10.0" "User Contributed Perl Documentation"|' $f
-+ trim_man_TH $f
-+ trim_man_first_line $f
-+ done
-+ ;;
-+ /usr/share/man/*/man*|/usr/share/man/man*|/usr/lib/texmf/doc/man/*/*)
-+
-+ for f in old/$file new/$file; do
-+ trim_man_TH $f
-+ trim_man_first_line $f
-+ # generated by docbook xml:
-+ #.\" Date: 09/13/2010
-+ sed -i -e 's|Date: [0-1][0-9]/[0-9][0-9]/201[0-9]|Date: 09/13/2010|' $f
-+ done
-+ ;;
-+ *.elc)
-+ # emacs lisp files
-+ for f in old/$file new/$file; do
-+ sed -i -e 's|Compiled by abuild@.* on ... ... .. ..:..:.. 20..$|compiled by abuild@buildhost on Wed Jul 01 00:00:00 2009|' $f
-+ done
-+ ;;
-+ /var/lib/texmf/web2c/*/*fmt |\
-+ /var/lib/texmf/web2c/metafont/*.base|\
-+ /var/lib/texmf/web2c/metapost/*.mem)
-+ # binary dump of TeX and Metafont formats, we can ignore them for good
-+ echo "difference in $file ignored."
-+ return 0
-+ ;;
-+ */libtool)
-+ for f in old/$file new/$file; do
-+ sed -i -e 's|^# Libtool was configured on host [A-Za-z0-9]*:$|# Libtool was configured on host x42:|' $f
-+ done
-+ ;;
-+ /etc/mail/*cf|/etc/sendmail.cf)
-+ # from sendmail package
-+ for f in old/$file new/$file; do
-+ # - ##### built by abuild@build33 on Thu May 6 11:21:17 UTC 2010
-+ sed -i -e 's|built by abuild@[a-z0-9]* on ... ... [0-9]* [0-9]*:[0-9][0-9]:[0-9][0-9] .* 20[0-9][0-9]|built by abuild@build42 on Thu May 6 11:21:17 UTC 2010|' $f
-+ done
-+ ;;
-+ /usr/share/doc/kde/HTML/*/*/index.cache|/usr/share/doc/kde/HTML/*/*/*/index.cache|\
-+ /usr/share/gtk-doc/html/*/*.html|/usr/share/gtk-doc/html/*/*.devhelp2)
-+ # various kde and gtk packages
-+ strip_numbered_anchors
-+ ;;
-+ */created.rid)
-+ # ruby documentation
-+ # file just contains a timestamp and nothing else, so ignore it
-+ echo "Ignore $file"
-+ return 0
-+ ;;
-+ */rdoc/files/*.html)
-+ # ruby documentation
-+ # <td>Mon Sep 20 19:02:43 +0000 2010</td>
-+ for f in old/$file new/$file; do
-+ sed -i -e 's%<td>[A-Z][a-z][a-z] [A-Z][a-z][a-z] [0-9]\+ [0-9]\+:[0-9]\+:[0-9]\+ +0000 201[0-9]</td>%<td>Mon Sep 20 19:02:43 +0000 2010</td>%g' $f
-+ done
-+ strip_numbered_anchors
-+ ;;
-+ */Linux*Env.Set.sh)
-+ # LibreOffice files, contains:
-+ # Generated on: Mon Apr 18 13:19:22 UTC 2011
-+ for f in old/$file new/$file; do
-+ sed -i -e 's%^# Generated on:.*UTC 201[0-9] *$%# Generated on: Sometime%g' $f
-+ done
-+ ;;
-+ /usr/lib/libreoffice/solver/inc/*/deliver.log)
-+ # LibreOffice log file
-+ echo "Ignore $file"
-+ return 0
-+ ;;
-+ /var/adm/update-messages/*|/var/adm/update-scripts/*)
-+ # encode version-release inside
-+ oldfn=`echo "$file"|sed -e s/-$release2/-$release1/;`
-+
-+ # fetchmsttfonts embeds the release number in the update shell script.
-+ echo sed -i -e "s/-$release1/-$release2/g;" "old/$oldfn"
-+ sed -i -e "s/-$release1/-$release2/g;" "old/$oldfn"
-+
-+ if ! diff -u old/$oldfn new/$file; then
-+ echo "$oldfn is not same as $file"
-+ return 1
-+ fi
-+ echo "$file and $oldfn are same"
-+ return 0
-+ ;;
-+ *.ps)
-+ for f in "old/$file" "new/$file"; do
-+ sed -i -e '
-+ /^%%CreationDate:[[:blank:]]/d
-+ /^%%Creator:[[:blank:]]groff[[:blank:]]version[[:blank:]]/d
-+ /^%DVIPSSource:[[:blank:]]/d
-+ ' "$f"
-+ done
-+ ;;
-+ *pdf)
-+ # PDF files contain a unique ID, remove it
-+ # Format of the ID is:
-+ # /ID [<9ACE247A70CF9BEAFEE15E116259BD6D> <9ACE247A70CF9BEAFEE15E116259BD6D>]
-+ # with optional spaces. pdftex creates also:
-+ # /CreationDate (D:20120103083206Z)
-+ # /ModDate (D:20120103083206Z)
-+ # and possibly XML metadata as well
-+ for f in "old/$file" "new/$file"; do
-+ sed -i \
-+ '/obj/,/endobj/{
-+ s%/ID \?\[ \?<[^>]\+> \?<[^>]\+> \?\]%/IDrandom%g;
-+ s%/CreationDate \?(D:[^)]*)%/CreationDate (D: XXX)%g;
-+ s%/ModDate \?(D:[^)]*)%/ModDate (D: XXX)%g;
-+ s%<pdf:CreationDate>[^<]*</pdf:CreationDate>%<pdf:CreationDate>XXX</pdf:CreationDate>%g;
-+ s%<pdf:ModDate>[^<]*</pdf:ModDate>%<pdf:ModDate>XXX</pdf:ModDate>%g;
-+ s%<xap:CreateDate>[^<]*</xap:CreateDate>%<xap:CreateDate>XXX</xap:CreateDate>%g;
-+ s%<xap:ModifyDate>[^<]*</xap:ModifyDate>%<xap:ModifyDate>XXX</xap:ModifyDate>%g;
-+ s%<xap:MetadataDate>[^<]*</xap:MetadataDate>%<xap:MetadataDate>XXX</xap:MetadataDate>%g;
-+ }' "$f"
-+ done
-+ ;;
-+ esac
-+
-+ ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'`
-+ case $ftype in
-+ PE32\ executable*Mono\/\.Net\ assembly*)
-+ echo "PE32 Mono/.Net assembly: $file"
-+ if [ -x /usr/bin/monodis ] ; then
-+ monodis old/$file 2>/dev/null|sed -e 's/GUID = {.*}/GUID = { 42 }/;'> ${file1}
-+ monodis new/$file 2>/dev/null|sed -e 's/GUID = {.*}/GUID = { 42 }/;'> ${file2}
-+ if ! cmp -s ${file1} ${file2}; then
-+ echo "$file differs ($ftype)"
-+ diff -u ${file1} ${file2}
-+ return 1
-+ fi
-+ else
-+ echo "Cannot compare, no monodis installed"
-+ return 1
-+ fi
-+ ;;
-+ ELF*executable*|ELF*[LM]SB\ shared\ object*)
-+ objdump -d --no-show-raw-insn old/$file | filter_disasm > $file1
-+ if ! test -s $file1; then
-+ # objdump has no idea how to handle it
-+ if ! diff_two_files; then
-+ ret=1
-+ break
-+ fi
-+ fi
-+ elfdiff=
-+ sed -i -e "s,old/,," $file1
-+ objdump -d --no-show-raw-insn new/$file | filter_disasm > $file2
-+ sed -i -e "s,new/,," $file2
-+ if ! diff -u $file1 $file2 > $dfile; then
-+ echo "$file differs in assembler output"
-+ head -n 200 $dfile
-+ elfdiff="1"
-+ fi
-+ echo "" >$file1
-+ echo "" >$file2
-+ # Don't compare .build-id and .gnu_debuglink sections
-+ sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" | tr "\n" " ")"
-+ for section in $sections; do
-+ objdump -s -j $section old/$file | sed "s,^old/,," > $file1
-+ objdump -s -j $section new/$file | sed "s,^new/,," > $file2
-+ if ! diff -u $file1 $file2 > $dfile; then
-+ echo "$file differs in ELF section $section"
-+ head -n 200 $dfile
-+ elfdiff="1"
-+ fi
-+ done
-+ if test -z "$elfdiff"; then
-+ echo "$file: only difference was in build-id or gnu_debuglink, GOOD."
-+ return 0
-+ fi
-+ return 1
-+ ;;
-+ *ASCII*|*text*)
-+ if ! cmp -s old/$file new/$file; then
-+ echo "$file differs ($ftype)"
-+ diff -u old/$file new/$file | head -n 200
-+ return 1
-+ fi
-+ ;;
-+ directory|setuid,\ directory|sticky,\ directory)
-+ # tar might package directories - ignore them here
-+ return 0
-+ ;;
-+ bzip2\ compressed\ data*)
-+ if ! check_compressed_file "$file" "bz2"; then
-+ return 1
-+ fi
-+ ;;
-+ gzip\ compressed\ data*)
-+ if ! check_compressed_file "$file" "gzip"; then
-+ return 1
-+ fi
-+ ;;
-+ XZ\ compressed\ data*)
-+ if ! check_compressed_file "$file" "xz"; then
-+ return 1
-+ fi
-+ ;;
-+ POSIX\ tar\ archive)
-+ mv old/$file{,.tar}
-+ mv new/$file{,.tar}
-+ if ! check_single_file ${file}.tar; then
-+ return 1
-+ fi
-+ ;;
-+ cpio\ archive)
-+ mv old/$file{,.cpio}
-+ mv new/$file{,.cpio}
-+ if ! check_single_file ${file}.cpio; then
-+ return 1
-+ fi
-+ ;;
-+ symbolic\ link\ to\ *)
-+ readlink "old/$file" > $file1
-+ readlink "new/$file" > $file2
-+ if ! diff -u $file1 $file2; then
-+ echo "symlink target for $file differs"
-+ return 1
-+ fi
-+ ;;
-+ *)
-+ if ! diff_two_files; then
-+ return 1
-+ fi
-+ ;;
-+ esac
-+ return 0
-+}
-+
-+# We need /proc mounted for some tests, so check that it's mounted and
-+# complain if not.
-+PROC_MOUNTED=0
-+if [ ! -d /proc/self/ ]; then
-+ echo "/proc is not mounted"
-+ mount -orw -n -tproc none /proc
-+ PROC_MOUNTED=1
-+fi
-+
-+# preserve cmp_spec result for check_all runs
-+ret=$RES
-+for file in $files; do
-+ if ! check_single_file $file; then
-+ ret=1
-+ if test -z "$check_all"; then
-+ break
-+ fi
-+ fi
-+done
-+
-+if [ "$PROC_MOUNTED" -eq "1" ]; then
-+ echo "Unmounting proc"
-+ umount /proc
-+fi
-+
-+rm $file1 $file2 $dfile $rename_script
-+rm -rf $dir
-+if test "$ret" = 0; then
-+ echo "Package content is identical"
-+fi
-+exit $ret
-+# vim: tw=666 ts=2 et
-diff --git a/rpm-check.sh b/rpm-check.sh
-deleted file mode 100755
-index dd47642..0000000
---- a/rpm-check.sh
-+++ /dev/null
-@@ -1,764 +0,0 @@
--#! /bin/bash
--#
--# Copyright (c) 2009, 2010, 2011, 2012 SUSE Linux Product GmbH, Germany.
--# Licensed under GPL v2, see COPYING file for details.
--#
--# Written by Michael Matz and Stephan Coolo
--# Enhanced by Andreas Jaeger
--
--FUNCTIONS=${0%/*}/functions.sh
--
--check_all=
--case $1 in
-- -a | --check-all)
-- check_all=1
-- shift
--esac
--
--if test "$#" != 2; then
-- echo "usage: $0 [-a|--check-all] old.rpm new.rpm"
-- exit 1
--fi
--
--self_script=$(cd $(dirname $0); echo $(pwd)/$(basename $0))
--
--source $FUNCTIONS
--
--oldpkg=`readlink -f $1`
--newpkg=`readlink -f $2`
--rename_script=`mktemp`
--
--if test ! -f "$oldpkg"; then
-- echo "can't open $1"
-- exit 1
--fi
--
--if test ! -f "$newpkg"; then
-- echo "can't open $2"
-- exit 1
--fi
--
--#usage unjar <file>
--function unjar()
--{
-- local file
-- file=$1
--
-- if [[ $(type -p fastjar) ]]; then
-- UNJAR=fastjar
-- elif [[ $(type -p jar) ]]; then
-- UNJAR=jar
-- elif [[ $(type -p unzip) ]]; then
-- UNJAR=unzip
-- else
-- echo "ERROR: jar, fastjar, or unzip is not installed (trying file $file)"
-- exit 1
-- fi
--
-- case $UNJAR in
-- jar|fastjar)
-- # echo jar -xf $file
-- ${UNJAR} -xf $file
-- ;;
-- unzip)
-- unzip -oqq $file
-- ;;
-- esac
--}
--
--# list files in directory
--#usage unjar_l <file>
--function unjar_l()
--{
-- local file
-- file=$1
--
-- if [[ $(type -p fastjar) ]]; then
-- UNJAR=fastjar
-- elif [[ $(type -p jar) ]]; then
-- UNJAR=jar
-- elif [[ $(type -p unzip) ]]; then
-- UNJAR=unzip
-- else
-- echo "ERROR: jar, fastjar, or unzip is not installed (trying file $file)"
-- exit 1
-- fi
--
-- case $UNJAR in
-- jar|fastjar)
-- ${UNJAR} -tf $file
-- ;;
-- unzip)
-- unzip -l $file
-- ;;
-- esac
--}
--
--filter_disasm()
--{
-- sed -e 's/^ *[0-9a-f]\+://' -e 's/\$0x[0-9a-f]\+/$something/' -e 's/callq *[0-9a-f]\+/callq /' -e 's/# *[0-9a-f]\+/# /' -e 's/\(0x\)\?[0-9a-f]\+(/offset(/' -e 's/[0-9a-f]\+ </</' -e 's/^<\(.*\)>:/\1:/' -e 's/<\(.*\)+0x[0-9a-f]\+>/<\1 + ofs>/'
--}
--
--echo "Comparing `basename $oldpkg` to `basename $newpkg`"
--
--case $oldpkg in
-- *.rpm)
-- cmp_spec $rename_script $oldpkg $newpkg
-- RES=$?
-- case $RES in
-- 0)
-- echo "RPM meta information is identical"
-- if test -z "$check_all"; then
-- exit 0
-- fi
-- ;;
-- 1)
-- echo "RPM meta information is different"
-- if test -z "$check_all"; then
-- exit 1
-- fi
-- ;;
-- 2)
-- echo "RPM file checksum differs."
-- RES=0
-- ;;
-- *)
-- echo "Wrong exit code!"
-- exit 1
-- ;;
-- esac
-- ;;
--esac
--
--file1=`mktemp`
--file2=`mktemp`
--
--dir=`mktemp -d`
--echo "Extracting packages"
--unpackage $oldpkg $dir/old
--unpackage $newpkg $dir/new
--
--# files is set in cmp_spec for rpms, so if RES is empty we should assume
--# it wasn't an rpm and pick all files for comparison.
--if [ -z $RES ]; then
-- oldfiles=`cd $dir/old; find . -type f`
-- newfiles=`cd $dir/new; find . -type f`
--
-- files=`echo -e "$oldfiles\n$newfiles" | sort -u`
--fi
--
--cd $dir
--bash $rename_script
--
--dfile=`mktemp`
--
--diff_two_files()
--{
-- if ! cmp -s old/$file new/$file; then
-- echo "$file differs ($ftype)"
-- hexdump -C old/$file > $file1
-- hexdump -C new/$file > $file2
-- diff -u $file1 $file2 | head -n 200
-- return 1
-- fi
-- return 0
--}
--
--trim_man_first_line()
--{
-- # Handles the first line if it is like:
-- #.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
-- #.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3.
-- local f=$1
-- sed -i -e '1{
-- s|^\.\\"[[:blank:]]\+Automatically[[:blank:]]generated[[:blank:]]by[[:blank:]]Pod::Man[[:blank:]].*|.\\" Overly verbose Pod::Man|
-- s|^\.\\"[[:blank:]]\+DO[[:blank:]]NOT[[:blank:]]MODIFY[[:blank:]]THIS[[:blank:]]FILE![[:blank:]]\+It[[:blank:]]was[[:blank:]]generated[[:blank:]]by[[:blank:]]help2man[[:blank:]].*|.\\" Overly verbose help2man|
-- }' $f
--}
--
--trim_man_TH()
--{
-- # Handles lines like:
-- # .TH debhelper 7 "2010-02-27" "7.4.15" "Debhelper"
-- # .TH DIRMNGR-CLIENT 1 2010-02-27 "Dirmngr 1.0.3" "GNU Privacy Guard"
-- # .TH ccmake 1 "March 06, 2010" "ccmake 2.8.1-rc3"
-- # .TH QEMU-IMG 1 "2010-03-14" " " " "
-- # .TH kdecmake 1 "May 07, 2010" "cmake 2.8.1"
-- # .TH "appender.h" 3 "12 May 2010" "Version 1.2.1" "log4c" \" -*- nroff -*-
-- # .TH "appender.h" 3 "Tue Aug 31 2010" "Version 1.2.1" "log4c" \" -*- nroff -*-
-- # .TH "OFFLINEIMAP" "1" "11 May 2010" "John Goerzen" "OfflineIMAP Manual"
-- # .TH gv 3guile "13 May 2010"
-- #.TH "GIT\-ARCHIMPORT" "1" "09/13/2010" "Git 1\&.7\&.1" "Git Manual"
-- # .TH LDIRECTORD 8 "2010-10-20" "perl v5.12.2" "User Contributed Perl Documentation"
-- # .TH ccmake 1 "February 05, 2012" "ccmake 2.8.7"
-- # .TH "appender.h" 3 "Tue Aug 31 2010" "Version 1.2.1" "log4c" \" -*- nroff -*-
-- # .TH ARCH "1" "September 2010" "GNU coreutils 8.5" "User Commands"
-- # .TH "GCM-CALIBRATE" "1" "03 February 2012" "" ""
-- #.TH Locale::Po4a::Xml.pm 3pm "2015-01-30" "Po4a Tools" "Po4a Tools"
-- local f=$1
-- # (.TH quoted section) (quoted_date)(*)
-- sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1 "qq2000-01-01"\3|' $f
-- # (.TH unquoted section) (quoted_date)(*)
-- sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+[^"][^[:blank:]]\+[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\("[^"]\+"\)\([[:blank:]]\+.*\)\?|\1 "uq2000-02-02"\3|' $f
-- # (.TH quoted section) (unquoted_date)(*)
-- sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+"[^"]\+"[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\([^"][^[:blank:]]\+\)\([[:blank:]]\+.*\)\?|\1 qu2000-03-03\3|' $f
-- # (.TH unquoted section) (unquoted_date)(*)
-- sed -i -e 's|^\([[:blank:]]*\.TH[[:blank:]]\+[^"][^[:blank:]]\+[[:blank:]]\+[^[:blank:]]\+\)[[:blank:]]\+\([^"][^[:blank:]]\+\)\([[:blank:]]\+.*\)\?|\1 uu2000-04-04\3|' $f
--}
--
--strip_numbered_anchors()
--{
-- # Remove numbered anchors on Docbook / HTML files.
-- # This should be save since we remove them from old and new files.
-- # A trailing </a> or </div> tag will stay also on both files.
-- for f in old/$file new/$file; do
-- sed -i -e 's%<[ ]*a[ ]\+name[^<]*[0-9]\+[^<]*%%g' \
-- -e 's%<[ ]*a[ ]\+href[^<]*#[^<]*[0-9]\+[^<]*%%g' \
-- -e 's%<[^<]*id="ftn\.[^<]*[0-9]\+[^<]*%%g' $f
-- done
--}
--
--
--check_compressed_file()
--{
-- local file=$1
-- local ext=$2
-- local tmpdir=`mktemp -d`
-- local ftype
-- local ret=0
-- echo "$ext file with odd filename: $file"
-- if test -n "$tmpdir"; then
-- mkdir $tmpdir/{old,new}
-- cp --parents --dereference old/$file $tmpdir/
-- cp --parents --dereference new/$file $tmpdir/
-- if pushd $tmpdir > /dev/null ; then
-- case "$ext" in
-- bz2)
-- mv old/$file{,.bz2}
-- mv new/$file{,.bz2}
-- bzip2 -d old/$file.bz2
-- bzip2 -d new/$file.bz2
-- ;;
-- gzip)
-- mv old/$file{,.gz}
-- mv new/$file{,.gz}
-- gzip -d old/$file.gz
-- gzip -d new/$file.gz
-- ;;
-- xz)
-- mv old/$file{,.xz}
-- mv new/$file{,.xz}
-- xz -d old/$file.xz
-- xz -d new/$file.xz
-- ;;
-- esac
-- ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'`
-- case $ftype in
-- POSIX\ tar\ archive)
-- echo "$ext content is: $ftype"
-- mv old/$file{,.tar}
-- mv new/$file{,.tar}
-- if ! check_single_file ${file}.tar; then
-- ret=1
-- fi
-- ;;
-- ASCII\ cpio\ archive\ *)
-- echo "$ext content is: $ftype"
-- mv old/$file{,.cpio}
-- mv new/$file{,.cpio}
-- if ! check_single_file ${file}.cpio; then
-- ret=1
-- fi
-- ;;
-- *)
-- echo "unhandled $ext content: $ftype"
-- if ! diff_two_files; then
-- ret=1
-- fi
-- ;;
-- esac
-- popd > /dev/null
-- fi
-- rm -rf "$tmpdir"
-- fi
-- return $ret
--}
--
--check_single_file()
--{
-- local file="$1"
-- case $file in
-- *.spec)
-- sed -i -e "s,Release:.*$release1,Release: @RELEASE@," old/$file
-- sed -i -e "s,Release:.*$release2,Release: @RELEASE@," new/$file
-- ;;
-- *.exe.mdb|*.dll.mdb)
-- # Just debug information, we can skip them
-- echo "$file skipped as debug file."
-- return 0
-- ;;
-- *.a)
-- flist=`ar t new/$file`
-- pwd=$PWD
-- fdir=`dirname $file`
-- cd old/$fdir
-- ar x `basename $file`
-- cd $pwd/new/$fdir
-- ar x `basename $file`
-- cd $pwd
-- for f in $flist; do
-- if ! check_single_file $fdir/$f; then
-- return 1
-- fi
-- done
-- return 0
-- ;;
-- *.cpio)
-- flist=`cpio --quiet --list --force-local < "new/$file"`
-- pwd=$PWD
-- fdir=$file.extract.$PPID.$$
-- mkdir old/$fdir new/$fdir
-- cd old/$fdir
-- cpio --quiet --extract --force-local < "../${file##*/}"
-- cd $pwd/new/$fdir
-- cpio --quiet --extract --force-local < "../${file##*/}"
-- cd $pwd
-- local ret=0
-- for f in $flist; do
-- if ! check_single_file $fdir/$f; then
-- ret=1
-- if test -z "$check_all"; then
-- break
-- fi
-- fi
-- done
-- rm -rf old/$fdir new/$fdir
-- return $ret
-- ;;
-- *.tar|*.tar.bz2|*.tar.gz|*.tgz|*.tbz2)
-- flist=`tar tf new/$file`
-- pwd=$PWD
-- fdir=`dirname $file`
-- cd old/$fdir
-- tar xf `basename $file`
-- cd $pwd/new/$fdir
-- tar xf `basename $file`
-- cd $pwd
-- local ret=0
-- for f in $flist; do
-- if ! check_single_file $fdir/$f; then
-- ret=1
-- if test -z "$check_all"; then
-- break
-- fi
-- fi
-- done
-- return $ret
-- ;;
-- *.zip|*.jar|*.war)
-- cd old
-- unjar_l ./$file |sort > flist
-- # 10-05-2010 14:39
-- sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ," flist
-- # 2012-02-03 07:59
-- sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , date ," flist
-- cd ../new
-- unjar_l ./$file |sort> flist
-- sed -i -e "s, [0-9][0-9]-[0-9][0-9]-[0-9]\+ [0-9][0-9]:[0-9][0-9] , date ,; " flist
-- sed -i -e "s, 20[0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] , date ," flist
-- cd ..
-- if ! cmp -s old/flist new/flist; then
-- echo "$file has different file list"
-- diff -u old/flist new/flist
-- return 1
-- fi
-- flist=`grep date new/flist | sed -e 's,.* date ,,'`
-- pwd=$PWD
-- fdir=`dirname $file`
-- cd old/$fdir
-- unjar `basename $file`
-- cd $pwd/new/$fdir
-- unjar `basename $file`
-- cd $pwd
-- local ret=0
-- for f in $flist; do
-- if test -f new/$fdir/$f && ! check_single_file $fdir/$f; then
-- ret=1
-- if test -z "$check_all"; then
-- break
-- fi
-- fi
-- done
-- return $ret;;
-- *.pyc|*.pyo)
-- perl -e "open fh, '+<', 'old/$file'; seek fh, 4, SEEK_SET; print fh '0000';"
-- perl -e "open fh, '+<', 'new/$file'; seek fh, 4, SEEK_SET; print fh '0000';"
-- ;;
-- *.bz2)
-- bunzip2 -c old/$file > old/${file/.bz2/}
-- bunzip2 -c new/$file > new/${file/.bz2/}
-- check_single_file ${file/.bz2/}
-- return $?
-- ;;
-- *.gz)
-- gunzip -c old/$file > old/${file/.gz/}
-- gunzip -c new/$file > new/${file/.gz/}
-- check_single_file ${file/.gz/}
-- return $?
-- ;;
-- *.rpm)
-- $self_script -a old/$file new/$file
-- return $?
-- ;;
-- *png)
-- # Try to remove timestamps, only if convert from ImageMagick is installed
-- if [[ $(type -p convert) ]]; then
-- convert old/$file +set date:create +set date:modify old/${file/.png/_n.png}
-- convert old/$file +set date:create +set date:modify new/${file/.png/_n.png}
-- if ! cmp -s old/${file/.png/_n.png} new/${file/.png/_n.png}; then
-- echo "$file differs ($ftype)"
-- hexdump -C old/${file/.png/_n.png} > $file1
-- hexdump -C new/${file/.png/_n.png} > $file2
-- diff -u $file1 $file2 | head -n 20
-- return 1
-- fi
-- return 0
-- fi
-- ;;
-- /usr/share/locale/*/LC_MESSAGES/*.mo|/usr/share/locale-bundle/*/LC_MESSAGES/*.mo)
-- for f in old/$file new/$file; do
-- sed -i -e "s,POT-Creation-Date: ....-..-.. ..:..+....,POT-Creation-Date: 1970-01-01 00:00+0000," $f
-- done
-- ;;
-- /usr/share/doc/packages/*/*.html|\
-- /usr/share/doc/kde/HTML/*/*/*.html|/usr/share/doc/*/html/*.html)
-- for f in old/$file new/$file; do
-- # texi2html output, e.g. in kvm, indent, qemu
-- sed -i -e "s|^<!-- Created on .*, 20.. by texi2html .\...|<!-- Created on August 7, 2009 by texi2html 1.82|" $f
-- sed -i -e 's|^ *This document was generated by <em>Autobuild</em> on <em>.*, 20..</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html .\...</em></a>.$| This document was generated by <em>Autobuild</em> on <em>August 7, 2009</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.82</em></a>.|' $f
-- # doxygen docu, e.g. in libssh and log4c
-- sed -i -e 's|Generated on ... ... [0-9]* [0-9]*:[0-9][0-9]:[0-9][0-9] 20[0-9][0-9] for |Generated on Mon May 10 20:45:00 2010 for |' $f
-- # Generated on Sat Aug 14 2010 16:49:48 for libssh
-- sed -i -e 's|Generated on ... ... [0-9]* 20[0-9][0-9] [0-9]*:[0-9][0-9]:[0-9][0-9] for |Generated on Mon May 10 20:45:00 2010 for |' $f
-- done
-- strip_numbered_anchors
-- ;;
-- /usr/share/javadoc/*.html |\
-- /usr/share/javadoc/*/*.html|/usr/share/javadoc/*/*/*.html)
-- strip_numbered_anchors
-- # There are more timestamps in html, so far we handle only some primitive versions.
-- for f in old/$file new/$file; do
-- # Javadoc:
-- # <head>
-- # <!-- Generated by javadoc (version 1.7.0_75) on Tue Feb 03 02:20:12 GMT 2015 -->
-- # <!-- Generated by javadoc on Tue Feb 03 00:02:48 GMT 2015 -->
-- # <meta name="date" content="2015-02-03">
-- # </head>
-- sed -i -e '
-- /^<head>/{
-- : next
-- n
-- /^<\/head>/{
-- b end_head
-- }
-- s/^\(<!-- Generated by javadoc\) \((\(build\|version\) [0-9._]\+) on ... ... .. ..:..:.. \(GMT\|UTC\) ....\) \(-->\)/\1 some-date-removed-by-build-compare \5/
-- t next
-- s/^\(<!-- Generated by javadoc\) \(on ... ... .. ..:..:.. \(GMT\|UTC\) ....\) \(-->\)/\1 some-date-removed-by-build-compare \3/
-- t next
-- s/^<meta name="date" content="[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}">/<meta name="date" content="some-date-removed-by-build-compare">/
-- b next
-- }
-- : end_head
-- ' $f
-- # Gjdoc HtmlDoclet:
-- sed -i -e 's%Generated by Gjdoc HtmlDoclet [0-9,.]*, part of <a href="http://www.gnu.org/software/classpath/cp-tools/" title="" target="_top">GNU Classpath Tools</a>, on .*, 20.. [0-9]*:..:.. \(a\|p\)\.m\. GMT.%Generated by Gjdoc.%' $f
-- sed -i -e 's%<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN"\(.*\)GNU Classpath Tools</a>, on [A-Z][a-z]* [0-9]*, 20?? [0-9]*:??:?? \(a|p\)\.m\. GMT.</p>%<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN"\1GNU Classpath Tools</a>, on January 1, 2009 0:00:00 a.m. GMT.</p>%' $f
-- sed -i -e 's%<!DOCTYPE html PUBLIC "-//gnu.org///DTD\(.*GNU Classpath Tools</a>\), on [a-zA-Z]* [0-9][0-9], 20.. [0-9]*:..:.. \(a\|p\)\.m\. GMT.</p>%<!DOCTYPE html PUBLIC "-//gnu.org///DTD\1,on May 1, 2010 1:11:42 p.m. GMT.</p>%' $f
-- # deprecated-list is randomly ordered, sort it for comparison
-- case $f in
-- */deprecated-list.html)
-- sort -o $f $f
-- ;;
-- esac
-- done
-- ;;
-- /usr/share/javadoc/gjdoc.properties |\
-- /usr/share/javadoc/*/gjdoc.properties)
-- for f in old/$file new/$file; do
-- sed -i -e 's|^#[A-Z][a-z]\{2\} [A-Z][a-z]\{2\} [0-9]\{2\} ..:..:.. GMT 20..$|#Fri Jan 01 11:27:36 GMT 2009|' $f
-- done
-- ;;
-- */fonts.scale|*/fonts.dir|*/encodings.dir)
-- for f in old/$file new/$file; do
-- # sort files before comparing
-- sort -o $f $f
-- done
-- ;;
-- /var/adm/perl-modules/*)
-- for f in old/$file new/$file; do
-- sed -i -e 's|^=head2 ... ... .. ..:..:.. ....: C<Module>|=head2 Wed Jul 1 00:00:00 2009: C<Module>|' $f
-- done
-- ;;
-- /usr/share/man/man3/*3pm)
-- for f in old/$file new/$file; do
-- sed -i -e 's| 3 "20..-..-.." "perl v5....." "User Contributed Perl Documentation"$| 3 "2009-01-01" "perl v5.10.0" "User Contributed Perl Documentation"|' $f
-- trim_man_TH $f
-- trim_man_first_line $f
-- done
-- ;;
-- /usr/share/man/*/man*|/usr/share/man/man*|/usr/lib/texmf/doc/man/*/*)
--
-- for f in old/$file new/$file; do
-- trim_man_TH $f
-- trim_man_first_line $f
-- # generated by docbook xml:
-- #.\" Date: 09/13/2010
-- sed -i -e 's|Date: [0-1][0-9]/[0-9][0-9]/201[0-9]|Date: 09/13/2010|' $f
-- done
-- ;;
-- *.elc)
-- # emacs lisp files
-- for f in old/$file new/$file; do
-- sed -i -e 's|Compiled by abuild@.* on ... ... .. ..:..:.. 20..$|compiled by abuild@buildhost on Wed Jul 01 00:00:00 2009|' $f
-- done
-- ;;
-- /var/lib/texmf/web2c/*/*fmt |\
-- /var/lib/texmf/web2c/metafont/*.base|\
-- /var/lib/texmf/web2c/metapost/*.mem)
-- # binary dump of TeX and Metafont formats, we can ignore them for good
-- echo "difference in $file ignored."
-- return 0
-- ;;
-- */libtool)
-- for f in old/$file new/$file; do
-- sed -i -e 's|^# Libtool was configured on host [A-Za-z0-9]*:$|# Libtool was configured on host x42:|' $f
-- done
-- ;;
-- /etc/mail/*cf|/etc/sendmail.cf)
-- # from sendmail package
-- for f in old/$file new/$file; do
-- # - ##### built by abuild@build33 on Thu May 6 11:21:17 UTC 2010
-- sed -i -e 's|built by abuild@[a-z0-9]* on ... ... [0-9]* [0-9]*:[0-9][0-9]:[0-9][0-9] .* 20[0-9][0-9]|built by abuild@build42 on Thu May 6 11:21:17 UTC 2010|' $f
-- done
-- ;;
-- /usr/share/doc/kde/HTML/*/*/index.cache|/usr/share/doc/kde/HTML/*/*/*/index.cache|\
-- /usr/share/gtk-doc/html/*/*.html|/usr/share/gtk-doc/html/*/*.devhelp2)
-- # various kde and gtk packages
-- strip_numbered_anchors
-- ;;
-- */created.rid)
-- # ruby documentation
-- # file just contains a timestamp and nothing else, so ignore it
-- echo "Ignore $file"
-- return 0
-- ;;
-- */rdoc/files/*.html)
-- # ruby documentation
-- # <td>Mon Sep 20 19:02:43 +0000 2010</td>
-- for f in old/$file new/$file; do
-- sed -i -e 's%<td>[A-Z][a-z][a-z] [A-Z][a-z][a-z] [0-9]\+ [0-9]\+:[0-9]\+:[0-9]\+ +0000 201[0-9]</td>%<td>Mon Sep 20 19:02:43 +0000 2010</td>%g' $f
-- done
-- strip_numbered_anchors
-- ;;
-- */Linux*Env.Set.sh)
-- # LibreOffice files, contains:
-- # Generated on: Mon Apr 18 13:19:22 UTC 2011
-- for f in old/$file new/$file; do
-- sed -i -e 's%^# Generated on:.*UTC 201[0-9] *$%# Generated on: Sometime%g' $f
-- done
-- ;;
-- /usr/lib/libreoffice/solver/inc/*/deliver.log)
-- # LibreOffice log file
-- echo "Ignore $file"
-- return 0
-- ;;
-- /var/adm/update-messages/*|/var/adm/update-scripts/*)
-- # encode version-release inside
-- oldfn=`echo "$file"|sed -e s/-$release2/-$release1/;`
--
-- # fetchmsttfonts embeds the release number in the update shell script.
-- echo sed -i -e "s/-$release1/-$release2/g;" "old/$oldfn"
-- sed -i -e "s/-$release1/-$release2/g;" "old/$oldfn"
--
-- if ! diff -u old/$oldfn new/$file; then
-- echo "$oldfn is not same as $file"
-- return 1
-- fi
-- echo "$file and $oldfn are same"
-- return 0
-- ;;
-- *.ps)
-- for f in "old/$file" "new/$file"; do
-- sed -i -e '
-- /^%%CreationDate:[[:blank:]]/d
-- /^%%Creator:[[:blank:]]groff[[:blank:]]version[[:blank:]]/d
-- ' "$f"
-- done
-- ;;
-- *pdf)
-- # PDF files contain a unique ID, remove it
-- # Format of the ID is:
-- # /ID [<9ACE247A70CF9BEAFEE15E116259BD6D> <9ACE247A70CF9BEAFEE15E116259BD6D>]
-- # with optional spaces. pdftex creates also:
-- # /CreationDate (D:20120103083206Z)
-- # /ModDate (D:20120103083206Z)
-- # and possibly XML metadata as well
-- for f in "old/$file" "new/$file"; do
-- sed -i \
-- '/obj/,/endobj/{
-- s%/ID \?\[ \?<[^>]\+> \?<[^>]\+> \?\]%/IDrandom%g;
-- s%/CreationDate \?(D:[^)]*)%/CreationDate (D: XXX)%g;
-- s%/ModDate \?(D:[^)]*)%/ModDate (D: XXX)%g;
-- s%<pdf:CreationDate>[^<]*</pdf:CreationDate>%<pdf:CreationDate>XXX</pdf:CreationDate>%g;
-- s%<pdf:ModDate>[^<]*</pdf:ModDate>%<pdf:ModDate>XXX</pdf:ModDate>%g;
-- s%<xap:CreateDate>[^<]*</xap:CreateDate>%<xap:CreateDate>XXX</xap:CreateDate>%g;
-- s%<xap:ModifyDate>[^<]*</xap:ModifyDate>%<xap:ModifyDate>XXX</xap:ModifyDate>%g;
-- s%<xap:MetadataDate>[^<]*</xap:MetadataDate>%<xap:MetadataDate>XXX</xap:MetadataDate>%g;
-- }' "$f"
-- done
-- ;;
-- esac
--
-- ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'`
-- case $ftype in
-- PE32\ executable*Mono\/\.Net\ assembly*)
-- echo "PE32 Mono/.Net assembly: $file"
-- if [ -x /usr/bin/monodis ] ; then
-- monodis old/$file 2>/dev/null|sed -e 's/GUID = {.*}/GUID = { 42 }/;'> ${file1}
-- monodis new/$file 2>/dev/null|sed -e 's/GUID = {.*}/GUID = { 42 }/;'> ${file2}
-- if ! cmp -s ${file1} ${file2}; then
-- echo "$file differs ($ftype)"
-- diff -u ${file1} ${file2}
-- return 1
-- fi
-- else
-- echo "Cannot compare, no monodis installed"
-- return 1
-- fi
-- ;;
-- ELF*executable*|ELF*[LM]SB\ shared\ object*)
-- objdump -d --no-show-raw-insn old/$file | filter_disasm > $file1
-- if ! test -s $file1; then
-- # objdump has no idea how to handle it
-- if ! diff_two_files; then
-- ret=1
-- break
-- fi
-- fi
-- elfdiff=
-- sed -i -e "s,old/,," $file1
-- objdump -d --no-show-raw-insn new/$file | filter_disasm > $file2
-- sed -i -e "s,new/,," $file2
-- if ! diff -u $file1 $file2 > $dfile; then
-- echo "$file differs in assembler output"
-- head -n 200 $dfile
-- elfdiff="1"
-- fi
-- echo "" >$file1
-- echo "" >$file2
-- # Don't compare .build-id and .gnu_debuglink sections
-- sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" | tr "\n" " ")"
-- for section in $sections; do
-- objdump -s -j $section old/$file | sed "s,^old/,," > $file1
-- objdump -s -j $section new/$file | sed "s,^new/,," > $file2
-- if ! diff -u $file1 $file2 > $dfile; then
-- echo "$file differs in ELF section $section"
-- head -n 200 $dfile
-- elfdiff="1"
-- fi
-- done
-- if test -z "$elfdiff"; then
-- echo "$file: only difference was in build-id or gnu_debuglink, GOOD."
-- return 0
-- fi
-- return 1
-- ;;
-- *ASCII*|*text*)
-- if ! cmp -s old/$file new/$file; then
-- echo "$file differs ($ftype)"
-- diff -u old/$file new/$file | head -n 200
-- return 1
-- fi
-- ;;
-- directory|setuid,\ directory|sticky,\ directory)
-- # tar might package directories - ignore them here
-- return 0
-- ;;
-- bzip2\ compressed\ data*)
-- if ! check_compressed_file "$file" "bz2"; then
-- return 1
-- fi
-- ;;
-- gzip\ compressed\ data*)
-- if ! check_compressed_file "$file" "gzip"; then
-- return 1
-- fi
-- ;;
-- XZ\ compressed\ data*)
-- if ! check_compressed_file "$file" "xz"; then
-- return 1
-- fi
-- ;;
-- POSIX\ tar\ archive)
-- mv old/$file{,.tar}
-- mv new/$file{,.tar}
-- if ! check_single_file ${file}.tar; then
-- return 1
-- fi
-- ;;
-- cpio\ archive)
-- mv old/$file{,.cpio}
-- mv new/$file{,.cpio}
-- if ! check_single_file ${file}.cpio; then
-- return 1
-- fi
-- ;;
-- symbolic\ link\ to\ *)
-- readlink "old/$file" > $file1
-- readlink "new/$file" > $file2
-- if ! diff -u $file1 $file2; then
-- echo "symlink target for $file differs"
-- return 1
-- fi
-- ;;
-- *)
-- if ! diff_two_files; then
-- return 1
-- fi
-- ;;
-- esac
-- return 0
--}
--
--# We need /proc mounted for some tests, so check that it's mounted and
--# complain if not.
--PROC_MOUNTED=0
--if [ ! -d /proc/self/ ]; then
-- echo "/proc is not mounted"
-- mount -orw -n -tproc none /proc
-- PROC_MOUNTED=1
--fi
--
--# preserve cmp_spec result for check_all runs
--ret=$RES
--for file in $files; do
-- if ! check_single_file $file; then
-- ret=1
-- if test -z "$check_all"; then
-- break
-- fi
-- fi
--done
--
--if [ "$PROC_MOUNTED" -eq "1" ]; then
-- echo "Unmounting proc"
-- umount /proc
--fi
--
--rm $file1 $file2 $dfile $rename_script
--rm -rf $dir
--if test "$ret" = 0; then
-- echo "Package content is identical"
--fi
--exit $ret
--# vim: tw=666 ts=2 et
-diff --git a/same-build-result.sh b/same-build-result.sh
-index c8907e2..7e9bd4f 100644
---- a/same-build-result.sh
-+++ b/same-build-result.sh
-@@ -7,11 +7,11 @@
- # Enhanced by Andreas Jaeger <aj@suse.de>
- #
- # The script decides if the new build differes from the former one,
--# using rpm-check.sh.
-+# using pkg-diff.sh.
- # The script is called as part of the build process as:
- # /usr/lib/build/same-build-result.sh /.build.oldpackages /usr/src/packages/RPMS /usr/src/packages/SRPMS
-
--CMPSCRIPT=${0%/*}/rpm-check.sh
-+CMPSCRIPT=${0%/*}/pkg-diff.sh
- SCMPSCRIPT=${0%/*}/srpm-check.sh
-
- check_all=1
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch b/poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch
deleted file mode 100644
index 05420f89f..000000000
--- a/poky/meta/recipes-devtools/build-compare/files/functions.sh-improve-deb-and-ipk-checking.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From b4eb7fde10318162bd2d02b9017ef51746752a91 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 14 Jul 2016 23:14:21 -0700
-Subject: [PATCH 4/4] functions.sh: improve deb and ipk checking
-
-* The deb and ipk's depends version string is like:
- Depends: libc6 (>= 2.24)
- Update trim_release_old and trim_release_new to match the bracket in
- the end ")".
-
-* The deb's data tarball now is .tar.xz, and ipk's is .tar.gz.
-
-* Update adjust_controlfile() to make ituse trim_release_old and
- trim_release_new.
-
-Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- functions.sh | 45 ++++++++++++++++++++++++++++-----------------
- 1 file changed, 28 insertions(+), 17 deletions(-)
-
-diff --git a/functions.sh b/functions.sh
-index aa572f9..fe493ba 100755
---- a/functions.sh
-+++ b/functions.sh
-@@ -78,7 +78,7 @@ check_header()
- function trim_release_old()
- {
- sed -e "
-- /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g}
-+ /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\|$version_release_old_regex_l)\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g}
- s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_old_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g
- s/^ *//g
- "
-@@ -86,7 +86,7 @@ function trim_release_old()
- function trim_release_new()
- {
- sed -e "
-- /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g}
-+ /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\|$version_release_new_regex_l)\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g}
- s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_new_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g
- s/^ *//g
- "
-@@ -133,8 +133,8 @@ function unpackage()
- ar x $file
- tar xf control.tar.gz
- rm control.tar.gz
-- tar xf data.tar.gz
-- rm data.tar.gz
-+ tar xf data.tar.[xg]z
-+ rm data.tar.[xg]z
- ;;
- esac
- popd 1>/dev/null
-@@ -164,6 +164,22 @@ function get_value()
- sed -n -e "/^___${1}___/,/^___${1}___/p" $2 | sed -e "/^___${1}___/d"
- }
-
-+# Set version_release_old_regex_s, version_release_old_regex_l and
-+# name_ver_rel_old_regex_l, also the new ones.
-+function set_regex() {
-+ # Remember to quote the . which is in release
-+ # Short version without B_CN
-+ version_release_old_regex_s=${version_release_old%.*}
-+ version_release_old_regex_s=${version_release_old_regex_s//./\\.}
-+ version_release_new_regex_s=${version_release_new%.*}
-+ version_release_new_regex_s=${version_release_new_regex_s//./\\.}
-+ # Long version with B_CNT
-+ version_release_old_regex_l=${version_release_old//./\\.}
-+ version_release_new_regex_l=${version_release_new//./\\.}
-+ name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.}
-+ name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.}
-+}
-+
- # Compare just the rpm meta data of two rpms
- # Returns:
- # 0 in case of same content
-@@ -194,17 +210,7 @@ function cmp_spec ()
- version_release_old="$(get_value QF_VER_REL $spec_old)"
- name_ver_rel_old="$(get_value QF_NAME_VER_REL $spec_old)"
-
-- # Remember to quote the . which is in release
-- # Short version without B_CN
-- version_release_old_regex_s=${version_release_old%.*}
-- version_release_old_regex_s=${version_release_old_regex_s//./\\.}
-- version_release_new_regex_s=${version_release_new%.*}
-- version_release_new_regex_s=${version_release_new_regex_s//./\\.}
-- # Long version with B_CNT
-- version_release_old_regex_l=${version_release_old//./\\.}
-- version_release_new_regex_l=${version_release_new//./\\.}
-- name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.}
-- name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.}
-+ set_regex
-
- # Check the whole spec file at first, return 0 immediately if the
- # are the same.
-@@ -285,9 +291,14 @@ function cmp_spec ()
- }
-
- function adjust_controlfile() {
-- cat $1/control | sed '/^Version: /d' > $1/control.fixed
-+ version_release_old="`sed -ne 's/^Version: \(.*\)/\1/p' $1/control`"
-+ name_ver_rel_old="`sed -n -e 's/^Package: \(.*\)/\1/p' $1/control`-`sed -n -e 's/^Version: \(.*\)/\1/p' $1/control`"
-+ version_release_new="`sed -ne 's/^Version: \(.*\)/\1/p' $2/control`"
-+ name_ver_rel_new="`sed -n -e 's/^Package: \(.*\)/\1/p' $2/control`-`sed -n -e 's/^Version: \(.*\)/\1/p' $2/control`"
-+ set_regex
-+ cat $1/control | trim_release_old > $1/control.fixed
- mv $1/control.fixed $1/control
-- cat $2/control | sed '/^Version: /d' > $2/control.fixed
-+ cat $2/control | trim_release_new > $2/control.fixed
- mv $2/control.fixed $2/control
- }
-
---
-2.9.0
-
diff --git a/poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch b/poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch
deleted file mode 100644
index 02e96bab5..000000000
--- a/poky/meta/recipes-devtools/build-compare/files/functions.sh-remove-space-at-head.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 402a821e604f280e62c34bf4d40c6d1b4c6c892d Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 4 Jul 2016 20:11:33 -0700
-Subject: [PATCH] functions.sh: remove space at head
-
-The command like:
-rpm -qp --nodigest --nosignature --qf '<foo> [%{REQUIRENAME}\n]\n'
- ^^space
-
-The space will be printed, and will impact the check result, so remove it.
-
-Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/9]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- functions.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/functions.sh b/functions.sh
-index 85c9003..b1069d2 100644
---- a/functions.sh
-+++ b/functions.sh
-@@ -26,6 +26,7 @@ function trim_release_old()
- sed -e "
- /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_old_regex_l\$\)/{s,$version_release_old_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_old_regex_s,@VERSION@-@RELEASE_SHORT@,g}
- s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_old_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g
-+ s/^ *//g
- "
- }
- function trim_release_new()
-@@ -33,6 +34,7 @@ function trim_release_new()
- sed -e "
- /\(\/boot\|\/lib\/modules\|\/lib\/firmware\|\/usr\/src\|$version_release_new_regex_l\$\)/{s,$version_release_new_regex_l,@VERSION@-@RELEASE_LONG@,g;s,$version_release_new_regex_s,@VERSION@-@RELEASE_SHORT@,g}
- s/\(\/var\/adm\/update-scripts\/\)${name_ver_rel_new_regex_l}\([^[:blank:]]\+\)/\1@NAME_VER_REL@\2/g
-+ s/^ *//g
- "
- }
- # Get single directory or filename with long or short release string
---
-2.9.0
-
diff --git a/poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch b/poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch
deleted file mode 100644
index f5b99d944..000000000
--- a/poky/meta/recipes-devtools/build-compare/files/functions.sh-run-rpm-once-to-make-it-faster.patch
+++ /dev/null
@@ -1,361 +0,0 @@
-From f34d632c427b1e1570ef9136454fc01d8c9f10a6 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 7 Jul 2016 19:34:09 -0700
-Subject: [PATCH] functions.sh: run rpm once to make it faster
-
-The rpm tool is a heavy process, it ran 16 (or 17 for kernel)
-"rpm -qp" times when the pkgs are identical, now we only run
-"rpm -qp --qf <all we need>" twice (one is for old pkg, and one is for
-new), save the results to spec_old and spec_new, then use sed command to
-get what we need later, this can make it 75% faster when the pkgs are
-identical. Here is the rough data on my host Ubuntu 14.04.4, 32 cores
-CPU and 128G mem:
-* When the pkgs are identical:
- - Before the patch: 1s
- - After the patch: 0.26s
- I compare the whole spec firstly, and return 0 if they are the same,
- or go on checking one by one if not, without this, it would be 0.46s,
- the gain is great when there are lot of packages, usually, we have
- more than 10,000 rpms to compare.
-
-* When the pkgs are different:
- That depends on where is the different, if the different is at the
- comparing rpmtags stage:
- - Before the patch: 0.26s
- - After the patch: 0.29s
- Increased 0.03s, but if the different is happend later than comparing
- rpmtags, it will save time.
-
-Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/9]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- functions.sh | 245 ++++++++++++++++++++++++++++++++---------------------------
- 1 file changed, 132 insertions(+), 113 deletions(-)
- mode change 100644 => 100755 functions.sh
-
-diff --git a/functions.sh b/functions.sh
-old mode 100644
-new mode 100755
-index b1069d2..aa572f9
---- a/functions.sh
-+++ b/functions.sh
-@@ -10,9 +10,63 @@
-
- RPM="rpm -qp --nodigest --nosignature"
-
--check_header()
-+# Name, Version, Release
-+QF_NAME="%{NAME}"
-+QF_VER_REL="%{VERSION}-%{RELEASE}"
-+QF_NAME_VER_REL="%{NAME}-%{VERSION}-%{RELEASE}"
-+
-+# provides destroy this because at least the self-provide includes the
-+# -buildnumber :-(
-+QF_PROVIDES="[%{PROVIDENAME} %{PROVIDEFLAGS} %{PROVIDEVERSION}\\n]\\n"
-+QF_PROVIDES="$QF_PROVIDES [%{REQUIRENAME} %{REQUIREFLAGS} %{REQUIREVERSION}\\n]\\n"
-+QF_PROVIDES="$QF_PROVIDES [%{CONFLICTNAME} %{CONFLICTFLAGS} %{CONFLICTVERSION}\\n]\\n"
-+QF_PROVIDES="$QF_PROVIDES [%{OBSOLETENAME} %{OBSOLETEFLAGS} %{OBSOLETEVERSION}\\n]\\n"
-+
-+# don't look at RELEASE, it contains our build number
-+QF_TAGS="%{NAME} %{VERSION} %{EPOCH}\\n"
-+QF_TAGS="$QF_TAGS %{SUMMARY}\\n%{DESCRIPTION}\\n"
-+# the DISTURL tag can be used as checkin ID
-+QF_TAGS="$QF_TAGS %{VENDOR} %{DISTRIBUTION} %{DISTURL}"
-+QF_TAGS="$QF_TAGS %{LICENSE} %{LICENSE}\\n"
-+QF_TAGS="$QF_TAGS %{GROUP} %{URL} %{EXCLUDEARCH} %{EXCLUDEOS} %{EXCLUSIVEARCH}\\n"
-+QF_TAGS="$QF_TAGS %{EXCLUSIVEOS} %{RPMVERSION} %{PLATFORM}\\n"
-+QF_TAGS="$QF_TAGS %{PAYLOADFORMAT} %{PAYLOADCOMPRESSOR} %{PAYLOADFLAGS}\\n"
-+
-+# XXX We also need to check the existence (but not the content (!))
-+# of SIGGPG (and perhaps the other SIG*)
-+# XXX We don't look at triggers
-+QF_TAGS="$QF_TAGS [%{VERIFYSCRIPTPROG} %{VERIFYSCRIPT}]\\n"
-+# Only the first ChangeLog entry; should be enough
-+QF_TAGS="$QF_TAGS %{CHANGELOGTIME} %{CHANGELOGNAME} %{CHANGELOGTEXT}\\n"
-+
-+# scripts, might contain release number
-+QF_SCRIPT="[%{PREINPROG} %{PREIN}\\n]\\n[%{POSTINPROG} %{POSTIN}\\n]\\n[%{PREUNPROG} %{PREUN}\\n]\\n[%{POSTUNPROG} %{POSTUN}\\n]\\n"
-+
-+# Now the files. We leave out mtime and size. For normal files
-+# the size will influence the MD5 anyway. For directories the sizes can
-+# differ, depending on which file system the package was built. To not
-+# have to filter out directories we simply ignore all sizes.
-+# Also leave out FILEDEVICES, FILEINODES (depends on the build host),
-+# FILECOLORS, FILECLASS (normally useful but file output contains mtimes),
-+# FILEDEPENDSX and FILEDEPENDSN.
-+# Also FILELANGS (or?)
-+QF_FILELIST="[%{FILENAMES} %{FILEFLAGS} %{FILESTATES} %{FILEMODES:octal} %{FILEUSERNAME} %{FILEGROUPNAME} %{FILERDEVS} %{FILEVERIFYFLAGS} %{FILELINKTOS}\n]\\n"
-+# ??? what to do with FILEPROVIDE and FILEREQUIRE?
-+
-+QF_CHECKSUM="[%{FILENAMES} %{FILEMD5S} %{FILEFLAGS}\n]\\n"
-+
-+QF_ALL="\n___QF_NAME___\n${QF_NAME}\n___QF_NAME___\n"
-+QF_ALL="$QF_ALL\n___QF_TAGS___\n${QF_TAGS}\n___QF_TAGS___\n"
-+QF_ALL="$QF_ALL\n___QF_VER_REL___\n${QF_VER_REL}\n___QF_VER_REL___\n"
-+QF_ALL="$QF_ALL\n___QF_NAME_VER_REL___\n${QF_NAME_VER_REL}\n___QF_NAME_VER_REL___\n"
-+QF_ALL="$QF_ALL\n___QF_PROVIDES___\n${QF_PROVIDES}\n___QF_PROVIDES___\n"
-+QF_ALL="$QF_ALL\n___QF_SCRIPT___\n${QF_SCRIPT}\n___QF_SCRIPT___\n"
-+QF_ALL="$QF_ALL\n___QF_FILELIST___\n${QF_FILELIST}\n___QF_FILELIST___\n"
-+QF_ALL="$QF_ALL\n___QF_CHECKSUM___\n${QF_CHECKSUM}\n___QF_CHECKSUM___\n"
-+
-+check_header()
- {
-- $RPM --qf "$QF" "$1"
-+ $RPM --qf "$1" "$2"
- }
-
- # Trim version-release string:
-@@ -47,18 +101,6 @@ function grep_release_new()
- grep -E "(/boot|/lib/modules|/lib/firmware|/usr/src)/[^/]+(${version_release_new_regex_l}(\$|[^/]+\$)|${version_release_new_regex_s}(\$|[^/]+\$))"
- }
-
--function check_provides()
--{
-- local pkg=$1
-- # provides destroy this because at least the self-provide includes the
-- # -buildnumber :-(
-- QF="[%{PROVIDENAME} %{PROVIDEFLAGS} %{PROVIDEVERSION}\\n]\\n"
-- QF="$QF [%{REQUIRENAME} %{REQUIREFLAGS} %{REQUIREVERSION}\\n]\\n"
-- QF="$QF [%{CONFLICTNAME} %{CONFLICTFLAGS} %{CONFLICTVERSION}\\n]\\n"
-- QF="$QF [%{OBSOLETENAME} %{OBSOLETEFLAGS} %{OBSOLETEVERSION}\\n]\\n"
-- check_header "$pkg"
--}
--
- #usage unpackage <file> $dir
- # Unpack files in directory $dir
- # like /usr/bin/unpackage - just for one file and with no options
-@@ -98,6 +140,30 @@ function unpackage()
- popd 1>/dev/null
- }
-
-+# Run diff command on the files
-+# $1: printed info
-+# $2: file1
-+# $3: file2
-+function comp_file()
-+{
-+ echo "comparing $1"
-+ if ! diff -au $2 $3; then
-+ if test -z "$check_all"; then
-+ rm $2 $3 $spec_old $spec_new
-+ return 1
-+ fi
-+ fi
-+ return 0
-+}
-+
-+# Get var's value from specfile.
-+# $1: var name
-+# $2: specfile
-+function get_value()
-+{
-+ sed -n -e "/^___${1}___/,/^___${1}___/p" $2 | sed -e "/^___${1}___/d"
-+}
-+
- # Compare just the rpm meta data of two rpms
- # Returns:
- # 0 in case of same content
-@@ -107,56 +173,29 @@ function unpackage()
- function cmp_spec ()
- {
- local RES
-- local file1 file2
-+ local file_old file_new
- local f
- local sh=$1
- local oldrpm=$2
- local newrpm=$3
-
-- QF="%{NAME}"
--
-- # don't look at RELEASE, it contains our build number
-- QF="$QF %{VERSION} %{EPOCH}\\n"
-- QF="$QF %{SUMMARY}\\n%{DESCRIPTION}\\n"
-- QF="$QF %{VENDOR} %{DISTRIBUTION} %{DISTURL}"
-- QF="$QF %{LICENSE} %{LICENSE}\\n"
-- QF="$QF %{GROUP} %{URL} %{EXCLUDEARCH} %{EXCLUDEOS} %{EXCLUSIVEARCH}\\n"
-- QF="$QF %{EXCLUSIVEOS} %{RPMVERSION} %{PLATFORM}\\n"
-- QF="$QF %{PAYLOADFORMAT} %{PAYLOADCOMPRESSOR} %{PAYLOADFLAGS}\\n"
--
--
-- # XXX We also need to check the existence (but not the content (!))
-- # of SIGGPG (and perhaps the other SIG*)
--
-- # XXX We don't look at triggers
--
-- QF="$QF [%{VERIFYSCRIPTPROG} %{VERIFYSCRIPT}]\\n"
--
-- # Only the first ChangeLog entry; should be enough
-- QF="$QF %{CHANGELOGTIME} %{CHANGELOGNAME} %{CHANGELOGTEXT}\\n"
--
-- file1=`mktemp`
-- file2=`mktemp`
--
-- check_header $oldrpm > $file1
-- check_header $newrpm > $file2
--
-- # the DISTURL tag can be used as checkin ID
-- #echo "$QF"
-- echo "comparing rpmtags"
-- if ! diff -au $file1 $file2; then
-- if test -z "$check_all"; then
-- rm $file1 $file2
-- return 1
-- fi
-- fi
--
-+ file_old=`mktemp`
-+ file_new=`mktemp`
-+ spec_old=`mktemp`
-+ spec_new=`mktemp`
-+
-+ check_header "$QF_ALL" $oldrpm > $spec_old
-+ check_header "$QF_ALL" $newrpm > $spec_new
-+
-+ name_new="$(get_value QF_NAME $spec_new)"
-+ version_release_new="$(get_value QF_VER_REL $spec_new)"
-+ name_ver_rel_new="$(get_value QF_NAME_VER_REL $spec_new)"
-+
-+ version_release_old="$(get_value QF_VER_REL $spec_old)"
-+ name_ver_rel_old="$(get_value QF_NAME_VER_REL $spec_old)"
-+
- # Remember to quote the . which is in release
-- version_release_old=$($RPM --qf "%{VERSION}-%{RELEASE}" "$oldrpm")
-- version_release_new=$($RPM --qf "%{VERSION}-%{RELEASE}" "$newrpm")
-- name_ver_rel_old=$($RPM --qf "%{NAME}-%{VERSION}-%{RELEASE}" "$oldrpm")
-- name_ver_rel_new=$($RPM --qf "%{NAME}-%{VERSION}-%{RELEASE}" "$newrpm")
-- # Short version without B_CNT
-+ # Short version without B_CN
- version_release_old_regex_s=${version_release_old%.*}
- version_release_old_regex_s=${version_release_old_regex_s//./\\.}
- version_release_new_regex_s=${version_release_new%.*}
-@@ -166,10 +205,27 @@ function cmp_spec ()
- version_release_new_regex_l=${version_release_new//./\\.}
- name_ver_rel_old_regex_l=${name_ver_rel_old//./\\.}
- name_ver_rel_new_regex_l=${name_ver_rel_new//./\\.}
-+
-+ # Check the whole spec file at first, return 0 immediately if the
-+ # are the same.
-+ cat $spec_old | trim_release_old > $file_old
-+ cat $spec_new | trim_release_new > $file_new
-+ echo "comparing the whole specfile"
-+ if diff -au $spec_old $spec_new; then
-+ if test -z "$check_all"; then
-+ rm $file_old $file_new $spec_old $spec_new
-+ return 0
-+ fi
-+ fi
-+
-+ get_value QF_TAGS $spec_old > $file_old
-+ get_value QF_TAGS $spec_new > $file_new
-+ comp_file rpmtags $file_old $file_new || return 1
-+
- # This might happen when?!
- echo "comparing RELEASE"
- if [ "${version_release_old%.*}" != "${version_release_new%.*}" ] ; then
-- case $($RPM --qf '%{NAME}' "$newrpm") in
-+ case $name_new in
- kernel-*)
- # Make sure all kernel packages have the same %RELEASE
- echo "release prefix mismatch"
-@@ -181,71 +237,34 @@ function cmp_spec ()
- *) ;;
- esac
- fi
--
-- check_provides $oldrpm | trim_release_old | sort > $file1
-- check_provides $newrpm | trim_release_new | sort > $file2
--
-- echo "comparing PROVIDES"
-- if ! diff -au $file1 $file2; then
-- if test -z "$check_all"; then
-- rm $file1 $file2
-- return 1
-- fi
-- fi
-
-- # scripts, might contain release number
-- QF="[%{PREINPROG} %{PREIN}\\n]\\n[%{POSTINPROG} %{POSTIN}\\n]\\n[%{PREUNPROG} %{PREUN}\\n]\\n[%{POSTUNPROG} %{POSTUN}\\n]\\n"
-- check_header $oldrpm | trim_release_old > $file1
-- check_header $newrpm | trim_release_new > $file2
-+ get_value QF_PROVIDES $spec_old | trim_release_old | sort > $file_old
-+ get_value QF_PROVIDES $spec_new | trim_release_new | sort > $file_new
-+ comp_file PROVIDES $file_old $file_new || return 1
-+
-+ get_value QF_SCRIPT $spec_old | trim_release_old > $file_old
-+ get_value QF_SCRIPT $spec_new | trim_release_new > $file_new
-+ comp_file scripts $file_old $file_new || return 1
-
-- echo "comparing scripts"
-- if ! diff -au $file1 $file2; then
-- if test -z "$check_all"; then
-- rm $file1 $file2
-- return 1
-- fi
-- fi
--
- # First check the file attributes and later the md5s
--
-- # Now the files. We leave out mtime and size. For normal files
-- # the size will influence the MD5 anyway. For directories the sizes can
-- # differ, depending on which file system the package was built. To not
-- # have to filter out directories we simply ignore all sizes.
-- # Also leave out FILEDEVICES, FILEINODES (depends on the build host),
-- # FILECOLORS, FILECLASS (normally useful but file output contains mtimes),
-- # FILEDEPENDSX and FILEDEPENDSN.
-- # Also FILELANGS (or?)
-- QF="[%{FILENAMES} %{FILEFLAGS} %{FILESTATES} %{FILEMODES:octal} %{FILEUSERNAME} %{FILEGROUPNAME} %{FILERDEVS} %{FILEVERIFYFLAGS} %{FILELINKTOS}\n]\\n"
-- # ??? what to do with FILEPROVIDE and FILEREQUIRE?
--
-- check_header $oldrpm | trim_release_old > $file1
-- check_header $newrpm | trim_release_new > $file2
--
-- echo "comparing filelist"
-- if ! diff -au $file1 $file2; then
-- if test -z "$check_all"; then
-- rm $file1 $file2
-- return 1
-- fi
-- fi
--
-+ get_value QF_FILELIST $spec_old | trim_release_old > $file_old
-+ get_value QF_FILELIST $spec_new | trim_release_new > $file_new
-+ comp_file filelist $file_old $file_new || return 1
-+
- # now the md5sums. if they are different, we check more detailed
- # if there are different filenames, we will already have aborted before
- # file flag 64 means "ghost", filter those out.
-- QF="[%{FILENAMES} %{FILEMD5S} %{FILEFLAGS}\n]\\n"
-- check_header $oldrpm |grep -v " 64$"| trim_release_old > $file1
-- check_header $newrpm |grep -v " 64$"| trim_release_new > $file2
--
-+ get_value QF_CHECKSUM $spec_old | grep -v " 64$" | trim_release_old > $file_old
-+ get_value QF_CHECKSUM $spec_new | grep -v " 64$" | trim_release_new > $file_new
- RES=2
- # done if the same
- echo "comparing file checksum"
-- if cmp -s $file1 $file2; then
-+ if cmp -s $file_old $file_new; then
- RES=0
- fi
--
-+
- # Get only files with different MD5sums
-- files=`diff -U0 $file1 $file2 | fgrep -v +++ | grep ^+ | cut -b2- | awk '{print $1}'`
-+ files=`diff -U0 $file_old $file_new | fgrep -v +++ | grep ^+ | cut -b2- | awk '{print $1}'`
-
- if test -f "$sh"; then
- echo "creating rename script"
-@@ -261,7 +280,7 @@ function cmp_spec ()
- done >> "${sh}"
- fi
- #
-- rm $file1 $file2
-+ rm $file_old $file_new
- return $RES
- }
-
---
-2.9.0
-
diff --git a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch b/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch
deleted file mode 100644
index e4f0c5416..000000000
--- a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check-for-fifo-named-pipe.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From a78fe4f792a9ac9f4d364e836c8855f48561d6f2 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 14 Jul 2016 19:52:18 -0700
-Subject: [PATCH 3/4] pkg-diff.sh: check for fifo(named pipe)
-
-Otherwise "cmp -s fifo1 fifo2" will wait for inputing forever.
-
-Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- pkg-diff.sh | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/pkg-diff.sh b/pkg-diff.sh
-index 5dd3a38..1f353aa 100644
---- a/pkg-diff.sh
-+++ b/pkg-diff.sh
-@@ -735,6 +735,13 @@ check_single_file()
- return 1
- fi
- ;;
-+ fifo*pipe*)
-+ ftype_new="`/usr/bin/file new/$file | sed -e 's@^[^:]\+:[[:blank:]]*@@' -e 's@[[:blank:]]*$@@'`"
-+ if [ "$ftype_new" = "$ftype" ]; then
-+ return 0
-+ fi
-+ return 1
-+ ;;
- *)
- if ! diff_two_files; then
- return 1
---
-2.9.0
-
diff --git a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch b/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch
deleted file mode 100644
index b42af2531..000000000
--- a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-check_single_file-return-at-once-when-sa.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 657983ef9ca8f8354172682e17408c4f6b5bc667 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 14 Jul 2016 19:46:08 -0700
-Subject: [PATCH 1/4] pkg-diff.sh: check_single_file(): return at once when
- same
-
-If the two files are the same, return at once, this can save a lot of
-time when there are archives inside archives.
-
-Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- pkg-diff.sh | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/pkg-diff.sh b/pkg-diff.sh
-index 3cf10aa..402d4a4 100644
---- a/pkg-diff.sh
-+++ b/pkg-diff.sh
-@@ -293,6 +293,13 @@ check_compressed_file()
- check_single_file()
- {
- local file="$1"
-+
-+ # If the two files are the same, return at once.
-+ if [ -f old/$file -a -f new/$file ]; then
-+ if cmp -s old/$file new/$file; then
-+ return 0
-+ fi
-+ fi
- case $file in
- *.spec)
- sed -i -e "s,Release:.*$release1,Release: @RELEASE@," old/$file
---
-2.9.0
-
diff --git a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch b/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch
deleted file mode 100644
index 807717233..000000000
--- a/poky/meta/recipes-devtools/build-compare/files/pkg-diff.sh-remove-space-in-the-end-for-ftype.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 836a6783df9c582a834fca239f227063a5687715 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 14 Jul 2016 19:49:12 -0700
-Subject: [PATCH 2/4] pkg-diff.sh: remove space in the end for ftype
-
-Versions of file like 5.14 returns a " " in the end, for example:
-ftype="directory ", but we need ftype="directory", remove the space to
-fix the problem.
-
-Upstream-Status: Submitted [https://github.com/openSUSE/build-compare/pull/10]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- pkg-diff.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pkg-diff.sh b/pkg-diff.sh
-index 402d4a4..5dd3a38 100644
---- a/pkg-diff.sh
-+++ b/pkg-diff.sh
-@@ -633,7 +633,7 @@ check_single_file()
- ;;
- esac
-
-- ftype=`/usr/bin/file old/$file | sed 's@^[^:]\+:[[:blank:]]*@@'`
-+ ftype=`/usr/bin/file old/$file | sed -e 's@^[^:]\+:[[:blank:]]*@@' -e 's@[[:blank:]]*$@@'`
- case $ftype in
- PE32\ executable*Mono\/\.Net\ assembly*)
- echo "PE32 Mono/.Net assembly: $file"
---
-2.9.0
-
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb
deleted file mode 100644
index 1db7094b7..000000000
--- a/poky/meta/recipes-devtools/ccache/ccache_3.7.1.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require ccache.inc
-
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=0094c59039cec66b8a4c905204333514"
-
-SRC_URI[md5sum] = "74339465ab87e0b406985ed69515f19b"
-SRC_URI[sha256sum] = "e562fcdbe766406b6fe4bf97ce5c001d2be8a17465f33bcddefc9499bbb057d8"
diff --git a/poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb b/poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb
new file mode 100644
index 000000000..c6a682ee0
--- /dev/null
+++ b/poky/meta/recipes-devtools/ccache/ccache_3.7.3.bb
@@ -0,0 +1,7 @@
+require ccache.inc
+
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=0094c59039cec66b8a4c905204333514"
+
+SRC_URI[md5sum] = "7be62ea6e190941a8c12a3d5394fd926"
+SRC_URI[sha256sum] = "355955a61562c53c4ec4669e1c92708b0008f50d214b27f07a87cf4a1fa6b01e"
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.15.3.bb
index b2952ee5f..b2952ee5f 100644
--- a/poky/meta/recipes-devtools/cmake/cmake-native_3.14.1.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.15.3.bb
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index 5b0bce680..3711f18db 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -18,7 +18,7 @@ SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
file://0004-Fail-silently-if-system-Qt-installation-is-broken.patch \
"
-SRC_URI[md5sum] = "7efe5394e85c3292ad020b8b70e55669"
-SRC_URI[sha256sum] = "7321be640406338fc12590609c42b0fae7ea12980855c1be363d25dcd76bb25f"
+SRC_URI[md5sum] = "bf69e837eeda3dd4e9f52cffcf546a11"
+SRC_URI[sha256sum] = "13958243a01365b05652fa01b21d40fa834f70a9e30efa69c02604e64f58b8f5"
UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
index cdeea647f..3720833d3 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
@@ -1,9 +1,8 @@
-From 71085723f8028b3e1c4029fc1abe1243ac49ffc6 Mon Sep 17 00:00:00 2001
+From 1e67c3fe52c6c51c00cf1ebb0bfc30c7a5ef9fdb Mon Sep 17 00:00:00 2001
From: Cody P Schafer <dev@codyps.com>
Date: Thu, 27 Apr 2017 11:35:05 -0400
-Subject: [PATCH 1/5] CMakeDetermineSystem: use oe environment vars to load
- default toolchain file in sdk
-Organization: O.S. Systems Software LTDA.
+Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default
+ toolchain file in sdk
Passing the toolchain by:
@@ -20,12 +19,13 @@ because '-D' options are cache entries themselves.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Cody P Schafer <dev@codyps.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
---
Modules/CMakeDetermineSystem.cmake | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
-index 600d5580e..32d7f1945 100644
+index dc208c6..e0af4ca 100644
--- a/Modules/CMakeDetermineSystem.cmake
+++ b/Modules/CMakeDetermineSystem.cmake
@@ -81,6 +81,13 @@ else()
@@ -42,6 +42,3 @@ index 600d5580e..32d7f1945 100644
# if a toolchain file is used, the user wants to cross compile.
# in this case read the toolchain file and keep the CMAKE_HOST_SYSTEM_*
# variables around so they can be used in CMakeLists.txt.
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
index 8d2dc10ce..db229e63e 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0002-cmake-Prevent-the-detection-of-Qt5.patch
@@ -1,7 +1,8 @@
-From b4b6e9b1be33213ede3f612e87840c0045824d9e Mon Sep 17 00:00:00 2001
+From 5cb6c86696f842274043e7d406f84b3ead1c36e0 Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Wed, 17 Jan 2018 10:02:14 -0200
-Subject: [PATCH 2/5] cmake: Prevent the detection of Qt5
+Subject: [PATCH] cmake: Prevent the detection of Qt5
+
Organization: O.S. Systems Software LTDA.
CMake doesn't have dependency on qt4/qt5, so these tests usually fail
@@ -12,6 +13,7 @@ while running the test in cmake)
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
---
Source/QtDialog/CMakeLists.txt | 2 +-
Tests/CMakeLists.txt | 2 +-
@@ -23,12 +25,12 @@ Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
7 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt
-index 9ce0323844..06c86d63eb 100644
+index cb89d19..9e68981 100644
--- a/Source/QtDialog/CMakeLists.txt
+++ b/Source/QtDialog/CMakeLists.txt
-@@ -6,7 +6,7 @@ if(POLICY CMP0020)
- cmake_policy(SET CMP0020 NEW) # Drop when CMake >= 2.8.11 required
- endif()
+@@ -3,7 +3,7 @@
+
+ project(QtDialog)
CMake_OPTIONAL_COMPONENT(cmake-gui)
-find_package(Qt5Widgets QUIET)
+#find_package(Qt5Widgets QUIET)
@@ -36,10 +38,10 @@ index 9ce0323844..06c86d63eb 100644
include_directories(${Qt5Widgets_INCLUDE_DIRS})
add_definitions(${Qt5Widgets_DEFINITONS})
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
-index ed98d974b0..7adfbc301b 100644
+index e73b277..91b8b67 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
-@@ -1342,7 +1342,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
+@@ -1348,7 +1348,7 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH
set(CMake_TEST_Qt5 1)
endif()
if(CMake_TEST_Qt5)
@@ -49,7 +51,7 @@ index ed98d974b0..7adfbc301b 100644
if(CMake_TEST_Qt5 AND Qt5Widgets_FOUND)
add_subdirectory(Qt5Autogen)
diff --git a/Tests/Qt4And5Automoc/CMakeLists.txt b/Tests/Qt4And5Automoc/CMakeLists.txt
-index ad74961d9f..a9dd74b151 100644
+index ad74961..a9dd74b 100644
--- a/Tests/Qt4And5Automoc/CMakeLists.txt
+++ b/Tests/Qt4And5Automoc/CMakeLists.txt
@@ -3,11 +3,11 @@ cmake_minimum_required(VERSION 2.8.12)
@@ -67,7 +69,7 @@ index ad74961d9f..a9dd74b151 100644
set(CMAKE_AUTOMOC ON)
diff --git a/Tests/QtAutogen/AutogenGuiTest.cmake b/Tests/QtAutogen/AutogenGuiTest.cmake
-index b76d341a45..a6e0acbafa 100644
+index b76d341..a6e0acb 100644
--- a/Tests/QtAutogen/AutogenGuiTest.cmake
+++ b/Tests/QtAutogen/AutogenGuiTest.cmake
@@ -22,8 +22,7 @@ if (QT_TEST_VERSION EQUAL 4)
@@ -81,7 +83,7 @@ index b76d341a45..a6e0acbafa 100644
set(QT_QTCORE_TARGET Qt5::Core)
set(QT_LIBRARIES Qt5::Widgets)
diff --git a/Tests/QtAutogen/MacOsFW/CMakeLists.txt b/Tests/QtAutogen/MacOsFW/CMakeLists.txt
-index c08efc47a2..87e25d9391 100644
+index c08efc4..87e25d9 100644
--- a/Tests/QtAutogen/MacOsFW/CMakeLists.txt
+++ b/Tests/QtAutogen/MacOsFW/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10)
@@ -94,10 +96,10 @@ index c08efc47a2..87e25d9391 100644
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output/bin)
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
-index 1f3e5c3006..8ed8d6ac54 100644
+index 69f8162..f389523 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
-@@ -326,7 +326,7 @@ add_RunCMake_test(configure_file)
+@@ -334,7 +334,7 @@ add_RunCMake_test(configure_file)
add_RunCMake_test(CTestTimeoutAfterMatch)
find_package(Qt4 QUIET)
@@ -107,7 +109,7 @@ index 1f3e5c3006..8ed8d6ac54 100644
add_RunCMake_test(IncompatibleQt)
endif()
diff --git a/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake b/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
-index 4fccdc418f..b76e1e5313 100644
+index 4fccdc4..b76e1e5 100644
--- a/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
+++ b/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
@@ -1,6 +1,6 @@
@@ -118,6 +120,3 @@ index 4fccdc418f..b76e1e5313 100644
add_executable(mainexe main.cpp)
target_link_libraries(mainexe Qt4::QtCore Qt5::Core)
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch b/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch
index 4f2e84337..d7d87a525 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0003-cmake-support-OpenEmbedded-Qt4-tool-binary-names.patch
@@ -1,8 +1,7 @@
-From c783ceeef485c23e13c3d9f0418719cb0e0b86ee Mon Sep 17 00:00:00 2001
+From b003857d3481105c473e2e75bad4e9e2c6e70004 Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Thu, 12 May 2011 15:36:03 +0000
-Subject: [PATCH 3/5] cmake: support OpenEmbedded Qt4 tool binary names
-Organization: O.S. Systems Software LTDA.
+Subject: [PATCH] cmake: support OpenEmbedded Qt4 tool binary names
The FindQt4 module looks for Qt4 binaries to be able to gather the
paths used for compilation and also to be using during other processes
@@ -20,12 +19,13 @@ Instead of find_program, _find_qt4_program is now used.
Signed-off-by: Moritz Blume <moritz.blume@bmw-carit.de>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
---
Modules/FindQt4.cmake | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
-index 847a798af..7ad981879 100644
+index a145b46..7e18243 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
@@ -518,7 +518,7 @@ endfunction()
@@ -54,6 +54,3 @@ index 847a798af..7ad981879 100644
_find_qt4_program(QT_DESIGNER_EXECUTABLE Qt4::designer designer-qt4 designer4 designer)
_find_qt4_program(QT_LINGUIST_EXECUTABLE Qt4::linguist linguist-qt4 linguist4 linguist)
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch b/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch
index 6c67dcf10..676e2857d 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch
+++ b/poky/meta/recipes-devtools/cmake/cmake/0004-Fail-silently-if-system-Qt-installation-is-broken.patch
@@ -1,8 +1,7 @@
-From 9516fc4260f701c6d9db0c341bb36480362e1747 Mon Sep 17 00:00:00 2001
+From d4a78e8739e845c2963666f7ef6a6c7a89827988 Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Thu, 5 Jul 2018 10:26:48 -0300
-Subject: [PATCH 4/5] Fail silently if system Qt installation is broken
-Organization: O.S. Systems Software LTDA.
+Subject: [PATCH] Fail silently if system Qt installation is broken
Fixes a regression in behaviour from 2.8.10 to 2.8.11 resulting in the
following error if the system Qt installation is broken:
@@ -23,12 +22,13 @@ within the if(QT_QTCORE_FOUND) statement.
Signed-off-by: Moritz Blume <moritz.blume@bmw-carit.de>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
---
Modules/FindQt4.cmake | 39 ++++++++++++++++++++-------------------
1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
-index 7ad981879..8b6f43cda 100644
+index 7e18243..497d5c3 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
@@ -988,25 +988,26 @@ if (QT_QMAKE_EXECUTABLE AND
@@ -77,6 +77,3 @@ index 7ad981879..8b6f43cda 100644
foreach(QT_MODULE ${QT_MODULES})
_QT4_ADJUST_LIB_VARS(${QT_MODULE})
---
-2.18.0
-
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.14.1.bb b/poky/meta/recipes-devtools/cmake/cmake_3.15.3.bb
index e0457677e..e0457677e 100644
--- a/poky/meta/recipes-devtools/cmake/cmake_3.14.1.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake_3.15.3.bb
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb
deleted file mode 100644
index 80c559fef..000000000
--- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.2.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-DESCRIPTION = "C implementation of createrepo."
-HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
- file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
- "
-
-SRCREV = "f390af98c8f1bb04010e293ea864eae160f75879"
-
-S = "${WORKDIR}/git"
-
-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
-
-EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF"
-
-BBCLASSEXTEND = "native nativesdk"
-
-# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in
-do_install_append_class-native() {
- create_wrapper ${D}/${bindir}/createrepo_c \
- RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm
-}
-
-do_install_append_class-nativesdk() {
- create_wrapper ${D}/${bindir}/createrepo_c \
- RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm
- rm -rf ${D}/etc
-}
diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.0.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.0.bb
new file mode 100644
index 000000000..ae0a35da8
--- /dev/null
+++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.0.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "C implementation of createrepo."
+HOMEPAGE = "https://github.com/rpm-software-management/createrepo_c/wiki"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
+ file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
+ "
+
+SRCREV = "2077ba104eae04bb819e9e0c906c8c835b62e7a6"
+
+S = "${WORKDIR}/git"
+
+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
+
+EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DWITH_ZCHUNK=OFF -DENABLE_DRPM=OFF"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# Direct createrepo to read rpm configuration from our sysroot, not the one it was compiled in
+do_install_append_class-native() {
+ create_wrapper ${D}/${bindir}/createrepo_c \
+ RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm
+}
+
+do_install_append_class-nativesdk() {
+ create_wrapper ${D}/${bindir}/createrepo_c \
+ RPM_CONFIGDIR=${SDKPATHNATIVE}${libdir_nativesdk}/rpm
+ rm -rf ${D}/etc
+}
diff --git a/poky/meta/recipes-devtools/cve-check-tool/cve-check-tool_5.6.4.bb b/poky/meta/recipes-devtools/cve-check-tool/cve-check-tool_5.6.4.bb
deleted file mode 100644
index 1c84fb1cf..000000000
--- a/poky/meta/recipes-devtools/cve-check-tool/cve-check-tool_5.6.4.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-SUMMARY = "cve-check-tool"
-DESCRIPTION = "cve-check-tool is a tool for checking known (public) CVEs.\
-The tool will identify potentially vunlnerable software packages within Linux distributions through version matching."
-HOMEPAGE = "https://github.com/ikeydoherty/cve-check-tool"
-SECTION = "Development/Tools"
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e8c1458438ead3c34974bc0be3a03ed6"
-
-SRC_URI = "https://github.com/ikeydoherty/${BPN}/releases/download/v${PV}/${BP}.tar.xz \
- file://check-for-malloc_trim-before-using-it.patch \
- file://0001-print-progress-in-percent-when-downloading-CVE-db.patch \
- file://0001-curl-allow-overriding-default-CA-certificate-file.patch \
- file://0001-update-Compare-computed-vs-expected-sha256-digit-str.patch \
- file://0001-Fix-freeing-memory-allocated-by-sqlite.patch \
- "
-
-SRC_URI[md5sum] = "c5f4247140fc9be3bf41491d31a34155"
-SRC_URI[sha256sum] = "b8f283be718af8d31232ac1bfc10a0378fb958aaaa49af39168f8acf501e6a5b"
-
-UPSTREAM_CHECK_URI = "https://github.com/ikeydoherty/cve-check-tool/releases"
-
-DEPENDS = "libcheck glib-2.0 json-glib curl libxml2 sqlite3 openssl ca-certificates"
-
-RDEPENDS_${PN} = "ca-certificates"
-
-inherit pkgconfig autotools
-
-EXTRA_OECONF = "--disable-coverage --enable-relative-plugins"
-CFLAGS_append = " -Wno-error=pedantic"
-
-do_populate_cve_db() {
- if [ "${BB_NO_NETWORK}" = "1" ] ; then
- bbwarn "BB_NO_NETWORK is set; Can't update cve-check-tool database, new CVEs won't be detected"
- return
- fi
-
- # In case we don't inherit cve-check class, use default values defined in the class.
- cve_dir="${CVE_CHECK_DB_DIR}"
- cve_file="${CVE_CHECK_TMP_FILE}"
-
- [ -z "${cve_dir}" ] && cve_dir="${DL_DIR}/CVE_CHECK"
- [ -z "${cve_file}" ] && cve_file="${TMPDIR}/cve_check"
-
- unused="${@bb.utils.export_proxies(d)}"
- bbdebug 2 "Updating cve-check-tool database located in $cve_dir"
- # --cacert works around curl-native not finding the CA bundle
- if cve-check-update --cacert ${sysconfdir}/ssl/certs/ca-certificates.crt -d "$cve_dir" ; then
- printf "CVE database was updated on %s UTC\n\n" "$(LANG=C date --utc +'%F %T')" > "$cve_file"
- else
- bbwarn "Error in executing cve-check-update"
- if [ "${@'1' if bb.data.inherits_class('cve-check', d) else '0'}" -ne 0 ] ; then
- bbwarn "Failed to update cve-check-tool database, CVEs won't be checked"
- fi
- fi
-}
-
-addtask populate_cve_db after do_populate_sysroot
-do_populate_cve_db[depends] = "cve-check-tool-native:do_populate_sysroot"
-do_populate_cve_db[nostamp] = "1"
-do_populate_cve_db[progress] = "percent"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/cve-check-tool/files/0001-Fix-freeing-memory-allocated-by-sqlite.patch b/poky/meta/recipes-devtools/cve-check-tool/files/0001-Fix-freeing-memory-allocated-by-sqlite.patch
deleted file mode 100644
index 4a82cf2dd..000000000
--- a/poky/meta/recipes-devtools/cve-check-tool/files/0001-Fix-freeing-memory-allocated-by-sqlite.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From a3353429652f83bb8b0316500faa88fa2555542d Mon Sep 17 00:00:00 2001
-From: Peter Marko <peter.marko@siemens.com>
-Date: Thu, 13 Apr 2017 23:09:52 +0200
-Subject: [PATCH] Fix freeing memory allocated by sqlite
-
-Upstream-Status: Backport
-Signed-off-by: Peter Marko <peter.marko@siemens.com>
----
- src/core.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/core.c b/src/core.c
-index 6263031..6788f16 100644
---- a/src/core.c
-+++ b/src/core.c
-@@ -82,7 +82,7 @@ static bool ensure_table(CveDB *self)
- rc = sqlite3_exec(self->db, query, NULL, NULL, &err);
- if (rc != SQLITE_OK) {
- fprintf(stderr, "ensure_table(): %s\n", err);
-- free(err);
-+ sqlite3_free(err);
- return false;
- }
-
-@@ -91,7 +91,7 @@ static bool ensure_table(CveDB *self)
- rc = sqlite3_exec(self->db, query, NULL, NULL, &err);
- if (rc != SQLITE_OK) {
- fprintf(stderr, "ensure_table(): %s\n", err);
-- free(err);
-+ sqlite3_free(err);
- return false;
- }
-
-@@ -99,11 +99,11 @@ static bool ensure_table(CveDB *self)
- rc = sqlite3_exec(self->db, query, NULL, NULL, &err);
- if (rc != SQLITE_OK) {
- fprintf(stderr, "ensure_table(): %s\n", err);
-- free(err);
-+ sqlite3_free(err);
- return false;
- }
- if (err) {
-- free(err);
-+ sqlite3_free(err);
- }
-
- return true;
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/cve-check-tool/files/0001-curl-allow-overriding-default-CA-certificate-file.patch b/poky/meta/recipes-devtools/cve-check-tool/files/0001-curl-allow-overriding-default-CA-certificate-file.patch
deleted file mode 100644
index 3d8ebd1bd..000000000
--- a/poky/meta/recipes-devtools/cve-check-tool/files/0001-curl-allow-overriding-default-CA-certificate-file.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-From 825a9969dea052b02ba868bdf39e676349f10dce Mon Sep 17 00:00:00 2001
-From: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Date: Thu, 9 Feb 2017 14:51:28 +0200
-Subject: [PATCH] curl: allow overriding default CA certificate file
-
-Similar to curl, --cacert can now be used in cve-check-tool and
-cve-check-update to override the default CA certificate file. Useful
-in cases where the system default is unsuitable (for example,
-out-dated) or broken (as in OE's current native libcurl, which embeds
-a path string from one build host and then uses it on another although
-the right path may have become something different).
-
-Upstream-Status: Submitted [https://github.com/ikeydoherty/cve-check-tool/pull/45]
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
-
-
-Took Patrick Ohlys original patch from meta-security-isafw, rebased
-on top of other patches.
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
----
- src/library/cve-check-tool.h | 1 +
- src/library/fetch.c | 10 +++++++++-
- src/library/fetch.h | 3 ++-
- src/main.c | 5 ++++-
- src/update-main.c | 4 +++-
- src/update.c | 12 +++++++-----
- src/update.h | 2 +-
- 7 files changed, 27 insertions(+), 10 deletions(-)
-
-diff --git a/src/library/cve-check-tool.h b/src/library/cve-check-tool.h
-index e4bb5b1..f89eade 100644
---- a/src/library/cve-check-tool.h
-+++ b/src/library/cve-check-tool.h
-@@ -43,6 +43,7 @@ typedef struct CveCheckTool {
- bool bugs; /**<Whether bug tracking is enabled */
- GHashTable *mapping; /**<CVE Mapping */
- const char *output_file; /**<Output file, if any */
-+ const char *cacert_file; /**<Non-default SSL certificate file, if any */
- } CveCheckTool;
-
- /**
-diff --git a/src/library/fetch.c b/src/library/fetch.c
-index 0fe6d76..8f998c3 100644
---- a/src/library/fetch.c
-+++ b/src/library/fetch.c
-@@ -60,7 +60,8 @@ static int progress_callback_new(void *ptr, curl_off_t dltotal, curl_off_t dlnow
- }
-
- FetchStatus fetch_uri(const char *uri, const char *target, bool verbose,
-- unsigned int start_percent, unsigned int end_percent)
-+ unsigned int start_percent, unsigned int end_percent,
-+ const char *cacert_file)
- {
- FetchStatus ret = FETCH_STATUS_FAIL;
- CURLcode res;
-@@ -74,6 +75,13 @@ FetchStatus fetch_uri(const char *uri, const char *target, bool verbose,
- return ret;
- }
-
-+ if (cacert_file) {
-+ res = curl_easy_setopt(curl, CURLOPT_CAINFO, cacert_file);
-+ if (res != CURLE_OK) {
-+ goto bail;
-+ }
-+ }
-+
- if (stat(target, &st) == 0) {
- res = curl_easy_setopt(curl, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE);
- if (res != CURLE_OK) {
-diff --git a/src/library/fetch.h b/src/library/fetch.h
-index 4cce5d1..836c7d7 100644
---- a/src/library/fetch.h
-+++ b/src/library/fetch.h
-@@ -29,7 +29,8 @@ typedef enum {
- * @return A FetchStatus, indicating the operation taken
- */
- FetchStatus fetch_uri(const char *uri, const char *target, bool verbose,
-- unsigned int this_percent, unsigned int next_percent);
-+ unsigned int this_percent, unsigned int next_percent,
-+ const char *cacert_file);
-
- /**
- * Attempt to extract the given gzipped file
-diff --git a/src/main.c b/src/main.c
-index 8e6f158..ae69d47 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -280,6 +280,7 @@ static bool csv_mode = false;
- static char *modified_stamp = NULL;
- static gchar *mapping_file = NULL;
- static gchar *output_file = NULL;
-+static gchar *cacert_file = NULL;
-
- static GOptionEntry _entries[] = {
- { "not-patched", 'n', 0, G_OPTION_ARG_NONE, &hide_patched, "Hide patched/addressed CVEs", NULL },
-@@ -294,6 +295,7 @@ static GOptionEntry _entries[] = {
- { "csv", 'c', 0, G_OPTION_ARG_NONE, &csv_mode, "Output CSV formatted data only", NULL },
- { "mapping", 'M', 0, G_OPTION_ARG_STRING, &mapping_file, "Path to a mapping file", NULL},
- { "output-file", 'o', 0, G_OPTION_ARG_STRING, &output_file, "Path to the output file (output plugin specific)", NULL},
-+ { "cacert", 'C', 0, G_OPTION_ARG_STRING, &cacert_file, "Path to the combined SSL certificates file (system default is used if not set)", NULL},
- { .short_name = 0 }
- };
-
-@@ -492,6 +494,7 @@ int main(int argc, char **argv)
-
- quiet = csv_mode || !no_html;
- self->output_file = output_file;
-+ self->cacert_file = cacert_file;
-
- if (!csv_mode && self->output_file) {
- quiet = false;
-@@ -530,7 +533,7 @@ int main(int argc, char **argv)
- if (status) {
- fprintf(stderr, "Update of db forced\n");
- cve_db_unlock();
-- if (!update_db(quiet, db_path->str)) {
-+ if (!update_db(quiet, db_path->str, self->cacert_file)) {
- fprintf(stderr, "DB update failure\n");
- goto cleanup;
- }
-diff --git a/src/update-main.c b/src/update-main.c
-index 2379cfa..c52d9d0 100644
---- a/src/update-main.c
-+++ b/src/update-main.c
-@@ -43,11 +43,13 @@ the Free Software Foundation; either version 2 of the License, or\n\
- static gchar *nvds = NULL;
- static bool _show_version = false;
- static bool _quiet = false;
-+static const char *_cacert_file = NULL;
-
- static GOptionEntry _entries[] = {
- { "nvd-dir", 'd', 0, G_OPTION_ARG_STRING, &nvds, "NVD directory in filesystem", NULL },
- { "version", 'v', 0, G_OPTION_ARG_NONE, &_show_version, "Show version", NULL },
- { "quiet", 'q', 0, G_OPTION_ARG_NONE, &_quiet, "Run silently", NULL },
-+ { "cacert", 'C', 0, G_OPTION_ARG_STRING, &_cacert_file, "Path to the combined SSL certificates file (system default is used if not set)", NULL},
- { .short_name = 0 }
- };
-
-@@ -88,7 +90,7 @@ int main(int argc, char **argv)
- goto end;
- }
-
-- if (update_db(_quiet, db_path->str)) {
-+ if (update_db(_quiet, db_path->str, _cacert_file)) {
- ret = EXIT_SUCCESS;
- } else {
- fprintf(stderr, "Failed to update database\n");
-diff --git a/src/update.c b/src/update.c
-index 070560a..8cb4a39 100644
---- a/src/update.c
-+++ b/src/update.c
-@@ -267,7 +267,8 @@ static inline void update_end(int fd, const char *update_fname, bool ok)
-
- static int do_fetch_update(int year, const char *db_dir, CveDB *cve_db,
- bool db_exist, bool verbose,
-- unsigned int this_percent, unsigned int next_percent)
-+ unsigned int this_percent, unsigned int next_percent,
-+ const char *cacert_file)
- {
- const char nvd_uri[] = URI_PREFIX;
- autofree(cve_string) *uri_meta = NULL;
-@@ -331,14 +332,14 @@ refetch:
- }
-
- /* Fetch NVD META file */
-- st = fetch_uri(uri_meta->str, nvdcve_meta->str, verbose, this_percent, this_percent);
-+ st = fetch_uri(uri_meta->str, nvdcve_meta->str, verbose, this_percent, this_percent, cacert_file);
- if (st == FETCH_STATUS_FAIL) {
- fprintf(stderr, "Failed to fetch %s\n", uri_meta->str);
- return -1;
- }
-
- /* Fetch NVD XML file */
-- st = fetch_uri(uri_data_gz->str, nvdcve_data_gz->str, verbose, this_percent, next_percent);
-+ st = fetch_uri(uri_data_gz->str, nvdcve_data_gz->str, verbose, this_percent, next_percent, cacert_file);
- switch (st) {
- case FETCH_STATUS_FAIL:
- fprintf(stderr, "Failed to fetch %s\n", uri_data_gz->str);
-@@ -391,7 +392,7 @@ refetch:
- return 0;
- }
-
--bool update_db(bool quiet, const char *db_file)
-+bool update_db(bool quiet, const char *db_file, const char *cacert_file)
- {
- autofree(char) *db_dir = NULL;
- autofree(CveDB) *cve_db = NULL;
-@@ -466,7 +467,8 @@ bool update_db(bool quiet, const char *db_file)
- if (!quiet)
- fprintf(stderr, "completed: %u%%\r", start_percent);
- rc = do_fetch_update(y, db_dir, cve_db, db_exist, !quiet,
-- start_percent, end_percent);
-+ start_percent, end_percent,
-+ cacert_file);
- switch (rc) {
- case 0:
- if (!quiet)
-diff --git a/src/update.h b/src/update.h
-index b8e9911..ceea0c3 100644
---- a/src/update.h
-+++ b/src/update.h
-@@ -15,7 +15,7 @@ cve_string *get_db_path(const char *path);
-
- int update_required(const char *db_file);
-
--bool update_db(bool quiet, const char *db_file);
-+bool update_db(bool quiet, const char *db_file, const char *cacert_file);
-
-
- /*
---
-2.1.4
-
diff --git a/poky/meta/recipes-devtools/cve-check-tool/files/0001-print-progress-in-percent-when-downloading-CVE-db.patch b/poky/meta/recipes-devtools/cve-check-tool/files/0001-print-progress-in-percent-when-downloading-CVE-db.patch
deleted file mode 100644
index 8ea6f686e..000000000
--- a/poky/meta/recipes-devtools/cve-check-tool/files/0001-print-progress-in-percent-when-downloading-CVE-db.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From e9ed26cde63f8ca7607a010a518329339f8c02d3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
-Date: Mon, 26 Sep 2016 12:12:41 +0100
-Subject: [PATCH] print progress in percent when downloading CVE db
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-Signed-off-by: André Draszik <git@andred.net>
----
- src/library/fetch.c | 28 +++++++++++++++++++++++++++-
- src/library/fetch.h | 3 ++-
- src/update.c | 16 ++++++++++++----
- 3 files changed, 41 insertions(+), 6 deletions(-)
-
-diff --git a/src/library/fetch.c b/src/library/fetch.c
-index 06d4b30..0fe6d76 100644
---- a/src/library/fetch.c
-+++ b/src/library/fetch.c
-@@ -37,13 +37,37 @@ static size_t write_func(void *ptr, size_t size, size_t nmemb, struct fetch_t *f
- return fwrite(ptr, size, nmemb, f->f);
- }
-
--FetchStatus fetch_uri(const char *uri, const char *target, bool verbose)
-+struct percent_t {
-+ unsigned int start;
-+ unsigned int end;
-+};
-+
-+static int progress_callback_new(void *ptr, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)
-+{
-+ (void) ultotal;
-+ (void) ulnow;
-+
-+ struct percent_t *percent = (struct percent_t *) ptr;
-+
-+ if (dltotal && percent && percent->end >= percent->start) {
-+ unsigned int diff = percent->end - percent->start;
-+ if (diff) {
-+ fprintf(stderr,"completed: %"CURL_FORMAT_CURL_OFF_T"%%\r", percent->start + (diff * dlnow / dltotal));
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+FetchStatus fetch_uri(const char *uri, const char *target, bool verbose,
-+ unsigned int start_percent, unsigned int end_percent)
- {
- FetchStatus ret = FETCH_STATUS_FAIL;
- CURLcode res;
- struct stat st;
- CURL *curl = NULL;
- struct fetch_t *f = NULL;
-+ struct percent_t percent = { .start = start_percent, .end = end_percent };
-
- curl = curl_easy_init();
- if (!curl) {
-@@ -67,6 +91,8 @@ FetchStatus fetch_uri(const char *uri, const char *target, bool verbose)
- }
- if (verbose) {
- (void)curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
-+ (void)curl_easy_setopt(curl, CURLOPT_XFERINFODATA, &percent);
-+ (void)curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, progress_callback_new);
- }
- res = curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, (curl_write_callback)write_func);
- if (res != CURLE_OK) {
-diff --git a/src/library/fetch.h b/src/library/fetch.h
-index 70c3779..4cce5d1 100644
---- a/src/library/fetch.h
-+++ b/src/library/fetch.h
-@@ -28,7 +28,8 @@ typedef enum {
- * @param verbose Whether to be verbose
- * @return A FetchStatus, indicating the operation taken
- */
--FetchStatus fetch_uri(const char *uri, const char *target, bool verbose);
-+FetchStatus fetch_uri(const char *uri, const char *target, bool verbose,
-+ unsigned int this_percent, unsigned int next_percent);
-
- /**
- * Attempt to extract the given gzipped file
-diff --git a/src/update.c b/src/update.c
-index 30fbe96..eaeeefd 100644
---- a/src/update.c
-+++ b/src/update.c
-@@ -266,7 +266,8 @@ static inline void update_end(int fd, const char *update_fname, bool ok)
- }
-
- static int do_fetch_update(int year, const char *db_dir, CveDB *cve_db,
-- bool db_exist, bool verbose)
-+ bool db_exist, bool verbose,
-+ unsigned int this_percent, unsigned int next_percent)
- {
- const char nvd_uri[] = URI_PREFIX;
- autofree(cve_string) *uri_meta = NULL;
-@@ -330,14 +331,14 @@ refetch:
- }
-
- /* Fetch NVD META file */
-- st = fetch_uri(uri_meta->str, nvdcve_meta->str, verbose);
-+ st = fetch_uri(uri_meta->str, nvdcve_meta->str, verbose, this_percent, this_percent);
- if (st == FETCH_STATUS_FAIL) {
- fprintf(stderr, "Failed to fetch %s\n", uri_meta->str);
- return -1;
- }
-
- /* Fetch NVD XML file */
-- st = fetch_uri(uri_data_gz->str, nvdcve_data_gz->str, verbose);
-+ st = fetch_uri(uri_data_gz->str, nvdcve_data_gz->str, verbose, this_percent, next_percent);
- switch (st) {
- case FETCH_STATUS_FAIL:
- fprintf(stderr, "Failed to fetch %s\n", uri_data_gz->str);
-@@ -459,10 +460,17 @@ bool update_db(bool quiet, const char *db_file)
- for (int i = YEAR_START; i <= year+1; i++) {
- int y = i > year ? -1 : i;
- int rc;
-+ unsigned int start_percent = ((i+0 - YEAR_START) * 100) / (year+2 - YEAR_START);
-+ unsigned int end_percent = ((i+1 - YEAR_START) * 100) / (year+2 - YEAR_START);
-
-- rc = do_fetch_update(y, db_dir, cve_db, db_exist, !quiet);
-+ if (!quiet)
-+ fprintf(stderr, "completed: %u%%\r", start_percent);
-+ rc = do_fetch_update(y, db_dir, cve_db, db_exist, !quiet,
-+ start_percent, end_percent);
- switch (rc) {
- case 0:
-+ if (!quiet)
-+ fprintf(stderr,"completed: %u%%\r", end_percent);
- continue;
- case ENOMEM:
- goto oom;
---
-2.9.3
-
diff --git a/poky/meta/recipes-devtools/cve-check-tool/files/0001-update-Compare-computed-vs-expected-sha256-digit-str.patch b/poky/meta/recipes-devtools/cve-check-tool/files/0001-update-Compare-computed-vs-expected-sha256-digit-str.patch
deleted file mode 100644
index 458c0cc84..000000000
--- a/poky/meta/recipes-devtools/cve-check-tool/files/0001-update-Compare-computed-vs-expected-sha256-digit-str.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From b0426e63c9ac61657e029f689bcb8dd051e752c6 Mon Sep 17 00:00:00 2001
-From: Sergey Popovich <popovich_sergei@mail.ua>
-Date: Fri, 21 Apr 2017 07:32:23 -0700
-Subject: [PATCH] update: Compare computed vs expected sha256 digit string
- ignoring case
-
-We produce sha256 digest string using %x snprintf()
-qualifier for each byte of digest which uses alphabetic
-characters from "a" to "f" in lower case to represent
-integer values from 10 to 15.
-
-Previously all of the NVD META files supply sha256
-digest string for corresponding XML file in lower case.
-
-However due to some reason this changed recently to
-provide digest digits in upper case causing fetched
-data consistency checks to fail. This prevents database
-from being updated periodically.
-
-While commit c4f6e94 (update: Do not treat sha256 failure
-as fatal if requested) adds useful option to skip
-digest validation at all and thus provides workaround for
-this situation, it might be unacceptable for some
-deployments where we need to ensure that downloaded
-data is consistent before start parsing it and update
-SQLite database.
-
-Use strcasecmp() to compare two digest strings case
-insensitively and addressing this case.
-
-Upstream-Status: Backport
-Signed-off-by: Sergey Popovich <popovich_sergei@mail.ua>
----
- src/update.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/update.c b/src/update.c
-index 8588f38..3cc6b67 100644
---- a/src/update.c
-+++ b/src/update.c
-@@ -187,7 +187,7 @@ static bool nvdcve_data_ok(const char *meta, const char *data)
- snprintf(&csum_data[idx], len, "%02hhx", digest[i]);
- }
-
-- ret = streq(csum_meta, csum_data);
-+ ret = !strcasecmp(csum_meta, csum_data);
-
- err_unmap:
- munmap(buffer, length);
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/cve-check-tool/files/check-for-malloc_trim-before-using-it.patch b/poky/meta/recipes-devtools/cve-check-tool/files/check-for-malloc_trim-before-using-it.patch
deleted file mode 100644
index 0774ad946..000000000
--- a/poky/meta/recipes-devtools/cve-check-tool/files/check-for-malloc_trim-before-using-it.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From ce64633b9733e962b8d8482244301f614d8b5845 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 22 Aug 2016 22:54:24 -0700
-Subject: [PATCH] Check for malloc_trim before using it
-
-malloc_trim is gnu specific and not all libc
-implement it, threfore write a configure check
-to poke for it first and use the define to
-guard its use.
-
-Helps in compiling on musl based systems
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted [https://github.com/ikeydoherty/cve-check-tool/pull/48]
- configure.ac | 2 ++
- src/core.c | 4 ++--
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index d3b66ce..79c3542 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -19,6 +19,8 @@ m4_define([json_required_version], [0.16.0])
- m4_define([openssl_required_version],[1.0.0])
- # TODO: Set minimum sqlite
-
-+AC_CHECK_FUNCS_ONCE(malloc_trim)
-+
- PKG_CHECK_MODULES(CVE_CHECK_TOOL,
- [
- glib-2.0 >= glib_required_version,
-diff --git a/src/core.c b/src/core.c
-index 6263031..0d5df29 100644
---- a/src/core.c
-+++ b/src/core.c
-@@ -498,9 +498,9 @@ bool cve_db_load(CveDB *self, const char *fname)
- }
-
- b = true;
--
-+#ifdef HAVE_MALLOC_TRIM
- malloc_trim(0);
--
-+#endif
- xmlFreeTextReader(r);
- if (fd) {
- close(fd);
---
-2.9.3
-
diff --git a/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
new file mode 100644
index 000000000..7dc4e417f
--- /dev/null
+++ b/poky/meta/recipes-devtools/dejagnu/dejagnu_1.6.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "GNU unit testing framework, written in Expect and Tcl"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "devel"
+
+DEPENDS += "expect-native"
+
+inherit autotools
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "e1b07516533f351b3aba3423fafeffd6"
+SRC_URI[sha256sum] = "0d0671e1b45189c5fc8ade4b3b01635fb9eeab45cf54f57db23e4c4c1a17d261"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.23.bb b/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.23.bb
deleted file mode 100644
index 6446f4718..000000000
--- a/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.23.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SECTION = "console/utils"
-SUMMARY = "Command line utilities for working with *.desktop files"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/desktop-file-utils"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://src/validator.c;beginline=4;endline=27;md5=281e1114ee6c486a1a0a4295986b9416"
-
-SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BP}.tar.xz"
-SRC_URI[md5sum] = "599133d51cc9a41bfec186414906b6f1"
-SRC_URI[sha256sum] = "6c094031bdec46c9f621708f919084e1cb5294e2c5b1e4c883b3e70cb8903385"
-
-DEPENDS = "glib-2.0"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "ac_cv_prog_EMACS=no"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.24.bb b/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.24.bb
new file mode 100644
index 000000000..aecba0723
--- /dev/null
+++ b/poky/meta/recipes-devtools/desktop-file-utils/desktop-file-utils_0.24.bb
@@ -0,0 +1,24 @@
+SECTION = "console/utils"
+SUMMARY = "Command line utilities for working with *.desktop files"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/desktop-file-utils"
+LICENSE = "GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://src/validator.c;beginline=4;endline=27;md5=281e1114ee6c486a1a0a4295986b9416"
+
+SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BP}.tar.xz"
+SRC_URI[md5sum] = "9364b82e14cfcad881161aa7ea5257ae"
+SRC_URI[sha256sum] = "a1de5da60cbdbe91e5c9c10ac9afee6c3deb019e0cee5fdb9a99dddc245f83d9"
+
+DEPENDS = "glib-2.0"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "ac_cv_prog_EMACS=no"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install_append() {
+ rm -rf ${D}${datadir}/emacs
+}
+
diff --git a/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb b/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb
deleted file mode 100644
index a93604bc4..000000000
--- a/poky/meta/recipes-devtools/distcc/distcc_3.3.2.bb
+++ /dev/null
@@ -1,95 +0,0 @@
-SUMMARY = "A parallel build system"
-DESCRIPTION = "distcc is a parallel build system that distributes \
-compilation of C/C++/ObjC code across machines on a network."
-SECTION = "devel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "avahi binutils"
-
-PACKAGECONFIG ??= "popt"
-PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk --without-gnome,gtk+"
-# use system popt by default
-PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt"
-
-RRECOMMENDS_${PN} = "avahi-daemon"
-
-SRC_URI = "git://github.com/distcc/distcc.git \
- file://separatebuilddir.patch \
- file://default \
- file://distccmon-gnome.desktop \
- file://distcc \
- file://distcc.service"
-SRCREV = "8600f0857dac55ea393dc11a860948692d215fc8"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig update-rc.d useradd systemd
-
-ASNEEDED = ""
-
-EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system \
- --home /dev/null \
- --no-create-home \
- --gid nogroup \
- distcc"
-
-INITSCRIPT_NAME = "distcc"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "distcc.service"
-
-do_install() {
- # Improve reproducibility: compress w/o timestamps
- oe_runmake 'DESTDIR=${D}' "GZIP_BIN=gzip -n" install
- install -d ${D}${sysconfdir}/init.d/
- install -d ${D}${sysconfdir}/default
- install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/
- install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/distcc.service
- ${DESKTOPINSTALL}
-}
-DESKTOPINSTALL = ""
-DESKTOPINSTALL_libc-glibc () {
- install -d ${D}${datadir}/distcc/
- install -m 0644 ${WORKDIR}/distccmon-gnome.desktop ${D}${datadir}/distcc/
-}
-PACKAGES += "distcc-distmon-gnome"
-
-FILES_${PN} = " ${sysconfdir} \
- ${bindir}/distcc \
- ${bindir}/lsdistcc \
- ${bindir}/distccd \
- ${bindir}/distccmon-text \
- ${sbindir}/update-distcc-symlinks \
- ${systemd_unitdir}/system/distcc.service"
-FILES_distcc-distmon-gnome = " ${bindir}/distccmon-gnome \
- ${datadir}/distcc"
-
-
-#
-# distcc upstream dropped the 3.2 branch which we reference in older project releases
-# the revisions are there, just the branch is not. In order to be able to continue
-# to build those old releases, adjust any mirror tarball to contain the missing branch
-#
-fixup_distcc_mirror_tarball () {
- TBALL=${DL_DIR}/git2_github.com.distcc.distcc.git.tar.gz
- if [ -f $TBALL ]; then
- TDIR=`mktemp -d`
- cd $TDIR
- tar -xzf $TBALL
- set +e
- git rev-parse --verify 3.2
- if [ "$?" != "0" ]; then
- git branch 3.2 d8b18df3e9dcbe4f092bed565835d3975e99432c
- tar -czf $TBALL *
- fi
- set -e
- rm -rf $TDIR/*
- fi
-}
-do_fetch[postfuncs] += "fixup_distcc_mirror_tarball"
diff --git a/poky/meta/recipes-devtools/distcc/distcc_3.3.3.bb b/poky/meta/recipes-devtools/distcc/distcc_3.3.3.bb
new file mode 100644
index 000000000..c52f136be
--- /dev/null
+++ b/poky/meta/recipes-devtools/distcc/distcc_3.3.3.bb
@@ -0,0 +1,87 @@
+SUMMARY = "A parallel build system"
+DESCRIPTION = "distcc is a parallel build system that distributes \
+compilation of C/C++/ObjC code across machines on a network."
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "avahi binutils"
+
+PACKAGECONFIG ??= "popt"
+PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk --without-gnome,gtk+"
+# use system popt by default
+PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt"
+
+RRECOMMENDS_${PN}-server = "avahi-daemon"
+
+SRC_URI = "git://github.com/distcc/distcc.git \
+ file://fix-gnome.patch \
+ file://separatebuilddir.patch \
+ file://default \
+ file://distcc \
+ file://distcc.service"
+SRCREV = "4cde9bcfbda589abd842e3bbc652ce369085eaae"
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig update-rc.d useradd systemd
+
+ASNEEDED = ""
+
+EXTRA_OECONF += "--disable-Werror PYTHON='' --disable-pump-mode"
+
+PACKAGE_BEFORE_PN = "${PN}-distmon-gnome ${PN}-server"
+
+USERADD_PACKAGES = "${PN}-server"
+USERADD_PARAM_${PN}-server = "--system \
+ --home /dev/null \
+ --no-create-home \
+ --gid nogroup \
+ distcc"
+
+UPDATERCPN = "${PN}-server"
+INITSCRIPT_NAME = "distcc"
+
+SYSTEMD_PACKAGES = "${PN}-server"
+SYSTEMD_SERVICE_${PN}-server = "distcc.service"
+
+do_install() {
+ # Improve reproducibility: compress w/o timestamps
+ oe_runmake 'DESTDIR=${D}' "GZIP_BIN=gzip -n" install
+ install -d ${D}${sysconfdir}/init.d/
+ install -d ${D}${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_unitdir}/system/distcc.service
+}
+
+FILES_${PN}-server = "${sysconfdir} \
+ ${bindir}/distccd \
+ ${sbindir}"
+FILES_${PN}-distmon-gnome = "${bindir}/distccmon-gnome \
+ ${datadir}/applications \
+ ${datadir}/pixmaps"
+
+#
+# distcc upstream dropped the 3.2 branch which we reference in older project releases
+# the revisions are there, just the branch is not. In order to be able to continue
+# to build those old releases, adjust any mirror tarball to contain the missing branch
+#
+fixup_distcc_mirror_tarball () {
+ TBALL=${DL_DIR}/git2_github.com.distcc.distcc.git.tar.gz
+ if [ -f $TBALL ]; then
+ TDIR=`mktemp -d`
+ cd $TDIR
+ tar -xzf $TBALL
+ set +e
+ git rev-parse --verify 3.2
+ if [ "$?" != "0" ]; then
+ git branch 3.2 d8b18df3e9dcbe4f092bed565835d3975e99432c
+ tar -czf $TBALL *
+ fi
+ set -e
+ rm -rf $TDIR/*
+ fi
+}
+do_fetch[postfuncs] += "fixup_distcc_mirror_tarball"
diff --git a/poky/meta/recipes-devtools/distcc/files/default b/poky/meta/recipes-devtools/distcc/files/default
index e5ca68b85..a5bc13ecf 100644
--- a/poky/meta/recipes-devtools/distcc/files/default
+++ b/poky/meta/recipes-devtools/distcc/files/default
@@ -21,4 +21,4 @@ ALLOWEDNETS="127.0.0.1"
#
# OPTIONS is used for the systemd service file
#
-OPTIONS="--allow 127.0.0.1 --make-me-a-botnet"
+OPTIONS="--allow 127.0.0.1 --enable-tcp-insecure"
diff --git a/poky/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop b/poky/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop
deleted file mode 100644
index 7b5d85ce4..000000000
--- a/poky/meta/recipes-devtools/distcc/files/distccmon-gnome.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Version=0.9.4
-Exec=distccmon-gnome
-Name=distcc monitor
-GenericName=Distributed Compile Monitor
-Comment=Graphical view of distributed compile tasks
-Icon=distccmon-gnome-icon
-TryExec=distccmon-gnome
-Terminal=false
-Type=Application
-Categories=GNOME;Development;
-StartupNotify=true
diff --git a/poky/meta/recipes-devtools/distcc/files/fix-gnome.patch b/poky/meta/recipes-devtools/distcc/files/fix-gnome.patch
new file mode 100644
index 000000000..f1f5ed1a9
--- /dev/null
+++ b/poky/meta/recipes-devtools/distcc/files/fix-gnome.patch
@@ -0,0 +1,122 @@
+Upstream-Status: Backport [https://github.com/distcc/distcc/pull/319]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 2faacc2be8d7eeee0a3f66d88fedd1d3ab11070e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 8 Dec 2018 12:50:07 +0100
+Subject: [PATCH] Fix desktop spec compliance of distccmon-gnome install
+
+Update the .desktop file and install rules for distccmon-gnome to
+conform to the freedesktop.org specifications. More specifically:
+
+- update to version 1.0 of the spec
+- remove obsolete 'Encoding' key
+- remove obsolete 'Application' category and add recommended 'GTK'
+- install icon file to the correct directory
+- strip suffix from desktop file (specifying it is deprecated)
+- while at it, remove redundant '-icon' from the filename
+- install desktop file to the correct directory
+---
+ Makefile.in | 18 ++++++++++--------
+ gnome/distccmon-gnome.desktop | 7 +++----
+ ...mon-gnome-icon.png => distccmon-gnome.png} | Bin
+ src/mon-gnome.c | 2 +-
+ 4 files changed, 14 insertions(+), 13 deletions(-)
+ rename gnome/{distccmon-gnome-icon.png => distccmon-gnome.png} (100%)
+
+diff --git a/Makefile.in b/Makefile.in
+index 6e1e467..1106559 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -52,13 +52,14 @@ mandir = @mandir@
+ includedir = @includedir@
+ oldincludedir = /usr/include
+ docdir = @docdir@
+-pkgdatadir = $(datadir)/@PACKAGE_NAME@
++icondir = $(datarootdir)/pixmaps
++desktopdir = $(datarootdir)/applications
+
+ include_server_builddir = $(builddir)/_include_server
+
+ # These must be done from here, not from autoconf, because they can
+ # contain variable expansions written in Make syntax. Ew.
+-DIR_DEFS = -DLIBDIR="\"${libdir}\"" -DSYSCONFDIR="\"${sysconfdir}\"" -DPKGDATADIR="\"${pkgdatadir}\""
++DIR_DEFS = -DLIBDIR="\"${libdir}\"" -DSYSCONFDIR="\"${sysconfdir}\"" -DICONDIR="\"${icondir}\""
+
+ # arguments to pkgconfig
+ GNOME_PACKAGES = @GNOME_PACKAGES@
+@@ -387,7 +388,7 @@ man_HTML = man/distcc_1.html man/distccd_1.html man/distccmon_text_1.html \
+ man/lsdistcc_1.html man/pump_1.html man/include_server_1.html
+ MEN = $(man1_MEN)
+
+-gnome_data = gnome/distccmon-gnome-icon.png \
++gnome_data = gnome/distccmon-gnome.png \
+ gnome/distccmon-gnome.desktop
+
+ popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
+@@ -1033,7 +1034,8 @@ showpaths:
+ @echo " programs $(DESTDIR)$(bindir)"
+ @echo " sbin programs $(DESTDIR)$(sbindir)"
+ @echo " system configuration $(DESTDIR)$(sysconfdir)"
+- @echo " shared data files $(DESTDIR)$(pkgdatadir)"
++ @echo " icon file $(DESTDIR)$(icondir)"
++ @echo " application file $(DESTDIR)$(desktopdir)"
+
+
+ # install-sh can't handle multiple arguments, but we don't need any
+@@ -1129,10 +1131,10 @@ install-example: $(example_DOCS)
+ done
+
+ install-gnome-data: $(gnome_data)
+- $(mkinstalldirs) "$(DESTDIR)$(pkgdatadir)"
+- for p in $(gnome_data); do \
+- $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \
+- done
++ $(mkinstalldirs) "$(DESTDIR)$(icondir)"
++ $(mkinstalldirs) "$(DESTDIR)$(desktopdir)"
++ $(INSTALL_DATA) gnome/distccmon-gnome.png "$(DESTDIR)$(icondir)"
++ $(INSTALL_DATA) gnome/distccmon-gnome.desktop "$(DESTDIR)$(desktopdir)"
+
+ install-conf: $(conf_files) $(default_files)
+ $(mkinstalldirs) "$(DESTDIR)$(sysconfdir)/distcc"
+diff --git a/gnome/distccmon-gnome.desktop b/gnome/distccmon-gnome.desktop
+index bd1fa26..7205f5e 100644
+--- a/gnome/distccmon-gnome.desktop
++++ b/gnome/distccmon-gnome.desktop
+@@ -1,6 +1,5 @@
+ [Desktop Entry]
+-Version=0.9.4
+-Encoding=UTF-8
++Version=1.0
+ Exec=distccmon-gnome
+ Name=distcc monitor
+ Name[sv]=distcc övervakare
+@@ -8,9 +7,9 @@ GenericName=Distributed Compile Monitor
+ GenericName[sv]=Distribuerad kompilerings-övervakare
+ Comment=Graphical view of distributed compile tasks
+ Comment[sv]=Grafisk vy av distribuerade kompileringsuppgifter
+-Icon=distccmon-gnome-icon.png
++Icon=distccmon-gnome
+ TryExec=distccmon-gnome
+ Terminal=false
+ Type=Application
+-Categories=GNOME;Application;Development;
++Categories=GNOME;GTK;Development;
+ StartupNotify=true
+diff --git a/gnome/distccmon-gnome-icon.png b/gnome/distccmon-gnome.png
+similarity index 100%
+rename from gnome/distccmon-gnome-icon.png
+rename to gnome/distccmon-gnome.png
+diff --git a/src/mon-gnome.c b/src/mon-gnome.c
+index 24681d0..bfc286d 100644
+--- a/src/mon-gnome.c
++++ b/src/mon-gnome.c
+@@ -599,7 +599,7 @@ static GtkWidget * dcc_gnome_make_mainwin (void)
+
+ #if GTK_CHECK_VERSION(2,2,0)
+ gtk_window_set_icon_from_file (GTK_WINDOW (mainwin),
+- PKGDATADIR "/distccmon-gnome-icon.png",
++ ICONDIR "/distccmon-gnome.png",
+ NULL);
+ #endif
+
diff --git a/poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch b/poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch
index 7580b5584..c8da9d51c 100644
--- a/poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch
+++ b/poky/meta/recipes-devtools/distcc/files/separatebuilddir.patch
@@ -1,21 +1,33 @@
-When building with a separate build directory, make install fails,
-unable to find the gnome_data files. This patch corrects the
-patch and ensures the build works in this case.
+Upstream-Status: Backport [https://github.com/distcc/distcc/pull/363]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
-RP 2013/3/8
+From 469628ee8dc90c7162d1a850c0b179b7349f9cf3 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 17 Sep 2019 13:04:22 +0100
+Subject: [PATCH] Makefile.in: fix out-of-tree builds when the GNOME UI is
+ enabled
-Upstream-Status: Pending
+The install command doesn't use $(srcdir) so out-of-tree builds fail.
-Index: git/Makefile.in
-===================================================================
---- git.orig/Makefile.in
-+++ git/Makefile.in
-@@ -1117,7 +1117,7 @@ install-example: $(example_DOCS)
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 123054f..b9ce974 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1130,8 +1130,8 @@ install-example: $(example_DOCS)
install-gnome-data: $(gnome_data)
- $(mkinstalldirs) "$(DESTDIR)$(pkgdatadir)"
- for p in $(gnome_data); do \
-- $(INSTALL_DATA) "$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \
-+ $(INSTALL_DATA) "$(srcdir)/$$p" "$(DESTDIR)$(pkgdatadir)" || exit 1; \
- done
+ $(mkinstalldirs) "$(DESTDIR)$(icondir)"
+ $(mkinstalldirs) "$(DESTDIR)$(desktopdir)"
+- $(INSTALL_DATA) gnome/distccmon-gnome.png "$(DESTDIR)$(icondir)"
+- $(INSTALL_DATA) gnome/distccmon-gnome.desktop "$(DESTDIR)$(desktopdir)"
++ $(INSTALL_DATA) $(srcdir)/gnome/distccmon-gnome.png "$(DESTDIR)$(icondir)"
++ $(INSTALL_DATA) $(srcdir)/gnome/distccmon-gnome.desktop "$(DESTDIR)$(desktopdir)"
install-conf: $(conf_files) $(default_files)
+ $(mkinstalldirs) "$(DESTDIR)$(sysconfdir)/distcc"
+--
+2.20.1
diff --git a/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb b/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
index 4b6a28e34..6452c8d99 100644
--- a/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
+++ b/poky/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb
@@ -8,8 +8,6 @@ HOMEPAGE = "http://www.docbook.org/xml/"
LICENSE = "OASIS"
LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE-OASIS;md5=c608985dd5f7f215e669e7639a0b1d2e"
-DEPENDS = "libxml2-native"
-
# Note: the upstream sources are not distributed with a license file.
# LICENSE-OASIS is included as a "patch" to workaround this. When
# upgrading this recipe, please verify whether this is still needed.
diff --git a/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb b/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
index ff38e874b..c5d3a2480 100644
--- a/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
+++ b/poky/meta/recipes-devtools/docbook-xml/docbook-xsl-stylesheets_1.79.1.bb
@@ -14,8 +14,6 @@ UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/docbook/files/docbook-xsl/
# Reject versions ending in .0 as those are release candidates
UPSTREAM_CHECK_REGEX = "/docbook-xsl/(?P<pver>(\d+[\.\-_]*)+(?!\.0)\.\d+)/"
-DEPENDS = "libxml2-native"
-
S = "${WORKDIR}/docbook-xsl-${PV}"
inherit allarch xmlcatalog
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg.inc b/poky/meta/recipes-devtools/dpkg/dpkg.inc
index fee7a7581..1c3c585d7 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg.inc
+++ b/poky/meta/recipes-devtools/dpkg/dpkg.inc
@@ -9,7 +9,7 @@ RDEPENDS_${PN}_class-native = ""
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/dpkg/"
-inherit autotools gettext perlnative pkgconfig perl-version
+inherit autotools gettext perlnative pkgconfig perl-version update-alternatives
PERL_class-native = "${STAGING_BINDIR_NATIVE}/perl-native/perl"
@@ -76,7 +76,10 @@ RDEPENDS_${PN}-perl += "perl-module-carp perl-module-constant \
# the bitbake version.
#
PACKAGES =+ "${PN}-start-stop"
-FILES_${PN}-start-stop = "${sbindir}/start-stop-daemon"
+FILES_${PN}-start-stop = "${sbindir}/start-stop-daemon.${BPN}"
+ALTERNATIVE_${PN}-start-stop = "start-stop-daemon"
+ALTERNATIVE_LINK_NAME[start-stop-daemon] = "${sbindir}/start-stop-daemon"
+ALTERNATIVE_PRIORITY = "100"
RDEPENDS_${PN} += "${PN}-start-stop"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
index b88be8749..9ca7262eb 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch
@@ -1,7 +1,7 @@
-From 24229971492515b64c81e8c6392e5dfbdc22b44c Mon Sep 17 00:00:00 2001
+From dd11ed66640f79143e42d778b58fdd5a61fb5836 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
+Subject: [PATCH] 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.
@@ -12,11 +12,11 @@ ALIMON 2016/05/26
ALIMON 2017/02/21
KKang 2019/02/20
---
- src/script.c | 44 +++-----------------------------------------
- 1 file changed, 3 insertions(+), 41 deletions(-)
+ src/script.c | 53 +++-------------------------------------------------
+ 1 file changed, 3 insertions(+), 50 deletions(-)
diff --git a/src/script.c b/src/script.c
-index 0865b95..73ed35d 100644
+index abe65b6f7..621ff9b27 100644
--- a/src/script.c
+++ b/src/script.c
@@ -96,58 +96,11 @@ setexecute(const char *path, struct stat *stab)
@@ -27,12 +27,12 @@ index 0865b95..73ed35d 100644
- const char *changedir;
- size_t instdirlen = strlen(instdir);
-
-- if (instdirlen > 0 && fc_script_chrootless)
+- if (instdirlen > 0 && in_force(FORCE_SCRIPT_CHROOTLESS))
- changedir = instdir;
- else
- changedir = "/";
-
-- if (instdirlen > 0 && !fc_script_chrootless) {
+- if (instdirlen > 0 && !in_force(FORCE_SCRIPT_CHROOTLESS)) {
- int rc;
-
- if (strncmp(admindir, instdir, instdirlen) != 0)
@@ -43,7 +43,7 @@ index 0865b95..73ed35d 100644
- ohshite(_("unable to setenv for subprocesses"));
-
- rc = chroot(instdir);
-- if (rc && fc_nonroot && errno == EPERM)
+- if (rc && in_force(FORCE_NON_ROOT) && errno == EPERM)
- ohshit(_("not enough privileges to change root "
- "directory with --force-not-root, consider "
- "using --force-script-chrootless?"));
@@ -69,7 +69,7 @@ index 0865b95..73ed35d 100644
- args.buf);
- varbuf_destroy(&args);
- }
-- if (instdirlen == 0 || fc_script_chrootless)
+- if (instdirlen == 0 || in_force(FORCE_SCRIPT_CHROOTLESS))
- return cmd->filename;
-
- if (strlen(cmd->filename) < instdirlen)
@@ -82,5 +82,5 @@ index 0865b95..73ed35d 100644
/**
--
-2.1.4
+2.17.1
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb
deleted file mode 100644
index b83868fec..000000000
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require dpkg.inc
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \
- 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://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://tweak-options-require-tar-1.27.patch \
-"
-
-SRC_URI[md5sum] = "1e4420409426d8c58bbe13a8e07c0c0b"
-SRC_URI[sha256sum] = "c15234e98655689586bff2d517a6fdc6135d139c54d52ae9cfa6a90007fee0ae"
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb
new file mode 100644
index 000000000..e9dec337b
--- /dev/null
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.7.bb
@@ -0,0 +1,22 @@
+require dpkg.inc
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \
+ 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://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://tweak-options-require-tar-1.27.patch \
+"
+
+SRC_URI[md5sum] = "60f57c5494e6dfa177504d47bfa0e383"
+SRC_URI[sha256sum] = "4c27fededf620c0aa522fff1a48577ba08144445341257502e7730f2b1a296e8"
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-create_inode-fix-copying-large-files.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-create_inode-fix-copying-large-files.patch
deleted file mode 100644
index c89581dce..000000000
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/0001-create_inode-fix-copying-large-files.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Upstream-Status: Submitted
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 674ab87b8338372338d20e21a350f88b4ff6c7c8 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Fri, 1 Feb 2019 10:59:59 +0000
-Subject: [PATCH] create_inode: fix copying large files
-
-When copying large files into a ext filesystem at mkfs time the copy fails at
-2^31 bytes in. There are two problems:
-
-copy_file_chunk() passes an offset (off_t, 64-bit typically) to
-ext2fs_file_lseek() which expects a ext2_off_t (typedef to __u32) so the value
-is truncated. Solve by calling ext2fs_file_llseek() which takes a u64 offset
-instead.
-
-try_lseek_copy() rounds the data and hole offsets as found by lseek() to block
-boundaries, but the calculation gets truncated to 32-bits. Solve by casting the
-32-bit blocksize to off_t to ensure this doesn't happen.
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- misc/create_inode.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/misc/create_inode.c b/misc/create_inode.c
-index 05aa6363..f106dcda 100644
---- a/misc/create_inode.c
-+++ b/misc/create_inode.c
-@@ -438,7 +438,7 @@ static errcode_t copy_file_chunk(ext2_filsys fs, int fd, ext2_file_t e2_file,
- ptr += blen;
- continue;
- }
-- err = ext2fs_file_lseek(e2_file, off + bpos,
-+ err = ext2fs_file_llseek(e2_file, off + bpos,
- EXT2_SEEK_SET, NULL);
- if (err)
- goto fail;
-@@ -481,7 +481,7 @@ static errcode_t try_lseek_copy(ext2_filsys fs, int fd, struct stat *statbuf,
- return EXT2_ET_UNIMPLEMENTED;
-
- data_blk = data & ~(fs->blocksize - 1);
-- hole_blk = (hole + (fs->blocksize - 1)) & ~(fs->blocksize - 1);
-+ hole_blk = (hole + (off_t)(fs->blocksize - 1)) & ~(off_t)(fs->blocksize - 1);
- err = copy_file_chunk(fs, fd, e2_file, data_blk, hole_blk, buf,
- zerobuf);
- if (err)
---
-2.11.0
-
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch
deleted file mode 100644
index d7e09b6be..000000000
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0a392baf1874964651115d9f77b0daa6851d1daa Mon Sep 17 00:00:00 2001
-From: Jonathan Liu <net147@gmail.com>
-Date: Tue, 1 Mar 2016 14:28:01 +1100
-Subject: [PATCH] Revert "mke2fs: enable the metadata_csum and 64bit features
- by default"
-
-This reverts commit cd27af3ecb83e8fd1e3eaa14994284a1818c7c15 as we
-don't want to enable features by default that are not supported by
-the latest stable e2fsprogs release.
-
-Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Jonathan Liu <net147@gmail.com>
-
-Rebase to 1.43:
-The upstream has disabled metadata_csum by default
-this rebase just revert 64bit feature.
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- misc/mke2fs.conf.in | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/misc/mke2fs.conf.in b/misc/mke2fs.conf.in
-index 01e35cf..25105b3 100644
---- a/misc/mke2fs.conf.in
-+++ b/misc/mke2fs.conf.in
-@@ -11,8 +11,9 @@
- features = has_journal
- }
- ext4 = {
-- features = has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize
-+ features = has_journal,extent,huge_file,flex_bg,metadata_csum,dir_nlink,extra_isize
- inode_size = 256
-+ auto_64-bit_support = 1
- }
- small = {
- blocksize = 1024
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/ptest.patch b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/ptest.patch
index 4e6b6292e..c3e46ce65 100644
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/ptest.patch
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs/ptest.patch
@@ -5,11 +5,13 @@ Subject: [PATCH] e2fsprogs: add ptest
Upstream-Status: Inappropriate
+Rebase for e2fsprogs 1.45.3.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
- tests/Makefile.in | 4 ++--
- tests/test_config | 32 ++++++++++++++++----------------
- tests/test_script.in | 2 +-
- 3 files changed, 19 insertions(+), 19 deletions(-)
+ tests/Makefile.in | 4 ++--
+ tests/test_config | 32 ++++++++++++++++----------------
+ 2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 8c4d2048..e021af32 100644
@@ -34,10 +36,10 @@ index 8c4d2048..e021af32 100644
@chmod +x-w test_script
diff --git a/tests/test_config b/tests/test_config
-index 1f146ca2..05125f9c 100644
+index 9dc762ce..a5fbdef6 100644
--- a/tests/test_config
+++ b/tests/test_config
-@@ -3,16 +3,16 @@
+@@ -3,25 +3,25 @@
#
unset LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME PAGER
@@ -62,12 +64,6 @@ index 1f146ca2..05125f9c 100644
+DEBUGFS="$USE_VALGRIND debugfs"
+DEBUGFS_EXE="/sbin/debugfs"
TEST_BITS="test_data.tmp"
- if [ ! -s $TEST_BITS ]; then
- # create a non-sparse test file if possible, since debugfs may be
-@@ -21,14 +21,14 @@ if [ ! -s $TEST_BITS ]; then
- dd if=/dev/urandom of=$TEST_BITS bs=128k count=1 > /dev/null 2>&1 ||
- TEST_BITS="$DEFBUGFS_EXE"
- fi
-RESIZE2FS_EXE="../resize/resize2fs"
+RESIZE2FS_EXE="/sbin/resize2fs"
RESIZE2FS="$USE_VALGRIND $RESIZE2FS_EXE"
@@ -85,16 +81,3 @@ index 1f146ca2..05125f9c 100644
CLEAN_OUTPUT="sed -f $cmd_dir/filter.sed"
LD_LIBRARY_PATH=../lib:../lib/ext2fs:../lib/e2p:../lib/et:../lib/ss:${LD_LIBRARY_PATH}
DYLD_LIBRARY_PATH=../lib:../lib/ext2fs:../lib/e2p:../lib/et:../lib/ss:${DYLD_LIBRARY_PATH}
-diff --git a/tests/test_script.in b/tests/test_script.in
-index 9959e308..442999db 100644
---- a/tests/test_script.in
-+++ b/tests/test_script.in
-@@ -39,7 +39,7 @@ for i; do
- done
-
- if test "$TESTS"x = x ; then
-- if test -n "DO_FAILED"; then
-+ if test -n "$DO_FAILED"; then
- exit 0
- fi
- TESTS=`ls -d $SRCDIR/[a-zA-Z]_*`
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb
deleted file mode 100644
index ed946159b..000000000
--- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb
+++ /dev/null
@@ -1,137 +0,0 @@
-require e2fsprogs.inc
-
-SRC_URI += "file://remove.ldconfig.call.patch \
- file://run-ptest \
- file://ptest.patch \
- file://Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch \
- file://mkdir_p.patch \
- file://0001-misc-create_inode.c-set-dir-s-mode-correctly.patch \
- file://0001-create_inode-fix-copying-large-files.patch \
- "
-
-SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \
- file://quiet-debugfs.patch \
-"
-
-SRCREV = "9a03c07e00f09a772245281d84a284c67e905148"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+(\.\d+)*)$"
-
-EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \
- --enable-elf-shlibs --disable-libuuid --disable-uuidd \
- --disable-libblkid --enable-verbose-makecmds"
-
-EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[fuse] = '--enable-fuse2fs,--disable-fuse2fs,fuse'
-
-# make locale rules sometimes fire, sometimes don't as git doesn't preserve
-# file mktime. Touch the files introducing non-determinism to the build
-do_compile_prepend (){
- find ${S}/po -type f -name "*.po" -exec touch {} +
-}
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
- oe_runmake 'DESTDIR=${D}' install-libs
- # We use blkid from util-linux now so remove from here
- rm -f ${D}${base_libdir}/libblkid*
- rm -rf ${D}${includedir}/blkid
- rm -f ${D}${base_libdir}/pkgconfig/blkid.pc
- rm -f ${D}${base_sbindir}/blkid
- rm -f ${D}${base_sbindir}/fsck
- rm -f ${D}${base_sbindir}/findfs
-
- # e2initrd_helper and the pkgconfig files belong in libdir
- if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
- install -d ${D}${libdir}
- mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir}
- mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
- fi
-
- oe_multilib_header ext2fs/ext2_types.h
- install -d ${D}${base_bindir}
- mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs
-
- install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/
-
- # Clean host path (build directory) in compile_et, mk_cmds
- sed -i -e "s,\(ET_DIR=.*\)${S}/lib/et\(.*\),\1${datadir}/et\2,g" ${D}${bindir}/compile_et
- sed -i -e "s,\(SS_DIR=.*\)${S}/lib/ss\(.*\),\1${datadir}/ss\2,g" ${D}${bindir}/mk_cmds
-}
-
-# Need to find the right mke2fs.conf file
-e2fsprogs_conf_fixup () {
- for i in mke2fs mkfs.ext2 mkfs.ext3 mkfs.ext4; do
- create_wrapper ${D}${base_sbindir}/$i MKE2FS_CONFIG=${sysconfdir}/mke2fs.conf
- done
-}
-
-do_install_append_class-native() {
- e2fsprogs_conf_fixup
-}
-
-do_install_append_class-nativesdk() {
- e2fsprogs_conf_fixup
-}
-
-do_install_append_class-target() {
- mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.e2fsprogs
- mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.e2fsprogs
- mv ${D}${base_sbindir}/tune2fs ${D}${base_sbindir}/tune2fs.e2fsprogs
-}
-
-RDEPENDS_e2fsprogs = "e2fsprogs-badblocks"
-RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck"
-
-PACKAGES =+ "e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs"
-PACKAGES =+ "libcomerr libss libe2p libext2fs"
-
-FILES_e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*"
-FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*"
-FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.e2fsprogs ${base_sbindir}/mkfs.ext* ${sysconfdir}/mke2fs.conf"
-FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs.e2fsprogs ${base_sbindir}/e2label"
-FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks"
-FILES_libcomerr = "${base_libdir}/libcom_err.so.*"
-FILES_libss = "${base_libdir}/libss.so.*"
-FILES_libe2p = "${base_libdir}/libe2p.so.*"
-FILES_libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*"
-FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds"
-
-ALTERNATIVE_${PN} = "chattr"
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr"
-ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs"
-
-ALTERNATIVE_${PN}-doc = "fsck.8"
-ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
-
-ALTERNATIVE_${PN}-mke2fs = "mke2fs mkfs.ext2"
-ALTERNATIVE_LINK_NAME[mke2fs] = "${base_sbindir}/mke2fs"
-ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2"
-
-ALTERNATIVE_${PN}-tune2fs = "tune2fs"
-ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs"
-
-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
-}
-
-do_install_ptest() {
- cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test
- cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test
- sed -e 's!../e2fsck/e2fsck!e2fsck!g' \
- -e 's!../misc/tune2fs!tune2fs!g' -i ${D}${PTEST_PATH}/test/*/expect*
- sed -e 's!../e2fsck/e2fsck!${base_sbindir}/e2fsck!g' -i ${D}${PTEST_PATH}/test/*/script
-
- # Remove various files
- find "${D}${PTEST_PATH}" -type f \
- \( -name 'Makefile' -o -name 'Makefile.in' -o -name '*.o' -o -name '*.c' -o -name '*.h' \)\
- -exec rm -f {} +
-
- install -d ${D}${PTEST_PATH}/lib
- install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/
-}
diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.3.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.3.bb
new file mode 100644
index 000000000..fdc9454b5
--- /dev/null
+++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.45.3.bb
@@ -0,0 +1,138 @@
+require e2fsprogs.inc
+
+SRC_URI += "file://remove.ldconfig.call.patch \
+ file://run-ptest \
+ file://ptest.patch \
+ file://mkdir_p.patch \
+ file://0001-misc-create_inode.c-set-dir-s-mode-correctly.patch \
+ "
+
+SRC_URI_append_class-native = " file://e2fsprogs-fix-missing-check-for-permission-denied.patch \
+ file://quiet-debugfs.patch \
+"
+
+SRCREV = "1f56fb81236fe3e25e2c60c1e89ea0aa7cb36260"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+(\.\d+)*)$"
+
+EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} \
+ --enable-elf-shlibs --disable-libuuid --disable-uuidd \
+ --disable-libblkid --enable-verbose-makecmds \
+ --with-crond-dir=no"
+
+EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[fuse] = '--enable-fuse2fs,--disable-fuse2fs,fuse'
+
+# make locale rules sometimes fire, sometimes don't as git doesn't preserve
+# file mktime. Touch the files introducing non-determinism to the build
+do_compile_prepend (){
+ find ${S}/po -type f -name "*.po" -exec touch {} +
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ oe_runmake 'DESTDIR=${D}' install-libs
+ # We use blkid from util-linux now so remove from here
+ rm -f ${D}${base_libdir}/libblkid*
+ rm -rf ${D}${includedir}/blkid
+ rm -f ${D}${base_libdir}/pkgconfig/blkid.pc
+ rm -f ${D}${base_sbindir}/blkid
+ rm -f ${D}${base_sbindir}/fsck
+ rm -f ${D}${base_sbindir}/findfs
+
+ # e2initrd_helper and the pkgconfig files belong in libdir
+ if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
+ install -d ${D}${libdir}
+ mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir}
+ mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
+ fi
+
+ oe_multilib_header ext2fs/ext2_types.h
+ install -d ${D}${base_bindir}
+ mv ${D}${bindir}/chattr ${D}${base_bindir}/chattr.e2fsprogs
+
+ install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/
+
+ # Clean host path (build directory) in compile_et, mk_cmds
+ sed -i -e "s,\(ET_DIR=.*\)${S}/lib/et\(.*\),\1${datadir}/et\2,g" ${D}${bindir}/compile_et
+ sed -i -e "s,\(SS_DIR=.*\)${S}/lib/ss\(.*\),\1${datadir}/ss\2,g" ${D}${bindir}/mk_cmds
+}
+
+# Need to find the right mke2fs.conf file
+e2fsprogs_conf_fixup () {
+ for i in mke2fs mkfs.ext2 mkfs.ext3 mkfs.ext4; do
+ create_wrapper ${D}${base_sbindir}/$i MKE2FS_CONFIG=${sysconfdir}/mke2fs.conf
+ done
+}
+
+do_install_append_class-native() {
+ e2fsprogs_conf_fixup
+}
+
+do_install_append_class-nativesdk() {
+ e2fsprogs_conf_fixup
+}
+
+do_install_append_class-target() {
+ mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.e2fsprogs
+ mv ${D}${base_sbindir}/mkfs.ext2 ${D}${base_sbindir}/mkfs.ext2.e2fsprogs
+ mv ${D}${base_sbindir}/tune2fs ${D}${base_sbindir}/tune2fs.e2fsprogs
+}
+
+RDEPENDS_e2fsprogs = "e2fsprogs-badblocks"
+RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck"
+
+PACKAGES =+ "e2fsprogs-e2fsck e2fsprogs-e2scrub e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs"
+PACKAGES =+ "libcomerr libss libe2p libext2fs"
+
+FILES_e2fsprogs-resize2fs = "${base_sbindir}/resize2fs*"
+FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*"
+FILES_e2fsprogs-e2scrub = "${base_sbindir}/e2scrub*"
+FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs.e2fsprogs ${base_sbindir}/mkfs.ext* ${sysconfdir}/mke2fs.conf"
+FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs.e2fsprogs ${base_sbindir}/e2label"
+FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks"
+FILES_libcomerr = "${base_libdir}/libcom_err.so.*"
+FILES_libss = "${base_libdir}/libss.so.*"
+FILES_libe2p = "${base_libdir}/libe2p.so.*"
+FILES_libext2fs = "${libdir}/e2initrd_helper ${base_libdir}/libext2fs.so.*"
+FILES_${PN}-dev += "${datadir}/*/*.awk ${datadir}/*/*.sed ${base_libdir}/*.so ${bindir}/compile_et ${bindir}/mk_cmds"
+
+ALTERNATIVE_${PN} = "chattr"
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_LINK_NAME[chattr] = "${base_bindir}/chattr"
+ALTERNATIVE_TARGET[chattr] = "${base_bindir}/chattr.e2fsprogs"
+
+ALTERNATIVE_${PN}-doc = "fsck.8"
+ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
+
+ALTERNATIVE_${PN}-mke2fs = "mke2fs mkfs.ext2"
+ALTERNATIVE_LINK_NAME[mke2fs] = "${base_sbindir}/mke2fs"
+ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2"
+
+ALTERNATIVE_${PN}-tune2fs = "tune2fs"
+ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs"
+
+RDEPENDS_e2fsprogs-e2scrub = "bash"
+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
+}
+
+do_install_ptest() {
+ cp -R --no-dereference --preserve=mode,links -v ${B}/tests ${D}${PTEST_PATH}/test
+ cp -R --no-dereference --preserve=mode,links -v ${S}/tests/* ${D}${PTEST_PATH}/test
+ sed -e 's!../e2fsck/e2fsck!e2fsck!g' \
+ -e 's!../misc/tune2fs!tune2fs!g' -i ${D}${PTEST_PATH}/test/*/expect*
+ sed -e 's!../e2fsck/e2fsck!${base_sbindir}/e2fsck!g' -i ${D}${PTEST_PATH}/test/*/script
+
+ # Remove various files
+ find "${D}${PTEST_PATH}" -type f \
+ \( -name 'Makefile' -o -name 'Makefile.in' -o -name '*.o' -o -name '*.c' -o -name '*.h' \)\
+ -exec rm -f {} +
+
+ install -d ${D}${PTEST_PATH}/lib
+ install -m 0644 ${B}/lib/config.h ${D}${PTEST_PATH}/lib/
+}
diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
deleted file mode 100644
index 5b8049f53..000000000
--- a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb
+++ /dev/null
@@ -1,146 +0,0 @@
-SUMMARY = "Utilities and libraries for handling compiled object files"
-HOMEPAGE = "https://sourceware.org/elfutils"
-SECTION = "base"
-LICENSE = "GPLv2 & LGPLv3+ & GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "libtool bzip2 zlib virtual/libintl"
-DEPENDS_append_libc-musl = " argp-standalone fts "
-# The Debian patches below are from:
-# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.175-1.debian.tar.xz
-SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
- file://0001-dso-link-change.patch \
- file://0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch \
- file://0003-fixheadercheck.patch \
- file://0004-Disable-the-test-to-convert-euc-jp.patch \
- file://0006-Fix-build-on-aarch64-musl.patch \
- file://0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch \
- file://0001-libasm-may-link-with-libbz2-if-found.patch \
- file://0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch \
- file://debian/hppa_backend.diff \
- file://debian/arm_backend.diff \
- file://debian/mips_backend.diff \
- file://debian/mips_readelf_w.patch \
- file://debian/kfreebsd_path.patch \
- file://debian/0001-Ignore-differences-between-mips-machine-identifiers.patch \
- file://debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch \
- file://debian/0003-Add-mips-n64-relocation-format-hack.patch \
- file://debian/hurd_path.patch \
- file://debian/ignore_strmerge.diff \
- file://debian/disable_werror.patch \
- file://debian/testsuite-ignore-elflint.diff \
- file://0001-skip-the-test-when-gcc-not-deployed.patch \
- file://run-ptest \
- file://ptest.patch \
- file://musl.patch \
- "
-SRC_URI_append_libc-musl = " file://0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch \
- file://0001-fix-err-variable-and-function-conflicts.patch \
-"
-
-SRC_URI[md5sum] = "077e4f49320cad82bf17a997068b1db9"
-SRC_URI[sha256sum] = "eb5747c371b0af0f71e86215a5ebb88728533c3a104a43d4231963f308cd1023"
-
-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"
-
-EXTRA_OECONF_append_class-target += "--disable-tests-rpath"
-
-do_install_append() {
- if [ "${TARGET_ARCH}" != "x86_64" ] && [ -z `echo "${TARGET_ARCH}"|grep 'i.86'` ];then
- rm -f ${D}${bindir}/eu-objdump
- fi
-}
-
-do_compile_ptest() {
- cd ${B}/tests
- oe_runmake buildtest-TESTS oecheck
-}
-
-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}
- cp -r ${B}/backends ${D}${PTEST_PATH}
- sed -i '/^Makefile:/c Makefile:' ${D}${PTEST_PATH}/tests/Makefile
- find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {}
- fi
-}
-
-EXTRA_OEMAKE_class-native = ""
-EXTRA_OEMAKE_class-nativesdk = ""
-
-ALLOW_EMPTY_${PN}_libc-musl = "1"
-
-BBCLASSEXTEND = "native nativesdk"
-
-# Package utilities separately
-PACKAGES =+ "${PN}-binutils libelf libasm libdw"
-
-# shared libraries are licensed GPLv2 or GPLv3+, binaries GPLv3+
-# according to NEWS file:
-# "The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone
-# programs. There is now also a formal CONTRIBUTING document describing how to
-# submit patches."
-LICENSE_${PN}-binutils = "GPLv3+"
-LICENSE_${PN} = "GPLv3+"
-LICENSE_libelf = "GPLv2 | LGPLv3+"
-LICENSE_libasm = "GPLv2 | LGPLv3+"
-LICENSE_libdw = "GPLv2 | LGPLv3+"
-
-FILES_${PN}-binutils = "\
- ${bindir}/eu-addr2line \
- ${bindir}/eu-ld \
- ${bindir}/eu-nm \
- ${bindir}/eu-readelf \
- ${bindir}/eu-size \
- ${bindir}/eu-strip"
-
-FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*"
-FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*"
-FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*"
-# Some packages have the version preceeding the .so instead properly
-# versioned .so.<version>, so we need to reorder and repackage.
-#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so"
-#FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so"
-
-# 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/elfutils_0.177.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb
new file mode 100644
index 000000000..78c379193
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.177.bb
@@ -0,0 +1,148 @@
+SUMMARY = "Utilities and libraries for handling compiled object files"
+HOMEPAGE = "https://sourceware.org/elfutils"
+SECTION = "base"
+LICENSE = "GPLv2 & LGPLv3+ & GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+DEPENDS = "libtool bzip2 zlib virtual/libintl"
+DEPENDS_append_libc-musl = " argp-standalone fts musl-obstack "
+# The Debian patches below are from:
+# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.176-1.debian.tar.xz
+SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
+ file://0001-dso-link-change.patch \
+ file://0002-Fix-elf_cvt_gunhash-if-dest-and-src-are-same.patch \
+ file://0003-fixheadercheck.patch \
+ file://0004-Disable-the-test-to-convert-euc-jp.patch \
+ file://0006-Fix-build-on-aarch64-musl.patch \
+ file://0007-Fix-control-path-where-we-have-str-as-uninitialized-.patch \
+ file://0001-libasm-may-link-with-libbz2-if-found.patch \
+ file://0001-libelf-elf_end.c-check-data_list.data.d.d_buf-before.patch \
+ file://debian/hppa_backend.diff \
+ file://debian/arm_backend.diff \
+ file://debian/mips_backend.diff \
+ file://debian/mips_readelf_w.patch \
+ file://debian/kfreebsd_path.patch \
+ file://debian/0001-Ignore-differences-between-mips-machine-identifiers.patch \
+ file://debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch \
+ file://debian/0003-Add-mips-n64-relocation-format-hack.patch \
+ file://debian/hurd_path.patch \
+ file://debian/ignore_strmerge.diff \
+ file://debian/disable_werror.patch \
+ file://debian/testsuite-ignore-elflint.diff \
+ file://debian/mips_cfi.patch \
+ file://debian/0001-fix-compile-failure-with-debian-patches.patch \
+ file://0001-skip-the-test-when-gcc-not-deployed.patch \
+ file://0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch \
+ file://run-ptest \
+ file://ptest.patch \
+ "
+SRC_URI_append_libc-musl = " \
+ file://musl-obstack-fts.patch \
+ file://musl-libs.patch \
+ file://musl-utils.patch \
+ file://musl-tests.patch \
+ "
+SRC_URI[md5sum] = "0b583722f911e1632544718d502aab87"
+SRC_URI[sha256sum] = "fa489deccbcae7d8c920f60d85906124c1989c591196d90e0fd668e3dc05042e"
+
+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"
+
+EXTRA_OECONF_append_class-target += "--disable-tests-rpath"
+
+do_install_append() {
+ if [ "${TARGET_ARCH}" != "x86_64" ] && [ -z `echo "${TARGET_ARCH}"|grep 'i.86'` ];then
+ rm -f ${D}${bindir}/eu-objdump
+ fi
+}
+
+do_compile_ptest() {
+ cd ${B}/tests
+ oe_runmake buildtest-TESTS oecheck
+}
+
+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}
+ cp -r ${B}/backends ${D}${PTEST_PATH}
+ sed -i '/^Makefile:/c Makefile:' ${D}${PTEST_PATH}/tests/Makefile
+ find ${D}${PTEST_PATH} -type f -name *.[hoc] | xargs -i rm {}
+ fi
+}
+
+EXTRA_OEMAKE_class-native = ""
+EXTRA_OEMAKE_class-nativesdk = ""
+
+BBCLASSEXTEND = "native nativesdk"
+
+# Package utilities separately
+PACKAGES =+ "${PN}-binutils libelf libasm libdw"
+
+# shared libraries are licensed GPLv2 or GPLv3+, binaries GPLv3+
+# according to NEWS file:
+# "The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone
+# programs. There is now also a formal CONTRIBUTING document describing how to
+# submit patches."
+LICENSE_${PN}-binutils = "GPLv3+"
+LICENSE_${PN} = "GPLv3+"
+LICENSE_libelf = "GPLv2 | LGPLv3+"
+LICENSE_libasm = "GPLv2 | LGPLv3+"
+LICENSE_libdw = "GPLv2 | LGPLv3+"
+
+FILES_${PN}-binutils = "\
+ ${bindir}/eu-addr2line \
+ ${bindir}/eu-ld \
+ ${bindir}/eu-nm \
+ ${bindir}/eu-readelf \
+ ${bindir}/eu-size \
+ ${bindir}/eu-strip"
+
+FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*"
+FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*"
+FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*"
+# Some packages have the version preceeding the .so instead properly
+# versioned .so.<version>, so we need to reorder and repackage.
+#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so"
+#FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so"
+
+# 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 \
+"
+
+PRIVATE_LIBS_${PN}-ptest = "libdw.so.1 libelf.so.1"
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch b/poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch
deleted file mode 100644
index 433db133b..000000000
--- a/poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 2c50fe7068bd6911958c6d851aef88179e73bb21 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <Mingli.Yu@windriver.com>
-Date: Tue, 16 Apr 2019 15:30:38 +0800
-Subject: [PATCH] fix err variable and function conflicts
-
-There comes below build failure with musl when
-ptest enabled.
-| In file included from ../../elfutils-0.176/tests/dwfl-proc-attach.c:33:
-| ../../elfutils-0.176/lib/system.h:63:35: error: called object 'err' is not a function or function pointer
-| #define error(status, errno, ...) err(status, __VA_ARGS__)
-| ^~~
-| ../../elfutils-0.176/tests/dwfl-proc-attach.c:92:5: note: in expansion of macro 'error'
-| error (-1, 0, "dwfl_linux_proc_attach pid %d: %s", pid,
-| ^~~~~
-| ../../elfutils-0.176/tests/dwfl-proc-attach.c:79:7: note: declared here
-| int err;
-| ^~~
-
-It is because there is no error.h in musl and
-the patch 0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch
-has updated to use err.h to replace error.h
-and also added macro definiton as below when
-use musl.
- #define error(status, errno, ...) err(status, __VA_ARGS__)
-
-And in err.h, there is below logic:
-_Noreturn void err(int, const char *, ...);
-
-But when ptest enabled, there comes below error
-as there is both variable and function defined
-to be err in tests/dwfl-proc-attach.c.
-So change the err variable's name to workaround
-the build failure with musl.
-
-Upstream-Status: Inappropriate [workaround in musl]
-
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- tests/dwfl-proc-attach.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-Index: elfutils-0.176/tests/dwfl-proc-attach.c
-===================================================================
---- elfutils-0.176.orig/tests/dwfl-proc-attach.c
-+++ elfutils-0.176/tests/dwfl-proc-attach.c
-@@ -76,10 +76,10 @@ main (int argc __attribute__ ((unused)),
- char **argv __attribute__ ((unused)))
- {
- /* Create two extra threads to iterate through. */
-- int err;
-- if ((err = pthread_create (&thread1, NULL, sleeper, NULL)) != 0)
-+ int err1;
-+ if ((err1 = pthread_create (&thread1, NULL, sleeper, NULL)) != 0)
- error (-1, err, "Couldn't create thread1");
-- if ((err = pthread_create (&thread2, NULL, sleeper, NULL)) != 0)
-+ if ((err1 = pthread_create (&thread2, NULL, sleeper, NULL)) != 0)
- error (-1, err, "Couldn't create thread2");
-
- Dwfl *dwfl = dwfl_begin (&proc_callbacks);
-Index: elfutils-0.176/tests/backtrace.c
-===================================================================
---- elfutils-0.176.orig/tests/backtrace.c
-+++ elfutils-0.176/tests/backtrace.c
-@@ -219,23 +219,23 @@ dump (Dwfl *dwfl)
- {
- ptrdiff_t ptrdiff = dwfl_getmodules (dwfl, dump_modules, NULL, 0);
- assert (ptrdiff == 0);
-- bool err = false;
-+ bool err1 = false;
- switch (dwfl_getthreads (dwfl, thread_callback, NULL))
- {
- case 0:
- break;
- case DWARF_CB_ABORT:
-- err = true;
-+ err1 = true;
- break;
- case -1:
- error (0, 0, "dwfl_getthreads: %s", dwfl_errmsg (-1));
-- err = true;
-+ err1 = true;
- break;
- default:
- abort ();
- }
- callback_verify (0, 0, 0, NULL, dwfl);
-- if (err)
-+ if (err1)
- exit (EXIT_FAILURE);
- }
-
diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch b/poky/meta/recipes-devtools/elfutils/files/0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch
new file mode 100644
index 000000000..3303333c4
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/0001-ppc_initreg.c-Incliude-asm-ptrace.h-for-pt_regs-defi.patch
@@ -0,0 +1,32 @@
+From 2e2232d0935bf8ef6e66ebffba3be68a73b5b3e5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 8 Sep 2019 15:57:59 -0700
+Subject: [PATCH] ppc_initreg.c: Incliude asm/ptrace.h for pt_regs definition
+
+Fixes
+| ../../elfutils-0.176/backends/ppc_initreg.c:79:22: error: field 'r' has incomplete type
+| struct pt_regs r;
+| ^
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ backends/ppc_initreg.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/backends/ppc_initreg.c b/backends/ppc_initreg.c
+index 0e0d359..e5cca7e 100644
+--- a/backends/ppc_initreg.c
++++ b/backends/ppc_initreg.c
+@@ -33,6 +33,7 @@
+ #include <stdlib.h>
+ #if defined(__powerpc__) && defined(__linux__)
+ # include <sys/ptrace.h>
++# include <asm/ptrace.h>
+ # include <sys/user.h>
+ #endif
+
+--
+2.23.0
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch b/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch
deleted file mode 100644
index 10cdac646..000000000
--- a/poky/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-From 990d377a92f4bab04bf6820fc81b3dcb6cf5e31d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 2 Jul 2018 09:52:23 +0800
-Subject: [PATCH] build: Provide alternatives for glibc assumptions helps
- compiling it on musl
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Rebase to 0.175
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- Makefile.am | 2 +-
- lib/fixedsizehash.h | 1 -
- lib/system.h | 12 +++++++++++-
- libdw/Makefile.am | 3 ++-
- libdwfl/dwfl_build_id_find_elf.c | 1 +
- libdwfl/dwfl_error.c | 4 +++-
- libdwfl/dwfl_module_getdwarf.c | 1 +
- libdwfl/libdwfl_crc32_file.c | 9 +++++++++
- libdwfl/linux-kernel-modules.c | 1 +
- libelf/elf.h | 8 ++++++--
- libelf/libelf.h | 1 +
- libelf/libelfP.h | 1 +
- 12 files changed, 37 insertions(+), 7 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 2ff444e..41f77df 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -28,7 +28,7 @@ pkginclude_HEADERS = version.h
-
- # Add doc back when we have some real content.
- SUBDIRS = config m4 lib libelf libebl libdwelf libdwfl libdw libcpu libasm \
-- backends src po tests
-+ backends po tests
-
- EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
- COPYING COPYING-GPLV2 COPYING-LGPLV3
-diff --git a/lib/fixedsizehash.h b/lib/fixedsizehash.h
-index dac2a5f..43016fc 100644
---- a/lib/fixedsizehash.h
-+++ b/lib/fixedsizehash.h
-@@ -30,7 +30,6 @@
- #include <errno.h>
- #include <stdlib.h>
- #include <string.h>
--#include <sys/cdefs.h>
-
- #include <system.h>
-
-diff --git a/lib/system.h b/lib/system.h
-index 292082b..308a762 100644
---- a/lib/system.h
-+++ b/lib/system.h
-@@ -30,7 +30,7 @@
- #define LIB_SYSTEM_H 1
-
- #include <errno.h>
--#include <error.h>
-+#include <err.h>
- #include <stddef.h>
- #include <stdint.h>
- #include <sys/param.h>
-@@ -51,6 +51,8 @@
- #else
- # error "Unknown byte order"
- #endif
-+
-+#define error(status, errno, ...) err(status, __VA_ARGS__)
-
- #ifndef MAX
- #define MAX(m, n) ((m) < (n) ? (n) : (m))
-diff --git a/libdw/Makefile.am b/libdw/Makefile.am
-index 7a3d532..7ac1241 100644
---- a/libdw/Makefile.am
-+++ b/libdw/Makefile.am
-@@ -108,7 +108,8 @@ am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os)
- libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \
- ../libdwfl/libdwfl_pic.a ../libebl/libebl.a
- libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so
--libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS)
-+fts_LDADD = -lfts
-+libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) $(fts_LDADD)
- libdw_so_SOURCES =
- libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS)
- # The rpath is necessary for libebl because its $ORIGIN use will
-diff --git a/libdwfl/dwfl_build_id_find_elf.c b/libdwfl/dwfl_build_id_find_elf.c
-index cc6c3f6..b06ab59 100644
---- a/libdwfl/dwfl_build_id_find_elf.c
-+++ b/libdwfl/dwfl_build_id_find_elf.c
-@@ -31,6 +31,7 @@
- #endif
-
- #include "libdwflP.h"
-+#include "system.h"
- #include <inttypes.h>
- #include <fcntl.h>
- #include <unistd.h>
-diff --git a/libdwfl/dwfl_error.c b/libdwfl/dwfl_error.c
-index 7bcf61c..c345797 100644
---- a/libdwfl/dwfl_error.c
-+++ b/libdwfl/dwfl_error.c
-@@ -140,6 +140,7 @@ __libdwfl_seterrno (Dwfl_Error error)
- const char *
- dwfl_errmsg (int error)
- {
-+ static __thread char s[64] = "";
- if (error == 0 || error == -1)
- {
- int last_error = global_error;
-@@ -154,7 +155,8 @@ dwfl_errmsg (int error)
- switch (error &~ 0xffff)
- {
- case OTHER_ERROR (ERRNO):
-- return strerror_r (error & 0xffff, "bad", 0);
-+ strerror_r (error & 0xffff, s, sizeof(s));
-+ return s;
- case OTHER_ERROR (LIBELF):
- return elf_errmsg (error & 0xffff);
- case OTHER_ERROR (LIBDW):
-diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c
-index 56e6105..f4a0649 100644
---- a/libdwfl/dwfl_module_getdwarf.c
-+++ b/libdwfl/dwfl_module_getdwarf.c
-@@ -35,6 +35,7 @@
- #include <fcntl.h>
- #include <string.h>
- #include <unistd.h>
-+#include "system.h"
- #include "../libdw/libdwP.h" /* DWARF_E_* values are here. */
- #include "../libelf/libelfP.h"
- #include "system.h"
-diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
-index 360e4ee..b5aa397 100644
---- a/libdwfl/linux-kernel-modules.c
-+++ b/libdwfl/linux-kernel-modules.c
-@@ -41,6 +41,7 @@
-
- #include "libelfP.h"
- #include "libdwflP.h"
-+#include "system.h"
- #include <inttypes.h>
- #include <errno.h>
- #include <stdio.h>
-diff --git a/libelf/elf.h b/libelf/elf.h
-index 5dc632b..14da1b7 100644
---- a/libelf/elf.h
-+++ b/libelf/elf.h
-@@ -21,7 +21,9 @@
-
- #include <features.h>
-
--__BEGIN_DECLS
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-
- /* Standard ELF types. */
-
-@@ -3937,6 +3939,8 @@ enum
- #define R_METAG_TLS_LE_HI16 60
- #define R_METAG_TLS_LE_LO16 61
-
--__END_DECLS
-+#ifdef __cplusplus
-+}
-+#endif
-
- #endif /* elf.h */
-diff --git a/libelf/libelf.h b/libelf/libelf.h
-index 1ff11c9..c21e018 100644
---- a/libelf/libelf.h
-+++ b/libelf/libelf.h
-@@ -29,6 +29,7 @@
- #ifndef _LIBELF_H
- #define _LIBELF_H 1
-
-+#include <fcntl.h>
- #include <stdint.h>
- #include <sys/types.h>
-
-diff --git a/libelf/libelfP.h b/libelf/libelfP.h
-index 9f3e8e9..10a347a 100644
---- a/libelf/libelfP.h
-+++ b/libelf/libelfP.h
-@@ -32,6 +32,7 @@
-
- #include <ar.h>
- #include <gelf.h>
-+#include <libelf.h>
-
- #include <errno.h>
- #include <stdbool.h>
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
index 892b8e873..a2983c577 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0001-Ignore-differences-between-mips-machine-identifiers.patch
@@ -1,25 +1,25 @@
-From 46d2c2f8fecad85baeed9fe211f5285820220442 Mon Sep 17 00:00:00 2001
+From 77cb4a53c270d5854d3af24f19547bc3de825233 Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:16:58 +0000
-Subject: [PATCH] Ignore differences between mips machine identifiers
+Subject: [PATCH 1/3] Ignore differences between mips machine identifiers
Little endian binaries actually use EM_MIPS so you can't tell the endianness
from the elf machine id. Also, the EM_MIPS_RS3_LE machine is dead anyway (the
kernel will not load binaries containing it).
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---
backends/mips_init.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
-diff --git a/backends/mips_init.c b/backends/mips_init.c
-index 975c04e..8482e7f 100644
+Index: b/backends/mips_init.c
+===================================================================
--- a/backends/mips_init.c
+++ b/backends/mips_init.c
-@@ -45,11 +45,7 @@ mips_init (Elf *elf __attribute__ ((unused)),
+@@ -45,11 +45,7 @@ mips_init (Elf *elf __attribute__ ((unus
return NULL;
/* We handle it. */
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch
new file mode 100644
index 000000000..19a201506
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0001-fix-compile-failure-with-debian-patches.patch
@@ -0,0 +1,48 @@
+From 3f3e7b16934ec58ab47d2bdc9982f54a55b07534 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 21 Aug 2019 16:25:33 +0800
+Subject: [PATCH] fix compile failure with debian patches
+
+While applying debian patches, there is a compile failure
+...
+elfutils-0.177/backends/mips_init.c:48:5: error: 'Ebl' {aka 'struct ebl'} has no member named 'name'
+...
+
+Since upstream applied commit [b323391 libdwelf: Add dwelf_elf_e_machine_string
+and use it in readelf], it remove 'name' from 'struct ebl'
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ backends/mips_init.c | 1 -
+ backends/parisc_init.c | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/backends/mips_init.c b/backends/mips_init.c
+index bce5abe..e1c65c8 100644
+--- a/backends/mips_init.c
++++ b/backends/mips_init.c
+@@ -45,7 +45,6 @@ mips_init (Elf *elf __attribute__ ((unused)),
+ return NULL;
+
+ /* We handle it. */
+- eh->name = "MIPS";
+ mips_init_reloc (eh);
+ HOOK (eh, reloc_simple_type);
+ HOOK (eh, return_value_location);
+diff --git a/backends/parisc_init.c b/backends/parisc_init.c
+index f1e401c..97b4a8c 100644
+--- a/backends/parisc_init.c
++++ b/backends/parisc_init.c
+@@ -56,7 +56,6 @@ parisc_init (Elf *elf __attribute__ ((unused)),
+ pa64 = 1;
+ }
+ /* We handle it. */
+- eh->name = "PA-RISC";
+ parisc_init_reloc (eh);
+ HOOK (eh, reloc_simple_type);
+ HOOK (eh, machine_flag_check);
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
index 7c0b9c6dc..aee00cba1 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0002-Add-support-for-mips64-abis-in-mips_retval.c.patch
@@ -1,18 +1,18 @@
-From 93ae9bb7d25a1adbcbab23a9b8493f370a93f0a3 Mon Sep 17 00:00:00 2001
+From fdaab18a65ed2529656baa64cb6169f34d7e507b Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:17:01 +0000
-Subject: [PATCH] Add support for mips64 abis in mips_retval.c
+Subject: [PATCH 2/3] Add support for mips64 abis in mips_retval.c
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---
- backends/mips_retval.c | 104 +++++++++++++++++++++++++++++++++++++----
+ backends/mips_retval.c | 104 ++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 94 insertions(+), 10 deletions(-)
diff --git a/backends/mips_retval.c b/backends/mips_retval.c
-index 656cd1f..57487bb 100644
+index 33f12a7..d5c6ef0 100644
--- a/backends/mips_retval.c
+++ b/backends/mips_retval.c
@@ -91,6 +91,8 @@ enum mips_abi find_mips_abi(Elf *elf)
@@ -166,3 +166,6 @@ index 656cd1f..57487bb 100644
*locp = loc_aggregate;
return nloc_aggregate;
}
+--
+2.1.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch b/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
index 17b98a796..c949e9653 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/0003-Add-mips-n64-relocation-format-hack.patch
@@ -1,7 +1,7 @@
-From bce44aece915698a224a8aefa66784b27455675b Mon Sep 17 00:00:00 2001
+From 59d4b8c48e5040af7e02b34eb26ea602ec82a38e Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Mon, 5 Jan 2015 15:17:02 +0000
-Subject: [PATCH] Add mips n64 relocation format hack
+Subject: [PATCH 3/3] Add mips n64 relocation format hack
MIPSEL N64 ELF files use a slightly different format for storing relocation
entries which is incompatible with the normal R_SYM / R_INFO macros.
@@ -12,9 +12,9 @@ This patch also ensures that strip.c sets the correct value of e_machine
before manipulating relocations so that these changes take effect.
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
+
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---
libelf/gelf_getrel.c | 25 +++++++++++++++++++++++--
libelf/gelf_getrela.c | 25 +++++++++++++++++++++++--
@@ -23,10 +23,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
src/strip.c | 17 +++++++++++++++++
5 files changed, 101 insertions(+), 6 deletions(-)
-diff --git a/libelf/gelf_getrel.c b/libelf/gelf_getrel.c
-index 309e3d3..2a81a97 100644
---- a/libelf/gelf_getrel.c
-+++ b/libelf/gelf_getrel.c
+Index: elfutils-0.175/libelf/gelf_getrel.c
+===================================================================
+--- elfutils-0.175.orig/libelf/gelf_getrel.c
++++ elfutils-0.175/libelf/gelf_getrel.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -35,7 +35,7 @@ index 309e3d3..2a81a97 100644
GElf_Rel *
gelf_getrel (Elf_Data *data, int ndx, GElf_Rel *dst)
-@@ -89,8 +90,28 @@ gelf_getrel (Elf_Data *data, int ndx, GElf_Rel *dst)
+@@ -89,8 +90,28 @@ gelf_getrel (Elf_Data *data, int ndx, GE
result = NULL;
}
else
@@ -66,10 +66,10 @@ index 309e3d3..2a81a97 100644
}
rwlock_unlock (scn->elf->lock);
-diff --git a/libelf/gelf_getrela.c b/libelf/gelf_getrela.c
-index d695f65..1f42a80 100644
---- a/libelf/gelf_getrela.c
-+++ b/libelf/gelf_getrela.c
+Index: elfutils-0.175/libelf/gelf_getrela.c
+===================================================================
+--- elfutils-0.175.orig/libelf/gelf_getrela.c
++++ elfutils-0.175/libelf/gelf_getrela.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -78,7 +78,7 @@ index d695f65..1f42a80 100644
GElf_Rela *
gelf_getrela (Elf_Data *data, int ndx, GElf_Rela *dst)
-@@ -90,8 +91,28 @@ gelf_getrela (Elf_Data *data, int ndx, GElf_Rela *dst)
+@@ -90,8 +91,28 @@ gelf_getrela (Elf_Data *data, int ndx, G
result = NULL;
}
else
@@ -109,10 +109,10 @@ index d695f65..1f42a80 100644
}
rwlock_unlock (scn->elf->lock);
-diff --git a/libelf/gelf_update_rel.c b/libelf/gelf_update_rel.c
-index 14f62e9..9095556 100644
---- a/libelf/gelf_update_rel.c
-+++ b/libelf/gelf_update_rel.c
+Index: elfutils-0.175/libelf/gelf_update_rel.c
+===================================================================
+--- elfutils-0.175.orig/libelf/gelf_update_rel.c
++++ elfutils-0.175/libelf/gelf_update_rel.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -121,7 +121,7 @@ index 14f62e9..9095556 100644
int
gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src)
-@@ -86,6 +87,9 @@ gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src)
+@@ -86,6 +87,9 @@ gelf_update_rel (Elf_Data *dst, int ndx,
}
else
{
@@ -131,7 +131,7 @@ index 14f62e9..9095556 100644
/* Check whether we have to resize the data buffer. */
if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
{
-@@ -93,7 +97,21 @@ gelf_update_rel (Elf_Data *dst, int ndx, GElf_Rel *src)
+@@ -93,7 +97,21 @@ gelf_update_rel (Elf_Data *dst, int ndx,
goto out;
}
@@ -154,10 +154,10 @@ index 14f62e9..9095556 100644
}
result = 1;
-diff --git a/libelf/gelf_update_rela.c b/libelf/gelf_update_rela.c
-index 8825270..4caa85f 100644
---- a/libelf/gelf_update_rela.c
-+++ b/libelf/gelf_update_rela.c
+Index: elfutils-0.175/libelf/gelf_update_rela.c
+===================================================================
+--- elfutils-0.175.orig/libelf/gelf_update_rela.c
++++ elfutils-0.175/libelf/gelf_update_rela.c
@@ -36,6 +36,7 @@
#include "libelfP.h"
@@ -166,7 +166,7 @@ index 8825270..4caa85f 100644
int
gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src)
-@@ -89,6 +90,9 @@ gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src)
+@@ -89,6 +90,9 @@ gelf_update_rela (Elf_Data *dst, int ndx
}
else
{
@@ -176,7 +176,7 @@ index 8825270..4caa85f 100644
/* Check whether we have to resize the data buffer. */
if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
{
-@@ -96,7 +100,21 @@ gelf_update_rela (Elf_Data *dst, int ndx, GElf_Rela *src)
+@@ -96,7 +100,21 @@ gelf_update_rela (Elf_Data *dst, int ndx
goto out;
}
@@ -199,11 +199,11 @@ index 8825270..4caa85f 100644
}
result = 1;
-diff --git a/src/strip.c b/src/strip.c
-index a73009d..75bd7ba 100644
---- a/src/strip.c
-+++ b/src/strip.c
-@@ -1062,6 +1062,23 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
+Index: elfutils-0.175/src/strip.c
+===================================================================
+--- elfutils-0.175.orig/src/strip.c
++++ elfutils-0.175/src/strip.c
+@@ -1062,6 +1062,23 @@ handle_elf (int fd, Elf *elf, const char
goto fail;
}
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
index 9904f2415..ba0ce33bd 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/arm_backend.diff
@@ -1,25 +1,25 @@
-From f3384466475eab373c0f1cb79c61d45709913b00 Mon Sep 17 00:00:00 2001
+From 4e6fededb3d8c90694c44214c862ac216a69ecae Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 28 May 2014 16:49:57 +0800
-Subject: [PATCH] elfutils: upgrade to 0.158
+Date: Wed, 21 Aug 2019 16:50:33 +0800
+Subject: [PATCH] arm_backend
Upstream-Status: Pending [from debian]
+Rebase to 0.177
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---
- backends/arm_init.c | 18 +++-
- backends/arm_regs.c | 132 ++++++++++++++++++++++++++++
- backends/arm_retval.c | 43 ++++++++-
- backends/libebl_arm.h | 9 ++
+ backends/arm_init.c | 18 ++++-
+ backends/arm_regs.c | 132 ++++++++++++++++++++++++++++++++++++
+ backends/arm_retval.c | 43 +++++++++++-
+ backends/libebl_arm.h | 9 +++
libelf/elf.h | 11 +++
- tests/run-addrcfi.sh | 93 +++++++++++++++++++-
- tests/run-allregs.sh | 95 +++++++++++++++++++-
+ tests/run-addrcfi.sh | 93 ++++++++++++++++++++++++-
+ tests/run-allregs.sh | 95 +++++++++++++++++++++++++-
tests/run-readelf-mixed-corenote.sh | 11 ++-
8 files changed, 400 insertions(+), 12 deletions(-)
create mode 100644 backends/libebl_arm.h
diff --git a/backends/arm_init.c b/backends/arm_init.c
-index f2b1b11..1b71f16 100644
+index af023f0..ea2bcb7 100644
--- a/backends/arm_init.c
+++ b/backends/arm_init.c
@@ -35,20 +35,31 @@
@@ -53,9 +53,9 @@ index f2b1b11..1b71f16 100644
+ }
+
/* We handle it. */
- eh->name = "ARM";
arm_init_reloc (eh);
-@@ -60,7 +71,10 @@ arm_init (Elf *elf __attribute__ ((unused)),
+ HOOK (eh, segment_type_name);
+@@ -59,7 +70,10 @@ arm_init (Elf *elf __attribute__ ((unused)),
HOOK (eh, core_note);
HOOK (eh, auxv_info);
HOOK (eh, check_object_attribute);
@@ -324,10 +324,10 @@ index 0000000..c00770c
+
+#endif
diff --git a/libelf/elf.h b/libelf/elf.h
-index 6310054..5dc632b 100644
+index 01648bd..05b7e7e 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
-@@ -2694,6 +2694,9 @@ enum
+@@ -2690,6 +2690,9 @@ enum
#define EF_ARM_EABI_VER4 0x04000000
#define EF_ARM_EABI_VER5 0x05000000
@@ -337,7 +337,7 @@ index 6310054..5dc632b 100644
/* Additional symbol types for Thumb. */
#define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */
#define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */
-@@ -2711,12 +2714,19 @@ enum
+@@ -2707,12 +2710,19 @@ enum
/* Processor specific values for the Phdr p_type field. */
#define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */
@@ -357,7 +357,7 @@ index 6310054..5dc632b 100644
/* AArch64 relocs. */
-@@ -3009,6 +3019,7 @@ enum
+@@ -3005,6 +3015,7 @@ enum
TLS block (LDR, STR). */
#define R_ARM_TLS_IE12GP 111 /* 12 bit GOT entry relative
to GOT origin (LDR). */
@@ -366,7 +366,7 @@ index 6310054..5dc632b 100644
#define R_ARM_THM_TLS_DESCSEQ 129
#define R_ARM_THM_TLS_DESCSEQ16 129
diff --git a/tests/run-addrcfi.sh b/tests/run-addrcfi.sh
-index fd89d02..462d7c5 100755
+index 64fa24d..1c2aa4d 100755
--- a/tests/run-addrcfi.sh
+++ b/tests/run-addrcfi.sh
@@ -3554,6 +3554,38 @@ dwarf_cfi_addrframe (.eh_frame): no matching address range
@@ -619,3 +619,6 @@ index c960f1d..e4bf074 100755
CORE 124 PRPSINFO
state: 0, sname: R, zomb: 0, nice: 0, flag: 0x00400500
uid: 0, gid: 0, pid: 11087, ppid: 11063, pgrp: 11087, sid: 11063
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch b/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
index bb5670a8d..bd98dae4b 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/disable_werror.patch
@@ -1,23 +1,16 @@
-From dece09fb8c59dbdab356b63fbe6b7554dd2461a4 Mon Sep 17 00:00:00 2001
From: Helmut Grohne <helmut@subdivi.de>
-Date: Fri, 23 Nov 2018 15:47:20 +0800
-Subject: [PATCH] disable -Werror as it tends to break with new gcc versions
-
+Subject: disable -Werror as it tends to break with new gcc versions
Bug-Debian: https://bugs.debian.org/886004
Last-Update: 2018-01-01
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- config/eu.am | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/config/eu.am b/config/eu.am
-index 82acda3..dede5c6 100644
---- a/config/eu.am
-+++ b/config/eu.am
-@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \
+Index: elfutils-0.176/config/eu.am
+===================================================================
+--- elfutils-0.176.orig/config/eu.am
++++ elfutils-0.176/config/eu.am
+@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -W
-Wold-style-definition -Wstrict-prototypes -Wtrampolines \
$(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \
$(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
index afcc30abf..4460d582c 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/hppa_backend.diff
@@ -1,21 +1,21 @@
-From 8fe468682c550606ea961a1f996a8618940eb084 Mon Sep 17 00:00:00 2001
+From 8efad9105b38985bea373416ae8fcacf21d1d129 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 16 Jul 2010 12:26:46 +0800
-Subject: [PATCH] elfutils: upgrade to version 0.148
+Date: Wed, 21 Aug 2019 15:44:18 +0800
+Subject: [PATCH] hppa backend
+Rebase to 0.177
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
---
- backends/Makefile.am | 8 +-
+ backends/Makefile.am | 7 +-
backends/libebl_parisc.h | 9 ++
- backends/parisc_init.c | 73 +++++++++++++
- backends/parisc_regs.c | 159 ++++++++++++++++++++++++++++
- backends/parisc_reloc.def | 128 +++++++++++++++++++++++
- backends/parisc_retval.c | 213 ++++++++++++++++++++++++++++++++++++++
- backends/parisc_symbol.c | 113 ++++++++++++++++++++
- libelf/elf.h | 11 ++
- 8 files changed, 712 insertions(+), 2 deletions(-)
+ backends/parisc_init.c | 73 ++++++++++++++++
+ backends/parisc_regs.c | 159 ++++++++++++++++++++++++++++++++++
+ backends/parisc_reloc.def | 128 ++++++++++++++++++++++++++++
+ backends/parisc_retval.c | 213 ++++++++++++++++++++++++++++++++++++++++++++++
+ backends/parisc_symbol.c | 113 ++++++++++++++++++++++++
+ libelf/elf.h | 11 +++
+ 8 files changed, 711 insertions(+), 2 deletions(-)
create mode 100644 backends/libebl_parisc.h
create mode 100644 backends/parisc_init.c
create mode 100644 backends/parisc_regs.c
@@ -24,35 +24,31 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
create mode 100644 backends/parisc_symbol.c
diff --git a/backends/Makefile.am b/backends/Makefile.am
-index 2126a2e..5671a32 100644
+index 175468f..91a38e2 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
-@@ -33,12 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
+@@ -33,16 +33,19 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
-- tilegx m68k bpf riscv
-+ tilegx m68k bpf riscv parisc
+- tilegx m68k bpf riscv csky
++ tilegx m68k bpf riscv csky parisc
libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
-- libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a
-+ libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
-+ libebl_parisc_pic.a
+ libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
+- libebl_csky_pic.a
++ libebl_csky_pic.a libebl_parisc_pic.a
noinst_LIBRARIES = $(libebl_pic)
noinst_DATA = $(libebl_pic:_pic.a=.so)
-@@ -136,6 +137,9 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
- libebl_riscv_pic_a_SOURCES = $(riscv_SRCS)
- am_libebl_riscv_pic_a_OBJECTS = $(riscv_SRCS:.c=.os)
-
+parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
+libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
+am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
- libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu)
- @rm -f $(@:.so=.map)
+ libelf = ../libelf/libelf.so
+ libdw = ../libdw/libdw.so
diff --git a/backends/libebl_parisc.h b/backends/libebl_parisc.h
new file mode 100644
index 0000000..f473b79
@@ -785,10 +781,10 @@ index 0000000..5754bd8
+ }
+}
diff --git a/libelf/elf.h b/libelf/elf.h
-index 75043bc..6310054 100644
+index 01648bd..218ceb2 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
-@@ -2155,16 +2155,24 @@ enum
+@@ -2162,16 +2162,24 @@ enum
#define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */
#define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */
#define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */
@@ -813,7 +809,7 @@ index 75043bc..6310054 100644
#define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */
#define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */
#define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */
-@@ -2173,6 +2181,7 @@ enum
+@@ -2180,6 +2188,7 @@ enum
#define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */
#define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */
#define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */
@@ -821,7 +817,7 @@ index 75043bc..6310054 100644
#define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */
#define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */
#define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */
-@@ -2198,6 +2207,8 @@ enum
+@@ -2205,6 +2214,8 @@ enum
#define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */
#define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */
#define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */
@@ -830,3 +826,6 @@ index 75043bc..6310054 100644
#define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */
#define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */
#define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch b/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
index f014ae2a7..62a960f3a 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/hurd_path.patch
@@ -1,19 +1,10 @@
-From 2f54a8cf959ea83c452b1a22acbc47d2738b5fa0 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 23 Nov 2018 15:47:20 +0800
-Subject: [PATCH] elfutils: 0.170 -> 0.172
-
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tests/run-native-test.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/tests/run-native-test.sh b/tests/run-native-test.sh
-index 5351e02..70f6681 100755
---- a/tests/run-native-test.sh
-+++ b/tests/run-native-test.sh
+Index: elfutils-0.165/tests/run-native-test.sh
+===================================================================
+--- elfutils-0.165.orig/tests/run-native-test.sh
++++ elfutils-0.165/tests/run-native-test.sh
@@ -83,6 +83,9 @@ native_test()
# "cannot attach to process: Function not implemented".
[ "$(uname)" = "GNU/kFreeBSD" ] && exit 77
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff b/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
index 53332467a..55513eedd 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/ignore_strmerge.diff
@@ -1,19 +1,8 @@
-From d326ad99be856815260a04e573fc97044c02f444 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 2 Jul 2018 13:57:09 +0800
-Subject: [PATCH] elfutils: 0.170 -> 0.172
-
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tests/run-strip-strmerge.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/run-strip-strmerge.sh b/tests/run-strip-strmerge.sh
-index aa9c1eb..2bab8ec 100755
---- a/tests/run-strip-strmerge.sh
-+++ b/tests/run-strip-strmerge.sh
+--- elfutils-0.165.orig/tests/run-strip-strmerge.sh
++++ elfutils-0.165/tests/run-strip-strmerge.sh
@@ -30,7 +30,7 @@ remerged=remerged.elf
tempfiles $merged $stripped $debugfile $remerged
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch b/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
index 805da80d6..e85a2fed9 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/kfreebsd_path.patch
@@ -1,17 +1,8 @@
-From bac45996ece75900e0cde97f3889eaf6c1b286f8 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 23 Nov 2018 15:47:20 +0800
-Subject: [PATCH] elfutils: 0.170 -> 0.172
-
Upstream-Status: Pending [from debian]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tests/run-native-test.sh | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/tests/run-native-test.sh b/tests/run-native-test.sh
-index d19007f..5351e02 100755
+Index: b/tests/run-native-test.sh
+===================================================================
--- a/tests/run-native-test.sh
+++ b/tests/run-native-test.sh
@@ -77,6 +77,12 @@ native_test()
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
index 697306f82..1097b0ec6 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_backend.diff
@@ -1,18 +1,19 @@
-From 10a75fd2beefafe2043163f85426d0e575de58d8 Mon Sep 17 00:00:00 2001
+From 68b497668cde5171880d073a7ea50d11c3bddbfc Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 16 Jul 2010 12:26:46 +0800
-Subject: [PATCH] elfutils: upgrade to version 0.148
+Date: Wed, 21 Aug 2019 15:49:52 +0800
+Subject: [PATCH] mips backend
+Rebase to 0.177
Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
backends/Makefile.am | 8 +-
- backends/mips_init.c | 59 ++++++++
- backends/mips_regs.c | 104 +++++++++++++
- backends/mips_reloc.def | 79 ++++++++++
- backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++
- backends/mips_symbol.c | 53 +++++++
+ backends/mips_init.c | 59 +++++++++
+ backends/mips_regs.c | 104 ++++++++++++++++
+ backends/mips_reloc.def | 79 ++++++++++++
+ backends/mips_retval.c | 321 ++++++++++++++++++++++++++++++++++++++++++++++++
+ backends/mips_symbol.c | 53 ++++++++
libebl/eblopenbackend.c | 2 +
7 files changed, 624 insertions(+), 2 deletions(-)
create mode 100644 backends/mips_init.c
@@ -22,28 +23,28 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
create mode 100644 backends/mips_symbol.c
diff --git a/backends/Makefile.am b/backends/Makefile.am
-index 5671a32..ba84da6 100644
+index 91a38e2..aba8a4a 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -33,13 +33,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
-- tilegx m68k bpf riscv parisc
-+ tilegx m68k bpf riscv parisc mips
+- tilegx m68k bpf riscv csky parisc
++ tilegx m68k bpf riscv csky parisc mips
libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
libebl_aarch64_pic.a libebl_sparc_pic.a libebl_ppc_pic.a \
libebl_ppc64_pic.a libebl_s390_pic.a libebl_tilegx_pic.a \
- libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
-- libebl_parisc_pic.a
-+ libebl_parisc_pic.a libebl_mips_pic.a
+ libebl_m68k_pic.a libebl_bpf_pic.a libebl_riscv_pic.a \
+- libebl_csky_pic.a libebl_parisc_pic.a
++ libebl_csky_pic.a libebl_parisc_pic.a libebl_mips_pic.a
noinst_LIBRARIES = $(libebl_pic)
noinst_DATA = $(libebl_pic:_pic.a=.so)
-@@ -141,6 +141,10 @@ parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
- libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
- am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
+@@ -145,6 +145,10 @@ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
+ libebl_csky_pic_a_SOURCES = $(csky_SRCS)
+ am_libebl_csky_pic_a_OBJECTS = $(csky_SRCS:.c=.os)
+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
+libebl_mips_pic_a_SOURCES = $(mips_SRCS)
@@ -699,7 +700,7 @@ index 0000000..261b05d
+ }
+}
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
-index d54b720..6cf766f 100644
+index 01711f5..d0c3589 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -71,6 +71,8 @@ static const struct
@@ -711,3 +712,6 @@ index d54b720..6cf766f 100644
{ "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 },
{ "m68k", "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB },
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch b/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch
new file mode 100644
index 000000000..fda4f6805
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_cfi.patch
@@ -0,0 +1,131 @@
+From 96e38289f2887ddb8e6d2fb91ea04bdbdf034ab5 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 21 Aug 2019 17:00:30 +0800
+Subject: [PATCH 2/2] mips_cfi
+
+Upstream-Status: Pending [from debian]
+
+Rebase to 0.177
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ backends/Makefile.am | 2 +-
+ backends/mips_cfi.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ backends/mips_init.c | 1 +
+ 3 files changed, 82 insertions(+), 1 deletion(-)
+ create mode 100644 backends/mips_cfi.c
+
+diff --git a/backends/Makefile.am b/backends/Makefile.am
+index aba8a4a..6ac0eec 100644
+--- a/backends/Makefile.am
++++ b/backends/Makefile.am
+@@ -145,7 +145,7 @@ csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
+ libebl_csky_pic_a_SOURCES = $(csky_SRCS)
+ am_libebl_csky_pic_a_OBJECTS = $(csky_SRCS:.c=.os)
+
+-mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
++mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c mips_cfi.c
+ libebl_mips_pic_a_SOURCES = $(mips_SRCS)
+ am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
+
+diff --git a/backends/mips_cfi.c b/backends/mips_cfi.c
+new file mode 100644
+index 0000000..9ffdab5
+--- /dev/null
++++ b/backends/mips_cfi.c
+@@ -0,0 +1,80 @@
++/* MIPS ABI-specified defaults for DWARF CFI.
++ Copyright (C) 2018 Kurt Roeckx, Inc.
++ This file is part of elfutils.
++
++ This file is free software; you can redistribute it and/or modify
++ it under the terms of either
++
++ * the GNU Lesser General Public License as published by the Free
++ Software Foundation; either version 3 of the License, or (at
++ your option) any later version
++
++ or
++
++ * the GNU General Public License as published by the Free
++ Software Foundation; either version 2 of the License, or (at
++ your option) any later version
++
++ or both in parallel, as here.
++
++ elfutils 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 copies of the GNU General Public License and
++ the GNU Lesser General Public License along with this program. If
++ not, see <http://www.gnu.org/licenses/>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <dwarf.h>
++
++#define BACKEND mips_
++#include "libebl_CPU.h"
++
++int
++mips_abi_cfi (Ebl *ebl __attribute__ ((unused)), Dwarf_CIE *abi_info)
++{
++ static const uint8_t abi_cfi[] =
++ {
++ /* Call-saved regs. */
++ DW_CFA_same_value, ULEB128_7 (16), /* $16 */
++ DW_CFA_same_value, ULEB128_7 (17), /* $17 */
++ DW_CFA_same_value, ULEB128_7 (18), /* $18 */
++ DW_CFA_same_value, ULEB128_7 (19), /* $19 */
++ DW_CFA_same_value, ULEB128_7 (20), /* $20 */
++ DW_CFA_same_value, ULEB128_7 (21), /* $21 */
++ DW_CFA_same_value, ULEB128_7 (22), /* $22 */
++ DW_CFA_same_value, ULEB128_7 (23), /* $23 */
++ DW_CFA_same_value, ULEB128_7 (28), /* $28 */
++ DW_CFA_same_value, ULEB128_7 (29), /* $29 */
++ DW_CFA_same_value, ULEB128_7 (30), /* $30 */
++
++ DW_CFA_same_value, ULEB128_7 (52), /* $f20 */
++ DW_CFA_same_value, ULEB128_7 (53), /* $f21 */
++ DW_CFA_same_value, ULEB128_7 (54), /* $f22 */
++ DW_CFA_same_value, ULEB128_7 (55), /* $f23 */
++ DW_CFA_same_value, ULEB128_7 (56), /* $f24 */
++ DW_CFA_same_value, ULEB128_7 (57), /* $f25 */
++ DW_CFA_same_value, ULEB128_7 (58), /* $f26 */
++ DW_CFA_same_value, ULEB128_7 (59), /* $f27 */
++ DW_CFA_same_value, ULEB128_7 (60), /* $f28 */
++ DW_CFA_same_value, ULEB128_7 (61), /* $f29 */
++ DW_CFA_same_value, ULEB128_7 (62), /* $f30 */
++ DW_CFA_same_value, ULEB128_7 (63), /* $f31 */
++
++ /* The CFA is the SP. */
++ DW_CFA_def_cfa, ULEB128_7 (29), ULEB128_7 (0),
++ };
++
++ abi_info->initial_instructions = abi_cfi;
++ abi_info->initial_instructions_end = &abi_cfi[sizeof abi_cfi];
++ abi_info->data_alignment_factor = 4;
++
++ abi_info->return_address_register = 31; /* $31 */
++
++ return 0;
++}
+diff --git a/backends/mips_init.c b/backends/mips_init.c
+index 8482e7f..bce5abe 100644
+--- a/backends/mips_init.c
++++ b/backends/mips_init.c
+@@ -50,6 +50,7 @@ mips_init (Elf *elf __attribute__ ((unused)),
+ HOOK (eh, reloc_simple_type);
+ HOOK (eh, return_value_location);
+ HOOK (eh, register_info);
++ HOOK (eh, abi_cfi);
+
+ return MODVERSION;
+ }
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch b/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
index 1737e0dbc..c6d42e163 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/mips_readelf_w.patch
@@ -1,23 +1,22 @@
-From 33da4b4347aacdfb8b1b42e06e29e68a4b882d96 Mon Sep 17 00:00:00 2001
-From: Kurt Roeckx <kurt@roeckx.be>
-Date: Mon, 4 Mar 2019 09:45:00 +0000
-Subject: [PATCH] Make readelf -w output debug information on mips
-
-Upstreams wants a change where this is handled by a hook that needs
-to be filled in by the backend for the arch.
+From 7bdc83296865cf2b2a5615dbdb7ac0d441fb1849 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 21 Aug 2019 16:55:01 +0800
+Subject: [PATCH] mips_readelf_w
Upstream-Status: Pending [from debian]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Rebase to 0.177
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
src/readelf.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/readelf.c b/src/readelf.c
-index 33706bd..ef13159 100644
+index 2084fb1..5c02a9b 100644
--- a/src/readelf.c
+++ b/src/readelf.c
-@@ -11148,7 +11148,8 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
+@@ -11256,7 +11256,8 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
GElf_Shdr shdr_mem;
GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
@@ -27,3 +26,6 @@ index 33706bd..ef13159 100644
{
static const struct
{
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff b/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
index c4ce20c8a..e6d7948c6 100644
--- a/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
+++ b/poky/meta/recipes-devtools/elfutils/files/debian/testsuite-ignore-elflint.diff
@@ -1,16 +1,13 @@
-From 03a343c6b1b72598fce654b8a638f106da44abfb Mon Sep 17 00:00:00 2001
-From: OpenEmbedded <oe.patch@oe>
-Date: Fri, 12 Apr 2019 08:05:50 +0000
-Subject: [PATCH] On many architectures this test fails because binaries/libs
- produced by binutils don't pass elflint. However elfutils shouldn't FTBFS
- because of this.
+From 6393b0e57872b3ffedf0dbd6784cd29694010878 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 21 Aug 2019 16:59:01 +0800
+Subject: [PATCH 1/2] testsuite-ignore-elflint
-So we run the tests on all archs to see what breaks, but if it breaks we ignore
-the result (exitcode 77 means: this test was skipped).
+Upstream-Status: Pending [from debian]
-Upstream-Status: Inappropriate [oe specific]
+Rebase to 0.177
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
tests/run-elflint-self.sh | 2 +-
tests/test-subr.sh | 15 +++++++++++++++
@@ -50,3 +47,6 @@ index 09f428d..26f61f1 100644
+ if test $exit_status != 0; then exit $exit_status; fi
+}
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl-libs.patch b/poky/meta/recipes-devtools/elfutils/files/musl-libs.patch
new file mode 100644
index 000000000..b9b9f120d
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/musl-libs.patch
@@ -0,0 +1,144 @@
+From d5a1651df9884fcf57ed320bc2f866538af2f420 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 23 Aug 2019 10:18:47 +0800
+Subject: [PATCH 2/3] musl-libs
+
+Collection of fixes needed to compile libelf and other libraries
+provided by elfutils for musl targets
+
+error is glibc specific API, so this patch will mostly not accepted
+upstream given that elfutils has been closely tied to glibc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Inappropriate [workaround for musl]
+
+Rebase to 0.177
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ lib/error.h | 27 +++++++++++++++++++++++++++
+ lib/fixedsizehash.h | 1 -
+ lib/libeu.h | 1 +
+ libdwfl/dwfl_error.c | 9 +++++++++
+ libdwfl/linux-kernel-modules.c | 1 +
+ libelf/elf.h | 9 ++++++---
+ 6 files changed, 44 insertions(+), 4 deletions(-)
+ create mode 100644 lib/error.h
+
+diff --git a/lib/error.h b/lib/error.h
+new file mode 100644
+index 0000000..ef06827
+--- /dev/null
++++ b/lib/error.h
+@@ -0,0 +1,27 @@
++#ifndef _ERROR_H_
++#define _ERROR_H_
++
++#include <stdarg.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++
++static unsigned int error_message_count = 0;
++
++static inline void error(int status, int errnum, const char* format, ...)
++{
++ va_list ap;
++ fprintf(stderr, "%s: ", program_invocation_name);
++ va_start(ap, format);
++ vfprintf(stderr, format, ap);
++ va_end(ap);
++ if (errnum)
++ fprintf(stderr, ": %s", strerror(errnum));
++ fprintf(stderr, "\n");
++ error_message_count++;
++ if (status)
++ exit(status);
++}
++
++#endif /* _ERROR_H_ */
+diff --git a/lib/fixedsizehash.h b/lib/fixedsizehash.h
+index dac2a5f..43016fc 100644
+--- a/lib/fixedsizehash.h
++++ b/lib/fixedsizehash.h
+@@ -30,7 +30,6 @@
+ #include <errno.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <sys/cdefs.h>
+
+ #include <system.h>
+
+diff --git a/lib/libeu.h b/lib/libeu.h
+index ecb4d01..edc85e3 100644
+--- a/lib/libeu.h
++++ b/lib/libeu.h
+@@ -29,6 +29,7 @@
+ #ifndef LIBEU_H
+ #define LIBEU_H
+
++#include "system.h"
+ #include <stddef.h>
+ #include <stdint.h>
+
+diff --git a/libdwfl/dwfl_error.c b/libdwfl/dwfl_error.c
+index 7bcf61c..11dcc8b 100644
+--- a/libdwfl/dwfl_error.c
++++ b/libdwfl/dwfl_error.c
+@@ -154,7 +154,16 @@ dwfl_errmsg (int error)
+ switch (error &~ 0xffff)
+ {
+ case OTHER_ERROR (ERRNO):
++#if defined(__GLIBC__)
+ return strerror_r (error & 0xffff, "bad", 0);
++#else
++ {
++ static __thread char buf[128] = "";
++ if (strerror_r (error & 0xffff, buf, sizeof(buf)) == 0)
++ return buf;
++ }
++ return "strerror_r() failed";
++#endif
+ case OTHER_ERROR (LIBELF):
+ return elf_errmsg (error & 0xffff);
+ case OTHER_ERROR (LIBDW):
+diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
+index d46ab5a..1c3faee 100644
+--- a/libdwfl/linux-kernel-modules.c
++++ b/libdwfl/linux-kernel-modules.c
+@@ -50,6 +50,7 @@
+ #include <sys/utsname.h>
+ #include <fcntl.h>
+ #include <unistd.h>
++#include "system.h"
+
+ /* If fts.h is included before config.h, its indirect inclusions may not
+ give us the right LFS aliases of these functions, so map them manually. */
+diff --git a/libelf/elf.h b/libelf/elf.h
+index bed273d..be228e6 100644
+--- a/libelf/elf.h
++++ b/libelf/elf.h
+@@ -21,7 +21,9 @@
+
+ #include <features.h>
+
+-__BEGIN_DECLS
++#ifdef __cplusplus
++extern "C" {
++#endif
+
+ /* Standard ELF types. */
+
+@@ -4029,6 +4031,7 @@ enum
+ #define R_NDS32_TLS_TPOFF 102
+ #define R_NDS32_TLS_DESC 119
+
+-__END_DECLS
+-
++#ifdef __cplusplus
++}
++#endif
+ #endif /* elf.h */
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch b/poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch
new file mode 100644
index 000000000..40f2b69cf
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch
@@ -0,0 +1,128 @@
+From 77b89dbc9f9f965ad0ef2e341d7d46bce5f07549 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 23 Aug 2019 10:17:25 +0800
+Subject: [PATCH 1/3] musl-obstack-fts
+
+Look for libfts and libobstack during configure, these
+libraries are external to libc when using musl, whereas
+on glibc these libraries are provided in libc itself.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Inappropriate [workaround for musl]
+
+Rebase to 0.177
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ libdw/Makefile.am | 2 +-
+ src/Makefile.am | 8 ++++----
+ 3 files changed, 59 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f93964c..b87b762 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -494,6 +494,60 @@ else
+ fi
+ AC_SUBST([argp_LDADD])
+
++dnl Check if we have fts available from our libc
++AC_LINK_IFELSE(
++ [AC_LANG_PROGRAM(
++ [#if !defined(__x86_64__)
++ #undef _FILE_OFFSET_BITS
++ #define _FILE_OFFSET_BITS 32
++ #endif
++ #include <fts.h>],
++ [FTS* fts = 0; return fts_close(fts); return 0;]
++ )],
++ [libc_has_fts="true"],
++ [libc_has_fts="false"]
++)
++
++dnl If our libc doesn't provide fts, then test for libfts
++if test "$libc_has_fts" = "false" ; then
++ AC_MSG_WARN("libc does not have fts")
++ AC_CHECK_LIB([fts], [fts_close], [have_fts="true"], [have_fts="false"])
++
++ if test "$have_fts" = "false"; then
++ AC_MSG_ERROR("no libfts found")
++ else
++ fts_LDADD="-lfts"
++ fi
++else
++ fts_LDADD=""
++fi
++AC_SUBST([fts_LDADD])
++
++dnl Check if we have obstack available from our libc
++AC_LINK_IFELSE(
++ [AC_LANG_PROGRAM(
++ [#include <obstack.h>],
++ [_obstack_begin(0, 0, 0, NULL, NULL); return 0;]
++ )],
++ [libc_has_obstack="true"],
++ [libc_has_obstack="false"]
++)
++
++dnl If our libc doesn't provide obstack, then test for libobstack
++if test "$libc_has_obstack" = "false" ; then
++ AC_MSG_WARN("libc does not have obstack")
++ AC_CHECK_LIB([obstack], [_obstack_begin], [have_obstack="true"], [have_obstack="false"])
++
++ if test "$have_obstack" = "false"; then
++ AC_MSG_ERROR("no libobstack found")
++ else
++ obstack_LDADD="-lobstack"
++ fi
++else
++ obstack_LDADD=""
++fi
++AC_SUBST([obstack_LDADD])
++
+ dnl The directories with content.
+
+ dnl Documentation.
+diff --git a/libdw/Makefile.am b/libdw/Makefile.am
+index 7a3d532..a541fa3 100644
+--- a/libdw/Makefile.am
++++ b/libdw/Makefile.am
+@@ -108,7 +108,7 @@ am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os)
+ libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \
+ ../libdwfl/libdwfl_pic.a ../libebl/libebl.a
+ libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so
+-libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS)
++libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LDADD) $(zip_LIBS)
+ libdw_so_SOURCES =
+ libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS)
+ # The rpath is necessary for libebl because its $ORIGIN use will
+diff --git a/src/Makefile.am b/src/Makefile.am
+index b72f853..2f3dfce 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -69,8 +69,8 @@ ar_no_Wstack_usage = yes
+ unstrip_no_Wstack_usage = yes
+
+ readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
+-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \
+- $(demanglelib)
++nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) \
++ $(obstack_LDADD) -ldl $(demanglelib)
+ size_LDADD = $(libelf) $(libeu) $(argp_LDADD)
+ strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl
+ elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
+@@ -78,9 +78,9 @@ findtextrel_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD)
+ addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib)
+ elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
+ objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl
+-ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD)
++ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LDADD)
+ strings_LDADD = $(libelf) $(libeu) $(argp_LDADD)
+-ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD)
++ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LDADD)
+ unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl
+ stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib)
+ elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl.patch b/poky/meta/recipes-devtools/elfutils/files/musl-tests.patch
index be35791b1..be35791b1 100644
--- a/poky/meta/recipes-devtools/elfutils/files/musl.patch
+++ b/poky/meta/recipes-devtools/elfutils/files/musl-tests.patch
diff --git a/poky/meta/recipes-devtools/elfutils/files/musl-utils.patch b/poky/meta/recipes-devtools/elfutils/files/musl-utils.patch
new file mode 100644
index 000000000..a8ad93123
--- /dev/null
+++ b/poky/meta/recipes-devtools/elfutils/files/musl-utils.patch
@@ -0,0 +1,165 @@
+From 7f5e2fd86d54e0a4d195ec65afb9b411829dff9f Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 23 Aug 2019 10:19:48 +0800
+Subject: [PATCH 3/3] musl-utils
+
+Provide missing defines which otherwise are available on glibc system headers
+
+Alter the error API to match posix version
+use qsort instead of qsort_r which is glibc specific API
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Inappropriate [workaround for musl]
+
+Rebase to 0.177
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/arlib.h | 6 ++++++
+ src/elfcompress.c | 7 +++++++
+ src/readelf.c | 20 ++++++++++++--------
+ src/strip.c | 7 +++++++
+ src/unstrip.c | 9 +++++++++
+ 5 files changed, 41 insertions(+), 8 deletions(-)
+
+diff --git a/src/arlib.h b/src/arlib.h
+index e117166..8326f6c 100644
+--- a/src/arlib.h
++++ b/src/arlib.h
+@@ -29,6 +29,12 @@
+ #include <stdint.h>
+ #include <sys/types.h>
+
++#if !defined(ALLPERMS)
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
++#endif
++#if !defined(DEFFILEMODE)
++# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/
++#endif
+
+ /* State of -D/-U flags. */
+ extern bool arlib_deterministic_output;
+diff --git a/src/elfcompress.c b/src/elfcompress.c
+index 6ba6af4..0c7674b 100644
+--- a/src/elfcompress.c
++++ b/src/elfcompress.c
+@@ -37,6 +37,13 @@
+ #include "libeu.h"
+ #include "printversion.h"
+
++#if !defined(ALLPERMS)
++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
++#endif
++#if !defined(FNM_EXTMATCH)
++# define FNM_EXTMATCH (0)
++#endif
++
+ /* Name and version of program. */
+ ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
+
+diff --git a/src/readelf.c b/src/readelf.c
+index 5c02a9b..817562d 100644
+--- a/src/readelf.c
++++ b/src/readelf.c
+@@ -4813,10 +4813,11 @@ listptr_base (struct listptr *p)
+ return cudie_base (&cu);
+ }
+
++static const char *listptr_name;
++
+ static int
+-compare_listptr (const void *a, const void *b, void *arg)
++compare_listptr (const void *a, const void *b)
+ {
+- const char *name = arg;
+ struct listptr *p1 = (void *) a;
+ struct listptr *p2 = (void *) b;
+
+@@ -4832,21 +4833,21 @@ compare_listptr (const void *a, const void *b, void *arg)
+ p1->warned = p2->warned = true;
+ error (0, 0,
+ gettext ("%s %#" PRIx64 " used with different address sizes"),
+- name, (uint64_t) p1->offset);
++ listptr_name, (uint64_t) p1->offset);
+ }
+ if (p1->dwarf64 != p2->dwarf64)
+ {
+ p1->warned = p2->warned = true;
+ error (0, 0,
+ gettext ("%s %#" PRIx64 " used with different offset sizes"),
+- name, (uint64_t) p1->offset);
++ listptr_name, (uint64_t) p1->offset);
+ }
+ if (listptr_base (p1) != listptr_base (p2))
+ {
+ p1->warned = p2->warned = true;
+ error (0, 0,
+ gettext ("%s %#" PRIx64 " used with different base addresses"),
+- name, (uint64_t) p1->offset);
++ listptr_name, (uint64_t) p1->offset);
+ }
+ if (p1->attr != p2 ->attr)
+ {
+@@ -4854,7 +4855,7 @@ compare_listptr (const void *a, const void *b, void *arg)
+ error (0, 0,
+ gettext ("%s %#" PRIx64
+ " used with different attribute %s and %s"),
+- name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr),
++ listptr_name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr),
+ dwarf_attr_name (p2->attr));
+ }
+ }
+@@ -4926,8 +4927,11 @@ static void
+ sort_listptr (struct listptr_table *table, const char *name)
+ {
+ if (table->n > 0)
+- qsort_r (table->table, table->n, sizeof table->table[0],
+- &compare_listptr, (void *) name);
++ {
++ listptr_name = name;
++ qsort (table->table, table->n, sizeof table->table[0],
++ &compare_listptr);
++ }
+ }
+
+ static bool
+diff --git a/src/strip.c b/src/strip.c
+index 4054c2a..d2d2176 100644
+--- a/src/strip.c
++++ b/src/strip.c
+@@ -46,6 +46,13 @@
+ #include <system.h>
+ #include <printversion.h>
+
++#if !defined(ACCESSPERMS)
++# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */
++#endif
++#if !defined(FNM_EXTMATCH)
++# define FNM_EXTMATCH (0)
++#endif
++
+ typedef uint8_t GElf_Byte;
+
+ /* Name and version of program. */
+diff --git a/src/unstrip.c b/src/unstrip.c
+index fc87832..21ea6b3 100644
+--- a/src/unstrip.c
++++ b/src/unstrip.c
+@@ -56,6 +56,15 @@
+ # define _(str) gettext (str)
+ #endif
+
++#ifndef strndupa
++#define strndupa(s, n) \
++ ({const char *__in = (s); \
++ size_t __len = strnlen (__in, (n)) + 1; \
++ char *__out = (char *) alloca (__len); \
++ __out[__len-1] = '\0'; \
++ (char *) memcpy (__out, __in, __len-1);})
++#endif
++
+ /* Name and version of program. */
+ ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/expect/expect/0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch b/poky/meta/recipes-devtools/expect/expect/0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch
new file mode 100644
index 000000000..37512fb9b
--- /dev/null
+++ b/poky/meta/recipes-devtools/expect/expect/0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch
@@ -0,0 +1,55 @@
+From 1407fcad6f1dac0a4efe8041660bf6139c1cd16a Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Tue, 24 Sep 2019 13:40:10 +0800
+Subject: [PATCH] exp_main_sub.c: Use PATH_MAX for path
+
+If expect was built from a long path whose length > 200, then it couldn't run:
+$ expect -c 'puts yes'
+*** buffer overflow detected ***: expect terminated
+Aborted (core dumped)
+
+Use PATH_MAX to fix the problem.
+
+Upstream-Status: Pending [Upstream seems dead]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ exp_main_sub.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/exp_main_sub.c b/exp_main_sub.c
+index fcfaa6e..bf6c4be 100644
+--- a/exp_main_sub.c
++++ b/exp_main_sub.c
+@@ -48,6 +48,10 @@ char exp_version[] = PACKAGE_VERSION;
+ #define NEED_TCL_MAJOR 7
+ #define NEED_TCL_MINOR 5
+
++#ifndef PATH_MAX
++#define PATH_MAX 4096
++#endif
++
+ char *exp_argv0 = "this program"; /* default program name */
+ void (*exp_app_exit)() = 0;
+ void (*exp_event_exit)() = 0;
+@@ -901,7 +905,7 @@ int sys_rc;
+ int rc;
+
+ if (sys_rc) {
+- char file[200];
++ char file[PATH_MAX];
+ int fd;
+
+ sprintf(file,"%s/expect.rc",SCRIPTDIR);
+@@ -917,7 +921,7 @@ int sys_rc;
+ }
+ }
+ if (my_rc) {
+- char file[200];
++ char file[PATH_MAX];
+ char *home;
+ int fd;
+ char *getenv();
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/expect/expect_5.45.4.bb b/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
index 96eacd929..39ae6151f 100644
--- a/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
+++ b/poky/meta/recipes-devtools/expect/expect_5.45.4.bb
@@ -25,6 +25,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/expect/Expect/${PV}/${BPN}${PV}.tar.gz \
file://0001-expect-install-scripts-without-using-the-fixline1-tc.patch \
file://0001-Resolve-string-formatting-issues.patch \
file://0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch \
+ file://0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch \
"
SRC_URI[md5sum] = "00fce8de158422f5ccd2666512329bd2"
SRC_URI[sha256sum] = "49a7da83b0bdd9f46d04a04deec19c7767bb9a323e40c4781f89caf760b92c34"
@@ -44,9 +45,9 @@ do_install_append() {
}
# Apparently the public Tcl headers are only in /usr/include/tcl8.6
-# when building for the target.
-TCL_INCLUDE_PATH = ""
-TCL_INCLUDE_PATH_class-target = "--with-tclinclude=${STAGING_INCDIR}/tcl8.6"
+# when building for the target and nativesdk.
+TCL_INCLUDE_PATH = "--with-tclinclude=${STAGING_INCDIR}/tcl8.6"
+TCL_INCLUDE_PATH_class-native = ""
EXTRA_OECONF += "--with-tcl=${STAGING_LIBDIR} \
--enable-shared \
diff --git a/poky/meta/recipes-devtools/flex/flex_2.6.0.bb b/poky/meta/recipes-devtools/flex/flex_2.6.0.bb
index b477cd8c7..12ce0cb46 100644
--- a/poky/meta/recipes-devtools/flex/flex_2.6.0.bb
+++ b/poky/meta/recipes-devtools/flex/flex_2.6.0.bb
@@ -68,3 +68,6 @@ do_install_ptest() {
-e 's/^builddir = \(.*\)/builddir = ./' -e 's/^top_builddir = \(.*\)/top_builddir = ./' \
-i ${D}${PTEST_PATH}/Makefile
}
+
+# Not Apache Flex, or Adobe Flex, or IBM Flex.
+CVE_PRODUCT = "flex_project:flex"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc
deleted file mode 100644
index 1781ff5b5..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc
+++ /dev/null
@@ -1,112 +0,0 @@
-require gcc-common.inc
-
-# Third digit in PV should be incremented after a minor release
-
-PV = "8.3.0"
-
-# BINV should be incremented to a revision after a minor gcc release
-
-BINV = "8.3.0"
-
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-8.3:"
-
-DEPENDS =+ "mpfr gmp libmpc zlib flex-native"
-NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native"
-
-LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
-
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
- file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
-"
-
-#RELEASE = "8.0.1-RC-20180427"
-BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
-#SRCREV = "f7cf798b73fd1a07098f9a490deec1e2a36e0bed"
-#BASEURI ?= "git://github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
-#BASEURI ?= "http://mirrors.concertpass.com/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz"
-
-SRC_URI = "\
- ${BASEURI} \
- file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
- file://0002-gcc-poison-system-directories.patch \
- file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
- file://0004-64-bit-multilib-hack.patch \
- file://0005-optional-libstdc.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 \
- file://0010-cpp-honor-sysroot.patch \
- file://0011-MIPS64-Default-to-N64-ABI.patch \
- file://0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
- file://0013-gcc-Fix-argument-list-too-long-error.patch \
- file://0014-Disable-sdt.patch \
- file://0015-libtool.patch \
- file://0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
- file://0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
- file://0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
- file://0019-export-CPP.patch \
- file://0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch \
- file://0021-Ensure-target-gcc-headers-can-be-included.patch \
- file://0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \
- file://0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
- file://0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
- file://0025-aarch64-Add-support-for-musl-ldso.patch \
- file://0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
- file://0027-handle-sysroot-support-for-nativesdk-gcc.patch \
- file://0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
- file://0029-Fix-various-_FOR_BUILD-and-related-variables.patch \
- file://0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
- file://0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
- file://0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \
- file://0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
- file://0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
- file://0035-sync-gcc-stddef.h-with-musl.patch \
- file://0036-fix-segmentation-fault-in-precompiled-header-generat.patch \
- file://0037-Fix-for-testsuite-failure.patch \
- file://0038-Re-introduce-spe-commandline-options.patch \
- 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"
-
-S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
-#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
-#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${RELEASE}"
-B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
-
-# Language Overrides
-FORTRAN = ""
-
-LTO = "--enable-lto"
-SSP ?= "--disable-libssp"
-SSP_mingw32 = "--enable-libssp"
-
-EXTRA_OECONF_BASE = "\
- ${LTO} \
- ${SSP} \
- --enable-libitm \
- --disable-bootstrap \
- --disable-libmudflap \
- --with-system-zlib \
- ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \
- --enable-linker-build-id \
- --with-ppl=no \
- --with-cloog=no \
- --enable-checking=release \
- --enable-cheaders=c_global \
- --without-isl \
-"
-
-EXTRA_OECONF_PATHS = "\
- --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
- --with-sysroot=/not/exist \
- --with-build-sysroot=${STAGING_DIR_TARGET} \
-"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
deleted file mode 100644
index 4ad79e44b..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From d7b284a9bede9d5059ad7e95a867254bf913c638 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 08:37:11 +0400
-Subject: [PATCH 01/40] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- configure | 2 +-
- configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure b/configure
-index 0601395512f..8c5b1e9d561 100755
---- a/configure
-+++ b/configure
-@@ -7507,7 +7507,7 @@ fi
- # for target_alias and gcc doesn't manage it consistently.
- target_configargs="--cache-file=./config.cache ${target_configargs}"
-
--FLAGS_FOR_TARGET=
-+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
- case " $target_configdirs " in
- *" newlib "*)
- case " $target_configargs " in
-diff --git a/configure.ac b/configure.ac
-index c3433336523..69c31c65ad7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3096,7 +3096,7 @@ fi
- # for target_alias and gcc doesn't manage it consistently.
- target_configargs="--cache-file=./config.cache ${target_configargs}"
-
--FLAGS_FOR_TARGET=
-+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
- case " $target_configdirs " in
- *" newlib "*)
- case " $target_configargs " in
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch
deleted file mode 100644
index e7ff12466..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0002-gcc-poison-system-directories.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-From 95ec476dd7726cc9c1bfd6fb23ba3aea8bbf61a4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 08:59:00 +0400
-Subject: [PATCH 02/40] gcc: poison-system-directories
-
-Add /sw/include and /opt/include based on the original
-zecke-no-host-includes.patch patch. The original patch checked for
-/usr/include, /sw/include and /opt/include and then triggered a failure and
-aborted.
-
-Instead, we add the two missing items to the current scan. If the user
-wants this to be a failure, they can add "-Werror=poison-system-directories".
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/common.opt | 4 ++++
- gcc/config.in | 6 ++++++
- gcc/configure | 16 ++++++++++++++++
- gcc/configure.ac | 10 ++++++++++
- gcc/doc/invoke.texi | 9 +++++++++
- gcc/gcc.c | 2 ++
- gcc/incpath.c | 21 +++++++++++++++++++++
- 7 files changed, 68 insertions(+)
-
-diff --git a/gcc/common.opt b/gcc/common.opt
-index b52ef0b38c8..0de3f0924cd 100644
---- a/gcc/common.opt
-+++ b/gcc/common.opt
-@@ -679,6 +679,10 @@ Wreturn-local-addr
- Common Var(warn_return_local_addr) Init(1) Warning
- Warn about returning a pointer/reference to a local or temporary variable.
-
-+Wpoison-system-directories
-+Common Var(flag_poison_system_directories) Init(1) Warning
-+Warn for -I and -L options using system directories if cross compiling
-+
- Wshadow
- Common Var(warn_shadow) Warning
- Warn when one variable shadows another. Same as -Wshadow=global.
-diff --git a/gcc/config.in b/gcc/config.in
-index 5bccb408016..1c784a8276b 100644
---- a/gcc/config.in
-+++ b/gcc/config.in
-@@ -194,6 +194,12 @@
- #endif
-
-
-+/* Define to warn for use of native system header directories */
-+#ifndef USED_FOR_TARGET
-+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
-+#endif
-+
-+
- /* Define if you want all operations on RTL (the basic data structure of the
- optimizer and back end) to be checked for dynamic type safety at runtime.
- This is quite expensive. */
-diff --git a/gcc/configure b/gcc/configure
-index 6121e163259..3901722400c 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -953,6 +953,7 @@ with_system_zlib
- enable_maintainer_mode
- enable_link_mutex
- enable_version_specific_runtime_libs
-+enable_poison_system_directories
- enable_plugin
- enable_host_shared
- enable_libquadmath_support
-@@ -1696,6 +1697,8 @@ Optional Features:
- --enable-version-specific-runtime-libs
- specify that runtime libraries should be installed
- in a compiler-specific directory
-+ --enable-poison-system-directories
-+ warn for use of native system header directories
- --enable-plugin enable plugin support
- --enable-host-shared build host code as shared libraries
- --disable-libquadmath-support
-@@ -29701,6 +29704,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
- fi
-
-
-+# Check whether --enable-poison-system-directories was given.
-+if test "${enable_poison_system_directories+set}" = set; then :
-+ enableval=$enable_poison_system_directories;
-+else
-+ enable_poison_system_directories=no
-+fi
-+
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+
-+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
-+
-+fi
-+
- # Substitute configuration variables
-
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index b066cc609e1..1b1362f70fe 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -6327,6 +6327,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
- [specify that runtime libraries should be
- installed in a compiler-specific directory])])
-
-+AC_ARG_ENABLE([poison-system-directories],
-+ AS_HELP_STRING([--enable-poison-system-directories],
-+ [warn for use of native system header directories]),,
-+ [enable_poison_system_directories=no])
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
-+ [1],
-+ [Define to warn for use of native system header directories])
-+fi
-+
- # Substitute configuration variables
- AC_SUBST(subdirs)
- AC_SUBST(srcdir)
-diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index e5c4e8125aa..fb228631a42 100644
---- a/gcc/doc/invoke.texi
-+++ b/gcc/doc/invoke.texi
-@@ -304,6 +304,7 @@ Objective-C and Objective-C++ Dialects}.
- -Wpacked -Wpacked-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
- -Wparentheses -Wno-pedantic-ms-format @gol
- -Wplacement-new -Wplacement-new=@var{n} @gol
-+-Wno-poison-system-directories @gol
- -Wpointer-arith -Wpointer-compare -Wno-pointer-to-int-cast @gol
- -Wno-pragmas -Wredundant-decls -Wrestrict -Wno-return-local-addr @gol
- -Wreturn-type -Wsequence-point -Wshadow -Wno-shadow-ivar @gol
-@@ -5743,6 +5744,14 @@ made up of data only and thus requires no special treatment. But, for
- most targets, it is made up of code and thus requires the stack to be
- made executable in order for the program to work properly.
-
-+@item -Wno-poison-system-directories
-+@opindex Wno-poison-system-directories
-+Do not warn for @option{-I} or @option{-L} options using system
-+directories such as @file{/usr/include} when cross compiling. This
-+option is intended for use in chroot environments when such
-+directories contain the correct headers and libraries for the target
-+system rather than the host.
-+
- @item -Wfloat-equal
- @opindex Wfloat-equal
- @opindex Wno-float-equal
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index a716f708259..02b3cd39fc2 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1037,6 +1037,8 @@ proper position among the other output files. */
- "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
- "%X %{o*} %{e*} %{N} %{n} %{r}\
- %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \
-+ %{Wno-poison-system-directories:--no-poison-system-directories} \
-+ %{Werror=poison-system-directories:--error-poison-system-directories} \
- %{static|no-pie|static-pie:} %{L*} %(mfwrap) %(link_libgcc) " \
- VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \
- %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
-diff --git a/gcc/incpath.c b/gcc/incpath.c
-index b11c6a57939..9a457e02dd3 100644
---- a/gcc/incpath.c
-+++ b/gcc/incpath.c
-@@ -26,6 +26,7 @@
- #include "intl.h"
- #include "incpath.h"
- #include "cppdefault.h"
-+#include "diagnostic-core.h"
-
- /* Microsoft Windows does not natively support inodes.
- VMS has non-numeric inodes. */
-@@ -393,6 +394,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
- }
- fprintf (stderr, _("End of search list.\n"));
- }
-+
-+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
-+ if (flag_poison_system_directories)
-+ {
-+ struct cpp_dir *p;
-+
-+ for (p = heads[INC_QUOTE]; p; p = p->next)
-+ {
-+ if ((!strncmp (p->name, "/usr/include", 12))
-+ || (!strncmp (p->name, "/usr/local/include", 18))
-+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
-+ || (!strncmp (p->name, "/sw/include", 11))
-+ || (!strncmp (p->name, "/opt/include", 12)))
-+ warning (OPT_Wpoison_system_directories,
-+ "include location \"%s\" is unsafe for "
-+ "cross-compilation",
-+ p->name);
-+ }
-+ }
-+#endif
- }
-
- /* Use given -I paths for #include "..." but not #include <...>, and
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
deleted file mode 100644
index e62deb2e4..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 6640d7e39b13d1ef26d249153ab15d510fda3566 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:08:31 +0400
-Subject: [PATCH 03/40] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
-
-Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
-
-This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
-
-Other changes I had to do include:
-
-- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
-
-- passing the right CFLAGS to configure scripts as exported environment variables
-
-I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
-
-Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
-
-Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- configure | 32 ++++++++++++++++++++++++++++++++
- 1 file changed, 32 insertions(+)
-
-diff --git a/configure b/configure
-index 8c5b1e9d561..2d1fc6b94d9 100755
---- a/configure
-+++ b/configure
-@@ -6768,6 +6768,38 @@ fi
-
-
-
-+# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
-+# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
-+# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
-+# We want to ensure that TARGET libraries (which we know are built with
-+# gcc) are built with "-O2 -g", so include those options when setting
-+# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
-+if test "x$CFLAGS_FOR_TARGET" = x; then
-+ CFLAGS_FOR_TARGET=$CFLAGS
-+ case " $CFLAGS " in
-+ *" -O2 "*) ;;
-+ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
-+ esac
-+ case " $CFLAGS " in
-+ *" -g "* | *" -g3 "*) ;;
-+ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
-+ esac
-+fi
-+
-+
-+if test "x$CXXFLAGS_FOR_TARGET" = x; then
-+ CXXFLAGS_FOR_TARGET=$CXXFLAGS
-+ case " $CXXFLAGS " in
-+ *" -O2 "*) ;;
-+ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
-+ esac
-+ case " $CXXFLAGS " in
-+ *" -g "* | *" -g3 "*) ;;
-+ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
-+ esac
-+fi
-+
-+
- # Handle --with-headers=XXX. If the value is not "yes", the contents of
- # the named directory are copied to $(tooldir)/sys-include.
- if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch
deleted file mode 100644
index 371d87759..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0004-64-bit-multilib-hack.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 1e649d81ca662c4cdf73882ebb8a11f0f19f5baf Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:10:06 +0400
-Subject: [PATCH 04/40] 64-bit multilib hack.
-
-GCC has internal multilib handling code but it assumes a very specific rigid directory
-layout. The build system implementation of multilib layout is very generic and allows
-complete customisation of the library directories.
-
-This patch is a partial solution to allow any custom directories to be passed into gcc
-and handled correctly. It forces gcc to use the base_libdir (which is the current
-directory, "."). We need to do this for each multilib that is configured as we don't
-know which compiler options may be being passed into the compiler. Since we have a compiler
-per mulitlib at this point that isn't an issue.
-
-The one problem is the target compiler is only going to work for the default multlilib at
-this point. Ideally we'd figure out which multilibs were being enabled with which paths
-and be able to patch these entries with a complete set of correct paths but this we
-don't have such code at this point. This is something the target gcc recipe should do
-and override these platform defaults in its build config.
-
-RP 15/8/11
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/config/i386/t-linux64 | 6 ++----
- gcc/config/mips/t-linux64 | 10 +++-------
- gcc/config/rs6000/t-linux64 | 5 ++---
- 3 files changed, 7 insertions(+), 14 deletions(-)
-
-diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
-index 8ea0faff369..266c6008004 100644
---- a/gcc/config/i386/t-linux64
-+++ b/gcc/config/i386/t-linux64
-@@ -32,7 +32,5 @@
- #
- comma=,
- MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
--MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
--MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
--MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
--MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
-+MULTILIB_DIRNAMES = . .
-+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
-index c017b7d04c5..126892cf40b 100644
---- a/gcc/config/mips/t-linux64
-+++ b/gcc/config/mips/t-linux64
-@@ -17,10 +17,6 @@
- # <http://www.gnu.org/licenses/>.
-
- MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
--MULTILIB_DIRNAMES = n32 32 64
--MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
--MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
--MULTILIB_OSDIRNAMES = \
-- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
-- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
-- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
-+MULTILIB_DIRNAMES = . . .
-+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-+
-diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
-index 0faa2a02df4..13fd8ca971e 100644
---- a/gcc/config/rs6000/t-linux64
-+++ b/gcc/config/rs6000/t-linux64
-@@ -26,10 +26,9 @@
- # MULTILIB_OSDIRNAMES according to what is found on the target.
-
- MULTILIB_OPTIONS := m64/m32
--MULTILIB_DIRNAMES := 64 32
-+MULTILIB_DIRNAMES := . .
- MULTILIB_EXTRA_OPTS :=
--MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
--MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
-+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-
- rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
- $(COMPILE) $<
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch
deleted file mode 100644
index f9cf6c208..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0005-optional-libstdc.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From b486380dcc4758e856ab6d847eb358d05bd79d64 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:12:56 +0400
-Subject: [PATCH 05/40] optional libstdc
-
-gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
-will not run correctly since by default the linker will try to link against libstdc++
-which shouldn't exist yet. We need an option to disable -lstdc++
-option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc
-driver. This patch adds such an option which only disables the -lstdc++.
-
-A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
-do this officially, the likely answer is don't build libstdc++ separately.
-
-RP 29/6/10
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- gcc/c-family/c.opt | 4 ++++
- gcc/cp/g++spec.c | 1 +
- gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++-
- gcc/gcc.c | 1 +
- 4 files changed, 37 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
-index f591b39be5a..2955fcea867 100644
---- a/gcc/c-family/c.opt
-+++ b/gcc/c-family/c.opt
-@@ -1901,6 +1901,10 @@ nostdinc++
- C++ ObjC++
- Do not search standard system include directories for C++.
-
-+nostdlib++
-+Driver
-+Do not link standard C++ runtime library
-+
- o
- C ObjC C++ ObjC++ Joined Separate
- ; Documented in common.opt
-diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
-index 443a1746da3..e9b51be62ef 100644
---- a/gcc/cp/g++spec.c
-+++ b/gcc/cp/g++spec.c
-@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
- switch (decoded_options[i].opt_index)
- {
- case OPT_nostdlib:
-+ case OPT_nostdlib__:
- case OPT_nodefaultlibs:
- library = -1;
- break;
-diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index fb228631a42..310ba8109ed 100644
---- a/gcc/doc/invoke.texi
-+++ b/gcc/doc/invoke.texi
-@@ -212,6 +212,9 @@ in the following sections.
- -fno-weak -nostdinc++ @gol
- -fvisibility-inlines-hidden @gol
- -fvisibility-ms-compat @gol
-+-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol
-+-fvtv-counts -fvtv-debug @gol
-+-nostdlib++ @gol
- -fext-numeric-literals @gol
- -Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol
- -Wdelete-non-virtual-dtor -Wliteral-suffix -Wmultiple-inheritance @gol
-@@ -510,7 +513,7 @@ Objective-C and Objective-C++ Dialects}.
- -s -static -static-pie -static-libgcc -static-libstdc++ @gol
- -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol
- -static-libmpx -static-libmpxwrappers @gol
---shared -shared-libgcc -symbolic @gol
-+-shared -shared-libgcc -symbolic -nostdlib++ @gol
- -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol
- -u @var{symbol} -z @var{keyword}}
-
-@@ -12359,6 +12362,33 @@ library subroutines.
- constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
- GNU Compiler Collection (GCC) Internals}.)
-
-+@item -nostdlib++
-+@opindex nostdlib++
-+Do not use the standard system C++ runtime libraries when linking.
-+Only the libraries you specify will be passed to the linker.
-+
-+@cindex @option{-lgcc}, use with @option{-nostdlib}
-+@cindex @option{-nostdlib} and unresolved references
-+@cindex unresolved references and @option{-nostdlib}
-+@cindex @option{-lgcc}, use with @option{-nodefaultlibs}
-+@cindex @option{-nodefaultlibs} and unresolved references
-+@cindex unresolved references and @option{-nodefaultlibs}
-+One of the standard libraries bypassed by @option{-nostdlib} and
-+@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
-+which GCC uses to overcome shortcomings of particular machines, or special
-+needs for some languages.
-+(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
-+Collection (GCC) Internals},
-+for more discussion of @file{libgcc.a}.)
-+In most cases, you need @file{libgcc.a} even when you want to avoid
-+other standard libraries. In other words, when you specify @option{-nostdlib}
-+or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
-+This ensures that you have no unresolved references to internal GCC
-+library subroutines.
-+(An example of such an internal subroutine is @code{__main}, used to ensure C++
-+constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
-+GNU Compiler Collection (GCC) Internals}.)
-+
- @item -pie
- @opindex pie
- Produce a dynamically linked position independent executable on targets
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 02b3cd39fc2..8cd27a5dad5 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1047,6 +1047,7 @@ proper position among the other output files. */
- %(mflib) " STACK_SPLIT_SPEC "\
- %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
- %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}\
-+ %{!nostdlib++:}\
- %{!nostdlib:%{!nostartfiles:%E}} %{T*} \n%(post_link) }}}}}}"
- #endif
-
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch
deleted file mode 100644
index 8c7e72e1b..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0007-COLLECT_GCC_OPTIONS.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 209e46f45382088caab54425b92b5dfc43ebb4fc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:16:28 +0400
-Subject: [PATCH 07/40] COLLECT_GCC_OPTIONS
-
-This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to
-invoke collect2.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/gcc.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 8cd27a5dad5..d355d65583a 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -4677,6 +4677,15 @@ set_collect_gcc_options (void)
- sizeof ("COLLECT_GCC_OPTIONS=") - 1);
-
- first_time = TRUE;
-+#ifdef HAVE_LD_SYSROOT
-+ if (target_system_root_changed && target_system_root)
-+ {
-+ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
-+ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
-+ obstack_grow (&collect_obstack, "'", 1);
-+ first_time = FALSE;
-+ }
-+#endif
- for (i = 0; (int) i < n_switches; i++)
- {
- const char *const *args;
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
deleted file mode 100644
index f9632afec..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 3bcbdf5ade54a72820ad7798119d0bbad4baf6ec Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:17:25 +0400
-Subject: [PATCH 08/40] Use the defaults.h in ${B} instead of ${S}, and t-oe in
- ${B}
-
-Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
-the source can be shared between gcc-cross-initial,
-gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-
-While compiling gcc-crosssdk-initial-x86_64 on some host, there is
-occasionally failure that test the existance of default.h doesn't
-work, the reason is tm_include_list='** defaults.h' rather than
-tm_include_list='** ./defaults.h'
-
-So we add the test condition for this situation.
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gcc/Makefile.in | 2 +-
- gcc/configure | 4 ++--
- gcc/configure.ac | 4 ++--
- gcc/mkconfig.sh | 4 ++--
- 4 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 20bee0494b1..1367136bfac 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -538,7 +538,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
- TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
-
- xmake_file=@xmake_file@
--tmake_file=@tmake_file@
-+tmake_file=@tmake_file@ ./t-oe
- TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
- TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
- TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
-diff --git a/gcc/configure b/gcc/configure
-index 0c9b8ac5f55..134c2c2f156 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -12158,8 +12158,8 @@ for f in $tm_file; do
- tm_include_list="${tm_include_list} $f"
- ;;
- defaults.h )
-- tm_file_list="${tm_file_list} \$(srcdir)/$f"
-- tm_include_list="${tm_include_list} $f"
-+ tm_file_list="${tm_file_list} ./$f"
-+ tm_include_list="${tm_include_list} ./$f"
- ;;
- * )
- tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 53840363115..0c3c82e4ff7 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1922,8 +1922,8 @@ for f in $tm_file; do
- tm_include_list="${tm_include_list} $f"
- ;;
- defaults.h )
-- tm_file_list="${tm_file_list} \$(srcdir)/$f"
-- tm_include_list="${tm_include_list} $f"
-+ tm_file_list="${tm_file_list} ./$f"
-+ tm_include_list="${tm_include_list} ./$f"
- ;;
- * )
- tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
-diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
-index 0f75c863c0b..68d8d6613cf 100644
---- a/gcc/mkconfig.sh
-+++ b/gcc/mkconfig.sh
-@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
- if [ $# -ge 1 ]; then
- echo '#ifdef IN_GCC' >> ${output}T
- for file in "$@"; do
-- if test x"$file" = x"defaults.h"; then
-+ if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then
- postpone_defaults_h="yes"
- else
- echo "# include \"$file\"" >> ${output}T
-@@ -106,7 +106,7 @@ esac
-
- # If we postponed including defaults.h, add the #include now.
- if test x"$postpone_defaults_h" = x"yes"; then
-- echo "# include \"defaults.h\"" >> ${output}T
-+ echo "# include \"./defaults.h\"" >> ${output}T
- fi
-
- # Add multiple inclusion protection guard, part two.
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch
deleted file mode 100644
index 50d895bfd..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0009-fortran-cross-compile-hack.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From e654573352d28f160f379ee77e4067cf108714d0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:20:01 +0400
-Subject: [PATCH 09/40] fortran cross-compile hack.
-
-* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
-used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
-directory.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- libgfortran/configure | 2 +-
- libgfortran/configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libgfortran/configure b/libgfortran/configure
-index 91fce8fecd0..6747f86eb98 100755
---- a/libgfortran/configure
-+++ b/libgfortran/configure
-@@ -12883,7 +12883,7 @@ esac
-
- # We need gfortran to compile parts of the library
- #AC_PROG_FC(gfortran)
--FC="$GFORTRAN"
-+#FC="$GFORTRAN"
- ac_ext=${ac_fc_srcext-f}
- ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
- ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
-diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
-index bf6d3634dda..9dbe43cc616 100644
---- a/libgfortran/configure.ac
-+++ b/libgfortran/configure.ac
-@@ -250,7 +250,7 @@ AC_SUBST(enable_static)
-
- # We need gfortran to compile parts of the library
- #AC_PROG_FC(gfortran)
--FC="$GFORTRAN"
-+#FC="$GFORTRAN"
- AC_PROG_FC(gfortran)
-
- # extra LD Flags which are required for targets
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch
deleted file mode 100644
index 037eacf43..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0010-cpp-honor-sysroot.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 2ae7af4eb70eff6aeda1fe96333ff50cfaa9d906 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:22:00 +0400
-Subject: [PATCH 10/40] cpp: honor sysroot.
-
-Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
-preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
-rather than the --sysroot option specified on the commandline. If access to that directory is
-permission denied (unreadable), gcc will error.
-
-This happens when ccache is in use due to the fact it uses preprocessed source files.
-
-The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix,
--isystem, -isysroot happen and the correct sysroot is used.
-
-[YOCTO #2074]
-
-RP 2012/04/13
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/cp/lang-specs.h | 2 +-
- gcc/gcc.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
-index f0802b8915c..f324d299849 100644
---- a/gcc/cp/lang-specs.h
-+++ b/gcc/cp/lang-specs.h
-@@ -64,5 +64,5 @@ along with GCC; see the file COPYING3. If not see
- {".ii", "@c++-cpp-output", 0, 0, 0},
- {"@c++-cpp-output",
- "%{!M:%{!MM:%{!E:\
-- cc1plus -fpreprocessed %i %(cc1_options) %2\
-+ cc1plus -fpreprocessed %i %I %(cc1_options) %2\
- %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index d355d65583a..570cdc00034 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1343,7 +1343,7 @@ static const struct compiler default_compilers[] =
- %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
- {".i", "@cpp-output", 0, 0, 0},
- {"@cpp-output",
-- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
-+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
- {".s", "@assembler", 0, 0, 0},
- {"@assembler",
- "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch
deleted file mode 100644
index c863cff93..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0011-MIPS64-Default-to-N64-ABI.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 1e1ea0eb55a594ac4cd7b838f74dec7405aae02b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:23:08 +0400
-Subject: [PATCH 11/40] MIPS64: Default to N64 ABI
-
-MIPS64 defaults to n32 ABI, this patch makes it
-so that it defaults to N64 ABI
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [OE config specific]
----
- gcc/config.gcc | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/gcc/config.gcc b/gcc/config.gcc
-index 7af8e028104..fc7c91246ed 100644
---- a/gcc/config.gcc
-+++ b/gcc/config.gcc
-@@ -2143,29 +2143,29 @@ mips*-*-linux*) # Linux MIPS, either endian.
- default_mips_arch=mips32
- ;;
- mips64el-st-linux-gnu)
-- default_mips_abi=n32
-+ default_mips_abi=64
- tm_file="${tm_file} mips/st.h"
- tmake_file="${tmake_file} mips/t-st"
- enable_mips_multilibs="yes"
- ;;
- mips64octeon*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
- target_cpu_default=MASK_SOFT_FLOAT_ABI
- enable_mips_multilibs="yes"
- ;;
- mipsisa64r6*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- default_mips_arch=mips64r6
- enable_mips_multilibs="yes"
- ;;
- mipsisa64r2*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- default_mips_arch=mips64r2
- enable_mips_multilibs="yes"
- ;;
- mips64*-*-linux* | mipsisa64*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- enable_mips_multilibs="yes"
- ;;
- esac
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
deleted file mode 100644
index d3be10f20..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-From 6f8649936df3677109b8396f563c716ae8b237fe Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:24:50 +0400
-Subject: [PATCH 12/40] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
- relative to SYSTEMLIBS_DIR
-
-This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
-relative to SYSTEMLIBS_DIR which can be set in generated headers
-This breaks the assumption of hardcoded multilib in gcc
-Change is only for the supported architectures in OE including
-SH, sparc, alpha for possible future support (if any)
-
-Removes the do_headerfix task in metadata
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [OE configuration]
----
- gcc/config/alpha/linux-elf.h | 4 ++--
- gcc/config/arm/linux-eabi.h | 4 ++--
- gcc/config/arm/linux-elf.h | 2 +-
- gcc/config/i386/linux.h | 2 +-
- gcc/config/i386/linux64.h | 6 +++---
- gcc/config/linux.h | 8 ++++----
- gcc/config/mips/linux.h | 12 ++++++------
- gcc/config/riscv/linux.h | 2 +-
- gcc/config/rs6000/linux64.h | 16 ++++++----------
- gcc/config/sh/linux.h | 2 +-
- gcc/config/sparc/linux.h | 2 +-
- gcc/config/sparc/linux64.h | 4 ++--
- 12 files changed, 30 insertions(+), 34 deletions(-)
-
-diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
-index 36b74dc1993..02373578af8 100644
---- a/gcc/config/alpha/linux-elf.h
-+++ b/gcc/config/alpha/linux-elf.h
-@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
- #define EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
--#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
- #if DEFAULT_LIBC == LIBC_UCLIBC
- #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
- #elif DEFAULT_LIBC == LIBC_GLIBC
-diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index 8585fde3d41..b3af68cac57 100644
---- a/gcc/config/arm/linux-eabi.h
-+++ b/gcc/config/arm/linux-eabi.h
-@@ -62,8 +62,8 @@
- GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
-
- #undef GLIBC_DYNAMIC_LINKER
--#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
--#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
-+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3"
-+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3"
- #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
-
- #define GLIBC_DYNAMIC_LINKER \
-diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
-index cfcd9cb1a5c..a798e987ecb 100644
---- a/gcc/config/arm/linux-elf.h
-+++ b/gcc/config/arm/linux-elf.h
-@@ -60,7 +60,7 @@
-
- #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #define LINUX_TARGET_LINK_SPEC "%{h*} \
- %{static:-Bstatic} \
-diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
-index 69f97f15b0d..71bc31d9231 100644
---- a/gcc/config/i386/linux.h
-+++ b/gcc/config/i386/linux.h
-@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
- <http://www.gnu.org/licenses/>. */
-
- #define GNU_USER_LINK_EMULATION "elf_i386"
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef MUSL_DYNAMIC_LINKER
- #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
-diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
-index f2d913e30ac..8725f33d8a5 100644
---- a/gcc/config/i386/linux64.h
-+++ b/gcc/config/i386/linux64.h
-@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
- #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
--#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
-+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
-
- #undef MUSL_DYNAMIC_LINKER32
- #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
-diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index 2ea4ff92c1d..487b0c0923b 100644
---- a/gcc/config/linux.h
-+++ b/gcc/config/linux.h
-@@ -81,10 +81,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
- GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
- supporting both 32-bit and 64-bit compilation. */
--#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0"
- #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
- #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
- #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
-diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
-index 2dfd0c18b90..12057c51b5e 100644
---- a/gcc/config/mips/linux.h
-+++ b/gcc/config/mips/linux.h
-@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see
- #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
-
- #define GLIBC_DYNAMIC_LINKER32 \
-- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
- #define GLIBC_DYNAMIC_LINKER64 \
-- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
- #define GLIBC_DYNAMIC_LINKERN32 \
-- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
-
- #undef UCLIBC_DYNAMIC_LINKER32
- #define UCLIBC_DYNAMIC_LINKER32 \
-- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
- #undef UCLIBC_DYNAMIC_LINKER64
- #define UCLIBC_DYNAMIC_LINKER64 \
-- "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}"
- #define UCLIBC_DYNAMIC_LINKERN32 \
-- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
-
- #undef MUSL_DYNAMIC_LINKER32
- #define MUSL_DYNAMIC_LINKER32 \
-diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
-index aa8a28d5d31..ebf9551c955 100644
---- a/gcc/config/riscv/linux.h
-+++ b/gcc/config/riscv/linux.h
-@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see
- GNU_USER_TARGET_OS_CPP_BUILTINS(); \
- } while (0)
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1"
-
- #define MUSL_ABI_SUFFIX \
- "%{mabi=ilp32:-sf}" \
-diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index 44eab40a234..54aa8d957e7 100644
---- a/gcc/config/rs6000/linux64.h
-+++ b/gcc/config/rs6000/linux64.h
-@@ -413,16 +413,11 @@ extern int dot_symbols;
- #undef LINK_OS_DEFAULT_SPEC
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-
--#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
--
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
- #ifdef LINUX64_DEFAULT_ABI_ELFv2
--#define GLIBC_DYNAMIC_LINKER64 \
--"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
--":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
-+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}"
- #else
--#define GLIBC_DYNAMIC_LINKER64 \
--"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
--":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
-+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}"
- #endif
-
- #define MUSL_DYNAMIC_LINKER32 \
-@@ -430,8 +425,9 @@ extern int dot_symbols;
- #define MUSL_DYNAMIC_LINKER64 \
- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-
--#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
-+
- #if DEFAULT_LIBC == LIBC_UCLIBC
- #define CHOOSE_DYNAMIC_LINKER(G, U, M) \
- "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}"
-diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
-index 6d2ccd012ba..ec78a89ce15 100644
---- a/gcc/config/sh/linux.h
-+++ b/gcc/config/sh/linux.h
-@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
- "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
- "%{mfdpic:-fdpic}.so.1"
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
-diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
-index 9fb03af0fe9..401fddbbb22 100644
---- a/gcc/config/sparc/linux.h
-+++ b/gcc/config/sparc/linux.h
-@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
- When the -shared link option is used a final link is not being
- done. */
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef LINK_SPEC
- #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
-diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
-index c1fe42165b7..26a79bfa2e3 100644
---- a/gcc/config/sparc/linux64.h
-+++ b/gcc/config/sparc/linux64.h
-@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see
- When the -shared link option is used a final link is not being
- done. */
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #ifdef SPARC_BI_ARCH
-
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch
deleted file mode 100644
index e9d2cac22..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0013-gcc-Fix-argument-list-too-long-error.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 9e815965fbaa90134be0e777cfc2fbcfab16b674 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:26:37 +0400
-Subject: [PATCH 13/40] gcc: Fix argument list too long error.
-
-There would be an "Argument list too long" error when the
-build directory is longer than 200, this is caused by:
-
-headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`
-
-The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
-it, use the $(sort list) of GNU make which can handle the too long list
-would fix the problem, the header would be short enough after sorted.
-The "tr ' ' '\012'" was used for translating the space to "\n", the
-$(sort list) doesn't need this.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 1367136bfac..71a8275c39f 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -3538,7 +3538,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
- # We keep the directory structure for files in config or c-family and .def
- # files. All other files are flattened to a single directory.
- $(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
-- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
-+ headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
- for file in $$headers; do \
- if [ -f $$file ] ; then \
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch
deleted file mode 100644
index 2bc44515c..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0014-Disable-sdt.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 00c7a7fdd4b4aad9e57d8b541de17ad209b6cd06 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:28:10 +0400
-Subject: [PATCH 14/40] Disable sdt.
-
-We don't list dtrace in DEPENDS so we shouldn't be depending on this header.
-It may or may not exist from preivous builds though. To be determinstic, disable
-sdt.h usage always. This avoids build failures if the header is removed after configure
-but before libgcc is compiled for example.
-
-RP 2012/8/7
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Disable sdt for libstdc++-v3.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Upstream-Status: Inappropriate [hack]
----
- gcc/configure | 12 ++++++------
- gcc/configure.ac | 18 +++++++++---------
- libstdc++-v3/configure | 6 +++---
- libstdc++-v3/configure.ac | 2 +-
- 4 files changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index 134c2c2f156..5111ec0aabb 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -29282,12 +29282,12 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
- $as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
- have_sys_sdt_h=no
--if test -f $target_header_dir/sys/sdt.h; then
-- have_sys_sdt_h=yes
--
--$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
--
--fi
-+#if test -f $target_header_dir/sys/sdt.h; then
-+# have_sys_sdt_h=yes
-+#
-+#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-+#
-+#fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
- $as_echo "$have_sys_sdt_h" >&6; }
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 0c3c82e4ff7..3e09af916fd 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5943,15 +5943,15 @@ fi
- AC_SUBST([enable_default_ssp])
-
- # Test for <sys/sdt.h> on the target.
--GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
--AC_MSG_CHECKING(sys/sdt.h in the target C library)
--have_sys_sdt_h=no
--if test -f $target_header_dir/sys/sdt.h; then
-- have_sys_sdt_h=yes
-- AC_DEFINE(HAVE_SYS_SDT_H, 1,
-- [Define if your target C library provides sys/sdt.h])
--fi
--AC_MSG_RESULT($have_sys_sdt_h)
-+#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
-+#AC_MSG_CHECKING(sys/sdt.h in the target C library)
-+#have_sys_sdt_h=no
-+#if test -f $target_header_dir/sys/sdt.h; then
-+# have_sys_sdt_h=yes
-+# AC_DEFINE(HAVE_SYS_SDT_H, 1,
-+# [Define if your target C library provides sys/sdt.h])
-+#fi
-+#AC_MSG_RESULT($have_sys_sdt_h)
-
- # Check if TFmode long double should be used by default or not.
- # Some glibc targets used DFmode long double, but with glibc 2.4
-diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
-index 5535bfa2b5a..13d793f5059 100755
---- a/libstdc++-v3/configure
-+++ b/libstdc++-v3/configure
-@@ -21786,11 +21786,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-- if test $glibcxx_cv_sys_sdt_h = yes; then
-+# if test $glibcxx_cv_sys_sdt_h = yes; then
-
--$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-+#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-
-- fi
-+# fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5
- $as_echo "$glibcxx_cv_sys_sdt_h" >&6; }
-
-diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
-index 0ef96270c9c..afe55a1b215 100644
---- a/libstdc++-v3/configure.ac
-+++ b/libstdc++-v3/configure.ac
-@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN
- GLIBCXX_CHECK_SC_NPROC_ONLN
- GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP
- GLIBCXX_CHECK_SYSCTL_HW_NCPU
--GLIBCXX_CHECK_SDT_H
-+#GLIBCXX_CHECK_SDT_H
-
- # Check for available headers.
- AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch
deleted file mode 100644
index 750f8a244..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0015-libtool.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 80f2b01b3f917cea08294328c8bbc51dadece4af Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:29:11 +0400
-Subject: [PATCH 15/40] libtool
-
-libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
-when running on am x86_64 build host.
-
-This patch stops this speading to libdir in the libstdc++.la file within libtool.
-Arguably, it shouldn't be passing this into libtool in the first place but
-for now this resolves the nastiest problems this causes.
-
-func_normal_abspath would resolve an empty path to `pwd` so we need
-to filter the zero case.
-
-RP 2012/8/24
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- ltmain.sh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 9503ec85d70..0121fba707f 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -6359,6 +6359,10 @@ func_mode_link ()
- func_warning "ignoring multiple \`-rpath's for a libtool library"
-
- install_libdir="$1"
-+ if test -n "$install_libdir"; then
-+ func_normal_abspath "$install_libdir"
-+ install_libdir=$func_normal_abspath_result
-+ fi
-
- oldlibs=
- if test -z "$rpath"; then
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
deleted file mode 100644
index 9b1b4d4df..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a66ec1e382bf869749588f072a4a7c09039f2b3a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:30:32 +0400
-Subject: [PATCH 16/40] gcc: armv4: pass fix-v4bx to linker to support EABI.
-
-The LINK_SPEC for linux gets overwritten by linux-eabi.h which
-means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
-the option is not passed to linker when chosing march=armv4
-This patch redefines this in linux-eabi.h and reinserts it
-for eabi defaulting toolchains.
-
-We might want to send it upstream.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/config/arm/linux-eabi.h | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index b3af68cac57..330b6e13c5f 100644
---- a/gcc/config/arm/linux-eabi.h
-+++ b/gcc/config/arm/linux-eabi.h
-@@ -88,10 +88,14 @@
- #define MUSL_DYNAMIC_LINKER \
- "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
-
-+/* For armv4 we pass --fix-v4bx to linker to support EABI */
-+#undef TARGET_FIX_V4BX_SPEC
-+#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}"
-+
- /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
- use the GNU/Linux version, not the generic BPABI version. */
- #undef LINK_SPEC
--#define LINK_SPEC EABI_LINK_SPEC \
-+#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC \
- LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \
- LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
-
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch
deleted file mode 100644
index 382fecdbc..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 624db734f656ad8cdf8b3cf3fc8e860b70c6c251 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:33:04 +0400
-Subject: [PATCH 17/40] Use the multilib config files from ${B} instead of
- using the ones from ${S}
-
-Use the multilib config files from ${B} instead of using the ones from ${S}
-so that the source can be shared between gcc-cross-initial,
-gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Upstream-Status: Inappropriate [configuration]
----
- gcc/configure | 22 ++++++++++++++++++----
- gcc/configure.ac | 22 ++++++++++++++++++----
- 2 files changed, 36 insertions(+), 8 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index 5111ec0aabb..3d9dcbdc93d 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -12138,10 +12138,20 @@ done
- tmake_file_=
- for f in ${tmake_file}
- do
-- if test -f ${srcdir}/config/$f
-- then
-- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-- fi
-+ case $f in
-+ */t-linux64 )
-+ if test -f ./config/$f
-+ then
-+ tmake_file_="${tmake_file_} ./config/$f"
-+ fi
-+ ;;
-+ * )
-+ if test -f ${srcdir}/config/$f
-+ then
-+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-+ fi
-+ ;;
-+ esac
- done
- tmake_file="${tmake_file_}"
-
-@@ -12152,6 +12162,10 @@ tm_file_list="options.h"
- tm_include_list="options.h insn-constants.h"
- for f in $tm_file; do
- case $f in
-+ */linux64.h )
-+ tm_file_list="${tm_file_list} ./config/$f"
-+ tm_include_list="${tm_include_list} ./config/$f"
-+ ;;
- ./* )
- f=`echo $f | sed 's/^..//'`
- tm_file_list="${tm_file_list} $f"
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 3e09af916fd..e09c840b605 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1902,10 +1902,20 @@ done
- tmake_file_=
- for f in ${tmake_file}
- do
-- if test -f ${srcdir}/config/$f
-- then
-- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-- fi
-+ case $f in
-+ */t-linux64 )
-+ if test -f ./config/$f
-+ then
-+ tmake_file_="${tmake_file_} ./config/$f"
-+ fi
-+ ;;
-+ * )
-+ if test -f ${srcdir}/config/$f
-+ then
-+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-+ fi
-+ ;;
-+ esac
- done
- tmake_file="${tmake_file_}"
-
-@@ -1916,6 +1926,10 @@ tm_file_list="options.h"
- tm_include_list="options.h insn-constants.h"
- for f in $tm_file; do
- case $f in
-+ */linux64.h )
-+ tm_file_list="${tm_file_list} ./config/$f"
-+ tm_include_list="${tm_include_list} ./config/$f"
-+ ;;
- ./* )
- f=`echo $f | sed 's/^..//'`
- tm_file_list="${tm_file_list} $f"
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
deleted file mode 100644
index 20e77d6ea..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 27cca95dcfeead8c52d292c4824ee96f178d6183 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 09:39:38 +0000
-Subject: [PATCH 18/40] Avoid using libdir from .la which usually points to a
- host path
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Jonathan Liu <net147@gmail.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltmain.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 0121fba707f..52bdbdb5f9c 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -5628,6 +5628,9 @@ func_mode_link ()
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
-+ # Instead of using libdir from .la which usually points to a host path,
-+ # use the path the .la is contained in.
-+ libdir="$abs_ladir"
- dir="$libdir"
- absdir="$libdir"
- fi
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch
deleted file mode 100644
index 140c67a48..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0019-export-CPP.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From a2936382da81aefa9b69c1fc625f6c706b7ea1d8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 09:40:59 +0000
-Subject: [PATCH 19/40] export CPP
-
-The OE environment sets and exports CPP as being the target gcc. When
-building gcc-cross-canadian for a mingw targetted sdk, the following can be found
-in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log:
-
-configure:3641: checking for _FILE_OFFSET_BITS value needed for large files
-configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5
-configure:3666: $? = 0
-configure:3698: result: no
-configure:3786: checking how to run the C preprocessor
-configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32
-configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
-configure:3876: $? = 0
-
-Note this is a *build* target (in build-x86_64-linux) so it should be
-using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32
-headers are very different, using the wrong cpp is a real problem. It is leaking
-into configure through the CPP variable. Ultimately this leads to build
-failures related to not being able to include a process.h file for pem-unix.c.
-
-The fix is to ensure we export a sane CPP value into the build
-environment when using build targets. We could define a CPP_FOR_BUILD value which may be
-the version which needs to be upstreamed but for now, this fix is good enough to
-avoid the problem.
-
-RP 22/08/2013
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile.in b/Makefile.in
-index 38774f542a6..b426d4f9350 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -149,6 +149,7 @@ BUILD_EXPORTS = \
- AR="$(AR_FOR_BUILD)"; export AR; \
- AS="$(AS_FOR_BUILD)"; export AS; \
- CC="$(CC_FOR_BUILD)"; export CC; \
-+ CPP="$(CC_FOR_BUILD) -E"; export CPP; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
deleted file mode 100644
index b22557eaf..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0020-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From d4326ab74a362b0fc83ed866f82c359389a36adc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 10:21:55 +0000
-Subject: [PATCH 20/40] Disable the MULTILIB_OSDIRNAMES and other multilib
- options.
-
-Hard coding the MULTILIB_OSDIRNAMES with ../lib64 is causing problems on
-systems where the libdir is NOT set to /lib64. This is allowed by the
-ABI, as
-long as the dynamic loader is present in /lib.
-
-We simply want to use the default rules in gcc to find and configure the
-normal libdir.
-
-Upstream-Status: Inappropriate[OE-Specific]
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/aarch64/t-aarch64-linux | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
-index b9897785a89..7d06f0d0edb 100644
---- a/gcc/config/aarch64/t-aarch64-linux
-+++ b/gcc/config/aarch64/t-aarch64-linux
-@@ -21,8 +21,8 @@
- LIB1ASMSRC = aarch64/lib1funcs.asm
- LIB1ASMFUNCS = _aarch64_sync_cache_range
-
--AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
--MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
--MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
-+#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
-+#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
-+#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
-
--MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
-+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch
deleted file mode 100644
index 60d72699d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0021-Ensure-target-gcc-headers-can-be-included.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 476eda9054df443d094273c8b61fce63d940adfc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 10:25:11 +0000
-Subject: [PATCH 21/40] Ensure target gcc headers can be included
-
-There are a few headers installed as part of the OpenEmbedded
-gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe
-built for the target architecture, these are within the target
-sysroot and not cross/nativesdk; thus they weren't able to be
-found by gcc with the existing search paths. Add support for
-picking up these headers under the sysroot supplied on the gcc
-command line in order to resolve this.
-
-Upstream-Status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/Makefile.in | 2 ++
- gcc/cppdefault.c | 4 ++++
- gcc/defaults.h | 9 +++++++++
- gcc/gcc.c | 7 -------
- 4 files changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 71a8275c39f..5ae693fb06c 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -614,6 +614,7 @@ libexecdir = @libexecdir@
-
- # Directory in which the compiler finds libraries etc.
- libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
-+libsubdir_target = gcc/$(target_noncanonical)/$(version)
- # Directory in which the compiler finds executables
- libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
- # Directory in which all plugin resources are installed
-@@ -2870,6 +2871,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
-
- PREPROCESSOR_DEFINES = \
- -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
-+ -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \
- -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
- -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
- -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
-diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
-index b36a979d5ba..e2e187dedaf 100644
---- a/gcc/cppdefault.c
-+++ b/gcc/cppdefault.c
-@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[]
- /* This is the dir for gcc's private headers. */
- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
- #endif
-+#ifdef GCC_INCLUDE_SUBDIR_TARGET
-+ /* This is the dir for gcc's private headers under the specified sysroot. */
-+ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
-+#endif
- #ifdef LOCAL_INCLUDE_DIR
- /* /usr/local/include comes before the fixincluded header files. */
- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
-diff --git a/gcc/defaults.h b/gcc/defaults.h
-index 9035b333be8..5982bbda61d 100644
---- a/gcc/defaults.h
-+++ b/gcc/defaults.h
-@@ -1455,4 +1455,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB
- #endif
-
-+/* Default prefixes to attach to command names. */
-+
-+#ifndef STANDARD_STARTFILE_PREFIX_1
-+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
-+#endif
-+#ifndef STANDARD_STARTFILE_PREFIX_2
-+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
-+#endif
-+
- #endif /* ! GCC_DEFAULTS_H */
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 570cdc00034..3fb64d453f1 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1464,13 +1464,6 @@ static const char *gcc_libexec_prefix;
-
- /* Default prefixes to attach to command names. */
-
--#ifndef STANDARD_STARTFILE_PREFIX_1
--#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
--#endif
--#ifndef STANDARD_STARTFILE_PREFIX_2
--#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
--#endif
--
- #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */
- #undef MD_EXEC_PREFIX
- #undef MD_STARTFILE_PREFIX
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
deleted file mode 100644
index 6f0d3f11d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0022-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From bc192f0a07ad819dee93446c5ef6895d9550d92d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 11:17:19 +0000
-Subject: [PATCH 22/40] gcc 4.8+ won't build with --disable-dependency-tracking
-
-since the *.Ppo files don't get created unless --enable-dependency-tracking is true.
-
-This patch ensures we only use those compiler options when its enabled.
-
-Upstream-Status: Submitted
-
-(Problem was already reported upstream, attached this patch there
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930)
-
-RP
-2012/09/22
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libatomic/Makefile.am | 3 ++-
- libatomic/Makefile.in | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
-index 803b292cce5..b47842eb590 100644
---- a/libatomic/Makefile.am
-+++ b/libatomic/Makefile.am
-@@ -101,7 +101,8 @@ PAT_S = $(word 3,$(PAT_SPLIT))
- IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
- IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
-
--M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_FALSE@M_DEPS =
- M_SIZE = -DN=$(PAT_N)
- M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
- M_FILE = $(PAT_BASE)_n.c
-diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
-index c8f38be5835..4fab7cec3ea 100644
---- a/libatomic/Makefile.in
-+++ b/libatomic/Makefile.in
-@@ -335,7 +335,8 @@ PAT_N = $(word 2,$(PAT_SPLIT))
- PAT_S = $(word 3,$(PAT_SPLIT))
- IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
- IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
--M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_FALSE@M_DEPS =
- M_SIZE = -DN=$(PAT_N)
- M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
- M_FILE = $(PAT_BASE)_n.c
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch
deleted file mode 100644
index fe3f3436f..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0023-Don-t-search-host-directory-during-relink-if-inst_pr.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 0409d2dd7322ecbed731cbe29b034fea43c5dddc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 3 Mar 2015 08:21:19 +0000
-Subject: [PATCH 23/40] Don't search host directory during "relink" if
- $inst_prefix is provided
-
-http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html
-
-Upstream-Status: Submitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltmain.sh | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 52bdbdb5f9c..82bcec39f05 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -6004,12 +6004,13 @@ func_mode_link ()
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
-+ # Default if $libdir is not relative to the prefix:
- add_dir="-L$libdir"
-- # Try looking first in the location we're being installed to.
-+
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
-- add_dir="$add_dir -L$inst_prefix_dir$libdir"
-+ add_dir="-L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
deleted file mode 100644
index c388a0ad0..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0024-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 56e2e1fc2a27c4a5cc9b471d5d0af90bcb871bfa Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Apr 2015 23:15:27 -0700
-Subject: [PATCH 24/40] Use SYSTEMLIBS_DIR replacement instead of hardcoding base_libdir
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/aarch64/aarch64-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
-index bf1327e98cc..64436183bc8 100644
---- a/gcc/config/aarch64/aarch64-linux.h
-+++ b/gcc/config/aarch64/aarch64-linux.h
-@@ -21,7 +21,7 @@
- #ifndef GCC_AARCH64_LINUX_H
- #define GCC_AARCH64_LINUX_H
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef MUSL_DYNAMIC_LINKER
- #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch
deleted file mode 100644
index 03f9725b8..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0025-aarch64-Add-support-for-musl-ldso.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b142e77e44e1acece6da54ccdc24c4da89cf4b99 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Apr 2015 23:18:39 -0700
-Subject: [PATCH 25/40] aarch64: Add support for musl ldso
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/aarch64/aarch64-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
-index 64436183bc8..ba156676026 100644
---- a/gcc/config/aarch64/aarch64-linux.h
-+++ b/gcc/config/aarch64/aarch64-linux.h
-@@ -24,7 +24,7 @@
- #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef MUSL_DYNAMIC_LINKER
--#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef ASAN_CC1_SPEC
- #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch
deleted file mode 100644
index 859173896..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0026-libcc1-fix-libcc1-s-install-path-and-rpath.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 3d4e53fc7cd71ce1181af8a5e9655398857af741 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Sun, 5 Jul 2015 20:25:18 -0700
-Subject: [PATCH 26/40] libcc1: fix libcc1's install path and rpath
-
-* Install libcc1.so and libcc1plugin.so into
- $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
- had done to lto-plugin.
-* Fix bad RPATH iussue:
- gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file
- /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0
- [rpaths]
-
-Upstream-Status: Inappropriate [OE configuration]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- libcc1/Makefile.am | 4 ++--
- libcc1/Makefile.in | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
-index 6ecb66b4365..634cce3c2a9 100644
---- a/libcc1/Makefile.am
-+++ b/libcc1/Makefile.am
-@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
- $(Wc)$(libiberty_normal)))
- libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
-
--plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
--cc1libdir = $(libdir)/$(libsuffix)
-+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
-+plugindir = $(cc1libdir)
-
- if ENABLE_PLUGIN
- plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
-diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
-index 47be10025ad..8d5481d87bd 100644
---- a/libcc1/Makefile.in
-+++ b/libcc1/Makefile.in
-@@ -303,8 +303,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
- $(Wc)$(libiberty_normal)))
-
- libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
--plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
--cc1libdir = $(libdir)/$(libsuffix)
-+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
-+plugindir = $(cc1libdir)
- @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
- @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
- shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch
deleted file mode 100644
index 4b955de8a..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0027-handle-sysroot-support-for-nativesdk-gcc.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-From c033c1df11b692213d03db91d6cc145b4adedfac Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:39:54 +0000
-Subject: [PATCH 27/40] handle sysroot support for nativesdk-gcc
-
-Being able to build a nativesdk gcc is useful, particularly in cases
-where the host compiler may be of an incompatible version (or a 32
-bit compiler is needed).
-
-Sadly, building nativesdk-gcc is not straight forward. We install
-nativesdk-gcc into a relocatable location and this means that its
-library locations can change. "Normal" sysroot support doesn't help
-in this case since the values of paths like "libdir" change, not just
-base root directory of the system.
-
-In order to handle this we do two things:
-
-a) Add %r into spec file markup which can be used for injected paths
- such as SYSTEMLIBS_DIR (see gcc_multilib_setup()).
-b) Add other paths which need relocation into a .gccrelocprefix section
- which the relocation code will notice and adjust automatically.
-
-Upstream-Status: Inappropriate
-RP 2015/7/28
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++-------------
- gcc/cppdefault.h | 3 ++-
- gcc/gcc.c | 20 +++++++++++++------
- 3 files changed, 53 insertions(+), 20 deletions(-)
-
-diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
-index e2e187dedaf..2faba2b1d63 100644
---- a/gcc/cppdefault.c
-+++ b/gcc/cppdefault.c
-@@ -35,6 +35,30 @@
- # undef CROSS_INCLUDE_DIR
- #endif
-
-+static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR;
-+static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR;
-+static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR;
-+static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
-+static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET;
-+#ifdef LOCAL_INCLUDE_DIR
-+static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR;
-+#endif
-+#ifdef PREFIX_INCLUDE_DIR
-+static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR;
-+#endif
-+#ifdef FIXED_INCLUDE_DIR
-+static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR;
-+#endif
-+#ifdef CROSS_INCLUDE_DIR
-+static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR;
-+#endif
-+#ifdef TOOL_INCLUDE_DIR
-+static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR;
-+#endif
-+#ifdef NATIVE_SYSTEM_HEADER_DIR
-+static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR;
-+#endif
-+
- const struct default_include cpp_include_defaults[]
- #ifdef INCLUDE_DEFAULTS
- = INCLUDE_DEFAULTS;
-@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[]
- = {
- #ifdef GPLUSPLUS_INCLUDE_DIR
- /* Pick up GNU C++ generic include files. */
-- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
- #endif
- #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
- /* Pick up GNU C++ target-dependent include files. */
-- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 },
- #endif
- #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
- /* Pick up GNU C++ backward and deprecated include files. */
-- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
- #endif
- #ifdef GCC_INCLUDE_DIR
- /* This is the dir for gcc's private headers. */
-- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
-+ { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
- #endif
- #ifdef GCC_INCLUDE_SUBDIR_TARGET
- /* This is the dir for gcc's private headers under the specified sysroot. */
-- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
-+ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 },
- #endif
- #ifdef LOCAL_INCLUDE_DIR
- /* /usr/local/include comes before the fixincluded header files. */
-- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
-- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
-+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 },
-+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 },
- #endif
- #ifdef PREFIX_INCLUDE_DIR
-- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 },
-+ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 },
- #endif
- #ifdef FIXED_INCLUDE_DIR
- /* This is the dir for fixincludes. */
-- { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0,
-+ { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0,
- /* A multilib suffix needs adding if different multilibs use
- different headers. */
- #ifdef SYSROOT_HEADERS_SUFFIX_SPEC
-@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[]
- #endif
- #ifdef CROSS_INCLUDE_DIR
- /* One place the target system's headers might be. */
-- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
-+ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
- #endif
- #ifdef TOOL_INCLUDE_DIR
- /* Another place the target system's headers might be. */
-- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 },
-+ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 },
- #endif
- #ifdef NATIVE_SYSTEM_HEADER_DIR
- /* /usr/include comes dead last. */
-- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
-- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
-+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
-+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
- #endif
- { 0, 0, 0, 0, 0, 0 }
- };
-diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
-index 4a0186d1cf2..29e5d9da0dc 100644
---- a/gcc/cppdefault.h
-+++ b/gcc/cppdefault.h
-@@ -33,7 +33,8 @@
-
- struct default_include
- {
-- const char *const fname; /* The name of the directory. */
-+ const char *fname; /* The name of the directory. */
-+
- const char *const component; /* The component containing the directory
- (see update_path in prefix.c) */
- const char cplusplus; /* Only look here if we're compiling C++. */
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 3fb64d453f1..cd0c7fbe961 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -248,6 +248,8 @@ FILE *report_times_to_file = NULL;
- #endif
- static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
-
-+static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR;
-+
- /* Nonzero means pass the updated target_system_root to the compiler. */
-
- static int target_system_root_changed;
-@@ -519,6 +521,7 @@ or with constant text in a single argument.
- %G process LIBGCC_SPEC as a spec.
- %R Output the concatenation of target_system_root and
- target_sysroot_suffix.
-+ %r Output the base path target_relocatable_prefix
- %S process STARTFILE_SPEC as a spec. A capital S is actually used here.
- %E process ENDFILE_SPEC as a spec. A capital E is actually used here.
- %C process CPP_SPEC as a spec.
-@@ -1487,10 +1490,10 @@ static const char *gcc_libexec_prefix;
- gcc_exec_prefix is set because, in that case, we know where the
- compiler has been installed, and use paths relative to that
- location instead. */
--static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
--static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX;
--static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX;
--static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
-+static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX;
-+static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX;
-+static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX;
-+static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
-
- /* For native compilers, these are well-known paths containing
- components that may be provided by the system. For cross
-@@ -1498,9 +1501,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
- static const char *md_exec_prefix = MD_EXEC_PREFIX;
- static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
- static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
--static const char *const standard_startfile_prefix_1
-+static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix")))
- = STANDARD_STARTFILE_PREFIX_1;
--static const char *const standard_startfile_prefix_2
-+static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix")))
- = STANDARD_STARTFILE_PREFIX_2;
-
- /* A relative path to be used in finding the location of tools
-@@ -5849,6 +5852,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
- }
- break;
-
-+ case 'r':
-+ obstack_grow (&obstack, target_relocatable_prefix,
-+ strlen (target_relocatable_prefix));
-+ break;
-+
- case 'S':
- value = do_spec_1 (startfile_spec, 0, NULL);
- if (value != 0)
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch
deleted file mode 100644
index 1b25d7808..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0028-Search-target-sysroot-gcc-version-specific-dirs-with.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 62240d4c725ea0b43abfb901ddad90e83e29a25c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:41:45 +0000
-Subject: [PATCH 28/40] Search target sysroot gcc version specific dirs with
- multilib.
-
-We install the gcc libraries (such as crtbegin.p) into
-<sysroot><libdir>/<target-sys>/5.2.0/
-which is a default search path for GCC (aka multi_suffix in the
-code below). <target-sys> is 'machine' in gcc's terminology. We use
-these directories so that multiple gcc versions could in theory
-co-exist on target.
-
-We only want to build one gcc-cross-canadian per arch and have this work
-for all multilibs. <target-sys> can be handled by mapping the multilib
-<target-sys> to the one used by gcc-cross-canadian, e.g.
-mips64-polkmllib32-linux
-is symlinked to by mips64-poky-linux.
-
-The default gcc search path in the target sysroot for a "lib64" mutlilib
-is:
-
-<sysroot>/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/../lib64/
-<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/../lib64/
-<sysroot>/lib32/
-<sysroot>/usr/lib32/
-
-which means that the lib32 crtbegin.o will be found and the lib64 ones
-will not which leads to compiler failures.
-
-This patch injects a multilib version of that path first so the lib64
-binaries can be found first. With this change the search path becomes:
-
-<sysroot>/lib32/../lib64/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/../lib64/
-<sysroot>/usr/lib32/../lib64/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/../lib64/
-<sysroot>/lib32/
-<sysroot>/usr/lib32/
-
-Upstream-Status: Pending
-RP 2015/7/31
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/gcc.c | 29 ++++++++++++++++++++++++++++-
- 1 file changed, 28 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index cd0c7fbe961..f6f3aa077c8 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -2527,7 +2527,7 @@ for_each_path (const struct path_prefix *paths,
- if (path == NULL)
- {
- len = paths->max_len + extra_space + 1;
-- len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len);
-+ len += MAX ((suffix_len + multi_os_dir_len), multiarch_len);
- path = XNEWVEC (char, len);
- }
-
-@@ -2539,6 +2539,33 @@ for_each_path (const struct path_prefix *paths,
- /* Look first in MACHINE/VERSION subdirectory. */
- if (!skip_multi_dir)
- {
-+ if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir))
-+ {
-+ const char *this_multi;
-+ size_t this_multi_len;
-+
-+ if (pl->os_multilib)
-+ {
-+ this_multi = multi_os_dir;
-+ this_multi_len = multi_os_dir_len;
-+ }
-+ else
-+ {
-+ this_multi = multi_dir;
-+ this_multi_len = multi_dir_len;
-+ }
-+
-+ /* Look in multilib MACHINE/VERSION subdirectory first */
-+ if (this_multi_len)
-+ {
-+ memcpy (path + len, this_multi, this_multi_len + 1);
-+ memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1);
-+ ret = callback (path, callback_info);
-+ if (ret)
-+ break;
-+ }
-+ }
-+
- memcpy (path + len, multi_suffix, suffix_len + 1);
- ret = callback (path, callback_info);
- if (ret)
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch
deleted file mode 100644
index 0c8bdb17d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0029-Fix-various-_FOR_BUILD-and-related-variables.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 1377c738e31a1e1599cfab189485a9459f803e79 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:42:45 +0000
-Subject: [PATCH 29/40] Fix various _FOR_BUILD and related variables
-
-When doing a FOR_BUILD thing, you have to override CFLAGS with
-CFLAGS_FOR_BUILD. And if you use C++, you also have to override
-CXXFLAGS with CXXFLAGS_FOR_BUILD.
-Without this, when building for mingw, you end up trying to use
-the mingw headers for a host build.
-
-The same goes for other variables as well, such as CPPFLAGS,
-CPP, and GMPINC.
-
-Upstream-Status: Pending
-
-Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.in | 6 ++++++
- Makefile.tpl | 5 +++++
- gcc/Makefile.in | 2 +-
- gcc/configure | 2 +-
- gcc/configure.ac | 2 +-
- 5 files changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index b426d4f9350..a2af9905cce 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
- CPP="$(CC_FOR_BUILD) -E"; export CPP; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
-@@ -169,6 +170,9 @@ BUILD_EXPORTS = \
- # built for the build system to override those in BASE_FLAGS_TO_PASS.
- EXTRA_BUILD_FLAGS = \
- CFLAGS="$(CFLAGS_FOR_BUILD)" \
-+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
-+ CPP="$(CC_FOR_BUILD) -E" \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
- LDFLAGS="$(LDFLAGS_FOR_BUILD)"
-
- # This is the list of directories to built for the host system.
-@@ -186,6 +190,7 @@ HOST_SUBDIR = @host_subdir@
- HOST_EXPORTS = \
- $(BASE_EXPORTS) \
- CC="$(CC)"; export CC; \
-+ CPP="$(CC) -E"; export CPP; \
- ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-@@ -743,6 +748,7 @@ BASE_FLAGS_TO_PASS = \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
-+ "CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \
- "EXPECT=$(EXPECT)" \
- "FLEX=$(FLEX)" \
- "INSTALL=$(INSTALL)" \
-diff --git a/Makefile.tpl b/Makefile.tpl
-index 1f23b79b4b2..6c5652e811d 100644
---- a/Makefile.tpl
-+++ b/Makefile.tpl
-@@ -154,6 +154,7 @@ BUILD_EXPORTS = \
- CC="$(CC_FOR_BUILD)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
-@@ -171,6 +172,9 @@ BUILD_EXPORTS = \
- # built for the build system to override those in BASE_FLAGS_TO_PASS.
- EXTRA_BUILD_FLAGS = \
- CFLAGS="$(CFLAGS_FOR_BUILD)" \
-+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
-+ CPP="$(CC_FOR_BUILD) -E" \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
- LDFLAGS="$(LDFLAGS_FOR_BUILD)"
-
- # This is the list of directories to built for the host system.
-@@ -188,6 +192,7 @@ HOST_SUBDIR = @host_subdir@
- HOST_EXPORTS = \
- $(BASE_EXPORTS) \
- CC="$(CC)"; export CC; \
-+ CPP="$(CC) -E"; export CPP; \
- ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 5ae693fb06c..02ee0aa72f4 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -801,7 +801,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@
- BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
- BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
- BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
-- -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
-+ -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD)
-
- # Actual name to use when installing a native compiler.
- GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
-diff --git a/gcc/configure b/gcc/configure
-index 3d9dcbdc93d..aa127a4f6a4 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -11797,7 +11797,7 @@ else
- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
- CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
- LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
-- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
-+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
- ${realsrcdir}/configure \
- --enable-languages=${enable_languages-all} \
- --target=$target_alias --host=$build_alias --build=$build_alias
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index e09c840b605..18bf53c7e0a 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1708,7 +1708,7 @@ else
- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
- CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
- LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
-- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
-+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
- ${realsrcdir}/configure \
- --enable-languages=${enable_languages-all} \
- --target=$target_alias --host=$build_alias --build=$build_alias
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch
deleted file mode 100644
index 04e126c5c..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0030-nios2-Define-MUSL_DYNAMIC_LINKER.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 75da3cc9ca2d3de8c2062f23bf4f72415741ef83 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 2 Feb 2016 10:26:10 -0800
-Subject: [PATCH 30/40] nios2: Define MUSL_DYNAMIC_LINKER
-
-Upstream-Status: Pending
-
-Signed-off-by: Marek Vasut <marex@denx.de>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/nios2/linux.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
-index 4729105626d..36181eb7b85 100644
---- a/gcc/config/nios2/linux.h
-+++ b/gcc/config/nios2/linux.h
-@@ -30,6 +30,7 @@
- #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1"
-
- #undef LINK_SPEC
- #define LINK_SPEC LINK_SPEC_ENDIAN \
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
deleted file mode 100644
index 002cf2bec..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0031-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From f715aeef294b85fa593ef69e6d0114cc7b15312b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Jun 2017 18:10:54 -0700
-Subject: [PATCH 31/40] Add ssp_nonshared to link commandline for musl targets
-
-when -fstack-protector options are enabled we need to
-link with ssp_shared on musl since it does not provide
-the __stack_chk_fail_local() so essentially it provides
-libssp but not libssp_nonshared something like
-TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED
- where-as for glibc the needed symbols
-are already present in libc_nonshared library therefore
-we do not need any library helper on glibc based systems
-but musl needs the libssp_noshared from gcc
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/linux.h | 7 +++++++
- gcc/config/rs6000/linux.h | 10 ++++++++++
- gcc/config/rs6000/linux64.h | 10 ++++++++++
- 3 files changed, 27 insertions(+)
-
-diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index 487b0c0923b..4769d089538 100644
---- a/gcc/config/linux.h
-+++ b/gcc/config/linux.h
-@@ -182,6 +182,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
- { 0, 0, 0, 0, 0, 0 } \
- }
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+
- #endif
-
- #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
-diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
-index 01b40c762f6..e7c5e92215c 100644
---- a/gcc/config/rs6000/linux.h
-+++ b/gcc/config/rs6000/linux.h
-@@ -92,6 +92,16 @@
- " -m elf32ppclinux")
- #endif
-
-+/* link libssp_nonshared.a with musl */
-+#if DEFAULT_LIBC == LIBC_MUSL
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+#endif
-+
- #undef LINK_OS_LINUX_SPEC
- #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
- %{!static-pie: \
-diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index 54aa8d957e7..619e113e2b8 100644
---- a/gcc/config/rs6000/linux64.h
-+++ b/gcc/config/rs6000/linux64.h
-@@ -466,6 +466,16 @@ extern int dot_symbols;
- " -m elf64ppc")
- #endif
-
-+/* link libssp_nonshared.a with musl */
-+#if DEFAULT_LIBC == LIBC_MUSL
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+#endif
-+
- #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
- %{!static-pie: \
- %{rdynamic:-export-dynamic} \
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
deleted file mode 100644
index 025caba31..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0032-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 6dfbca78b8d253aecf9cbb5e68e04b8dd3d6a543 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Apr 2016 20:03:28 +0000
-Subject: [PATCH 32/40] libgcc: Add knob to use ldbl-128 on ppc
-
-musl does not support ldbl 128 so we can not assume
-that linux as a whole supports ldbl-128 bits, instead
-act upon configure option passed to gcc and assume no
-on musl and yes otherwise if no option is passed since
-default behaviour is to assume ldbl128 it does not
-change the defaults
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libgcc/Makefile.in | 1 +
- libgcc/config/rs6000/t-linux | 5 ++++-
- libgcc/configure | 18 ++++++++++++++++++
- libgcc/configure.ac | 12 ++++++++++++
- 4 files changed, 35 insertions(+), 1 deletion(-)
- mode change 100644 => 100755 libgcc/configure
-
-diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
-index dd8cee99fd3..b5f478af382 100644
---- a/libgcc/Makefile.in
-+++ b/libgcc/Makefile.in
-@@ -48,6 +48,7 @@ unwind_header = @unwind_header@
- md_unwind_header = @md_unwind_header@
- sfp_machine_header = @sfp_machine_header@
- thread_header = @thread_header@
-+with_ldbl128 = @with_ldbl128@
-
- host_noncanonical = @host_noncanonical@
- real_host_noncanonical = @real_host_noncanonical@
-diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux
-index 4f6d4c4a4d2..c50dd94a2da 100644
---- a/libgcc/config/rs6000/t-linux
-+++ b/libgcc/config/rs6000/t-linux
-@@ -1,3 +1,6 @@
- SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
-
--HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc
-+ifeq ($(with_ldbl128),yes)
-+HOST_LIBGCC2_CFLAGS += -mlong-double-128
-+endif
-+HOST_LIBGCC2_CFLAGS += -mno-minimal-toc
-diff --git a/libgcc/configure b/libgcc/configure
-old mode 100644
-new mode 100755
-index b2f3f870844..ed806587c17
---- a/libgcc/configure
-+++ b/libgcc/configure
-@@ -619,6 +619,7 @@ build_vendor
- build_cpu
- build
- with_aix_soname
-+with_ldbl128
- enable_vtable_verify
- enable_shared
- libgcc_topdir
-@@ -668,6 +669,7 @@ with_cross_host
- with_ld
- enable_shared
- enable_vtable_verify
-+with_long_double_128
- with_aix_soname
- enable_version_specific_runtime_libs
- with_slibdir
-@@ -1329,6 +1331,7 @@ Optional Packages:
- --with-target-subdir=SUBDIR Configuring in a subdirectory for target
- --with-cross-host=HOST Configuring with a cross compiler
- --with-ld arrange to use the specified ld (full pathname)
-+ --with-long-double-128 use 128-bit long double by default
- --with-aix-soname=aix|svr4|both
- shared library versioning (aka "SONAME") variant to
- provide on AIX
-@@ -2213,6 +2216,21 @@ fi
-
-
-
-+# Check whether --with-long-double-128 was given.
-+if test "${with_long_double_128+set}" = set; then :
-+ withval=$with_long_double_128; with_ldbl128="$with_long_double_128"
-+else
-+ case "${host}" in
-+ power*-*-musl*)
-+ with_ldbl128="no";;
-+ *) with_ldbl128="yes";;
-+ esac
-+
-+fi
-+
-+
-+
-+
- # Check whether --with-aix-soname was given.
- if test "${with_aix_soname+set}" = set; then :
- withval=$with_aix_soname; case "${host}:${enable_shared}" in
-diff --git a/libgcc/configure.ac b/libgcc/configure.ac
-index b59aa746afc..42220a263c5 100644
---- a/libgcc/configure.ac
-+++ b/libgcc/configure.ac
-@@ -78,6 +78,18 @@ AC_ARG_ENABLE(vtable-verify,
- [enable_vtable_verify=no])
- AC_SUBST(enable_vtable_verify)
-
-+AC_ARG_WITH(long-double-128,
-+[AS_HELP_STRING([--with-long-double-128],
-+ [use 128-bit long double by default])],
-+ with_ldbl128="$with_long_double_128",
-+[case "${host}" in
-+ power*-*-musl*)
-+ with_ldbl128="no";;
-+ *) with_ldbl128="yes";;
-+ esac
-+])
-+AC_SUBST(with_ldbl128)
-+
- AC_ARG_WITH(aix-soname,
- [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
- [shared library versioning (aka "SONAME") variant to provide on AIX])],
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
deleted file mode 100644
index 343f7aad1..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0033-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 7e55147e8e609ace6f9eecd86a956636687671f0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 4 May 2016 21:11:34 -0700
-Subject: [PATCH 33/40] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
-
-Upstream-Status: Pending
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libgcc/config/t-slibgcc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
-index 7e60b621a2d..ea22ede3361 100644
---- a/libgcc/config/t-slibgcc
-+++ b/libgcc/config/t-slibgcc
-@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
- $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
-
- SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-- $(SHLIB_LDFLAGS) \
-+ $(LDFLAGS) $(SHLIB_LDFLAGS) \
- -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
- $(SHLIB_OBJS) $(SHLIB_LC) && \
- rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
deleted file mode 100644
index 92224cc56..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0034-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 46ca51dd413330bb8425b06283e7667bfb507c3d Mon Sep 17 00:00:00 2001
-From: Szabolcs Nagy <nsz@port70.net>
-Date: Sat, 24 Oct 2015 20:09:53 +0000
-Subject: [PATCH 34/40] libgcc_s: Use alias for __cpu_indicator_init instead of symver
-
-Adapter from
-
-https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html
-
-This fix was debated but hasnt been applied gcc upstream since
-they expect musl to support '@' in symbol versioning which is
-a sun/gnu versioning extention. This patch however avoids the
-need for the '@' symbols at all
-
-libgcc/Changelog:
-
-2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add.
- (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove.
-
- * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER.
-
-gcc/Changelog:
-
-2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init
- call __cpu_indicator_init_local instead of __cpu_indicator_init.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/i386/i386.c | 4 ++--
- libgcc/config/i386/cpuinfo.c | 6 +++---
- libgcc/config/i386/t-linux | 2 +-
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
-index a88a29b51e6..6f3f5187970 100644
---- a/gcc/config/i386/i386.c
-+++ b/gcc/config/i386/i386.c
-@@ -36555,10 +36555,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
- {
- case IX86_BUILTIN_CPU_INIT:
- {
-- /* Make it call __cpu_indicator_init in libgcc. */
-+ /* Make it call __cpu_indicator_init_local in libgcc.a. */
- tree call_expr, fndecl, type;
- type = build_function_type_list (integer_type_node, NULL_TREE);
-- fndecl = build_fn_decl ("__cpu_indicator_init", type);
-+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
- call_expr = build_call_expr (fndecl, 0);
- return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
- }
-diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
-index d1853d5515b..864150c9249 100644
---- a/libgcc/config/i386/cpuinfo.c
-+++ b/libgcc/config/i386/cpuinfo.c
-@@ -485,7 +485,7 @@ __cpu_indicator_init (void)
- return 0;
- }
-
--#if defined SHARED && defined USE_ELF_SYMVER
--__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
--__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
-+#ifndef SHARED
-+int __cpu_indicator_init_local (void)
-+ __attribute__ ((weak, alias ("__cpu_indicator_init")));
- #endif
-diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
-index 8506a635790..564296f788e 100644
---- a/libgcc/config/i386/t-linux
-+++ b/libgcc/config/i386/t-linux
-@@ -3,5 +3,5 @@
- # t-slibgcc-elf-ver and t-linux
- SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
-
--HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
-+HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
- CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch
deleted file mode 100644
index 6ecd6e972..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0035-sync-gcc-stddef.h-with-musl.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 38d401fb6ab555d09f4a9a677721dde0743876e1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 3 Feb 2017 12:56:00 -0800
-Subject: [PATCH 35/40] sync gcc stddef.h with musl
-
-musl defines ptrdiff_t size_t and wchar_t
-so dont define them here if musl is definining them
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/ginclude/stddef.h | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
-index 31b96a7e5e1..438a3ce7c56 100644
---- a/gcc/ginclude/stddef.h
-+++ b/gcc/ginclude/stddef.h
-@@ -134,6 +134,7 @@ _TYPE_wchar_t;
- #ifndef ___int_ptrdiff_t_h
- #ifndef _GCC_PTRDIFF_T
- #ifndef _PTRDIFF_T_DECLARED /* DragonFly */
-+#ifndef __DEFINED_ptrdiff_t /* musl */
- #define _PTRDIFF_T
- #define _T_PTRDIFF_
- #define _T_PTRDIFF
-@@ -143,10 +144,12 @@ _TYPE_wchar_t;
- #define ___int_ptrdiff_t_h
- #define _GCC_PTRDIFF_T
- #define _PTRDIFF_T_DECLARED
-+#define __DEFINED_ptrdiff_t /* musl */
- #ifndef __PTRDIFF_TYPE__
- #define __PTRDIFF_TYPE__ long int
- #endif
- typedef __PTRDIFF_TYPE__ ptrdiff_t;
-+#endif /* __DEFINED_ptrdiff_t */
- #endif /* _PTRDIFF_T_DECLARED */
- #endif /* _GCC_PTRDIFF_T */
- #endif /* ___int_ptrdiff_t_h */
-@@ -184,6 +187,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #ifndef _GCC_SIZE_T
- #ifndef _SIZET_
- #ifndef __size_t
-+#ifndef __DEFINED_size_t /* musl */
- #define __size_t__ /* BeOS */
- #define __SIZE_T__ /* Cray Unicos/Mk */
- #define _SIZE_T
-@@ -200,6 +204,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #define ___int_size_t_h
- #define _GCC_SIZE_T
- #define _SIZET_
-+#define __DEFINED_size_t /* musl */
- #if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
- || defined(__DragonFly__) \
- || defined(__FreeBSD_kernel__)
-@@ -235,6 +240,7 @@ typedef long ssize_t;
- #endif /* _SIZE_T */
- #endif /* __SIZE_T__ */
- #endif /* __size_t__ */
-+#endif /* __DEFINED_size_t */
- #undef __need_size_t
- #endif /* _STDDEF_H or __need_size_t. */
-
-@@ -264,6 +270,7 @@ typedef long ssize_t;
- #ifndef ___int_wchar_t_h
- #ifndef __INT_WCHAR_T_H
- #ifndef _GCC_WCHAR_T
-+#ifndef __DEFINED_wchar_t /* musl */
- #define __wchar_t__ /* BeOS */
- #define __WCHAR_T__ /* Cray Unicos/Mk */
- #define _WCHAR_T
-@@ -279,6 +286,7 @@ typedef long ssize_t;
- #define __INT_WCHAR_T_H
- #define _GCC_WCHAR_T
- #define _WCHAR_T_DECLARED
-+#define __DEFINED_wchar_t /* musl */
-
- /* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
- instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
-@@ -344,6 +352,7 @@ typedef __WCHAR_TYPE__ wchar_t;
- #endif
- #endif /* __WCHAR_T__ */
- #endif /* __wchar_t__ */
-+#endif /* __DEFINED_wchar_t musl */
- #undef __need_wchar_t
- #endif /* _STDDEF_H or __need_wchar_t. */
-
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch
deleted file mode 100644
index c4ce5db55..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0036-fix-segmentation-fault-in-precompiled-header-generat.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From a9bb29a4e9b478f9b126e483467ce9031c33fe4f Mon Sep 17 00:00:00 2001
-From: Juro Bystricky <juro.bystricky@intel.com>
-Date: Mon, 19 Mar 2018 22:31:20 -0700
-Subject: [PATCH 36/40] fix segmentation fault in precompiled header generation
-
-Prevent a segmentation fault which occurs when using incorrect
-structure trying to access name of some named operators, such as
-CPP_NOT, CPP_AND etc. "token->val.node.spelling" cannot be used in
-those cases, as is may not be initialized at all.
-
-[YOCTO #11738]
-
-Upstream-Status: Pending
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libcpp/lex.c | 26 +++++++++++++++++++++-----
- 1 file changed, 21 insertions(+), 5 deletions(-)
-
-diff --git a/libcpp/lex.c b/libcpp/lex.c
-index 37c365a3560..63480048db6 100644
---- a/libcpp/lex.c
-+++ b/libcpp/lex.c
-@@ -3279,11 +3279,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token,
- spell_ident:
- case SPELL_IDENT:
- if (forstring)
-- {
-- memcpy (buffer, NODE_NAME (token->val.node.spelling),
-- NODE_LEN (token->val.node.spelling));
-- buffer += NODE_LEN (token->val.node.spelling);
-- }
-+ {
-+ if (token->type == CPP_NAME)
-+ {
-+ memcpy (buffer, NODE_NAME (token->val.node.spelling),
-+ NODE_LEN (token->val.node.spelling));
-+ buffer += NODE_LEN (token->val.node.spelling);
-+ break;
-+ }
-+ /* NAMED_OP, cannot use node.spelling */
-+ if (token->flags & NAMED_OP)
-+ {
-+ const char *str = cpp_named_operator2name (token->type);
-+ if (str)
-+ {
-+ size_t len = strlen(str);
-+ memcpy(buffer, str, len);
-+ buffer += len;
-+ }
-+ break;
-+ }
-+ }
- else
- buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node);
- break;
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch
deleted file mode 100644
index 70999dd45..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0037-Fix-for-testsuite-failure.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 1e5c1ef34d92b4157e1a24ca743d45f3a7375a5e Mon Sep 17 00:00:00 2001
-From: RAGHUNATH LOLUR <raghunath.lolur@kpit.com>
-Date: Wed, 6 Dec 2017 22:52:26 -0800
-Subject: [PATCH 37/40] Fix for testsuite failure
-
-2017-11-16 Raghunath Lolur <raghunath.lolur@kpit.com>
-
- * gcc.dg/pr56275.c: If SSE is disabled, ensure that
- "-mfpmath" is not set to use SSE. Set "-mfpmath=387".
- * gcc.dg/pr68306.c: Likewise
- * gcc.dg/pr68306-2.c: Likewise
- * gcc.dg/pr68306-3.c: Likewise
- * gcc.dg/pr69634.c: Likewise
- * gcc.target/i386/amd64-abi-1.c: Likewise
- * gcc.target/i386/funcspec-6.c: Likewise
- * gcc.target/i386/interrupt-387-err-1.c: Likewise
- * gcc.target/i386/isa-14.c: Likewise
- * gcc.target/i386/pr44948-2b.c: Likewise
- * gcc.target/i386/pr53425-1.c: Likewise
- * gcc.target/i386/pr53425-2.c: Likewise
- * gcc.target/i386/pr55247.c: Likewise
- * gcc.target/i386/pr59644.c: Likewise
- * gcc.target/i386/pr62120.c: Likewise
- * gcc.target/i386/pr70467-1.c: Likewise
- * gcc.target/i386/warn-vect-op-1.c: Likewise
-
-If -Wall, -Werror are used during compilation various test cases fail
-to compile.
-
-If SSE is disabled, be sure to -mfpmath=387 to resolve this.
-
-This patch removes the changes to Changelog from the original patch.
-This will help us avoid conflicts.
-
-Upstream-Status: Pending
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
----
- gcc/testsuite/gcc.dg/pr56275.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306-2.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306-3.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306.c | 2 +-
- gcc/testsuite/gcc.dg/pr69634.c | 2 +-
- gcc/testsuite/gcc.target/i386/amd64-abi-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/funcspec-6.c | 1 +
- gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/isa-14.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr44948-2b.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr53425-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr53425-2.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr55247.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr59644.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr62120.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr70467-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/warn-vect-op-1.c | 2 +-
- 17 files changed, 17 insertions(+), 16 deletions(-)
-
-diff --git a/gcc/testsuite/gcc.dg/pr56275.c b/gcc/testsuite/gcc.dg/pr56275.c
-index b901bb2b199..a4f6c95e1a1 100644
---- a/gcc/testsuite/gcc.dg/pr56275.c
-+++ b/gcc/testsuite/gcc.dg/pr56275.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O2" } */
--/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
-+/* { dg-additional-options "-mno-sse -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */
-
- typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long))));
-
-diff --git a/gcc/testsuite/gcc.dg/pr68306-2.c b/gcc/testsuite/gcc.dg/pr68306-2.c
-index 4672ebe7987..2a368c484b6 100644
---- a/gcc/testsuite/gcc.dg/pr68306-2.c
-+++ b/gcc/testsuite/gcc.dg/pr68306-2.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
-
- struct {
- int tz_minuteswest;
-diff --git a/gcc/testsuite/gcc.dg/pr68306-3.c b/gcc/testsuite/gcc.dg/pr68306-3.c
-index f5a8c102cf8..df3390c64c2 100644
---- a/gcc/testsuite/gcc.dg/pr68306-3.c
-+++ b/gcc/testsuite/gcc.dg/pr68306-3.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
- /* { dg-additional-options "-mno-altivec -mno-vsx" { target powerpc*-*-* } } */
-
- extern void fn2();
-diff --git a/gcc/testsuite/gcc.dg/pr68306.c b/gcc/testsuite/gcc.dg/pr68306.c
-index 54e5b40f221..0813389e2c1 100644
---- a/gcc/testsuite/gcc.dg/pr68306.c
-+++ b/gcc/testsuite/gcc.dg/pr68306.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
-
- enum powerpc_pmc_type { PPC_PMC_IBM };
- struct {
-diff --git a/gcc/testsuite/gcc.dg/pr69634.c b/gcc/testsuite/gcc.dg/pr69634.c
-index 60a56149463..bcc23f9ccd6 100644
---- a/gcc/testsuite/gcc.dg/pr69634.c
-+++ b/gcc/testsuite/gcc.dg/pr69634.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O2 -fno-dce -fschedule-insns -fno-tree-vrp -fcompare-debug -Wno-psabi" } */
--/* { dg-additional-options "-mno-sse" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
- /* { dg-require-effective-target scheduling } */
-
- typedef unsigned short u16;
-diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-index 69fde57bf06..7f1f1c03edf 100644
---- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-mno-sse" } */
-+/* { dg-options "-mno-sse -mfpmath=387" } */
- /* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */
-
- double foo(void) { return 0; } /* { dg-error "SSE disabled" } */
-diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c
-index ea896b7ebfd..bf15569b826 100644
---- a/gcc/testsuite/gcc.target/i386/funcspec-6.c
-+++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c
-@@ -1,6 +1,7 @@
- /* Test whether all of the 64-bit function specific options are accepted
- without error. */
- /* { dg-do compile { target { ! ia32 } } } */
-+/* { dg-additional-options "-mfpmath=387" } */
-
- #include "funcspec-56.inc"
-
-diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-index 3fbdc881dda..6b4d9d1252a 100644
---- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-+++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387" } */
-+/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387 -mfpmath=387" } */
-
- typedef unsigned int uword_t __attribute__ ((mode (__word__)));
-
-diff --git a/gcc/testsuite/gcc.target/i386/isa-14.c b/gcc/testsuite/gcc.target/i386/isa-14.c
-index 5d49e6e77fe..1de2db92bdd 100644
---- a/gcc/testsuite/gcc.target/i386/isa-14.c
-+++ b/gcc/testsuite/gcc.target/i386/isa-14.c
-@@ -1,5 +1,5 @@
- /* { dg-do run } */
--/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse" } */
-+/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse -mfpmath=387" } */
-
- extern void abort (void);
-
-diff --git a/gcc/testsuite/gcc.target/i386/pr44948-2b.c b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-index fa1769b62fb..f79fb12726f 100644
---- a/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-+++ b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic" } */
-+/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic -mfpmath=387" } */
-
- struct A
- {
-diff --git a/gcc/testsuite/gcc.target/i386/pr53425-1.c b/gcc/testsuite/gcc.target/i386/pr53425-1.c
-index 2e89ff7d81d..6339bf6b736 100644
---- a/gcc/testsuite/gcc.target/i386/pr53425-1.c
-+++ b/gcc/testsuite/gcc.target/i386/pr53425-1.c
-@@ -1,6 +1,6 @@
- /* PR target/53425 */
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
- /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
-
- typedef double __v2df __attribute__ ((__vector_size__ (16)));
-diff --git a/gcc/testsuite/gcc.target/i386/pr53425-2.c b/gcc/testsuite/gcc.target/i386/pr53425-2.c
-index 61f6283dbe9..2c5a55f0ac3 100644
---- a/gcc/testsuite/gcc.target/i386/pr53425-2.c
-+++ b/gcc/testsuite/gcc.target/i386/pr53425-2.c
-@@ -1,6 +1,6 @@
- /* PR target/53425 */
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
- /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
-
- typedef float __v2sf __attribute__ ((__vector_size__ (8)));
-diff --git a/gcc/testsuite/gcc.target/i386/pr55247.c b/gcc/testsuite/gcc.target/i386/pr55247.c
-index 23366d0909d..9810e3abb76 100644
---- a/gcc/testsuite/gcc.target/i386/pr55247.c
-+++ b/gcc/testsuite/gcc.target/i386/pr55247.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile { target { ! ia32 } } } */
- /* { dg-require-effective-target maybe_x32 } */
--/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long" } */
-+/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long -mfpmath=387" } */
-
- typedef unsigned int uint32_t;
- typedef uint32_t Elf32_Word;
-diff --git a/gcc/testsuite/gcc.target/i386/pr59644.c b/gcc/testsuite/gcc.target/i386/pr59644.c
-index 96006b3e338..4287e4538bf 100644
---- a/gcc/testsuite/gcc.target/i386/pr59644.c
-+++ b/gcc/testsuite/gcc.target/i386/pr59644.c
-@@ -1,6 +1,6 @@
- /* PR target/59644 */
- /* { dg-do run { target lp64 } } */
--/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone" } */
-+/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone -mfpmath=387" } */
-
- /* This test uses __builtin_trap () instead of e.g. abort,
- because due to -mpreferred-stack-boundary=3 it should not call
-diff --git a/gcc/testsuite/gcc.target/i386/pr62120.c b/gcc/testsuite/gcc.target/i386/pr62120.c
-index bfb8c4703eb..ed04cf181f3 100644
---- a/gcc/testsuite/gcc.target/i386/pr62120.c
-+++ b/gcc/testsuite/gcc.target/i386/pr62120.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-mno-sse" } */
-+/* { dg-options "-mno-sse -mfpmath=387" } */
-
- void foo ()
- {
-diff --git a/gcc/testsuite/gcc.target/i386/pr70467-1.c b/gcc/testsuite/gcc.target/i386/pr70467-1.c
-index 4e112c88d07..bcfb396a68d 100644
---- a/gcc/testsuite/gcc.target/i386/pr70467-1.c
-+++ b/gcc/testsuite/gcc.target/i386/pr70467-1.c
-@@ -1,6 +1,6 @@
- /* PR rtl-optimization/70467 */
- /* { dg-do compile } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
-
- void foo (unsigned long long *);
-
-diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-index 6cda1534311..26e37f5b8ba 100644
---- a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-+++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-mno-sse -Wvector-operation-performance" } */
-+/* { dg-options "-mno-sse -Wvector-operation-performance -mfpmath=387" } */
- #define vector(elcount, type) \
- __attribute__((vector_size((elcount)*sizeof(type)))) type
-
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch
deleted file mode 100644
index 8de8892b8..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0038-Re-introduce-spe-commandline-options.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f0bea96434ac478c3cff8c29dd97cccfac5b35e3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 6 Jun 2018 12:10:22 -0700
-Subject: [PATCH 38/40] Re-introduce spe commandline options
-
-This should ensure that we keep accepting
-spe options
-
-Upstream-Status: Inappropriate [SPE port is removed from rs600 port]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/rs6000/rs6000.opt | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
-index ace8a477550..d6a8f825d88 100644
---- a/gcc/config/rs6000/rs6000.opt
-+++ b/gcc/config/rs6000/rs6000.opt
-@@ -365,6 +365,18 @@ mdebug=
- Target RejectNegative Joined
- -mdebug= Enable debug output.
-
-+mspe
-+Target Var(rs6000_spe) Save
-+Generate SPE SIMD instructions on E500.
-+
-+mabi=spe
-+Target RejectNegative Var(rs6000_spe_abi) Save
-+Use the SPE ABI extensions.
-+
-+mabi=no-spe
-+Target RejectNegative Var(rs6000_spe_abi, 0)
-+Do not use the SPE ABI extensions.
-+
- mabi=altivec
- Target RejectNegative Var(rs6000_altivec_abi) Save
- Use the AltiVec ABI extensions.
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch
deleted file mode 100644
index f7b222e81..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0039-riscv-Disable-multilib-for-OE.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 24f74444c00c6c9bf076fb002614ebf6dec31f1a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 28 Dec 2018 09:59:53 -0800
-Subject: [PATCH 39/40] riscv: Disable multilib for OE
-
-Upstream-Status: Inappropriate [OE-Specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/riscv/t-linux | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
-index 216d2776a18..e4d817621fc 100644
---- a/gcc/config/riscv/t-linux
-+++ b/gcc/config/riscv/t-linux
-@@ -1,3 +1,5 @@
- # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
--MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
--MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
-+#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
-+MULTILIB_DIRNAMES := . .
-+#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
-+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch
deleted file mode 100644
index 9fba16377..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4bd0a3866f302725cb4eddcaddaeece64900c42f Mon Sep 17 00:00:00 2001
-From: Serhey Popovych <serhe.popovych@gmail.com>
-Date: Tue, 11 Dec 2018 02:30:50 -0500
-Subject: [PATCH 40/40] powerpc/powerpc64: Add support for musl ldso
-
-Upstream-Status: Inappropriate [OE-Specific]
-
-Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
----
- gcc/config/rs6000/linux64.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index 619e113e2b8..ee8b44f9374 100644
---- a/gcc/config/rs6000/linux64.h
-+++ b/gcc/config/rs6000/linux64.h
-@@ -421,9 +421,9 @@ extern int dot_symbols;
- #endif
-
- #define MUSL_DYNAMIC_LINKER32 \
-- "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-+ SYSTEMLIBS_DIR "ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
- #define MUSL_DYNAMIC_LINKER64 \
-- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-+ SYSTEMLIBS_DIR "ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-
- #define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
- #define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
---
-2.21.0
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch
deleted file mode 100644
index f3303b685..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch
+++ /dev/null
@@ -1,325 +0,0 @@
-From e1744e11b1c2b36f91a8847b61bafb8c5e7407ae Mon Sep 17 00:00:00 2001
-From: nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Fri, 7 Dec 2018 10:33:30 +0000
-Subject: [PATCH] Add a recursion limit to libiberty's demangling code. The
- limit is enabled by default, but can be disabled via a new demangling option.
-
-include * demangle.h (DMGL_NO_RECURSE_LIMIT): Define.
- (DEMANGLE_RECURSION_LIMIT): Define
-
- PR 87681
- PR 87675
- PR 87636
- PR 87350
- PR 87335
-libiberty * cp-demangle.h (struct d_info): Add recursion_level field.
- * cp-demangle.c (d_function_type): Add recursion counter.
- If the recursion limit is reached and the check is not disabled,
- then return with a failure result.
- (cplus_demangle_init_info): Initialise the recursion_level field.
- (d_demangle_callback): If the recursion limit is enabled, check
- for a mangled string that is so long that there is not enough
- stack space for the local arrays.
- * cplus-dem.c (struct work): Add recursion_level field.
- (squangle_mop_up): Set the numb and numk fields to zero.
- (work_stuff_copy_to_from): Handle the case where a btypevec or
- ktypevec field is NULL.
- (demangle_nested_args): Add recursion counter. If
- the recursion limit is not disabled and reached, return with a
- failure result.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266886 138bc75d-0d04-0410-961f-82ee72b054a4
-
-CVE: CVE-2018-18484
-Upstream-Status: Backport [https://github.com/gcc-mirror/gcc/commit/03e51746ed98d9106803f6009ebd71ea670ad3b9]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- include/ChangeLog | 5 +++++
- include/demangle.h | 11 +++++++++++
- libiberty/ChangeLog | 23 ++++++++++++++++++++++
- libiberty/cp-demangle.c | 51 ++++++++++++++++++++++++++++++++++++++-----------
- libiberty/cp-demangle.h | 3 +++
- libiberty/cplus-dem.c | 37 +++++++++++++++++++++++++++++++++--
- 6 files changed, 117 insertions(+), 13 deletions(-)
-
-diff --git a/include/ChangeLog b/include/ChangeLog
-index 02ab336..88b0648 100644
---- a/include/ChangeLog
-+++ b/include/ChangeLog
-@@ -2,6 +2,11 @@
-
- * GCC 8.3.0 released.
-
-+2018-12-07 Nick Clifton <nickc@redhat.com>
-+
-+ * demangle.h (DMGL_NO_RECURSE_LIMIT): Define.
-+ (DEMANGLE_RECURSION_LIMIT): Define
-+
- 2018-07-26 Release Manager
-
- * GCC 8.2.0 released.
-diff --git a/include/demangle.h b/include/demangle.h
-index b8d57cf..9bb8a19 100644
---- a/include/demangle.h
-+++ b/include/demangle.h
-@@ -68,6 +68,17 @@ extern "C" {
- /* If none of these are set, use 'current_demangling_style' as the default. */
- #define DMGL_STYLE_MASK (DMGL_AUTO|DMGL_GNU|DMGL_LUCID|DMGL_ARM|DMGL_HP|DMGL_EDG|DMGL_GNU_V3|DMGL_JAVA|DMGL_GNAT|DMGL_DLANG|DMGL_RUST)
-
-+/* Disable a limit on the depth of recursion in mangled strings.
-+ Note if this limit is disabled then stack exhaustion is possible when
-+ demangling pathologically complicated strings. Bug reports about stack
-+ exhaustion when the option is enabled will be rejected. */
-+#define DMGL_NO_RECURSE_LIMIT (1 << 18)
-+
-+/* If DMGL_NO_RECURSE_LIMIT is not enabled, then this is the value used as
-+ the maximum depth of recursion allowed. It should be enough for any
-+ real-world mangled name. */
-+#define DEMANGLE_RECURSION_LIMIT 1024
-+
- /* Enumeration of possible demangling styles.
-
- Lucid and ARM styles are still kept logically distinct, even though
-diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
-index 1dd05da..2f77038 100644
---- a/libiberty/ChangeLog
-+++ b/libiberty/ChangeLog
-@@ -9,6 +9,29 @@
- (simple_object_copy_lto_debug_sections): Create file in binary
- mode.
-
-+2018-12-07 Nick Clifton <nickc@redhat.com>
-+
-+ PR 87681
-+ PR 87675
-+ PR 87636
-+ PR 87350
-+ PR 87335
-+ * cp-demangle.h (struct d_info): Add recursion_level field.
-+ * cp-demangle.c (d_function_type): Add recursion counter.
-+ If the recursion limit is reached and the check is not disabled,
-+ then return with a failure result.
-+ (cplus_demangle_init_info): Initialise the recursion_level field.
-+ (d_demangle_callback): If the recursion limit is enabled, check
-+ for a mangled string that is so long that there is not enough
-+ stack space for the local arrays.
-+ * cplus-dem.c (struct work): Add recursion_level field.
-+ (squangle_mop_up): Set the numb and numk fields to zero.
-+ (work_stuff_copy_to_from): Handle the case where a btypevec or
-+ ktypevec field is NULL.
-+ (demangle_nested_args): Add recursion counter. If
-+ the recursion limit is not disabled and reached, return with a
-+ failure result.
-+
- 2018-07-26 Release Manager
-
- * GCC 8.2.0 released.
-diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
-index 3f2a097..c374e46 100644
---- a/libiberty/cp-demangle.c
-+++ b/libiberty/cp-demangle.c
-@@ -2843,21 +2843,35 @@ d_ref_qualifier (struct d_info *di, struct demangle_component *sub)
- static struct demangle_component *
- d_function_type (struct d_info *di)
- {
-- struct demangle_component *ret;
-+ struct demangle_component *ret = NULL;
-
-- if (! d_check_char (di, 'F'))
-- return NULL;
-- if (d_peek_char (di) == 'Y')
-+ if ((di->options & DMGL_NO_RECURSE_LIMIT) == 0)
- {
-- /* Function has C linkage. We don't print this information.
-- FIXME: We should print it in verbose mode. */
-- d_advance (di, 1);
-+ if (di->recursion_level > DEMANGLE_RECURSION_LIMIT)
-+ /* FIXME: There ought to be a way to report
-+ that the recursion limit has been reached. */
-+ return NULL;
-+
-+ di->recursion_level ++;
- }
-- ret = d_bare_function_type (di, 1);
-- ret = d_ref_qualifier (di, ret);
-
-- if (! d_check_char (di, 'E'))
-- return NULL;
-+ if (d_check_char (di, 'F'))
-+ {
-+ if (d_peek_char (di) == 'Y')
-+ {
-+ /* Function has C linkage. We don't print this information.
-+ FIXME: We should print it in verbose mode. */
-+ d_advance (di, 1);
-+ }
-+ ret = d_bare_function_type (di, 1);
-+ ret = d_ref_qualifier (di, ret);
-+
-+ if (! d_check_char (di, 'E'))
-+ ret = NULL;
-+ }
-+
-+ if ((di->options & DMGL_NO_RECURSE_LIMIT) == 0)
-+ di->recursion_level --;
- return ret;
- }
-
-@@ -6188,6 +6202,7 @@ cplus_demangle_init_info (const char *mangled, int options, size_t len,
- di->expansion = 0;
- di->is_expression = 0;
- di->is_conversion = 0;
-+ di->recursion_level = 0;
- }
-
- /* Internal implementation for the demangler. If MANGLED is a g++ v3 ABI
-@@ -6227,6 +6242,20 @@ d_demangle_callback (const char *mangled, int options,
-
- cplus_demangle_init_info (mangled, options, strlen (mangled), &di);
-
-+ /* PR 87675 - Check for a mangled string that is so long
-+ that we do not have enough stack space to demangle it. */
-+ if (((options & DMGL_NO_RECURSE_LIMIT) == 0)
-+ /* This check is a bit arbitrary, since what we really want to do is to
-+ compare the sizes of the di.comps and di.subs arrays against the
-+ amount of stack space remaining. But there is no portable way to do
-+ this, so instead we use the recursion limit as a guide to the maximum
-+ size of the arrays. */
-+ && (unsigned long) di.num_comps > DEMANGLE_RECURSION_LIMIT)
-+ {
-+ /* FIXME: We need a way to indicate that a stack limit has been reached. */
-+ return 0;
-+ }
-+
- {
- #ifdef CP_DYNAMIC_ARRAYS
- __extension__ struct demangle_component comps[di.num_comps];
-diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h
-index 51b8a24..d87a830 100644
---- a/libiberty/cp-demangle.h
-+++ b/libiberty/cp-demangle.h
-@@ -122,6 +122,9 @@ struct d_info
- /* Non-zero if we are parsing the type operand of a conversion
- operator, but not when in an expression. */
- int is_conversion;
-+ /* If DMGL_NO_RECURSE_LIMIT is not active then this is set to
-+ the current recursion level. */
-+ unsigned int recursion_level;
- };
-
- /* To avoid running past the ending '\0', don't:
-diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
-index 6d58bd8..8b9646f 100644
---- a/libiberty/cplus-dem.c
-+++ b/libiberty/cplus-dem.c
-@@ -146,6 +146,7 @@ struct work_stuff
- int *proctypevec; /* Indices of currently processed remembered typevecs. */
- int proctypevec_size;
- int nproctypes;
-+ unsigned int recursion_level;
- };
-
- #define PRINT_ANSI_QUALIFIERS (work -> options & DMGL_ANSI)
-@@ -1292,12 +1293,14 @@ squangle_mop_up (struct work_stuff *work)
- free ((char *) work -> btypevec);
- work->btypevec = NULL;
- work->bsize = 0;
-+ work->numb = 0;
- }
- if (work -> ktypevec != NULL)
- {
- free ((char *) work -> ktypevec);
- work->ktypevec = NULL;
- work->ksize = 0;
-+ work->numk = 0;
- }
- }
-
-@@ -1331,8 +1334,15 @@ work_stuff_copy_to_from (struct work_stuff *to, struct work_stuff *from)
-
- for (i = 0; i < from->numk; i++)
- {
-- int len = strlen (from->ktypevec[i]) + 1;
-+ int len;
-+
-+ if (from->ktypevec[i] == NULL)
-+ {
-+ to->ktypevec[i] = NULL;
-+ continue;
-+ }
-
-+ len = strlen (from->ktypevec[i]) + 1;
- to->ktypevec[i] = XNEWVEC (char, len);
- memcpy (to->ktypevec[i], from->ktypevec[i], len);
- }
-@@ -1342,8 +1352,15 @@ work_stuff_copy_to_from (struct work_stuff *to, struct work_stuff *from)
-
- for (i = 0; i < from->numb; i++)
- {
-- int len = strlen (from->btypevec[i]) + 1;
-+ int len;
-+
-+ if (from->btypevec[i] == NULL)
-+ {
-+ to->btypevec[i] = NULL;
-+ continue;
-+ }
-
-+ len = strlen (from->btypevec[i]) + 1;
- to->btypevec[i] = XNEWVEC (char , len);
- memcpy (to->btypevec[i], from->btypevec[i], len);
- }
-@@ -1401,6 +1418,7 @@ delete_non_B_K_work_stuff (struct work_stuff *work)
-
- free ((char*) work->tmpl_argvec);
- work->tmpl_argvec = NULL;
-+ work->ntmpl_args = 0;
- }
- if (work->previous_argument)
- {
-@@ -4477,6 +4495,7 @@ remember_Btype (struct work_stuff *work, const char *start,
- }
-
- /* Lose all the info related to B and K type codes. */
-+
- static void
- forget_B_and_K_types (struct work_stuff *work)
- {
-@@ -4502,6 +4521,7 @@ forget_B_and_K_types (struct work_stuff *work)
- }
- }
- }
-+
- /* Forget the remembered types, but not the type vector itself. */
-
- static void
-@@ -4696,6 +4716,16 @@ demangle_nested_args (struct work_stuff *work, const char **mangled,
- int result;
- int saved_nrepeats;
-
-+ if ((work->options & DMGL_NO_RECURSE_LIMIT) == 0)
-+ {
-+ if (work->recursion_level > DEMANGLE_RECURSION_LIMIT)
-+ /* FIXME: There ought to be a way to report
-+ that the recursion limit has been reached. */
-+ return 0;
-+
-+ work->recursion_level ++;
-+ }
-+
- /* The G++ name-mangling algorithm does not remember types on nested
- argument lists, unless -fsquangling is used, and in that case the
- type vector updated by remember_type is not used. So, we turn
-@@ -4722,6 +4752,9 @@ demangle_nested_args (struct work_stuff *work, const char **mangled,
- --work->forgetting_types;
- work->nrepeats = saved_nrepeats;
-
-+ if ((work->options & DMGL_NO_RECURSE_LIMIT) == 0)
-+ --work->recursion_level;
-+
- return result;
- }
-
---
-2.7.4
-
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
deleted file mode 100644
index d9b5d39b7..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-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
deleted file mode 100644
index f15207f58..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch
+++ /dev/null
@@ -1,813 +0,0 @@
-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-8.3/CVE-2019-14250.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/CVE-2019-14250.patch
new file mode 100644
index 000000000..e327684e1
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/CVE-2019-14250.patch
@@ -0,0 +1,44 @@
+From a4f1b58eb48b349a5f353bc69c30be553506d33b Mon Sep 17 00:00:00 2001
+From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Thu, 25 Jul 2019 10:48:26 +0000
+Subject: [PATCH] 2019-07-25 Richard Biener <rguenther@suse.de>
+
+ PR lto/90924
+ Backport from mainline
+ 2019-07-12 Ren Kimura <rkx1209dev@gmail.com>
+
+ * simple-object-elf.c (simple_object_elf_match): Check zero value
+ shstrndx.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@273794 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+Affectes: < 9.2
+CVE: CVE-2019-14250
+Dropped changelog
+Signed-off-by: Armin Kuster <Akustre@mvista.com>
+
+---
+ libiberty/simple-object-elf.c | 8 ++++++++
+ 2 files changed, 17 insertions(+)
+
+Index: gcc-8.2.0/libiberty/simple-object-elf.c
+===================================================================
+--- gcc-8.2.0.orig/libiberty/simple-object-elf.c
++++ gcc-8.2.0/libiberty/simple-object-elf.c
+@@ -549,6 +549,14 @@ simple_object_elf_match (unsigned char h
+ return NULL;
+ }
+
++ if (eor->shstrndx == 0)
++ {
++ *errmsg = "invalid ELF shstrndx == 0";
++ *err = 0;
++ XDELETE (eor);
++ return NULL;
++ }
++
+ return (void *) eor;
+ }
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc
deleted file mode 100644
index 4c648a169..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc
+++ /dev/null
@@ -1,117 +0,0 @@
-require gcc-common.inc
-
-# Third digit in PV should be incremented after a minor release
-
-PV = "9.1.0"
-
-# BINV should be incremented to a revision after a minor gcc release
-
-BINV = "9.1.0"
-
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-9.1:${FILE_DIRNAME}/gcc-9.1/backport:"
-
-DEPENDS =+ "mpfr gmp libmpc zlib flex-native"
-NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native"
-
-LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
-
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
- file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
- file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
-"
-
-BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
-#RELEASE ?= "5a5ca2d"
-#BASEURI ?= "https://repo.or.cz/official-gcc.git/snapshot/${RELEASE}.tar.gz;downloadfilename=gcc-${RELEASE}.tar.gz"
-SRC_URI = "\
- ${BASEURI} \
- file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
- file://0002-gcc-poison-system-directories.patch \
- file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
- file://0004-64-bit-multilib-hack.patch \
- file://0005-optional-libstdc.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 \
- file://0010-cpp-honor-sysroot.patch \
- file://0011-MIPS64-Default-to-N64-ABI.patch \
- file://0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
- file://0013-gcc-Fix-argument-list-too-long-error.patch \
- file://0014-Disable-sdt.patch \
- file://0015-libtool.patch \
- file://0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
- file://0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
- file://0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
- file://0019-export-CPP.patch \
- file://0020-Ensure-target-gcc-headers-can-be-included.patch \
- file://0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \
- file://0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
- file://0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
- file://0024-aarch64-Add-support-for-musl-ldso.patch \
- file://0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
- file://0026-handle-sysroot-support-for-nativesdk-gcc.patch \
- file://0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
- file://0028-Fix-various-_FOR_BUILD-and-related-variables.patch \
- file://0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
- file://0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
- file://0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \
- file://0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
- file://0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
- file://0034-sync-gcc-stddef.h-with-musl.patch \
- file://0035-fix-segmentation-fault-in-precompiled-header-generat.patch \
- file://0036-Fix-for-testsuite-failure.patch \
- file://0037-Re-introduce-spe-commandline-options.patch \
-"
-SRC_URI[md5sum] = "6069ae3737cf02bf2cb44a391ef0e937"
-SRC_URI[sha256sum] = "79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0"
-S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
-# For dev release snapshotting
-#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/official-gcc-${RELEASE}"
-#B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
-
-# Language Overrides
-FORTRAN = ""
-JAVA = ""
-
-LTO = "--enable-lto"
-SSP ?= "--disable-libssp"
-SSP_mingw32 = "--enable-libssp"
-
-EXTRA_OECONF_BASE = "\
- ${LTO} \
- ${SSP} \
- --enable-libitm \
- --disable-bootstrap \
- --disable-libmudflap \
- --with-system-zlib \
- ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \
- --enable-linker-build-id \
- --with-ppl=no \
- --with-cloog=no \
- --enable-checking=release \
- --enable-cheaders=c_global \
- --without-isl \
-"
-
-EXTRA_OECONF_INITIAL = "\
- --disable-libmudflap \
- --disable-libgomp \
- --disable-libitm \
- --disable-libquadmath \
- --with-system-zlib \
- --disable-lto \
- --disable-plugin \
- --enable-linker-build-id \
- --enable-decimal-float=no \
- --without-isl \
- --disable-libssp \
-"
-
-EXTRA_OECONF_PATHS = "\
- --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
- --with-sysroot=/not/exist \
- --with-build-sysroot=${STAGING_DIR_TARGET} \
-"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
deleted file mode 100644
index 33c910cc5..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From f1f6d84aadc4e3cde707b1ec8490f5dc46d4c8e0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 08:37:11 +0400
-Subject: [PATCH 01/37] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- configure | 2 +-
- configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure b/configure
-index adf4fda0f69..8a04eea4c71 100755
---- a/configure
-+++ b/configure
-@@ -7602,7 +7602,7 @@ fi
- # for target_alias and gcc doesn't manage it consistently.
- target_configargs="--cache-file=./config.cache ${target_configargs}"
-
--FLAGS_FOR_TARGET=
-+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
- case " $target_configdirs " in
- *" newlib "*)
- case " $target_configargs " in
-diff --git a/configure.ac b/configure.ac
-index 87f2aee0500..01b46b8bed4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3118,7 +3118,7 @@ fi
- # for target_alias and gcc doesn't manage it consistently.
- target_configargs="--cache-file=./config.cache ${target_configargs}"
-
--FLAGS_FOR_TARGET=
-+FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
- case " $target_configdirs " in
- *" newlib "*)
- case " $target_configargs " in
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch
deleted file mode 100644
index 123156741..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0002-gcc-poison-system-directories.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-From 733ca3372e4125170d4531bcd33e48eeb36bfec0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 08:59:00 +0400
-Subject: [PATCH 02/37] gcc: poison-system-directories
-
-Add /sw/include and /opt/include based on the original
-zecke-no-host-includes.patch patch. The original patch checked for
-/usr/include, /sw/include and /opt/include and then triggered a failure and
-aborted.
-
-Instead, we add the two missing items to the current scan. If the user
-wants this to be a failure, they can add "-Werror=poison-system-directories".
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/common.opt | 4 ++++
- gcc/config.in | 6 ++++++
- gcc/configure | 16 ++++++++++++++++
- gcc/configure.ac | 10 ++++++++++
- gcc/doc/invoke.texi | 9 +++++++++
- gcc/gcc.c | 2 ++
- gcc/incpath.c | 21 +++++++++++++++++++++
- 7 files changed, 68 insertions(+)
-
-diff --git a/gcc/common.opt b/gcc/common.opt
-index 9a5e9af06ca..211f2b2260e 100644
---- a/gcc/common.opt
-+++ b/gcc/common.opt
-@@ -684,6 +684,10 @@ Wreturn-local-addr
- Common Var(warn_return_local_addr) Init(1) Warning
- Warn about returning a pointer/reference to a local or temporary variable.
-
-+Wpoison-system-directories
-+Common Var(flag_poison_system_directories) Init(1) Warning
-+Warn for -I and -L options using system directories if cross compiling
-+
- Wshadow
- Common Var(warn_shadow) Warning
- Warn when one variable shadows another. Same as -Wshadow=global.
-diff --git a/gcc/config.in b/gcc/config.in
-index 48a533bf208..fc3043bbdfb 100644
---- a/gcc/config.in
-+++ b/gcc/config.in
-@@ -200,6 +200,12 @@
- #endif
-
-
-+/* Define to warn for use of native system header directories */
-+#ifndef USED_FOR_TARGET
-+#undef ENABLE_POISON_SYSTEM_DIRECTORIES
-+#endif
-+
-+
- /* Define if you want all operations on RTL (the basic data structure of the
- optimizer and back end) to be checked for dynamic type safety at runtime.
- This is quite expensive. */
-diff --git a/gcc/configure b/gcc/configure
-index d6a48ef76e7..2e08396622e 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -995,6 +995,7 @@ with_system_zlib
- enable_maintainer_mode
- enable_link_mutex
- enable_version_specific_runtime_libs
-+enable_poison_system_directories
- enable_plugin
- enable_host_shared
- enable_libquadmath_support
-@@ -1748,6 +1749,8 @@ Optional Features:
- --enable-version-specific-runtime-libs
- specify that runtime libraries should be installed
- in a compiler-specific directory
-+ --enable-poison-system-directories
-+ warn for use of native system header directories
- --enable-plugin enable plugin support
- --enable-host-shared build host code as shared libraries
- --disable-libquadmath-support
-@@ -29717,6 +29720,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
- fi
-
-
-+# Check whether --enable-poison-system-directories was given.
-+if test "${enable_poison_system_directories+set}" = set; then :
-+ enableval=$enable_poison_system_directories;
-+else
-+ enable_poison_system_directories=no
-+fi
-+
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+
-+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
-+
-+fi
-+
- # Substitute configuration variables
-
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 78370352938..7d34911573e 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -6375,6 +6375,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
- [specify that runtime libraries should be
- installed in a compiler-specific directory])])
-
-+AC_ARG_ENABLE([poison-system-directories],
-+ AS_HELP_STRING([--enable-poison-system-directories],
-+ [warn for use of native system header directories]),,
-+ [enable_poison_system_directories=no])
-+if test "x${enable_poison_system_directories}" = "xyes"; then
-+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
-+ [1],
-+ [Define to warn for use of native system header directories])
-+fi
-+
- # Substitute configuration variables
- AC_SUBST(subdirs)
- AC_SUBST(srcdir)
-diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index 99fd97404e1..001868e1509 100644
---- a/gcc/doc/invoke.texi
-+++ b/gcc/doc/invoke.texi
-@@ -330,6 +330,7 @@ Objective-C and Objective-C++ Dialects}.
- -Wpacked -Wpacked-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
- -Wparentheses -Wno-pedantic-ms-format @gol
- -Wplacement-new -Wplacement-new=@var{n} @gol
-+-Wno-poison-system-directories @gol
- -Wpointer-arith -Wpointer-compare -Wno-pointer-to-int-cast @gol
- -Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol
- -Wrestrict -Wno-return-local-addr @gol
-@@ -6254,6 +6255,14 @@ made up of data only and thus requires no special treatment. But, for
- most targets, it is made up of code and thus requires the stack to be
- made executable in order for the program to work properly.
-
-+@item -Wno-poison-system-directories
-+@opindex Wno-poison-system-directories
-+Do not warn for @option{-I} or @option{-L} options using system
-+directories such as @file{/usr/include} when cross compiling. This
-+option is intended for use in chroot environments when such
-+directories contain the correct headers and libraries for the target
-+system rather than the host.
-+
- @item -Wfloat-equal
- @opindex Wfloat-equal
- @opindex Wno-float-equal
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 797ed36616f..79c38d858d1 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1042,6 +1042,8 @@ proper position among the other output files. */
- "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
- "%X %{o*} %{e*} %{N} %{n} %{r}\
- %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
-+ %{Wno-poison-system-directories:--no-poison-system-directories} \
-+ %{Werror=poison-system-directories:--error-poison-system-directories} \
- %{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
- VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
- %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
-diff --git a/gcc/incpath.c b/gcc/incpath.c
-index bcbe2082905..5752298bbf2 100644
---- a/gcc/incpath.c
-+++ b/gcc/incpath.c
-@@ -26,6 +26,7 @@
- #include "intl.h"
- #include "incpath.h"
- #include "cppdefault.h"
-+#include "diagnostic-core.h"
-
- /* Microsoft Windows does not natively support inodes.
- VMS has non-numeric inodes. */
-@@ -393,6 +394,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
- }
- fprintf (stderr, _("End of search list.\n"));
- }
-+
-+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
-+ if (flag_poison_system_directories)
-+ {
-+ struct cpp_dir *p;
-+
-+ for (p = heads[INC_QUOTE]; p; p = p->next)
-+ {
-+ if ((!strncmp (p->name, "/usr/include", 12))
-+ || (!strncmp (p->name, "/usr/local/include", 18))
-+ || (!strncmp (p->name, "/usr/X11R6/include", 18))
-+ || (!strncmp (p->name, "/sw/include", 11))
-+ || (!strncmp (p->name, "/opt/include", 12)))
-+ warning (OPT_Wpoison_system_directories,
-+ "include location \"%s\" is unsafe for "
-+ "cross-compilation",
-+ p->name);
-+ }
-+ }
-+#endif
- }
-
- /* Use given -I paths for #include "..." but not #include <...>, and
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
deleted file mode 100644
index 916c374e3..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 320352cc741c89f1a9b2ee7929193d255e65f27a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:08:31 +0400
-Subject: [PATCH 03/37] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
-
-Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
-
-This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
-
-Other changes I had to do include:
-
-- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
-
-- passing the right CFLAGS to configure scripts as exported environment variables
-
-I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
-
-Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
-
-Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- configure | 32 ++++++++++++++++++++++++++++++++
- 1 file changed, 32 insertions(+)
-
-diff --git a/configure b/configure
-index 8a04eea4c71..3b0eed74847 100755
---- a/configure
-+++ b/configure
-@@ -6863,6 +6863,38 @@ fi
-
-
-
-+# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
-+# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
-+# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
-+# We want to ensure that TARGET libraries (which we know are built with
-+# gcc) are built with "-O2 -g", so include those options when setting
-+# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
-+if test "x$CFLAGS_FOR_TARGET" = x; then
-+ CFLAGS_FOR_TARGET=$CFLAGS
-+ case " $CFLAGS " in
-+ *" -O2 "*) ;;
-+ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
-+ esac
-+ case " $CFLAGS " in
-+ *" -g "* | *" -g3 "*) ;;
-+ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
-+ esac
-+fi
-+
-+
-+if test "x$CXXFLAGS_FOR_TARGET" = x; then
-+ CXXFLAGS_FOR_TARGET=$CXXFLAGS
-+ case " $CXXFLAGS " in
-+ *" -O2 "*) ;;
-+ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
-+ esac
-+ case " $CXXFLAGS " in
-+ *" -g "* | *" -g3 "*) ;;
-+ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
-+ esac
-+fi
-+
-+
- # Handle --with-headers=XXX. If the value is not "yes", the contents of
- # the named directory are copied to $(tooldir)/sys-include.
- if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch
deleted file mode 100644
index 137261b86..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0004-64-bit-multilib-hack.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From 150d946082b3e21614d1cd0eb4752871495fe519 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:10:06 +0400
-Subject: [PATCH 04/37] 64-bit multilib hack.
-
-GCC has internal multilib handling code but it assumes a very specific rigid directory
-layout. The build system implementation of multilib layout is very generic and allows
-complete customisation of the library directories.
-
-This patch is a partial solution to allow any custom directories to be passed into gcc
-and handled correctly. It forces gcc to use the base_libdir (which is the current
-directory, "."). We need to do this for each multilib that is configured as we don't
-know which compiler options may be being passed into the compiler. Since we have a compiler
-per mulitlib at this point that isn't an issue.
-
-The one problem is the target compiler is only going to work for the default multlilib at
-this point. Ideally we'd figure out which multilibs were being enabled with which paths
-and be able to patch these entries with a complete set of correct paths but this we
-don't have such code at this point. This is something the target gcc recipe should do
-and override these platform defaults in its build config.
-
-Do same for riscv64 and aarch64
-
-RP 15/8/11
-
-Upstream-Status: Inappropriate[OE-Specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
----
- gcc/config/aarch64/t-aarch64-linux | 8 ++++----
- gcc/config/i386/t-linux64 | 6 ++----
- gcc/config/mips/t-linux64 | 10 +++-------
- gcc/config/riscv/t-linux | 6 ++++--
- gcc/config/rs6000/t-linux64 | 5 ++---
- 5 files changed, 15 insertions(+), 20 deletions(-)
-
-diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
-index 5ad670ba2ce..e26019e7157 100644
---- a/gcc/config/aarch64/t-aarch64-linux
-+++ b/gcc/config/aarch64/t-aarch64-linux
-@@ -21,8 +21,8 @@
- LIB1ASMSRC = aarch64/lib1funcs.asm
- LIB1ASMFUNCS = _aarch64_sync_cache_range
-
--AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
--MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
--MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
-+#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
-+#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
-+#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
-
--MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
-+#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
-diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
-index c686ab2f0d2..c82b60dadcd 100644
---- a/gcc/config/i386/t-linux64
-+++ b/gcc/config/i386/t-linux64
-@@ -32,7 +32,5 @@
- #
- comma=,
- MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
--MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
--MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
--MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
--MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
-+MULTILIB_DIRNAMES = . .
-+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
-index 3a2ff700d7d..13ef19576b5 100644
---- a/gcc/config/mips/t-linux64
-+++ b/gcc/config/mips/t-linux64
-@@ -17,10 +17,6 @@
- # <http://www.gnu.org/licenses/>.
-
- MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
--MULTILIB_DIRNAMES = n32 32 64
--MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
--MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
--MULTILIB_OSDIRNAMES = \
-- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
-- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
-- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
-+MULTILIB_DIRNAMES = . . .
-+MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-+
-diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
-index 216d2776a18..e4d817621fc 100644
---- a/gcc/config/riscv/t-linux
-+++ b/gcc/config/riscv/t-linux
-@@ -1,3 +1,5 @@
- # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
--MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
--MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
-+#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
-+MULTILIB_DIRNAMES := . .
-+#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
-+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
-index f3c6e2be1d9..bd0393155fa 100644
---- a/gcc/config/rs6000/t-linux64
-+++ b/gcc/config/rs6000/t-linux64
-@@ -26,10 +26,9 @@
- # MULTILIB_OSDIRNAMES according to what is found on the target.
-
- MULTILIB_OPTIONS := m64/m32
--MULTILIB_DIRNAMES := 64 32
-+MULTILIB_DIRNAMES := . .
- MULTILIB_EXTRA_OPTS :=
--MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
--MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
-+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
-
- rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
- $(COMPILE) $<
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch
deleted file mode 100644
index d8e970a1a..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0005-optional-libstdc.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From a3323ea74f0793b35af4a4cdbe5e99fe21e4816b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:12:56 +0400
-Subject: [PATCH 05/37] optional libstdc
-
-gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
-will not run correctly since by default the linker will try to link against libstdc++
-which shouldn't exist yet. We need an option to disable -lstdc++
-option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc
-driver. This patch adds such an option which only disables the -lstdc++.
-
-A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
-do this officially, the likely answer is don't build libstdc++ separately.
-
-RP 29/6/10
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- gcc/c-family/c.opt | 4 ++++
- gcc/cp/g++spec.c | 1 +
- gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++-
- gcc/gcc.c | 1 +
- 4 files changed, 37 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
-index 88c72c51c21..a7029592aa3 100644
---- a/gcc/c-family/c.opt
-+++ b/gcc/c-family/c.opt
-@@ -1948,6 +1948,10 @@ nostdinc++
- C++ ObjC++
- Do not search standard system include directories for C++.
-
-+nostdlib++
-+Driver
-+Do not link standard C++ runtime library
-+
- o
- C ObjC C++ ObjC++ Joined Separate
- ; Documented in common.opt
-diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
-index 6c4574a837d..0e2657f00ee 100644
---- a/gcc/cp/g++spec.c
-+++ b/gcc/cp/g++spec.c
-@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
- switch (decoded_options[i].opt_index)
- {
- case OPT_nostdlib:
-+ case OPT_nostdlib__:
- case OPT_nodefaultlibs:
- library = -1;
- break;
-diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
-index 001868e1509..4186c2616ab 100644
---- a/gcc/doc/invoke.texi
-+++ b/gcc/doc/invoke.texi
-@@ -226,6 +226,9 @@ in the following sections.
- -fno-weak -nostdinc++ @gol
- -fvisibility-inlines-hidden @gol
- -fvisibility-ms-compat @gol
-+-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol
-+-fvtv-counts -fvtv-debug @gol
-+-nostdlib++ @gol
- -fext-numeric-literals @gol
- -Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol
- -Wdelete-non-virtual-dtor -Wdeprecated-copy -Wdeprecated-copy-dtor @gol
-@@ -536,7 +539,7 @@ Objective-C and Objective-C++ Dialects}.
- -pie -pthread -r -rdynamic @gol
- -s -static -static-pie -static-libgcc -static-libstdc++ @gol
- -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol
---shared -shared-libgcc -symbolic @gol
-+-shared -shared-libgcc -symbolic -nostdlib++ @gol
- -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol
- -u @var{symbol} -z @var{keyword}}
-
-@@ -13259,6 +13262,33 @@ Specify that the program entry point is @var{entry}. The argument is
- interpreted by the linker; the GNU linker accepts either a symbol name
- or an address.
-
-+@item -nostdlib++
-+@opindex nostdlib++
-+Do not use the standard system C++ runtime libraries when linking.
-+Only the libraries you specify will be passed to the linker.
-+
-+@cindex @option{-lgcc}, use with @option{-nostdlib}
-+@cindex @option{-nostdlib} and unresolved references
-+@cindex unresolved references and @option{-nostdlib}
-+@cindex @option{-lgcc}, use with @option{-nodefaultlibs}
-+@cindex @option{-nodefaultlibs} and unresolved references
-+@cindex unresolved references and @option{-nodefaultlibs}
-+One of the standard libraries bypassed by @option{-nostdlib} and
-+@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
-+which GCC uses to overcome shortcomings of particular machines, or special
-+needs for some languages.
-+(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
-+Collection (GCC) Internals},
-+for more discussion of @file{libgcc.a}.)
-+In most cases, you need @file{libgcc.a} even when you want to avoid
-+other standard libraries. In other words, when you specify @option{-nostdlib}
-+or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
-+This ensures that you have no unresolved references to internal GCC
-+library subroutines.
-+(An example of such an internal subroutine is @code{__main}, used to ensure C++
-+constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
-+GNU Compiler Collection (GCC) Internals}.)
-+
- @item -pie
- @opindex pie
- Produce a dynamically linked position independent executable on targets
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 79c38d858d1..308872aef5f 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1052,6 +1052,7 @@ proper position among the other output files. */
- %(mflib) " STACK_SPLIT_SPEC "\
- %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
- %{!nostdlib:%{!r:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}}\
-+ %{!nostdlib++:}\
- %{!nostdlib:%{!r:%{!nostartfiles:%E}}} %{T*} \n%(post_link) }}}}}}"
- #endif
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch
deleted file mode 100644
index a522ada44..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0007-COLLECT_GCC_OPTIONS.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From c7b8c2a6e81daaa50047c336c8ee90086aa4d4d5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:16:28 +0400
-Subject: [PATCH 07/37] COLLECT_GCC_OPTIONS
-
-This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to
-invoke collect2.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/gcc.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 308872aef5f..30845e5b125 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -4804,6 +4804,15 @@ set_collect_gcc_options (void)
- sizeof ("COLLECT_GCC_OPTIONS=") - 1);
-
- first_time = TRUE;
-+#ifdef HAVE_LD_SYSROOT
-+ if (target_system_root_changed && target_system_root)
-+ {
-+ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
-+ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
-+ obstack_grow (&collect_obstack, "'", 1);
-+ first_time = FALSE;
-+ }
-+#endif
- for (i = 0; (int) i < n_switches; i++)
- {
- const char *const *args;
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
deleted file mode 100644
index 2ef94a0b8..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 2f65b8bbf9c7c4bc0b94bb7ba9f6a8eb8675c9ab Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:17:25 +0400
-Subject: [PATCH 08/37] Use the defaults.h in ${B} instead of ${S}, and t-oe in
- ${B}
-
-Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
-the source can be shared between gcc-cross-initial,
-gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-
-While compiling gcc-crosssdk-initial-x86_64 on some host, there is
-occasionally failure that test the existance of default.h doesn't
-work, the reason is tm_include_list='** defaults.h' rather than
-tm_include_list='** ./defaults.h'
-
-So we add the test condition for this situation.
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gcc/Makefile.in | 2 +-
- gcc/configure | 4 ++--
- gcc/configure.ac | 4 ++--
- gcc/mkconfig.sh | 4 ++--
- 4 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 508c674cbdc..3ccff1614bb 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -540,7 +540,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
- TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
-
- xmake_file=@xmake_file@
--tmake_file=@tmake_file@
-+tmake_file=@tmake_file@ ./t-oe
- TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
- TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
- TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
-diff --git a/gcc/configure b/gcc/configure
-index d36cb51bc2c..7acc7e487b0 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -12341,8 +12341,8 @@ for f in $tm_file; do
- tm_include_list="${tm_include_list} $f"
- ;;
- defaults.h )
-- tm_file_list="${tm_file_list} \$(srcdir)/$f"
-- tm_include_list="${tm_include_list} $f"
-+ tm_file_list="${tm_file_list} ./$f"
-+ tm_include_list="${tm_include_list} ./$f"
- ;;
- * )
- tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index dfa88c35f3f..f5d5e5c16a8 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1968,8 +1968,8 @@ for f in $tm_file; do
- tm_include_list="${tm_include_list} $f"
- ;;
- defaults.h )
-- tm_file_list="${tm_file_list} \$(srcdir)/$f"
-- tm_include_list="${tm_include_list} $f"
-+ tm_file_list="${tm_file_list} ./$f"
-+ tm_include_list="${tm_include_list} ./$f"
- ;;
- * )
- tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
-diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
-index 308b87d0cc1..19068cbc24a 100644
---- a/gcc/mkconfig.sh
-+++ b/gcc/mkconfig.sh
-@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
- if [ $# -ge 1 ]; then
- echo '#ifdef IN_GCC' >> ${output}T
- for file in "$@"; do
-- if test x"$file" = x"defaults.h"; then
-+ if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then
- postpone_defaults_h="yes"
- else
- echo "# include \"$file\"" >> ${output}T
-@@ -106,7 +106,7 @@ esac
-
- # If we postponed including defaults.h, add the #include now.
- if test x"$postpone_defaults_h" = x"yes"; then
-- echo "# include \"defaults.h\"" >> ${output}T
-+ echo "# include \"./defaults.h\"" >> ${output}T
- fi
-
- # Add multiple inclusion protection guard, part two.
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch
deleted file mode 100644
index 795971463..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0009-fortran-cross-compile-hack.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From eda94df7d2389b6c36428e5687d5f0722d3375c3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:20:01 +0400
-Subject: [PATCH 09/37] fortran cross-compile hack.
-
-* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
-used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
-directory.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [embedded specific]
----
- libgfortran/configure | 2 +-
- libgfortran/configure.ac | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libgfortran/configure b/libgfortran/configure
-index 487d8c090e2..a02b49293ac 100755
---- a/libgfortran/configure
-+++ b/libgfortran/configure
-@@ -13056,7 +13056,7 @@ esac
-
- # We need gfortran to compile parts of the library
- #AC_PROG_FC(gfortran)
--FC="$GFORTRAN"
-+#FC="$GFORTRAN"
- ac_ext=${ac_fc_srcext-f}
- ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
- ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
-diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
-index c06db7b1a78..5b4b1b7f1f2 100644
---- a/libgfortran/configure.ac
-+++ b/libgfortran/configure.ac
-@@ -250,7 +250,7 @@ AC_SUBST(enable_static)
-
- # We need gfortran to compile parts of the library
- #AC_PROG_FC(gfortran)
--FC="$GFORTRAN"
-+#FC="$GFORTRAN"
- AC_PROG_FC(gfortran)
-
- # extra LD Flags which are required for targets
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch
deleted file mode 100644
index b680e6fc3..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0010-cpp-honor-sysroot.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From c2ec131f19d656fd916c45f51186633c789db6e9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:22:00 +0400
-Subject: [PATCH 10/37] cpp: honor sysroot.
-
-Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
-preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
-rather than the --sysroot option specified on the commandline. If access to that directory is
-permission denied (unreadable), gcc will error.
-
-This happens when ccache is in use due to the fact it uses preprocessed source files.
-
-The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix,
--isystem, -isysroot happen and the correct sysroot is used.
-
-[YOCTO #2074]
-
-RP 2012/04/13
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/cp/lang-specs.h | 2 +-
- gcc/gcc.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
-index c6e42eda283..e1ddf066467 100644
---- a/gcc/cp/lang-specs.h
-+++ b/gcc/cp/lang-specs.h
-@@ -66,5 +66,5 @@ along with GCC; see the file COPYING3. If not see
- {".ii", "@c++-cpp-output", 0, 0, 0},
- {"@c++-cpp-output",
- "%{!E:%{!M:%{!MM:"
-- " cc1plus -fpreprocessed %i %(cc1_options) %2"
-+ " cc1plus -fpreprocessed %i %I %(cc1_options) %2"
- " %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 30845e5b125..cef26c454d7 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1349,7 +1349,7 @@ static const struct compiler default_compilers[] =
- %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
- {".i", "@cpp-output", 0, 0, 0},
- {"@cpp-output",
-- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
-+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
- {".s", "@assembler", 0, 0, 0},
- {"@assembler",
- "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch
deleted file mode 100644
index d59a31be1..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0011-MIPS64-Default-to-N64-ABI.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 52b915732de89d8676868641af462df81211bb39 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:23:08 +0400
-Subject: [PATCH 11/37] MIPS64: Default to N64 ABI
-
-MIPS64 defaults to n32 ABI, this patch makes it
-so that it defaults to N64 ABI
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [OE config specific]
----
- gcc/config.gcc | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/gcc/config.gcc b/gcc/config.gcc
-index a189cb19f63..293ed8d585d 100644
---- a/gcc/config.gcc
-+++ b/gcc/config.gcc
-@@ -2267,29 +2267,29 @@ mips*-*-linux*) # Linux MIPS, either endian.
- default_mips_arch=mips32
- ;;
- mips64el-st-linux-gnu)
-- default_mips_abi=n32
-+ default_mips_abi=64
- tm_file="${tm_file} mips/st.h"
- tmake_file="${tmake_file} mips/t-st"
- enable_mips_multilibs="yes"
- ;;
- mips64octeon*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
- target_cpu_default=MASK_SOFT_FLOAT_ABI
- enable_mips_multilibs="yes"
- ;;
- mipsisa64r6*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- default_mips_arch=mips64r6
- enable_mips_multilibs="yes"
- ;;
- mipsisa64r2*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- default_mips_arch=mips64r2
- enable_mips_multilibs="yes"
- ;;
- mips64*-*-linux* | mipsisa64*-*-linux*)
-- default_mips_abi=n32
-+ default_mips_abi=64
- enable_mips_multilibs="yes"
- ;;
- esac
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
deleted file mode 100644
index f23a314c1..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0012-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
+++ /dev/null
@@ -1,232 +0,0 @@
-From 492f008dce784749e39e1c396aeea6fa1d977374 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:24:50 +0400
-Subject: [PATCH 12/37] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
- relative to SYSTEMLIBS_DIR
-
-This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
-relative to SYSTEMLIBS_DIR which can be set in generated headers
-This breaks the assumption of hardcoded multilib in gcc
-Change is only for the supported architectures in OE including
-SH, sparc, alpha for possible future support (if any)
-
-Removes the do_headerfix task in metadata
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Inappropriate [OE configuration]
----
- gcc/config/alpha/linux-elf.h | 4 ++--
- gcc/config/arm/linux-eabi.h | 4 ++--
- gcc/config/arm/linux-elf.h | 2 +-
- gcc/config/i386/linux.h | 2 +-
- gcc/config/i386/linux64.h | 6 +++---
- gcc/config/linux.h | 8 ++++----
- gcc/config/mips/linux.h | 12 ++++++------
- gcc/config/rs6000/linux64.h | 15 +++++----------
- gcc/config/sh/linux.h | 2 +-
- gcc/config/sparc/linux.h | 2 +-
- gcc/config/sparc/linux64.h | 4 ++--
- 11 files changed, 28 insertions(+), 33 deletions(-)
-
-diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
-index 824861befec..6afacce3292 100644
---- a/gcc/config/alpha/linux-elf.h
-+++ b/gcc/config/alpha/linux-elf.h
-@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
- #define EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
--#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
- #if DEFAULT_LIBC == LIBC_UCLIBC
- #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
- #elif DEFAULT_LIBC == LIBC_GLIBC
-diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index 66ec0ea3980..e4ade2e2ab0 100644
---- a/gcc/config/arm/linux-eabi.h
-+++ b/gcc/config/arm/linux-eabi.h
-@@ -65,8 +65,8 @@
- GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
-
- #undef GLIBC_DYNAMIC_LINKER
--#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
--#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
-+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3"
-+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3"
- #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
-
- #define GLIBC_DYNAMIC_LINKER \
-diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
-index 9a360defd21..98f6e960b64 100644
---- a/gcc/config/arm/linux-elf.h
-+++ b/gcc/config/arm/linux-elf.h
-@@ -60,7 +60,7 @@
-
- #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #define LINUX_TARGET_LINK_SPEC "%{h*} \
- %{static:-Bstatic} \
-diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
-index 9a6e2d99896..31efbb73016 100644
---- a/gcc/config/i386/linux.h
-+++ b/gcc/config/i386/linux.h
-@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
- <http://www.gnu.org/licenses/>. */
-
- #define GNU_USER_LINK_EMULATION "elf_i386"
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef MUSL_DYNAMIC_LINKER
- #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
-diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
-index c08221c4210..dbb474d792b 100644
---- a/gcc/config/i386/linux64.h
-+++ b/gcc/config/i386/linux64.h
-@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
- #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
--#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
-+#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
-
- #undef MUSL_DYNAMIC_LINKER32
- #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
-diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index c3c4a219e67..4b05d8e93d1 100644
---- a/gcc/config/linux.h
-+++ b/gcc/config/linux.h
-@@ -94,10 +94,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
- GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
- supporting both 32-bit and 64-bit compilation. */
--#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
--#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
-+#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0"
- #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
- #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
- #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
-diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
-index 6f79ac9c01a..25de96f9561 100644
---- a/gcc/config/mips/linux.h
-+++ b/gcc/config/mips/linux.h
-@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see
- #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
-
- #define GLIBC_DYNAMIC_LINKER32 \
-- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
- #define GLIBC_DYNAMIC_LINKER64 \
-- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
- #define GLIBC_DYNAMIC_LINKERN32 \
-- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
-
- #undef UCLIBC_DYNAMIC_LINKER32
- #define UCLIBC_DYNAMIC_LINKER32 \
-- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
- #undef UCLIBC_DYNAMIC_LINKER64
- #define UCLIBC_DYNAMIC_LINKER64 \
-- "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}"
- #define UCLIBC_DYNAMIC_LINKERN32 \
-- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
-+ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
-
- #undef MUSL_DYNAMIC_LINKER32
- #define MUSL_DYNAMIC_LINKER32 \
-diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index bcc540b5ff2..982ca274621 100644
---- a/gcc/config/rs6000/linux64.h
-+++ b/gcc/config/rs6000/linux64.h
-@@ -428,24 +428,19 @@ extern int dot_symbols;
- #undef LINK_OS_DEFAULT_SPEC
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-
--#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
--
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
- #ifdef LINUX64_DEFAULT_ABI_ELFv2
--#define GLIBC_DYNAMIC_LINKER64 \
--"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
--":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
-+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}"
- #else
--#define GLIBC_DYNAMIC_LINKER64 \
--"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
--":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
-+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}"
- #endif
-
- #undef MUSL_DYNAMIC_LINKER32
- #define MUSL_DYNAMIC_LINKER32 \
-- "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-+ SYSTEMLIBS_DIR "ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
- #undef MUSL_DYNAMIC_LINKER64
- #define MUSL_DYNAMIC_LINKER64 \
-- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-+ SYSTEMLIBS_DIR "ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
-
- #undef DEFAULT_ASM_ENDIAN
- #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
-diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
-index c9897b7aca5..82f275319cc 100644
---- a/gcc/config/sh/linux.h
-+++ b/gcc/config/sh/linux.h
-@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
- "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
- "%{mfdpic:-fdpic}.so.1"
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
-diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
-index 2db9ea2172e..1979cfff5d3 100644
---- a/gcc/config/sparc/linux.h
-+++ b/gcc/config/sparc/linux.h
-@@ -83,7 +83,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
- When the -shared link option is used a final link is not being
- done. */
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #undef LINK_SPEC
- #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
-diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
-index 21e13001951..d39c38a531f 100644
---- a/gcc/config/sparc/linux64.h
-+++ b/gcc/config/sparc/linux64.h
-@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see
- When the -shared link option is used a final link is not being
- done. */
-
--#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
--#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
-+#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2"
-
- #ifdef SPARC_BI_ARCH
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0013-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0013-gcc-Fix-argument-list-too-long-error.patch
deleted file mode 100644
index f853ff90d..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0013-gcc-Fix-argument-list-too-long-error.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From d8a24eca2d7a222d4910c8a508d75d0d1418e201 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:26:37 +0400
-Subject: [PATCH 13/37] gcc: Fix argument list too long error.
-
-There would be an "Argument list too long" error when the
-build directory is longer than 200, this is caused by:
-
-headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`
-
-The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
-it, use the $(sort list) of GNU make which can handle the too long list
-would fix the problem, the header would be short enough after sorted.
-The "tr ' ' '\012'" was used for translating the space to "\n", the
-$(sort list) doesn't need this.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 3ccff1614bb..88b1aec732b 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -3538,7 +3538,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
- # We keep the directory structure for files in config or c-family and .def
- # files. All other files are flattened to a single directory.
- $(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
-- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
-+ headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
- for file in $$headers; do \
- if [ -f $$file ] ; then \
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch
deleted file mode 100644
index 945cf8f8a..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0014-Disable-sdt.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From d5e52580314ef6056ca701fcc030c7c884cb1d7f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:28:10 +0400
-Subject: [PATCH 14/37] Disable sdt.
-
-We don't list dtrace in DEPENDS so we shouldn't be depending on this header.
-It may or may not exist from preivous builds though. To be determinstic, disable
-sdt.h usage always. This avoids build failures if the header is removed after configure
-but before libgcc is compiled for example.
-
-RP 2012/8/7
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Disable sdt for libstdc++-v3.
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Upstream-Status: Inappropriate [hack]
----
- gcc/configure | 12 ++++++------
- gcc/configure.ac | 18 +++++++++---------
- libstdc++-v3/configure | 6 +++---
- libstdc++-v3/configure.ac | 2 +-
- 4 files changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index 7acc7e487b0..6a87ab693ea 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -29292,12 +29292,12 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
- $as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
- have_sys_sdt_h=no
--if test -f $target_header_dir/sys/sdt.h; then
-- have_sys_sdt_h=yes
--
--$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
--
--fi
-+#if test -f $target_header_dir/sys/sdt.h; then
-+# have_sys_sdt_h=yes
-+#
-+#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-+#
-+#fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
- $as_echo "$have_sys_sdt_h" >&6; }
-
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index f5d5e5c16a8..a50765171be 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -5985,15 +5985,15 @@ fi
- AC_SUBST([enable_default_ssp])
-
- # Test for <sys/sdt.h> on the target.
--GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
--AC_MSG_CHECKING(sys/sdt.h in the target C library)
--have_sys_sdt_h=no
--if test -f $target_header_dir/sys/sdt.h; then
-- have_sys_sdt_h=yes
-- AC_DEFINE(HAVE_SYS_SDT_H, 1,
-- [Define if your target C library provides sys/sdt.h])
--fi
--AC_MSG_RESULT($have_sys_sdt_h)
-+#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
-+#AC_MSG_CHECKING(sys/sdt.h in the target C library)
-+#have_sys_sdt_h=no
-+#if test -f $target_header_dir/sys/sdt.h; then
-+# have_sys_sdt_h=yes
-+# AC_DEFINE(HAVE_SYS_SDT_H, 1,
-+# [Define if your target C library provides sys/sdt.h])
-+#fi
-+#AC_MSG_RESULT($have_sys_sdt_h)
-
- # Check if TFmode long double should be used by default or not.
- # Some glibc targets used DFmode long double, but with glibc 2.4
-diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
-index 15848e364ab..8d3da1cc526 100755
---- a/libstdc++-v3/configure
-+++ b/libstdc++-v3/configure
-@@ -22084,11 +22084,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-- if test $glibcxx_cv_sys_sdt_h = yes; then
-+# if test $glibcxx_cv_sys_sdt_h = yes; then
-
--$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-+#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-
-- fi
-+# fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5
- $as_echo "$glibcxx_cv_sys_sdt_h" >&6; }
-
-diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
-index ad5b4117cfd..2341645ba6f 100644
---- a/libstdc++-v3/configure.ac
-+++ b/libstdc++-v3/configure.ac
-@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN
- GLIBCXX_CHECK_SC_NPROC_ONLN
- GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP
- GLIBCXX_CHECK_SYSCTL_HW_NCPU
--GLIBCXX_CHECK_SDT_H
-+#GLIBCXX_CHECK_SDT_H
-
- # Check for available headers.
- AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch
deleted file mode 100644
index 764460b89..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0015-libtool.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From d7c605d92094c75dc2717d9dd830e525b2c8b0ff Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:29:11 +0400
-Subject: [PATCH 15/37] libtool
-
-libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
-when running on am x86_64 build host.
-
-This patch stops this speading to libdir in the libstdc++.la file within libtool.
-Arguably, it shouldn't be passing this into libtool in the first place but
-for now this resolves the nastiest problems this causes.
-
-func_normal_abspath would resolve an empty path to `pwd` so we need
-to filter the zero case.
-
-RP 2012/8/24
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- ltmain.sh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 79f9ba89af5..8e222f7c16b 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -6359,6 +6359,10 @@ func_mode_link ()
- func_warning "ignoring multiple \`-rpath's for a libtool library"
-
- install_libdir="$1"
-+ if test -n "$install_libdir"; then
-+ func_normal_abspath "$install_libdir"
-+ install_libdir=$func_normal_abspath_result
-+ fi
-
- oldlibs=
- if test -z "$rpath"; then
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
deleted file mode 100644
index 398074b5c..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0016-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From c3addf8bc41190d46d98eb7690ff4583eebd5943 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:30:32 +0400
-Subject: [PATCH 16/37] gcc: armv4: pass fix-v4bx to linker to support EABI.
-
-The LINK_SPEC for linux gets overwritten by linux-eabi.h which
-means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
-the option is not passed to linker when chosing march=armv4
-This patch redefines this in linux-eabi.h and reinserts it
-for eabi defaulting toolchains.
-
-We might want to send it upstream.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- gcc/config/arm/linux-eabi.h | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index e4ade2e2ab0..108863f69d2 100644
---- a/gcc/config/arm/linux-eabi.h
-+++ b/gcc/config/arm/linux-eabi.h
-@@ -91,10 +91,14 @@
- #define MUSL_DYNAMIC_LINKER \
- "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
-
-+/* For armv4 we pass --fix-v4bx to linker to support EABI */
-+#undef TARGET_FIX_V4BX_SPEC
-+#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}"
-+
- /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
- use the GNU/Linux version, not the generic BPABI version. */
- #undef LINK_SPEC
--#define LINK_SPEC EABI_LINK_SPEC \
-+#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC \
- LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \
- LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch
deleted file mode 100644
index 7d5c94a64..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0017-Use-the-multilib-config-files-from-B-instead-of-usin.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From e1071f4e749586fcb3edcacf43d4dd44081d16ec Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Mar 2013 09:33:04 +0400
-Subject: [PATCH 17/37] Use the multilib config files from ${B} instead of
- using the ones from ${S}
-
-Use the multilib config files from ${B} instead of using the ones from ${S}
-so that the source can be shared between gcc-cross-initial,
-gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
-
-Upstream-Status: Inappropriate [configuration]
----
- gcc/configure | 22 ++++++++++++++++++----
- gcc/configure.ac | 22 ++++++++++++++++++----
- 2 files changed, 36 insertions(+), 8 deletions(-)
-
-diff --git a/gcc/configure b/gcc/configure
-index 6a87ab693ea..2e822caf66d 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -12321,10 +12321,20 @@ done
- tmake_file_=
- for f in ${tmake_file}
- do
-- if test -f ${srcdir}/config/$f
-- then
-- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-- fi
-+ case $f in
-+ */t-linux64 )
-+ if test -f ./config/$f
-+ then
-+ tmake_file_="${tmake_file_} ./config/$f"
-+ fi
-+ ;;
-+ * )
-+ if test -f ${srcdir}/config/$f
-+ then
-+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-+ fi
-+ ;;
-+ esac
- done
- tmake_file="${tmake_file_}"
-
-@@ -12335,6 +12345,10 @@ tm_file_list="options.h"
- tm_include_list="options.h insn-constants.h"
- for f in $tm_file; do
- case $f in
-+ */linux64.h )
-+ tm_file_list="${tm_file_list} ./config/$f"
-+ tm_include_list="${tm_include_list} ./config/$f"
-+ ;;
- ./* )
- f=`echo $f | sed 's/^..//'`
- tm_file_list="${tm_file_list} $f"
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index a50765171be..70e7bac78c4 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1948,10 +1948,20 @@ done
- tmake_file_=
- for f in ${tmake_file}
- do
-- if test -f ${srcdir}/config/$f
-- then
-- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-- fi
-+ case $f in
-+ */t-linux64 )
-+ if test -f ./config/$f
-+ then
-+ tmake_file_="${tmake_file_} ./config/$f"
-+ fi
-+ ;;
-+ * )
-+ if test -f ${srcdir}/config/$f
-+ then
-+ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
-+ fi
-+ ;;
-+ esac
- done
- tmake_file="${tmake_file_}"
-
-@@ -1962,6 +1972,10 @@ tm_file_list="options.h"
- tm_include_list="options.h insn-constants.h"
- for f in $tm_file; do
- case $f in
-+ */linux64.h )
-+ tm_file_list="${tm_file_list} ./config/$f"
-+ tm_include_list="${tm_include_list} ./config/$f"
-+ ;;
- ./* )
- f=`echo $f | sed 's/^..//'`
- tm_file_list="${tm_file_list} $f"
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
deleted file mode 100644
index 596337bc1..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0018-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 1ffbbb39c9848aa7a04da18fb79b1f0bd7731e00 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 09:39:38 +0000
-Subject: [PATCH 18/37] Avoid using libdir from .la which usually points to a
- host path
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Jonathan Liu <net147@gmail.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltmain.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 8e222f7c16b..0a93b4e5c3b 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -5628,6 +5628,9 @@ func_mode_link ()
- absdir="$abs_ladir"
- libdir="$abs_ladir"
- else
-+ # Instead of using libdir from .la which usually points to a host path,
-+ # use the path the .la is contained in.
-+ libdir="$abs_ladir"
- dir="$libdir"
- absdir="$libdir"
- fi
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch
deleted file mode 100644
index 50d17dd96..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0019-export-CPP.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 5ece023b88eaba16d8744f8f2ff72345ec3b7f92 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 09:40:59 +0000
-Subject: [PATCH 19/37] export CPP
-
-The OE environment sets and exports CPP as being the target gcc. When
-building gcc-cross-canadian for a mingw targetted sdk, the following can be found
-in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log:
-
-configure:3641: checking for _FILE_OFFSET_BITS value needed for large files
-configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5
-configure:3666: $? = 0
-configure:3698: result: no
-configure:3786: checking how to run the C preprocessor
-configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32
-configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
-configure:3876: $? = 0
-
-Note this is a *build* target (in build-x86_64-linux) so it should be
-using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32
-headers are very different, using the wrong cpp is a real problem. It is leaking
-into configure through the CPP variable. Ultimately this leads to build
-failures related to not being able to include a process.h file for pem-unix.c.
-
-The fix is to ensure we export a sane CPP value into the build
-environment when using build targets. We could define a CPP_FOR_BUILD value which may be
-the version which needs to be upstreamed but for now, this fix is good enough to
-avoid the problem.
-
-RP 22/08/2013
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile.in b/Makefile.in
-index 28539a45372..b21e0791f55 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -149,6 +149,7 @@ BUILD_EXPORTS = \
- AR="$(AR_FOR_BUILD)"; export AR; \
- AS="$(AS_FOR_BUILD)"; export AS; \
- CC="$(CC_FOR_BUILD)"; export CC; \
-+ CPP="$(CC_FOR_BUILD) -E"; export CPP; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch
deleted file mode 100644
index f37c6f39a..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0020-Ensure-target-gcc-headers-can-be-included.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 89f7a8e5c55b31bff011cd7466d78cd84d1eb307 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 10:25:11 +0000
-Subject: [PATCH 20/37] Ensure target gcc headers can be included
-
-There are a few headers installed as part of the OpenEmbedded
-gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe
-built for the target architecture, these are within the target
-sysroot and not cross/nativesdk; thus they weren't able to be
-found by gcc with the existing search paths. Add support for
-picking up these headers under the sysroot supplied on the gcc
-command line in order to resolve this.
-
-Upstream-Status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/Makefile.in | 2 ++
- gcc/cppdefault.c | 4 ++++
- gcc/defaults.h | 9 +++++++++
- gcc/gcc.c | 7 -------
- 4 files changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 88b1aec732b..eb1dc304de2 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -618,6 +618,7 @@ libexecdir = @libexecdir@
-
- # Directory in which the compiler finds libraries etc.
- libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
-+libsubdir_target = gcc/$(target_noncanonical)/$(version)
- # Directory in which the compiler finds executables
- libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
- # Directory in which all plugin resources are installed
-@@ -2867,6 +2868,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
-
- PREPROCESSOR_DEFINES = \
- -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
-+ -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \
- -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
- -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
- -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
-diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
-index c4796385643..980e2bd47a7 100644
---- a/gcc/cppdefault.c
-+++ b/gcc/cppdefault.c
-@@ -59,6 +59,10 @@ const struct default_include cpp_include_defaults[]
- /* This is the dir for gcc's private headers. */
- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
- #endif
-+#ifdef GCC_INCLUDE_SUBDIR_TARGET
-+ /* This is the dir for gcc's private headers under the specified sysroot. */
-+ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
-+#endif
- #ifdef LOCAL_INCLUDE_DIR
- /* /usr/local/include comes before the fixincluded header files. */
- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
-diff --git a/gcc/defaults.h b/gcc/defaults.h
-index b7534256119..41ca579b267 100644
---- a/gcc/defaults.h
-+++ b/gcc/defaults.h
-@@ -1459,4 +1459,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB
- #endif
-
-+/* Default prefixes to attach to command names. */
-+
-+#ifndef STANDARD_STARTFILE_PREFIX_1
-+#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
-+#endif
-+#ifndef STANDARD_STARTFILE_PREFIX_2
-+#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
-+#endif
-+
- #endif /* ! GCC_DEFAULTS_H */
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index cef26c454d7..14b1a6e8c44 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -1470,13 +1470,6 @@ static const char *gcc_libexec_prefix;
-
- /* Default prefixes to attach to command names. */
-
--#ifndef STANDARD_STARTFILE_PREFIX_1
--#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
--#endif
--#ifndef STANDARD_STARTFILE_PREFIX_2
--#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
--#endif
--
- #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */
- #undef MD_EXEC_PREFIX
- #undef MD_STARTFILE_PREFIX
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
deleted file mode 100644
index ef985727a..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0021-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 2a1895aca3d9020d0d5ac74975221727384ef8a6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Feb 2015 11:17:19 +0000
-Subject: [PATCH 21/37] gcc 4.8+ won't build with --disable-dependency-tracking
-
-since the *.Ppo files don't get created unless --enable-dependency-tracking is true.
-
-This patch ensures we only use those compiler options when its enabled.
-
-Upstream-Status: Submitted
-
-(Problem was already reported upstream, attached this patch there
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930)
-
-RP
-2012/09/22
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libatomic/Makefile.am | 3 ++-
- libatomic/Makefile.in | 3 ++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
-index c1b7c73934a..ef43d62c07a 100644
---- a/libatomic/Makefile.am
-+++ b/libatomic/Makefile.am
-@@ -101,7 +101,8 @@ PAT_S = $(word 3,$(PAT_SPLIT))
- IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
- IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
-
--M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_FALSE@M_DEPS =
- M_SIZE = -DN=$(PAT_N)
- M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
- M_FILE = $(PAT_BASE)_n.c
-diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
-index 29324e3e0ac..d5cdb4259ef 100644
---- a/libatomic/Makefile.in
-+++ b/libatomic/Makefile.in
-@@ -414,7 +414,8 @@ PAT_N = $(word 2,$(PAT_SPLIT))
- PAT_S = $(word 3,$(PAT_SPLIT))
- IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
- IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
--M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
-+@AMDEP_FALSE@M_DEPS =
- M_SIZE = -DN=$(PAT_N)
- M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
- M_FILE = $(PAT_BASE)_n.c
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch
deleted file mode 100644
index 8316c4d81..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0022-Don-t-search-host-directory-during-relink-if-inst_pr.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 4b9f8cfbfb48a1a9781b7c3a9b867732ef37b7c5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 3 Mar 2015 08:21:19 +0000
-Subject: [PATCH 22/37] Don't search host directory during "relink" if
- $inst_prefix is provided
-
-http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html
-
-Upstream-Status: Submitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ltmain.sh | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 0a93b4e5c3b..6de6ed2f9a0 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -6004,12 +6004,13 @@ func_mode_link ()
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
-+ # Default if $libdir is not relative to the prefix:
- add_dir="-L$libdir"
-- # Try looking first in the location we're being installed to.
-+
- if test -n "$inst_prefix_dir"; then
- case $libdir in
- [\\/]*)
-- add_dir="$add_dir -L$inst_prefix_dir$libdir"
-+ add_dir="-L$inst_prefix_dir$libdir"
- ;;
- esac
- fi
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
deleted file mode 100644
index fdea599ab..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0023-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 3a554b321250f6ddf1277e5559890ee977e78cb0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Apr 2015 23:15:27 -0700
-Subject: [PATCH 23/37] Use SYSTEMLIBS_DIR replacement instead of hardcoding
- base_libdir
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/aarch64/aarch64-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
-index 9d0292d64f2..51661995fc7 100644
---- a/gcc/config/aarch64/aarch64-linux.h
-+++ b/gcc/config/aarch64/aarch64-linux.h
-@@ -21,7 +21,7 @@
- #ifndef GCC_AARCH64_LINUX_H
- #define GCC_AARCH64_LINUX_H
-
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-+#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef MUSL_DYNAMIC_LINKER
- #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0024-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0024-aarch64-Add-support-for-musl-ldso.patch
deleted file mode 100644
index f53c9949c..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0024-aarch64-Add-support-for-musl-ldso.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b7001034f35e7e5090fa95cb9a622469300cd45d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 28 Apr 2015 23:18:39 -0700
-Subject: [PATCH 24/37] aarch64: Add support for musl ldso
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/aarch64/aarch64-linux.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
-index 51661995fc7..db687f753f6 100644
---- a/gcc/config/aarch64/aarch64-linux.h
-+++ b/gcc/config/aarch64/aarch64-linux.h
-@@ -24,7 +24,7 @@
- #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef MUSL_DYNAMIC_LINKER
--#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-+#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
-
- #undef ASAN_CC1_SPEC
- #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch
deleted file mode 100644
index 7b80655b6..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0025-libcc1-fix-libcc1-s-install-path-and-rpath.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 4d05ea7a12d1ba4515220c5c16f71ac650219db6 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Sun, 5 Jul 2015 20:25:18 -0700
-Subject: [PATCH 25/37] libcc1: fix libcc1's install path and rpath
-
-* Install libcc1.so and libcc1plugin.so into
- $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
- had done to lto-plugin.
-* Fix bad RPATH iussue:
- gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file
- /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0
- [rpaths]
-
-Upstream-Status: Inappropriate [OE configuration]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- libcc1/Makefile.am | 4 ++--
- libcc1/Makefile.in | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
-index 72c6aead475..42a87740b31 100644
---- a/libcc1/Makefile.am
-+++ b/libcc1/Makefile.am
-@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
- $(Wc)$(libiberty_normal)))
- libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
-
--plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
--cc1libdir = $(libdir)/$(libsuffix)
-+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
-+plugindir = $(cc1libdir)
-
- if ENABLE_PLUGIN
- plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
-diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
-index 7104b649026..2103c477468 100644
---- a/libcc1/Makefile.in
-+++ b/libcc1/Makefile.in
-@@ -393,8 +393,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
- $(Wc)$(libiberty_normal)))
-
- libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
--plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
--cc1libdir = $(libdir)/$(libsuffix)
-+cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
-+plugindir = $(cc1libdir)
- @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
- @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
- shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0026-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0026-handle-sysroot-support-for-nativesdk-gcc.patch
deleted file mode 100644
index 7062c0319..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0026-handle-sysroot-support-for-nativesdk-gcc.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-From fe175ac845f1ac6965ede0240e9b763ae520614d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:39:54 +0000
-Subject: [PATCH 26/37] handle sysroot support for nativesdk-gcc
-
-Being able to build a nativesdk gcc is useful, particularly in cases
-where the host compiler may be of an incompatible version (or a 32
-bit compiler is needed).
-
-Sadly, building nativesdk-gcc is not straight forward. We install
-nativesdk-gcc into a relocatable location and this means that its
-library locations can change. "Normal" sysroot support doesn't help
-in this case since the values of paths like "libdir" change, not just
-base root directory of the system.
-
-In order to handle this we do two things:
-
-a) Add %r into spec file markup which can be used for injected paths
- such as SYSTEMLIBS_DIR (see gcc_multilib_setup()).
-b) Add other paths which need relocation into a .gccrelocprefix section
- which the relocation code will notice and adjust automatically.
-
-Upstream-Status: Inappropriate
-RP 2015/7/28
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++-------------
- gcc/cppdefault.h | 3 ++-
- gcc/gcc.c | 20 +++++++++++++------
- 3 files changed, 53 insertions(+), 20 deletions(-)
-
-diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
-index 980e2bd47a7..39b6059efdc 100644
---- a/gcc/cppdefault.c
-+++ b/gcc/cppdefault.c
-@@ -35,6 +35,30 @@
- # undef CROSS_INCLUDE_DIR
- #endif
-
-+static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR;
-+static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR;
-+static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR;
-+static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
-+static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET;
-+#ifdef LOCAL_INCLUDE_DIR
-+static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR;
-+#endif
-+#ifdef PREFIX_INCLUDE_DIR
-+static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR;
-+#endif
-+#ifdef FIXED_INCLUDE_DIR
-+static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR;
-+#endif
-+#ifdef CROSS_INCLUDE_DIR
-+static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR;
-+#endif
-+#ifdef TOOL_INCLUDE_DIR
-+static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR;
-+#endif
-+#ifdef NATIVE_SYSTEM_HEADER_DIR
-+static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR;
-+#endif
-+
- const struct default_include cpp_include_defaults[]
- #ifdef INCLUDE_DEFAULTS
- = INCLUDE_DEFAULTS;
-@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[]
- = {
- #ifdef GPLUSPLUS_INCLUDE_DIR
- /* Pick up GNU C++ generic include files. */
-- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
- #endif
- #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
- /* Pick up GNU C++ target-dependent include files. */
-- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 },
- #endif
- #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
- /* Pick up GNU C++ backward and deprecated include files. */
-- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,
-+ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1,
- GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
- #endif
- #ifdef GCC_INCLUDE_DIR
- /* This is the dir for gcc's private headers. */
-- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
-+ { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
- #endif
- #ifdef GCC_INCLUDE_SUBDIR_TARGET
- /* This is the dir for gcc's private headers under the specified sysroot. */
-- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
-+ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 },
- #endif
- #ifdef LOCAL_INCLUDE_DIR
- /* /usr/local/include comes before the fixincluded header files. */
-- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
-- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
-+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 },
-+ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 },
- #endif
- #ifdef PREFIX_INCLUDE_DIR
-- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 },
-+ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 },
- #endif
- #ifdef FIXED_INCLUDE_DIR
- /* This is the dir for fixincludes. */
-- { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0,
-+ { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0,
- /* A multilib suffix needs adding if different multilibs use
- different headers. */
- #ifdef SYSROOT_HEADERS_SUFFIX_SPEC
-@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[]
- #endif
- #ifdef CROSS_INCLUDE_DIR
- /* One place the target system's headers might be. */
-- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
-+ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
- #endif
- #ifdef TOOL_INCLUDE_DIR
- /* Another place the target system's headers might be. */
-- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 },
-+ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 },
- #endif
- #ifdef NATIVE_SYSTEM_HEADER_DIR
- /* /usr/include comes dead last. */
-- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
-- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
-+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
-+ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
- #endif
- { 0, 0, 0, 0, 0, 0 }
- };
-diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
-index e2d96f1e760..29fa5f815c8 100644
---- a/gcc/cppdefault.h
-+++ b/gcc/cppdefault.h
-@@ -33,7 +33,8 @@
-
- struct default_include
- {
-- const char *const fname; /* The name of the directory. */
-+ const char *fname; /* The name of the directory. */
-+
- const char *const component; /* The component containing the directory
- (see update_path in prefix.c) */
- const char cplusplus; /* Only look here if we're compiling C++. */
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 14b1a6e8c44..857310092d9 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -253,6 +253,8 @@ FILE *report_times_to_file = NULL;
- #endif
- static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
-
-+static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR;
-+
- /* Nonzero means pass the updated target_system_root to the compiler. */
-
- static int target_system_root_changed;
-@@ -527,6 +529,7 @@ or with constant text in a single argument.
- %G process LIBGCC_SPEC as a spec.
- %R Output the concatenation of target_system_root and
- target_sysroot_suffix.
-+ %r Output the base path target_relocatable_prefix
- %S process STARTFILE_SPEC as a spec. A capital S is actually used here.
- %E process ENDFILE_SPEC as a spec. A capital E is actually used here.
- %C process CPP_SPEC as a spec.
-@@ -1493,10 +1496,10 @@ static const char *gcc_libexec_prefix;
- gcc_exec_prefix is set because, in that case, we know where the
- compiler has been installed, and use paths relative to that
- location instead. */
--static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
--static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX;
--static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX;
--static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
-+static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX;
-+static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX;
-+static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX;
-+static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
-
- /* For native compilers, these are well-known paths containing
- components that may be provided by the system. For cross
-@@ -1504,9 +1507,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
- static const char *md_exec_prefix = MD_EXEC_PREFIX;
- static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
- static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
--static const char *const standard_startfile_prefix_1
-+static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix")))
- = STANDARD_STARTFILE_PREFIX_1;
--static const char *const standard_startfile_prefix_2
-+static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix")))
- = STANDARD_STARTFILE_PREFIX_2;
-
- /* A relative path to be used in finding the location of tools
-@@ -5915,6 +5918,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
- }
- break;
-
-+ case 'r':
-+ obstack_grow (&obstack, target_relocatable_prefix,
-+ strlen (target_relocatable_prefix));
-+ break;
-+
- case 'S':
- value = do_spec_1 (startfile_spec, 0, NULL);
- if (value != 0)
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch
deleted file mode 100644
index e3ec943bf..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0027-Search-target-sysroot-gcc-version-specific-dirs-with.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From bf07530706382c90fb89f7d8a727eb9aeb29a56a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:41:45 +0000
-Subject: [PATCH 27/37] Search target sysroot gcc version specific dirs with
- multilib.
-
-We install the gcc libraries (such as crtbegin.p) into
-<sysroot><libdir>/<target-sys>/5.2.0/
-which is a default search path for GCC (aka multi_suffix in the
-code below). <target-sys> is 'machine' in gcc's terminology. We use
-these directories so that multiple gcc versions could in theory
-co-exist on target.
-
-We only want to build one gcc-cross-canadian per arch and have this work
-for all multilibs. <target-sys> can be handled by mapping the multilib
-<target-sys> to the one used by gcc-cross-canadian, e.g.
-mips64-polkmllib32-linux
-is symlinked to by mips64-poky-linux.
-
-The default gcc search path in the target sysroot for a "lib64" mutlilib
-is:
-
-<sysroot>/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/../lib64/
-<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/../lib64/
-<sysroot>/lib32/
-<sysroot>/usr/lib32/
-
-which means that the lib32 crtbegin.o will be found and the lib64 ones
-will not which leads to compiler failures.
-
-This patch injects a multilib version of that path first so the lib64
-binaries can be found first. With this change the search path becomes:
-
-<sysroot>/lib32/../lib64/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/lib32/../lib64/
-<sysroot>/usr/lib32/../lib64/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
-<sysroot>/usr/lib32/../lib64/
-<sysroot>/lib32/
-<sysroot>/usr/lib32/
-
-Upstream-Status: Pending
-RP 2015/7/31
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/gcc.c | 29 ++++++++++++++++++++++++++++-
- 1 file changed, 28 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/gcc.c b/gcc/gcc.c
-index 857310092d9..6363e63b8ff 100644
---- a/gcc/gcc.c
-+++ b/gcc/gcc.c
-@@ -2610,7 +2610,7 @@ for_each_path (const struct path_prefix *paths,
- if (path == NULL)
- {
- len = paths->max_len + extra_space + 1;
-- len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len);
-+ len += MAX ((suffix_len + multi_os_dir_len), multiarch_len);
- path = XNEWVEC (char, len);
- }
-
-@@ -2622,6 +2622,33 @@ for_each_path (const struct path_prefix *paths,
- /* Look first in MACHINE/VERSION subdirectory. */
- if (!skip_multi_dir)
- {
-+ if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir))
-+ {
-+ const char *this_multi;
-+ size_t this_multi_len;
-+
-+ if (pl->os_multilib)
-+ {
-+ this_multi = multi_os_dir;
-+ this_multi_len = multi_os_dir_len;
-+ }
-+ else
-+ {
-+ this_multi = multi_dir;
-+ this_multi_len = multi_dir_len;
-+ }
-+
-+ /* Look in multilib MACHINE/VERSION subdirectory first */
-+ if (this_multi_len)
-+ {
-+ memcpy (path + len, this_multi, this_multi_len + 1);
-+ memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1);
-+ ret = callback (path, callback_info);
-+ if (ret)
-+ break;
-+ }
-+ }
-+
- memcpy (path + len, multi_suffix, suffix_len + 1);
- ret = callback (path, callback_info);
- if (ret)
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0028-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0028-Fix-various-_FOR_BUILD-and-related-variables.patch
deleted file mode 100644
index bdcbd323c..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0028-Fix-various-_FOR_BUILD-and-related-variables.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 16ab14b7221b3491cd43ab745f57b60ca83089df Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 7 Dec 2015 23:42:45 +0000
-Subject: [PATCH 28/37] Fix various _FOR_BUILD and related variables
-
-When doing a FOR_BUILD thing, you have to override CFLAGS with
-CFLAGS_FOR_BUILD. And if you use C++, you also have to override
-CXXFLAGS with CXXFLAGS_FOR_BUILD.
-Without this, when building for mingw, you end up trying to use
-the mingw headers for a host build.
-
-The same goes for other variables as well, such as CPPFLAGS,
-CPP, and GMPINC.
-
-Upstream-Status: Pending
-
-Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile.in | 6 ++++++
- Makefile.tpl | 5 +++++
- gcc/Makefile.in | 2 +-
- gcc/configure | 2 +-
- gcc/configure.ac | 2 +-
- 5 files changed, 14 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index b21e0791f55..0e573791202 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
- CPP="$(CC_FOR_BUILD) -E"; export CPP; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
-@@ -171,6 +172,9 @@ BUILD_EXPORTS = \
- # built for the build system to override those in BASE_FLAGS_TO_PASS.
- EXTRA_BUILD_FLAGS = \
- CFLAGS="$(CFLAGS_FOR_BUILD)" \
-+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
-+ CPP="$(CC_FOR_BUILD) -E" \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
- LDFLAGS="$(LDFLAGS_FOR_BUILD)"
-
- # This is the list of directories to built for the host system.
-@@ -188,6 +192,7 @@ HOST_SUBDIR = @host_subdir@
- HOST_EXPORTS = \
- $(BASE_EXPORTS) \
- CC="$(CC)"; export CC; \
-+ CPP="$(CC) -E"; export CPP; \
- ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-@@ -775,6 +780,7 @@ BASE_FLAGS_TO_PASS = \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
- "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
-+ "CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \
- "EXPECT=$(EXPECT)" \
- "FLEX=$(FLEX)" \
- "INSTALL=$(INSTALL)" \
-diff --git a/Makefile.tpl b/Makefile.tpl
-index 126296fb49a..15fb236bcc0 100644
---- a/Makefile.tpl
-+++ b/Makefile.tpl
-@@ -154,6 +154,7 @@ BUILD_EXPORTS = \
- CC="$(CC_FOR_BUILD)"; export CC; \
- CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
- CXX="$(CXX_FOR_BUILD)"; export CXX; \
- CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
-@@ -173,6 +174,9 @@ BUILD_EXPORTS = \
- # built for the build system to override those in BASE_FLAGS_TO_PASS.
- EXTRA_BUILD_FLAGS = \
- CFLAGS="$(CFLAGS_FOR_BUILD)" \
-+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
-+ CPP="$(CC_FOR_BUILD) -E" \
-+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
- LDFLAGS="$(LDFLAGS_FOR_BUILD)"
-
- # This is the list of directories to built for the host system.
-@@ -190,6 +194,7 @@ HOST_SUBDIR = @host_subdir@
- HOST_EXPORTS = \
- $(BASE_EXPORTS) \
- CC="$(CC)"; export CC; \
-+ CPP="$(CC) -E"; export CPP; \
- ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
- CFLAGS="$(CFLAGS)"; export CFLAGS; \
- CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index eb1dc304de2..93a43146846 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -805,7 +805,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@
- BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
- BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
- BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
-- -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
-+ -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD)
-
- # Actual name to use when installing a native compiler.
- GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
-diff --git a/gcc/configure b/gcc/configure
-index 2e822caf66d..2c50676a2bf 100755
---- a/gcc/configure
-+++ b/gcc/configure
-@@ -11965,7 +11965,7 @@ else
- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
- CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
- LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
-- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
-+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
- ${realsrcdir}/configure \
- --enable-languages=${enable_languages-all} \
- --target=$target_alias --host=$build_alias --build=$build_alias
-diff --git a/gcc/configure.ac b/gcc/configure.ac
-index 70e7bac78c4..d29eb580429 100644
---- a/gcc/configure.ac
-+++ b/gcc/configure.ac
-@@ -1743,7 +1743,7 @@ else
- CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
- CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
- LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
-- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
-+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
- ${realsrcdir}/configure \
- --enable-languages=${enable_languages-all} \
- --target=$target_alias --host=$build_alias --build=$build_alias
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch
deleted file mode 100644
index 08da1ab98..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0029-nios2-Define-MUSL_DYNAMIC_LINKER.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From e293df9a5734b43cb60cc47a3f5ff9af50fee3aa Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 2 Feb 2016 10:26:10 -0800
-Subject: [PATCH 29/37] nios2: Define MUSL_DYNAMIC_LINKER
-
-Upstream-Status: Pending
-
-Signed-off-by: Marek Vasut <marex@denx.de>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/nios2/linux.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
-index 698734add35..eeee60ecfea 100644
---- a/gcc/config/nios2/linux.h
-+++ b/gcc/config/nios2/linux.h
-@@ -30,6 +30,7 @@
- #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
-+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1"
-
- #undef LINK_SPEC
- #define LINK_SPEC LINK_SPEC_ENDIAN \
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
deleted file mode 100644
index 792e85261..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0030-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 6232013df7fd65c994869789fa4b93c8d2303d1c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 27 Jun 2017 18:10:54 -0700
-Subject: [PATCH 30/37] Add ssp_nonshared to link commandline for musl targets
-
-when -fstack-protector options are enabled we need to
-link with ssp_shared on musl since it does not provide
-the __stack_chk_fail_local() so essentially it provides
-libssp but not libssp_nonshared something like
-TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED
- where-as for glibc the needed symbols
-are already present in libc_nonshared library therefore
-we do not need any library helper on glibc based systems
-but musl needs the libssp_noshared from gcc
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/linux.h | 7 +++++++
- gcc/config/rs6000/linux.h | 10 ++++++++++
- gcc/config/rs6000/linux64.h | 10 ++++++++++
- 3 files changed, 27 insertions(+)
-
-diff --git a/gcc/config/linux.h b/gcc/config/linux.h
-index 4b05d8e93d1..0ca117e2ed4 100644
---- a/gcc/config/linux.h
-+++ b/gcc/config/linux.h
-@@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
- { 0, 0, 0, 0, 0, 0 } \
- }
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+
- #endif
-
- #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
-diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
-index 96b97877989..0bbde54c844 100644
---- a/gcc/config/rs6000/linux.h
-+++ b/gcc/config/rs6000/linux.h
-@@ -107,6 +107,16 @@
- " -m elf32ppclinux")
- #endif
-
-+/* link libssp_nonshared.a with musl */
-+#if DEFAULT_LIBC == LIBC_MUSL
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+#endif
-+
- #undef LINK_OS_LINUX_SPEC
- #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
- %{!static-pie: \
-diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
-index 982ca274621..83c07b275da 100644
---- a/gcc/config/rs6000/linux64.h
-+++ b/gcc/config/rs6000/linux64.h
-@@ -461,6 +461,16 @@ extern int dot_symbols;
- " -m elf64ppc")
- #endif
-
-+/* link libssp_nonshared.a with musl */
-+#if DEFAULT_LIBC == LIBC_MUSL
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+#undef LINK_SSP_SPEC
-+#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
-+ "|fstack-protector-strong|fstack-protector-explicit" \
-+ ":-lssp_nonshared}"
-+#endif
-+#endif
-+
- #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
- %{!static-pie: \
- %{rdynamic:-export-dynamic} \
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
deleted file mode 100644
index efa40bec5..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0031-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 1877b2ee5835a3716e6544706fbccd8c656e0a32 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 Apr 2016 20:03:28 +0000
-Subject: [PATCH 31/37] libgcc: Add knob to use ldbl-128 on ppc
-
-musl does not support ldbl 128 so we can not assume
-that linux as a whole supports ldbl-128 bits, instead
-act upon configure option passed to gcc and assume no
-on musl and yes otherwise if no option is passed since
-default behaviour is to assume ldbl128 it does not
-change the defaults
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libgcc/Makefile.in | 1 +
- libgcc/config/rs6000/t-linux | 5 ++++-
- libgcc/configure | 18 ++++++++++++++++++
- libgcc/configure.ac | 12 ++++++++++++
- 4 files changed, 35 insertions(+), 1 deletion(-)
- mode change 100644 => 100755 libgcc/configure
-
-diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
-index ea390a5bbea..114c7876304 100644
---- a/libgcc/Makefile.in
-+++ b/libgcc/Makefile.in
-@@ -50,6 +50,7 @@ unwind_header = @unwind_header@
- md_unwind_header = @md_unwind_header@
- sfp_machine_header = @sfp_machine_header@
- thread_header = @thread_header@
-+with_ldbl128 = @with_ldbl128@
-
- host_noncanonical = @host_noncanonical@
- real_host_noncanonical = @real_host_noncanonical@
-diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux
-index 4f6d4c4a4d2..c50dd94a2da 100644
---- a/libgcc/config/rs6000/t-linux
-+++ b/libgcc/config/rs6000/t-linux
-@@ -1,3 +1,6 @@
- SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
-
--HOST_LIBGCC2_CFLAGS += -mlong-double-128 -mno-minimal-toc
-+ifeq ($(with_ldbl128),yes)
-+HOST_LIBGCC2_CFLAGS += -mlong-double-128
-+endif
-+HOST_LIBGCC2_CFLAGS += -mno-minimal-toc
-diff --git a/libgcc/configure b/libgcc/configure
-old mode 100644
-new mode 100755
-index 36dbbc1f699..b5dd5c34e2a
---- a/libgcc/configure
-+++ b/libgcc/configure
-@@ -651,6 +651,7 @@ build_vendor
- build_cpu
- build
- with_aix_soname
-+with_ldbl128
- enable_vtable_verify
- enable_gcov
- enable_shared
-@@ -702,6 +703,7 @@ with_ld
- enable_shared
- enable_gcov
- enable_vtable_verify
-+with_long_double_128
- with_aix_soname
- enable_version_specific_runtime_libs
- with_slibdir
-@@ -1363,6 +1365,7 @@ Optional Packages:
- --with-target-subdir=SUBDIR Configuring in a subdirectory for target
- --with-cross-host=HOST Configuring with a cross compiler
- --with-ld arrange to use the specified ld (full pathname)
-+ --with-long-double-128 use 128-bit long double by default
- --with-aix-soname=aix|svr4|both
- shared library versioning (aka "SONAME") variant to
- provide on AIX
-@@ -2268,6 +2271,21 @@ fi
-
-
-
-+# Check whether --with-long-double-128 was given.
-+if test "${with_long_double_128+set}" = set; then :
-+ withval=$with_long_double_128; with_ldbl128="$with_long_double_128"
-+else
-+ case "${host}" in
-+ power*-*-musl*)
-+ with_ldbl128="no";;
-+ *) with_ldbl128="yes";;
-+ esac
-+
-+fi
-+
-+
-+
-+
- # Check whether --with-aix-soname was given.
- if test "${with_aix_soname+set}" = set; then :
- withval=$with_aix_soname; case "${host}:${enable_shared}" in
-diff --git a/libgcc/configure.ac b/libgcc/configure.ac
-index 8e96cafdf8b..9247856bf24 100644
---- a/libgcc/configure.ac
-+++ b/libgcc/configure.ac
-@@ -82,6 +82,18 @@ AC_ARG_ENABLE(vtable-verify,
- [enable_vtable_verify=no])
- AC_SUBST(enable_vtable_verify)
-
-+AC_ARG_WITH(long-double-128,
-+[AS_HELP_STRING([--with-long-double-128],
-+ [use 128-bit long double by default])],
-+ with_ldbl128="$with_long_double_128",
-+[case "${host}" in
-+ power*-*-musl*)
-+ with_ldbl128="no";;
-+ *) with_ldbl128="yes";;
-+ esac
-+])
-+AC_SUBST(with_ldbl128)
-+
- AC_ARG_WITH(aix-soname,
- [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
- [shared library versioning (aka "SONAME") variant to provide on AIX])],
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
deleted file mode 100644
index 3de8345f9..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0032-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 9d76a765a12677597134953352b25dc16dea721e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 4 May 2016 21:11:34 -0700
-Subject: [PATCH 32/37] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
-
-Upstream-Status: Pending
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libgcc/config/t-slibgcc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
-index 099bf23e62f..436b277a79f 100644
---- a/libgcc/config/t-slibgcc
-+++ b/libgcc/config/t-slibgcc
-@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
- $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
-
- SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-- $(SHLIB_LDFLAGS) \
-+ $(LDFLAGS) $(SHLIB_LDFLAGS) \
- -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
- $(SHLIB_OBJS) $(SHLIB_LC) && \
- rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
deleted file mode 100644
index d8cc64321..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0033-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 6c001e08bcd0568367a4aa2f991ab7d85b43a43d Mon Sep 17 00:00:00 2001
-From: Szabolcs Nagy <nsz@port70.net>
-Date: Sat, 24 Oct 2015 20:09:53 +0000
-Subject: [PATCH 33/37] libgcc_s: Use alias for __cpu_indicator_init instead of
- symver
-
-Adapter from
-
-https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html
-
-This fix was debated but hasnt been applied gcc upstream since
-they expect musl to support '@' in symbol versioning which is
-a sun/gnu versioning extention. This patch however avoids the
-need for the '@' symbols at all
-
-libgcc/Changelog:
-
-2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add.
- (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove.
-
- * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER.
-
-gcc/Changelog:
-
-2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init
- call __cpu_indicator_init_local instead of __cpu_indicator_init.
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/i386/i386.c | 4 ++--
- libgcc/config/i386/cpuinfo.c | 6 +++---
- libgcc/config/i386/t-linux | 2 +-
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
-index 88557f26c44..839308e2799 100644
---- a/gcc/config/i386/i386.c
-+++ b/gcc/config/i386/i386.c
-@@ -36577,10 +36577,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
- {
- case IX86_BUILTIN_CPU_INIT:
- {
-- /* Make it call __cpu_indicator_init in libgcc. */
-+ /* Make it call __cpu_indicator_init_local in libgcc.a. */
- tree call_expr, fndecl, type;
- type = build_function_type_list (integer_type_node, NULL_TREE);
-- fndecl = build_fn_decl ("__cpu_indicator_init", type);
-+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
- call_expr = build_call_expr (fndecl, 0);
- return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
- }
-diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
-index d6cb2de6265..ce04ef78205 100644
---- a/libgcc/config/i386/cpuinfo.c
-+++ b/libgcc/config/i386/cpuinfo.c
-@@ -504,7 +504,7 @@ __cpu_indicator_init (void)
- return 0;
- }
-
--#if defined SHARED && defined USE_ELF_SYMVER
--__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
--__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
-+#ifndef SHARED
-+int __cpu_indicator_init_local (void)
-+ __attribute__ ((weak, alias ("__cpu_indicator_init")));
- #endif
-diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
-index 8506a635790..564296f788e 100644
---- a/libgcc/config/i386/t-linux
-+++ b/libgcc/config/i386/t-linux
-@@ -3,5 +3,5 @@
- # t-slibgcc-elf-ver and t-linux
- SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
-
--HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
-+HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
- CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0034-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0034-sync-gcc-stddef.h-with-musl.patch
deleted file mode 100644
index a2c35ab53..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0034-sync-gcc-stddef.h-with-musl.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 83ba95929c5908ae0f51ce148a30f85b085a178a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 3 Feb 2017 12:56:00 -0800
-Subject: [PATCH 34/37] sync gcc stddef.h with musl
-
-musl defines ptrdiff_t size_t and wchar_t
-so dont define them here if musl is definining them
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/ginclude/stddef.h | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
-index da692e1c01a..9a00c261adb 100644
---- a/gcc/ginclude/stddef.h
-+++ b/gcc/ginclude/stddef.h
-@@ -128,6 +128,7 @@ _TYPE_wchar_t;
- #ifndef ___int_ptrdiff_t_h
- #ifndef _GCC_PTRDIFF_T
- #ifndef _PTRDIFF_T_DECLARED /* DragonFly */
-+#ifndef __DEFINED_ptrdiff_t /* musl */
- #define _PTRDIFF_T
- #define _T_PTRDIFF_
- #define _T_PTRDIFF
-@@ -137,10 +138,12 @@ _TYPE_wchar_t;
- #define ___int_ptrdiff_t_h
- #define _GCC_PTRDIFF_T
- #define _PTRDIFF_T_DECLARED
-+#define __DEFINED_ptrdiff_t /* musl */
- #ifndef __PTRDIFF_TYPE__
- #define __PTRDIFF_TYPE__ long int
- #endif
- typedef __PTRDIFF_TYPE__ ptrdiff_t;
-+#endif /* __DEFINED_ptrdiff_t */
- #endif /* _PTRDIFF_T_DECLARED */
- #endif /* _GCC_PTRDIFF_T */
- #endif /* ___int_ptrdiff_t_h */
-@@ -178,6 +181,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #ifndef _GCC_SIZE_T
- #ifndef _SIZET_
- #ifndef __size_t
-+#ifndef __DEFINED_size_t /* musl */
- #define __size_t__ /* BeOS */
- #define __SIZE_T__ /* Cray Unicos/Mk */
- #define _SIZE_T
-@@ -194,6 +198,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
- #define ___int_size_t_h
- #define _GCC_SIZE_T
- #define _SIZET_
-+#define __DEFINED_size_t /* musl */
- #if defined (__FreeBSD__) \
- || defined(__DragonFly__) \
- || defined(__FreeBSD_kernel__) \
-@@ -228,6 +233,7 @@ typedef long ssize_t;
- #endif /* _SIZE_T */
- #endif /* __SIZE_T__ */
- #endif /* __size_t__ */
-+#endif /* __DEFINED_size_t */
- #undef __need_size_t
- #endif /* _STDDEF_H or __need_size_t. */
-
-@@ -257,6 +263,7 @@ typedef long ssize_t;
- #ifndef ___int_wchar_t_h
- #ifndef __INT_WCHAR_T_H
- #ifndef _GCC_WCHAR_T
-+#ifndef __DEFINED_wchar_t /* musl */
- #define __wchar_t__ /* BeOS */
- #define __WCHAR_T__ /* Cray Unicos/Mk */
- #define _WCHAR_T
-@@ -272,6 +279,7 @@ typedef long ssize_t;
- #define __INT_WCHAR_T_H
- #define _GCC_WCHAR_T
- #define _WCHAR_T_DECLARED
-+#define __DEFINED_wchar_t /* musl */
-
- /* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
- instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
-@@ -337,6 +345,7 @@ typedef __WCHAR_TYPE__ wchar_t;
- #endif
- #endif /* __WCHAR_T__ */
- #endif /* __wchar_t__ */
-+#endif /* __DEFINED_wchar_t musl */
- #undef __need_wchar_t
- #endif /* _STDDEF_H or __need_wchar_t. */
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0035-fix-segmentation-fault-in-precompiled-header-generat.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0035-fix-segmentation-fault-in-precompiled-header-generat.patch
deleted file mode 100644
index ad1f6e7d1..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0035-fix-segmentation-fault-in-precompiled-header-generat.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From c4f89e62c56975fee99304c9cbbe5be6e8bc9ed6 Mon Sep 17 00:00:00 2001
-From: Juro Bystricky <juro.bystricky@intel.com>
-Date: Mon, 19 Mar 2018 22:31:20 -0700
-Subject: [PATCH 35/37] fix segmentation fault in precompiled header generation
-
-Prevent a segmentation fault which occurs when using incorrect
-structure trying to access name of some named operators, such as
-CPP_NOT, CPP_AND etc. "token->val.node.spelling" cannot be used in
-those cases, as is may not be initialized at all.
-
-[YOCTO #11738]
-
-Upstream-Status: Pending
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libcpp/lex.c | 26 +++++++++++++++++++++-----
- 1 file changed, 21 insertions(+), 5 deletions(-)
-
-diff --git a/libcpp/lex.c b/libcpp/lex.c
-index eedfcbb3146..15040a1b1f0 100644
---- a/libcpp/lex.c
-+++ b/libcpp/lex.c
-@@ -3280,11 +3280,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token,
- spell_ident:
- case SPELL_IDENT:
- if (forstring)
-- {
-- memcpy (buffer, NODE_NAME (token->val.node.spelling),
-- NODE_LEN (token->val.node.spelling));
-- buffer += NODE_LEN (token->val.node.spelling);
-- }
-+ {
-+ if (token->type == CPP_NAME)
-+ {
-+ memcpy (buffer, NODE_NAME (token->val.node.spelling),
-+ NODE_LEN (token->val.node.spelling));
-+ buffer += NODE_LEN (token->val.node.spelling);
-+ break;
-+ }
-+ /* NAMED_OP, cannot use node.spelling */
-+ if (token->flags & NAMED_OP)
-+ {
-+ const char *str = cpp_named_operator2name (token->type);
-+ if (str)
-+ {
-+ size_t len = strlen(str);
-+ memcpy(buffer, str, len);
-+ buffer += len;
-+ }
-+ break;
-+ }
-+ }
- else
- buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node);
- break;
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch
deleted file mode 100644
index 4fb0698af..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0036-Fix-for-testsuite-failure.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 8d773b5ba6cf396ca76611963127ba2b516272b3 Mon Sep 17 00:00:00 2001
-From: RAGHUNATH LOLUR <raghunath.lolur@kpit.com>
-Date: Wed, 6 Dec 2017 22:52:26 -0800
-Subject: [PATCH 36/37] Fix for testsuite failure
-
-2017-11-16 Raghunath Lolur <raghunath.lolur@kpit.com>
-
- * gcc.dg/pr56275.c: If SSE is disabled, ensure that
- "-mfpmath" is not set to use SSE. Set "-mfpmath=387".
- * gcc.dg/pr68306.c: Likewise
- * gcc.dg/pr68306-2.c: Likewise
- * gcc.dg/pr68306-3.c: Likewise
- * gcc.dg/pr69634.c: Likewise
- * gcc.target/i386/amd64-abi-1.c: Likewise
- * gcc.target/i386/funcspec-6.c: Likewise
- * gcc.target/i386/interrupt-387-err-1.c: Likewise
- * gcc.target/i386/isa-14.c: Likewise
- * gcc.target/i386/pr44948-2b.c: Likewise
- * gcc.target/i386/pr53425-1.c: Likewise
- * gcc.target/i386/pr53425-2.c: Likewise
- * gcc.target/i386/pr55247.c: Likewise
- * gcc.target/i386/pr59644.c: Likewise
- * gcc.target/i386/pr62120.c: Likewise
- * gcc.target/i386/pr70467-1.c: Likewise
- * gcc.target/i386/warn-vect-op-1.c: Likewise
-
-If -Wall, -Werror are used during compilation various test cases fail
-to compile.
-
-If SSE is disabled, be sure to -mfpmath=387 to resolve this.
-
-This patch removes the changes to Changelog from the original patch.
-This will help us avoid conflicts.
-
-Upstream-Status: Pending
-
-Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
----
- gcc/testsuite/gcc.dg/pr56275.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306-2.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306-3.c | 2 +-
- gcc/testsuite/gcc.dg/pr68306.c | 2 +-
- gcc/testsuite/gcc.dg/pr69634.c | 2 +-
- gcc/testsuite/gcc.target/i386/amd64-abi-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/funcspec-6.c | 1 +
- gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/isa-14.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr44948-2b.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr53425-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr53425-2.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr55247.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr59644.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr62120.c | 2 +-
- gcc/testsuite/gcc.target/i386/pr70467-1.c | 2 +-
- gcc/testsuite/gcc.target/i386/warn-vect-op-1.c | 2 +-
- 17 files changed, 17 insertions(+), 16 deletions(-)
-
-diff --git a/gcc/testsuite/gcc.dg/pr56275.c b/gcc/testsuite/gcc.dg/pr56275.c
-index b901bb2b199..a4f6c95e1a1 100644
---- a/gcc/testsuite/gcc.dg/pr56275.c
-+++ b/gcc/testsuite/gcc.dg/pr56275.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O2" } */
--/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
-+/* { dg-additional-options "-mno-sse -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */
-
- typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long))));
-
-diff --git a/gcc/testsuite/gcc.dg/pr68306-2.c b/gcc/testsuite/gcc.dg/pr68306-2.c
-index 4672ebe7987..2a368c484b6 100644
---- a/gcc/testsuite/gcc.dg/pr68306-2.c
-+++ b/gcc/testsuite/gcc.dg/pr68306-2.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
-
- struct {
- int tz_minuteswest;
-diff --git a/gcc/testsuite/gcc.dg/pr68306-3.c b/gcc/testsuite/gcc.dg/pr68306-3.c
-index f5a8c102cf8..df3390c64c2 100644
---- a/gcc/testsuite/gcc.dg/pr68306-3.c
-+++ b/gcc/testsuite/gcc.dg/pr68306-3.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
- /* { dg-additional-options "-mno-altivec -mno-vsx" { target powerpc*-*-* } } */
-
- extern void fn2();
-diff --git a/gcc/testsuite/gcc.dg/pr68306.c b/gcc/testsuite/gcc.dg/pr68306.c
-index 54e5b40f221..0813389e2c1 100644
---- a/gcc/testsuite/gcc.dg/pr68306.c
-+++ b/gcc/testsuite/gcc.dg/pr68306.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O3" } */
--/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
-
- enum powerpc_pmc_type { PPC_PMC_IBM };
- struct {
-diff --git a/gcc/testsuite/gcc.dg/pr69634.c b/gcc/testsuite/gcc.dg/pr69634.c
-index 60a56149463..bcc23f9ccd6 100644
---- a/gcc/testsuite/gcc.dg/pr69634.c
-+++ b/gcc/testsuite/gcc.dg/pr69634.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile } */
- /* { dg-options "-O2 -fno-dce -fschedule-insns -fno-tree-vrp -fcompare-debug -Wno-psabi" } */
--/* { dg-additional-options "-mno-sse" { target i?86-*-* x86_64-*-* } } */
-+/* { dg-additional-options "-mno-sse -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
- /* { dg-require-effective-target scheduling } */
-
- typedef unsigned short u16;
-diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-index 69fde57bf06..7f1f1c03edf 100644
---- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-+++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-mno-sse" } */
-+/* { dg-options "-mno-sse -mfpmath=387" } */
- /* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */
-
- double foo(void) { return 0; } /* { dg-error "SSE disabled" } */
-diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c
-index ea896b7ebfd..bf15569b826 100644
---- a/gcc/testsuite/gcc.target/i386/funcspec-6.c
-+++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c
-@@ -1,6 +1,7 @@
- /* Test whether all of the 64-bit function specific options are accepted
- without error. */
- /* { dg-do compile { target { ! ia32 } } } */
-+/* { dg-additional-options "-mfpmath=387" } */
-
- #include "funcspec-56.inc"
-
-diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-index 3fbdc881dda..6b4d9d1252a 100644
---- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-+++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387" } */
-+/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387 -mfpmath=387" } */
-
- typedef unsigned int uword_t __attribute__ ((mode (__word__)));
-
-diff --git a/gcc/testsuite/gcc.target/i386/isa-14.c b/gcc/testsuite/gcc.target/i386/isa-14.c
-index 5d49e6e77fe..1de2db92bdd 100644
---- a/gcc/testsuite/gcc.target/i386/isa-14.c
-+++ b/gcc/testsuite/gcc.target/i386/isa-14.c
-@@ -1,5 +1,5 @@
- /* { dg-do run } */
--/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse" } */
-+/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse -mfpmath=387" } */
-
- extern void abort (void);
-
-diff --git a/gcc/testsuite/gcc.target/i386/pr44948-2b.c b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-index fa1769b62fb..f79fb12726f 100644
---- a/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-+++ b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic" } */
-+/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic -mfpmath=387" } */
-
- struct A
- {
-diff --git a/gcc/testsuite/gcc.target/i386/pr53425-1.c b/gcc/testsuite/gcc.target/i386/pr53425-1.c
-index 2e89ff7d81d..6339bf6b736 100644
---- a/gcc/testsuite/gcc.target/i386/pr53425-1.c
-+++ b/gcc/testsuite/gcc.target/i386/pr53425-1.c
-@@ -1,6 +1,6 @@
- /* PR target/53425 */
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
- /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
-
- typedef double __v2df __attribute__ ((__vector_size__ (16)));
-diff --git a/gcc/testsuite/gcc.target/i386/pr53425-2.c b/gcc/testsuite/gcc.target/i386/pr53425-2.c
-index 61f6283dbe9..2c5a55f0ac3 100644
---- a/gcc/testsuite/gcc.target/i386/pr53425-2.c
-+++ b/gcc/testsuite/gcc.target/i386/pr53425-2.c
-@@ -1,6 +1,6 @@
- /* PR target/53425 */
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
- /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
-
- typedef float __v2sf __attribute__ ((__vector_size__ (8)));
-diff --git a/gcc/testsuite/gcc.target/i386/pr55247.c b/gcc/testsuite/gcc.target/i386/pr55247.c
-index 23366d0909d..9810e3abb76 100644
---- a/gcc/testsuite/gcc.target/i386/pr55247.c
-+++ b/gcc/testsuite/gcc.target/i386/pr55247.c
-@@ -1,6 +1,6 @@
- /* { dg-do compile { target { ! ia32 } } } */
- /* { dg-require-effective-target maybe_x32 } */
--/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long" } */
-+/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long -mfpmath=387" } */
-
- typedef unsigned int uint32_t;
- typedef uint32_t Elf32_Word;
-diff --git a/gcc/testsuite/gcc.target/i386/pr59644.c b/gcc/testsuite/gcc.target/i386/pr59644.c
-index 96006b3e338..4287e4538bf 100644
---- a/gcc/testsuite/gcc.target/i386/pr59644.c
-+++ b/gcc/testsuite/gcc.target/i386/pr59644.c
-@@ -1,6 +1,6 @@
- /* PR target/59644 */
- /* { dg-do run { target lp64 } } */
--/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone" } */
-+/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone -mfpmath=387" } */
-
- /* This test uses __builtin_trap () instead of e.g. abort,
- because due to -mpreferred-stack-boundary=3 it should not call
-diff --git a/gcc/testsuite/gcc.target/i386/pr62120.c b/gcc/testsuite/gcc.target/i386/pr62120.c
-index bfb8c4703eb..ed04cf181f3 100644
---- a/gcc/testsuite/gcc.target/i386/pr62120.c
-+++ b/gcc/testsuite/gcc.target/i386/pr62120.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile } */
--/* { dg-options "-mno-sse" } */
-+/* { dg-options "-mno-sse -mfpmath=387" } */
-
- void foo ()
- {
-diff --git a/gcc/testsuite/gcc.target/i386/pr70467-1.c b/gcc/testsuite/gcc.target/i386/pr70467-1.c
-index 4e112c88d07..bcfb396a68d 100644
---- a/gcc/testsuite/gcc.target/i386/pr70467-1.c
-+++ b/gcc/testsuite/gcc.target/i386/pr70467-1.c
-@@ -1,6 +1,6 @@
- /* PR rtl-optimization/70467 */
- /* { dg-do compile } */
--/* { dg-options "-O2 -mno-sse" } */
-+/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
-
- void foo (unsigned long long *);
-
-diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-index 6cda1534311..26e37f5b8ba 100644
---- a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-+++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
-@@ -1,5 +1,5 @@
- /* { dg-do compile { target { ! ia32 } } } */
--/* { dg-options "-mno-sse -Wvector-operation-performance" } */
-+/* { dg-options "-mno-sse -Wvector-operation-performance -mfpmath=387" } */
- #define vector(elcount, type) \
- __attribute__((vector_size((elcount)*sizeof(type)))) type
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch
deleted file mode 100644
index 251097e13..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0037-Re-introduce-spe-commandline-options.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 49d3dbe240226206d09ff646499cd398cb60bd12 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 6 Jun 2018 12:10:22 -0700
-Subject: [PATCH 37/37] Re-introduce spe commandline options
-
-This should ensure that we keep accepting
-spe options
-
-Upstream-Status: Inappropriate [SPE port is removed from rs600 port]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gcc/config/rs6000/rs6000.opt | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
-index 2e90bf37747..ebd297da46b 100644
---- a/gcc/config/rs6000/rs6000.opt
-+++ b/gcc/config/rs6000/rs6000.opt
-@@ -345,6 +345,18 @@ mdebug=
- Target RejectNegative Joined
- -mdebug= Enable debug output.
-
-+mspe
-+Target Var(rs6000_spe) Save
-+Generate SPE SIMD instructions on E500.
-+
-+mabi=spe
-+Target RejectNegative Var(rs6000_spe_abi) Save
-+Use the SPE ABI extensions.
-+
-+mabi=no-spe
-+Target RejectNegative Var(rs6000_spe_abi, 0)
-+Do not use the SPE ABI extensions.
-+
- mabi=altivec
- Target RejectNegative Var(rs6000_altivec_abi) Save
- Use the AltiVec ABI extensions.
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2.inc b/poky/meta/recipes-devtools/gcc/gcc-9.2.inc
new file mode 100644
index 000000000..c6395998d
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2.inc
@@ -0,0 +1,122 @@
+require gcc-common.inc
+
+# Third digit in PV should be incremented after a minor release
+
+PV = "9.2.0"
+
+# BINV should be incremented to a revision after a minor gcc release
+
+BINV = "9.2.0"
+
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-9.2:${FILE_DIRNAME}/gcc-9.2/backport:"
+
+DEPENDS =+ "mpfr gmp libmpc zlib flex-native"
+NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native"
+
+LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
+
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
+ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
+"
+
+BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
+#RELEASE ?= "5a5ca2d"
+#BASEURI ?= "https://repo.or.cz/official-gcc.git/snapshot/${RELEASE}.tar.gz;downloadfilename=gcc-${RELEASE}.tar.gz"
+SRC_URI = "\
+ ${BASEURI} \
+ file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
+ file://0002-gcc-poison-system-directories.patch \
+ 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-COLLECT_GCC_OPTIONS.patch \
+ file://0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \
+ file://0008-fortran-cross-compile-hack.patch \
+ file://0009-cpp-honor-sysroot.patch \
+ file://0010-MIPS64-Default-to-N64-ABI.patch \
+ file://0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch \
+ file://0012-gcc-Fix-argument-list-too-long-error.patch \
+ file://0013-Disable-sdt.patch \
+ file://0014-libtool.patch \
+ file://0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
+ file://0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
+ file://0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
+ file://0018-export-CPP.patch \
+ file://0019-Ensure-target-gcc-headers-can-be-included.patch \
+ file://0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch \
+ file://0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
+ file://0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
+ file://0023-aarch64-Add-support-for-musl-ldso.patch \
+ file://0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
+ file://0025-handle-sysroot-support-for-nativesdk-gcc.patch \
+ file://0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch \
+ file://0027-Fix-various-_FOR_BUILD-and-related-variables.patch \
+ file://0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch \
+ file://0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch \
+ file://0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch \
+ file://0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch \
+ file://0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
+ file://0033-sync-gcc-stddef.h-with-musl.patch \
+ file://0034-fix-segmentation-fault-in-precompiled-header-generat.patch \
+ file://0035-Fix-for-testsuite-failure.patch \
+ file://0036-Re-introduce-spe-commandline-options.patch \
+ file://CVE-2019-14250.patch \
+ file://CVE-2019-15847_1.patch \
+ file://CVE-2019-15847_2.patch \
+ file://CVE-2019-15847_3.patch \
+"
+S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
+SRC_URI[md5sum] = "3818ad8600447f05349098232c2ddc78"
+SRC_URI[sha256sum] = "ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206"
+
+# For dev release snapshotting
+#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/official-gcc-${RELEASE}"
+#B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
+
+# Language Overrides
+FORTRAN = ""
+JAVA = ""
+
+LTO = "--enable-lto"
+SSP ?= "--disable-libssp"
+SSP_mingw32 = "--enable-libssp"
+
+EXTRA_OECONF_BASE = "\
+ ${LTO} \
+ ${SSP} \
+ --enable-libitm \
+ --disable-bootstrap \
+ --disable-libmudflap \
+ --with-system-zlib \
+ ${@'--with-linker-hash-style=${LINKER_HASH_STYLE}' if '${LINKER_HASH_STYLE}' else ''} \
+ --enable-linker-build-id \
+ --with-ppl=no \
+ --with-cloog=no \
+ --enable-checking=release \
+ --enable-cheaders=c_global \
+ --without-isl \
+"
+
+EXTRA_OECONF_INITIAL = "\
+ --disable-libmudflap \
+ --disable-libgomp \
+ --disable-libitm \
+ --disable-libquadmath \
+ --with-system-zlib \
+ --disable-lto \
+ --disable-plugin \
+ --enable-linker-build-id \
+ --enable-decimal-float=no \
+ --without-isl \
+ --disable-libssp \
+"
+
+EXTRA_OECONF_PATHS = "\
+ --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
+ --with-sysroot=/not/exist \
+ --with-build-sysroot=${STAGING_DIR_TARGET} \
+"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
new file mode 100644
index 000000000..9065c304b
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -0,0 +1,42 @@
+From 863325ec3c6eb4987be63509ac407b2d13617342 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:37:11 +0400
+Subject: [PATCH 01/36] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ configure | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure b/configure
+index abd93a990a9..b121088d778 100755
+--- a/configure
++++ b/configure
+@@ -7603,7 +7603,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+diff --git a/configure.ac b/configure.ac
+index 9db4fd14aa2..aad93c4d183 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3119,7 +3119,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0002-gcc-poison-system-directories.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0002-gcc-poison-system-directories.patch
new file mode 100644
index 000000000..a1116e750
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0002-gcc-poison-system-directories.patch
@@ -0,0 +1,203 @@
+From 68e78bc15de215fa15c7d8b56bd2e2b0539b34fa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:59:00 +0400
+Subject: [PATCH 02/36] gcc: poison-system-directories
+
+Add /sw/include and /opt/include based on the original
+zecke-no-host-includes.patch patch. The original patch checked for
+/usr/include, /sw/include and /opt/include and then triggered a failure and
+aborted.
+
+Instead, we add the two missing items to the current scan. If the user
+wants this to be a failure, they can add "-Werror=poison-system-directories".
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/common.opt | 4 ++++
+ gcc/config.in | 6 ++++++
+ gcc/configure | 16 ++++++++++++++++
+ gcc/configure.ac | 10 ++++++++++
+ gcc/doc/invoke.texi | 9 +++++++++
+ gcc/gcc.c | 2 ++
+ gcc/incpath.c | 21 +++++++++++++++++++++
+ 7 files changed, 68 insertions(+)
+
+diff --git a/gcc/common.opt b/gcc/common.opt
+index d342c4f3749..c64fd4a6c50 100644
+--- a/gcc/common.opt
++++ b/gcc/common.opt
+@@ -684,6 +684,10 @@ Wreturn-local-addr
+ Common Var(warn_return_local_addr) Init(1) Warning
+ Warn about returning a pointer/reference to a local or temporary variable.
+
++Wpoison-system-directories
++Common Var(flag_poison_system_directories) Init(1) Warning
++Warn for -I and -L options using system directories if cross compiling
++
+ Wshadow
+ Common Var(warn_shadow) Warning
+ Warn when one variable shadows another. Same as -Wshadow=global.
+diff --git a/gcc/config.in b/gcc/config.in
+index a718ceaf3da..5713342efb1 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -200,6 +200,12 @@
+ #endif
+
+
++/* Define to warn for use of native system header directories */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_POISON_SYSTEM_DIRECTORIES
++#endif
++
++
+ /* Define if you want all operations on RTL (the basic data structure of the
+ optimizer and back end) to be checked for dynamic type safety at runtime.
+ This is quite expensive. */
+diff --git a/gcc/configure b/gcc/configure
+index 481071b4265..a6ea3a8a84c 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -995,6 +995,7 @@ with_system_zlib
+ enable_maintainer_mode
+ enable_link_mutex
+ enable_version_specific_runtime_libs
++enable_poison_system_directories
+ enable_plugin
+ enable_host_shared
+ enable_libquadmath_support
+@@ -1748,6 +1749,8 @@ Optional Features:
+ --enable-version-specific-runtime-libs
+ specify that runtime libraries should be installed
+ in a compiler-specific directory
++ --enable-poison-system-directories
++ warn for use of native system header directories
+ --enable-plugin enable plugin support
+ --enable-host-shared build host code as shared libraries
+ --disable-libquadmath-support
+@@ -29750,6 +29753,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
+ fi
+
+
++# Check whether --enable-poison-system-directories was given.
++if test "${enable_poison_system_directories+set}" = set; then :
++ enableval=$enable_poison_system_directories;
++else
++ enable_poison_system_directories=no
++fi
++
++if test "x${enable_poison_system_directories}" = "xyes"; then
++
++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
++
++fi
++
+ # Substitute configuration variables
+
+
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index ce2825580c6..d42bbd4fd1c 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -6378,6 +6378,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
+ [specify that runtime libraries should be
+ installed in a compiler-specific directory])])
+
++AC_ARG_ENABLE([poison-system-directories],
++ AS_HELP_STRING([--enable-poison-system-directories],
++ [warn for use of native system header directories]),,
++ [enable_poison_system_directories=no])
++if test "x${enable_poison_system_directories}" = "xyes"; then
++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
++ [1],
++ [Define to warn for use of native system header directories])
++fi
++
+ # Substitute configuration variables
+ AC_SUBST(subdirs)
+ AC_SUBST(srcdir)
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index 6ef36ce02aa..09414d8cc05 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -332,6 +332,7 @@ Objective-C and Objective-C++ Dialects}.
+ -Wpacked -Wpacked-bitfield-compat -Wpacked-not-aligned -Wpadded @gol
+ -Wparentheses -Wno-pedantic-ms-format @gol
+ -Wplacement-new -Wplacement-new=@var{n} @gol
++-Wno-poison-system-directories @gol
+ -Wpointer-arith -Wpointer-compare -Wno-pointer-to-int-cast @gol
+ -Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls @gol
+ -Wrestrict -Wno-return-local-addr @gol
+@@ -6289,6 +6290,14 @@ made up of data only and thus requires no special treatment. But, for
+ most targets, it is made up of code and thus requires the stack to be
+ made executable in order for the program to work properly.
+
++@item -Wno-poison-system-directories
++@opindex Wno-poison-system-directories
++Do not warn for @option{-I} or @option{-L} options using system
++directories such as @file{/usr/include} when cross compiling. This
++option is intended for use in chroot environments when such
++directories contain the correct headers and libraries for the target
++system rather than the host.
++
+ @item -Wfloat-equal
+ @opindex Wfloat-equal
+ @opindex Wno-float-equal
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 4f57765b012..a2601a6bb06 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1042,6 +1042,8 @@ proper position among the other output files. */
+ "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
+ "%X %{o*} %{e*} %{N} %{n} %{r}\
+ %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
++ %{Wno-poison-system-directories:--no-poison-system-directories} \
++ %{Werror=poison-system-directories:--error-poison-system-directories} \
+ %{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
+ VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
+ %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
+diff --git a/gcc/incpath.c b/gcc/incpath.c
+index bcbe2082905..5752298bbf2 100644
+--- a/gcc/incpath.c
++++ b/gcc/incpath.c
+@@ -26,6 +26,7 @@
+ #include "intl.h"
+ #include "incpath.h"
+ #include "cppdefault.h"
++#include "diagnostic-core.h"
+
+ /* Microsoft Windows does not natively support inodes.
+ VMS has non-numeric inodes. */
+@@ -393,6 +394,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
+ }
+ fprintf (stderr, _("End of search list.\n"));
+ }
++
++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
++ if (flag_poison_system_directories)
++ {
++ struct cpp_dir *p;
++
++ for (p = heads[INC_QUOTE]; p; p = p->next)
++ {
++ if ((!strncmp (p->name, "/usr/include", 12))
++ || (!strncmp (p->name, "/usr/local/include", 18))
++ || (!strncmp (p->name, "/usr/X11R6/include", 18))
++ || (!strncmp (p->name, "/sw/include", 11))
++ || (!strncmp (p->name, "/opt/include", 12)))
++ warning (OPT_Wpoison_system_directories,
++ "include location \"%s\" is unsafe for "
++ "cross-compilation",
++ p->name);
++ }
++ }
++#endif
+ }
+
+ /* Use given -I paths for #include "..." but not #include <...>, and
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
new file mode 100644
index 000000000..23039d212
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch
@@ -0,0 +1,73 @@
+From f8d60c4114acb92361c7b2f4a4561d4661e8da9d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:08:31 +0400
+Subject: [PATCH 03/36] gcc-4.3.3: SYSROOT_CFLAGS_FOR_TARGET
+
+Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
+
+This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
+
+Other changes I had to do include:
+
+- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
+
+- passing the right CFLAGS to configure scripts as exported environment variables
+
+I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
+
+Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
+
+Signed-off-by: Paolo Bonzini <bonzini@gnu.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ configure | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+diff --git a/configure b/configure
+index b121088d778..93aae5bb26f 100755
+--- a/configure
++++ b/configure
+@@ -6864,6 +6864,38 @@ fi
+
+
+
++# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
++# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
++# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
++# We want to ensure that TARGET libraries (which we know are built with
++# gcc) are built with "-O2 -g", so include those options when setting
++# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
++if test "x$CFLAGS_FOR_TARGET" = x; then
++ CFLAGS_FOR_TARGET=$CFLAGS
++ case " $CFLAGS " in
++ *" -O2 "*) ;;
++ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
++ esac
++ case " $CFLAGS " in
++ *" -g "* | *" -g3 "*) ;;
++ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
++ esac
++fi
++
++
++if test "x$CXXFLAGS_FOR_TARGET" = x; then
++ CXXFLAGS_FOR_TARGET=$CXXFLAGS
++ case " $CXXFLAGS " in
++ *" -O2 "*) ;;
++ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
++ esac
++ case " $CXXFLAGS " in
++ *" -g "* | *" -g3 "*) ;;
++ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
++ esac
++fi
++
++
+ # Handle --with-headers=XXX. If the value is not "yes", the contents of
+ # the named directory are copied to $(tooldir)/sys-include.
+ if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0004-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0004-64-bit-multilib-hack.patch
new file mode 100644
index 000000000..a79c40c1a
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0004-64-bit-multilib-hack.patch
@@ -0,0 +1,119 @@
+From c2081c51db589471ea713870c72f13999abda815 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:10:06 +0400
+Subject: [PATCH 04/36] 64-bit multilib hack.
+
+GCC has internal multilib handling code but it assumes a very specific rigid directory
+layout. The build system implementation of multilib layout is very generic and allows
+complete customisation of the library directories.
+
+This patch is a partial solution to allow any custom directories to be passed into gcc
+and handled correctly. It forces gcc to use the base_libdir (which is the current
+directory, "."). We need to do this for each multilib that is configured as we don't
+know which compiler options may be being passed into the compiler. Since we have a compiler
+per mulitlib at this point that isn't an issue.
+
+The one problem is the target compiler is only going to work for the default multlilib at
+this point. Ideally we'd figure out which multilibs were being enabled with which paths
+and be able to patch these entries with a complete set of correct paths but this we
+don't have such code at this point. This is something the target gcc recipe should do
+and override these platform defaults in its build config.
+
+Do same for riscv64 and aarch64
+
+RP 15/8/11
+
+Upstream-Status: Inappropriate[OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+---
+ gcc/config/aarch64/t-aarch64-linux | 8 ++++----
+ gcc/config/i386/t-linux64 | 6 ++----
+ gcc/config/mips/t-linux64 | 10 +++-------
+ gcc/config/riscv/t-linux | 6 ++++--
+ gcc/config/rs6000/t-linux64 | 5 ++---
+ 5 files changed, 15 insertions(+), 20 deletions(-)
+
+diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
+index 5ad670ba2ce..e26019e7157 100644
+--- a/gcc/config/aarch64/t-aarch64-linux
++++ b/gcc/config/aarch64/t-aarch64-linux
+@@ -21,8 +21,8 @@
+ LIB1ASMSRC = aarch64/lib1funcs.asm
+ LIB1ASMFUNCS = _aarch64_sync_cache_range
+
+-AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
+-MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
+-MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
++#AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
++#MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
++#MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
+
+-MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
++#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
+diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
+index c686ab2f0d2..c82b60dadcd 100644
+--- a/gcc/config/i386/t-linux64
++++ b/gcc/config/i386/t-linux64
+@@ -32,7 +32,5 @@
+ #
+ comma=,
+ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
+-MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
+-MULTILIB_OSDIRNAMES = m64=../lib64$(call if_multiarch,:x86_64-linux-gnu)
+-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:i386-linux-gnu)
+-MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
++MULTILIB_DIRNAMES = . .
++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
+index 3a2ff700d7d..13ef19576b5 100644
+--- a/gcc/config/mips/t-linux64
++++ b/gcc/config/mips/t-linux64
+@@ -17,10 +17,6 @@
+ # <http://www.gnu.org/licenses/>.
+
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+-MULTILIB_DIRNAMES = n32 32 64
+-MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
+-MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, $(target_cpu_default)) $(filter soft, $(with_float))),soft)
+-MULTILIB_OSDIRNAMES = \
+- ../lib32$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
+- ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
+- ../lib64$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
++MULTILIB_DIRNAMES = . . .
++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
++
+diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
+index 216d2776a18..e4d817621fc 100644
+--- a/gcc/config/riscv/t-linux
++++ b/gcc/config/riscv/t-linux
+@@ -1,3 +1,5 @@
+ # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
+-MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
+-MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
++#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES)))
++MULTILIB_DIRNAMES := . .
++#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
++MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
+index f3c6e2be1d9..bd0393155fa 100644
+--- a/gcc/config/rs6000/t-linux64
++++ b/gcc/config/rs6000/t-linux64
+@@ -26,10 +26,9 @@
+ # MULTILIB_OSDIRNAMES according to what is found on the target.
+
+ MULTILIB_OPTIONS := m64/m32
+-MULTILIB_DIRNAMES := 64 32
++MULTILIB_DIRNAMES := . .
+ MULTILIB_EXTRA_OPTS :=
+-MULTILIB_OSDIRNAMES := m64=../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+-MULTILIB_OSDIRNAMES += m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
++MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+
+ rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.c
+ $(COMPILE) $<
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0005-optional-libstdc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0005-optional-libstdc.patch
new file mode 100644
index 000000000..f4fac9146
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0005-optional-libstdc.patch
@@ -0,0 +1,125 @@
+From e7e504f4a90cfa395e7f8ee779f8c3ed687802ca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:12:56 +0400
+Subject: [PATCH 05/36] optional libstdc
+
+gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configure tests using g++
+will not run correctly since by default the linker will try to link against libstdc++
+which shouldn't exist yet. We need an option to disable -lstdc++
+option whilst leaving -lc, -lgcc and other automatic library dependencies added by gcc
+driver. This patch adds such an option which only disables the -lstdc++.
+
+A "standard" gcc build uses xgcc and hence avoids this. We should ask upstream how to
+do this officially, the likely answer is don't build libstdc++ separately.
+
+RP 29/6/10
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ gcc/c-family/c.opt | 4 ++++
+ gcc/cp/g++spec.c | 1 +
+ gcc/doc/invoke.texi | 32 +++++++++++++++++++++++++++++++-
+ gcc/gcc.c | 1 +
+ 4 files changed, 37 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
+index 916cc67b453..41619fa591c 100644
+--- a/gcc/c-family/c.opt
++++ b/gcc/c-family/c.opt
+@@ -1952,6 +1952,10 @@ nostdinc++
+ C++ ObjC++
+ Do not search standard system include directories for C++.
+
++nostdlib++
++Driver
++Do not link standard C++ runtime library
++
+ o
+ C ObjC C++ ObjC++ Joined Separate
+ ; Documented in common.opt
+diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c
+index 6c4574a837d..0e2657f00ee 100644
+--- a/gcc/cp/g++spec.c
++++ b/gcc/cp/g++spec.c
+@@ -137,6 +137,7 @@ lang_specific_driver (struct cl_decoded_option **in_decoded_options,
+ switch (decoded_options[i].opt_index)
+ {
+ case OPT_nostdlib:
++ case OPT_nostdlib__:
+ case OPT_nodefaultlibs:
+ library = -1;
+ break;
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index 09414d8cc05..a43969bc9f0 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -228,6 +228,9 @@ in the following sections.
+ -fno-weak -nostdinc++ @gol
+ -fvisibility-inlines-hidden @gol
+ -fvisibility-ms-compat @gol
++-fvtable-verify=@r{[}std@r{|}preinit@r{|}none@r{]} @gol
++-fvtv-counts -fvtv-debug @gol
++-nostdlib++ @gol
+ -fext-numeric-literals @gol
+ -Wabi=@var{n} -Wabi-tag -Wconversion-null -Wctor-dtor-privacy @gol
+ -Wdelete-non-virtual-dtor -Wdeprecated-copy -Wdeprecated-copy-dtor @gol
+@@ -538,7 +541,7 @@ Objective-C and Objective-C++ Dialects}.
+ -pie -pthread -r -rdynamic @gol
+ -s -static -static-pie -static-libgcc -static-libstdc++ @gol
+ -static-libasan -static-libtsan -static-liblsan -static-libubsan @gol
+--shared -shared-libgcc -symbolic @gol
++-shared -shared-libgcc -symbolic -nostdlib++ @gol
+ -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol
+ -u @var{symbol} -z @var{keyword}}
+
+@@ -13312,6 +13315,33 @@ Specify that the program entry point is @var{entry}. The argument is
+ interpreted by the linker; the GNU linker accepts either a symbol name
+ or an address.
+
++@item -nostdlib++
++@opindex nostdlib++
++Do not use the standard system C++ runtime libraries when linking.
++Only the libraries you specify will be passed to the linker.
++
++@cindex @option{-lgcc}, use with @option{-nostdlib}
++@cindex @option{-nostdlib} and unresolved references
++@cindex unresolved references and @option{-nostdlib}
++@cindex @option{-lgcc}, use with @option{-nodefaultlibs}
++@cindex @option{-nodefaultlibs} and unresolved references
++@cindex unresolved references and @option{-nodefaultlibs}
++One of the standard libraries bypassed by @option{-nostdlib} and
++@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
++which GCC uses to overcome shortcomings of particular machines, or special
++needs for some languages.
++(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
++Collection (GCC) Internals},
++for more discussion of @file{libgcc.a}.)
++In most cases, you need @file{libgcc.a} even when you want to avoid
++other standard libraries. In other words, when you specify @option{-nostdlib}
++or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
++This ensures that you have no unresolved references to internal GCC
++library subroutines.
++(An example of such an internal subroutine is @code{__main}, used to ensure C++
++constructors are called; @pxref{Collect2,,@code{collect2}, gccint,
++GNU Compiler Collection (GCC) Internals}.)
++
+ @item -pie
+ @opindex pie
+ Produce a dynamically linked position independent executable on targets
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index a2601a6bb06..cd6c6fc95db 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1052,6 +1052,7 @@ proper position among the other output files. */
+ %(mflib) " STACK_SPLIT_SPEC "\
+ %{fprofile-arcs|fprofile-generate*|coverage:-lgcov} " SANITIZER_SPEC " \
+ %{!nostdlib:%{!r:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}}\
++ %{!nostdlib++:}\
+ %{!nostdlib:%{!r:%{!nostartfiles:%E}}} %{T*} \n%(post_link) }}}}}}"
+ #endif
+
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0006-COLLECT_GCC_OPTIONS.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0006-COLLECT_GCC_OPTIONS.patch
new file mode 100644
index 000000000..9f7e603f8
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0006-COLLECT_GCC_OPTIONS.patch
@@ -0,0 +1,38 @@
+From b9260cd3ac26b0302824ed466a548464c864d95f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:16:28 +0400
+Subject: [PATCH 06/36] COLLECT_GCC_OPTIONS
+
+This patch adds --sysroot into COLLECT_GCC_OPTIONS which is used to
+invoke collect2.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/gcc.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index cd6c6fc95db..7da9c5d457b 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -4804,6 +4804,15 @@ set_collect_gcc_options (void)
+ sizeof ("COLLECT_GCC_OPTIONS=") - 1);
+
+ first_time = TRUE;
++#ifdef HAVE_LD_SYSROOT
++ if (target_system_root_changed && target_system_root)
++ {
++ obstack_grow (&collect_obstack, "'--sysroot=", sizeof("'--sysroot=")-1);
++ obstack_grow (&collect_obstack, target_system_root,strlen(target_system_root));
++ obstack_grow (&collect_obstack, "'", 1);
++ first_time = FALSE;
++ }
++#endif
+ for (i = 0; (int) i < n_switches; i++)
+ {
+ const char *const *args;
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
new file mode 100644
index 000000000..28f8fc267
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0007-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
@@ -0,0 +1,96 @@
+From 88e728dad53d48c4a19f15e19f66fd23f4820b4a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:17:25 +0400
+Subject: [PATCH 07/36] Use the defaults.h in ${B} instead of ${S}, and t-oe in
+ ${B}
+
+Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that
+the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+
+While compiling gcc-crosssdk-initial-x86_64 on some host, there is
+occasionally failure that test the existance of default.h doesn't
+work, the reason is tm_include_list='** defaults.h' rather than
+tm_include_list='** ./defaults.h'
+
+So we add the test condition for this situation.
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ gcc/Makefile.in | 2 +-
+ gcc/configure | 4 ++--
+ gcc/configure.ac | 4 ++--
+ gcc/mkconfig.sh | 4 ++--
+ 4 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 5f43d9de00e..41f0f592ff4 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -540,7 +540,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
+ TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
+
+ xmake_file=@xmake_file@
+-tmake_file=@tmake_file@
++tmake_file=@tmake_file@ ./t-oe
+ TM_ENDIAN_CONFIG=@TM_ENDIAN_CONFIG@
+ TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
+ TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
+diff --git a/gcc/configure b/gcc/configure
+index a6ea3a8a84c..e3bcf8abe9a 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -12341,8 +12341,8 @@ for f in $tm_file; do
+ tm_include_list="${tm_include_list} $f"
+ ;;
+ defaults.h )
+- tm_file_list="${tm_file_list} \$(srcdir)/$f"
+- tm_include_list="${tm_include_list} $f"
++ tm_file_list="${tm_file_list} ./$f"
++ tm_include_list="${tm_include_list} ./$f"
+ ;;
+ * )
+ tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index d42bbd4fd1c..2ebc377a74d 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1968,8 +1968,8 @@ for f in $tm_file; do
+ tm_include_list="${tm_include_list} $f"
+ ;;
+ defaults.h )
+- tm_file_list="${tm_file_list} \$(srcdir)/$f"
+- tm_include_list="${tm_include_list} $f"
++ tm_file_list="${tm_file_list} ./$f"
++ tm_include_list="${tm_include_list} ./$f"
+ ;;
+ * )
+ tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
+index 308b87d0cc1..19068cbc24a 100644
+--- a/gcc/mkconfig.sh
++++ b/gcc/mkconfig.sh
+@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
+ if [ $# -ge 1 ]; then
+ echo '#ifdef IN_GCC' >> ${output}T
+ for file in "$@"; do
+- if test x"$file" = x"defaults.h"; then
++ if test x"$file" = x"./defaults.h" -o x"$file" = x"defaults.h"; then
+ postpone_defaults_h="yes"
+ else
+ echo "# include \"$file\"" >> ${output}T
+@@ -106,7 +106,7 @@ esac
+
+ # If we postponed including defaults.h, add the #include now.
+ if test x"$postpone_defaults_h" = x"yes"; then
+- echo "# include \"defaults.h\"" >> ${output}T
++ echo "# include \"./defaults.h\"" >> ${output}T
+ fi
+
+ # Add multiple inclusion protection guard, part two.
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0008-fortran-cross-compile-hack.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0008-fortran-cross-compile-hack.patch
new file mode 100644
index 000000000..24e3abe0b
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0008-fortran-cross-compile-hack.patch
@@ -0,0 +1,46 @@
+From 010f09f2963ede24e85134e5fab2fa627a9afa05 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:20:01 +0400
+Subject: [PATCH 08/36] fortran cross-compile hack.
+
+* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
+used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
+directory.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+---
+ libgfortran/configure | 2 +-
+ libgfortran/configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libgfortran/configure b/libgfortran/configure
+index 60867b93d0e..3fc9fca5b7b 100755
+--- a/libgfortran/configure
++++ b/libgfortran/configure
+@@ -13071,7 +13071,7 @@ esac
+
+ # We need gfortran to compile parts of the library
+ #AC_PROG_FC(gfortran)
+-FC="$GFORTRAN"
++#FC="$GFORTRAN"
+ ac_ext=${ac_fc_srcext-f}
+ ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
+index 7cfce28ab69..6cd515ee1a4 100644
+--- a/libgfortran/configure.ac
++++ b/libgfortran/configure.ac
+@@ -250,7 +250,7 @@ AC_SUBST(enable_static)
+
+ # We need gfortran to compile parts of the library
+ #AC_PROG_FC(gfortran)
+-FC="$GFORTRAN"
++#FC="$GFORTRAN"
+ AC_PROG_FC(gfortran)
+
+ # extra LD Flags which are required for targets
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0009-cpp-honor-sysroot.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0009-cpp-honor-sysroot.patch
new file mode 100644
index 000000000..6af0a0124
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0009-cpp-honor-sysroot.patch
@@ -0,0 +1,54 @@
+From 45e9cd39d9c62454d46b9e9473a0c1034ceca15d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:22:00 +0400
+Subject: [PATCH 09/36] cpp: honor sysroot.
+
+Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
+preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
+rather than the --sysroot option specified on the commandline. If access to that directory is
+permission denied (unreadable), gcc will error.
+
+This happens when ccache is in use due to the fact it uses preprocessed source files.
+
+The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix,
+-isystem, -isysroot happen and the correct sysroot is used.
+
+[YOCTO #2074]
+
+RP 2012/04/13
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/cp/lang-specs.h | 2 +-
+ gcc/gcc.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
+index c6e42eda283..e1ddf066467 100644
+--- a/gcc/cp/lang-specs.h
++++ b/gcc/cp/lang-specs.h
+@@ -66,5 +66,5 @@ along with GCC; see the file COPYING3. If not see
+ {".ii", "@c++-cpp-output", 0, 0, 0},
+ {"@c++-cpp-output",
+ "%{!E:%{!M:%{!MM:"
+- " cc1plus -fpreprocessed %i %(cc1_options) %2"
++ " cc1plus -fpreprocessed %i %I %(cc1_options) %2"
+ " %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 7da9c5d457b..4e7c45b268c 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1349,7 +1349,7 @@ static const struct compiler default_compilers[] =
+ %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
+ {".i", "@cpp-output", 0, 0, 0},
+ {"@cpp-output",
+- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
++ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+ {".s", "@assembler", 0, 0, 0},
+ {"@assembler",
+ "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0010-MIPS64-Default-to-N64-ABI.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0010-MIPS64-Default-to-N64-ABI.patch
new file mode 100644
index 000000000..bc0c6d5be
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0010-MIPS64-Default-to-N64-ABI.patch
@@ -0,0 +1,57 @@
+From 1ff4108d707b34e399e9dc418ad1ecc42f72676d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:23:08 +0400
+Subject: [PATCH 10/36] MIPS64: Default to N64 ABI
+
+MIPS64 defaults to n32 ABI, this patch makes it
+so that it defaults to N64 ABI
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [OE config specific]
+---
+ gcc/config.gcc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index ddd3b8f4d9d..fdfc0bd3e82 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -2282,29 +2282,29 @@ mips*-*-linux*) # Linux MIPS, either endian.
+ default_mips_arch=mips32
+ ;;
+ mips64el-st-linux-gnu)
+- default_mips_abi=n32
++ default_mips_abi=64
+ tm_file="${tm_file} mips/st.h"
+ tmake_file="${tmake_file} mips/t-st"
+ enable_mips_multilibs="yes"
+ ;;
+ mips64octeon*-*-linux*)
+- default_mips_abi=n32
++ default_mips_abi=64
+ tm_defines="${tm_defines} MIPS_CPU_STRING_DEFAULT=\\\"octeon\\\""
+ target_cpu_default=MASK_SOFT_FLOAT_ABI
+ enable_mips_multilibs="yes"
+ ;;
+ mipsisa64r6*-*-linux*)
+- default_mips_abi=n32
++ default_mips_abi=64
+ default_mips_arch=mips64r6
+ enable_mips_multilibs="yes"
+ ;;
+ mipsisa64r2*-*-linux*)
+- default_mips_abi=n32
++ default_mips_abi=64
+ default_mips_arch=mips64r2
+ enable_mips_multilibs="yes"
+ ;;
+ mips64*-*-linux* | mipsisa64*-*-linux*)
+- default_mips_abi=n32
++ default_mips_abi=64
+ enable_mips_multilibs="yes"
+ ;;
+ esac
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
new file mode 100644
index 000000000..66fb24d4c
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0011-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
@@ -0,0 +1,243 @@
+From 72fc3975bcd720b2f8040fa87cd23d3db4c5975a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:24:50 +0400
+Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
+ relative to SYSTEMLIBS_DIR
+
+This patch defines GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
+relative to SYSTEMLIBS_DIR which can be set in generated headers
+This breaks the assumption of hardcoded multilib in gcc
+Change is only for the supported architectures in OE including
+SH, sparc, alpha for possible future support (if any)
+
+Removes the do_headerfix task in metadata
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [OE configuration]
+---
+ gcc/config/alpha/linux-elf.h | 4 ++--
+ gcc/config/arm/linux-eabi.h | 4 ++--
+ gcc/config/arm/linux-elf.h | 2 +-
+ gcc/config/i386/linux.h | 2 +-
+ gcc/config/i386/linux64.h | 6 +++---
+ gcc/config/linux.h | 8 ++++----
+ gcc/config/mips/linux.h | 12 ++++++------
+ gcc/config/riscv/linux.h | 2 +-
+ gcc/config/rs6000/linux64.h | 15 +++++----------
+ gcc/config/sh/linux.h | 2 +-
+ gcc/config/sparc/linux.h | 2 +-
+ gcc/config/sparc/linux64.h | 4 ++--
+ 12 files changed, 29 insertions(+), 34 deletions(-)
+
+diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
+index 824861befec..6afacce3292 100644
+--- a/gcc/config/alpha/linux-elf.h
++++ b/gcc/config/alpha/linux-elf.h
+@@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see
+ #define EXTRA_SPECS \
+ { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
++#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+ #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
+ #elif DEFAULT_LIBC == LIBC_GLIBC
+diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
+index 66ec0ea3980..e4ade2e2ab0 100644
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -65,8 +65,8 @@
+ GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */
+
+ #undef GLIBC_DYNAMIC_LINKER
+-#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
+-#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
++#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT SYSTEMLIBS_DIR "ld-linux.so.3"
++#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT SYSTEMLIBS_DIR "ld-linux-armhf.so.3"
+ #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
+
+ #define GLIBC_DYNAMIC_LINKER \
+diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
+index 9a360defd21..98f6e960b64 100644
+--- a/gcc/config/arm/linux-elf.h
++++ b/gcc/config/arm/linux-elf.h
+@@ -60,7 +60,7 @@
+
+ #define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+
+ #define LINUX_TARGET_LINK_SPEC "%{h*} \
+ %{static:-Bstatic} \
+diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
+index 9a6e2d99896..31efbb73016 100644
+--- a/gcc/config/i386/linux.h
++++ b/gcc/config/i386/linux.h
+@@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>. */
+
+ #define GNU_USER_LINK_EMULATION "elf_i386"
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+
+ #undef MUSL_DYNAMIC_LINKER
+ #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
+diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
+index c08221c4210..dbb474d792b 100644
+--- a/gcc/config/i386/linux64.h
++++ b/gcc/config/i386/linux64.h
+@@ -27,9 +27,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-linux-x32.so.2"
+
+ #undef MUSL_DYNAMIC_LINKER32
+ #define MUSL_DYNAMIC_LINKER32 "/lib/ld-musl-i386.so.1"
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index c3c4a219e67..4b05d8e93d1 100644
+--- a/gcc/config/linux.h
++++ b/gcc/config/linux.h
+@@ -94,10 +94,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
+ GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
+ supporting both 32-bit and 64-bit compilation. */
+-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+-#define UCLIBC_DYNAMIC_LINKERX32 "/lib/ldx32-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld64-uClibc.so.0"
++#define UCLIBC_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ldx32-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKER "/system/bin/linker"
+ #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
+ #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
+diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
+index 6f79ac9c01a..25de96f9561 100644
+--- a/gcc/config/mips/linux.h
++++ b/gcc/config/mips/linux.h
+@@ -22,20 +22,20 @@ along with GCC; see the file COPYING3. If not see
+ #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
+
+ #define GLIBC_DYNAMIC_LINKER32 \
+- "%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+ #define GLIBC_DYNAMIC_LINKER64 \
+- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+ #define GLIBC_DYNAMIC_LINKERN32 \
+- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-linux-mipsn8.so.1;:" SYSTEMLIBS_DIR "ld.so.1}"
+
+ #undef UCLIBC_DYNAMIC_LINKER32
+ #define UCLIBC_DYNAMIC_LINKER32 \
+- "%{mnan=2008:/lib/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
+ #undef UCLIBC_DYNAMIC_LINKER64
+ #define UCLIBC_DYNAMIC_LINKER64 \
+- "%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld64-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld64-uClibc.so.0}"
+ #define UCLIBC_DYNAMIC_LINKERN32 \
+- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
++ "%{mnan=2008:" SYSTEMLIBS_DIR "ld-uClibc-mipsn8.so.0;:" SYSTEMLIBS_DIR "ld-uClibc.so.0}"
+
+ #undef MUSL_DYNAMIC_LINKER32
+ #define MUSL_DYNAMIC_LINKER32 \
+diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
+index 58dd18b89f3..112ba9cd764 100644
+--- a/gcc/config/riscv/linux.h
++++ b/gcc/config/riscv/linux.h
+@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see
+ GNU_USER_TARGET_OS_CPP_BUILTINS(); \
+ } while (0)
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-riscv" XLEN_SPEC "-" ABI_SPEC ".so.1"
+
+ #define MUSL_ABI_SUFFIX \
+ "%{mabi=ilp32:-sf}" \
+diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
+index 9946d3fed94..45a9a7cae59 100644
+--- a/gcc/config/rs6000/linux64.h
++++ b/gcc/config/rs6000/linux64.h
+@@ -423,24 +423,19 @@ extern int dot_symbols;
+ #undef LINK_OS_DEFAULT_SPEC
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
+
+-#define GLIBC_DYNAMIC_LINKER32 "%(dynamic_linker_prefix)/lib/ld.so.1"
+-
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld.so.1"
+ #ifdef LINUX64_DEFAULT_ABI_ELFv2
+-#define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv1:%(dynamic_linker_prefix)/lib64/ld64.so.1;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.2}"
++#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:" SYSTEMLIBS_DIR "ld64.so.1;:" SYSTEMLIBS_DIR "ld64.so.2}"
+ #else
+-#define GLIBC_DYNAMIC_LINKER64 \
+-"%{mabi=elfv2:%(dynamic_linker_prefix)/lib64/ld64.so.2;" \
+-":%(dynamic_linker_prefix)/lib64/ld64.so.1}"
++#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:" SYSTEMLIBS_DIR "ld64.so.2;:" SYSTEMLIBS_DIR "ld64.so.1}"
+ #endif
+
+ #undef MUSL_DYNAMIC_LINKER32
+ #define MUSL_DYNAMIC_LINKER32 \
+- "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++ SYSTEMLIBS_DIR "ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+ #undef MUSL_DYNAMIC_LINKER64
+ #define MUSL_DYNAMIC_LINKER64 \
+- "/lib/ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
++ SYSTEMLIBS_DIR "ld-musl-powerpc64" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1"
+
+ #undef DEFAULT_ASM_ENDIAN
+ #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
+diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
+index c9897b7aca5..82f275319cc 100644
+--- a/gcc/config/sh/linux.h
++++ b/gcc/config/sh/linux.h
+@@ -64,7 +64,7 @@ along with GCC; see the file COPYING3. If not see
+ "/lib/ld-musl-sh" MUSL_DYNAMIC_LINKER_E MUSL_DYNAMIC_LINKER_FP \
+ "%{mfdpic:-fdpic}.so.1"
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+
+ #undef SUBTARGET_LINK_EMUL_SUFFIX
+ #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
+diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
+index 08476f1d94d..80440e712ad 100644
+--- a/gcc/config/sparc/linux.h
++++ b/gcc/config/sparc/linux.h
+@@ -84,7 +84,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux.so.2"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
+diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
+index 789d1df4bd5..b920c680fb1 100644
+--- a/gcc/config/sparc/linux64.h
++++ b/gcc/config/sparc/linux64.h
+@@ -84,8 +84,8 @@ along with GCC; see the file COPYING3. If not see
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER32 SYSTEMLIBS_DIR "ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR "ld-linux.so.2"
+
+ #ifdef SPARC_BI_ARCH
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0012-gcc-Fix-argument-list-too-long-error.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0012-gcc-Fix-argument-list-too-long-error.patch
new file mode 100644
index 000000000..60539795c
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0012-gcc-Fix-argument-list-too-long-error.patch
@@ -0,0 +1,40 @@
+From 2cb227cd8069c73242286f64183fb203f8d2618a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:26:37 +0400
+Subject: [PATCH 12/36] gcc: Fix argument list too long error.
+
+There would be an "Argument list too long" error when the
+build directory is longer than 200, this is caused by:
+
+headers=`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`
+
+The PLUGIN_HEADERS is too long before sort, so the "echo" can't handle
+it, use the $(sort list) of GNU make which can handle the too long list
+would fix the problem, the header would be short enough after sorted.
+The "tr ' ' '\012'" was used for translating the space to "\n", the
+$(sort list) doesn't need this.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 41f0f592ff4..0064a282488 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -3537,7 +3537,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
+ # We keep the directory structure for files in config or c-family and .def
+ # files. All other files are flattened to a single directory.
+ $(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
+- headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
++ headers="$(sort $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def))"; \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
+ for file in $$headers; do \
+ if [ -f $$file ] ; then \
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0013-Disable-sdt.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0013-Disable-sdt.patch
new file mode 100644
index 000000000..a21a63c61
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0013-Disable-sdt.patch
@@ -0,0 +1,113 @@
+From aea5ffa9d704f4eb8fa93366884d3c26a1dbec49 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:28:10 +0400
+Subject: [PATCH 13/36] Disable sdt.
+
+We don't list dtrace in DEPENDS so we shouldn't be depending on this header.
+It may or may not exist from preivous builds though. To be determinstic, disable
+sdt.h usage always. This avoids build failures if the header is removed after configure
+but before libgcc is compiled for example.
+
+RP 2012/8/7
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Disable sdt for libstdc++-v3.
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
+Upstream-Status: Inappropriate [hack]
+---
+ gcc/configure | 12 ++++++------
+ gcc/configure.ac | 18 +++++++++---------
+ libstdc++-v3/configure | 6 +++---
+ libstdc++-v3/configure.ac | 2 +-
+ 4 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index e3bcf8abe9a..1f1d22ca666 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -29332,12 +29332,12 @@ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
+ $as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
+ have_sys_sdt_h=no
+-if test -f $target_header_dir/sys/sdt.h; then
+- have_sys_sdt_h=yes
+-
+-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
+-
+-fi
++#if test -f $target_header_dir/sys/sdt.h; then
++# have_sys_sdt_h=yes
++#
++#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
++#
++#fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
+ $as_echo "$have_sys_sdt_h" >&6; }
+
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 2ebc377a74d..ddc85197588 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -5995,15 +5995,15 @@ fi
+ AC_SUBST([enable_default_ssp])
+
+ # Test for <sys/sdt.h> on the target.
+-GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
+-AC_MSG_CHECKING(sys/sdt.h in the target C library)
+-have_sys_sdt_h=no
+-if test -f $target_header_dir/sys/sdt.h; then
+- have_sys_sdt_h=yes
+- AC_DEFINE(HAVE_SYS_SDT_H, 1,
+- [Define if your target C library provides sys/sdt.h])
+-fi
+-AC_MSG_RESULT($have_sys_sdt_h)
++#GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
++#AC_MSG_CHECKING(sys/sdt.h in the target C library)
++#have_sys_sdt_h=no
++#if test -f $target_header_dir/sys/sdt.h; then
++# have_sys_sdt_h=yes
++# AC_DEFINE(HAVE_SYS_SDT_H, 1,
++# [Define if your target C library provides sys/sdt.h])
++#fi
++#AC_MSG_RESULT($have_sys_sdt_h)
+
+ # Check if TFmode long double should be used by default or not.
+ # Some glibc targets used DFmode long double, but with glibc 2.4
+diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
+index 5acf79cba54..191bc6c5796 100755
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -22085,11 +22085,11 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+- if test $glibcxx_cv_sys_sdt_h = yes; then
++# if test $glibcxx_cv_sys_sdt_h = yes; then
+
+-$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
++#$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
+
+- fi
++# fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_sys_sdt_h" >&5
+ $as_echo "$glibcxx_cv_sys_sdt_h" >&6; }
+
+diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
+index dadd8827b49..6b1ce9957d3 100644
+--- a/libstdc++-v3/configure.ac
++++ b/libstdc++-v3/configure.ac
+@@ -230,7 +230,7 @@ GLIBCXX_CHECK_SC_NPROCESSORS_ONLN
+ GLIBCXX_CHECK_SC_NPROC_ONLN
+ GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP
+ GLIBCXX_CHECK_SYSCTL_HW_NCPU
+-GLIBCXX_CHECK_SDT_H
++#GLIBCXX_CHECK_SDT_H
+
+ # Check for available headers.
+ AC_CHECK_HEADERS([endian.h execinfo.h float.h fp.h ieeefp.h inttypes.h \
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0014-libtool.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0014-libtool.patch
new file mode 100644
index 000000000..7a8f3afec
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0014-libtool.patch
@@ -0,0 +1,42 @@
+From 6c4d0c303ebc3e1c7e554d54a8bb807d77ed41fd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:29:11 +0400
+Subject: [PATCH 14/36] libtool
+
+libstdc++ from gcc-runtime gets created with -rpath=/usr/lib/../lib for qemux86-64
+when running on am x86_64 build host.
+
+This patch stops this speading to libdir in the libstdc++.la file within libtool.
+Arguably, it shouldn't be passing this into libtool in the first place but
+for now this resolves the nastiest problems this causes.
+
+func_normal_abspath would resolve an empty path to `pwd` so we need
+to filter the zero case.
+
+RP 2012/8/24
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ ltmain.sh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 79f9ba89af5..8e222f7c16b 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -6359,6 +6359,10 @@ func_mode_link ()
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
++ if test -n "$install_libdir"; then
++ func_normal_abspath "$install_libdir"
++ install_libdir=$func_normal_abspath_result
++ fi
+
+ oldlibs=
+ if test -z "$rpath"; then
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
new file mode 100644
index 000000000..d06ae2702
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0015-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
@@ -0,0 +1,43 @@
+From c5662ff1e7dea2291b9cb7a83cfff3001dd31f53 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:30:32 +0400
+Subject: [PATCH 15/36] gcc: armv4: pass fix-v4bx to linker to support EABI.
+
+The LINK_SPEC for linux gets overwritten by linux-eabi.h which
+means the value of TARGET_FIX_V4BX_SPEC gets lost and as a result
+the option is not passed to linker when chosing march=armv4
+This patch redefines this in linux-eabi.h and reinserts it
+for eabi defaulting toolchains.
+
+We might want to send it upstream.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ gcc/config/arm/linux-eabi.h | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
+index e4ade2e2ab0..108863f69d2 100644
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
+@@ -91,10 +91,14 @@
+ #define MUSL_DYNAMIC_LINKER \
+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
+
++/* For armv4 we pass --fix-v4bx to linker to support EABI */
++#undef TARGET_FIX_V4BX_SPEC
++#define TARGET_FIX_V4BX_SPEC "%{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4: --fix-v4bx}"
++
+ /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
+ use the GNU/Linux version, not the generic BPABI version. */
+ #undef LINK_SPEC
+-#define LINK_SPEC EABI_LINK_SPEC \
++#define LINK_SPEC TARGET_FIX_V4BX_SPEC EABI_LINK_SPEC \
+ LINUX_OR_ANDROID_LD (LINUX_TARGET_LINK_SPEC, \
+ LINUX_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC)
+
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch
new file mode 100644
index 000000000..310caec4a
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0016-Use-the-multilib-config-files-from-B-instead-of-usin.patch
@@ -0,0 +1,102 @@
+From e3b693b9d6dc9496f7c98a13b28182d23084215c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 09:33:04 +0400
+Subject: [PATCH 16/36] Use the multilib config files from ${B} instead of
+ using the ones from ${S}
+
+Use the multilib config files from ${B} instead of using the ones from ${S}
+so that the source can be shared between gcc-cross-initial,
+gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
+
+Upstream-Status: Inappropriate [configuration]
+---
+ gcc/configure | 22 ++++++++++++++++++----
+ gcc/configure.ac | 22 ++++++++++++++++++----
+ 2 files changed, 36 insertions(+), 8 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 1f1d22ca666..911de2cf017 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -12321,10 +12321,20 @@ done
+ tmake_file_=
+ for f in ${tmake_file}
+ do
+- if test -f ${srcdir}/config/$f
+- then
+- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
+- fi
++ case $f in
++ */t-linux64 )
++ if test -f ./config/$f
++ then
++ tmake_file_="${tmake_file_} ./config/$f"
++ fi
++ ;;
++ * )
++ if test -f ${srcdir}/config/$f
++ then
++ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
++ fi
++ ;;
++ esac
+ done
+ tmake_file="${tmake_file_}"
+
+@@ -12335,6 +12345,10 @@ tm_file_list="options.h"
+ tm_include_list="options.h insn-constants.h"
+ for f in $tm_file; do
+ case $f in
++ */linux64.h )
++ tm_file_list="${tm_file_list} ./config/$f"
++ tm_include_list="${tm_include_list} ./config/$f"
++ ;;
+ ./* )
+ f=`echo $f | sed 's/^..//'`
+ tm_file_list="${tm_file_list} $f"
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index ddc85197588..b413ae9bf25 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1948,10 +1948,20 @@ done
+ tmake_file_=
+ for f in ${tmake_file}
+ do
+- if test -f ${srcdir}/config/$f
+- then
+- tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
+- fi
++ case $f in
++ */t-linux64 )
++ if test -f ./config/$f
++ then
++ tmake_file_="${tmake_file_} ./config/$f"
++ fi
++ ;;
++ * )
++ if test -f ${srcdir}/config/$f
++ then
++ tmake_file_="${tmake_file_} \$(srcdir)/config/$f"
++ fi
++ ;;
++ esac
+ done
+ tmake_file="${tmake_file_}"
+
+@@ -1962,6 +1972,10 @@ tm_file_list="options.h"
+ tm_include_list="options.h insn-constants.h"
+ for f in $tm_file; do
+ case $f in
++ */linux64.h )
++ tm_file_list="${tm_file_list} ./config/$f"
++ tm_include_list="${tm_include_list} ./config/$f"
++ ;;
+ ./* )
+ f=`echo $f | sed 's/^..//'`
+ tm_file_list="${tm_file_list} $f"
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
new file mode 100644
index 000000000..ad1d1d4eb
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0017-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
@@ -0,0 +1,31 @@
+From 09d9ccc1d471020949d1285a5276f17504fd60dd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 09:39:38 +0000
+Subject: [PATCH 17/36] Avoid using libdir from .la which usually points to a
+ host path
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Jonathan Liu <net147@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltmain.sh | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 8e222f7c16b..0a93b4e5c3b 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -5628,6 +5628,9 @@ func_mode_link ()
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
++ # Instead of using libdir from .la which usually points to a host path,
++ # use the path the .la is contained in.
++ libdir="$abs_ladir"
+ dir="$libdir"
+ absdir="$libdir"
+ fi
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0018-export-CPP.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0018-export-CPP.patch
new file mode 100644
index 000000000..0f728ec54
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0018-export-CPP.patch
@@ -0,0 +1,53 @@
+From 987338cd847a723de533bb317e452a60b1e52165 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 09:40:59 +0000
+Subject: [PATCH 18/36] export CPP
+
+The OE environment sets and exports CPP as being the target gcc. When
+building gcc-cross-canadian for a mingw targetted sdk, the following can be found
+in build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log:
+
+configure:3641: checking for _FILE_OFFSET_BITS value needed for large files
+configure:3666: gcc -c -isystem/media/build1/poky/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe conftest.c >&5
+configure:3666: $? = 0
+configure:3698: result: no
+configure:3786: checking how to run the C preprocessor
+configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32
+configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=/media/build1/poky/build/tmp/sysroots/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
+configure:3876: $? = 0
+
+Note this is a *build* target (in build-x86_64-linux) so it should be
+using the host "gcc", not x86_64-pokysdk-mingw32-gcc. Since the mingw32
+headers are very different, using the wrong cpp is a real problem. It is leaking
+into configure through the CPP variable. Ultimately this leads to build
+failures related to not being able to include a process.h file for pem-unix.c.
+
+The fix is to ensure we export a sane CPP value into the build
+environment when using build targets. We could define a CPP_FOR_BUILD value which may be
+the version which needs to be upstreamed but for now, this fix is good enough to
+avoid the problem.
+
+RP 22/08/2013
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.in b/Makefile.in
+index 64e091ba71d..255822e3f27 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -149,6 +149,7 @@ BUILD_EXPORTS = \
+ AR="$(AR_FOR_BUILD)"; export AR; \
+ AS="$(AS_FOR_BUILD)"; export AS; \
+ CC="$(CC_FOR_BUILD)"; export CC; \
++ CPP="$(CC_FOR_BUILD) -E"; export CPP; \
+ CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX_FOR_BUILD)"; export CXX; \
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch
new file mode 100644
index 000000000..53f9e99d0
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0019-Ensure-target-gcc-headers-can-be-included.patch
@@ -0,0 +1,55 @@
+From d27ba49e2e5c608c43265462d6831363cc7f565b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 10:25:11 +0000
+Subject: [PATCH 19/36] Ensure target gcc headers can be included
+
+There are a few headers installed as part of the OpenEmbedded
+gcc-runtime target (omp.h, ssp/*.h). Being installed from a recipe
+built for the target architecture, these are within the target
+sysroot and not cross/nativesdk; thus they weren't able to be
+found by gcc with the existing search paths. Add support for
+picking up these headers under the sysroot supplied on the gcc
+command line in order to resolve this.
+
+Upstream-Status: Pending
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/Makefile.in | 2 ++
+ gcc/cppdefault.c | 4 ++++
+ gcc/defaults.h | 9 +++++++++
+ gcc/gcc.c | 7 -------
+ 4 files changed, 15 insertions(+), 7 deletions(-)
+
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -618,6 +618,7 @@ libexecdir = @libexecdir@
+
+ # Directory in which the compiler finds libraries etc.
+ libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
++libsubdir_target = $(target_noncanonical)/$(version)
+ # Directory in which the compiler finds executables
+ libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
+ # Directory in which all plugin resources are installed
+@@ -2866,6 +2867,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localed
+
+ PREPROCESSOR_DEFINES = \
+ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
++ -DGCC_INCLUDE_SUBDIR_TARGET=\"$(libsubdir_target)/include\" \
+ -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \
+ -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
+ -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
+--- a/gcc/cppdefault.c
++++ b/gcc/cppdefault.c
+@@ -59,6 +59,10 @@ const struct default_include cpp_include
+ /* This is the dir for gcc's private headers. */
+ { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
+ #endif
++#ifdef GCC_INCLUDE_SUBDIR_TARGET
++ /* This is the dir for gcc's private headers under the specified sysroot. */
++ { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
++#endif
+ #ifdef LOCAL_INCLUDE_DIR
+ /* /usr/local/include comes before the fixincluded header files. */
+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
new file mode 100644
index 000000000..b0f96d06d
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0020-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch
@@ -0,0 +1,54 @@
+From 83bcd4cc47ae63971c888c117abd00dfd506532c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 20 Feb 2015 11:17:19 +0000
+Subject: [PATCH 20/36] gcc 4.8+ won't build with --disable-dependency-tracking
+
+since the *.Ppo files don't get created unless --enable-dependency-tracking is true.
+
+This patch ensures we only use those compiler options when its enabled.
+
+Upstream-Status: Submitted
+
+(Problem was already reported upstream, attached this patch there
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55930)
+
+RP
+2012/09/22
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libatomic/Makefile.am | 3 ++-
+ libatomic/Makefile.in | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
+index c1b7c73934a..ef43d62c07a 100644
+--- a/libatomic/Makefile.am
++++ b/libatomic/Makefile.am
+@@ -101,7 +101,8 @@ PAT_S = $(word 3,$(PAT_SPLIT))
+ IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
+ IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
+
+-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_FALSE@M_DEPS =
+ M_SIZE = -DN=$(PAT_N)
+ M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
+ M_FILE = $(PAT_BASE)_n.c
+diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
+index 29324e3e0ac..d5cdb4259ef 100644
+--- a/libatomic/Makefile.in
++++ b/libatomic/Makefile.in
+@@ -414,7 +414,8 @@ PAT_N = $(word 2,$(PAT_SPLIT))
+ PAT_S = $(word 3,$(PAT_SPLIT))
+ IFUNC_DEF = -DIFUNC_ALT=$(PAT_S)
+ IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS))
+-M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_TRUE@M_DEPS = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
++@AMDEP_FALSE@M_DEPS =
+ M_SIZE = -DN=$(PAT_N)
+ M_IFUNC = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
+ M_FILE = $(PAT_BASE)_n.c
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch
new file mode 100644
index 000000000..f36ca29b9
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0021-Don-t-search-host-directory-during-relink-if-inst_pr.patch
@@ -0,0 +1,38 @@
+From 667cc8d43e8fb4ac09654ee408da482f96b09580 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Mar 2015 08:21:19 +0000
+Subject: [PATCH 21/36] Don't search host directory during "relink" if
+ $inst_prefix is provided
+
+http://lists.gnu.org/archive/html/libtool-patches/2011-01/msg00026.html
+
+Upstream-Status: Submitted
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ltmain.sh | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/ltmain.sh b/ltmain.sh
+index 0a93b4e5c3b..6de6ed2f9a0 100644
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -6004,12 +6004,13 @@ func_mode_link ()
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
++ # Default if $libdir is not relative to the prefix:
+ add_dir="-L$libdir"
+- # Try looking first in the location we're being installed to.
++
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+- add_dir="$add_dir -L$inst_prefix_dir$libdir"
++ add_dir="-L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
new file mode 100644
index 000000000..d5b915002
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0022-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch
@@ -0,0 +1,29 @@
+From 279c4de48e3fd61e2f268787ed3f1d69ed9224f8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Apr 2015 23:15:27 -0700
+Subject: [PATCH 22/36] Use SYSTEMLIBS_DIR replacement instead of hardcoding
+ base_libdir
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/aarch64/aarch64-linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
+index 5e8b34ded03..7e628bf661e 100644
+--- a/gcc/config/aarch64/aarch64-linux.h
++++ b/gcc/config/aarch64/aarch64-linux.h
+@@ -21,7 +21,7 @@
+ #ifndef GCC_AARCH64_LINUX_H
+ #define GCC_AARCH64_LINUX_H
+
+-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
++#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+
+ #undef MUSL_DYNAMIC_LINKER
+ #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0023-aarch64-Add-support-for-musl-ldso.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0023-aarch64-Add-support-for-musl-ldso.patch
new file mode 100644
index 000000000..f811306c3
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0023-aarch64-Add-support-for-musl-ldso.patch
@@ -0,0 +1,28 @@
+From 1277d12058334087443828dfd57d44e3b1dfcc9a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 28 Apr 2015 23:18:39 -0700
+Subject: [PATCH 23/36] aarch64: Add support for musl ldso
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/aarch64/aarch64-linux.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h
+index 7e628bf661e..1717cbe5471 100644
+--- a/gcc/config/aarch64/aarch64-linux.h
++++ b/gcc/config/aarch64/aarch64-linux.h
+@@ -24,7 +24,7 @@
+ #define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+
+ #undef MUSL_DYNAMIC_LINKER
+-#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
++#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
+
+ #undef ASAN_CC1_SPEC
+ #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch
new file mode 100644
index 000000000..298b0962f
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0024-libcc1-fix-libcc1-s-install-path-and-rpath.patch
@@ -0,0 +1,54 @@
+From 4a0487ad75accd780dd155aa59086cc4b11cfc47 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Sun, 5 Jul 2015 20:25:18 -0700
+Subject: [PATCH 24/36] libcc1: fix libcc1's install path and rpath
+
+* Install libcc1.so and libcc1plugin.so into
+ $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
+ had done to lto-plugin.
+* Fix bad RPATH iussue:
+ gcc-5.2.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file
+ /path/to/gcc/5.2.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.2.0/plugin/libcc1plugin.so.0.0.0
+ [rpaths]
+
+Upstream-Status: Inappropriate [OE configuration]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ libcc1/Makefile.am | 4 ++--
+ libcc1/Makefile.in | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
+index 72c6aead475..42a87740b31 100644
+--- a/libcc1/Makefile.am
++++ b/libcc1/Makefile.am
+@@ -37,8 +37,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ $(Wc)$(libiberty_normal)))
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+
+ if ENABLE_PLUGIN
+ plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
+diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
+index 7104b649026..2103c477468 100644
+--- a/libcc1/Makefile.in
++++ b/libcc1/Makefile.in
+@@ -393,8 +393,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ $(Wc)$(libiberty_normal)))
+
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+ @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la
+ @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
+ shared_source = callbacks.cc callbacks.hh connection.cc connection.hh \
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch
new file mode 100644
index 000000000..ba62bc1fd
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0025-handle-sysroot-support-for-nativesdk-gcc.patch
@@ -0,0 +1,213 @@
+From a183c82ea2af934a8d30055a791dc1d80c9067a9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:39:54 +0000
+Subject: [PATCH 25/36] handle sysroot support for nativesdk-gcc
+
+Being able to build a nativesdk gcc is useful, particularly in cases
+where the host compiler may be of an incompatible version (or a 32
+bit compiler is needed).
+
+Sadly, building nativesdk-gcc is not straight forward. We install
+nativesdk-gcc into a relocatable location and this means that its
+library locations can change. "Normal" sysroot support doesn't help
+in this case since the values of paths like "libdir" change, not just
+base root directory of the system.
+
+In order to handle this we do two things:
+
+a) Add %r into spec file markup which can be used for injected paths
+ such as SYSTEMLIBS_DIR (see gcc_multilib_setup()).
+b) Add other paths which need relocation into a .gccrelocprefix section
+ which the relocation code will notice and adjust automatically.
+
+Upstream-Status: Inappropriate
+RP 2015/7/28
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/cppdefault.c | 50 +++++++++++++++++++++++++++++++++++-------------
+ gcc/cppdefault.h | 3 ++-
+ gcc/gcc.c | 20 +++++++++++++------
+ 3 files changed, 53 insertions(+), 20 deletions(-)
+
+diff --git a/gcc/cppdefault.c b/gcc/cppdefault.c
+index 980e2bd47a7..39b6059efdc 100644
+--- a/gcc/cppdefault.c
++++ b/gcc/cppdefault.c
+@@ -35,6 +35,30 @@
+ # undef CROSS_INCLUDE_DIR
+ #endif
+
++static char GPLUSPLUS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_INCLUDE_DIR;
++static char GCC_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GCC_INCLUDE_DIR;
++static char GPLUSPLUS_TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_TOOL_INCLUDE_DIR;
++static char GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
++static char STANDARD_STARTFILE_PREFIX_2VAR[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET;
++#ifdef LOCAL_INCLUDE_DIR
++static char LOCAL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = LOCAL_INCLUDE_DIR;
++#endif
++#ifdef PREFIX_INCLUDE_DIR
++static char PREFIX_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = PREFIX_INCLUDE_DIR;
++#endif
++#ifdef FIXED_INCLUDE_DIR
++static char FIXED_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = FIXED_INCLUDE_DIR;
++#endif
++#ifdef CROSS_INCLUDE_DIR
++static char CROSS_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = CROSS_INCLUDE_DIR;
++#endif
++#ifdef TOOL_INCLUDE_DIR
++static char TOOL_INCLUDE_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = TOOL_INCLUDE_DIR;
++#endif
++#ifdef NATIVE_SYSTEM_HEADER_DIR
++static char NATIVE_SYSTEM_HEADER_DIRVAR[4096] __attribute__ ((section (".gccrelocprefix"))) = NATIVE_SYSTEM_HEADER_DIR;
++#endif
++
+ const struct default_include cpp_include_defaults[]
+ #ifdef INCLUDE_DEFAULTS
+ = INCLUDE_DEFAULTS;
+@@ -42,38 +66,38 @@ const struct default_include cpp_include_defaults[]
+ = {
+ #ifdef GPLUSPLUS_INCLUDE_DIR
+ /* Pick up GNU C++ generic include files. */
+- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1,
++ { GPLUSPLUS_INCLUDE_DIRVAR, "G++", 1, 1,
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
+ #endif
+ #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
+ /* Pick up GNU C++ target-dependent include files. */
+- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1,
++ { GPLUSPLUS_TOOL_INCLUDE_DIRVAR, "G++", 1, 1,
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 },
+ #endif
+ #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
+ /* Pick up GNU C++ backward and deprecated include files. */
+- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1,
++ { GPLUSPLUS_BACKWARD_INCLUDE_DIRVAR, "G++", 1, 1,
+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
+ #endif
+ #ifdef GCC_INCLUDE_DIR
+ /* This is the dir for gcc's private headers. */
+- { GCC_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
++ { GCC_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
+ #endif
+ #ifdef GCC_INCLUDE_SUBDIR_TARGET
+ /* This is the dir for gcc's private headers under the specified sysroot. */
+- { STANDARD_STARTFILE_PREFIX_2 GCC_INCLUDE_SUBDIR_TARGET, "GCC", 0, 0, 1, 0 },
++ { STANDARD_STARTFILE_PREFIX_2VAR, "GCC", 0, 0, 1, 0 },
+ #endif
+ #ifdef LOCAL_INCLUDE_DIR
+ /* /usr/local/include comes before the fixincluded header files. */
+- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
+- { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 2 },
++ { LOCAL_INCLUDE_DIRVAR, 0, 0, 1, 1, 0 },
+ #endif
+ #ifdef PREFIX_INCLUDE_DIR
+- { PREFIX_INCLUDE_DIR, 0, 0, 1, 0, 0 },
++ { PREFIX_INCLUDE_DIRVAR, 0, 0, 1, 0, 0 },
+ #endif
+ #ifdef FIXED_INCLUDE_DIR
+ /* This is the dir for fixincludes. */
+- { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0,
++ { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0,
+ /* A multilib suffix needs adding if different multilibs use
+ different headers. */
+ #ifdef SYSROOT_HEADERS_SUFFIX_SPEC
+@@ -85,16 +109,16 @@ const struct default_include cpp_include_defaults[]
+ #endif
+ #ifdef CROSS_INCLUDE_DIR
+ /* One place the target system's headers might be. */
+- { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 },
++ { CROSS_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 0 },
+ #endif
+ #ifdef TOOL_INCLUDE_DIR
+ /* Another place the target system's headers might be. */
+- { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 },
++ { TOOL_INCLUDE_DIRVAR, "BINUTILS", 0, 1, 0, 0 },
+ #endif
+ #ifdef NATIVE_SYSTEM_HEADER_DIR
+ /* /usr/include comes dead last. */
+- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
+- { NATIVE_SYSTEM_HEADER_DIR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
++ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 2 },
++ { NATIVE_SYSTEM_HEADER_DIRVAR, NATIVE_SYSTEM_HEADER_COMPONENT, 0, 0, 1, 0 },
+ #endif
+ { 0, 0, 0, 0, 0, 0 }
+ };
+diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
+index e2d96f1e760..29fa5f815c8 100644
+--- a/gcc/cppdefault.h
++++ b/gcc/cppdefault.h
+@@ -33,7 +33,8 @@
+
+ struct default_include
+ {
+- const char *const fname; /* The name of the directory. */
++ const char *fname; /* The name of the directory. */
++
+ const char *const component; /* The component containing the directory
+ (see update_path in prefix.c) */
+ const char cplusplus; /* Only look here if we're compiling C++. */
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 1a3704b2763..db0e2934038 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -253,6 +253,8 @@ FILE *report_times_to_file = NULL;
+ #endif
+ static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
+
++static char target_relocatable_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = SYSTEMLIBS_DIR;
++
+ /* Nonzero means pass the updated target_system_root to the compiler. */
+
+ static int target_system_root_changed;
+@@ -527,6 +529,7 @@ or with constant text in a single argument.
+ %G process LIBGCC_SPEC as a spec.
+ %R Output the concatenation of target_system_root and
+ target_sysroot_suffix.
++ %r Output the base path target_relocatable_prefix
+ %S process STARTFILE_SPEC as a spec. A capital S is actually used here.
+ %E process ENDFILE_SPEC as a spec. A capital E is actually used here.
+ %C process CPP_SPEC as a spec.
+@@ -1493,10 +1496,10 @@ static const char *gcc_libexec_prefix;
+ gcc_exec_prefix is set because, in that case, we know where the
+ compiler has been installed, and use paths relative to that
+ location instead. */
+-static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX;
+-static const char *const standard_libexec_prefix = STANDARD_LIBEXEC_PREFIX;
+-static const char *const standard_bindir_prefix = STANDARD_BINDIR_PREFIX;
+-static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
++static char standard_exec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_EXEC_PREFIX;
++static char standard_libexec_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_LIBEXEC_PREFIX;
++static char standard_bindir_prefix[4096] __attribute__ ((section (".gccrelocprefix"))) = STANDARD_BINDIR_PREFIX;
++static char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
+
+ /* For native compilers, these are well-known paths containing
+ components that may be provided by the system. For cross
+@@ -1504,9 +1507,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX;
+ static const char *md_exec_prefix = MD_EXEC_PREFIX;
+ static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
+ static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
+-static const char *const standard_startfile_prefix_1
++static char standard_startfile_prefix_1[4096] __attribute__ ((section (".gccrelocprefix")))
+ = STANDARD_STARTFILE_PREFIX_1;
+-static const char *const standard_startfile_prefix_2
++static char standard_startfile_prefix_2[4096] __attribute__ ((section (".gccrelocprefix")))
+ = STANDARD_STARTFILE_PREFIX_2;
+
+ /* A relative path to be used in finding the location of tools
+@@ -5915,6 +5918,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
+ }
+ break;
+
++ case 'r':
++ obstack_grow (&obstack, target_relocatable_prefix,
++ strlen (target_relocatable_prefix));
++ break;
++
+ case 'S':
+ value = do_spec_1 (startfile_spec, 0, NULL);
+ if (value != 0)
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch
new file mode 100644
index 000000000..fde206eb7
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0026-Search-target-sysroot-gcc-version-specific-dirs-with.patch
@@ -0,0 +1,102 @@
+From dab4db14e319f3239a2b4c7d1fbf2971936e27ba Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:41:45 +0000
+Subject: [PATCH 26/36] Search target sysroot gcc version specific dirs with
+ multilib.
+
+We install the gcc libraries (such as crtbegin.p) into
+<sysroot><libdir>/<target-sys>/5.2.0/
+which is a default search path for GCC (aka multi_suffix in the
+code below). <target-sys> is 'machine' in gcc's terminology. We use
+these directories so that multiple gcc versions could in theory
+co-exist on target.
+
+We only want to build one gcc-cross-canadian per arch and have this work
+for all multilibs. <target-sys> can be handled by mapping the multilib
+<target-sys> to the one used by gcc-cross-canadian, e.g.
+mips64-polkmllib32-linux
+is symlinked to by mips64-poky-linux.
+
+The default gcc search path in the target sysroot for a "lib64" mutlilib
+is:
+
+<sysroot>/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/../lib64/
+<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/../lib64/
+<sysroot>/lib32/
+<sysroot>/usr/lib32/
+
+which means that the lib32 crtbegin.o will be found and the lib64 ones
+will not which leads to compiler failures.
+
+This patch injects a multilib version of that path first so the lib64
+binaries can be found first. With this change the search path becomes:
+
+<sysroot>/lib32/../lib64/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/lib32/../lib64/
+<sysroot>/usr/lib32/../lib64/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/mips64-poky-linux/5.2.0/
+<sysroot>/usr/lib32/../lib64/
+<sysroot>/lib32/
+<sysroot>/usr/lib32/
+
+Upstream-Status: Pending
+RP 2015/7/31
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/gcc.c | 29 ++++++++++++++++++++++++++++-
+ 1 file changed, 28 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index db0e2934038..1c21d1b08eb 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -2610,7 +2610,7 @@ for_each_path (const struct path_prefix *paths,
+ if (path == NULL)
+ {
+ len = paths->max_len + extra_space + 1;
+- len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len);
++ len += MAX ((suffix_len + multi_os_dir_len), multiarch_len);
+ path = XNEWVEC (char, len);
+ }
+
+@@ -2622,6 +2622,33 @@ for_each_path (const struct path_prefix *paths,
+ /* Look first in MACHINE/VERSION subdirectory. */
+ if (!skip_multi_dir)
+ {
++ if (!(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir))
++ {
++ const char *this_multi;
++ size_t this_multi_len;
++
++ if (pl->os_multilib)
++ {
++ this_multi = multi_os_dir;
++ this_multi_len = multi_os_dir_len;
++ }
++ else
++ {
++ this_multi = multi_dir;
++ this_multi_len = multi_dir_len;
++ }
++
++ /* Look in multilib MACHINE/VERSION subdirectory first */
++ if (this_multi_len)
++ {
++ memcpy (path + len, this_multi, this_multi_len + 1);
++ memcpy (path + len + this_multi_len, multi_suffix, suffix_len + 1);
++ ret = callback (path, callback_info);
++ if (ret)
++ break;
++ }
++ }
++
+ memcpy (path + len, multi_suffix, suffix_len + 1);
+ ret = callback (path, callback_info);
+ if (ret)
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0027-Fix-various-_FOR_BUILD-and-related-variables.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0027-Fix-various-_FOR_BUILD-and-related-variables.patch
new file mode 100644
index 000000000..5d89e8e7e
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0027-Fix-various-_FOR_BUILD-and-related-variables.patch
@@ -0,0 +1,137 @@
+From 8e84bb09d2b7a60487a30e438bb109f31c2c254b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 7 Dec 2015 23:42:45 +0000
+Subject: [PATCH 27/36] Fix various _FOR_BUILD and related variables
+
+When doing a FOR_BUILD thing, you have to override CFLAGS with
+CFLAGS_FOR_BUILD. And if you use C++, you also have to override
+CXXFLAGS with CXXFLAGS_FOR_BUILD.
+Without this, when building for mingw, you end up trying to use
+the mingw headers for a host build.
+
+The same goes for other variables as well, such as CPPFLAGS,
+CPP, and GMPINC.
+
+Upstream-Status: Pending
+
+Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 6 ++++++
+ Makefile.tpl | 5 +++++
+ gcc/Makefile.in | 2 +-
+ gcc/configure | 2 +-
+ gcc/configure.ac | 2 +-
+ 5 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 255822e3f27..9dc0dff0474 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -152,6 +152,7 @@ BUILD_EXPORTS = \
+ CPP="$(CC_FOR_BUILD) -E"; export CPP; \
+ CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+@@ -171,6 +172,9 @@ BUILD_EXPORTS = \
+ # built for the build system to override those in BASE_FLAGS_TO_PASS.
+ EXTRA_BUILD_FLAGS = \
+ CFLAGS="$(CFLAGS_FOR_BUILD)" \
++ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
++ CPP="$(CC_FOR_BUILD) -E" \
++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+
+ # This is the list of directories to built for the host system.
+@@ -188,6 +192,7 @@ HOST_SUBDIR = @host_subdir@
+ HOST_EXPORTS = \
+ $(BASE_EXPORTS) \
+ CC="$(CC)"; export CC; \
++ CPP="$(CC) -E"; export CPP; \
+ ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+@@ -775,6 +780,7 @@ BASE_FLAGS_TO_PASS = \
+ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
++ "CXXFLAGS_FOR_BUILD=$(CXXFLAGS_FOR_BUILD)" \
+ "EXPECT=$(EXPECT)" \
+ "FLEX=$(FLEX)" \
+ "INSTALL=$(INSTALL)" \
+diff --git a/Makefile.tpl b/Makefile.tpl
+index 41cae58a267..d3f6b79acdc 100644
+--- a/Makefile.tpl
++++ b/Makefile.tpl
+@@ -154,6 +154,7 @@ BUILD_EXPORTS = \
+ CC="$(CC_FOR_BUILD)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_BUILD)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
+ CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+@@ -173,6 +174,9 @@ BUILD_EXPORTS = \
+ # built for the build system to override those in BASE_FLAGS_TO_PASS.
+ EXTRA_BUILD_FLAGS = \
+ CFLAGS="$(CFLAGS_FOR_BUILD)" \
++ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
++ CPP="$(CC_FOR_BUILD) -E" \
++ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)" \
+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"
+
+ # This is the list of directories to built for the host system.
+@@ -190,6 +194,7 @@ HOST_SUBDIR = @host_subdir@
+ HOST_EXPORTS = \
+ $(BASE_EXPORTS) \
+ CC="$(CC)"; export CC; \
++ CPP="$(CC) -E"; export CPP; \
+ ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 21472745c2c..8c93f03ffdc 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -805,7 +805,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@
+ BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
+ BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
+ BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
+- -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
++ -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS_FOR_BUILD)
+
+ # Actual name to use when installing a native compiler.
+ GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
+diff --git a/gcc/configure b/gcc/configure
+index 911de2cf017..325ace34cdf 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -11965,7 +11965,7 @@ else
+ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+ CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
++ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ ${realsrcdir}/configure \
+ --enable-languages=${enable_languages-all} \
+ --target=$target_alias --host=$build_alias --build=$build_alias
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index b413ae9bf25..72a6c95121b 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1743,7 +1743,7 @@ else
+ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+ CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
+ LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
++ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
+ ${realsrcdir}/configure \
+ --enable-languages=${enable_languages-all} \
+ --target=$target_alias --host=$build_alias --build=$build_alias
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch
new file mode 100644
index 000000000..84d92a337
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0028-nios2-Define-MUSL_DYNAMIC_LINKER.patch
@@ -0,0 +1,28 @@
+From 5647f773e28b528a67800ef06ca44730f9f5dc7e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 2 Feb 2016 10:26:10 -0800
+Subject: [PATCH 28/36] nios2: Define MUSL_DYNAMIC_LINKER
+
+Upstream-Status: Pending
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/nios2/linux.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
+index 698734add35..eeee60ecfea 100644
+--- a/gcc/config/nios2/linux.h
++++ b/gcc/config/nios2/linux.h
+@@ -30,6 +30,7 @@
+ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC LINK_SPEC_ENDIAN \
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
new file mode 100644
index 000000000..d19e5a08b
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0029-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
@@ -0,0 +1,87 @@
+From 474043ca7a064ca7b0a32308a0ed6f7c546f17b2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 18:10:54 -0700
+Subject: [PATCH 29/36] Add ssp_nonshared to link commandline for musl targets
+
+when -fstack-protector options are enabled we need to
+link with ssp_shared on musl since it does not provide
+the __stack_chk_fail_local() so essentially it provides
+libssp but not libssp_nonshared something like
+TARGET_LIBC_PROVIDES_SSP_BUT_NOT_SSP_NONSHARED
+ where-as for glibc the needed symbols
+are already present in libc_nonshared library therefore
+we do not need any library helper on glibc based systems
+but musl needs the libssp_noshared from gcc
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/linux.h | 7 +++++++
+ gcc/config/rs6000/linux.h | 10 ++++++++++
+ gcc/config/rs6000/linux64.h | 10 ++++++++++
+ 3 files changed, 27 insertions(+)
+
+diff --git a/gcc/config/linux.h b/gcc/config/linux.h
+index 4b05d8e93d1..0ca117e2ed4 100644
+--- a/gcc/config/linux.h
++++ b/gcc/config/linux.h
+@@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \
+ { 0, 0, 0, 0, 0, 0 } \
+ }
++#ifdef TARGET_LIBC_PROVIDES_SSP
++#undef LINK_SSP_SPEC
++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
++ "|fstack-protector-strong|fstack-protector-explicit" \
++ ":-lssp_nonshared}"
++#endif
++
+ #endif
+
+ #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
+diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
+index ffceb32bf65..c82cb2ad05b 100644
+--- a/gcc/config/rs6000/linux.h
++++ b/gcc/config/rs6000/linux.h
+@@ -94,6 +94,16 @@
+ " -m elf32ppclinux")
+ #endif
+
++/* link libssp_nonshared.a with musl */
++#if DEFAULT_LIBC == LIBC_MUSL
++#ifdef TARGET_LIBC_PROVIDES_SSP
++#undef LINK_SSP_SPEC
++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
++ "|fstack-protector-strong|fstack-protector-explicit" \
++ ":-lssp_nonshared}"
++#endif
++#endif
++
+ #undef LINK_OS_LINUX_SPEC
+ #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
+ %{!static-pie: \
+diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
+index 45a9a7cae59..d1e88a40e82 100644
+--- a/gcc/config/rs6000/linux64.h
++++ b/gcc/config/rs6000/linux64.h
+@@ -456,6 +456,16 @@ extern int dot_symbols;
+ " -m elf64ppc")
+ #endif
+
++/* link libssp_nonshared.a with musl */
++#if DEFAULT_LIBC == LIBC_MUSL
++#ifdef TARGET_LIBC_PROVIDES_SSP
++#undef LINK_SSP_SPEC
++#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
++ "|fstack-protector-strong|fstack-protector-explicit" \
++ ":-lssp_nonshared}"
++#endif
++#endif
++
+ #define LINK_OS_LINUX_SPEC32 LINK_OS_LINUX_EMUL32 " %{!shared: %{!static: \
+ %{!static-pie: \
+ %{rdynamic:-export-dynamic} \
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
new file mode 100644
index 000000000..38eab5a08
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0030-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch
@@ -0,0 +1,79 @@
+From 47467f3ab0fb2f2fcede81060fe8bb339d0909eb Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <nsz@port70.net>
+Date: Wed, 28 Feb 2018 00:54:05 +0000
+Subject: [PATCH 10/12] ldbl128 config
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/configure | 13 +++++++++++++
+ gcc/configure.ac | 16 ++++++++++++++--
+ 2 files changed, 27 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/configure b/gcc/configure
+index 6121e163259..07ff8597d48 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -29309,6 +29309,15 @@ if test "${with_long_double_128+set}" = set; then :
+ withval=$with_long_double_128; gcc_cv_target_ldbl128="$with_long_double_128"
+ else
+
++ case "$target" in
++ s390*-*-linux-musl*)
++ gcc_cv_target_ldbl128=yes
++ ;;
++ powerpc*-*-linux-musl*)
++ gcc_cv_target_ldbl128=no
++ ;;
++ *)
++
+ if test $glibc_version_major -gt 2 \
+ || ( test $glibc_version_major -eq 2 && test $glibc_version_minor -ge 4 ); then :
+ gcc_cv_target_ldbl128=yes
+@@ -29320,6 +29329,10 @@ else
+ && gcc_cv_target_ldbl128=yes
+
+ fi
++
++ ;;
++ esac
++
+ fi
+
+ ;;
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index b066cc609e1..6c15ed898c0 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -5971,13 +5971,25 @@ case "$target" in
+ AC_ARG_WITH(long-double-128,
+ [AS_HELP_STRING([--with-long-double-128],
+ [use 128-bit long double by default])],
+- gcc_cv_target_ldbl128="$with_long_double_128",
++ gcc_cv_target_ldbl128="$with_long_double_128", [
++ case "$target" in
++ s390*-*-linux-musl*)
++ gcc_cv_target_ldbl128=yes
++ ;;
++ powerpc*-*-linux-musl*)
++ gcc_cv_target_ldbl128=no
++ ;;
++ *)]
+ [GCC_GLIBC_VERSION_GTE_IFELSE([2], [4], [gcc_cv_target_ldbl128=yes], [
+ [gcc_cv_target_ldbl128=no
+ grep '^[ ]*#[ ]*define[ ][ ]*__LONG_DOUBLE_MATH_OPTIONAL' \
+ $target_header_dir/bits/wordsize.h > /dev/null 2>&1 \
+ && gcc_cv_target_ldbl128=yes
+- ]])])
++ ]])]
++ [
++ ;;
++ esac
++ ])
+ ;;
+ esac
+ if test x$gcc_cv_target_ldbl128 = xyes; then
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
new file mode 100644
index 000000000..dc2141d70
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0031-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch
@@ -0,0 +1,29 @@
+From 266dcc78e4d9d38de2809118977d97dc9270cf1f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 4 May 2016 21:11:34 -0700
+Subject: [PATCH 31/36] Link libgcc using LDFLAGS, not just SHLIB_LDFLAGS
+
+Upstream-Status: Pending
+
+Signed-off-by: Christopher Larson <chris_larson@mentor.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libgcc/config/t-slibgcc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
+index 099bf23e62f..436b277a79f 100644
+--- a/libgcc/config/t-slibgcc
++++ b/libgcc/config/t-slibgcc
+@@ -32,7 +32,7 @@ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
+ $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
+
+ SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
+- $(SHLIB_LDFLAGS) \
++ $(LDFLAGS) $(SHLIB_LDFLAGS) \
+ -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
+ $(SHLIB_OBJS) $(SHLIB_LC) && \
+ rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
new file mode 100644
index 000000000..8dde016ce
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0032-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
@@ -0,0 +1,86 @@
+From 9975b6ed3570bbf7c7d2d82f4d5f733d24ccacf5 Mon Sep 17 00:00:00 2001
+From: Szabolcs Nagy <nsz@port70.net>
+Date: Sat, 24 Oct 2015 20:09:53 +0000
+Subject: [PATCH 32/36] libgcc_s: Use alias for __cpu_indicator_init instead of
+ symver
+
+Adapter from
+
+https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00899.html
+
+This fix was debated but hasnt been applied gcc upstream since
+they expect musl to support '@' in symbol versioning which is
+a sun/gnu versioning extention. This patch however avoids the
+need for the '@' symbols at all
+
+libgcc/Changelog:
+
+2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/i386/cpuinfo.c (__cpu_indicator_init_local): Add.
+ (__cpu_indicator_init@GCC_4.8.0, __cpu_model@GCC_4.8.0): Remove.
+
+ * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Remove -DUSE_ELF_SYMVER.
+
+gcc/Changelog:
+
+2015-05-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * config/i386/i386.c (ix86_expand_builtin): Make __builtin_cpu_init
+ call __cpu_indicator_init_local instead of __cpu_indicator_init.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/i386/i386.c | 4 ++--
+ libgcc/config/i386/cpuinfo.c | 6 +++---
+ libgcc/config/i386/t-linux | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
+index 2b37296e537..dd380ddba88 100644
+--- a/gcc/config/i386/i386.c
++++ b/gcc/config/i386/i386.c
+@@ -36658,10 +36658,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
+ {
+ case IX86_BUILTIN_CPU_INIT:
+ {
+- /* Make it call __cpu_indicator_init in libgcc. */
++ /* Make it call __cpu_indicator_init_local in libgcc.a. */
+ tree call_expr, fndecl, type;
+ type = build_function_type_list (integer_type_node, NULL_TREE);
+- fndecl = build_fn_decl ("__cpu_indicator_init", type);
++ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
+ call_expr = build_call_expr (fndecl, 0);
+ return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
+ }
+diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
+index d6cb2de6265..ce04ef78205 100644
+--- a/libgcc/config/i386/cpuinfo.c
++++ b/libgcc/config/i386/cpuinfo.c
+@@ -504,7 +504,7 @@ __cpu_indicator_init (void)
+ return 0;
+ }
+
+-#if defined SHARED && defined USE_ELF_SYMVER
+-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
+-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
++#ifndef SHARED
++int __cpu_indicator_init_local (void)
++ __attribute__ ((weak, alias ("__cpu_indicator_init")));
+ #endif
+diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
+index 8506a635790..564296f788e 100644
+--- a/libgcc/config/i386/t-linux
++++ b/libgcc/config/i386/t-linux
+@@ -3,5 +3,5 @@
+ # t-slibgcc-elf-ver and t-linux
+ SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
+
+-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
++HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
+ CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0033-sync-gcc-stddef.h-with-musl.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0033-sync-gcc-stddef.h-with-musl.patch
new file mode 100644
index 000000000..b99ac429a
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0033-sync-gcc-stddef.h-with-musl.patch
@@ -0,0 +1,91 @@
+From 39e2f61d262f9f6c7a91068998dea80791ef665e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 3 Feb 2017 12:56:00 -0800
+Subject: [PATCH 33/36] sync gcc stddef.h with musl
+
+musl defines ptrdiff_t size_t and wchar_t
+so dont define them here if musl is definining them
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/ginclude/stddef.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/gcc/ginclude/stddef.h b/gcc/ginclude/stddef.h
+index da692e1c01a..9a00c261adb 100644
+--- a/gcc/ginclude/stddef.h
++++ b/gcc/ginclude/stddef.h
+@@ -128,6 +128,7 @@ _TYPE_wchar_t;
+ #ifndef ___int_ptrdiff_t_h
+ #ifndef _GCC_PTRDIFF_T
+ #ifndef _PTRDIFF_T_DECLARED /* DragonFly */
++#ifndef __DEFINED_ptrdiff_t /* musl */
+ #define _PTRDIFF_T
+ #define _T_PTRDIFF_
+ #define _T_PTRDIFF
+@@ -137,10 +138,12 @@ _TYPE_wchar_t;
+ #define ___int_ptrdiff_t_h
+ #define _GCC_PTRDIFF_T
+ #define _PTRDIFF_T_DECLARED
++#define __DEFINED_ptrdiff_t /* musl */
+ #ifndef __PTRDIFF_TYPE__
+ #define __PTRDIFF_TYPE__ long int
+ #endif
+ typedef __PTRDIFF_TYPE__ ptrdiff_t;
++#endif /* __DEFINED_ptrdiff_t */
+ #endif /* _PTRDIFF_T_DECLARED */
+ #endif /* _GCC_PTRDIFF_T */
+ #endif /* ___int_ptrdiff_t_h */
+@@ -178,6 +181,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
+ #ifndef _GCC_SIZE_T
+ #ifndef _SIZET_
+ #ifndef __size_t
++#ifndef __DEFINED_size_t /* musl */
+ #define __size_t__ /* BeOS */
+ #define __SIZE_T__ /* Cray Unicos/Mk */
+ #define _SIZE_T
+@@ -194,6 +198,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
+ #define ___int_size_t_h
+ #define _GCC_SIZE_T
+ #define _SIZET_
++#define __DEFINED_size_t /* musl */
+ #if defined (__FreeBSD__) \
+ || defined(__DragonFly__) \
+ || defined(__FreeBSD_kernel__) \
+@@ -228,6 +233,7 @@ typedef long ssize_t;
+ #endif /* _SIZE_T */
+ #endif /* __SIZE_T__ */
+ #endif /* __size_t__ */
++#endif /* __DEFINED_size_t */
+ #undef __need_size_t
+ #endif /* _STDDEF_H or __need_size_t. */
+
+@@ -257,6 +263,7 @@ typedef long ssize_t;
+ #ifndef ___int_wchar_t_h
+ #ifndef __INT_WCHAR_T_H
+ #ifndef _GCC_WCHAR_T
++#ifndef __DEFINED_wchar_t /* musl */
+ #define __wchar_t__ /* BeOS */
+ #define __WCHAR_T__ /* Cray Unicos/Mk */
+ #define _WCHAR_T
+@@ -272,6 +279,7 @@ typedef long ssize_t;
+ #define __INT_WCHAR_T_H
+ #define _GCC_WCHAR_T
+ #define _WCHAR_T_DECLARED
++#define __DEFINED_wchar_t /* musl */
+
+ /* On BSD/386 1.1, at least, machine/ansi.h defines _BSD_WCHAR_T_
+ instead of _WCHAR_T_, and _BSD_RUNE_T_ (which, unlike the other
+@@ -337,6 +345,7 @@ typedef __WCHAR_TYPE__ wchar_t;
+ #endif
+ #endif /* __WCHAR_T__ */
+ #endif /* __wchar_t__ */
++#endif /* __DEFINED_wchar_t musl */
+ #undef __need_wchar_t
+ #endif /* _STDDEF_H or __need_wchar_t. */
+
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0034-fix-segmentation-fault-in-precompiled-header-generat.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0034-fix-segmentation-fault-in-precompiled-header-generat.patch
new file mode 100644
index 000000000..06a3c9f88
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0034-fix-segmentation-fault-in-precompiled-header-generat.patch
@@ -0,0 +1,60 @@
+From aaa896a57b0004a74c1d474e74b21f41147a65cb Mon Sep 17 00:00:00 2001
+From: Juro Bystricky <juro.bystricky@intel.com>
+Date: Mon, 19 Mar 2018 22:31:20 -0700
+Subject: [PATCH 34/36] fix segmentation fault in precompiled header generation
+
+Prevent a segmentation fault which occurs when using incorrect
+structure trying to access name of some named operators, such as
+CPP_NOT, CPP_AND etc. "token->val.node.spelling" cannot be used in
+those cases, as is may not be initialized at all.
+
+[YOCTO #11738]
+
+Upstream-Status: Pending
+
+Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libcpp/lex.c | 26 +++++++++++++++++++++-----
+ 1 file changed, 21 insertions(+), 5 deletions(-)
+
+diff --git a/libcpp/lex.c b/libcpp/lex.c
+index eedfcbb3146..15040a1b1f0 100644
+--- a/libcpp/lex.c
++++ b/libcpp/lex.c
+@@ -3280,11 +3280,27 @@ cpp_spell_token (cpp_reader *pfile, const cpp_token *token,
+ spell_ident:
+ case SPELL_IDENT:
+ if (forstring)
+- {
+- memcpy (buffer, NODE_NAME (token->val.node.spelling),
+- NODE_LEN (token->val.node.spelling));
+- buffer += NODE_LEN (token->val.node.spelling);
+- }
++ {
++ if (token->type == CPP_NAME)
++ {
++ memcpy (buffer, NODE_NAME (token->val.node.spelling),
++ NODE_LEN (token->val.node.spelling));
++ buffer += NODE_LEN (token->val.node.spelling);
++ break;
++ }
++ /* NAMED_OP, cannot use node.spelling */
++ if (token->flags & NAMED_OP)
++ {
++ const char *str = cpp_named_operator2name (token->type);
++ if (str)
++ {
++ size_t len = strlen(str);
++ memcpy(buffer, str, len);
++ buffer += len;
++ }
++ break;
++ }
++ }
+ else
+ buffer = _cpp_spell_ident_ucns (buffer, token->val.node.node);
+ break;
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0035-Fix-for-testsuite-failure.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0035-Fix-for-testsuite-failure.patch
new file mode 100644
index 000000000..7470cbfcf
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0035-Fix-for-testsuite-failure.patch
@@ -0,0 +1,258 @@
+From 0f9d449c739df03782ce9d29f6b68d9af976a607 Mon Sep 17 00:00:00 2001
+From: RAGHUNATH LOLUR <raghunath.lolur@kpit.com>
+Date: Wed, 6 Dec 2017 22:52:26 -0800
+Subject: [PATCH 35/36] Fix for testsuite failure
+
+2017-11-16 Raghunath Lolur <raghunath.lolur@kpit.com>
+
+ * gcc.dg/pr56275.c: If SSE is disabled, ensure that
+ "-mfpmath" is not set to use SSE. Set "-mfpmath=387".
+ * gcc.dg/pr68306.c: Likewise
+ * gcc.dg/pr68306-2.c: Likewise
+ * gcc.dg/pr68306-3.c: Likewise
+ * gcc.dg/pr69634.c: Likewise
+ * gcc.target/i386/amd64-abi-1.c: Likewise
+ * gcc.target/i386/funcspec-6.c: Likewise
+ * gcc.target/i386/interrupt-387-err-1.c: Likewise
+ * gcc.target/i386/isa-14.c: Likewise
+ * gcc.target/i386/pr44948-2b.c: Likewise
+ * gcc.target/i386/pr53425-1.c: Likewise
+ * gcc.target/i386/pr53425-2.c: Likewise
+ * gcc.target/i386/pr55247.c: Likewise
+ * gcc.target/i386/pr59644.c: Likewise
+ * gcc.target/i386/pr62120.c: Likewise
+ * gcc.target/i386/pr70467-1.c: Likewise
+ * gcc.target/i386/warn-vect-op-1.c: Likewise
+
+If -Wall, -Werror are used during compilation various test cases fail
+to compile.
+
+If SSE is disabled, be sure to -mfpmath=387 to resolve this.
+
+This patch removes the changes to Changelog from the original patch.
+This will help us avoid conflicts.
+
+Upstream-Status: Pending
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+---
+ gcc/testsuite/gcc.dg/pr56275.c | 2 +-
+ gcc/testsuite/gcc.dg/pr68306-2.c | 2 +-
+ gcc/testsuite/gcc.dg/pr68306-3.c | 2 +-
+ gcc/testsuite/gcc.dg/pr68306.c | 2 +-
+ gcc/testsuite/gcc.dg/pr69634.c | 2 +-
+ gcc/testsuite/gcc.target/i386/amd64-abi-1.c | 2 +-
+ gcc/testsuite/gcc.target/i386/funcspec-6.c | 1 +
+ gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c | 2 +-
+ gcc/testsuite/gcc.target/i386/isa-14.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr44948-2b.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr53425-1.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr53425-2.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr55247.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr59644.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr62120.c | 2 +-
+ gcc/testsuite/gcc.target/i386/pr70467-1.c | 2 +-
+ gcc/testsuite/gcc.target/i386/warn-vect-op-1.c | 2 +-
+ 17 files changed, 17 insertions(+), 16 deletions(-)
+
+diff --git a/gcc/testsuite/gcc.dg/pr56275.c b/gcc/testsuite/gcc.dg/pr56275.c
+index b901bb2b199..a4f6c95e1a1 100644
+--- a/gcc/testsuite/gcc.dg/pr56275.c
++++ b/gcc/testsuite/gcc.dg/pr56275.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+-/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
++/* { dg-additional-options "-mno-sse -mfpmath=387" { target { i?86-*-* x86_64-*-* } } } */
+
+ typedef long long v2tw __attribute__ ((vector_size (2 * sizeof (long long))));
+
+diff --git a/gcc/testsuite/gcc.dg/pr68306-2.c b/gcc/testsuite/gcc.dg/pr68306-2.c
+index 4672ebe7987..2a368c484b6 100644
+--- a/gcc/testsuite/gcc.dg/pr68306-2.c
++++ b/gcc/testsuite/gcc.dg/pr68306-2.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+
+ struct {
+ int tz_minuteswest;
+diff --git a/gcc/testsuite/gcc.dg/pr68306-3.c b/gcc/testsuite/gcc.dg/pr68306-3.c
+index f5a8c102cf8..df3390c64c2 100644
+--- a/gcc/testsuite/gcc.dg/pr68306-3.c
++++ b/gcc/testsuite/gcc.dg/pr68306-3.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+ /* { dg-additional-options "-mno-altivec -mno-vsx" { target powerpc*-*-* } } */
+
+ extern void fn2();
+diff --git a/gcc/testsuite/gcc.dg/pr68306.c b/gcc/testsuite/gcc.dg/pr68306.c
+index 54e5b40f221..0813389e2c1 100644
+--- a/gcc/testsuite/gcc.dg/pr68306.c
++++ b/gcc/testsuite/gcc.dg/pr68306.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O3" } */
+-/* { dg-additional-options "-mno-sse -mno-mmx" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mno-mmx -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+
+ enum powerpc_pmc_type { PPC_PMC_IBM };
+ struct {
+diff --git a/gcc/testsuite/gcc.dg/pr69634.c b/gcc/testsuite/gcc.dg/pr69634.c
+index 60a56149463..bcc23f9ccd6 100644
+--- a/gcc/testsuite/gcc.dg/pr69634.c
++++ b/gcc/testsuite/gcc.dg/pr69634.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fno-dce -fschedule-insns -fno-tree-vrp -fcompare-debug -Wno-psabi" } */
+-/* { dg-additional-options "-mno-sse" { target i?86-*-* x86_64-*-* } } */
++/* { dg-additional-options "-mno-sse -mfpmath=387" { target i?86-*-* x86_64-*-* } } */
+ /* { dg-require-effective-target scheduling } */
+
+ typedef unsigned short u16;
+diff --git a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
+index 69fde57bf06..7f1f1c03edf 100644
+--- a/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
++++ b/gcc/testsuite/gcc.target/i386/amd64-abi-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-mno-sse" } */
++/* { dg-options "-mno-sse -mfpmath=387" } */
+ /* { dg-additional-options "-mabi=sysv" { target *-*-mingw* } } */
+
+ double foo(void) { return 0; } /* { dg-error "SSE disabled" } */
+diff --git a/gcc/testsuite/gcc.target/i386/funcspec-6.c b/gcc/testsuite/gcc.target/i386/funcspec-6.c
+index ea896b7ebfd..bf15569b826 100644
+--- a/gcc/testsuite/gcc.target/i386/funcspec-6.c
++++ b/gcc/testsuite/gcc.target/i386/funcspec-6.c
+@@ -1,6 +1,7 @@
+ /* Test whether all of the 64-bit function specific options are accepted
+ without error. */
+ /* { dg-do compile { target { ! ia32 } } } */
++/* { dg-additional-options "-mfpmath=387" } */
+
+ #include "funcspec-56.inc"
+
+diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
+index 8561a3c26d6..6377f814645 100644
+--- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
++++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387" } */
++/* { dg-options "-O2 -mgeneral-regs-only -mno-cld -mno-iamcu -m80387 -mfpmath=387" } */
+
+ typedef unsigned int uword_t __attribute__ ((mode (__word__)));
+
+diff --git a/gcc/testsuite/gcc.target/i386/isa-14.c b/gcc/testsuite/gcc.target/i386/isa-14.c
+index 5d49e6e77fe..1de2db92bdd 100644
+--- a/gcc/testsuite/gcc.target/i386/isa-14.c
++++ b/gcc/testsuite/gcc.target/i386/isa-14.c
+@@ -1,5 +1,5 @@
+ /* { dg-do run } */
+-/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse" } */
++/* { dg-options "-march=x86-64 -msse4a -mfma4 -mno-sse -mfpmath=387" } */
+
+ extern void abort (void);
+
+diff --git a/gcc/testsuite/gcc.target/i386/pr44948-2b.c b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
+index fa1769b62fb..f79fb12726f 100644
+--- a/gcc/testsuite/gcc.target/i386/pr44948-2b.c
++++ b/gcc/testsuite/gcc.target/i386/pr44948-2b.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic" } */
++/* { dg-options "-O -mno-sse -Wno-psabi -mtune=generic -mfpmath=387" } */
+
+ struct A
+ {
+diff --git a/gcc/testsuite/gcc.target/i386/pr53425-1.c b/gcc/testsuite/gcc.target/i386/pr53425-1.c
+index 2e89ff7d81d..6339bf6b736 100644
+--- a/gcc/testsuite/gcc.target/i386/pr53425-1.c
++++ b/gcc/testsuite/gcc.target/i386/pr53425-1.c
+@@ -1,6 +1,6 @@
+ /* PR target/53425 */
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-O2 -mno-sse" } */
++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
+ /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
+
+ typedef double __v2df __attribute__ ((__vector_size__ (16)));
+diff --git a/gcc/testsuite/gcc.target/i386/pr53425-2.c b/gcc/testsuite/gcc.target/i386/pr53425-2.c
+index 61f6283dbe9..2c5a55f0ac3 100644
+--- a/gcc/testsuite/gcc.target/i386/pr53425-2.c
++++ b/gcc/testsuite/gcc.target/i386/pr53425-2.c
+@@ -1,6 +1,6 @@
+ /* PR target/53425 */
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-O2 -mno-sse" } */
++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
+ /* { dg-skip-if "no SSE vector" { x86_64-*-mingw* } } */
+
+ typedef float __v2sf __attribute__ ((__vector_size__ (8)));
+diff --git a/gcc/testsuite/gcc.target/i386/pr55247.c b/gcc/testsuite/gcc.target/i386/pr55247.c
+index 23366d0909d..9810e3abb76 100644
+--- a/gcc/testsuite/gcc.target/i386/pr55247.c
++++ b/gcc/testsuite/gcc.target/i386/pr55247.c
+@@ -1,6 +1,6 @@
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-require-effective-target maybe_x32 } */
+-/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long" } */
++/* { dg-options "-O2 -mno-sse -mno-mmx -mx32 -maddress-mode=long -mfpmath=387" } */
+
+ typedef unsigned int uint32_t;
+ typedef uint32_t Elf32_Word;
+diff --git a/gcc/testsuite/gcc.target/i386/pr59644.c b/gcc/testsuite/gcc.target/i386/pr59644.c
+index 96006b3e338..4287e4538bf 100644
+--- a/gcc/testsuite/gcc.target/i386/pr59644.c
++++ b/gcc/testsuite/gcc.target/i386/pr59644.c
+@@ -1,6 +1,6 @@
+ /* PR target/59644 */
+ /* { dg-do run { target lp64 } } */
+-/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone" } */
++/* { dg-options "-O2 -ffreestanding -mno-sse -mpreferred-stack-boundary=3 -maccumulate-outgoing-args -mno-red-zone -mfpmath=387" } */
+
+ /* This test uses __builtin_trap () instead of e.g. abort,
+ because due to -mpreferred-stack-boundary=3 it should not call
+diff --git a/gcc/testsuite/gcc.target/i386/pr62120.c b/gcc/testsuite/gcc.target/i386/pr62120.c
+index bfb8c4703eb..ed04cf181f3 100644
+--- a/gcc/testsuite/gcc.target/i386/pr62120.c
++++ b/gcc/testsuite/gcc.target/i386/pr62120.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile } */
+-/* { dg-options "-mno-sse" } */
++/* { dg-options "-mno-sse -mfpmath=387" } */
+
+ void foo ()
+ {
+diff --git a/gcc/testsuite/gcc.target/i386/pr70467-1.c b/gcc/testsuite/gcc.target/i386/pr70467-1.c
+index 4e112c88d07..bcfb396a68d 100644
+--- a/gcc/testsuite/gcc.target/i386/pr70467-1.c
++++ b/gcc/testsuite/gcc.target/i386/pr70467-1.c
+@@ -1,6 +1,6 @@
+ /* PR rtl-optimization/70467 */
+ /* { dg-do compile } */
+-/* { dg-options "-O2 -mno-sse" } */
++/* { dg-options "-O2 -mno-sse -mfpmath=387" } */
+
+ void foo (unsigned long long *);
+
+diff --git a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
+index 6cda1534311..26e37f5b8ba 100644
+--- a/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
++++ b/gcc/testsuite/gcc.target/i386/warn-vect-op-1.c
+@@ -1,5 +1,5 @@
+ /* { dg-do compile { target { ! ia32 } } } */
+-/* { dg-options "-mno-sse -Wvector-operation-performance" } */
++/* { dg-options "-mno-sse -Wvector-operation-performance -mfpmath=387" } */
+ #define vector(elcount, type) \
+ __attribute__((vector_size((elcount)*sizeof(type)))) type
+
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/0036-Re-introduce-spe-commandline-options.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/0036-Re-introduce-spe-commandline-options.patch
new file mode 100644
index 000000000..4dbcd9894
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/0036-Re-introduce-spe-commandline-options.patch
@@ -0,0 +1,41 @@
+From 71e99c2b58a9eb00cdd65a04aeb6fb78227e3297 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 6 Jun 2018 12:10:22 -0700
+Subject: [PATCH 36/36] Re-introduce spe commandline options
+
+This should ensure that we keep accepting
+spe options
+
+Upstream-Status: Inappropriate [SPE port is removed from rs600 port]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gcc/config/rs6000/rs6000.opt | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
+index f4b5c91e11f..69869350fce 100644
+--- a/gcc/config/rs6000/rs6000.opt
++++ b/gcc/config/rs6000/rs6000.opt
+@@ -345,6 +345,18 @@ mdebug=
+ Target RejectNegative Joined
+ -mdebug= Enable debug output.
+
++mspe
++Target Var(rs6000_spe) Save
++Generate SPE SIMD instructions on E500.
++
++mabi=spe
++Target RejectNegative Var(rs6000_spe_abi) Save
++Use the SPE ABI extensions.
++
++mabi=no-spe
++Target RejectNegative Var(rs6000_spe_abi, 0)
++Do not use the SPE ABI extensions.
++
+ mabi=altivec
+ Target RejectNegative Var(rs6000_altivec_abi) Save
+ Use the AltiVec ABI extensions.
+--
+2.22.1
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch
new file mode 100644
index 000000000..65ea34558
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-14250.patch
@@ -0,0 +1,44 @@
+From 517b211a3d78366ca8d5929f580e8ca72fd2c004 Mon Sep 17 00:00:00 2001
+From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Thu, 25 Jul 2019 10:46:54 +0000
+Subject: [PATCH] 2019-07-25 Richard Biener <rguenther@suse.de>
+
+ PR lto/90924
+ Backport from mainline
+ 2019-07-12 Ren Kimura <rkx1209dev@gmail.com>
+
+ * simple-object-elf.c (simple_object_elf_match): Check zero value
+ shstrndx.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@273793 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+Affectes: < 9.2
+CVE: CVE-2019-14250
+Dropped changelog
+Signed-off-by: Armin Kuster <Akustre@mvista.com>
+
+---
+ libiberty/simple-object-elf.c | 8 ++++++++
+ 2 files changed, 17 insertions(+)
+
+Index: gcc-9.2.0/libiberty/simple-object-elf.c
+===================================================================
+--- gcc-9.2.0.orig/libiberty/simple-object-elf.c
++++ gcc-9.2.0/libiberty/simple-object-elf.c
+@@ -557,6 +557,14 @@ simple_object_elf_match (unsigned char h
+ return NULL;
+ }
+
++ if (eor->shstrndx == 0)
++ {
++ *errmsg = "invalid ELF shstrndx == 0";
++ *err = 0;
++ XDELETE (eor);
++ return NULL;
++ }
++
+ return (void *) eor;
+ }
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch
new file mode 100644
index 000000000..227fd47c9
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_1.patch
@@ -0,0 +1,521 @@
+From 8c61566116d23063ff597271884f8e00d94ab1a1 Mon Sep 17 00:00:00 2001
+From: segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Fri, 30 Aug 2019 13:48:48 +0000
+Subject: [PATCH] Backport from trunk 2019-08-22 Segher Boessenkool
+ <segher@kernel.crashing.org>
+
+ * config/rs6000/altivec.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
+ UNSPEC_DARN_RAW, UNSPEC_CMPRB, UNSPEC_CMPRB2, UNSPEC_CMPEQB; move to...
+ * config/rs6000/rs6000.md (unspec): ... here.
+ * config/rs6000/altivec.md (darn_32, darn_raw, darn, cmprb,
+ *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
+ cmpeqb, *cmpeqb_internal): Delete, move to...
+ * config/rs6000/rs6000.md (darn_32, darn_raw, darn, cmprb,
+ *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
+ cmpeqb, *cmpeqb_internal): ... here.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@275170 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+CVE: CVE-2019-15847 p1
+Affects <= 9.2.0
+Dropped Changelog changes
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ gcc/config/rs6000/altivec.md | 223 ----------------------------------
+ gcc/config/rs6000/rs6000.md | 224 +++++++++++++++++++++++++++++++++++
+ 3 files changed, 239 insertions(+), 223 deletions(-)
+
+Index: gcc-9.2.0/gcc/config/rs6000/altivec.md
+===================================================================
+--- gcc-9.2.0.orig/gcc/config/rs6000/altivec.md
++++ gcc-9.2.0/gcc/config/rs6000/altivec.md
+@@ -80,9 +80,6 @@
+ UNSPEC_VUPKHPX
+ UNSPEC_VUPKLPX
+ UNSPEC_CONVERT_4F32_8I16
+- UNSPEC_DARN
+- UNSPEC_DARN_32
+- UNSPEC_DARN_RAW
+ UNSPEC_DST
+ UNSPEC_DSTT
+ UNSPEC_DSTST
+@@ -161,9 +158,6 @@
+ UNSPEC_BCDADD
+ UNSPEC_BCDSUB
+ UNSPEC_BCD_OVERFLOW
+- UNSPEC_CMPRB
+- UNSPEC_CMPRB2
+- UNSPEC_CMPEQB
+ UNSPEC_VRLMI
+ UNSPEC_VRLNM
+ ])
+@@ -4101,223 +4095,6 @@
+ "bcd<bcd_add_sub>. %0,%1,%2,%3"
+ [(set_attr "type" "vecsimple")])
+
+-(define_insn "darn_32"
+- [(set (match_operand:SI 0 "register_operand" "=r")
+- (unspec:SI [(const_int 0)] UNSPEC_DARN_32))]
+- "TARGET_P9_MISC"
+- "darn %0,0"
+- [(set_attr "type" "integer")])
+-
+-(define_insn "darn_raw"
+- [(set (match_operand:DI 0 "register_operand" "=r")
+- (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))]
+- "TARGET_P9_MISC && TARGET_64BIT"
+- "darn %0,2"
+- [(set_attr "type" "integer")])
+-
+-(define_insn "darn"
+- [(set (match_operand:DI 0 "register_operand" "=r")
+- (unspec:DI [(const_int 0)] UNSPEC_DARN))]
+- "TARGET_P9_MISC && TARGET_64BIT"
+- "darn %0,1"
+- [(set_attr "type" "integer")])
+-
+-;; Test byte within range.
+-;;
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the range specified by operand 2.
+-;; The bytes of operand 2 are organized as xx:xx:hi:lo.
+-;;
+-;; Return in target register operand 0 a value of 1 if lo <= vv and
+-;; vv <= hi. Otherwise, set register operand 0 to 0.
+-;;
+-;; Though the instructions to which this expansion maps operate on
+-;; 64-bit registers, the current implementation only operates on
+-;; SI-mode operands as the high-order bits provide no information
+-;; that is not already available in the low-order bits. To avoid the
+-;; costs of data widening operations, future enhancements might allow
+-;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
+-(define_expand "cmprb"
+- [(set (match_dup 3)
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:SI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPRB))
+- (set (match_operand:SI 0 "gpc_reg_operand" "=r")
+- (if_then_else:SI (lt (match_dup 3)
+- (const_int 0))
+- (const_int -1)
+- (if_then_else (gt (match_dup 3)
+- (const_int 0))
+- (const_int 1)
+- (const_int 0))))]
+- "TARGET_P9_MISC"
+-{
+- operands[3] = gen_reg_rtx (CCmode);
+-})
+-
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the range specified by operand 2.
+-;; The bytes of operand 2 are organized as xx:xx:hi:lo.
+-;;
+-;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
+-;; lo <= vv and vv <= hi. Otherwise, set the GT bit to 0. The other
+-;; 3 bits of the target CR register are all set to 0.
+-(define_insn "*cmprb_internal"
+- [(set (match_operand:CC 0 "cc_reg_operand" "=y")
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:SI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPRB))]
+- "TARGET_P9_MISC"
+- "cmprb %0,0,%1,%2"
+- [(set_attr "type" "logical")])
+-
+-;; Set operand 0 register to -1 if the LT bit (0x8) of condition
+-;; register operand 1 is on. Otherwise, set operand 0 register to 1
+-;; if the GT bit (0x4) of condition register operand 1 is on.
+-;; Otherwise, set operand 0 to 0. Note that the result stored into
+-;; register operand 0 is non-zero iff either the LT or GT bits are on
+-;; within condition register operand 1.
+-(define_insn "setb_signed"
+- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+- (if_then_else:SI (lt (match_operand:CC 1 "cc_reg_operand" "y")
+- (const_int 0))
+- (const_int -1)
+- (if_then_else (gt (match_dup 1)
+- (const_int 0))
+- (const_int 1)
+- (const_int 0))))]
+- "TARGET_P9_MISC"
+- "setb %0,%1"
+- [(set_attr "type" "logical")])
+-
+-(define_insn "setb_unsigned"
+- [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+- (if_then_else:SI (ltu (match_operand:CCUNS 1 "cc_reg_operand" "y")
+- (const_int 0))
+- (const_int -1)
+- (if_then_else (gtu (match_dup 1)
+- (const_int 0))
+- (const_int 1)
+- (const_int 0))))]
+- "TARGET_P9_MISC"
+- "setb %0,%1"
+- [(set_attr "type" "logical")])
+-
+-;; Test byte within two ranges.
+-;;
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the range specified by operand 2.
+-;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
+-;;
+-;; Return in target register operand 0 a value of 1 if (lo_1 <= vv and
+-;; vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). Otherwise, set register
+-;; operand 0 to 0.
+-;;
+-;; Though the instructions to which this expansion maps operate on
+-;; 64-bit registers, the current implementation only operates on
+-;; SI-mode operands as the high-order bits provide no information
+-;; that is not already available in the low-order bits. To avoid the
+-;; costs of data widening operations, future enhancements might allow
+-;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
+-(define_expand "cmprb2"
+- [(set (match_dup 3)
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:SI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPRB2))
+- (set (match_operand:SI 0 "gpc_reg_operand" "=r")
+- (if_then_else:SI (lt (match_dup 3)
+- (const_int 0))
+- (const_int -1)
+- (if_then_else (gt (match_dup 3)
+- (const_int 0))
+- (const_int 1)
+- (const_int 0))))]
+- "TARGET_P9_MISC"
+-{
+- operands[3] = gen_reg_rtx (CCmode);
+-})
+-
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the ranges specified by operand 2.
+-;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
+-;;
+-;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
+-;; (lo_1 <= vv and vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2).
+-;; Otherwise, set the GT bit to 0. The other 3 bits of the target
+-;; CR register are all set to 0.
+-(define_insn "*cmprb2_internal"
+- [(set (match_operand:CC 0 "cc_reg_operand" "=y")
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:SI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPRB2))]
+- "TARGET_P9_MISC"
+- "cmprb %0,1,%1,%2"
+- [(set_attr "type" "logical")])
+-
+-;; Test byte membership within set of 8 bytes.
+-;;
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the set specified by operand 2.
+-;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
+-;;
+-;; Return in target register operand 0 a value of 1 if vv equals one
+-;; of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, set
+-;; register operand 0 to 0. Note that the 8 byte values held within
+-;; operand 2 need not be unique.
+-;;
+-;; Though the instructions to which this expansion maps operate on
+-;; 64-bit registers, the current implementation requires that operands
+-;; 0 and 1 have mode SI as the high-order bits provide no information
+-;; that is not already available in the low-order bits. To avoid the
+-;; costs of data widening operations, future enhancements might allow
+-;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
+-(define_expand "cmpeqb"
+- [(set (match_dup 3)
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:DI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPEQB))
+- (set (match_operand:SI 0 "gpc_reg_operand" "=r")
+- (if_then_else:SI (lt (match_dup 3)
+- (const_int 0))
+- (const_int -1)
+- (if_then_else (gt (match_dup 3)
+- (const_int 0))
+- (const_int 1)
+- (const_int 0))))]
+- "TARGET_P9_MISC && TARGET_64BIT"
+-{
+- operands[3] = gen_reg_rtx (CCmode);
+-})
+-
+-;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
+-;; represents a byte whose value is ignored in this context and
+-;; vv, the least significant byte, holds the byte value that is to
+-;; be tested for membership within the set specified by operand 2.
+-;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
+-;;
+-;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if vv
+-;; equals one of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise,
+-;; set the GT bit to zero. The other 3 bits of the target CR register
+-;; are all set to 0.
+-(define_insn "*cmpeqb_internal"
+- [(set (match_operand:CC 0 "cc_reg_operand" "=y")
+- (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
+- (match_operand:DI 2 "gpc_reg_operand" "r")]
+- UNSPEC_CMPEQB))]
+- "TARGET_P9_MISC && TARGET_64BIT"
+- "cmpeqb %0,%1,%2"
+- [(set_attr "type" "logical")])
+-
+ (define_expand "bcd<bcd_add_sub>_<code>"
+ [(parallel [(set (reg:CCFP CR6_REGNO)
+ (compare:CCFP
+Index: gcc-9.2.0/gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc-9.2.0.orig/gcc/config/rs6000/rs6000.md
++++ gcc-9.2.0/gcc/config/rs6000/rs6000.md
+@@ -137,6 +137,12 @@
+ UNSPEC_LSQ
+ UNSPEC_FUSION_GPR
+ UNSPEC_STACK_CHECK
++ UNSPEC_DARN
++ UNSPEC_DARN_32
++ UNSPEC_DARN_RAW
++ UNSPEC_CMPRB
++ UNSPEC_CMPRB2
++ UNSPEC_CMPEQB
+ UNSPEC_ADD_ROUND_TO_ODD
+ UNSPEC_SUB_ROUND_TO_ODD
+ UNSPEC_MUL_ROUND_TO_ODD
+@@ -14322,7 +14328,225 @@
+ "xscmpuqp %0,%1,%2"
+ [(set_attr "type" "veccmp")
+ (set_attr "size" "128")])
++
++;; Miscellaneous ISA 3.0 (power9) instructions
++
++(define_insn "darn_32"
++ [(set (match_operand:SI 0 "register_operand" "=r")
++ (unspec:SI [(const_int 0)] UNSPEC_DARN_32))]
++ "TARGET_P9_MISC"
++ "darn %0,0"
++ [(set_attr "type" "integer")])
++
++(define_insn "darn_raw"
++ [(set (match_operand:DI 0 "register_operand" "=r")
++ (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))]
++ "TARGET_P9_MISC && TARGET_64BIT"
++ "darn %0,2"
++ [(set_attr "type" "integer")])
++
++(define_insn "darn"
++ [(set (match_operand:DI 0 "register_operand" "=r")
++ (unspec:DI [(const_int 0)] UNSPEC_DARN))]
++ "TARGET_P9_MISC && TARGET_64BIT"
++ "darn %0,1"
++ [(set_attr "type" "integer")])
++
++;; Test byte within range.
++;;
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the range specified by operand 2.
++;; The bytes of operand 2 are organized as xx:xx:hi:lo.
++;;
++;; Return in target register operand 0 a value of 1 if lo <= vv and
++;; vv <= hi. Otherwise, set register operand 0 to 0.
++;;
++;; Though the instructions to which this expansion maps operate on
++;; 64-bit registers, the current implementation only operates on
++;; SI-mode operands as the high-order bits provide no information
++;; that is not already available in the low-order bits. To avoid the
++;; costs of data widening operations, future enhancements might allow
++;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
++(define_expand "cmprb"
++ [(set (match_dup 3)
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:SI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPRB))
++ (set (match_operand:SI 0 "gpc_reg_operand" "=r")
++ (if_then_else:SI (lt (match_dup 3)
++ (const_int 0))
++ (const_int -1)
++ (if_then_else (gt (match_dup 3)
++ (const_int 0))
++ (const_int 1)
++ (const_int 0))))]
++ "TARGET_P9_MISC"
++{
++ operands[3] = gen_reg_rtx (CCmode);
++})
++
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the range specified by operand 2.
++;; The bytes of operand 2 are organized as xx:xx:hi:lo.
++;;
++;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
++;; lo <= vv and vv <= hi. Otherwise, set the GT bit to 0. The other
++;; 3 bits of the target CR register are all set to 0.
++(define_insn "*cmprb_internal"
++ [(set (match_operand:CC 0 "cc_reg_operand" "=y")
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:SI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPRB))]
++ "TARGET_P9_MISC"
++ "cmprb %0,0,%1,%2"
++ [(set_attr "type" "logical")])
++
++;; Set operand 0 register to -1 if the LT bit (0x8) of condition
++;; register operand 1 is on. Otherwise, set operand 0 register to 1
++;; if the GT bit (0x4) of condition register operand 1 is on.
++;; Otherwise, set operand 0 to 0. Note that the result stored into
++;; register operand 0 is non-zero iff either the LT or GT bits are on
++;; within condition register operand 1.
++(define_insn "setb_signed"
++ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
++ (if_then_else:SI (lt (match_operand:CC 1 "cc_reg_operand" "y")
++ (const_int 0))
++ (const_int -1)
++ (if_then_else (gt (match_dup 1)
++ (const_int 0))
++ (const_int 1)
++ (const_int 0))))]
++ "TARGET_P9_MISC"
++ "setb %0,%1"
++ [(set_attr "type" "logical")])
+
++(define_insn "setb_unsigned"
++ [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
++ (if_then_else:SI (ltu (match_operand:CCUNS 1 "cc_reg_operand" "y")
++ (const_int 0))
++ (const_int -1)
++ (if_then_else (gtu (match_dup 1)
++ (const_int 0))
++ (const_int 1)
++ (const_int 0))))]
++ "TARGET_P9_MISC"
++ "setb %0,%1"
++ [(set_attr "type" "logical")])
++
++;; Test byte within two ranges.
++;;
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the range specified by operand 2.
++;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
++;;
++;; Return in target register operand 0 a value of 1 if (lo_1 <= vv and
++;; vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2). Otherwise, set register
++;; operand 0 to 0.
++;;
++;; Though the instructions to which this expansion maps operate on
++;; 64-bit registers, the current implementation only operates on
++;; SI-mode operands as the high-order bits provide no information
++;; that is not already available in the low-order bits. To avoid the
++;; costs of data widening operations, future enhancements might allow
++;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
++(define_expand "cmprb2"
++ [(set (match_dup 3)
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:SI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPRB2))
++ (set (match_operand:SI 0 "gpc_reg_operand" "=r")
++ (if_then_else:SI (lt (match_dup 3)
++ (const_int 0))
++ (const_int -1)
++ (if_then_else (gt (match_dup 3)
++ (const_int 0))
++ (const_int 1)
++ (const_int 0))))]
++ "TARGET_P9_MISC"
++{
++ operands[3] = gen_reg_rtx (CCmode);
++})
++
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the ranges specified by operand 2.
++;; The bytes of operand 2 are organized as hi_1:lo_1:hi_2:lo_2.
++;;
++;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if
++;; (lo_1 <= vv and vv <= hi_1) or if (lo_2 <= vv and vv <= hi_2).
++;; Otherwise, set the GT bit to 0. The other 3 bits of the target
++;; CR register are all set to 0.
++(define_insn "*cmprb2_internal"
++ [(set (match_operand:CC 0 "cc_reg_operand" "=y")
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:SI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPRB2))]
++ "TARGET_P9_MISC"
++ "cmprb %0,1,%1,%2"
++ [(set_attr "type" "logical")])
++
++;; Test byte membership within set of 8 bytes.
++;;
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the set specified by operand 2.
++;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
++;;
++;; Return in target register operand 0 a value of 1 if vv equals one
++;; of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise, set
++;; register operand 0 to 0. Note that the 8 byte values held within
++;; operand 2 need not be unique.
++;;
++;; Though the instructions to which this expansion maps operate on
++;; 64-bit registers, the current implementation requires that operands
++;; 0 and 1 have mode SI as the high-order bits provide no information
++;; that is not already available in the low-order bits. To avoid the
++;; costs of data widening operations, future enhancements might allow
++;; DI mode for operand 0 and/or might allow operand 1 to be QI mode.
++(define_expand "cmpeqb"
++ [(set (match_dup 3)
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:DI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPEQB))
++ (set (match_operand:SI 0 "gpc_reg_operand" "=r")
++ (if_then_else:SI (lt (match_dup 3)
++ (const_int 0))
++ (const_int -1)
++ (if_then_else (gt (match_dup 3)
++ (const_int 0))
++ (const_int 1)
++ (const_int 0))))]
++ "TARGET_P9_MISC && TARGET_64BIT"
++{
++ operands[3] = gen_reg_rtx (CCmode);
++})
++
++;; The bytes of operand 1 are organized as xx:xx:xx:vv, where xx
++;; represents a byte whose value is ignored in this context and
++;; vv, the least significant byte, holds the byte value that is to
++;; be tested for membership within the set specified by operand 2.
++;; The bytes of operand 2 are organized as e0:e1:e2:e3:e4:e5:e6:e7.
++;;
++;; Set bit 1 (the GT bit, 0x4) of CR register operand 0 to 1 if vv
++;; equals one of the values e0, e1, e2, e3, e4, e5, e6, or e7. Otherwise,
++;; set the GT bit to zero. The other 3 bits of the target CR register
++;; are all set to 0.
++(define_insn "*cmpeqb_internal"
++ [(set (match_operand:CC 0 "cc_reg_operand" "=y")
++ (unspec:CC [(match_operand:SI 1 "gpc_reg_operand" "r")
++ (match_operand:DI 2 "gpc_reg_operand" "r")]
++ UNSPEC_CMPEQB))]
++ "TARGET_P9_MISC && TARGET_64BIT"
++ "cmpeqb %0,%1,%2"
++ [(set_attr "type" "logical")])
+
+
+ (include "sync.md")
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch
new file mode 100644
index 000000000..de7a83c23
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_2.patch
@@ -0,0 +1,77 @@
+From 87bc784a7ca3a43182f7272241597a50d7491342 Mon Sep 17 00:00:00 2001
+From: segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Fri, 30 Aug 2019 13:51:26 +0000
+Subject: [PATCH] Backport from trunk 2019-08-22 Segher Boessenkool
+ <segher@kernel.crashing.org>
+
+ PR target/91481
+ * config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
+ and UNSPEC_DARN_RAW.
+ (unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and
+ UNSPECV_DARN_RAW.
+ (darn_32): Use an unspec_volatile, and UNSPECV_DARN_32.
+ (darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW.
+ (darn): Use an unspec_volatile, and UNSPECV_DARN.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@275175 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+CVE: CVE-2019-15847 p2
+Affects <= 9.2.0
+Dropped Changelog changes
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ gcc/config/rs6000/rs6000.md | 12 ++++++------
+ 2 files changed, 20 insertions(+), 6 deletions(-)
+
+Index: gcc-9.2.0/gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc-9.2.0.orig/gcc/config/rs6000/rs6000.md
++++ gcc-9.2.0/gcc/config/rs6000/rs6000.md
+@@ -137,9 +137,6 @@
+ UNSPEC_LSQ
+ UNSPEC_FUSION_GPR
+ UNSPEC_STACK_CHECK
+- UNSPEC_DARN
+- UNSPEC_DARN_32
+- UNSPEC_DARN_RAW
+ UNSPEC_CMPRB
+ UNSPEC_CMPRB2
+ UNSPEC_CMPEQB
+@@ -170,6 +167,9 @@
+ UNSPECV_EH_RR ; eh_reg_restore
+ UNSPECV_ISYNC ; isync instruction
+ UNSPECV_MFTB ; move from time base
++ UNSPECV_DARN ; darn 1 (deliver a random number)
++ UNSPECV_DARN_32 ; darn 2
++ UNSPECV_DARN_RAW ; darn 0
+ UNSPECV_NLGR ; non-local goto receiver
+ UNSPECV_MFFS ; Move from FPSCR
+ UNSPECV_MFFSL ; Move from FPSCR light instruction version
+@@ -14333,21 +14333,21 @@
+
+ (define_insn "darn_32"
+ [(set (match_operand:SI 0 "register_operand" "=r")
+- (unspec:SI [(const_int 0)] UNSPEC_DARN_32))]
++ (unspec_volatile:SI [(const_int 0)] UNSPECV_DARN_32))]
+ "TARGET_P9_MISC"
+ "darn %0,0"
+ [(set_attr "type" "integer")])
+
+ (define_insn "darn_raw"
+ [(set (match_operand:DI 0 "register_operand" "=r")
+- (unspec:DI [(const_int 0)] UNSPEC_DARN_RAW))]
++ (unspec_volatile:DI [(const_int 0)] UNSPECV_DARN_RAW))]
+ "TARGET_P9_MISC && TARGET_64BIT"
+ "darn %0,2"
+ [(set_attr "type" "integer")])
+
+ (define_insn "darn"
+ [(set (match_operand:DI 0 "register_operand" "=r")
+- (unspec:DI [(const_int 0)] UNSPEC_DARN))]
++ (unspec_volatile:DI [(const_int 0)] UNSPECV_DARN))]
+ "TARGET_P9_MISC && TARGET_64BIT"
+ "darn %0,1"
+ [(set_attr "type" "integer")])
diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch
new file mode 100644
index 000000000..ba7130ca7
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-9.2/CVE-2019-15847_3.patch
@@ -0,0 +1,62 @@
+From dc4c8dd9dbe70740ec7a684b0f35620249fb036a Mon Sep 17 00:00:00 2001
+From: segher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Fri, 30 Aug 2019 13:53:11 +0000
+Subject: [PATCH] Backport from trunk 2019-08-23 Segher Boessenkool
+ <segher@kernel.crashing.org>
+
+gcc/testsuite/
+ PR target/91481
+ * gcc.target/powerpc/darn-3.c: New testcase.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-9-branch@275176 138bc75d-0d04-0410-961f-82ee72b054a4
+
+Upstream-Status: Backport
+CVE: CVE-2019-15847 p3
+Affects <= 9.2.0
+Dropped Changelog changes
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ gcc/testsuite/ChangeLog | 6 ++++++
+ gcc/testsuite/gcc.target/powerpc/darn-3.c | 16 ++++++++++++++++
+ 2 files changed, 22 insertions(+)
+ create mode 100644 gcc/testsuite/gcc.target/powerpc/darn-3.c
+
+Index: gcc-9.2.0/gcc/testsuite/gcc.target/powerpc/darn-3.c
+===================================================================
+--- /dev/null
++++ gcc-9.2.0/gcc/testsuite/gcc.target/powerpc/darn-3.c
+@@ -0,0 +1,16 @@
++/* { dg-do compile { target { powerpc*-*-* } } } */
++/* { dg-skip-if "" { powerpc*-*-aix* } } */
++/* { dg-options "-O2 -mdejagnu-cpu=power9" } */
++
++static int darn32(void) { return __builtin_darn_32(); }
++
++int four(void)
++{
++ int sum = 0;
++ int i;
++ for (i = 0; i < 4; i++)
++ sum += darn32();
++ return sum;
++}
++
++/* { dg-final { scan-assembler-times {(?n)\mdarn .*,0\M} 4 } } */
+Index: gcc-9.2.0/gcc/testsuite/ChangeLog
+===================================================================
+--- gcc-9.2.0.orig/gcc/testsuite/ChangeLog
++++ gcc-9.2.0/gcc/testsuite/ChangeLog
+@@ -1,3 +1,11 @@
++2019-08-30 Segher Boessenkool <segher@kernel.crashing.org>
++
++ Backport from trunk
++ 2019-08-23 Segher Boessenkool <segher@kernel.crashing.org>
++
++ PR target/91481
++ * gcc.target/powerpc/darn-3.c: New testcase.
++
+ 2019-08-12 Release Manager
+
+ * GCC 9.2.0 released.
diff --git a/poky/meta/recipes-devtools/gcc/gcc-common.inc b/poky/meta/recipes-devtools/gcc/gcc-common.inc
index 96334e54b..44cba287f 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-common.inc
@@ -17,7 +17,7 @@ python extract_stashed_builddir () {
src = d.expand("${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}")
dest = d.getVar("B")
oe.path.copyhardlinktree(src, dest)
- staging_processfixme([src + "/fixmepath"], dest, dest, dest, d)
+ staging_processfixme([src + "/fixmepath"], dest, d.getVar("RECIPE_SYSROOT"), d.getVar("RECIPE_SYSROOT_NATIVE"), d)
}
def get_gcc_float_setting(bb, d):
@@ -41,13 +41,6 @@ def get_gcc_ppc_plt_settings(bb, d):
return "--enable-secureplt"
return ""
-def get_long_double_setting(bb, d):
- if d.getVar('TRANSLATED_TARGET_ARCH') in [ 'powerpc', 'powerpc64' ] and d.getVar('TCLIBC') in [ 'glibc' ]:
- return "--with-long-double-128"
- else:
- return "--without-long-double-128 libgcc_cv_powerpc_float128=no"
- return ""
-
def get_gcc_multiarch_setting(bb, d):
target_arch = d.getVar('TRANSLATED_TARGET_ARCH')
multiarch_options = {
diff --git a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
index b6f2ca541..24ba8ce75 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -36,7 +36,6 @@ EXTRA_OECONF = "\
${EXTRA_OECONF_PATHS} \
${@get_gcc_mips_plt_setting(bb, d)} \
${@get_gcc_ppc_plt_settings(bb, d)} \
- ${@get_long_double_setting(bb, d)} \
${@get_gcc_multiarch_setting(bb, d)} \
"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index 807e47e0e..f14cbf715 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -63,9 +63,6 @@ do_compile () {
(cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h)
}
-# Having anything auto depending on gcc-cross-sdk is a really bad idea...
-EXCLUDE_FROM_SHLIBS = "1"
-
PACKAGES = "${PN}-dbg ${PN} ${PN}-doc"
FILES_${PN} = "\
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb
deleted file mode 100644
index bf53c5cd7..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-cross-canadian.inc
-
-
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.2.bb
index bf53c5cd7..bf53c5cd7 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_8.3.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross-canadian_9.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross.inc b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
index 6222c2e8c..8855bb1f3 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -196,6 +196,8 @@ do_install () {
# We use libiberty from binutils
find ${D}${exec_prefix}/lib -name libiberty.a | xargs rm -f
find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
+
+ find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f
}
do_package[noexec] = "1"
@@ -204,12 +206,23 @@ do_package_write_ipk[noexec] = "1"
do_package_write_rpm[noexec] = "1"
do_package_write_deb[noexec] = "1"
-BUILDDIRSTASH = "${WORKDIR}/stashed-builddir"
+inherit chrpath
+
+python gcc_stash_builddir_fixrpaths() {
+ # rewrite rpaths, breaking hardlinks as required
+ process_dir("/", d.getVar("BUILDDIRSTASH"), d, break_hardlinks = True)
+}
+
+BUILDDIRSTASH = "${WORKDIR}/stashed-builddir/build"
do_gcc_stash_builddir[dirs] = "${B}"
do_gcc_stash_builddir[cleandirs] = "${BUILDDIRSTASH}"
+do_gcc_stash_builddir[postfuncs] += "gcc_stash_builddir_fixrpaths"
do_gcc_stash_builddir () {
dest=${BUILDDIRSTASH}
hardlinkdir . $dest
+ # Makefile does move-if-change which can end up with 'timestamp' as file contents so break links to those files
+ rm $dest/gcc/include/*.h
+ cp gcc/include/*.h $dest/gcc/include/
}
addtask do_gcc_stash_builddir after do_compile before do_install
SSTATETASKS += "do_gcc_stash_builddir"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb
deleted file mode 100644
index b43cca0c5..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-cross_9.1.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-cross.inc
-
diff --git a/poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-cross_9.2.bb
index b43cca0c5..b43cca0c5 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-cross_8.3.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-cross_9.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb
deleted file mode 100644
index 40a6c4fef..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.1.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require recipes-devtools/gcc/gcc-cross_${PV}.bb
-require gcc-crosssdk.inc
diff --git a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.2.bb
index 40a6c4fef..40a6c4fef 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-crosssdk_8.3.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-crosssdk_9.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
index a5c2600d7..2da3c02ef 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -17,6 +17,12 @@ EXTRA_OECONF_PATHS = "\
EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
EXTRA_OECONF_append = " --cache-file=${B}/config.cache"
+# Disable ifuncs for libatomic on arm conflicts -march/-mcpu
+EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
+
+# Building with thumb enabled on armv6t fails
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
RUNTIMELIBITM = "libitm"
RUNTIMELIBITM_arc = ""
RUNTIMELIBITM_mipsarch = ""
@@ -77,6 +83,11 @@ do_install () {
cd ${B}/${TARGET_SYS}/$d/
oe_runmake 'DESTDIR=${D}' MULTIBUILDTOP=${B}/${TARGET_SYS}/$d/ install
done
+ if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include ]; then
+ install -d ${D}${libdir}/${TARGET_SYS}/${BINV}/include
+ mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include
+ rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include
+ fi
rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir
rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir
rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir
@@ -205,7 +216,7 @@ FILES_libssp-dev = "\
${libdir}/libssp*.so \
${libdir}/libssp*_nonshared.a \
${libdir}/libssp*.la \
- ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ssp \
+ ${libdir}/${TARGET_SYS}/${BINV}/include/ssp \
"
SUMMARY_libssp-dev = "GNU stack smashing protection library - development files"
FILES_libssp-staticdev = "${libdir}/libssp*.a"
@@ -214,7 +225,7 @@ SUMMARY_libssp-staticdev = "GNU stack smashing protection library - static devel
FILES_libquadmath = "${libdir}/libquadmath*.so.*"
SUMMARY_libquadmath = "GNU quad-precision math library"
FILES_libquadmath-dev = "\
- ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/quadmath* \
+ ${libdir}/${TARGET_SYS}/${BINV}/include/quadmath* \
${libdir}/libquadmath*.so \
${libdir}/libquadmath.la \
"
@@ -239,7 +250,8 @@ FILES_libgomp-dev = "\
${libdir}/libgomp*${SOLIBSDEV} \
${libdir}/libgomp*.la \
${libdir}/libgomp.spec \
- ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/omp.h \
+ ${libdir}/${TARGET_SYS}/${BINV}/include/omp.h \
+ ${libdir}/${TARGET_SYS}/${BINV}/include/openacc.h \
"
SUMMARY_libgomp-dev = "GNU OpenMP parallel programming library - development files"
FILES_libgomp-staticdev = "${libdir}/libgomp*.a"
@@ -265,3 +277,45 @@ FILES_libitm-dev = "\
SUMMARY_libitm-dev = "GNU transactional memory support library - development files"
FILES_libitm-staticdev = "${libdir}/libitm.a"
SUMMARY_libitm-staticdev = "GNU transactional memory support library - static development files"
+
+require gcc-testsuite.inc
+
+EXTRA_OEMAKE_prepend_task-check = "${PARALLEL_MAKE} "
+
+MAKE_CHECK_TARGETS ??= "check-gcc ${@" ".join("check-target-" + i for i in d.getVar("RUNTIMETARGET").split())}"
+# prettyprinters and xmethods require gdb tooling
+MAKE_CHECK_IGNORE ??= "prettyprinters.exp xmethods.exp"
+MAKE_CHECK_RUNTESTFLAGS ??= "${MAKE_CHECK_BOARDARGS} --ignore '${MAKE_CHECK_IGNORE}'"
+
+# specific host and target dependencies required for test suite running
+do_check[depends] += "dejagnu-native:do_populate_sysroot expect-native:do_populate_sysroot"
+do_check[depends] += "virtual/libc:do_populate_sysroot"
+# only depend on qemu if targeting linux user execution
+do_check[depends] += "${@'qemu-native:do_populate_sysroot' if "user" in d.getVar('TOOLCHAIN_TEST_TARGET') else ''}"
+# extend the recipe sysroot to include the built libraries (for qemu usermode)
+do_check[prefuncs] += "extend_recipe_sysroot"
+do_check[prefuncs] += "check_prepare"
+do_check[dirs] = "${WORKDIR}/dejagnu ${B}"
+do_check[nostamp] = "1"
+do_check() {
+ export DEJAGNU="${WORKDIR}/dejagnu/site.exp"
+
+ # HACK: this works around the configure setting CXX with -nostd* args
+ sed -i 's/-nostdinc++ -nostdlib++//g' $(find ${B} -name testsuite_flags | head -1)
+ # HACK: this works around the de-stashing changes to configargs.h, as well as recipe-sysroot changing the content
+ sed -i '/static const char configuration_arguments/d' ${B}/gcc/configargs.h
+ ${CC} -v 2>&1 | grep "^Configured with:" | \
+ sed 's/Configured with: \(.*\)/static const char configuration_arguments[] = "\1";/g' >> ${B}/gcc/configargs.h
+
+ if [ "${TOOLCHAIN_TEST_TARGET}" = "user" ]; then
+ # qemu user has issues allocating large amounts of memory
+ export G_SLICE=always-malloc
+ # no test should need more that 10G of memory, this prevents tests like pthread7-rope from leaking memory
+ ulimit -m 4194304
+ ulimit -v 10485760
+ fi
+
+ oe_runmake -i ${MAKE_CHECK_TARGETS} RUNTESTFLAGS="${MAKE_CHECK_RUNTESTFLAGS}"
+}
+addtask check after do_compile do_populate_sysroot
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb
deleted file mode 100644
index a1c7a76d0..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime_8.3.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-runtime.inc
-
-# Disable ifuncs for libatomic on arm conflicts -march/-mcpu
-EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
-
-FILES_libgomp-dev += "\
- ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \
-"
-
-# Building with thumb enabled on armv6t fails
-ARM_INSTRUCTION_SET_armv6 = "arm"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb
deleted file mode 100644
index a1c7a76d0..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-runtime.inc
-
-# Disable ifuncs for libatomic on arm conflicts -march/-mcpu
-EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
-
-FILES_libgomp-dev += "\
- ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/openacc.h \
-"
-
-# Building with thumb enabled on armv6t fails
-ARM_INSTRUCTION_SET_armv6 = "arm"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime_9.2.bb b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.2.bb
new file mode 100644
index 000000000..dd430b57e
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime_9.2.bb
@@ -0,0 +1,2 @@
+require recipes-devtools/gcc/gcc-${PV}.inc
+require gcc-runtime.inc
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb
deleted file mode 100644
index f3c705811..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.1.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-sanitizers.inc
-
-# Building with thumb enabled on armv4t armv5t fails with
-# sanitizer_linux.s:5749: Error: lo register required -- `ldr ip,[sp],#8'
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.2.bb
index f3c705811..f3c705811 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers_8.3.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers_9.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb
deleted file mode 100644
index b890fa33e..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc-source_9.1.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require recipes-devtools/gcc/gcc-source.inc
-
-EXCLUDE_FROM_WORLD = "1"
diff --git a/poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc-source_9.2.bb
index b890fa33e..b890fa33e 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-source_8.3.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc-source_9.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc b/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc
new file mode 100644
index 000000000..f68fec58e
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc
@@ -0,0 +1,107 @@
+inherit qemu
+
+TOOLCHAIN_TEST_TARGET ??= "user"
+TOOLCHAIN_TEST_HOST ??= "localhost"
+TOOLCHAIN_TEST_HOST_USER ??= "root"
+TOOLCHAIN_TEST_HOST_PORT ??= "2222"
+
+MAKE_CHECK_BOARDFLAGS ??= ""
+MAKE_CHECK_BOARDARGS ??= "--target_board=${TOOLCHAIN_TEST_TARGET}${MAKE_CHECK_BOARDFLAGS}"
+
+python () {
+ # Provide the targets compiler args via targets options. This allows dejagnu to
+ # correctly mark incompatible tests as UNSUPPORTED (e.g. needs soft-float
+ # but running on hard-float target).
+ #
+ # These options are called "multilib_flags" within the gcc test suite. Most
+ # architectures handle these options in a sensible way such that tests that
+ # are incompatible with the provided multilib are marked as UNSUPPORTED.
+ #
+ # Note: multilib flags are added to the compile command after the args
+ # provided by any test (through dg-options), CFLAGS_FOR_TARGET is always
+ # added to the compile command before any other args but is not interpted
+ # as options like multilib flags.
+ #
+ # i686, x86-64 and aarch64 are special, since most toolchains built for
+ # these targets don't do multilib the tests do not get correctly marked as
+ # UNSUPPORTED. More importantly the test suite itself does not handle
+ # overriding the multilib flags where it could (like other archs do). As
+ # such do not pass the target compiler args for these targets.
+ args = d.getVar("TUNE_CCARGS").split()
+ if d.getVar("TUNE_ARCH") in ["i686", "x86_64", "aarch64"]:
+ args = []
+ d.setVar("MAKE_CHECK_BOARDFLAGS", ("/" + "/".join(args)) if len(args) != 0 else "")
+}
+
+python check_prepare() {
+ def generate_qemu_linux_user_config(d):
+ content = []
+ content.append('load_generic_config "sim"')
+ content.append('load_base_board_description "basic-sim"')
+ content.append('process_multilib_options ""')
+
+ # qemu args
+ qemu_binary = qemu_target_binary(d)
+ if not qemu_binary:
+ bb.fatal("Missing target qemu linux-user binary")
+
+ args = []
+ # QEMU_OPTIONS is not always valid due to -cross recipe
+ args += ["-r", d.getVar("OLDEST_KERNEL")]
+ # enable all valid instructions, since the test suite itself does not
+ # limit itself to the target cpu options.
+ # - valid for x86*, powerpc, arm, arm64
+ if qemu_binary.lstrip("qemu-") in ["x86_64", "i386", "ppc", "arm", "aarch64"]:
+ args += ["-cpu", "max"]
+
+ sysroot = d.getVar("RECIPE_SYSROOT")
+ args += ["-L", sysroot]
+ # lib paths are static here instead of using $libdir since this is used by a -cross recipe
+ libpaths = [sysroot + "/usr/lib", sysroot + "/lib"]
+ args += ["-E", "LD_LIBRARY_PATH={0}".format(":".join(libpaths))]
+
+ content.append('set_board_info is_simulator 1')
+ content.append('set_board_info sim "{0}"'.format(qemu_binary))
+ content.append('set_board_info sim,options "{0}"'.format(" ".join(args)))
+
+ # target build/test config
+ content.append('set_board_info target_install {%s}' % d.getVar("TARGET_SYS"))
+ content.append('set_board_info ldscript ""')
+ #content.append('set_board_info needs_status_wrapper 1') # qemu-linux-user return codes work, and abort works fine
+ content.append('set_board_info gcc,stack_size 16834')
+ content.append('set_board_info gdb,nosignals 1')
+ content.append('set_board_info gcc,timeout 60')
+
+ return "\n".join(content)
+
+ def generate_remote_ssh_linux_config(d):
+ content = []
+ content.append('load_generic_config "unix"')
+ content.append('process_multilib_options ""')
+ content.append("set_board_info hostname {0}".format(d.getVar("TOOLCHAIN_TEST_HOST")))
+ content.append("set_board_info username {0}".format(d.getVar("TOOLCHAIN_TEST_HOST_USER")))
+
+ port = d.getVar("TOOLCHAIN_TEST_HOST_PORT")
+ content.append("set_board_info rsh_prog \"/usr/bin/ssh -p {0} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no\"".format(port))
+ content.append("set_board_info rcp_prog \"/usr/bin/scp -P {0} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no\"".format(port))
+
+ return "\n".join(content)
+
+ dejagnudir = d.expand("${WORKDIR}/dejagnu")
+ if not os.path.isdir(dejagnudir):
+ os.makedirs(dejagnudir)
+
+ # write out target qemu board config
+ with open(os.path.join(dejagnudir, "user.exp"), "w") as f:
+ f.write(generate_qemu_linux_user_config(d))
+
+ # write out target ssh board config
+ with open(os.path.join(dejagnudir, "ssh.exp"), "w") as f:
+ f.write(generate_remote_ssh_linux_config(d))
+
+ # generate site.exp to provide boards
+ with open(os.path.join(dejagnudir, "site.exp"), "w") as f:
+ f.write("lappend boards_dir {0}\n".format(dejagnudir))
+ f.write("set CFLAGS_FOR_TARGET \"{0}\"\n".format(d.getVar("TOOLCHAIN_OPTIONS")))
+}
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc_9.1.bb b/poky/meta/recipes-devtools/gcc/gcc_9.1.bb
deleted file mode 100644
index 7d9359058..000000000
--- a/poky/meta/recipes-devtools/gcc/gcc_9.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require gcc-target.inc
-
-# Building with thumb enabled on armv4t armv5t fails with
-# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs
-# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-ARMFPARCHEXT_armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
-ARMFPARCHEXT_armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
-ARMFPARCHEXT_armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
-
-BBCLASSEXTEND = "nativesdk"
diff --git a/poky/meta/recipes-devtools/gcc/gcc_8.3.bb b/poky/meta/recipes-devtools/gcc/gcc_9.2.bb
index 7d9359058..7d9359058 100644
--- a/poky/meta/recipes-devtools/gcc/gcc_8.3.bb
+++ b/poky/meta/recipes-devtools/gcc/gcc_9.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb
deleted file mode 100644
index 0c698c26e..000000000
--- a/poky/meta/recipes-devtools/gcc/libgcc-initial_9.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require libgcc-initial.inc
-
-# Building with thumb enabled on armv6t fails
-ARM_INSTRUCTION_SET_armv6 = "arm"
diff --git a/poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb b/poky/meta/recipes-devtools/gcc/libgcc-initial_9.2.bb
index 0c698c26e..0c698c26e 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc-initial_8.3.bb
+++ b/poky/meta/recipes-devtools/gcc/libgcc-initial_9.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb b/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb
deleted file mode 100644
index ea210a113..000000000
--- a/poky/meta/recipes-devtools/gcc/libgcc_9.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require libgcc.inc
-
-# Building with thumb enabled on armv6t fails
-ARM_INSTRUCTION_SET_armv6 = "arm"
diff --git a/poky/meta/recipes-devtools/gcc/libgcc_8.3.bb b/poky/meta/recipes-devtools/gcc/libgcc_9.2.bb
index ea210a113..ea210a113 100644
--- a/poky/meta/recipes-devtools/gcc/libgcc_8.3.bb
+++ b/poky/meta/recipes-devtools/gcc/libgcc_9.2.bb
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb b/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb
deleted file mode 100644
index 71dd8b4bd..000000000
--- a/poky/meta/recipes-devtools/gcc/libgfortran_9.1.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-require recipes-devtools/gcc/gcc-${PV}.inc
-require libgfortran.inc
-
diff --git a/poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb b/poky/meta/recipes-devtools/gcc/libgfortran_9.2.bb
index 71dd8b4bd..71dd8b4bd 100644
--- a/poky/meta/recipes-devtools/gcc/libgfortran_8.3.bb
+++ b/poky/meta/recipes-devtools/gcc/libgfortran_9.2.bb
diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.3.inc b/poky/meta/recipes-devtools/gdb/gdb-8.3.inc
index db8d5f349..070c17d4a 100644
--- a/poky/meta/recipes-devtools/gdb/gdb-8.3.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb-8.3.inc
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674"
-SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \
+SRC_URI = "${GNU_MIRROR}/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 \
@@ -16,6 +16,7 @@ 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://CVE-2017-9778.patch \
"
SRC_URI[md5sum] = "bbd95b2f9b34621ad7a19a3965476314"
SRC_URI[sha256sum] = "802f7ee309dcc547d65a68d61ebd6526762d26c3051f52caebe2189ac1ffd72e"
diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc
index 0f10b4173..249e24dc5 100644
--- a/poky/meta/recipes-devtools/gdb/gdb.inc
+++ b/poky/meta/recipes-devtools/gdb/gdb.inc
@@ -10,4 +10,5 @@ PACKAGES =+ "gdbserver"
FILES_gdbserver = "${bindir}/gdbserver"
ALLOW_EMPTY_gdbserver_riscv64 = "1"
+ALLOW_EMPTY_gdbserver_riscv32 = "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
new file mode 100644
index 000000000..f142ed00d
--- /dev/null
+++ b/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch
@@ -0,0 +1,98 @@
+From 6ad3791f095cfc1b0294f62c4b3a524ba735595e 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
+CVE: CVE-2017-9778
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ gdb/ChangeLog | 10 ++++++++++
+ gdb/dwarf2-frame.c | 14 +++++++-------
+ 2 files changed, 17 insertions(+), 7 deletions(-)
+
+diff --git a/gdb/ChangeLog b/gdb/ChangeLog
+index 1c125de..d028d2b 100644
+--- a/gdb/ChangeLog
++++ b/gdb/ChangeLog
+@@ -1,3 +1,13 @@
++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.
++
+ 2019-05-11 Joel Brobecker <brobecker@adacore.com>
+
+ * version.in: Set GDB version number to 8.3.
+diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
+index 178ac44..dc5d3b3 100644
+--- a/gdb/dwarf2-frame.c
++++ b/gdb/dwarf2-frame.c
+@@ -1488,7 +1488,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)
+@@ -1789,7 +1789,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;
+@@ -1800,15 +1800,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.20.1
+
diff --git a/poky/meta/recipes-devtools/gdb/gdb_8.3.bb b/poky/meta/recipes-devtools/gdb/gdb_8.3.bb
index c6eac84dd..d70757a15 100644
--- a/poky/meta/recipes-devtools/gdb/gdb_8.3.bb
+++ b/poky/meta/recipes-devtools/gdb/gdb_8.3.bb
@@ -26,4 +26,3 @@ EOF
chmod +x ${WORKDIR}/python
fi
}
-CPPFLAGS_append_libc-musl = " -Drpl_gettimeofday=gettimeofday -Drpl_stat=stat"
diff --git a/poky/meta/recipes-devtools/git/git.inc b/poky/meta/recipes-devtools/git/git.inc
index 26a22ac1e..6e137432f 100644
--- a/poky/meta/recipes-devtools/git/git.inc
+++ b/poky/meta/recipes-devtools/git/git.inc
@@ -13,6 +13,8 @@ S = "${WORKDIR}/git-${PV}"
LIC_FILES_CHKSUM = "file://COPYING;md5=7c0d7ef03a7eb04ce795b0f60e68e7e1"
+CVE_PRODUCT = "git-scm:git"
+
PACKAGECONFIG ??= ""
PACKAGECONFIG[cvsserver] = ""
PACKAGECONFIG[svn] = ""
diff --git a/poky/meta/recipes-devtools/git/git_2.21.0.bb b/poky/meta/recipes-devtools/git/git_2.21.0.bb
deleted file mode 100644
index 434ff8f3d..000000000
--- a/poky/meta/recipes-devtools/git/git_2.21.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require git.inc
-
-EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
- ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
- "
-EXTRA_OEMAKE += "NO_GETTEXT=1"
-
-SRC_URI[tarball.md5sum] = "b8e00c2997774c5d4aaf26fd9d9aaf64"
-SRC_URI[tarball.sha256sum] = "85eca51c7404da75e353eba587f87fea9481ba41e162206a6f70ad8118147bee"
-SRC_URI[manpages.md5sum] = "8a168697b99a9a3f04f29f7d4bacd70b"
-SRC_URI[manpages.sha256sum] = "14c76ebb4e31f9e55cf5338a04fd3a13bced0323cd51794ccf45fc74bd0c1080"
diff --git a/poky/meta/recipes-devtools/git/git_2.23.0.bb b/poky/meta/recipes-devtools/git/git_2.23.0.bb
new file mode 100644
index 000000000..1539182a9
--- /dev/null
+++ b/poky/meta/recipes-devtools/git/git_2.23.0.bb
@@ -0,0 +1,11 @@
+require git.inc
+
+EXTRA_OECONF += "ac_cv_snprintf_returns_bogus=no \
+ ac_cv_fread_reads_directories=${ac_cv_fread_reads_directories=yes} \
+ "
+EXTRA_OEMAKE += "NO_GETTEXT=1"
+
+SRC_URI[tarball.md5sum] = "203c238ffdcef76f9bd6c67cfbaf949f"
+SRC_URI[tarball.sha256sum] = "e3396c90888111a01bf607346db09b0fbf49a95bc83faf9506b61195936f0cfe"
+SRC_URI[manpages.md5sum] = "90a72e553de712d798d68b15b57bc928"
+SRC_URI[manpages.sha256sum] = "a5b0998f95c2290386d191d34780d145ea67e527fac98541e0350749bf76be75"
diff --git a/poky/meta/recipes-devtools/go/go-1.12.inc b/poky/meta/recipes-devtools/go/go-1.12.inc
index 3f23f06f0..39157ff88 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 = ".6"
+GO_MINOR = ".9"
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] = "48a4141fc718dd742d106431294f08bf"
-SRC_URI[main.sha256sum] = "c96c5ccc7455638ae1a8b7498a030fe653731c8391c5f8e79590bce72f92b4ca"
+SRC_URI[main.md5sum] = "6132109d4050da349eadc9f7b0304ef4"
+SRC_URI[main.sha256sum] = "ab0e56ed9c4732a653ed22e232652709afbf573e710f56a07f7fdeca578d62fc"
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
deleted file mode 100644
index a4d631f8e..000000000
--- a/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Dependency management tool for Golang"
-HOMEPAGE = "https://github.com/golang/dep"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=1bad315647751fab0007812f70d42c0d"
-
-GO_IMPORT = "github.com/golang/dep"
-SRC_URI = "git://${GO_IMPORT} \
- file://0001-Add-support-for-mips-mips64.patch;patchdir=src/github.com/golang/dep \
- "
-
-# Points to 0.5.0 tag
-SRCREV = "224a564abe296670b692fe08bb63a3e4c4ad7978"
-
-inherit go
-
-GO_INSTALL = "${GO_IMPORT}/cmd/dep"
-
-RDEPENDS_${PN}-dev += "bash"
-
-BBCLASSEXTEND = "native nativesdk"
-
-# 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"
-PTEST_ENABLED_mips64 = "0"
diff --git a/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb b/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb
new file mode 100644
index 000000000..ead87870e
--- /dev/null
+++ b/poky/meta/recipes-devtools/go/go-dep_0.5.4.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Dependency management tool for Golang"
+HOMEPAGE = "https://github.com/golang/dep"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=1bad315647751fab0007812f70d42c0d"
+
+GO_IMPORT = "github.com/golang/dep"
+SRC_URI = "git://${GO_IMPORT} \
+ file://0001-Add-support-for-mips-mips64.patch;patchdir=src/github.com/golang/dep \
+ "
+
+SRCREV = "1f7c19e5f52f49ffb9f956f64c010be14683468b"
+
+inherit go
+
+GO_INSTALL = "${GO_IMPORT}/cmd/dep"
+
+RDEPENDS_${PN}-dev += "bash"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# 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"
+PTEST_ENABLED_mips64 = "0"
diff --git a/poky/meta/recipes-devtools/go/go-runtime.inc b/poky/meta/recipes-devtools/go/go-runtime.inc
index e28219561..9731e164e 100644
--- a/poky/meta/recipes-devtools/go/go-runtime.inc
+++ b/poky/meta/recipes-devtools/go/go-runtime.inc
@@ -59,6 +59,9 @@ do_install() {
done
find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \;
rm -f ${D}${libdir}/go/src/cmd/dist/dist
+ rm -f ${D}${libdir}/go/src/cmd/cgo/zdefaultcc.go
+ rm -f ${D}${libdir}/go/src/cmd/go/internal/cfg/zdefaultcc.go
+
}
ALLOW_EMPTY_${PN} = "1"
diff --git a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb
deleted file mode 100644
index 5feaeea13..000000000
--- a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.10.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Program for creating simple man pages"
-SECTION = "devel"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "autoconf-native automake-native"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "0d70833650a552e0af742882ba84f2ee"
-SRC_URI[sha256sum] = "f371cbfd63f879065422b58fa6b81e21870cd791ef6e11d4528608204aa4dcfb"
-
-inherit autotools native
-
-EXTRA_OECONF = "--disable-nls"
-
-# We don't want to reconfigure things as it would require 'perlnative' to be
-# used.
-do_configure() {
- oe_runconf
-}
-
-do_install_append () {
- # Make sure we use /usr/bin/env perl
- sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${D}${bindir}/help2man
-}
diff --git a/poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb
new file mode 100644
index 000000000..a60e85189
--- /dev/null
+++ b/poky/meta/recipes-devtools/help2man/help2man-native_1.47.11.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Program for creating simple man pages"
+SECTION = "devel"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+DEPENDS = "autoconf-native automake-native"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "dd322adcaede5bd5eaed075ff8971bc1"
+SRC_URI[sha256sum] = "5985b257f86304c8791842c0c807a37541d0d6807ee973000cf8a3fe6ad47b88"
+
+inherit autotools native
+
+EXTRA_OECONF = "--disable-nls"
+
+# We don't want to reconfigure things as it would require 'perlnative' to be
+# used.
+do_configure() {
+ oe_runconf
+}
+
+do_install_append () {
+ # Make sure we use /usr/bin/env perl
+ sed -i -e "1s:#!.*:#! /usr/bin/env perl:" ${D}${bindir}/help2man
+}
diff --git a/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.1.bb b/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.1.bb
index 2b4563d4f..dcbd05aed 100644
--- a/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.1.bb
+++ b/poky/meta/recipes-devtools/i2c-tools/i2c-tools_4.1.bb
@@ -34,8 +34,9 @@ RDEPENDS_${PN}-misc = "${PN} perl perl-module-posix \
"
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "i2cdetect i2cdump i2cget i2cset"
+ALTERNATIVE_${PN} = "i2cdetect i2cdump i2cget i2cset i2ctransfer"
ALTERNATIVE_LINK_NAME[i2cdetect] = "${sbindir}/i2cdetect"
ALTERNATIVE_LINK_NAME[i2cdump] = "${sbindir}/i2cdump"
ALTERNATIVE_LINK_NAME[i2cget] = "${sbindir}/i2cget"
ALTERNATIVE_LINK_NAME[i2cset] = "${sbindir}/i2cset"
+ALTERNATIVE_LINK_NAME[i2ctransfer] = "${sbindir}/i2ctransfer"
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 9d8f2e787..522879f21 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
@@ -10,25 +10,13 @@ SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
SRC_URI[md5sum] = "04969ad59cc37bddd83741a08b98f350"
SRC_URI[sha256sum] = "b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873"
-UPSTREAM_CHECK_REGEX = "json-c-(?P<pver>\d+(\.\d+)+).tar"
-# json-c releases page is fetching the list of releases in some weird XML format
-# from https://s3.amazonaws.com/json-c_releases and processes it with javascript :-/
-#UPSTREAM_CHECK_URI = "https://s3.amazonaws.com/json-c_releases/releases/index.html"
-RECIPE_UPSTREAM_VERSION = "0.13.1"
-RECIPE_UPSTREAM_DATE = "Mar 04, 2018"
-CHECK_DATE = "May 02, 2018"
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "json-c-(?P<pver>\d+(\.\d+)+)-\d+"
RPROVIDES_${PN} = "libjson"
inherit autotools
-EXTRA_OECONF = "--disable-werror \
- --enable-rdrand \
- "
-
-do_configure_prepend() {
- # Clean up autoconf cruft that should not be in the tarball
- rm -f ${S}/config.status
-}
+EXTRA_OECONF = "--disable-werror"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/libedit/libedit/0001-readline.c-fix-cannot-get-history.patch b/poky/meta/recipes-devtools/libedit/libedit/0001-readline.c-fix-cannot-get-history.patch
new file mode 100644
index 000000000..7e54ac97e
--- /dev/null
+++ b/poky/meta/recipes-devtools/libedit/libedit/0001-readline.c-fix-cannot-get-history.patch
@@ -0,0 +1,34 @@
+From ef1fa9bef497d9491a51017f3cad0135a23bb0b4 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 20 Aug 2019 17:33:15 +0800
+Subject: [PATCH] readline.c: fix cannot get history
+
+if history_offset not increate when add history,
+it will make current history event not align with offset,
+and cannot get history correctly.
+
+Upstream-Status: Submitted [tech-userlevel@NetBSD.org]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/readline.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/readline.c b/src/readline.c
+index 43ac5bd..54b0548 100644
+--- a/src/readline.c
++++ b/src/readline.c
+@@ -1476,7 +1476,10 @@ add_history(const char *line)
+ if (ev.num == history_length)
+ history_base++;
+ else
++ {
++ history_offset++;
+ history_length = ev.num;
++ }
+ return 0;
+ }
+
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch b/poky/meta/recipes-devtools/libedit/libedit/stdc-predef.patch
index c95cdc9d2..75ef308fa 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit/stdc-predef.patch
+++ b/poky/meta/recipes-devtools/libedit/libedit/stdc-predef.patch
@@ -1,6 +1,7 @@
__STDC_ISO_10646__ is defined in stdc-predef.h
therefore include it to see if its there on a platform
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: libedit-20160903-3.1/src/chartype.h
diff --git a/poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb
new file mode 100644
index 000000000..25667ccce
--- /dev/null
+++ b/poky/meta/recipes-devtools/libedit/libedit_20190324-3.1.bb
@@ -0,0 +1,20 @@
+SUMMARY = "BSD replacement for libreadline"
+DESCRIPTION = "Command line editor library providing generic line editing, \
+history, and tokenization functions"
+HOMEPAGE = "http://www.thrysoee.dk/editline/"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533"
+
+DEPENDS = "ncurses"
+
+inherit autotools
+
+SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \
+ file://stdc-predef.patch \
+ file://0001-readline.c-fix-cannot-get-history.patch \
+ "
+SRC_URI[md5sum] = "bec755c8044ad84b752dfe49a0b371d8"
+SRC_URI[sha256sum] = "ac8f0f51c1cf65492e4d1e3ed2be360bda41e54633444666422fbf393bba1bae"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch
index a3e62bf52..0b7535624 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch
@@ -1,4 +1,4 @@
-From b77c9c3d07430b014b2d1bff42027f483c81f15a Mon Sep 17 00:00:00 2001
+From 4a2a592c5a3898df37ff231d9c410f0fd32f5d5d Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 6 Nov 2018 13:43:00 +0100
Subject: [PATCH] modulemd/v[12]/meson.build: do not generate gtkdoc or python
@@ -10,13 +10,13 @@ Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- meson.build | 3 +--
- modulemd/v1/meson.build | 8 --------
- modulemd/v2/meson.build | 8 --------
- 3 files changed, 1 insertion(+), 18 deletions(-)
+ meson.build | 3 +--
+ modulemd/v1/meson.build | 8 --------
+ modulemd/v2/meson.build | 12 ------------
+ 3 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/meson.build b/meson.build
-index 228bd34..a1e60bb 100644
+index 5a0cd3d..f51b16e 100644
--- a/meson.build
+++ b/meson.build
@@ -52,7 +52,6 @@ gnome = import('gnome')
@@ -27,17 +27,17 @@ index 228bd34..a1e60bb 100644
sh = find_program('sh')
sed = find_program('sed')
-@@ -110,4 +109,4 @@ configure_file(
+@@ -127,4 +126,4 @@ configure_file(
)
subdir('modulemd')
-subdir('bindings/python')
+
diff --git a/modulemd/v1/meson.build b/modulemd/v1/meson.build
-index 74db89a..4d54e69 100644
+index ddc95a1..e85fafd 100644
--- a/modulemd/v1/meson.build
+++ b/modulemd/v1/meson.build
-@@ -341,11 +341,3 @@ configure_file(
+@@ -356,11 +356,3 @@ configure_file(
configuration : xcdata
)
@@ -50,10 +50,10 @@ index 74db89a..4d54e69 100644
-)
-
diff --git a/modulemd/v2/meson.build b/modulemd/v2/meson.build
-index 7b94e0c..c5f72b9 100644
+index 93c7fbd..0d9ed24 100644
--- a/modulemd/v2/meson.build
+++ b/modulemd/v2/meson.build
-@@ -530,11 +530,3 @@ configure_file(
+@@ -285,15 +285,3 @@ configure_file(
configuration : xcdata
)
@@ -62,6 +62,10 @@ index 7b94e0c..c5f72b9 100644
- install_dir: 'modulemd-2.0',
- src_dir : './modulemd/v2',
- main_xml : 'modulemd-v2-docs.xml',
+- gobject_typesfile : join_paths(meson.current_build_dir(), 'modulemd-2.0.types'),
+- dependencies : [
+- modulemd_v2_dep,
+- ],
- install : true,
-)
-
diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
index 7e8aea7be..63d3fad6a 100644
--- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
+++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb
@@ -8,8 +8,8 @@ SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \
file://0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch \
"
-PV = "2.5.0"
-SRCREV = "8d9a99ddf037df7c032119cdd3a87238a3cc9090"
+PV = "2.6.0"
+SRCREV = "7c7f88258491866cdb86d26cadfce37a78f242ec"
S = "${WORKDIR}/git"
@@ -17,7 +17,7 @@ inherit meson gobject-introspection
EXTRA_OEMESON = "-Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=true"
-DEPENDS += "glib-2.0 libyaml glib-2.0-native"
+DEPENDS += "glib-2.0 libyaml glib-2.0-native python3"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb b/poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb
deleted file mode 100644
index d7c83edce..000000000
--- a/poky/meta/recipes-devtools/librepo/librepo_1.10.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = " A library providing C and Python (libcURL like) API for downloading linux repository metadata and packages."
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://github.com/rpm-software-management/librepo.git \
- file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \
- file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
- "
-
-SRCREV = "2eb0a27031956fd98340ca2707f03abb7b780372"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2"
-
-inherit cmake distutils3-base pkgconfig
-
-EXTRA_OECMAKE = " -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3 -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DWITH_ZCHUNK=OFF"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb b/poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb
new file mode 100644
index 000000000..87d64bf3a
--- /dev/null
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.10.5.bb
@@ -0,0 +1,27 @@
+SUMMARY = "A library providing C and Python (libcURL like) API \
+ for downloading linux repository metadata and packages."
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/rpm-software-management/librepo.git \
+ file://0002-Do-not-try-to-obtain-PYTHON_INSTALL_DIR-by-running-p.patch \
+ file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
+ "
+
+SRCREV = "385e2ced1083cac0bcb19e30500311f6923e6dfc"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "curl glib-2.0 openssl attr gpgme libxml2"
+
+inherit cmake distutils3-base pkgconfig
+
+EXTRA_OECMAKE = " \
+ -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} \
+ -DPYTHON_DESIRED=3 \
+ -DENABLE_TESTS=OFF \
+ -DENABLE_DOCS=OFF \
+ -DWITH_ZCHUNK=OFF \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/libtool/libtool/debian-no_hostname.patch b/poky/meta/recipes-devtools/libtool/libtool/debian-no_hostname.patch
new file mode 100755
index 000000000..5add0cca3
--- /dev/null
+++ b/poky/meta/recipes-devtools/libtool/libtool/debian-no_hostname.patch
@@ -0,0 +1,21 @@
+libtool: remove host specific info from header file
+
+https://sources.debian.org/data/main/libt/libtool/2.4.6-10/debian/patches/
+ no_hostname.patch
+
+Upstream-Status: Inappropriate [not author]
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+---
+Index: libtool-2.4.6/m4/libtool.m4
+===================================================================
+--- libtool-2.4.6.orig/m4/libtool.m4
++++ libtool-2.4.6/m4/libtool.m4
+@@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([
+ cat <<_LT_EOF >> "$cfgfile"
+ #! $SHELL
+ # Generated automatically by $as_me ($PACKAGE) $VERSION
+-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+ # Provide generalized library-building support services.
diff --git a/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb b/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb
index f5fdd00e5..a5715faaa 100644
--- a/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb
+++ b/poky/meta/recipes-devtools/libtool/libtool_2.4.6.bb
@@ -1,6 +1,6 @@
require libtool-${PV}.inc
-SRC_URI += "file://multilib.patch"
+SRC_URI += "file://multilib.patch file://debian-no_hostname.patch"
RDEPENDS_${PN} += "bash"
diff --git a/poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
deleted file mode 100644
index 6dbbced7e..000000000
--- a/poky/meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 905cac8934fb17e20416a4df712a566e757471a3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 21 May 2016 00:33:20 +0000
-Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they are macros
-
-musl defines some functions as macros and not inline functions
-if this is the case then make sure to undefine them
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- include/llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
-diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def
-index 518a85ee1a0..6b4ead4efc6 100644
---- a/include/llvm/Analysis/TargetLibraryInfo.def
-+++ b/include/llvm/Analysis/TargetLibraryInfo.def
-@@ -731,6 +731,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
- TLI_DEFINE_ENUM_INTERNAL(fopen)
- TLI_DEFINE_STRING_INTERNAL("fopen")
- /// FILE *fopen64(const char *filename, const char *opentype)
-+#ifdef fopen64
-+#undef fopen64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(fopen64)
- TLI_DEFINE_STRING_INTERNAL("fopen64")
- /// int fork();
-@@ -778,6 +781,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
- /// int fseeko(FILE *stream, off_t offset, int whence);
- TLI_DEFINE_ENUM_INTERNAL(fseeko)
- TLI_DEFINE_STRING_INTERNAL("fseeko")
-+#ifdef fseeko64
-+#undef fseeko64
-+#endif
- /// int fseeko64(FILE *stream, off64_t offset, int whence)
- TLI_DEFINE_ENUM_INTERNAL(fseeko64)
- TLI_DEFINE_STRING_INTERNAL("fseeko64")
-@@ -788,6 +794,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
- TLI_DEFINE_ENUM_INTERNAL(fstat)
- TLI_DEFINE_STRING_INTERNAL("fstat")
- /// int fstat64(int filedes, struct stat64 *buf)
-+#ifdef fstat64
-+#undef fstat64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(fstat64)
- TLI_DEFINE_STRING_INTERNAL("fstat64")
- /// int fstatvfs(int fildes, struct statvfs *buf);
-@@ -803,6 +812,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
- TLI_DEFINE_ENUM_INTERNAL(ftello)
- TLI_DEFINE_STRING_INTERNAL("ftello")
- /// off64_t ftello64(FILE *stream)
-+#ifdef ftello64
-+#undef ftello64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(ftello64)
- TLI_DEFINE_STRING_INTERNAL("ftello64")
- /// int ftrylockfile(FILE *file);
-@@ -929,6 +941,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
- TLI_DEFINE_ENUM_INTERNAL(lstat)
- TLI_DEFINE_STRING_INTERNAL("lstat")
- /// int lstat64(const char *path, struct stat64 *buf);
-+#ifdef lstat64
-+#undef lstat64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(lstat64)
- TLI_DEFINE_STRING_INTERNAL("lstat64")
- /// void *malloc(size_t size);
-@@ -1154,6 +1169,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
- TLI_DEFINE_ENUM_INTERNAL(stat)
- TLI_DEFINE_STRING_INTERNAL("stat")
- /// int stat64(const char *path, struct stat64 *buf);
-+#ifdef stat64
-+#undef stat64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(stat64)
- TLI_DEFINE_STRING_INTERNAL("stat64")
- /// int statvfs(const char *path, struct statvfs *buf);
-@@ -1283,6 +1301,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
- TLI_DEFINE_ENUM_INTERNAL(tmpfile)
- TLI_DEFINE_STRING_INTERNAL("tmpfile")
- /// FILE *tmpfile64(void)
-+#ifdef tmpfile64
-+#undef tmpfile64
-+#endif
- TLI_DEFINE_ENUM_INTERNAL(tmpfile64)
- TLI_DEFINE_STRING_INTERNAL("tmpfile64")
- /// int toascii(int c);
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch b/poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
deleted file mode 100644
index 1369bcf78..000000000
--- a/poky/meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 0570fe02c07244a8724c1e6c0437f893c8aa8e93 Mon Sep 17 00:00:00 2001
-From: Martin Kelly <mkelly@xevo.com>
-Date: Fri, 19 May 2017 00:22:57 -0700
-Subject: [PATCH 2/2] llvm: allow env override of exe path
-
-When using a native llvm-config from inside a sysroot, we need llvm-config to
-return the libraries, include directories, etc. from inside the sysroot rather
-than from the native sysroot. Thus provide an env override for calling
-llvm-config from a target sysroot.
-
-To let it work in multilib environment, we need to provide a knob to supply
-multilib dirname as well
-
-Upstream-Status: Inappropriate [OE-Specific]
-
-Signed-off-by: Martin Kelly <mkelly@xevo.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tools/llvm-config/llvm-config.cpp | 35 ++++++++++++++++++++++---------
- 1 file changed, 25 insertions(+), 10 deletions(-)
-
-diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
-index bec89fef98c..91b4d6e4c43 100644
---- a/tools/llvm-config/llvm-config.cpp
-+++ b/tools/llvm-config/llvm-config.cpp
-@@ -226,6 +226,13 @@ Typical components:\n\
-
- /// Compute the path to the main executable.
- std::string GetExecutablePath(const char *Argv0) {
-+ // Hack for Yocto: we need to override the root path when we are using
-+ // llvm-config from within a target sysroot.
-+ const char *Sysroot = std::getenv("YOCTO_ALTERNATE_EXE_PATH");
-+ if (Sysroot != nullptr) {
-+ return Sysroot;
-+ }
-+
- // This just needs to be some symbol in the binary; C++ doesn't
- // allow taking the address of ::main however.
- void *P = (void *)(intptr_t)GetExecutablePath;
-@@ -284,7 +291,7 @@ int main(int argc, char **argv) {
- // bin dir).
- sys::fs::make_absolute(CurrentPath);
- CurrentExecPrefix =
-- sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();
-+ sys::path::parent_path(sys::path::parent_path(sys::path::parent_path(CurrentPath))).str();
-
- // Check to see if we are inside a development tree by comparing to possible
- // locations (prefix style or CMake style).
-@@ -293,7 +300,7 @@ int main(int argc, char **argv) {
- DevelopmentTreeLayout = CMakeStyle;
- ActiveObjRoot = LLVM_OBJ_ROOT;
- } else if (sys::fs::equivalent(CurrentExecPrefix,
-- Twine(LLVM_OBJ_ROOT) + "/bin")) {
-+ Twine(LLVM_OBJ_ROOT) + "/bin/llvm8.0.0")) {
- IsInDevelopmentTree = true;
- DevelopmentTreeLayout = CMakeBuildModeStyle;
- ActiveObjRoot = LLVM_OBJ_ROOT;
-@@ -307,37 +314,45 @@ int main(int argc, char **argv) {
- std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir,
- ActiveCMakeDir;
- std::string ActiveIncludeOption;
-+ // Hack for Yocto: we need to override the multilib path when we are using
-+ // llvm-config from within a target sysroot.
-+ std::string Multilibdir = std::getenv("YOCTO_ALTERNATE_MULTILIB_NAME");
-+ if (Multilibdir.empty()) {
-+ Multilibdir = "/lib/llvm8.0.0" LLVM_LIBDIR_SUFFIX;
-+ }
-+
- if (IsInDevelopmentTree) {
-- ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
-+ ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include/llvm8.0.0";
- ActivePrefix = CurrentExecPrefix;
-
- // CMake organizes the products differently than a normal prefix style
- // layout.
-+
- switch (DevelopmentTreeLayout) {
- case CMakeStyle:
-- ActiveBinDir = ActiveObjRoot + "/bin";
-- ActiveLibDir = ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0.0";
-+ ActiveLibDir = ActiveObjRoot + "/lib/llvm8.0.0" + LLVM_LIBDIR_SUFFIX;
- ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
- break;
- case CMakeBuildModeStyle:
- ActivePrefix = ActiveObjRoot;
-- ActiveBinDir = ActiveObjRoot + "/bin/" + build_mode;
-+ ActiveBinDir = ActiveObjRoot + "/bin/llvm8.0.0/" + build_mode;
- ActiveLibDir =
-- ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
-+ ActiveObjRoot + "/lib/llvm8.0.0" + LLVM_LIBDIR_SUFFIX + "/" + build_mode;
- ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
- break;
- }
-
- // We need to include files from both the source and object trees.
- ActiveIncludeOption =
-- ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
-+ ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include/llvm8.0.0");
- } else {
- ActivePrefix = CurrentExecPrefix;
-- ActiveIncludeDir = ActivePrefix + "/include";
-+ ActiveIncludeDir = ActivePrefix + "/include/llvm8.0.0";
- SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
- sys::fs::make_absolute(ActivePrefix, path);
- ActiveBinDir = path.str();
-- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
-+ ActiveLibDir = ActivePrefix + Multilibdir;
- ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
- ActiveIncludeOption = "-I" + ActiveIncludeDir;
- }
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch b/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
new file mode 100644
index 000000000..789c30886
--- /dev/null
+++ b/poky/meta/recipes-devtools/llvm/llvm/0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch
@@ -0,0 +1,92 @@
+From 4c08879d2dfbe7face4e679ac8499dc7bff2dd20 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 21 May 2016 00:33:20 +0000
+Subject: [PATCH 06/19] llvm: TargetLibraryInfo: Undefine libc functions if
+ they are macros
+
+musl defines some functions as macros and not inline functions
+if this is the case then make sure to undefine them
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
+index afed404f04c..876888656f2 100644
+--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def
++++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
+@@ -782,6 +782,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
+ TLI_DEFINE_ENUM_INTERNAL(fopen)
+ TLI_DEFINE_STRING_INTERNAL("fopen")
+ /// FILE *fopen64(const char *filename, const char *opentype)
++#ifdef fopen64
++#undef fopen64
++#endif
+ TLI_DEFINE_ENUM_INTERNAL(fopen64)
+ TLI_DEFINE_STRING_INTERNAL("fopen64")
+ /// int fork();
+@@ -829,6 +832,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
+ /// int fseeko(FILE *stream, off_t offset, int whence);
+ TLI_DEFINE_ENUM_INTERNAL(fseeko)
+ TLI_DEFINE_STRING_INTERNAL("fseeko")
++#ifdef fseeko64
++#undef fseeko64
++#endif
+ /// int fseeko64(FILE *stream, off64_t offset, int whence)
+ TLI_DEFINE_ENUM_INTERNAL(fseeko64)
+ TLI_DEFINE_STRING_INTERNAL("fseeko64")
+@@ -839,6 +845,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
+ TLI_DEFINE_ENUM_INTERNAL(fstat)
+ TLI_DEFINE_STRING_INTERNAL("fstat")
+ /// int fstat64(int filedes, struct stat64 *buf)
++#ifdef fstat64
++#undef fstat64
++#endif
+ TLI_DEFINE_ENUM_INTERNAL(fstat64)
+ TLI_DEFINE_STRING_INTERNAL("fstat64")
+ /// int fstatvfs(int fildes, struct statvfs *buf);
+@@ -854,6 +863,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
+ TLI_DEFINE_ENUM_INTERNAL(ftello)
+ TLI_DEFINE_STRING_INTERNAL("ftello")
+ /// off64_t ftello64(FILE *stream)
++#ifdef ftello64
++#undef ftello64
++#endif
+ TLI_DEFINE_ENUM_INTERNAL(ftello64)
+ TLI_DEFINE_STRING_INTERNAL("ftello64")
+ /// int ftrylockfile(FILE *file);
+@@ -980,6 +992,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
+ TLI_DEFINE_ENUM_INTERNAL(lstat)
+ TLI_DEFINE_STRING_INTERNAL("lstat")
+ /// int lstat64(const char *path, struct stat64 *buf);
++#ifdef lstat64
++#undef lstat64
++#endif
+ TLI_DEFINE_ENUM_INTERNAL(lstat64)
+ TLI_DEFINE_STRING_INTERNAL("lstat64")
+ /// void *malloc(size_t size);
+@@ -1205,6 +1220,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
+ TLI_DEFINE_ENUM_INTERNAL(stat)
+ TLI_DEFINE_STRING_INTERNAL("stat")
+ /// int stat64(const char *path, struct stat64 *buf);
++#ifdef stat64
++#undef stat64
++#endif
+ TLI_DEFINE_ENUM_INTERNAL(stat64)
+ TLI_DEFINE_STRING_INTERNAL("stat64")
+ /// int statvfs(const char *path, struct statvfs *buf);
+@@ -1340,6 +1358,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
+ TLI_DEFINE_ENUM_INTERNAL(tmpfile)
+ TLI_DEFINE_STRING_INTERNAL("tmpfile")
+ /// FILE *tmpfile64(void)
++#ifdef tmpfile64
++#undef tmpfile64
++#endif
+ TLI_DEFINE_ENUM_INTERNAL(tmpfile64)
+ TLI_DEFINE_STRING_INTERNAL("tmpfile64")
+ /// int toascii(int c);
+--
+2.22.0
+
diff --git a/poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch b/poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch
new file mode 100644
index 000000000..f47080c9f
--- /dev/null
+++ b/poky/meta/recipes-devtools/llvm/llvm/0007-llvm-allow-env-override-of-exe-path.patch
@@ -0,0 +1,38 @@
+From b66d6f39a374b8df41e7235351e5dee2e81f440c Mon Sep 17 00:00:00 2001
+From: Martin Kelly <mkelly@xevo.com>
+Date: Fri, 19 May 2017 00:22:57 -0700
+Subject: [PATCH 07/19] llvm: allow env override of exe path
+
+When using a native llvm-config from inside a sysroot, we need llvm-config to
+return the libraries, include directories, etc. from inside the sysroot rather
+than from the native sysroot. Thus provide an env override for calling
+llvm-config from a target sysroot.
+
+Upstream-Status: Pending
+Signed-off-by: Martin Kelly <mkelly@xevo.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ llvm/tools/llvm-config/llvm-config.cpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp
+index 7ef7c46a262..a4f7ed82c7b 100644
+--- a/llvm/tools/llvm-config/llvm-config.cpp
++++ b/llvm/tools/llvm-config/llvm-config.cpp
+@@ -225,6 +225,13 @@ Typical components:\n\
+
+ /// Compute the path to the main executable.
+ std::string GetExecutablePath(const char *Argv0) {
++ // Hack for Yocto: we need to override the root path when we are using
++ // llvm-config from within a target sysroot.
++ const char *Sysroot = std::getenv("YOCTO_ALTERNATE_EXE_PATH");
++ if (Sysroot != nullptr) {
++ return Sysroot;
++ }
++
+ // This just needs to be some symbol in the binary; C++ doesn't
+ // allow taking the address of ::main however.
+ void *P = (void *)(intptr_t)GetExecutablePath;
+--
+2.22.0
+
diff --git a/poky/meta/recipes-devtools/llvm/llvm_git.bb b/poky/meta/recipes-devtools/llvm/llvm_git.bb
index 0067635c2..08b19a33e 100644
--- a/poky/meta/recipes-devtools/llvm/llvm_git.bb
+++ b/poky/meta/recipes-devtools/llvm/llvm_git.bb
@@ -8,7 +8,7 @@ SECTION = "devel"
LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
-DEPENDS = "libffi libxml2 zlib ninja-native llvm-native"
+DEPENDS = "libffi libxml2 zlib libedit ninja-native llvm-native"
RDEPENDS_${PN}_append_class-target = " ncurses-terminfo"
@@ -19,17 +19,17 @@ PROVIDES += "llvm${PV}"
LLVM_RELEASE = "${PV}"
LLVM_DIR = "llvm${LLVM_RELEASE}"
-SRCREV = "d2298e74235598f15594fe2c99bbac870a507c59"
+SRCREV = "19a71f6bdf2dddb10764939e7f0ec2b98dba76c9"
BRANCH = "release/${MAJOR_VERSION}.x"
MAJOR_VERSION = "8"
MINOR_VERSION = "0"
-PATCH_VERSION = "0"
+PATCH_VERSION = "1"
SOLIBVER = "1"
PV = "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}"
SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH} \
- file://0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch \
- file://0002-llvm-allow-env-override-of-exe-path.patch \
+ file://0006-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch;striplevel=2 \
+ file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \
"
S = "${WORKDIR}/git/llvm"
@@ -71,7 +71,7 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_OPTIMIZED_TABLEGEN=ON \
-DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS}' \
-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON \
- -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python2 \
+ -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
-G Ninja"
EXTRA_OECMAKE_append_class-target = "\
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc
index 6a723683c..6de109de7 100644
--- a/poky/meta/recipes-devtools/meson/meson.inc
+++ b/poky/meta/recipes-devtools/meson/meson.inc
@@ -11,15 +11,14 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
file://0001-python-module-do-not-manipulate-the-environment-when.patch \
file://disable-rpath-handling.patch \
file://cross-prop-default.patch \
- file://load-configs-generalise-search-path.patch \
- file://0007-mesonbuild-allow-multiple-cross-file-options.patch \
file://0001-environment.py-detect-windows-also-if-the-system-str.patch \
file://0001-mesonbuild-environment.py-do-not-determine-whether-a.patch \
file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \
file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
+ file://vala-cross-compile.patch \
"
-SRC_URI[sha256sum] = "f68f56d60c80a77df8fc08fa1016bc5831605d4717b622c96212573271e14ecc"
-SRC_URI[md5sum] = "24a6527796115828d2ebc75880e18d62"
+SRC_URI[sha256sum] = "23688f0fc90be623d98e80e1defeea92bbb7103bf9336a5f5b9865d36e892d76"
+SRC_URI[md5sum] = "d46c4a8e3cfd27f90e2c6fe4a69e574b"
SRC_URI_append_class-native = " \
file://0001-Make-CPU-family-warnings-fatal.patch \
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index adde1e271..444fc0816 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -1,4 +1,4 @@
-From 4b4b3d4932d928f05dbd74d730a3c8a5ac371e1d Mon Sep 17 00:00:00 2001
+From f70fee13e4dbc757cd8153cd42d92fa9394fb542 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 3 Jul 2018 13:59:09 +0100
Subject: [PATCH] Make CPU family warnings fatal
@@ -12,10 +12,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index 5309ef4..3f0a399 100644
+index 03c6346..86b350b 100644
--- a/mesonbuild/envconfig.py
+++ b/mesonbuild/envconfig.py
-@@ -178,7 +178,7 @@ class MachineInfo:
+@@ -186,7 +186,7 @@ class MachineInfo:
cpu_family = literal['cpu_family']
if cpu_family not in known_cpu_families:
@@ -25,10 +25,10 @@ index 5309ef4..3f0a399 100644
endian = literal['endian']
if endian not in ('little', 'big'):
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 3031a82..ecd18d0 100644
+index 0cfdf9c..40aa189 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
-@@ -242,9 +242,7 @@ def detect_cpu_family(compilers):
+@@ -262,9 +262,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
trial = 'parisc'
if trial not in known_cpu_families:
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch b/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch
index f6043190a..37b5356d7 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch
@@ -1,4 +1,4 @@
-From 63b78b7990c5d60f7bc674a26f655caa0bec3c49 Mon Sep 17 00:00:00 2001
+From b52e47c9d61dc4c930cfc7236fbeb70338c3b953 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 25 Mar 2019 17:17:06 +0100
Subject: [PATCH] environment.py: detect windows also if the system string
@@ -6,20 +6,24 @@ Subject: [PATCH] environment.py: detect windows also if the system string
Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
mesonbuild/envconfig.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index f2510c1..5309ef4 100644
+index 03c6346..a59cd89 100644
--- a/mesonbuild/envconfig.py
+++ b/mesonbuild/envconfig.py
-@@ -194,7 +194,7 @@ class MachineInfo:
+@@ -198,7 +198,7 @@ class MachineInfo:
"""
Machine is windows?
"""
-- return self.system == 'windows'
+- return self.system in {'windows', 'mingw'}
+ return self.system == 'windows' or 'mingw' in self.system
- def is_cygwin(self):
+ def is_cygwin(self) -> bool:
"""
+--
+2.17.1
+
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch
index fadb2734f..f4456235f 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch
@@ -1,4 +1,4 @@
-From 63e79329b5dd00882f0cea56a6d907a831b94171 Mon Sep 17 00:00:00 2001
+From a72dc2b1cddcf180ce782860896deae0b12d5000 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 25 Mar 2019 18:52:48 +0100
Subject: [PATCH] mesonbuild/environment.py: check environment for various
@@ -6,23 +6,21 @@ Subject: [PATCH] mesonbuild/environment.py: check environment for various
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
mesonbuild/environment.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 6e5d689..bbfd87d 100644
+index 9a029f4..0cfdf9c 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
-@@ -398,7 +398,7 @@ class Environment:
+@@ -448,7 +448,7 @@ class Environment:
config = MesonConfigFile.from_config_parser(
- coredata.load_configs(self.coredata.cross_files, 'cross'))
- self.properties.host = Properties(config.get('properties', {}), False)
-- self.binaries.host = BinaryTable(config.get('binaries', {}), False)
-+ self.binaries.host = BinaryTable(config.get('binaries', {}), True)
+ coredata.load_configs(self.coredata.cross_files))
+ properties.host = Properties(config.get('properties', {}), False)
+- binaries.host = BinaryTable(config.get('binaries', {}), False)
++ binaries.host = BinaryTable(config.get('binaries', {}), True)
if 'host_machine' in config:
- self.machines.host = MachineInfo.from_literal(config['host_machine'])
+ machines.host = MachineInfo.from_literal(config['host_machine'])
if 'target_machine' in config:
---
-2.17.1
-
diff --git a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
index 833471454..8cb11879f 100644
--- a/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
@@ -1,4 +1,4 @@
-From d9da5e7a16a9397e22a8900fac4b60b40d7f00de Mon Sep 17 00:00:00 2001
+From ec9c4a22424a5d55fcf213a55d03f096ec24bcae Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 25 Mar 2019 18:18:33 +0100
Subject: [PATCH] mesonbuild/environment.py: do not determine whether a build
@@ -14,14 +14,14 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index d4f0630..c584fa4 100644
+index 84a7596..9a029f4 100644
--- a/mesonbuild/environment.py
+++ b/mesonbuild/environment.py
-@@ -483,7 +483,7 @@ class Environment:
+@@ -520,7 +520,7 @@ class Environment:
self.first_invocation = True
- def is_cross_build(self):
-- return self.coredata.cross_file is not None
+ def is_cross_build(self) -> bool:
+- return not self.machines.matches_build_machine(MachineChoice.HOST)
+ return self.need_exe_wrapper()
def dump_coredata(self):
diff --git a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
index e47e55532..8ad86a46e 100644
--- a/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -1,4 +1,4 @@
-From 2164655328ec4e47335fc9033813274365491ad8 Mon Sep 17 00:00:00 2001
+From 3009a1c2f1b736b836a057d84dc11f379cba99cf Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <pkj@axis.com>
Date: Thu, 26 Jul 2018 16:32:49 +0200
Subject: [PATCH] Support building allarch recipes again
@@ -13,10 +13,10 @@ Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
1 file changed, 1 insertion(+)
diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
-index 3f0a399..4509e09 100644
+index 86b350b..aa426ca 100644
--- a/mesonbuild/envconfig.py
+++ b/mesonbuild/envconfig.py
-@@ -34,6 +34,7 @@ from . import mlog
+@@ -36,6 +36,7 @@ _T = typing.TypeVar('_T')
known_cpu_families = (
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 2b22531dd..57de598d2 100644
--- a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
+++ b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
@@ -1,4 +1,4 @@
-From e762d85c823adfefc27ba6128c7b997aa50166ce Mon Sep 17 00:00:00 2001
+From ac38495de38a1ea42e2bc09a2f23c2e945fbc22d Mon Sep 17 00:00:00 2001
From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Date: Wed, 15 Nov 2017 15:05:01 +0100
Subject: [PATCH] native_bindir
@@ -22,19 +22,19 @@ Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
-index 6d3678f..90fdb80 100644
+index 21da8e2..7d1ef85 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
-@@ -146,7 +146,7 @@ class Dependency:
- def need_threads(self):
- return False
+@@ -155,7 +155,7 @@ class Dependency:
+ def get_exe_args(self, compiler):
+ return []
- def get_pkgconfig_variable(self, variable_name, kwargs):
+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name))
def get_configtool_variable(self, variable_name):
-@@ -183,7 +183,7 @@ class InternalDependency(Dependency):
+@@ -214,7 +214,7 @@ class InternalDependency(Dependency):
self.sources = sources
self.ext_deps = ext_deps
@@ -43,7 +43,7 @@ index 6d3678f..90fdb80 100644
raise DependencyException('Method "get_pkgconfig_variable()" is '
'invalid for an internal dependency')
-@@ -523,15 +523,18 @@ class PkgConfigDependency(ExternalDependency):
+@@ -639,15 +639,18 @@ class PkgConfigDependency(ExternalDependency):
return s.format(self.__class__.__name__, self.name, self.is_found,
self.version_reqs)
@@ -62,10 +62,10 @@ index 6d3678f..90fdb80 100644
- def _call_pkgbin(self, args, env=None):
+ def _call_pkgbin(self, args, env=None, use_native=False):
+ # Always copy the environment since we're going to modify it
+ # with pkg-config variables
if env is None:
- fenv = env
- env = os.environ
-@@ -540,7 +543,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -663,7 +666,7 @@ class PkgConfigDependency(ExternalDependency):
targs = tuple(args)
cache = PkgConfigDependency.pkgbin_cache
if (self.pkgbin, targs, fenv) not in cache:
@@ -74,7 +74,7 @@ index 6d3678f..90fdb80 100644
return cache[(self.pkgbin, targs, fenv)]
def _convert_mingw_paths(self, args):
-@@ -718,7 +721,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -845,7 +848,7 @@ class PkgConfigDependency(ExternalDependency):
(self.name, out_raw))
self.link_args, self.raw_link_args = self._search_libs(out, out_raw)
@@ -83,7 +83,7 @@ index 6d3678f..90fdb80 100644
options = ['--variable=' + variable_name, self.name]
if 'define_variable' in kwargs:
-@@ -731,7 +734,7 @@ class PkgConfigDependency(ExternalDependency):
+@@ -858,7 +861,7 @@ class PkgConfigDependency(ExternalDependency):
options = ['--define-variable=' + '='.join(definition)] + options
@@ -93,10 +93,10 @@ index 6d3678f..90fdb80 100644
if ret != 0:
if self.required:
diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
-index 197d22c..c683d21 100644
+index 6d784e6..73a9e13 100644
--- a/mesonbuild/dependencies/ui.py
+++ b/mesonbuild/dependencies/ui.py
-@@ -285,7 +285,7 @@ class QtBaseDependency(ExternalDependency):
+@@ -330,7 +330,7 @@ class QtBaseDependency(ExternalDependency):
self.bindir = self.get_pkgconfig_host_bins(core)
if not self.bindir:
# If exec_prefix is not defined, the pkg-config file is broken
@@ -105,7 +105,7 @@ index 197d22c..c683d21 100644
if prefix:
self.bindir = os.path.join(prefix, 'bin')
-@@ -427,7 +427,7 @@ class Qt4Dependency(QtBaseDependency):
+@@ -507,7 +507,7 @@ class Qt4Dependency(QtBaseDependency):
applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
for application in applications:
try:
@@ -114,7 +114,7 @@ index 197d22c..c683d21 100644
except MesonException:
pass
-@@ -437,7 +437,7 @@ class Qt5Dependency(QtBaseDependency):
+@@ -517,7 +517,7 @@ class Qt5Dependency(QtBaseDependency):
QtBaseDependency.__init__(self, 'qt5', env, kwargs)
def get_pkgconfig_host_bins(self, core):
diff --git a/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch b/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch
deleted file mode 100644
index 6c2949c0e..000000000
--- a/poky/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-From 07ae4f949b8402cff178dd12c210d9a726ffe2da Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Mon, 18 Mar 2019 17:27:57 +0000
-Subject: [PATCH] mesonbuild: allow multiple --cross-file options
-
-Just like --native-file, allow multiple --cross-file options. This is mostly
-unifying the logic between cross_files and config_files.
-
-Upstream-Status: Backport [will be in 0.50.1]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
----
- .../markdown/snippets/multiple-cross-files.md | 3 ++
- mesonbuild/backend/backends.py | 3 +-
- mesonbuild/coredata.py | 52 +++----------------
- mesonbuild/environment.py | 5 +-
- mesonbuild/msetup.py | 4 +-
- mesonbuild/munstable_coredata.py | 5 +-
- 6 files changed, 20 insertions(+), 52 deletions(-)
- create mode 100644 docs/markdown/snippets/multiple-cross-files.md
-
-diff --git a/docs/markdown/snippets/multiple-cross-files.md b/docs/markdown/snippets/multiple-cross-files.md
-new file mode 100644
-index 0000000..de229be
---- /dev/null
-+++ b/docs/markdown/snippets/multiple-cross-files.md
-@@ -0,0 +1,3 @@
-+## Multipe cross files can be specified
-+
-+`--cross-file` can be passed multiple times, with the configuration files overlaying the same way as `--native-file`.
-diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
-index 4d35d22..5b270d3 100644
---- a/mesonbuild/backend/backends.py
-+++ b/mesonbuild/backend/backends.py
-@@ -788,8 +788,7 @@ class Backend:
- deps = [os.path.join(self.build_to_src, df)
- for df in self.interpreter.get_build_def_files()]
- if self.environment.is_cross_build():
-- deps.append(os.path.join(self.build_to_src,
-- self.environment.coredata.cross_file))
-+ deps.extend(self.environment.coredata.cross_files)
- deps.append('meson-private/coredata.dat')
- if os.path.exists(os.path.join(self.environment.get_source_dir(), 'meson_options.txt')):
- deps.append(os.path.join(self.build_to_src, 'meson_options.txt'))
-diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
-index 066ad30..d80e9a0 100644
---- a/mesonbuild/coredata.py
-+++ b/mesonbuild/coredata.py
-@@ -265,7 +265,7 @@ class CoreData:
- self.compiler_options = PerMachine({}, {}, {})
- self.base_options = {}
- self.external_preprocess_args = PerMachine({}, {}, {}) # CPPFLAGS only
-- self.cross_file = self.__load_cross_file(options.cross_file)
-+ self.cross_files = self.__load_config_files(options.cross_file)
- self.compilers = OrderedDict()
- self.cross_compilers = OrderedDict()
- self.deps = OrderedDict()
-@@ -276,57 +276,19 @@ class CoreData:
-
- @staticmethod
- def __load_config_files(filenames):
-+ # Need to try and make the passed filenames absolute because when the
-+ # files are parsed later we'll have chdir()d.
- if not filenames:
- return []
- filenames = [os.path.abspath(os.path.expanduser(os.path.expanduser(f)))
- for f in filenames]
- return filenames
-
-- @staticmethod
-- def __load_cross_file(filename):
-- """Try to load the cross file.
--
-- If the filename is None return None. If the filename is an absolute
-- (after resolving variables and ~), return that absolute path. Next,
-- check if the file is relative to the current source dir. If the path
-- still isn't resolved do the following:
-- Windows:
-- - Error
-- *:
-- - $XDG_DATA_HOME/meson/cross (or ~/.local/share/meson/cross if
-- undefined)
-- - $XDG_DATA_DIRS/meson/cross (or
-- /usr/local/share/meson/cross:/usr/share/meson/cross if undefined)
-- - Error
--
-- Non-Windows follows the Linux path and will honor XDG_* if set. This
-- simplifies the implementation somewhat.
-- """
-- if filename is None:
-- return None
-- filename = os.path.expanduser(os.path.expandvars(filename))
-- if os.path.isabs(filename):
-- return filename
-- path_to_try = os.path.abspath(filename)
-- if os.path.isfile(path_to_try):
-- return path_to_try
-- if sys.platform != 'win32':
-- paths = [
-- os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
-- ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
-- for path in paths:
-- path_to_try = os.path.join(path, 'meson', 'cross', filename)
-- if os.path.isfile(path_to_try):
-- return path_to_try
-- raise MesonException('Cannot find specified cross file: ' + filename)
--
-- raise MesonException('Cannot find specified cross file: ' + filename)
--
- def libdir_cross_fixup(self):
- # By default set libdir to "lib" when cross compiling since
- # getting the "system default" is always wrong on multiarch
- # platforms as it gets a value like lib/x86_64-linux-gnu.
-- if self.cross_file is not None:
-+ if self.cross_files:
- self.builtins['libdir'].value = 'lib'
-
- def sanitize_prefix(self, prefix):
-@@ -642,8 +604,8 @@ def read_cmd_line_file(build_dir, options):
- options.cmd_line_options = d
-
- properties = config['properties']
-- if options.cross_file is None:
-- options.cross_file = properties.get('cross_file', None)
-+ if not options.cross_file:
-+ options.cross_file = ast.literal_eval(properties.get('cross_file', '[]'))
- if not options.native_file:
- # This will be a string in the form: "['first', 'second', ...]", use
- # literal_eval to get it into the list of strings.
-@@ -654,7 +616,7 @@ def write_cmd_line_file(build_dir, options):
- config = CmdLineFileParser()
-
- properties = {}
-- if options.cross_file is not None:
-+ if options.cross_file:
- properties['cross_file'] = options.cross_file
- if options.native_file:
- properties['native_file'] = options.native_file
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index c25ef33..4c1c5ac 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -394,8 +394,9 @@ class Environment:
- self.binaries.build = BinaryTable(config.get('binaries', {}))
- self.paths.build = Directories(**config.get('paths', {}))
-
-- if self.coredata.cross_file is not None:
-- config = MesonConfigFile.parse_datafile(self.coredata.cross_file)
-+ if self.coredata.cross_files:
-+ config = MesonConfigFile.from_config_parser(
-+ coredata.load_configs(self.coredata.cross_files, 'cross'))
- self.properties.host = Properties(config.get('properties', {}), False)
- self.binaries.host = BinaryTable(config.get('binaries', {}), False)
- if 'host_machine' in config:
-diff --git a/mesonbuild/msetup.py b/mesonbuild/msetup.py
-index 023afdb..6e8ca83 100644
---- a/mesonbuild/msetup.py
-+++ b/mesonbuild/msetup.py
-@@ -29,7 +29,9 @@ from .mesonlib import MesonException
-
- def add_arguments(parser):
- coredata.register_builtin_arguments(parser)
-- parser.add_argument('--cross-file', default=None,
-+ parser.add_argument('--cross-file',
-+ default=[],
-+ action='append',
- help='File describing cross compilation environment.')
- parser.add_argument('--native-file',
- default=[],
-diff --git a/mesonbuild/munstable_coredata.py b/mesonbuild/munstable_coredata.py
-index 78f3f34..913f942 100644
---- a/mesonbuild/munstable_coredata.py
-+++ b/mesonbuild/munstable_coredata.py
-@@ -81,8 +81,9 @@ def run(options):
- print('Last seen PKGCONFIG enviroment variable value: ' + v)
- elif k == 'version':
- print('Meson version: ' + v)
-- elif k == 'cross_file':
-- print('Cross File: ' + (v or 'None'))
-+ elif k == 'cross_files':
-+ if v:
-+ print('Cross File: ' + ' '.join(v))
- elif k == 'config_files':
- if v:
- print('Native File: ' + ' '.join(v))
diff --git a/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch b/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch
deleted file mode 100644
index 2056763db..000000000
--- a/poky/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From d57dd1092e84e08ee15d7063b6c56bd6d864f2e1 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Mon, 18 Mar 2019 16:16:56 +0000
-Subject: [PATCH] load_configs: generalise the search path
-
-Instead of hard-coding the fact that load_configs() searches for files under
-meson/native, pass in the subdirectory allowing the cross-file code to use the
-same logic.
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- mesonbuild/coredata.py | 6 +++---
- mesonbuild/environment.py | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
-index fba90fa369..6e60917d10 100644
---- a/mesonbuild/coredata.py
-+++ b/mesonbuild/coredata.py
-@@ -211,8 +211,8 @@ def is_auto(self):
- return self.value == 'auto'
-
-
--def load_configs(filenames):
-- """Load native files."""
-+def load_configs(filenames, subdir):
-+ """Load configuration files from a named subdirectory."""
- def gen():
- for f in filenames:
- f = os.path.expanduser(os.path.expandvars(f))
-@@ -225,7 +225,7 @@ def gen():
- os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
- ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
- for path in paths:
-- path_to_try = os.path.join(path, 'meson', 'native', f)
-+ path_to_try = os.path.join(path, 'meson', subdir, f)
- if os.path.isfile(path_to_try):
- yield path_to_try
- break
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index 58adb06960..92a00dd7bf 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -408,7 +408,7 @@ def __init__(self, source_dir, build_dir, options):
-
- if self.coredata.config_files is not None:
- config = MesonConfigFile.from_config_parser(
-- coredata.load_configs(self.coredata.config_files))
-+ coredata.load_configs(self.coredata.config_files, 'native'))
- self.binaries.build = BinaryTable(config.get('binaries', {}))
- self.paths.build = Directories(**config.get('paths', {}))
-
diff --git a/poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch b/poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch
new file mode 100644
index 000000000..816f810c0
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/meson/vala-cross-compile.patch
@@ -0,0 +1,50 @@
+From 77c3e6a4aaed07e626f4bf4deb7eb66e0f03a33d Mon Sep 17 00:00:00 2001
+From: James Westman <flyingpimonster@flyingpimonster.net>
+Date: Mon, 24 Jun 2019 12:04:12 -0500
+Subject: [PATCH] Fix two errors when cross-compiling with Vala
+
+- AttributeError: 'ValaCompiler' object has no attribute 'get_program_dirs'
+
+ Fixed by adding a `get_program_dirs()` function to the base Compiler
+ class, to match `get_library_dirs()`
+
+- KeyError: 'vala_COMPILER'
+
+ Fixed by creating the Vala compile rules for all machines, not just
+ the build machine.
+
+Upstream-Status: Backport [https://github.com/mesonbuild/meson/commit/77c3e6a4aaed07e626f4bf4deb7eb66e0f03a33d]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mesonbuild/backend/ninjabackend.py | 3 +--
+ mesonbuild/compilers/compilers.py | 3 +++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
+index a454e6ab5f..b830e377e4 100644
+--- a/mesonbuild/backend/ninjabackend.py
++++ b/mesonbuild/backend/ninjabackend.py
+@@ -1653,8 +1653,7 @@ def generate_compile_rule_for(self, langname, compiler):
+ self.generate_cs_compile_rule(compiler)
+ return
+ if langname == 'vala':
+- if self.environment.machines.matches_build_machine(compiler.for_machine):
+- self.generate_vala_compile_rules(compiler)
++ self.generate_vala_compile_rules(compiler)
+ return
+ if langname == 'rust':
+ self.generate_rust_compile_rules(compiler)
+diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
+index 5855de71c8..86c1e33407 100644
+--- a/mesonbuild/compilers/compilers.py
++++ b/mesonbuild/compilers/compilers.py
+@@ -1117,6 +1117,9 @@ def find_library(self, *args, **kwargs):
+ def get_library_dirs(self, *args, **kwargs):
+ return ()
+
++ def get_program_dirs(self, *args, **kwargs):
++ return ()
++
+ def has_multi_arguments(self, args, env) -> Tuple[bool, bool]:
+ raise EnvironmentException(
+ 'Language {} does not support has_multi_arguments.'.format(
diff --git a/poky/meta/recipes-devtools/meson/meson_0.50.1.bb b/poky/meta/recipes-devtools/meson/meson_0.51.2.bb
index de9b905c1..de9b905c1 100644
--- a/poky/meta/recipes-devtools/meson/meson_0.50.1.bb
+++ b/poky/meta/recipes-devtools/meson/meson_0.51.2.bb
diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb
deleted file mode 100644
index 1549357a5..000000000
--- a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-include meson.inc
-
-inherit nativesdk
-inherit siteinfo
-
-SRC_URI += "file://meson-setup.py \
- file://meson-wrapper"
-
-def meson_endian(prefix, d):
- arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS")
- sitedata = siteinfo_data_for_machine(arch, os, d)
- if "endian-little" in sitedata:
- return "little"
- elif "endian-big" in sitedata:
- return "big"
- else:
- bb.fatal("Cannot determine endianism for %s-%s" % (arch, os))
-
-MESON_TOOLCHAIN_ARGS = "${BUILDSDK_CC_ARCH}${TOOLCHAIN_OPTIONS}"
-MESON_C_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_CFLAGS}"
-MESON_CPP_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_CXXFLAGS}"
-MESON_LINK_ARGS = "${MESON_TOOLCHAIN_ARGS} ${BUILDSDK_LDFLAGS}"
-
-# The cross file logic is similar but not identical to that in meson.bbclass,
-# since it's generating for an SDK rather than a cross-compile. Important
-# differences are:
-# - We can't set vars like CC, CXX, etc. yet because they will be filled in with
-# real paths by meson-setup.sh when the SDK is extracted.
-# - Some overrides aren't needed, since the SDK injects paths that take care of
-# them.
-do_install_append() {
- install -d ${D}${datadir}/meson
- cat >${D}${datadir}/meson/meson.cross.template <<EOF
-[binaries]
-c = @CC
-cpp = @CXX
-ar = @AR
-nm = @NM
-ld = @LD
-strip = @STRIP
-pkgconfig = 'pkg-config'
-
-[properties]
-needs_exe_wrapper = true
-c_args = @CFLAGS
-c_link_args = @LDFLAGS
-cpp_args = @CPPFLAGS
-cpp_link_args = @LDFLAGS
-
-[host_machine]
-system = '${SDK_OS}'
-cpu_family = '${SDK_ARCH}'
-cpu = '${SDK_ARCH}'
-endian = '${@meson_endian("SDK", d)}'
-EOF
-
- install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
- install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
-
- # We need to wrap the real meson with a thin env setup wrapper.
- mv ${D}${bindir}/meson ${D}${bindir}/meson.real
- install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson
-}
-
-RDEPENDS_${PN} += "\
- nativesdk-ninja \
- nativesdk-python3 \
- nativesdk-python3-setuptools \
- "
-
-FILES_${PN} += "${datadir}/meson ${SDKPATHNATIVE}"
diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.2.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.2.bb
new file mode 100644
index 000000000..1756f342c
--- /dev/null
+++ b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.51.2.bb
@@ -0,0 +1,66 @@
+include meson.inc
+
+inherit nativesdk
+inherit siteinfo
+
+SRC_URI += "file://meson-setup.py \
+ file://meson-wrapper"
+
+def meson_endian(prefix, d):
+ arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS")
+ sitedata = siteinfo_data_for_machine(arch, os, d)
+ if "endian-little" in sitedata:
+ return "little"
+ elif "endian-big" in sitedata:
+ return "big"
+ else:
+ bb.fatal("Cannot determine endianism for %s-%s" % (arch, os))
+
+# The cross file logic is similar but not identical to that in meson.bbclass,
+# since it's generating for an SDK rather than a cross-compile. Important
+# differences are:
+# - We can't set vars like CC, CXX, etc. yet because they will be filled in with
+# real paths by meson-setup.sh when the SDK is extracted.
+# - Some overrides aren't needed, since the SDK injects paths that take care of
+# them.
+do_install_append() {
+ install -d ${D}${datadir}/meson
+ cat >${D}${datadir}/meson/meson.cross.template <<EOF
+[binaries]
+c = @CC
+cpp = @CXX
+ar = @AR
+nm = @NM
+ld = @LD
+strip = @STRIP
+pkgconfig = 'pkg-config'
+
+[properties]
+needs_exe_wrapper = true
+c_args = @CFLAGS
+c_link_args = @LDFLAGS
+cpp_args = @CPPFLAGS
+cpp_link_args = @LDFLAGS
+
+[host_machine]
+system = '${SDK_OS}'
+cpu_family = '${SDK_ARCH}'
+cpu = '${SDK_ARCH}'
+endian = '${@meson_endian("SDK", d)}'
+EOF
+
+ install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
+ install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
+
+ # We need to wrap the real meson with a thin env setup wrapper.
+ mv ${D}${bindir}/meson ${D}${bindir}/meson.real
+ install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson
+}
+
+RDEPENDS_${PN} += "\
+ nativesdk-ninja \
+ nativesdk-python3 \
+ nativesdk-python3-setuptools \
+ "
+
+FILES_${PN} += "${datadir}/meson ${SDKPATHNATIVE}"
diff --git a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
index 49a650a9e..810fe40f4 100644
--- a/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
+++ b/poky/meta/recipes-devtools/mtd/mtd-utils_git.bb
@@ -10,9 +10,9 @@ inherit autotools pkgconfig update-alternatives
DEPENDS = "zlib e2fsprogs util-linux"
RDEPENDS_mtd-utils-tests += "bash"
-PV = "2.1.0+${SRCPV}"
+PV = "2.1.1"
-SRCREV = "b5027be5f470830ac9543db3c52e076b13abd313"
+SRCREV = "4443221ce9b88440cd9f5bb78e6fe95621d36c8a"
SRC_URI = "git://git.infradead.org/mtd-utils.git \
file://add-exclusion-to-mkfs-jffs2-git-2.patch \
"
@@ -30,6 +30,7 @@ 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"
+PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
CPPFLAGS_append_riscv64 = " -pthread -D_REENTRANT"
diff --git a/poky/meta/recipes-devtools/nasm/nasm/CVE-2018-19755.patch b/poky/meta/recipes-devtools/nasm/nasm/CVE-2018-19755.patch
new file mode 100644
index 000000000..6e3f909d0
--- /dev/null
+++ b/poky/meta/recipes-devtools/nasm/nasm/CVE-2018-19755.patch
@@ -0,0 +1,116 @@
+From 3079f7966dbed4497e36d5067cbfd896a90358cb Mon Sep 17 00:00:00 2001
+From: Cyrill Gorcunov <gorcunov@gmail.com>
+Date: Wed, 14 Nov 2018 10:03:42 +0300
+Subject: [PATCH] preproc: Fix malformed parameter count
+
+readnum returns 64bit number which may become
+a negative integer upon conversion which in
+turn lead to out of bound array access.
+
+Fix it by explicit conversion with bounds check
+
+ | POC6:2: error: parameter count `2222222222' is out of bounds [0; 2147483647]
+
+https://bugzilla.nasm.us/show_bug.cgi?id=3392528
+
+Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
+
+Upstream-Status: Backport
+CVE: CVE-2018-19755
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ asm/preproc.c | 43 +++++++++++++++++++++----------------------
+ 1 file changed, 21 insertions(+), 22 deletions(-)
+
+diff --git a/asm/preproc.c b/asm/preproc.c
+index b6afee3..e5ad05a 100644
+--- a/asm/preproc.c
++++ b/asm/preproc.c
+@@ -1650,6 +1650,23 @@ smacro_defined(Context * ctx, const char *name, int nparam, SMacro ** defn,
+ return false;
+ }
+
++/* param should be a natural number [0; INT_MAX] */
++static int read_param_count(const char *str)
++{
++ int result;
++ bool err;
++
++ result = readnum(str, &err);
++ if (result < 0 || result > INT_MAX) {
++ result = 0;
++ nasm_error(ERR_NONFATAL, "parameter count `%s' is out of bounds [%d; %d]",
++ str, 0, INT_MAX);
++ } else if (err) {
++ nasm_error(ERR_NONFATAL, "unable to parse parameter count `%s'", str);
++ }
++ return result;
++}
++
+ /*
+ * Count and mark off the parameters in a multi-line macro call.
+ * This is called both from within the multi-line macro expansion
+@@ -1871,11 +1888,7 @@ static bool if_condition(Token * tline, enum preproc_token ct)
+ pp_directives[ct]);
+ } else {
+ searching.nparam_min = searching.nparam_max =
+- readnum(tline->text, &j);
+- if (j)
+- nasm_error(ERR_NONFATAL,
+- "unable to parse parameter count `%s'",
+- tline->text);
++ read_param_count(tline->text);
+ }
+ if (tline && tok_is_(tline->next, "-")) {
+ tline = tline->next->next;
+@@ -1886,11 +1899,7 @@ static bool if_condition(Token * tline, enum preproc_token ct)
+ "`%s' expects a parameter count after `-'",
+ pp_directives[ct]);
+ else {
+- searching.nparam_max = readnum(tline->text, &j);
+- if (j)
+- nasm_error(ERR_NONFATAL,
+- "unable to parse parameter count `%s'",
+- tline->text);
++ searching.nparam_max = read_param_count(tline->text);
+ if (searching.nparam_min > searching.nparam_max) {
+ nasm_error(ERR_NONFATAL,
+ "minimum parameter count exceeds maximum");
+@@ -2079,8 +2088,6 @@ static void undef_smacro(Context *ctx, const char *mname)
+ */
+ static bool parse_mmacro_spec(Token *tline, MMacro *def, const char *directive)
+ {
+- bool err;
+-
+ tline = tline->next;
+ skip_white_(tline);
+ tline = expand_id(tline);
+@@ -2103,11 +2110,7 @@ static bool parse_mmacro_spec(Token *tline, MMacro *def, const char *directive)
+ if (!tok_type_(tline, TOK_NUMBER)) {
+ nasm_error(ERR_NONFATAL, "`%s' expects a parameter count", directive);
+ } else {
+- def->nparam_min = def->nparam_max =
+- readnum(tline->text, &err);
+- if (err)
+- nasm_error(ERR_NONFATAL,
+- "unable to parse parameter count `%s'", tline->text);
++ def->nparam_min = def->nparam_max = read_param_count(tline->text);
+ }
+ if (tline && tok_is_(tline->next, "-")) {
+ tline = tline->next->next;
+@@ -2117,11 +2120,7 @@ static bool parse_mmacro_spec(Token *tline, MMacro *def, const char *directive)
+ nasm_error(ERR_NONFATAL,
+ "`%s' expects a parameter count after `-'", directive);
+ } else {
+- def->nparam_max = readnum(tline->text, &err);
+- if (err) {
+- nasm_error(ERR_NONFATAL, "unable to parse parameter count `%s'",
+- tline->text);
+- }
++ def->nparam_max = read_param_count(tline->text);
+ if (def->nparam_min > def->nparam_max) {
+ nasm_error(ERR_NONFATAL, "minimum parameter count exceeds maximum");
+ def->nparam_max = def->nparam_min;
+--
+2.10.5.GIT
+
diff --git a/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb b/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb
index ecec78d8e..e4f964ce9 100644
--- a/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb
+++ b/poky/meta/recipes-devtools/nasm/nasm_2.14.02.bb
@@ -3,7 +3,9 @@ SECTION = "devel"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=90904486f8fbf1861cf42752e1a39efe"
-SRC_URI = "http://www.nasm.us/pub/nasm/releasebuilds/${PV}/nasm-${PV}.tar.bz2"
+SRC_URI = "http://www.nasm.us/pub/nasm/releasebuilds/${PV}/nasm-${PV}.tar.bz2 \
+ file://CVE-2018-19755.patch \
+ "
SRC_URI[md5sum] = "3f489aa48ad2aa1f967dc5e293bbd06f"
SRC_URI[sha256sum] = "34fd26c70a277a9fdd54cb5ecf389badedaf48047b269d1008fbc819b24e80bc"
diff --git a/poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb b/poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb
index 1b0632896..f1236e8ac 100644
--- a/poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb
+++ b/poky/meta/recipes-devtools/ninja/ninja_1.9.0.bb
@@ -17,11 +17,11 @@ S = "${WORKDIR}/git"
do_configure[noexec] = "1"
do_compile_class-native() {
- ./configure.py --bootstrap
+ python3 ./configure.py --bootstrap
}
do_compile() {
- ./configure.py
+ python3 ./configure.py
ninja
}
diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch
new file mode 100644
index 000000000..a181169d4
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch
@@ -0,0 +1,44 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 59da5577bf8df441c6ca958e50fcb83228702764 Mon Sep 17 00:00:00 2001
+From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+Date: Thu, 12 Sep 2019 10:24:58 -0500
+Subject: [PATCH] opkg-build: clamp mtimes to SOURCE_DATE_EPOCH
+
+For reproducible builds, clamp mtimes bigger than SOURCE_DATE_EPOCH to
+SOURCE_DATE_EPOCH (build generated files, usually).
+
+Fixes bugzilla 13450
+
+Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ opkg-build | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/opkg-build b/opkg-build
+index dcd2d68..2517a2b 100755
+--- a/opkg-build
++++ b/opkg-build
+@@ -297,9 +297,16 @@ mkdir $tmp_dir
+
+ build_date="${SOURCE_DATE_EPOCH:-$(date +%s)}"
+
++mtime_args=""
++# --clamp-mtime requires tar > 1.28. Only use it if SOURCE_DATE_EPOCH is set, to avoid having a generic case dependency on tar > 1.28.
++# this setting will make sure files generated at build time have consistent mtimes, for reproducible builds.
++if [ ! -z "$SOURCE_DATE_EPOCH" ]; then
++ mtime_args="--mtime=@$build_date --clamp-mtime"
++fi
++
+ ( 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 -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
++( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion $mtime_args -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.1.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb
index 4be7b16d8..cf1e4670c 100644
--- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb
+++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb
@@ -9,6 +9,7 @@ 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-clamp-mtimes-to-SOURCE_DATE_EPOCH.patch \
"
UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"
diff --git a/poky/meta/recipes-devtools/opkg/opkg/0001-libopkg-add-add-ignore-recommends-option.patch b/poky/meta/recipes-devtools/opkg/opkg/0001-libopkg-add-add-ignore-recommends-option.patch
deleted file mode 100644
index 47d1b3c37..000000000
--- a/poky/meta/recipes-devtools/opkg/opkg/0001-libopkg-add-add-ignore-recommends-option.patch
+++ /dev/null
@@ -1,259 +0,0 @@
-From 64aa98646a17c299bf37af2975b98daf5d7d30b4 Mon Sep 17 00:00:00 2001
-From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Date: Thu, 31 Jan 2019 18:16:08 -0600
-Subject: [PATCH] libopkg: add --add-ignore-recommends option
-
-Add option to ignore specific recommended packages. On the libsolv
-backed, this feature will only work on libsolv version > 0.7.2 [1].
-
-[1] https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openSUSE_libsolv_issues_254&d=DwIBaQ&c=I_0YwoKy7z5LMTVdyO6YCiE2uzI1jjZZuIPelcSjixA&r=wNcrL2akRn6jfxhHaKavUrJB_C9JAMXtynjLd8ZzgXQ&m=GObNHzFJpWpf_PripIrf-K2RhsktYdAUEieAJexXOKw&s=3G-meChUqClFggFPqsrAxIZBfLnRKIHm62Uuy1X6nQQ&e=
-
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-
-Upstream-Status: Accepted
----
- libopkg/opkg_conf.c | 2 +
- libopkg/opkg_conf.h | 1 +
- .../solvers/internal/pkg_depends_internal.c | 3 +-
- libopkg/solvers/libsolv/opkg_solver_libsolv.c | 21 ++++++-
- man/opkg.1.in | 3 +
- src/opkg.c | 6 ++
- tests/Makefile | 1 +
- tests/core/43_add_ignore_recommends.py | 62 +++++++++++++++++++
- 8 files changed, 97 insertions(+), 2 deletions(-)
- create mode 100755 tests/core/43_add_ignore_recommends.py
-
-diff --git a/libopkg/opkg_conf.c b/libopkg/opkg_conf.c
-index 06880a1..f2330cd 100644
---- a/libopkg/opkg_conf.c
-+++ b/libopkg/opkg_conf.c
-@@ -597,6 +597,7 @@ int opkg_conf_init(void)
- pkg_dest_list_init(&opkg_config->tmp_dest_list);
- nv_pair_list_init(&opkg_config->arch_list);
- str_list_init(&opkg_config->exclude_list);
-+ str_list_init(&opkg_config->ignore_recommends_list);
-
- return 0;
- }
-@@ -938,6 +939,7 @@ void opkg_conf_deinit(void)
- pkg_dest_list_deinit(&opkg_config->pkg_dest_list);
- nv_pair_list_deinit(&opkg_config->arch_list);
- str_list_deinit(&opkg_config->exclude_list);
-+ str_list_deinit(&opkg_config->ignore_recommends_list);
-
- if (opkg_config->verbosity >= DEBUG) {
- hash_print_stats(&opkg_config->pkg_hash);
-diff --git a/libopkg/opkg_conf.h b/libopkg/opkg_conf.h
-index eb56a29..316c500 100644
---- a/libopkg/opkg_conf.h
-+++ b/libopkg/opkg_conf.h
-@@ -61,6 +61,7 @@ typedef struct opkg_conf {
- pkg_dest_list_t tmp_dest_list;
- nv_pair_list_t arch_list;
- str_list_t exclude_list;
-+ str_list_t ignore_recommends_list;
-
- int restrict_to_default_dest;
- pkg_dest_t *default_dest;
-diff --git a/libopkg/solvers/internal/pkg_depends_internal.c b/libopkg/solvers/internal/pkg_depends_internal.c
-index cd56d84..5deee70 100644
---- a/libopkg/solvers/internal/pkg_depends_internal.c
-+++ b/libopkg/solvers/internal/pkg_depends_internal.c
-@@ -228,7 +228,8 @@ int pkg_hash_fetch_unsatisfied_dependencies(pkg_t *pkg,
- || compound_depend->type == SUGGEST)
- && (satisfying_pkg->state_want == SW_DEINSTALL
- || satisfying_pkg->state_want == SW_PURGE
-- || opkg_config->no_install_recommends);
-+ || opkg_config->no_install_recommends
-+ || str_list_contains(&opkg_config->ignore_recommends_list, satisfying_pkg->name));
- if (ignore) {
- opkg_msg(NOTICE,
- "%s: ignoring recommendation for "
-diff --git a/libopkg/solvers/libsolv/opkg_solver_libsolv.c b/libopkg/solvers/libsolv/opkg_solver_libsolv.c
-index 2b27e3a..403e07b 100644
---- a/libopkg/solvers/libsolv/opkg_solver_libsolv.c
-+++ b/libopkg/solvers/libsolv/opkg_solver_libsolv.c
-@@ -484,6 +484,7 @@ static void pkg2solvable(pkg_t *pkg, Solvable *solvable_out)
- static void populate_installed_repo(libsolv_solver_t *libsolv_solver)
- {
- int i;
-+ Id what;
-
- pkg_vec_t *installed_pkgs = pkg_vec_alloc();
-
-@@ -507,6 +508,15 @@ static void populate_installed_repo(libsolv_solver_t *libsolv_solver)
- /* set solvable attributes */
- pkg2solvable(pkg, solvable);
-
-+ /* if the package is in ignore-recommends-list, disfavor installation */
-+ if (str_list_contains(&opkg_config->ignore_recommends_list, pkg->name)) {
-+ opkg_message(NOTICE, "Disfavor package: %s\n",
-+ pkg->name);
-+ what = pool_str2id(libsolv_solver->pool, pkg->name, 1);
-+ queue_push2(&libsolv_solver->solver_jobs, SOLVER_SOLVABLE_NAME
-+ | SOLVER_DISFAVOR, what);
-+ }
-+
- /* if the package is not autoinstalled, mark it as user installed */
- if (!pkg->auto_installed)
- queue_push2(&libsolv_solver->solver_jobs, SOLVER_SOLVABLE
-@@ -539,7 +549,7 @@ static void populate_available_repos(libsolv_solver_t *libsolv_solver)
- {
- int i;
- Solvable *solvable;
-- Id solvable_id;
-+ Id solvable_id, what;
-
- pkg_vec_t *available_pkgs = pkg_vec_alloc();
-
-@@ -608,6 +618,15 @@ static void populate_available_repos(libsolv_solver_t *libsolv_solver)
- solvable = pool_id2solvable(libsolv_solver->pool, solvable_id);
- pkg2solvable(pkg, solvable);
-
-+ /* if the package is in ignore-recommends-list, disfavor installation */
-+ if (str_list_contains(&opkg_config->ignore_recommends_list, pkg->name)) {
-+ opkg_message(NOTICE, "Disfavor package: %s\n",
-+ pkg->name);
-+ what = pool_str2id(libsolv_solver->pool, pkg->name, 1);
-+ queue_push2(&libsolv_solver->solver_jobs, SOLVER_SOLVABLE_NAME
-+ | SOLVER_DISFAVOR, what);
-+ }
-+
- /* if the --force-depends option is specified make dependencies weak */
- if (opkg_config->force_depends)
- queue_push2(&libsolv_solver->solver_jobs, SOLVER_SOLVABLE
-diff --git a/man/opkg.1.in b/man/opkg.1.in
-index 27fa9c1..f192c3b 100644
---- a/man/opkg.1.in
-+++ b/man/opkg.1.in
-@@ -162,6 +162,9 @@ priority \fIprio\fP. Lower priorities take precedence.
- \fB\--add-exclude <\fIname\fP>\fR
- Register package to be excluded from install
- .TP
-+\fB\--add-ignore-recommends <\fIname\fP>\fR
-+Register package to be ignored as a recomendee
-+.TP
- \fB\--prefer-arch-to-version\fR
- Use the architecture priority package rather than the higher version
- one if more than one candidate is found.
-diff --git a/src/opkg.c b/src/opkg.c
-index 650e278..3c93a3b 100644
---- a/src/opkg.c
-+++ b/src/opkg.c
-@@ -51,6 +51,7 @@ enum {
- ARGS_OPT_ADD_DEST,
- ARGS_OPT_SIZE,
- ARGS_OPT_ADD_EXCLUDE,
-+ ARGS_OPT_ADD_IGNORE_RECOMMENDS,
- ARGS_OPT_NOACTION,
- ARGS_OPT_DOWNLOAD_ONLY,
- ARGS_OPT_NODEPS,
-@@ -112,6 +113,7 @@ static struct option long_options[] = {
- {"add-dest", 1, 0, ARGS_OPT_ADD_DEST},
- {"size", 0, 0, ARGS_OPT_SIZE},
- {"add-exclude", 1, 0, ARGS_OPT_ADD_EXCLUDE},
-+ {"add-ignore-recommends", 1, 0, ARGS_OPT_ADD_IGNORE_RECOMMENDS},
- {"test", 0, 0, ARGS_OPT_NOACTION},
- {"tmp-dir", 1, 0, 't'},
- {"tmp_dir", 1, 0, 't'},
-@@ -234,6 +236,9 @@ static int args_parse(int argc, char *argv[])
- case ARGS_OPT_ADD_EXCLUDE:
- str_list_append(&opkg_config->exclude_list, optarg);
- break;
-+ case ARGS_OPT_ADD_IGNORE_RECOMMENDS:
-+ str_list_append(&opkg_config->ignore_recommends_list, optarg);
-+ break;
- case ARGS_OPT_SIZE:
- opkg_config->size = 1;
- break;
-@@ -343,6 +348,7 @@ static void usage()
- printf("\t--add-dest <name>:<path> Register destination with given path\n");
- printf("\t--add-arch <arch>:<prio> Register architecture with given priority\n");
- printf("\t--add-exclude <name> Register package to be excluded from install\n");
-+ printf("\t--add-ignore-recommends <name> Register package to be ignored as a recomendee\n");
- printf("\t--prefer-arch-to-version Use the architecture priority package rather\n");
- printf("\t than the higher version one if more\n");
- printf("\t than one candidate is found.\n");
-diff --git a/tests/Makefile b/tests/Makefile
-index 8e5be08..799816d 100644
---- a/tests/Makefile
-+++ b/tests/Makefile
-@@ -42,6 +42,7 @@ REGRESSION_TESTS := core/01_install.py \
- core/40_arch.py \
- core/41_info_fields.py \
- core/42_info_description.py \
-+ core/43_add_ignore_recommends.py \
- regress/issue26.py \
- regress/issue31.py \
- regress/issue32.py \
-diff --git a/tests/core/43_add_ignore_recommends.py b/tests/core/43_add_ignore_recommends.py
-new file mode 100755
-index 0000000..7da0096
---- /dev/null
-+++ b/tests/core/43_add_ignore_recommends.py
-@@ -0,0 +1,62 @@
-+#! /usr/bin/env python3
-+#
-+# Create package 'a' (1.0) which Recommends 'c'.
-+# Install 'a' with --add-ignore-recommends 'c'.
-+# Check that only 'a' (1.0) is installed.
-+# Create package 'b' which Depends on 'c'.
-+# Install 'a' & 'b', with --add-ignore-recommends 'c'.
-+# Verify that 'a','b' & 'c' are installed.
-+# Uninstall 'b' & 'c'.
-+# Create package 'a' (2.0), which Recommends 'c'.
-+# Upgrade 'a' with --add-ignore-recommends 'c'
-+# Verify that only 'a' (2.0) is installed
-+#
-+
-+import os
-+import opk, cfg, opkgcl
-+
-+opk.regress_init()
-+o = opk.OpkGroup()
-+
-+o.add(Package='a', Recommends='c', Version='1.0')
-+o.add(Package='b', Depends='c')
-+o.add(Package='c')
-+o.write_opk()
-+o.write_list()
-+
-+opkgcl.update()
-+
-+opkgcl.install('a', '--add-ignore-recommends c')
-+
-+if not opkgcl.is_installed('a'):
-+ opk.fail("Package 'a' installed but reports as not installed.")
-+
-+if opkgcl.is_installed('c'):
-+ opk.xfail("[libsolv<0.7.3] Package 'c' should not have been installed since it was in --add-ignore-recommends.")
-+
-+opkgcl.remove('a')
-+opkgcl.install('a b', '--add-ignore-recommends c')
-+
-+if not opkgcl.is_installed('a'):
-+ opk.fail("Package 'a' installed but reports as not installed.")
-+
-+if not opkgcl.is_installed('b'):
-+ opk.fail("Package 'b' installed but reports as not installed.")
-+
-+if not opkgcl.is_installed('c'):
-+ opk.fail("Package 'c' should have been installed since 'b' depends on it.")
-+
-+opkgcl.remove('b c', '--force-depends')
-+o.add(Package='a', Recommends='c', Version='2.0')
-+o.write_opk()
-+o.write_list()
-+
-+opkgcl.update()
-+
-+opkgcl.upgrade('a', '--add-ignore-recommends c')
-+
-+if not opkgcl.is_installed('a', '2.0'):
-+ opk.fail("Package 'a (2.0)' installed but reports as not installed.")
-+
-+if opkgcl.is_installed('c'):
-+ opk.fail("Package 'c' should not have been installed since it was in --add-ignore-recommends.")
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch b/poky/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
deleted file mode 100644
index 951c18676..000000000
--- a/poky/meta/recipes-devtools/opkg/opkg/0001-opkg-add-target-for-testsuite-installation.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 8fb0364bd0e19f35c20616dd1ab10aa00e08fa8f Mon Sep 17 00:00:00 2001
-From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Date: Wed, 10 Apr 2019 14:49:43 -0500
-Subject: [PATCH] opkg: add target for testsuite installation
-
-- Add target to install testsuite
-- Add override of opkg binary used during test via OPKG_PATH environment
-variable.
-
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
----
-Upstream-Status: Submitted
-
- Makefile.am | 5 +++++
- tests/cfg.py | 2 +-
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 90cfcae..1f6a784 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -18,3 +18,8 @@ run-tests:
- $(MAKE) -C tests DATADIR=@datadir@ SYSCONFDIR=@sysconfdir@ VARDIR=@localstatedir@
-
- check: run-tests
-+
-+install-ptest:
-+ cp -r $(srcdir)/tests $(DESTDIR)
-+ cp Makefile $(DESTDIR)
-+ sed -e 's/^Makefile/_Makefile/' < Makefile > $(DESTDIR)/Makefile
-diff --git a/tests/cfg.py b/tests/cfg.py
-index 4efaff6..ca59d03 100644
---- a/tests/cfg.py
-+++ b/tests/cfg.py
-@@ -2,4 +2,4 @@ import os
-
- opkdir = "/tmp/opk"
- offline_root = "/tmp/opkg"
--opkgcl = os.path.realpath("../src/opkg")
-+opkgcl = os.getenv('OPKG_PATH', os.path.realpath("../src/opkg"))
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch b/poky/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
deleted file mode 100644
index 75ecb5fb4..000000000
--- a/poky/meta/recipes-devtools/opkg/opkg/0001-regress-issue72.py-resolve-paths-before-comparision.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5f005830eea7d03c02107a3a3fc58907b0a037bf Mon Sep 17 00:00:00 2001
-From: Alejandro del Castillo <alejandro.delcastillo@ni.com>
-Date: Mon, 8 Apr 2019 11:14:56 -0500
-Subject: [PATCH] regress/issue72.py: resolve paths before comparision
-
-In systems that have a volatile /tmp, the test incorrectly fails since
-it doesn't resolve the real path in all cases.
-
-Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
----
-Upstream-Status: Submitted
-
- tests/regress/issue72.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/regress/issue72.py b/tests/regress/issue72.py
-index 1626877..2f24dec 100755
---- a/tests/regress/issue72.py
-+++ b/tests/regress/issue72.py
-@@ -56,7 +56,7 @@ if not os.path.lexists("{}/{}".format(cfg.offline_root, long_filename2)):
- "not created.")
-
- linky = os.path.realpath("{}/{}".format(cfg.offline_root, long_filename2))
--linky_dst = "{}/{}".format(cfg.offline_root, long_filename)
-+linky_dst = os.path.realpath("{}/{}".format(cfg.offline_root, long_filename))
- if linky != linky_dst:
- opk.fail("symlink path truncated.")
-
---
-2.20.1
-
diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb b/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb
deleted file mode 100644
index e2305d096..000000000
--- a/poky/meta/recipes-devtools/opkg/opkg_0.4.0.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "Open Package Manager"
-SUMMARY_libopkg = "Open Package Manager library"
-SECTION = "base"
-HOMEPAGE = "http://code.google.com/p/opkg/"
-BUGTRACKER = "http://code.google.com/p/opkg/issues/list"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://src/opkg.c;beginline=2;endline=21;md5=90435a519c6ea69ef22e4a88bcc52fa0"
-
-DEPENDS = "libarchive"
-
-PE = "1"
-
-SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
- file://opkg.conf \
- file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
- file://0001-libopkg-add-add-ignore-recommends-option.patch \
- file://0001-regress-issue72.py-resolve-paths-before-comparision.patch \
- file://0001-opkg-add-target-for-testsuite-installation.patch \
- file://run-ptest \
-"
-
-SRC_URI[md5sum] = "ae51d95fee599bb4dce08453529158f5"
-SRC_URI[sha256sum] = "f6c00515d8a2ad8f6742a8e73830315d1983ed0459cba77c4d656cfc9e7fe6fe"
-
-# This needs to be before ptest inherit, otherwise all ptest files end packaged
-# in libopkg package if OPKGLIBDIR == libdir, because default
-# PTEST_PATH ?= "${libdir}/${BPN}/ptest"
-PACKAGES =+ "libopkg"
-
-inherit autotools pkgconfig systemd ptest
-
-target_localstatedir := "${localstatedir}"
-OPKGLIBDIR = "${target_localstatedir}/lib"
-
-PACKAGECONFIG ??= "libsolv"
-
-PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,gpgme libgpg-error,gnupg"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
-PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
-PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256"
-PACKAGECONFIG[pathfinder] = "--enable-pathfinder,--disable-pathfinder,pathfinder"
-PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv"
-
-EXTRA_OECONF_class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}"
-
-do_install_append () {
- install -d ${D}${sysconfdir}/opkg
- install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
- echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf
-
- # We need to create the lock directory
- install -d ${D}${OPKGLIBDIR}/opkg
-}
-
-RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-nativesdk = ""
-RDEPENDS_${PN}-ptest += "make binutils python3-core python3-compression"
-RREPLACES_${PN} = "opkg-nogpg opkg-collateral"
-RCONFLICTS_${PN} = "opkg-collateral"
-RPROVIDES_${PN} = "opkg-collateral"
-
-FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
-
-BBCLASSEXTEND = "native nativesdk"
-
-CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf"
diff --git a/poky/meta/recipes-devtools/opkg/opkg_0.4.1.bb b/poky/meta/recipes-devtools/opkg/opkg_0.4.1.bb
new file mode 100644
index 000000000..104f07fda
--- /dev/null
+++ b/poky/meta/recipes-devtools/opkg/opkg_0.4.1.bb
@@ -0,0 +1,81 @@
+SUMMARY = "Open Package Manager"
+SUMMARY_libopkg = "Open Package Manager library"
+SECTION = "base"
+HOMEPAGE = "http://code.google.com/p/opkg/"
+BUGTRACKER = "http://code.google.com/p/opkg/issues/list"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://src/opkg.c;beginline=2;endline=21;md5=90435a519c6ea69ef22e4a88bcc52fa0"
+
+DEPENDS = "libarchive"
+
+PE = "1"
+
+SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
+ file://opkg.conf \
+ file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \
+ file://run-ptest \
+"
+
+SRC_URI[md5sum] = "ba0c21305fc93b26e844981ef100dc85"
+SRC_URI[sha256sum] = "45ac1e037d3877f635d883f8a555e172883a25d3eeb7986c75890fdd31250a43"
+
+# This needs to be before ptest inherit, otherwise all ptest files end packaged
+# in libopkg package if OPKGLIBDIR == libdir, because default
+# PTEST_PATH ?= "${libdir}/${BPN}/ptest"
+PACKAGES =+ "libopkg"
+
+inherit autotools pkgconfig ptest
+
+target_localstatedir := "${localstatedir}"
+OPKGLIBDIR ??= "${target_localstatedir}/lib"
+
+PACKAGECONFIG ??= "libsolv"
+
+PACKAGECONFIG[gpg] = "--enable-gpg,--disable-gpg,gpgme libgpg-error,gnupg"
+PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
+PACKAGECONFIG[ssl-curl] = "--enable-ssl-curl,--disable-ssl-curl,curl openssl"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+PACKAGECONFIG[sha256] = "--enable-sha256,--disable-sha256"
+PACKAGECONFIG[libsolv] = "--with-libsolv,--without-libsolv,libsolv"
+
+EXTRA_OECONF += " --disable-pathfinder"
+EXTRA_OECONF_class-native = "--localstatedir=/${@os.path.relpath('${localstatedir}', '${STAGING_DIR_NATIVE}')} --sysconfdir=/${@os.path.relpath('${sysconfdir}', '${STAGING_DIR_NATIVE}')}"
+
+# Release tarball has unused binaries on the tests folder, automatically created by automake.
+# For now, delete them to avoid packaging errors (wrong architecture)
+do_unpack_append () {
+ bb.build.exec_func('remove_test_binaries', d)
+}
+
+remove_test_binaries () {
+ rm ${WORKDIR}/opkg-${PV}/tests/libopkg_test*
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/opkg
+ install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf
+ echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf
+
+ # We need to create the lock directory
+ install -d ${D}${OPKGLIBDIR}/opkg
+}
+
+do_install_ptest () {
+ sed -i -e '/@echo $^/d' ${D}${PTEST_PATH}/tests/Makefile
+ sed -i -e '/@PYTHONPATH=. $(PYTHON) $^/a\\t@if [ "$$?" != "0" ];then echo "FAIL:"$^;else echo "PASS:"$^;fi' ${D}${PTEST_PATH}/tests/Makefile
+}
+
+RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives} opkg-arch-config libarchive"
+RDEPENDS_${PN}_class-native = ""
+RDEPENDS_${PN}_class-nativesdk = ""
+RDEPENDS_${PN}-ptest += "make binutils python3-core python3-compression"
+RREPLACES_${PN} = "opkg-nogpg opkg-collateral"
+RCONFLICTS_${PN} = "opkg-collateral"
+RPROVIDES_${PN} = "opkg-collateral"
+
+FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
+
+BBCLASSEXTEND = "native nativesdk"
+
+CONFFILES_${PN} = "${sysconfdir}/opkg/opkg.conf"
diff --git a/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-ed-style-patch.patch b/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-ed-style-patch.patch
new file mode 100644
index 000000000..78345e925
--- /dev/null
+++ b/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-ed-style-patch.patch
@@ -0,0 +1,94 @@
+From 7f770b9c20da1a192dad8cb572a6391f2773285a Mon Sep 17 00:00:00 2001
+From: Jean Delvare <jdelvare@suse.de>
+Date: Thu, 3 May 2018 14:31:55 +0200
+Subject: [PATCH 1/2] Don't leak temporary file on failed ed-style patch
+
+Now that we write ed-style patches to a temporary file before we
+apply them, we need to ensure that the temporary file is removed
+before we leave, even on fatal error.
+
+* src/pch.c (do_ed_script): Use global TMPEDNAME instead of local
+ tmpname. Don't unlink the file directly, instead tag it for removal
+ at exit time.
+* src/patch.c (cleanup): Unlink TMPEDNAME at exit.
+
+This closes bug #53820:
+https://savannah.gnu.org/bugs/index.php?53820
+
+Fixes: 123eaff0d5d1 ("Fix arbitrary command execution in ed-style patches (CVE-2018-1000156)")
+
+CVE: CVE-2018-1000156
+Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/patch.git/commit/?id=19599883ffb6a450d2884f081f8ecf68edbed7ee]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ src/common.h | 2 ++
+ src/pch.c | 12 +++++-------
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/common.h b/src/common.h
+index ec50b40..22238b5 100644
+--- a/src/common.h
++++ b/src/common.h
+@@ -94,10 +94,12 @@ XTERN char const *origsuff;
+ XTERN char const * TMPINNAME;
+ XTERN char const * TMPOUTNAME;
+ XTERN char const * TMPPATNAME;
++XTERN char const * TMPEDNAME;
+
+ XTERN bool TMPINNAME_needs_removal;
+ XTERN bool TMPOUTNAME_needs_removal;
+ XTERN bool TMPPATNAME_needs_removal;
++XTERN bool TMPEDNAME_needs_removal;
+
+ #ifdef DEBUGGING
+ XTERN int debug;
+diff --git a/src/pch.c b/src/pch.c
+index 16e001a..c1a62cf 100644
+--- a/src/pch.c
++++ b/src/pch.c
+@@ -2392,7 +2392,6 @@ do_ed_script (char const *inname, char const *outname,
+ file_offset beginning_of_this_line;
+ size_t chars_read;
+ FILE *tmpfp = 0;
+- char const *tmpname;
+ int tmpfd;
+ pid_t pid;
+
+@@ -2404,12 +2403,13 @@ do_ed_script (char const *inname, char const *outname,
+ invalid commands and treats the next line as a new command, which
+ can lead to arbitrary command execution. */
+
+- tmpfd = make_tempfile (&tmpname, 'e', NULL, O_RDWR | O_BINARY, 0);
++ tmpfd = make_tempfile (&TMPEDNAME, 'e', NULL, O_RDWR | O_BINARY, 0);
+ if (tmpfd == -1)
+- pfatal ("Can't create temporary file %s", quotearg (tmpname));
++ pfatal ("Can't create temporary file %s", quotearg (TMPEDNAME));
++ TMPEDNAME_needs_removal = true;
+ tmpfp = fdopen (tmpfd, "w+b");
+ if (! tmpfp)
+- pfatal ("Can't open stream for file %s", quotearg (tmpname));
++ pfatal ("Can't open stream for file %s", quotearg (TMPEDNAME));
+ }
+
+ for (;;) {
+@@ -2449,8 +2449,7 @@ do_ed_script (char const *inname, char const *outname,
+ write_fatal ();
+
+ if (lseek (tmpfd, 0, SEEK_SET) == -1)
+- pfatal ("Can't rewind to the beginning of file %s", quotearg (tmpname));
+-
++ pfatal ("Can't rewind to the beginning of file %s", quotearg (TMPEDNAME));
+ if (! dry_run && ! skip_rest_of_patch) {
+ int exclusive = *outname_needs_removal ? 0 : O_EXCL;
+ *outname_needs_removal = true;
+@@ -2482,7 +2481,6 @@ do_ed_script (char const *inname, char const *outname,
+ }
+
+ fclose (tmpfp);
+- safe_unlink (tmpname);
+
+ if (ofp)
+ {
+--
+2.17.0
+
diff --git a/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch b/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch
new file mode 100644
index 000000000..8ffffef47
--- /dev/null
+++ b/poky/meta/recipes-devtools/patch/patch/0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch
@@ -0,0 +1,81 @@
+From 369dcccdfa6336e5a873d6d63705cfbe04c55727 Mon Sep 17 00:00:00 2001
+From: Jean Delvare <jdelvare@suse.de>
+Date: Mon, 7 May 2018 15:14:45 +0200
+Subject: Don't leak temporary file on failed multi-file ed-style patch
+
+The previous fix worked fine with single-file ed-style patches, but
+would still leak temporary files in the case of multi-file ed-style
+patch. Fix that case as well, and extend the test case to check for
+it.
+
+* src/patch.c (main): Unlink TMPEDNAME if needed before moving to
+ the next file in a patch.
+
+This closes bug #53820:
+https://savannah.gnu.org/bugs/index.php?53820
+
+Fixes: 123eaff0d5d1 ("Fix arbitrary command execution in ed-style patches (CVE-2018-1000156)")
+Fixes: 19599883ffb6 ("Don't leak temporary file on failed ed-style patch")
+
+CVE: CVE-2018-1000156
+Upstream-Status: Backport [http://git.savannah.gnu.org/cgit/patch.git/commit/?id=369dcccdfa6336e5a873d6d63705cfbe04c55727]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ src/patch.c | 1 +
+ tests/ed-style | 31 +++++++++++++++++++++++++++++++
+ 2 files changed, 32 insertions(+)
+
+diff --git a/src/patch.c b/src/patch.c
+index 9146597..81c7a02 100644
+--- a/src/patch.c
++++ b/src/patch.c
+@@ -236,6 +236,7 @@ main (int argc, char **argv)
+ }
+ remove_if_needed (TMPOUTNAME, &TMPOUTNAME_needs_removal);
+ }
++ remove_if_needed (TMPEDNAME, &TMPEDNAME_needs_removal);
+
+ if (! skip_rest_of_patch && ! file_type)
+ {
+diff --git a/tests/ed-style b/tests/ed-style
+index 6b6ef9d..504e6e5 100644
+--- a/tests/ed-style
++++ b/tests/ed-style
+@@ -38,3 +38,34 @@ EOF
+ check 'cat foo' <<EOF
+ foo
+ EOF
++
++# Test the case where one ed-style patch modifies several files
++
++cat > ed3.diff <<EOF
++--- foo
+++++ foo
++1c
++bar
++.
++--- baz
+++++ baz
++0a
++baz
++.
++EOF
++
++# Apparently we can't create a file with such a patch, while it works fine
++# when the file name is provided on the command line
++cat > baz <<EOF
++EOF
++
++check 'patch -e -i ed3.diff' <<EOF
++EOF
++
++check 'cat foo' <<EOF
++bar
++EOF
++
++check 'cat baz' <<EOF
++baz
++EOF
+--
+cgit v1.0-41-gc330
+
diff --git a/poky/meta/recipes-devtools/patch/patch/0001-Invoke-ed-directly-instead-of-using-the-shell.patch b/poky/meta/recipes-devtools/patch/patch/0001-Invoke-ed-directly-instead-of-using-the-shell.patch
new file mode 100644
index 000000000..f60dfe879
--- /dev/null
+++ b/poky/meta/recipes-devtools/patch/patch/0001-Invoke-ed-directly-instead-of-using-the-shell.patch
@@ -0,0 +1,44 @@
+From 3fcd042d26d70856e826a42b5f93dc4854d80bf0 Mon Sep 17 00:00:00 2001
+From: Andreas Gruenbacher <agruen@gnu.org>
+Date: Fri, 6 Apr 2018 19:36:15 +0200
+Subject: [PATCH] Invoke ed directly instead of using the shell
+
+* src/pch.c (do_ed_script): Invoke ed directly instead of using a shell
+command to avoid quoting vulnerabilities.
+
+CVE: CVE-2019-13638
+Upstream-Status: Backport[https://git.savannah.gnu.org/cgit/patch.git/patch/?id=3fcd042d26d70856e826a42b5f93dc4854d80bf0]
+Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
+
+---
+ src/pch.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+
+diff --git a/src/pch.c b/src/pch.c
+index 4fd5a05..16e001a 100644
+--- a/src/pch.c
++++ b/src/pch.c
+@@ -2459,9 +2459,6 @@ do_ed_script (char const *inname, char const *outname,
+ *outname_needs_removal = true;
+ copy_file (inname, outname, 0, exclusive, instat.st_mode, true);
+ }
+- sprintf (buf, "%s %s%s", editor_program,
+- verbosity == VERBOSE ? "" : "- ",
+- outname);
+ fflush (stdout);
+
+ pid = fork();
+@@ -2470,7 +2467,8 @@ do_ed_script (char const *inname, char const *outname,
+ else if (pid == 0)
+ {
+ dup2 (tmpfd, 0);
+- execl ("/bin/sh", "sh", "-c", buf, (char *) 0);
++ assert (outname[0] != '!' && outname[0] != '-');
++ execlp (editor_program, editor_program, "-", outname, (char *) NULL);
+ _exit (2);
+ }
+ else
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/patch/patch/CVE-2019-13636.patch b/poky/meta/recipes-devtools/patch/patch/CVE-2019-13636.patch
new file mode 100644
index 000000000..9f8b6db0b
--- /dev/null
+++ b/poky/meta/recipes-devtools/patch/patch/CVE-2019-13636.patch
@@ -0,0 +1,113 @@
+From dce4683cbbe107a95f1f0d45fabc304acfb5d71a Mon Sep 17 00:00:00 2001
+From: Andreas Gruenbacher <agruen@gnu.org>
+Date: Mon, 15 Jul 2019 16:21:48 +0200
+Subject: Don't follow symlinks unless --follow-symlinks is given
+
+* src/inp.c (plan_a, plan_b), src/util.c (copy_to_fd, copy_file,
+append_to_file): Unless the --follow-symlinks option is given, open files with
+the O_NOFOLLOW flag to avoid following symlinks. So far, we were only doing
+that consistently for input files.
+* src/util.c (create_backup): When creating empty backup files, (re)create them
+with O_CREAT | O_EXCL to avoid following symlinks in that case as well.
+
+CVE: CVE-2019-13636
+Upstream-Status: Backport[https://git.savannah.gnu.org/cgit/patch.git/patch/?id=dce4683cbbe107a95f1f0d45fabc304acfb5d71a]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+---
+ src/inp.c | 12 ++++++++++--
+ src/util.c | 14 +++++++++++---
+ 2 files changed, 21 insertions(+), 5 deletions(-)
+
+diff --git a/src/inp.c b/src/inp.c
+index 32d0919..22d7473 100644
+--- a/src/inp.c
++++ b/src/inp.c
+@@ -238,8 +238,13 @@ plan_a (char const *filename)
+ {
+ if (S_ISREG (instat.st_mode))
+ {
+- int ifd = safe_open (filename, O_RDONLY|binary_transput, 0);
++ int flags = O_RDONLY | binary_transput;
+ size_t buffered = 0, n;
++ int ifd;
++
++ if (! follow_symlinks)
++ flags |= O_NOFOLLOW;
++ ifd = safe_open (filename, flags, 0);
+ if (ifd < 0)
+ pfatal ("can't open file %s", quotearg (filename));
+
+@@ -340,6 +345,7 @@ plan_a (char const *filename)
+ static void
+ plan_b (char const *filename)
+ {
++ int flags = O_RDONLY | binary_transput;
+ int ifd;
+ FILE *ifp;
+ int c;
+@@ -353,7 +359,9 @@ plan_b (char const *filename)
+
+ if (instat.st_size == 0)
+ filename = NULL_DEVICE;
+- if ((ifd = safe_open (filename, O_RDONLY | binary_transput, 0)) < 0
++ if (! follow_symlinks)
++ flags |= O_NOFOLLOW;
++ if ((ifd = safe_open (filename, flags, 0)) < 0
+ || ! (ifp = fdopen (ifd, binary_transput ? "rb" : "r")))
+ pfatal ("Can't open file %s", quotearg (filename));
+ if (TMPINNAME_needs_removal)
+diff --git a/src/util.c b/src/util.c
+index 1cc08ba..fb38307 100644
+--- a/src/util.c
++++ b/src/util.c
+@@ -388,7 +388,7 @@ create_backup (char const *to, const struct stat *to_st, bool leave_original)
+
+ try_makedirs_errno = ENOENT;
+ safe_unlink (bakname);
+- while ((fd = safe_open (bakname, O_CREAT | O_WRONLY | O_TRUNC, 0666)) < 0)
++ while ((fd = safe_open (bakname, O_CREAT | O_EXCL | O_WRONLY | O_TRUNC, 0666)) < 0)
+ {
+ if (errno != try_makedirs_errno)
+ pfatal ("Can't create file %s", quotearg (bakname));
+@@ -579,10 +579,13 @@ create_file (char const *file, int open_flags, mode_t mode,
+ static void
+ copy_to_fd (const char *from, int tofd)
+ {
++ int from_flags = O_RDONLY | O_BINARY;
+ int fromfd;
+ ssize_t i;
+
+- if ((fromfd = safe_open (from, O_RDONLY | O_BINARY, 0)) < 0)
++ if (! follow_symlinks)
++ from_flags |= O_NOFOLLOW;
++ if ((fromfd = safe_open (from, from_flags, 0)) < 0)
+ pfatal ("Can't reopen file %s", quotearg (from));
+ while ((i = read (fromfd, buf, bufsize)) != 0)
+ {
+@@ -625,6 +628,8 @@ copy_file (char const *from, char const *to, struct stat *tost,
+ else
+ {
+ assert (S_ISREG (mode));
++ if (! follow_symlinks)
++ to_flags |= O_NOFOLLOW;
+ tofd = create_file (to, O_WRONLY | O_BINARY | to_flags, mode,
+ to_dir_known_to_exist);
+ copy_to_fd (from, tofd);
+@@ -640,9 +645,12 @@ copy_file (char const *from, char const *to, struct stat *tost,
+ void
+ append_to_file (char const *from, char const *to)
+ {
++ int to_flags = O_WRONLY | O_APPEND | O_BINARY;
+ int tofd;
+
+- if ((tofd = safe_open (to, O_WRONLY | O_BINARY | O_APPEND, 0)) < 0)
++ if (! follow_symlinks)
++ to_flags |= O_NOFOLLOW;
++ if ((tofd = safe_open (to, to_flags, 0)) < 0)
+ pfatal ("Can't reopen file %s", quotearg (to));
+ copy_to_fd (from, tofd);
+ if (close (tofd) != 0)
+--
+cgit v1.0-41-gc330
+
diff --git a/poky/meta/recipes-devtools/patch/patch_2.7.6.bb b/poky/meta/recipes-devtools/patch/patch_2.7.6.bb
index 85b0db733..5d7f55f8d 100644
--- a/poky/meta/recipes-devtools/patch/patch_2.7.6.bb
+++ b/poky/meta/recipes-devtools/patch/patch_2.7.6.bb
@@ -6,6 +6,10 @@ SRC_URI += "file://0001-Unset-need_charset_alias-when-building-for-musl.patch \
file://0003-Allow-input-files-to-be-missing-for-ed-style-patches.patch \
file://0004-Fix-arbitrary-command-execution-in-ed-style-patches-.patch \
file://0001-Fix-swapping-fake-lines-in-pch_swap.patch \
+ file://CVE-2019-13636.patch \
+ file://0001-Invoke-ed-directly-instead-of-using-the-shell.patch \
+ file://0001-Don-t-leak-temporary-file-on-failed-ed-style-patch.patch \
+ file://0001-Don-t-leak-temporary-file-on-failed-multi-file-ed.patch \
"
SRC_URI[md5sum] = "4c68cee989d83c87b00a3860bcd05600"
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
index 07f153162..3a41820f4 100644
--- 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
@@ -8,7 +8,7 @@ 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]
+Upstream-Status: Accepted [https://github.com/dankogai/p5-encode/pull/145]
---
cpan/Encode/bin/enc2xs | 1 +
1 file changed, 1 insertion(+)
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
index e70ff67f7..686cc7167 100644
--- 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
@@ -9,7 +9,7 @@ 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]
+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/poky/meta/recipes-devtools/perl/perl_5.30.0.bb b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb
index e3664290e..a221bce52 100644
--- a/poky/meta/recipes-devtools/perl/perl_5.30.0.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb
@@ -35,10 +35,13 @@ S = "${WORKDIR}/perl-${PV}"
inherit upstream-version-is-even
-DEPENDS += "db gdbm zlib virtual/crypt"
+DEPENDS += "gdbm zlib virtual/crypt"
PERL_LIB_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}.0"
+PACKAGECONFIG ??= "bdb"
+PACKAGECONFIG[bdb] = ",-Ui_db,db"
+
# Don't generate comments in enc2xs output files. They are not reproducible
export ENC2XS_NO_COMMENTS = "1"
@@ -56,7 +59,8 @@ do_configure_class-target() {
-Duseshrplib \
-Dsoname=libperl.so.5 \
-Dvendorprefix=${prefix} \
- -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux
+ -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \
+ ${PACKAGECONFIG_CONFARGS}
#perl.c uses an ARCHLIB_EXP define to generate compile-time code that
#adds the archlibexp path to @INC during run-time initialization of a
@@ -79,7 +83,8 @@ do_configure_class-nativesdk() {
-Duseshrplib \
-Dsoname=libperl.so.5 \
-Dvendorprefix=${prefix} \
- -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux
+ -Darchlibexp=${STAGING_LIBDIR}/perl5/${PV}/${TARGET_ARCH}-linux \
+ ${PACKAGECONFIG_CONFARGS}
# See the comment above
sed -i -e "s,${STAGING_LIBDIR},${libdir},g" config.h
@@ -91,7 +96,8 @@ do_configure_class-native() {
-Duseshrplib \
-Dsoname=libperl.so.5 \
-Dvendorprefix=${prefix} \
- -Ui_xlocale
+ -Ui_xlocale \
+ ${PACKAGECONFIG_CONFARGS}
}
do_configure_append() {
@@ -179,7 +185,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_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 \
@@ -192,7 +198,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_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.1.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb
deleted file mode 100644
index c60ef7422..000000000
--- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb
+++ /dev/null
@@ -1,69 +0,0 @@
-SUMMARY = "pkgconf provides compiler and linker configuration for development frameworks."
-DESCRIPTION = "pkgconf is a program which helps to configure compiler and linker \
-flags for development frameworks. It is similar to pkg-config from \
-freedesktop.org, providing additional functionality while also maintaining \
-compatibility."
-HOMEPAGE = "http://pkgconf.org"
-BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues"
-SECTION = "devel"
-PROVIDES += "pkgconfig"
-RPROVIDES_${PN} += "pkgconfig"
-DEFAULT_PREFERENCE = "-1"
-
-# The pkgconf license seems to be functionally equivalent to BSD-2-Clause or
-# ISC, but has different wording, so needs its own name.
-LICENSE = "pkgconf"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2214222ec1a820bd6cc75167a56925e0"
-
-SRC_URI = "\
- https://distfiles.dereferenced.org/pkgconf/pkgconf-${PV}.tar.xz \
- file://pkg-config-wrapper \
- file://pkg-config-native.in \
- file://pkg-config-esdk.in \
-"
-SRC_URI[md5sum] = "556bae2b9e0cc7b46e7c00083cb6d95d"
-SRC_URI[sha256sum] = "22b9ee38438901f9d60f180e5182821180854fa738fd071f593ea26a81da208c"
-
-inherit autotools
-
-EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig'"
-
-do_install_append () {
- # Install a wrapper which deals, as much as possible with pkgconf vs
- # pkg-config compatibility issues.
- install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config"
-}
-
-do_install_append_class-native () {
- # Install a pkg-config-native wrapper that will use the native sysroot instead
- # of the MACHINE sysroot, for using pkg-config when building native tools.
- sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
- < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native
- install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native
- sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
- -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
- < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk
- install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk
-}
-
-# When using the RPM generated automatic package dependencies, some packages
-# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by
-# specifying an appropriate provide.
-RPROVIDES_${PN} += "pkgconfig(pkg-config)"
-
-# Include pkg.m4 in the main package, leaving libpkgconf dev files in -dev
-FILES_${PN}-dev_remove = "${datadir}/aclocal"
-FILES_${PN} += "${datadir}/aclocal"
-
-BBCLASSEXTEND += "native nativesdk"
-
-pkgconf_sstate_fixup_esdk () {
- if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then
- pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
- mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real
- lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
- sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native
- fi
-}
-
-SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconf_sstate_fixup_esdk"
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb
new file mode 100644
index 000000000..94bc112b9
--- /dev/null
+++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.3.bb
@@ -0,0 +1,69 @@
+SUMMARY = "pkgconf provides compiler and linker configuration for development frameworks."
+DESCRIPTION = "pkgconf is a program which helps to configure compiler and linker \
+flags for development frameworks. It is similar to pkg-config from \
+freedesktop.org, providing additional functionality while also maintaining \
+compatibility."
+HOMEPAGE = "http://pkgconf.org"
+BUGTRACKER = "https://github.com/pkgconf/pkgconf/issues"
+SECTION = "devel"
+PROVIDES += "pkgconfig"
+RPROVIDES_${PN} += "pkgconfig"
+DEFAULT_PREFERENCE = "-1"
+
+# The pkgconf license seems to be functionally equivalent to BSD-2-Clause or
+# ISC, but has different wording, so needs its own name.
+LICENSE = "pkgconf"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2214222ec1a820bd6cc75167a56925e0"
+
+SRC_URI = "\
+ https://distfiles.dereferenced.org/pkgconf/pkgconf-${PV}.tar.xz \
+ file://pkg-config-wrapper \
+ file://pkg-config-native.in \
+ file://pkg-config-esdk.in \
+"
+SRC_URI[md5sum] = "f93fb1be95a5cb62e43c219c82b5791a"
+SRC_URI[sha256sum] = "61f0b31b0d5ea0e862b454a80c170f57bad47879c0c42bd8de89200ff62ea210"
+
+inherit autotools
+
+EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig'"
+
+do_install_append () {
+ # Install a wrapper which deals, as much as possible with pkgconf vs
+ # pkg-config compatibility issues.
+ install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config"
+}
+
+do_install_append_class-native () {
+ # Install a pkg-config-native wrapper that will use the native sysroot instead
+ # of the MACHINE sysroot, for using pkg-config when building native tools.
+ sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
+ < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native
+ install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native
+ sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \
+ -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \
+ < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk
+ install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk
+}
+
+# When using the RPM generated automatic package dependencies, some packages
+# will end up requiring 'pkgconfig(pkg-config)'. Allow this behavior by
+# specifying an appropriate provide.
+RPROVIDES_${PN} += "pkgconfig(pkg-config)"
+
+# Include pkg.m4 in the main package, leaving libpkgconf dev files in -dev
+FILES_${PN}-dev_remove = "${datadir}/aclocal"
+FILES_${PN} += "${datadir}/aclocal"
+
+BBCLASSEXTEND += "native nativesdk"
+
+pkgconf_sstate_fixup_esdk () {
+ if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" -a "${WITHIN_EXT_SDK}" = "1" ] ; then
+ pkgconfdir="${SSTATE_INSTDIR}/recipe-sysroot-native/${bindir_native}"
+ mv $pkgconfdir/pkg-config $pkgconfdir/pkg-config.real
+ lnr $pkgconfdir/pkg-config-esdk $pkgconfdir/pkg-config
+ sed -i -e "s|^pkg-config|pkg-config.real|" $pkgconfdir/pkg-config-native
+ fi
+}
+
+SSTATEPOSTUNPACKFUNCS_append_class-native = " pkgconf_sstate_fixup_esdk"
diff --git a/poky/meta/recipes-devtools/prelink/prelink_git.bb b/poky/meta/recipes-devtools/prelink/prelink_git.bb
index b1261d594..f0946de2c 100644
--- a/poky/meta/recipes-devtools/prelink/prelink_git.bb
+++ b/poky/meta/recipes-devtools/prelink/prelink_git.bb
@@ -36,6 +36,9 @@ SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink_sta
"
UPSTREAM_CHECK_COMMITS = "1"
+# error: error.h: No such file or directory
+COMPATIBLE_HOST_libc-musl = 'null'
+
TARGET_OS_ORIG := "${TARGET_OS}"
OVERRIDES_append = ":${TARGET_OS_ORIG}"
diff --git a/poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch b/poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch
new file mode 100644
index 000000000..b2dbdad27
--- /dev/null
+++ b/poky/meta/recipes-devtools/pseudo/files/0001-maketables-wrappers-use-Python-3.patch
@@ -0,0 +1,34 @@
+From dbd34b1b2af8fbf44a0d5c37abe3448405819823 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 28 Aug 2019 19:20:29 +0200
+Subject: [PATCH] maketables/wrappers: use Python 3
+
+Changelog indicates they should be compatible.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ maketables | 2 +-
+ makewrappers | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/maketables b/maketables
+index a211772..52285e2 100755
+--- a/maketables
++++ b/maketables
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ #
+ # Copyright (c) 2008-2010, 2013 Wind River Systems, Inc.
+ #
+diff --git a/makewrappers b/makewrappers
+index e84607d..b34f7eb 100755
+--- a/makewrappers
++++ b/makewrappers
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python3
+ #
+ # Copyright (c) 2008-2011,2013 Wind River Systems, Inc.
+ #
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo.inc b/poky/meta/recipes-devtools/pseudo/pseudo.inc
index 8b05735bb..8b3490972 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/poky/meta/recipes-devtools/pseudo/pseudo.inc
@@ -4,7 +4,7 @@
SUMMARY = "Pseudo gives fake root capabilities to a normal user"
HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/pseudo"
-LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a1d8023a6f953ac6ea4af765ff62d574"
SECTION = "base"
LICENSE = "LGPL2.1"
DEPENDS = "sqlite3 attr"
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index 51db84c4d..78500e1cc 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -6,9 +6,12 @@ SRC_URI = "git://git.yoctoproject.org/pseudo \
file://fallback-group \
file://moreretries.patch \
file://toomanyfiles.patch \
+ file://0001-maketables-wrappers-use-Python-3.patch \
"
-SRCREV = "3fa7c853e0bcd6fe23f7524c2a3c9e3af90901c3"
+SRCREV = "060058bb29f70b244e685b3c704eb0641b736f73"
S = "${WORKDIR}/git"
PV = "1.9.0+git${SRCPV}"
+# error: use of undeclared identifier '_STAT_VER'
+COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
index 8fe0d1a27..98a970583 100644
--- a/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
+++ b/poky/meta/recipes-devtools/python-numpy/files/0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch
@@ -1,4 +1,4 @@
-From c14554c7e2fff8dd559dfb41e7dd11392c6f85e3 Mon Sep 17 00:00:00 2001
+From 672a75c8417ce08db9e31fc415ec445479231d5a Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 10 Dec 2015 13:20:30 +0200
Subject: [PATCH] Don't search /usr and so on for libraries by default to
@@ -10,14 +10,14 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- numpy/distutils/system_info.py | 50 ++++------------------------------
- 1 file changed, 6 insertions(+), 44 deletions(-)
+ numpy/distutils/system_info.py | 42 ++++------------------------------
+ 1 file changed, 5 insertions(+), 37 deletions(-)
diff --git a/numpy/distutils/system_info.py b/numpy/distutils/system_info.py
-index 2424943..bf56a6d 100644
+index ba2b1f4..f94dce1 100644
--- a/numpy/distutils/system_info.py
+++ b/numpy/distutils/system_info.py
-@@ -274,51 +274,13 @@ if sys.platform == 'win32':
+@@ -278,45 +278,13 @@ if sys.platform == 'win32':
add_system_root(os.path.join(conda_dir, 'Library'))
else:
@@ -45,31 +45,24 @@ index 2424943..bf56a6d 100644
- default_x11_include_dirs.extend(['/usr/lib/X11/include',
- '/usr/include/X11'])
-
-- import subprocess as sp
-- tmp = None
-- try:
-- # Explicitly open/close file to avoid ResourceWarning when
-- # tests are run in debug mode Python 3.
-- tmp = open(os.devnull, 'w')
-- p = sp.Popen(["gcc", "-print-multiarch"], stdout=sp.PIPE,
-- stderr=tmp)
-- except (OSError, DistutilsError):
-- # OSError if gcc is not installed, or SandboxViolation (DistutilsError
-- # subclass) if an old setuptools bug is triggered (see gh-3160).
-- pass
-- else:
-- triplet = str(p.communicate()[0].decode().strip())
-- if p.returncode == 0:
-- # gcc supports the "-print-multiarch" option
-- default_x11_lib_dirs += [os.path.join("/usr/lib/", triplet)]
-- default_lib_dirs += [os.path.join("/usr/lib/", triplet)]
-- finally:
-- if tmp is not None:
-- tmp.close()
+- with open(os.devnull, 'w') as tmp:
+- try:
+- p = subprocess.Popen(["gcc", "-print-multiarch"], stdout=subprocess.PIPE,
+- stderr=tmp)
+- except (OSError, DistutilsError):
+- # OSError if gcc is not installed, or SandboxViolation (DistutilsError
+- # subclass) if an old setuptools bug is triggered (see gh-3160).
+- pass
+- else:
+- triplet = str(p.communicate()[0].decode().strip())
+- if p.returncode == 0:
+- # gcc supports the "-print-multiarch" option
+- default_x11_lib_dirs += [os.path.join("/usr/lib/", triplet)]
+- default_lib_dirs += [os.path.join("/usr/lib/", triplet)]
+ default_lib_dirs = libpaths(['/deadir/lib'], platform_bits)
+ default_include_dirs = ['/deaddir/include']
+ default_src_dirs = ['.', '/deaddir/src']
-+
+
+ default_x11_lib_dirs = libpaths(['/deaddir/lib'], platform_bits)
+ default_x11_include_dirs = ['/deaddir/include']
diff --git a/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch b/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch
new file mode 100644
index 000000000..ebb2a6f9d
--- /dev/null
+++ b/poky/meta/recipes-devtools/python-numpy/files/0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch
@@ -0,0 +1,32 @@
+From b881e0b2ba9cf1a4aa351a1c1ea90b1e1776ce21 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 12 Aug 2019 15:37:36 +0200
+Subject: [PATCH] numpy/random/setup.py: remove the detection of x86 targets
+ via uname()
+
+This was badly breaking compilation for ARM targets (and possibly
+other non-x86 targets); if -msse2 is desirable for x86 builds it has
+to be passed through another channel.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ numpy/random/setup.py | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/numpy/random/setup.py b/numpy/random/setup.py
+index a1bf3b8..60fb534 100644
+--- a/numpy/random/setup.py
++++ b/numpy/random/setup.py
+@@ -49,11 +49,6 @@ def configuration(parent_package='', top_path=None):
+ elif not is_msvc:
+ # Some bit generators require c99
+ EXTRA_COMPILE_ARGS += ['-std=c99']
+- INTEL_LIKE = any([val in k.lower() for k in platform.uname()
+- for val in ('x86', 'i686', 'i386', 'amd64')])
+- if INTEL_LIKE:
+- # Assumes GCC or GCC-like compiler
+- EXTRA_COMPILE_ARGS += ['-msse2']
+
+ # Use legacy integer variable sizes
+ LEGACY_DEFS = [('NP_RANDOM_LEGACY', '1')]
diff --git a/poky/meta/recipes-devtools/python-numpy/files/mipsarchn32eb/_numpyconfig.h b/poky/meta/recipes-devtools/python-numpy/files/mipsarchn32eb/_numpyconfig.h
index 8e2b5d094..debb39009 100644
--- a/poky/meta/recipes-devtools/python-numpy/files/mipsarchn32eb/_numpyconfig.h
+++ b/poky/meta/recipes-devtools/python-numpy/files/mipsarchn32eb/_numpyconfig.h
@@ -12,6 +12,7 @@
#define NPY_SIZEOF_PY_INTPTR_T 8
#define NPY_SIZEOF_PY_LONG_LONG 8
#define NPY_SIZEOF_LONGLONG 8
+#define NPY_SIZEOF_OFF_T 8
#define NPY_NO_SMP 0
#define NPY_HAVE_DECL_ISNAN
#define NPY_HAVE_DECL_ISINF
diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
index 43c3053cd..a12e72f96 100644
--- a/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
+++ b/poky/meta/recipes-devtools/python-numpy/python-numpy.inc
@@ -1,7 +1,7 @@
SUMMARY = "A sophisticated Numeric Processing Package for Python"
SECTION = "devel/python"
-LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d26bde5432613cce2334b93985576231"
+LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF & Apache-2.0 & BSD & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1a32aba007a415aa8a1c708a0e2b86a1"
SRCNAME = "numpy"
@@ -9,13 +9,17 @@ SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/v${PV}/${S
file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
file://0001-npy_cpu-Add-riscv-support.patch \
${CONFIGFILESURI} \
+ file://0001-numpy-random-setup.py-remove-the-detection-of-x86-ta.patch \
"
-SRC_URI[md5sum] = "0886e5b5017f08f2b7a624c0b5931e61"
-SRC_URI[sha256sum] = "adf063a3f87ab89393f5eea0eb903293b112fa0a308e8c594a75ffa585d81d4f"
+SRC_URI[md5sum] = "c48b2ad785f82cdfe28c907ce35e2a71"
+SRC_URI[sha256sum] = "47b7b6145e7ba5918ce26be25999b6d4b35cf9fbfdf46b7da50090ffdb020445"
UPSTREAM_CHECK_URI = "https://github.com/numpy/numpy/releases"
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
+# Needed for building with gcc 4.x from centos 7
+CFLAGS_append_class-native = " -std=c99"
+
CONFIGFILESURI ?= ""
CONFIGFILESURI_aarch64 = " \
@@ -109,6 +113,7 @@ RDEPENDS_${PN} = "${PYTHON_PN}-unittest \
${PYTHON_PN}-compression \
${PYTHON_PN}-ctypes \
${PYTHON_PN}-threading \
+ ${PYTHON_PN}-multiprocessing \
"
RDEPENDS_${PN}_class-native = ""
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
deleted file mode 100644
index a1133dad4..000000000
--- a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-inherit setuptools
-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-numpy/python3-numpy_1.16.3.bb b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb
index d388e88d2..d388e88d2 100644
--- a/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.16.3.bb
+++ b/poky/meta/recipes-devtools/python-numpy/python3-numpy_1.17.0.bb
diff --git a/poky/meta/recipes-devtools/python/python-git.inc b/poky/meta/recipes-devtools/python/python-git.inc
deleted file mode 100644
index f973e9f42..000000000
--- a/poky/meta/recipes-devtools/python/python-git.inc
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Python library used to interact with Git repositories"
-DESCRIPTION = "GitPython provides object model read and write access to \
-a git repository. Access repository information conveniently, alter the \
-index directly, handle remotes, or go down to low-level object database \
-access with big-files support."
-HOMEPAGE = "http://github.com/gitpython-developers/GitPython"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183"
-
-PYPI_PACKAGE = "GitPython"
-
-inherit pypi
-
-SRC_URI[md5sum] = "cee43a39a1468084d49d1c49fb675204"
-SRC_URI[sha256sum] = "8237dc5bfd6f1366abeee5624111b9d6879393d84745a507de0fda86043b65a8"
-
-DEPENDS = "${PYTHON_PN}-gitdb"
-
-RDEPENDS_${PN} += " \
- ${PYTHON_PN}-datetime \
- ${PYTHON_PN}-gitdb \
- ${PYTHON_PN}-io \
- ${PYTHON_PN}-logging \
- ${PYTHON_PN}-math \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-stringold \
- ${PYTHON_PN}-unittest \
- ${PYTHON_PN}-unixadmin \
- git \
-"
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python-mako.inc b/poky/meta/recipes-devtools/python/python-mako.inc
deleted file mode 100644
index 20808fe5a..000000000
--- a/poky/meta/recipes-devtools/python/python-mako.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Templating library for Python"
-HOMEPAGE = "http://www.makotemplates.org/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1bb21fa2d2f7a534c884b990430a6863"
-
-PYPI_PACKAGE = "Mako"
-
-inherit pypi
-
-SRC_URI[md5sum] = "a94d376078dda65f834ea5049a81ebb5"
-SRC_URI[sha256sum] = "7165919e78e1feb68b4dbe829871ea9941398178fa58e6beedb9ba14acf63965"
-
-RDEPENDS_${PN} = "${PYTHON_PN}-html \
- ${PYTHON_PN}-netclient \
- ${PYTHON_PN}-threading \
-"
-
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native nativesdk"
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
deleted file mode 100644
index fab609df9..000000000
--- a/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-inherit setuptools
-require python-nose.inc
-
-do_install_append() {
- rm ${D}${bindir}/nosetests
-}
diff --git a/poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb b/poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb
deleted file mode 100644
index 68b63c935..000000000
--- a/poky/meta/recipes-devtools/python/python-scons-native_3.0.5.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require python-scons_${PV}.bb
-inherit native pythonnative
-DEPENDS = "python-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/python-scons_3.0.5.bb b/poky/meta/recipes-devtools/python/python-scons_3.0.5.bb
deleted file mode 100644
index 939c15bcc..000000000
--- a/poky/meta/recipes-devtools/python/python-scons_3.0.5.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-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 setuptools
-
-RDEPENDS_${PN} = "\
- python-fcntl \
- python-io \
- python-json \
- python-subprocess \
- python-shell \
- python-pprint \
- "
diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc
index f49e07869..322197eed 100644
--- a/poky/meta/recipes-devtools/python/python-setuptools.inc
+++ b/poky/meta/recipes-devtools/python/python-setuptools.inc
@@ -10,8 +10,8 @@ inherit pypi
SRC_URI_append_class-native = " file://0001-conditionally-do-not-fetch-code-by-easy_install.patch"
-SRC_URI[md5sum] = "6404ca798bb9a9073aff3b91b2df35c8"
-SRC_URI[sha256sum] = "a222d126f5471598053c9a77f4b5d4f26eaa1f150ad6e01dcf1a42e185d05613"
+SRC_URI[md5sum] = "a3470ce184da33f0fa6c9f44f6221bc0"
+SRC_URI[sha256sum] = "66b86bbae7cc7ac2e867f52dc08a6bd064d938bac59dfec71b9b565dd36d6012"
DEPENDS += "${PYTHON_PN}"
diff --git a/poky/meta/recipes-devtools/python/python-setuptools_41.0.1.bb b/poky/meta/recipes-devtools/python/python-setuptools_41.2.0.bb
index cf9440495..cf9440495 100644
--- a/poky/meta/recipes-devtools/python/python-setuptools_41.0.1.bb
+++ b/poky/meta/recipes-devtools/python/python-setuptools_41.2.0.bb
diff --git a/poky/meta/recipes-devtools/python/python-testtools.inc b/poky/meta/recipes-devtools/python/python-testtools.inc
index 1011c98a3..d0b2e46d7 100644
--- a/poky/meta/recipes-devtools/python/python-testtools.inc
+++ b/poky/meta/recipes-devtools/python/python-testtools.inc
@@ -19,6 +19,7 @@ DEPENDS += " \
"
RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-doctest \
${PYTHON_PN}-extras \
${PYTHON_PN}-pbr \
${PYTHON_PN}-six \
diff --git a/poky/meta/recipes-devtools/python/python.inc b/poky/meta/recipes-devtools/python/python.inc
index 779df5352..1462b779e 100644
--- a/poky/meta/recipes-devtools/python/python.inc
+++ b/poky/meta/recipes-devtools/python/python.inc
@@ -8,6 +8,12 @@ INC_PR = "r1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e466242989bd33c1bd2b6a526a742498"
SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
+ 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 \
+ file://CVE-2019-9740.patch \
+ file://CVE-2018-20852.patch \
"
SRC_URI[md5sum] = "30157d85a2c0479c09ea2cbe61f2aaf5"
@@ -31,7 +37,6 @@ EXTRA_OECONF = "\
--enable-shared \
--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \
ac_cv_header_bluetooth_bluetooth_h=no ac_cv_header_bluetooth_h=no \
- ${PYTHONLSBOPTS} \
"
do_configure_prepend() {
diff --git a/poky/meta/recipes-devtools/python/python/CVE-2018-20852.patch b/poky/meta/recipes-devtools/python/python/CVE-2018-20852.patch
new file mode 100644
index 000000000..23c784a21
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python/CVE-2018-20852.patch
@@ -0,0 +1,123 @@
+From 979daae300916adb399ab5b51410b6ebd0888f13 Mon Sep 17 00:00:00 2001
+From: Xtreak <tir.karthi@gmail.com>
+Date: Sat, 15 Jun 2019 20:59:43 +0530
+Subject: [PATCH] [2.7] bpo-35121: prefix dot in domain for proper subdomain
+ validation (GH-10258) (GH-13426)
+
+This is a manual backport of ca7fe5063593958e5efdf90f068582837f07bd14 since 2.7 has `http.cookiejar` in `cookielib`
+
+
+https://bugs.python.org/issue35121
+CVE: CVE-2018-20852
+Upstream-Status: Backport [https://github.com/python/cpython/pull/13426]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ Lib/cookielib.py | 13 ++++++--
+ Lib/test/test_cookielib.py | 30 +++++++++++++++++++
+ .../2019-05-20-00-35-12.bpo-35121.RRi-HU.rst | 4 +++
+ 3 files changed, 45 insertions(+), 2 deletions(-)
+ create mode 100644 Misc/NEWS.d/next/Security/2019-05-20-00-35-12.bpo-35121.RRi-HU.rst
+
+diff --git a/Lib/cookielib.py b/Lib/cookielib.py
+index 2dd7c48728e0..0b471a42f296 100644
+--- a/Lib/cookielib.py
++++ b/Lib/cookielib.py
+@@ -1139,6 +1139,11 @@ def return_ok_domain(self, cookie, request):
+ req_host, erhn = eff_request_host(request)
+ domain = cookie.domain
+
++ if domain and not domain.startswith("."):
++ dotdomain = "." + domain
++ else:
++ dotdomain = domain
++
+ # strict check of non-domain cookies: Mozilla does this, MSIE5 doesn't
+ if (cookie.version == 0 and
+ (self.strict_ns_domain & self.DomainStrictNonDomain) and
+@@ -1151,7 +1156,7 @@ def return_ok_domain(self, cookie, request):
+ _debug(" effective request-host name %s does not domain-match "
+ "RFC 2965 cookie domain %s", erhn, domain)
+ return False
+- if cookie.version == 0 and not ("."+erhn).endswith(domain):
++ if cookie.version == 0 and not ("."+erhn).endswith(dotdomain):
+ _debug(" request-host %s does not match Netscape cookie domain "
+ "%s", req_host, domain)
+ return False
+@@ -1165,7 +1170,11 @@ def domain_return_ok(self, domain, request):
+ req_host = "."+req_host
+ if not erhn.startswith("."):
+ erhn = "."+erhn
+- if not (req_host.endswith(domain) or erhn.endswith(domain)):
++ if domain and not domain.startswith("."):
++ dotdomain = "." + domain
++ else:
++ dotdomain = domain
++ if not (req_host.endswith(dotdomain) or erhn.endswith(dotdomain)):
+ #_debug(" request domain %s does not match cookie domain %s",
+ # req_host, domain)
+ return False
+diff --git a/Lib/test/test_cookielib.py b/Lib/test/test_cookielib.py
+index f2dd9727d137..7f7ff614d61d 100644
+--- a/Lib/test/test_cookielib.py
++++ b/Lib/test/test_cookielib.py
+@@ -368,6 +368,7 @@ def test_domain_return_ok(self):
+ ("http://foo.bar.com/", ".foo.bar.com", True),
+ ("http://foo.bar.com/", "foo.bar.com", True),
+ ("http://foo.bar.com/", ".bar.com", True),
++ ("http://foo.bar.com/", "bar.com", True),
+ ("http://foo.bar.com/", "com", True),
+ ("http://foo.com/", "rhubarb.foo.com", False),
+ ("http://foo.com/", ".foo.com", True),
+@@ -378,6 +379,8 @@ def test_domain_return_ok(self):
+ ("http://foo/", "foo", True),
+ ("http://foo/", "foo.local", True),
+ ("http://foo/", ".local", True),
++ ("http://barfoo.com", ".foo.com", False),
++ ("http://barfoo.com", "foo.com", False),
+ ]:
+ request = urllib2.Request(url)
+ r = pol.domain_return_ok(domain, request)
+@@ -938,6 +941,33 @@ def test_domain_block(self):
+ c.add_cookie_header(req)
+ self.assertFalse(req.has_header("Cookie"))
+
++ c.clear()
++
++ pol.set_blocked_domains([])
++ req = Request("http://acme.com/")
++ res = FakeResponse(headers, "http://acme.com/")
++ cookies = c.make_cookies(res, req)
++ c.extract_cookies(res, req)
++ self.assertEqual(len(c), 1)
++
++ req = Request("http://acme.com/")
++ c.add_cookie_header(req)
++ self.assertTrue(req.has_header("Cookie"))
++
++ req = Request("http://badacme.com/")
++ c.add_cookie_header(req)
++ self.assertFalse(pol.return_ok(cookies[0], req))
++ self.assertFalse(req.has_header("Cookie"))
++
++ p = pol.set_blocked_domains(["acme.com"])
++ req = Request("http://acme.com/")
++ c.add_cookie_header(req)
++ self.assertFalse(req.has_header("Cookie"))
++
++ req = Request("http://badacme.com/")
++ c.add_cookie_header(req)
++ self.assertFalse(req.has_header("Cookie"))
++
+ def test_secure(self):
+ from cookielib import CookieJar, DefaultCookiePolicy
+
+diff --git a/Misc/NEWS.d/next/Security/2019-05-20-00-35-12.bpo-35121.RRi-HU.rst b/Misc/NEWS.d/next/Security/2019-05-20-00-35-12.bpo-35121.RRi-HU.rst
+new file mode 100644
+index 000000000000..77251806163b
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2019-05-20-00-35-12.bpo-35121.RRi-HU.rst
+@@ -0,0 +1,4 @@
++Don't send cookies of domain A without Domain attribute to domain B when
++domain A is a suffix match of domain B while using a cookiejar with
++:class:`cookielib.DefaultCookiePolicy` policy. Patch by Karthikeyan
++Singaravelan.
diff --git a/poky/meta/recipes-devtools/python/python/CVE-2019-9740.patch b/poky/meta/recipes-devtools/python/python/CVE-2019-9740.patch
new file mode 100644
index 000000000..95f43e038
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python/CVE-2019-9740.patch
@@ -0,0 +1,216 @@
+From bb8071a4cae5ab3fe321481dd3d73662ffb26052 Mon Sep 17 00:00:00 2001
+From: Victor Stinner <victor.stinner@gmail.com>
+Date: Tue, 21 May 2019 15:12:33 +0200
+Subject: [PATCH] bpo-30458: Disallow control chars in http URLs (GH-12755)
+ (GH-13154) (GH-13315)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Disallow control chars in http URLs in urllib2.urlopen. This
+addresses a potential security problem for applications that do not
+sanity check their URLs where http request headers could be injected.
+
+Disable https related urllib tests on a build without ssl (GH-13032)
+These tests require an SSL enabled build. Skip these tests when
+python is built without SSL to fix test failures.
+
+Use httplib.InvalidURL instead of ValueError as the new error case's
+exception. (GH-13044)
+
+Backport Co-Authored-By: Miro HronÄok <miro@hroncok.cz>
+
+(cherry picked from commit 7e200e0763f5b71c199aaf98bd5588f291585619)
+
+Notes on backport to Python 2.7:
+
+* test_urllib tests urllib.urlopen() which quotes the URL and so is
+ not vulerable to HTTP Header Injection.
+* Add tests to test_urllib2 on urllib2.urlopen().
+* Reject non-ASCII characters: range 0x80-0xff.
+
+Upstream-Status: Backport
+CVE: CVE-2019-9740
+CVE: CVE-2019-9947
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ Lib/httplib.py | 16 ++++++
+ Lib/test/test_urllib.py | 25 +++++++++
+ Lib/test/test_urllib2.py | 51 ++++++++++++++++++-
+ Lib/test/test_xmlrpc.py | 8 ++-
+ .../2019-04-10-08-53-30.bpo-30458.51E-DA.rst | 1 +
+ 5 files changed, 99 insertions(+), 2 deletions(-)
+ create mode 100644 Misc/NEWS.d/next/Security/2019-04-10-08-53-30.bpo-30458.51E-DA.rst
+
+diff --git a/Lib/httplib.py b/Lib/httplib.py
+index 60a8fb4e355f..1b41c346e090 100644
+--- a/Lib/httplib.py
++++ b/Lib/httplib.py
+@@ -247,6 +247,16 @@
+ _is_legal_header_name = re.compile(r'\A[^:\s][^:\r\n]*\Z').match
+ _is_illegal_header_value = re.compile(r'\n(?![ \t])|\r(?![ \t\n])').search
+
++# These characters are not allowed within HTTP URL paths.
++# See https://tools.ietf.org/html/rfc3986#section-3.3 and the
++# https://tools.ietf.org/html/rfc3986#appendix-A pchar definition.
++# Prevents CVE-2019-9740. Includes control characters such as \r\n.
++# Restrict non-ASCII characters above \x7f (0x80-0xff).
++_contains_disallowed_url_pchar_re = re.compile('[\x00-\x20\x7f-\xff]')
++# Arguably only these _should_ allowed:
++# _is_allowed_url_pchars_re = re.compile(r"^[/!$&'()*+,;=:@%a-zA-Z0-9._~-]+$")
++# We are more lenient for assumed real world compatibility purposes.
++
+ # We always set the Content-Length header for these methods because some
+ # servers will otherwise respond with a 411
+ _METHODS_EXPECTING_BODY = {'PATCH', 'POST', 'PUT'}
+@@ -927,6 +937,12 @@ def putrequest(self, method, url, skip_host=0, skip_accept_encoding=0):
+ self._method = method
+ if not url:
+ url = '/'
++ # Prevent CVE-2019-9740.
++ match = _contains_disallowed_url_pchar_re.search(url)
++ if match:
++ raise InvalidURL("URL can't contain control characters. %r "
++ "(found at least %r)"
++ % (url, match.group()))
+ hdr = '%s %s %s' % (method, url, self._http_vsn_str)
+
+ self._output(hdr)
+diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
+index 1ce9201c0693..d7778d4194f3 100644
+--- a/Lib/test/test_urllib.py
++++ b/Lib/test/test_urllib.py
+@@ -257,6 +257,31 @@ def test_url_fragment(self):
+ finally:
+ self.unfakehttp()
+
++ def test_url_with_control_char_rejected(self):
++ for char_no in range(0, 0x21) + range(0x7f, 0x100):
++ char = chr(char_no)
++ schemeless_url = "//localhost:7777/test%s/" % char
++ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello.")
++ try:
++ # urllib quotes the URL so there is no injection.
++ resp = urllib.urlopen("http:" + schemeless_url)
++ self.assertNotIn(char, resp.geturl())
++ finally:
++ self.unfakehttp()
++
++ def test_url_with_newline_header_injection_rejected(self):
++ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello.")
++ host = "localhost:7777?a=1 HTTP/1.1\r\nX-injected: header\r\nTEST: 123"
++ schemeless_url = "//" + host + ":8080/test/?test=a"
++ try:
++ # urllib quotes the URL so there is no injection.
++ resp = urllib.urlopen("http:" + schemeless_url)
++ self.assertNotIn(' ', resp.geturl())
++ self.assertNotIn('\r', resp.geturl())
++ self.assertNotIn('\n', resp.geturl())
++ finally:
++ self.unfakehttp()
++
+ def test_read_bogus(self):
+ # urlopen() should raise IOError for many error codes.
+ self.fakehttp('''HTTP/1.1 401 Authentication Required
+diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
+index 6d24d5ddf83c..9531818e16b2 100644
+--- a/Lib/test/test_urllib2.py
++++ b/Lib/test/test_urllib2.py
+@@ -15,6 +15,9 @@
+ except ImportError:
+ ssl = None
+
++from test.test_urllib import FakeHTTPMixin
++
++
+ # XXX
+ # Request
+ # CacheFTPHandler (hard to write)
+@@ -1262,7 +1265,7 @@ def _test_basic_auth(self, opener, auth_handler, auth_header,
+ self.assertEqual(len(http_handler.requests), 1)
+ self.assertFalse(http_handler.requests[0].has_header(auth_header))
+
+-class MiscTests(unittest.TestCase):
++class MiscTests(unittest.TestCase, FakeHTTPMixin):
+
+ def test_build_opener(self):
+ class MyHTTPHandler(urllib2.HTTPHandler): pass
+@@ -1317,6 +1320,52 @@ def test_unsupported_algorithm(self):
+ "Unsupported digest authentication algorithm 'invalid'"
+ )
+
++ @unittest.skipUnless(ssl, "ssl module required")
++ def test_url_with_control_char_rejected(self):
++ for char_no in range(0, 0x21) + range(0x7f, 0x100):
++ char = chr(char_no)
++ schemeless_url = "//localhost:7777/test%s/" % char
++ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello.")
++ try:
++ # We explicitly test urllib.request.urlopen() instead of the top
++ # level 'def urlopen()' function defined in this... (quite ugly)
++ # test suite. They use different url opening codepaths. Plain
++ # urlopen uses FancyURLOpener which goes via a codepath that
++ # calls urllib.parse.quote() on the URL which makes all of the
++ # above attempts at injection within the url _path_ safe.
++ escaped_char_repr = repr(char).replace('\\', r'\\')
++ InvalidURL = httplib.InvalidURL
++ with self.assertRaisesRegexp(
++ InvalidURL, "contain control.*" + escaped_char_repr):
++ urllib2.urlopen("http:" + schemeless_url)
++ with self.assertRaisesRegexp(
++ InvalidURL, "contain control.*" + escaped_char_repr):
++ urllib2.urlopen("https:" + schemeless_url)
++ finally:
++ self.unfakehttp()
++
++ @unittest.skipUnless(ssl, "ssl module required")
++ def test_url_with_newline_header_injection_rejected(self):
++ self.fakehttp(b"HTTP/1.1 200 OK\r\n\r\nHello.")
++ host = "localhost:7777?a=1 HTTP/1.1\r\nX-injected: header\r\nTEST: 123"
++ schemeless_url = "//" + host + ":8080/test/?test=a"
++ try:
++ # We explicitly test urllib2.urlopen() instead of the top
++ # level 'def urlopen()' function defined in this... (quite ugly)
++ # test suite. They use different url opening codepaths. Plain
++ # urlopen uses FancyURLOpener which goes via a codepath that
++ # calls urllib.parse.quote() on the URL which makes all of the
++ # above attempts at injection within the url _path_ safe.
++ InvalidURL = httplib.InvalidURL
++ with self.assertRaisesRegexp(
++ InvalidURL, r"contain control.*\\r.*(found at least . .)"):
++ urllib2.urlopen("http:" + schemeless_url)
++ with self.assertRaisesRegexp(InvalidURL, r"contain control.*\\n"):
++ urllib2.urlopen("https:" + schemeless_url)
++ finally:
++ self.unfakehttp()
++
++
+
+ class RequestTests(unittest.TestCase):
+
+diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py
+index 36b3be67fd6b..90ccb30716ff 100644
+--- a/Lib/test/test_xmlrpc.py
++++ b/Lib/test/test_xmlrpc.py
+@@ -659,7 +659,13 @@ def test_dotted_attribute(self):
+ def test_partial_post(self):
+ # Check that a partial POST doesn't make the server loop: issue #14001.
+ conn = httplib.HTTPConnection(ADDR, PORT)
+- conn.request('POST', '/RPC2 HTTP/1.0\r\nContent-Length: 100\r\n\r\nbye')
++ conn.send('POST /RPC2 HTTP/1.0\r\n'
++ 'Content-Length: 100\r\n\r\n'
++ 'bye HTTP/1.1\r\n'
++ 'Host: %s:%s\r\n'
++ 'Accept-Encoding: identity\r\n'
++ 'Content-Length: 0\r\n\r\n'
++ % (ADDR, PORT))
+ conn.close()
+
+ class SimpleServerEncodingTestCase(BaseServerTestCase):
+diff --git a/Misc/NEWS.d/next/Security/2019-04-10-08-53-30.bpo-30458.51E-DA.rst b/Misc/NEWS.d/next/Security/2019-04-10-08-53-30.bpo-30458.51E-DA.rst
+new file mode 100644
+index 000000000000..47cb899df1af
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2019-04-10-08-53-30.bpo-30458.51E-DA.rst
+@@ -0,0 +1 @@
++Address CVE-2019-9740 by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause an httplib.InvalidURL exception to be raised.
diff --git a/poky/meta/recipes-devtools/python/python3-dbus_1.2.12.bb b/poky/meta/recipes-devtools/python/python3-dbus_1.2.12.bb
new file mode 100644
index 000000000..d005dc4a9
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-dbus_1.2.12.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Python bindings for the DBus inter-process communication system"
+SECTION = "devel/python"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4"
+DEPENDS = "expat dbus glib-2.0 virtual/libintl"
+
+SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "428b7a9e7e2d154a7ceb3e13536283e4"
+SRC_URI[sha256sum] = "cdd4de2c4f5e58f287b12013ed7b41dee81d503c8d0d2397c5bd2fb01badf260"
+
+S = "${WORKDIR}/dbus-python-${PV}"
+
+inherit distutils3-base autotools pkgconfig
+
+# documentation needs python3-sphinx, which is not in oe-core or meta-python for now
+# change to use PACKAGECONFIG when python3-sphinx is added to oe-core
+EXTRA_OECONF += "--disable-documentation"
+
+
+RDEPENDS_${PN} = "python3-io python3-logging python3-stringold python3-threading python3-xml"
+
+FILES_${PN}-dev += "${libdir}/pkgconfig"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb b/poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb
deleted file mode 100644
index c9bf8df42..000000000
--- a/poky/meta/recipes-devtools/python/python3-dbus_1.2.8.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Python bindings for the DBus inter-process communication system"
-SECTION = "devel/python"
-HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b03240518994df6d8c974675675e5ca4"
-DEPENDS = "expat dbus dbus-glib virtual/libintl"
-
-SRC_URI = "http://dbus.freedesktop.org/releases/dbus-python/dbus-python-${PV}.tar.gz \
-"
-
-SRC_URI[md5sum] = "7379db774c10904f27e7e2743d90fb43"
-SRC_URI[sha256sum] = "abf12bbb765e300bf8e2a1b2f32f85949eab06998dbda127952c31cb63957b6f"
-S = "${WORKDIR}/dbus-python-${PV}"
-
-inherit distutils3-base autotools pkgconfig
-
-# documentation needs python3-sphinx, which is not in oe-core or meta-python for now
-# change to use PACKAGECONFIG when python3-sphinx is added to oe-core
-EXTRA_OECONF += "--disable-documentation"
-
-
-RDEPENDS_${PN} = "python3-io python3-logging python3-stringold python3-threading python3-xml"
-
-FILES_${PN}-dev += "${libdir}/pkgconfig"
diff --git a/poky/meta/recipes-devtools/python/python3-docutils_0.14.bb b/poky/meta/recipes-devtools/python/python3-docutils_0.14.bb
deleted file mode 100644
index 81a449d64..000000000
--- a/poky/meta/recipes-devtools/python/python3-docutils_0.14.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Text processing system for documentation"
-HOMEPAGE = "http://docutils.sourceforge.net"
-SECTION = "devel/python"
-LICENSE = "PSF & BSD-2-Clause & GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=35a23d42b615470583563132872c97d6"
-
-DEPENDS = "python3"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz"
-SRC_URI[md5sum] = "c53768d63db3873b7d452833553469de"
-SRC_URI[sha256sum] = "51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274"
-
-S = "${WORKDIR}/docutils-${PV}"
-
-inherit distutils3
-
-BBCLASSEXTEND = "native"
-
diff --git a/poky/meta/recipes-devtools/python/python3-docutils_0.15.bb b/poky/meta/recipes-devtools/python/python3-docutils_0.15.bb
new file mode 100644
index 000000000..f5c3f5d70
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-docutils_0.15.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Text processing system for documentation"
+HOMEPAGE = "http://docutils.sourceforge.net"
+SECTION = "devel/python"
+LICENSE = "PSF & BSD-2-Clause & GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=35a23d42b615470583563132872c97d6"
+
+DEPENDS = "python3"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/docutils/docutils-${PV}.tar.gz"
+SRC_URI[md5sum] = "f51729f19e70a9dc4837433193a5e798"
+SRC_URI[sha256sum] = "c35e87e985f70106f6f97e050f3bed990641e0e104566134b9cd23849a460e96"
+
+S = "${WORKDIR}/docutils-${PV}"
+
+inherit distutils3
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/python/python3-git_2.1.11.bb b/poky/meta/recipes-devtools/python/python3-git_2.1.11.bb
deleted file mode 100644
index ac320fa56..000000000
--- a/poky/meta/recipes-devtools/python/python3-git_2.1.11.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-git.inc
-inherit setuptools3
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.0.2.bb b/poky/meta/recipes-devtools/python/python3-git_3.0.2.bb
new file mode 100644
index 000000000..9dd753db4
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-git_3.0.2.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Python library used to interact with Git repositories"
+DESCRIPTION = "GitPython provides object model read and write access to \
+a git repository. Access repository information conveniently, alter the \
+index directly, handle remotes, or go down to low-level object database \
+access with big-files support."
+HOMEPAGE = "http://github.com/gitpython-developers/GitPython"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183"
+
+PYPI_PACKAGE = "GitPython"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "ccec14a5c9f18702406122983d80032c"
+SRC_URI[sha256sum] = "d2f4945f8260f6981d724f5957bc076398ada55cb5d25aaee10108bcdc894100"
+
+DEPENDS += " ${PYTHON_PN}-gitdb"
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-datetime \
+ ${PYTHON_PN}-gitdb \
+ ${PYTHON_PN}-io \
+ ${PYTHON_PN}-logging \
+ ${PYTHON_PN}-math \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-stringold \
+ ${PYTHON_PN}-unittest \
+ ${PYTHON_PN}-unixadmin \
+ git \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb b/poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb
deleted file mode 100644
index 17803f1b0..000000000
--- a/poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb
+++ /dev/null
@@ -1,3 +0,0 @@
-inherit setuptools3
-require python-mako.inc
-
diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb b/poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb
new file mode 100644
index 000000000..b139e5ab0
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-mako_1.1.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Templating library for Python"
+HOMEPAGE = "http://www.makotemplates.org/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=df7e6c7c82990acf0228a55e00d29bc9"
+
+PYPI_PACKAGE = "Mako"
+
+inherit pypi setuptools3
+
+SRC_URI[md5sum] = "6c3f2da0b74af529a4c4a537d0848bf2"
+SRC_URI[sha256sum] = "a36919599a9b7dc5d86a7a8988f23a9a3a3d083070023bab23d64f7f1d1e0a4b"
+
+RDEPENDS_${PN} = "${PYTHON_PN}-html \
+ ${PYTHON_PN}-netclient \
+ ${PYTHON_PN}-threading \
+"
+
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native nativesdk"
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
deleted file mode 100644
index ed6832e4a..000000000
--- a/poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-inherit setuptools3
-require python-pbr.inc
-SRC_URI[md5sum] = "2bca008fd08d035a2f78c606d876a6db"
-SRC_URI[sha256sum] = "d950c64aeea5456bbd147468382a5bb77fe692c13c9f00f0219814ce5b642755"
-
diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb
new file mode 100644
index 000000000..e7835e7a9
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pbr_5.4.3.bb
@@ -0,0 +1,5 @@
+inherit setuptools3
+require python-pbr.inc
+
+SRC_URI[md5sum] = "477d2aa285ad97250a172b199f4060b7"
+SRC_URI[sha256sum] = "2c8e420cd4ed4cec4e7999ee47409e876af575d4c35a45840d59e8b5f3155ab8"
diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb b/poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb
deleted file mode 100644
index baf32f472..000000000
--- a/poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "The PyPA recommended tool for installing Python packages"
-HOMEPAGE = "https://pypi.python.org/pypi/pip"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e"
-
-DEPENDS += "python3 python3-setuptools-native"
-
-SRC_URI[md5sum] = "4fb98a060f21c731d6743b90a714fc73"
-SRC_URI[sha256sum] = "44d3d7d3d30a1eb65c7e5ff1173cdf8f7467850605ac7cc3707b6064bddd0958"
-
-inherit pypi distutils3
-
-do_install_append() {
- # Install as pip3 and leave pip2 as default
- rm ${D}/${bindir}/pip
-}
-
-RDEPENDS_${PN} = "\
- python3-compile \
- python3-io \
- python3-html \
- python3-json \
- python3-netserver \
- python3-setuptools \
- python3-unixadmin \
- python3-xmlrpc \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.2.3.bb b/poky/meta/recipes-devtools/python/python3-pip_19.2.3.bb
new file mode 100644
index 000000000..019e327e0
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pip_19.2.3.bb
@@ -0,0 +1,31 @@
+SUMMARY = "The PyPA recommended tool for installing Python packages"
+HOMEPAGE = "https://pypi.python.org/pypi/pip"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e"
+
+DEPENDS += "python3 python3-setuptools-native"
+
+SRC_URI[md5sum] = "f417444c66a0db1a82c8d9d2283a2f95"
+SRC_URI[sha256sum] = "e7a31f147974362e6c82d84b91c7f2bdf57e4d3163d3d454e6c3e71944d67135"
+
+inherit pypi distutils3
+
+do_install_append() {
+ # Install as pip3 and leave pip2 as default
+ rm ${D}/${bindir}/pip
+}
+
+RDEPENDS_${PN} = "\
+ python3-compile \
+ python3-io \
+ python3-html \
+ python3-json \
+ python3-netserver \
+ python3-setuptools \
+ python3-unixadmin \
+ python3-xmlrpc \
+ python3-pickle \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.32.1.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.32.1.bb
deleted file mode 100644
index 8eda06e9e..000000000
--- a/poky/meta/recipes-devtools/python/python3-pygobject_3.32.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Python GObject bindings"
-SECTION = "devel/python"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase distutils3-base gobject-introspection upstream-version-is-even
-
-DEPENDS += "python3 glib-2.0"
-
-SRCNAME="pygobject"
-SRC_URI = " \
- http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
- file://0001-Do-not-build-tests.patch \
-"
-
-UNKNOWN_CONFIGURE_WHITELIST = "introspection"
-
-SRC_URI[md5sum] = "9d5dbca10162dd9b0d03fed0c6cf865d"
-SRC_URI[sha256sum] = "32c99def94b8dea5ce9e4bc99576ef87591ea779b4db77cfdca7af81b76d04d8"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}"
-
-# python3-pycairo is checked on configuration -> DEPENDS
-# we don't link against python3-pycairo -> RDEPENDS
-PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python3-pycairo, python3-pycairo"
-
-RDEPENDS_${PN} += "python3-setuptools"
-
-BBCLASSEXTEND = "native"
-PACKAGECONFIG_class-native = ""
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.34.0.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.34.0.bb
new file mode 100644
index 000000000..6babf0cae
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.34.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Python GObject bindings"
+SECTION = "devel/python"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase distutils3-base gobject-introspection upstream-version-is-even
+
+DEPENDS += "python3 glib-2.0"
+
+SRCNAME="pygobject"
+
+SRC_URI = " \
+ http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz \
+ file://0001-Do-not-build-tests.patch \
+"
+SRC_URI[md5sum] = "ca1dc4f31c1d6d283758e8f315a88ab6"
+SRC_URI[sha256sum] = "87e2c9aa785f352ef111dcc5f63df9b85cf6e05e52ff04f803ffbebdacf5271a"
+
+UNKNOWN_CONFIGURE_WHITELIST = "introspection"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wayland', 'x11' ], 'cairo', '', d)}"
+
+RDEPENDS_${PN} += "python3-pkgutil"
+
+# python3-pycairo is checked on configuration -> DEPENDS
+# we don't link against python3-pycairo -> RDEPENDS
+PACKAGECONFIG[cairo] = "-Dpycairo=true,-Dpycairo=false, cairo python3-pycairo, python3-pycairo"
+
+BBCLASSEXTEND = "native"
+PACKAGECONFIG_class-native = ""
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.1.1.bb
index 5cd595662..5cd595662 100644
--- a/poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb
+++ b/poky/meta/recipes-devtools/python/python3-scons-native_3.1.1.bb
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
deleted file mode 100644
index 7fb75a627..000000000
--- a/poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-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-scons_3.1.1.bb b/poky/meta/recipes-devtools/python/python3-scons_3.1.1.bb
new file mode 100644
index 000000000..0c7aaeaee
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-scons_3.1.1.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] = "35b2a3993313bbedd221d4d5758fd2fd"
+SRC_URI[sha256sum] = "4cea417fdd7499a36f407923d03b4b7000b0f9e8fd7b31b316b9ce7eba9143a5"
+
+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-setuptools_41.0.1.bb b/poky/meta/recipes-devtools/python/python3-setuptools_41.2.0.bb
index 0dc1ed862..0dc1ed862 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_41.0.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_41.2.0.bb
diff --git a/poky/meta/recipes-devtools/python/python3-subunit_1.3.0.bb b/poky/meta/recipes-devtools/python/python3-subunit_1.3.0.bb
index 2ece4451d..55066e2d0 100644
--- a/poky/meta/recipes-devtools/python/python3-subunit_1.3.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-subunit_1.3.0.bb
@@ -1,2 +1,4 @@
inherit setuptools3
require python-subunit.inc
+
+RDEPENDS_${PN} = " python3-testtools"
diff --git a/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch b/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch
new file mode 100644
index 000000000..957839bf3
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch
@@ -0,0 +1,35 @@
+From 6c8ea7c1dacd42f3ba00440231ec0e6b1a38300d Mon Sep 17 00:00:00 2001
+From: Inada Naoki <songofacandy@gmail.com>
+Date: Sat, 14 Jul 2018 00:46:11 +0900
+Subject: [PATCH] Use FLAG_REF always for interned strings
+
+Upstream-Status: Submitted [https://github.com/python/cpython/pull/8226]
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+---
+ Python/marshal.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/Python/marshal.c b/Python/marshal.c
+index 6d06266c6a..51db2e3b2e 100644
+--- a/Python/marshal.c
++++ b/Python/marshal.c
+@@ -275,9 +275,14 @@ w_ref(PyObject *v, char *flag, WFILE *p)
+ if (p->version < 3 || p->hashtable == NULL)
+ return 0; /* not writing object references */
+
+- /* if it has only one reference, it definitely isn't shared */
+- if (Py_REFCNT(v) == 1)
++ /* If it has only one reference, it definitely isn't shared.
++ * But we use TYPE_REF always for interned string, to PYC file stable
++ * as possible.
++ */
++ if (Py_REFCNT(v) == 1 &&
++ !(PyUnicode_CheckExact(v) && PyUnicode_CHECK_INTERNED(v))) {
+ return 0;
++ }
+
+ entry = _Py_HASHTABLE_GET_ENTRY(p->hashtable, v);
+ if (entry != NULL) {
+--
+2.21.0
+
diff --git a/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch b/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch
new file mode 100644
index 000000000..35b7e0c48
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch
@@ -0,0 +1,46 @@
+From b94995e0c694ec9561efec0d1a59b323340e6105 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 5 Aug 2019 15:57:39 +0800
+Subject: [PATCH] test_locale.py: correct the test output format
+
+Before this patch:
+ # python3 -m test -v test_locale
+ [snip]
+ test_getsetlocale_issue1813 (test.test_locale.TestMiscellaneous) ... testing with ('tr_TR', 'ISO8859-9') ok
+ [snip]
+
+ After this patch:
+ # python3 -m test -v test_locale
+ [snip]
+ test_getsetlocale_issue1813 (test.test_locale.TestMiscellaneous) ... testing with ('tr_TR', 'ISO8859-9')... ok
+ [snip]
+
+ Make the test ended with "... ok" is common in python
+ unittest world, we should make it keep consistent
+ with other test cases in case it may be ignored to
+ record in the report if we use the common filter
+ "... ok".
+
+Upstream-Status: Submitted [https://github.com/python/cpython/pull/15132]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ Lib/test/test_locale.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
+index e2c2178..558d63c 100644
+--- a/Lib/test/test_locale.py
++++ b/Lib/test/test_locale.py
+@@ -527,7 +527,7 @@ class TestMiscellaneous(unittest.TestCase):
+ self.skipTest('test needs Turkish locale')
+ loc = locale.getlocale(locale.LC_CTYPE)
+ if verbose:
+- print('testing with %a' % (loc,), end=' ', flush=True)
++ print('testing with %a...' % (loc,), end=' ', flush=True)
+ locale.setlocale(locale.LC_CTYPE, loc)
+ self.assertEqual(loc, locale.getlocale(locale.LC_CTYPE))
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
index 35213171b..0bafec73c 100644
--- a/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
+++ b/poky/meta/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch
@@ -1,4 +1,4 @@
-From 12900d498bb77bcc990868a80eaf0ab257b88fff Mon Sep 17 00:00:00 2001
+From 6229502e5ae6cbb22240594f002638e9ef78f831 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 14 May 2013 15:00:26 -0700
Subject: [PATCH] python3: Add target and native recipes
@@ -14,36 +14,40 @@ Upstream-Status: Inappropriate [embedded specific]
# Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
---
- Lib/distutils/sysconfig.py | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
+ Lib/distutils/sysconfig.py | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
-index 6b8c129..3ca7f79 100644
+index 3dfd0a3..6c6b09a 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
-@@ -84,7 +84,9 @@ def get_python_inc(plat_specific=0, prefix=None):
+@@ -97,7 +97,9 @@ def get_python_inc(plat_specific=0, prefix=None):
If 'prefix' is supplied, use it instead of sys.base_prefix or
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
"""
- if prefix is None:
-+ if prefix is None and os.environ['STAGING_INCDIR'] != "":
++ if prefix is None and os.environ.get('STAGING_INCDIR', ""):
+ prefix = os.environ['STAGING_INCDIR'].rstrip('include')
+ elif prefix is None:
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
if os.name == "posix":
if python_build:
-@@ -122,6 +124,10 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
+@@ -140,7 +142,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
If 'prefix' is supplied, use it instead of sys.base_prefix or
sys.base_exec_prefix -- i.e., ignore 'plat_specific'.
"""
-+ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1]
-+ if prefix is None and os.environ['STAGING_LIBDIR'] != "":
+- if prefix is None:
++ if os.environ.get('STAGING_LIBDIR', ""):
++ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1]
++ else:
++ lib_basename = "lib"
++ if prefix is None and os.environ.get('STAGING_LIBDIR', ""):
+ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename)
-+
- if prefix is None:
++ elif prefix is None:
if standard_lib:
prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX
-@@ -130,7 +136,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
+ else:
+@@ -148,7 +156,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
if os.name == "posix":
libpython = os.path.join(prefix,
diff --git a/poky/meta/recipes-devtools/python/python3/python3-manifest.json b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
index 0803ac003..1ad85a9ff 100644
--- a/poky/meta/recipes-devtools/python/python3/python3-manifest.json
+++ b/poky/meta/recipes-devtools/python/python3/python3-manifest.json
@@ -115,7 +115,7 @@
"cached": []
},
"asyncio": {
- "summary": "Python Asynchronous I/",
+ "summary": "Python Asynchronous I/O",
"rdepends": [
"core",
"io",
@@ -291,6 +291,7 @@
"${libdir}/python${PYTHON_MAJMIN}/re.py",
"${libdir}/python${PYTHON_MAJMIN}/reprlib.py",
"${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py",
+ "${libdir}/python${PYTHON_MAJMIN}/runpy.py",
"${libdir}/python${PYTHON_MAJMIN}/selectors.py",
"${libdir}/python${PYTHON_MAJMIN}/signal.py",
"${libdir}/python${PYTHON_MAJMIN}/site.py",
@@ -355,6 +356,7 @@
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc",
+ "${libdir}/python${PYTHON_MAJMIN}/__pycache__/runpy.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/selectors.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/signal.*.pyc",
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/site.*.pyc",
@@ -512,17 +514,15 @@
"${libdir}/python${PYTHON_MAJMIN}/__pycache__/difflib.*.pyc"
]
},
- "distutils-staticdev": {
- "cached": [
- "${libdir}/python${PYTHON_MAJMIN}/config/__pycache__/lib*.a"
- ],
+ "distutils-windows": {
+ "cached": [],
"files": [
- "${libdir}/python${PYTHON_MAJMIN}/config/lib*.a"
+ "${libdir}/python${PYTHON_MAJMIN}/distutils/command/wininst-*.exe"
],
"rdepends": [
"distutils"
],
- "summary": "Python distribution utilities (static libraries)"
+ "summary": "Python distribution utilities (Windows installer stubs)"
},
"distutils": {
"summary": "Python Distribution Utilities",
@@ -785,7 +785,6 @@
"profile",
"pydoc",
"resource",
- "runpy",
"shell",
"smtpd",
"sqlite3",
@@ -801,6 +800,9 @@
"xml",
"xmlrpc"
],
+ "rrecommends": [
+ "distutils-windows"
+ ],
"summary": "All Python modules"
},
"multiprocessing": {
@@ -1004,19 +1006,6 @@
],
"cached": []
},
- "runpy": {
- "summary": "Python helper for locating/executing scripts in module namespace",
- "rdepends": [
- "core",
- "pkgutil"
- ],
- "files": [
- "${libdir}/python${PYTHON_MAJMIN}/runpy.py"
- ],
- "cached": [
- "${libdir}/python${PYTHON_MAJMIN}/__pycache__/runpy.*.pyc"
- ]
- },
"shell": {
"summary": "Python shell-like functionality",
"rdepends": [
diff --git a/poky/meta/recipes-devtools/python/python3_3.7.3.bb b/poky/meta/recipes-devtools/python/python3_3.7.3.bb
deleted file mode 100644
index 3409d94ba..000000000
--- a/poky/meta/recipes-devtools/python/python3_3.7.3.bb
+++ /dev/null
@@ -1,318 +0,0 @@
-SUMMARY = "The Python Programming Language"
-HOMEPAGE = "http://www.python.org"
-LICENSE = "PSFv2"
-SECTION = "devel/python"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e466242989bd33c1bd2b6a526a742498"
-
-SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
- file://run-ptest \
- file://create_manifest3.py \
- file://get_module_deps3.py \
- file://python3-manifest.json \
- file://check_build_completeness.py \
- file://cgi_py.patch \
- file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \
- ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
- file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \
- file://python-config.patch \
- file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
- file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \
- file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
- file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \
- 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 = " \
- file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \
- file://12-distutils-prefix-is-inside-staging-area.patch \
- "
-SRC_URI_append_class-nativesdk = " \
- file://0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch \
- "
-
-SRC_URI[md5sum] = "93df27aec0cd18d6d42173e601ffbbfd"
-SRC_URI[sha256sum] = "da60b54064d4cfcd9c26576f6df2690e62085123826cff2e667e72a91952d318"
-
-# exclude pre-releases for both python 2.x and 3.x
-UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
-
-CVE_PRODUCT = "python"
-
-PYTHON_MAJMIN = "3.7"
-PYTHON_BINABI = "${PYTHON_MAJMIN}m"
-
-S = "${WORKDIR}/Python-${PV}"
-
-BBCLASSEXTEND = "native nativesdk"
-
-inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
-
-MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
-
-ALTERNATIVE_${PN}-dev = "python-config"
-ALTERNATIVE_LINK_NAME[python-config] = "${bindir}/python${PYTHON_BINABI}-config"
-ALTERNATIVE_TARGET[python-config] = "${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}"
-
-
-DEPENDS = "bzip2-replacement-native libffi bzip2 gdbm openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2"
-DEPENDS_append_class-target = " python3-native"
-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"
-
-CACHED_CONFIGUREVARS = " \
- ac_cv_file__dev_ptmx=yes \
- 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 ${PACKAGECONFIG_PGO}"
-PACKAGECONFIG_class-native ??= "readline"
-PACKAGECONFIG_class-nativesdk ??= "readline"
-PACKAGECONFIG[readline] = ",,readline"
-# Use profile guided optimisation by running PyBench inside qemu-user
-PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native"
-PACKAGECONFIG[tk] = ",,tk"
-
-CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid"
-
-EXTRA_OEMAKE = '\
- STAGING_LIBDIR=${STAGING_LIBDIR} \
- STAGING_INCDIR=${STAGING_INCDIR} \
- LIB=${baselib} \
-'
-
-do_compile_prepend_class-target() {
- if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then
- qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}"
- cat >pgo-wrapper <<EOF
-#!/bin/sh
-cd ${B}
-$qemu_binary "\$@"
-EOF
- chmod +x pgo-wrapper
- fi
-}
-
-do_install_prepend() {
- ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile
-}
-
-do_install_append_class-target() {
- oe_multilib_header python${PYTHON_BINABI}/pyconfig.h
-}
-
-do_install_append_class-native() {
- # Make sure we use /usr/bin/env python
- for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do
- sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
- done
- # Add a symlink to the native Python so that scripts can just invoke
- # "nativepython" and get the right one without needing absolute paths
- # (these often end up too long for the #! parser in the kernel as the
- # buffer is 128 bytes long).
- ln -s python3-native/python3 ${D}${bindir}/nativepython3
-}
-
-do_install_append() {
- mkdir -p ${D}${libdir}/python-sysconfigdata
- sysconfigfile=`find ${D} -name _sysconfig*.py`
- cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
-
- sed -i \
- -e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \
- -e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
- -e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
- -e "/^ 'INCLDIRSTOMAKE'/{N; s,/usr/include,${STAGING_INCDIR},g}" \
- -e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \
- ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
-}
-
-do_install_append_class-nativesdk () {
- create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} OEPYTHON3HOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
-}
-
-SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py"
-PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
-
-py_package_preprocess () {
- # Remove references to buildmachine paths in target Makefile and _sysconfigdata
- sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- -e 's:${HOSTTOOLS_DIR}/::g' \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- -e 's:${RECIPE_SYSROOT}::g' \
- -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- ${PKGD}/${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \
- ${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`
- ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
- -c "from py_compile import compile; compile('$sysconfigfile')"
- ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
- -c "from py_compile import compile; compile('$sysconfigfile', optimize=1)"
- ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
- -c "from py_compile import compile; compile('$sysconfigfile', optimize=2)"
- cd -
-
- mv ${PKGD}/${bindir}/python${PYTHON_BINABI}-config ${PKGD}/${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}
-
- #Remove the unneeded copy of target sysconfig data
- rm -rf ${PKGD}/${libdir}/python-sysconfigdata
-}
-
-# We want bytecode precompiled .py files (.pyc's) by default
-# but the user may set it on their own conf
-INCLUDE_PYCS ?= "1"
-
-python(){
- import collections, json
-
- filename = os.path.join(d.getVar('THISDIR'), 'python3', 'python3-manifest.json')
- # This python changes the datastore based on the contents of a file, so mark
- # that dependency.
- bb.parse.mark_dependency(d, filename)
-
- with open(filename) as manifest_file:
- manifest_str = manifest_file.read()
- json_start = manifest_str.find('# EOC') + 6
- manifest_file.seek(json_start)
- manifest_str = manifest_file.read()
- python_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict)
-
- # First set RPROVIDES for -native case
- # Hardcoded since it cant be python3-native-foo, should be python3-foo-native
- pn = 'python3'
- rprovides = d.getVar('RPROVIDES').split()
-
- for key in python_manifest:
- pypackage = pn + '-' + key + '-native'
- if pypackage not in rprovides:
- rprovides.append(pypackage)
-
- d.setVar('RPROVIDES_class-native', ' '.join(rprovides))
-
- # Then work on the target
- include_pycs = d.getVar('INCLUDE_PYCS')
-
- packages = d.getVar('PACKAGES').split()
- pn = d.getVar('PN')
-
- newpackages=[]
- for key in python_manifest:
- pypackage= pn + '-' + key
-
- if pypackage not in packages:
- # We need to prepend, otherwise python-misc gets everything
- # so we use a new variable
- newpackages.append(pypackage)
-
- # "Build" python's manifest FILES, RDEPENDS and SUMMARY
- d.setVar('FILES_' + pypackage, '')
- for value in python_manifest[key]['files']:
- d.appendVar('FILES_' + pypackage, ' ' + value)
-
- # Add cached files
- if include_pycs == '1':
- for value in python_manifest[key]['cached']:
- d.appendVar('FILES_' + pypackage, ' ' + value)
-
- for value in python_manifest[key]['rdepends']:
- # Make it work with or without $PN
- if '${PN}' in value:
- value=value.split('-')[1]
- d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
- d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
-
- # Prepending so to avoid python-misc getting everything
- packages = newpackages + packages
- d.setVar('PACKAGES', ' '.join(packages))
- d.setVar('ALLOW_EMPTY_${PN}-modules', '1')
-}
-
-# Files needed to create a new manifest
-
-do_create_manifest() {
- # This task should be run with every new release of Python.
- # We must ensure that PACKAGECONFIG enables everything when creating
- # a new manifest, this is to base our new manifest on a complete
- # native python build, containing all dependencies, otherwise the task
- # wont be able to find the required files.
- # e.g. BerkeleyDB is an optional build dependency so it may or may not
- # be present, we must ensure it is.
-
- cd ${WORKDIR}
- # This needs to be executed by python-native and NOT by HOST's python
- nativepython3 create_manifest3.py ${PYTHON_MAJMIN}
- cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json
-}
-
-# bitbake python -c create_manifest
-addtask do_create_manifest
-
-# Make sure we have native python ready when we create a new manifest
-do_create_manifest[depends] += "${PN}:do_prepare_recipe_sysroot"
-do_create_manifest[depends] += "${PN}:do_patch"
-
-# manual dependency additions
-RPROVIDES_${PN}-modules = "${PN}"
-RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"
-RRECOMMENDS_${PN}-crypt_append_class-target = " openssl ca-certificates"
-RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
-
-FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
-FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
-
-# provide python-pyvenv from python3-venv
-RPROVIDES_${PN}-venv += "python3-pyvenv"
-
-# package libpython3
-PACKAGES =+ "libpython3 libpython3-staticdev"
-FILES_libpython3 = "${libdir}/libpython*.so.*"
-FILES_libpython3-staticdev += "${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}-*/libpython${PYTHON_BINABI}.a"
-INSANE_SKIP_${PN}-dev += "dev-elf"
-
-# catch all the rest (unsorted)
-PACKAGES += "${PN}-misc"
-RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs"
-RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
-RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
-FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
-
-# catch manpage
-PACKAGES += "${PN}-man"
-FILES_${PN}-man = "${datadir}/man"
-
-RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip bzip2 libgcc tzdata-europe coreutils sed"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9"
-RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk', '', d)}"
-RDEPENDS_${PN}-dev = ""
-
diff --git a/poky/meta/recipes-devtools/python/python3_3.7.4.bb b/poky/meta/recipes-devtools/python/python3_3.7.4.bb
new file mode 100644
index 000000000..8693c446c
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3_3.7.4.bb
@@ -0,0 +1,326 @@
+SUMMARY = "The Python Programming Language"
+HOMEPAGE = "http://www.python.org"
+LICENSE = "PSFv2"
+SECTION = "devel/python"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e466242989bd33c1bd2b6a526a742498"
+
+SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
+ file://run-ptest \
+ file://create_manifest3.py \
+ file://get_module_deps3.py \
+ file://python3-manifest.json \
+ file://check_build_completeness.py \
+ file://cgi_py.patch \
+ file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \
+ ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \
+ file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \
+ file://python-config.patch \
+ file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
+ file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \
+ file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
+ file://0002-Don-t-do-runtime-test-to-get-float-byte-order.patch \
+ 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 \
+ file://0001-Use-FLAG_REF-always-for-interned-strings.patch \
+ file://0001-test_locale.py-correct-the-test-output-format.patch \
+ "
+
+SRC_URI_append_class-native = " \
+ file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \
+ file://12-distutils-prefix-is-inside-staging-area.patch \
+ "
+SRC_URI_append_class-nativesdk = " \
+ file://0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch \
+ "
+
+SRC_URI[md5sum] = "d33e4aae66097051c2eca45ee3604803"
+SRC_URI[sha256sum] = "fb799134b868199930b75f26678f18932214042639cd52b16da7fd134cd9b13f"
+
+# exclude pre-releases for both python 2.x and 3.x
+UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
+
+CVE_PRODUCT = "python"
+
+PYTHON_MAJMIN = "3.7"
+PYTHON_BINABI = "${PYTHON_MAJMIN}m"
+
+S = "${WORKDIR}/Python-${PV}"
+
+BBCLASSEXTEND = "native nativesdk"
+
+inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
+
+MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
+
+ALTERNATIVE_${PN}-dev = "python-config"
+ALTERNATIVE_LINK_NAME[python-config] = "${bindir}/python${PYTHON_BINABI}-config"
+ALTERNATIVE_TARGET[python-config] = "${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}"
+
+
+DEPENDS = "bzip2-replacement-native libffi bzip2 gdbm openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2"
+DEPENDS_append_class-target = " python3-native"
+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"
+
+CACHED_CONFIGUREVARS = " \
+ ac_cv_file__dev_ptmx=yes \
+ 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 ${PACKAGECONFIG_PGO}"
+PACKAGECONFIG_class-native ??= "readline"
+PACKAGECONFIG_class-nativesdk ??= "readline"
+PACKAGECONFIG[readline] = ",,readline"
+# Use profile guided optimisation by running PyBench inside qemu-user
+PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native"
+PACKAGECONFIG[tk] = ",,tk"
+
+CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid"
+
+EXTRA_OEMAKE = '\
+ STAGING_LIBDIR=${STAGING_LIBDIR} \
+ STAGING_INCDIR=${STAGING_INCDIR} \
+ LIB=${baselib} \
+'
+
+do_compile_prepend_class-target() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then
+ qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}"
+ cat >pgo-wrapper <<EOF
+#!/bin/sh
+cd ${B}
+$qemu_binary "\$@"
+EOF
+ chmod +x pgo-wrapper
+ fi
+}
+
+do_install_prepend() {
+ ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile
+}
+
+do_install_append_class-target() {
+ oe_multilib_header python${PYTHON_BINABI}/pyconfig.h
+}
+
+do_install_append_class-native() {
+ # Make sure we use /usr/bin/env python
+ for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do
+ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
+ done
+ # Add a symlink to the native Python so that scripts can just invoke
+ # "nativepython" and get the right one without needing absolute paths
+ # (these often end up too long for the #! parser in the kernel as the
+ # buffer is 128 bytes long).
+ ln -s python3-native/python3 ${D}${bindir}/nativepython3
+}
+
+do_install_append() {
+ mkdir -p ${D}${libdir}/python-sysconfigdata
+ sysconfigfile=`find ${D} -name _sysconfig*.py`
+ cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
+
+ sed -i \
+ -e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \
+ -e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
+ -e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \
+ -e "/^ 'INCLDIRSTOMAKE'/{N; s,/usr/include,${STAGING_INCDIR},g}" \
+ -e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \
+ ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py
+}
+
+do_install_append_class-nativesdk () {
+ create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} OEPYTHON3HOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
+}
+
+SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py"
+PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"
+
+py_package_preprocess () {
+ # Remove references to buildmachine paths in target Makefile and _sysconfigdata
+ sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's:${HOSTTOOLS_DIR}/::g' \
+ -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+ -e 's:${RECIPE_SYSROOT}::g' \
+ -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
+ ${PKGD}/${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \
+ ${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`
+ ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
+ -c "from py_compile import compile; compile('$sysconfigfile')"
+ ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
+ -c "from py_compile import compile; compile('$sysconfigfile', optimize=1)"
+ ${STAGING_BINDIR_NATIVE}/python3-native/python3 \
+ -c "from py_compile import compile; compile('$sysconfigfile', optimize=2)"
+ cd -
+
+ mv ${PKGD}/${bindir}/python${PYTHON_BINABI}-config ${PKGD}/${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}
+
+ #Remove the unneeded copy of target sysconfig data
+ rm -rf ${PKGD}/${libdir}/python-sysconfigdata
+}
+
+# We want bytecode precompiled .py files (.pyc's) by default
+# but the user may set it on their own conf
+INCLUDE_PYCS ?= "1"
+
+python(){
+ import collections, json
+
+ filename = os.path.join(d.getVar('THISDIR'), 'python3', 'python3-manifest.json')
+ # This python changes the datastore based on the contents of a file, so mark
+ # that dependency.
+ bb.parse.mark_dependency(d, filename)
+
+ with open(filename) as manifest_file:
+ manifest_str = manifest_file.read()
+ json_start = manifest_str.find('# EOC') + 6
+ manifest_file.seek(json_start)
+ manifest_str = manifest_file.read()
+ python_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict)
+
+ # First set RPROVIDES for -native case
+ # Hardcoded since it cant be python3-native-foo, should be python3-foo-native
+ pn = 'python3'
+ rprovides = d.getVar('RPROVIDES').split()
+
+ for key in python_manifest:
+ pypackage = pn + '-' + key + '-native'
+ if pypackage not in rprovides:
+ rprovides.append(pypackage)
+
+ d.setVar('RPROVIDES_class-native', ' '.join(rprovides))
+
+ # Then work on the target
+ include_pycs = d.getVar('INCLUDE_PYCS')
+
+ packages = d.getVar('PACKAGES').split()
+ pn = d.getVar('PN')
+
+ newpackages=[]
+ for key in python_manifest:
+ pypackage = pn + '-' + key
+
+ if pypackage not in packages:
+ # We need to prepend, otherwise python-misc gets everything
+ # so we use a new variable
+ newpackages.append(pypackage)
+
+ # "Build" python's manifest FILES, RDEPENDS and SUMMARY
+ d.setVar('FILES_' + pypackage, '')
+ for value in python_manifest[key]['files']:
+ d.appendVar('FILES_' + pypackage, ' ' + value)
+
+ # Add cached files
+ if include_pycs == '1':
+ for value in python_manifest[key]['cached']:
+ d.appendVar('FILES_' + pypackage, ' ' + value)
+
+ for value in python_manifest[key]['rdepends']:
+ # Make it work with or without $PN
+ if '${PN}' in value:
+ value=value.split('-', 1)[1]
+ d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
+
+ for value in python_manifest[key].get('rrecommends', ()):
+ if '${PN}' in value:
+ value=value.split('-', 1)[1]
+ d.appendVar('RRECOMMENDS_' + pypackage, ' ' + pn + '-' + value)
+
+ d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
+
+ # Prepending so to avoid python-misc getting everything
+ packages = newpackages + packages
+ d.setVar('PACKAGES', ' '.join(packages))
+ d.setVar('ALLOW_EMPTY_${PN}-modules', '1')
+}
+
+# Files needed to create a new manifest
+
+do_create_manifest() {
+ # This task should be run with every new release of Python.
+ # We must ensure that PACKAGECONFIG enables everything when creating
+ # a new manifest, this is to base our new manifest on a complete
+ # native python build, containing all dependencies, otherwise the task
+ # wont be able to find the required files.
+ # e.g. BerkeleyDB is an optional build dependency so it may or may not
+ # be present, we must ensure it is.
+
+ cd ${WORKDIR}
+ # This needs to be executed by python-native and NOT by HOST's python
+ nativepython3 create_manifest3.py ${PYTHON_MAJMIN}
+ cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json
+}
+
+# bitbake python -c create_manifest
+addtask do_create_manifest
+
+# Make sure we have native python ready when we create a new manifest
+do_create_manifest[depends] += "${PN}:do_prepare_recipe_sysroot"
+do_create_manifest[depends] += "${PN}:do_patch"
+
+# manual dependency additions
+RPROVIDES_${PN}-modules = "${PN}"
+RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"
+RRECOMMENDS_${PN}-crypt_append_class-target = " openssl ca-certificates"
+RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates"
+
+FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"
+FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"
+
+# provide python-pyvenv from python3-venv
+RPROVIDES_${PN}-venv += "python3-pyvenv"
+
+# package libpython3
+PACKAGES =+ "libpython3 libpython3-staticdev"
+FILES_libpython3 = "${libdir}/libpython*.so.*"
+FILES_libpython3-staticdev += "${prefix}/lib/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}-*/libpython${PYTHON_BINABI}.a"
+INSANE_SKIP_${PN}-dev += "dev-elf"
+
+# catch all the rest (unsorted)
+PACKAGES += "${PN}-misc"
+RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle"
+RDEPENDS_${PN}-modules_append_class-target = " python3-misc"
+RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc"
+FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload"
+
+# catch manpage
+PACKAGES += "${PN}-man"
+FILES_${PN}-man = "${datadir}/man"
+
+RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip bzip2 libgcc tzdata-europe coreutils sed"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9"
+RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}"
+RDEPENDS_${PN}-dev = ""
+
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 5f387b8af..5b856a509 100644
--- a/poky/meta/recipes-devtools/python/python_2.7.16.bb
+++ b/poky/meta/recipes-devtools/python/python_2.7.16.bb
@@ -30,10 +30,6 @@ 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}"
@@ -177,7 +173,7 @@ RDEPENDS_${PN}-modules += "${PN}-misc"
# ptest
RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests unzip tzdata-europe coreutils sed"
-RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk', '', d)}"
+RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}"
# catch manpage
PACKAGES += "${PN}-man"
FILES_${PN}-man = "${datadir}/man"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native.inc b/poky/meta/recipes-devtools/qemu/qemu-native.inc
index 34ab8e640..69c2c43e6 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-native.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu-native.inc
@@ -3,10 +3,9 @@ inherit native
require qemu.inc
SRC_URI_append = " \
- file://0011-fix-libcap-header-issue-on-some-distro.patch \
- file://0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \
+ file://0010-fix-libcap-header-issue-on-some-distro.patch \
+ file://0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch \
"
-EXTRA_OECONF_append = " --python=python2.7"
EXTRA_OEMAKE_append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'"
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu-native_4.1.0.bb
index c8acff8e1..c8acff8e1 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-native_4.0.0.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-native_4.1.0.bb
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
deleted file mode 100644
index 964dcee52..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-BPN = "qemu"
-
-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 bison-native"
-
-EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
-
-PACKAGECONFIG ??= "fdt alsa kvm"
-
-# Handle distros such as CentOS 5 32-bit that do not have kvm support
-PACKAGECONFIG_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
-
-do_install_append() {
- install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
-
- # The following is also installed by qemu-native
- rm -f ${D}${datadir}/qemu/trace-events-all
- rm -rf ${D}${datadir}/qemu/keymaps
- rm -rf ${D}${datadir}/icons/
-}
diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.1.0.bb
new file mode 100644
index 000000000..d83ee5937
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.1.0.bb
@@ -0,0 +1,24 @@
+BPN = "qemu"
+
+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 bison-native"
+
+EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}"
+
+PACKAGECONFIG ??= "fdt alsa kvm"
+
+# Handle distros such as CentOS 5 32-bit that do not have kvm support
+PACKAGECONFIG_remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
+
+do_install_append() {
+ install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
+
+ # The following is also installed by qemu-native
+ rm -f ${D}${datadir}/qemu/trace-events-all
+ rm -rf ${D}${datadir}/qemu/keymaps
+ rm -rf ${D}${datadir}/icons/
+}
diff --git a/poky/meta/recipes-devtools/qemu/qemu-targets.inc b/poky/meta/recipes-devtools/qemu/qemu-targets.inc
index 550d6f0ab..8184ef578 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-targets.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu-targets.inc
@@ -13,7 +13,7 @@ def get_qemu_target_list(d):
softmmuonly += arch + "-softmmu,"
archs.remove(arch)
linuxuseronly = ""
- for arch in ['armeb', 'alpha', 'ppc64abi32', 'sparc32plus']:
+ for arch in ['armeb', 'alpha', 'ppc64abi32', 'sparc32plus', 'aarch64_be']:
if arch in archs:
linuxuseronly += arch + "-linux-user,"
archs.remove(arch)
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index ac475a8e2..de21d3073 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -5,7 +5,7 @@ LICENSE = "GPLv2 & LGPLv2.1"
RDEPENDS_${PN}-ptest = "bash make"
require qemu-targets.inc
-inherit pkgconfig bluetooth ptest
+inherit pkgconfig ptest
LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"
@@ -17,18 +17,18 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
file://0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
file://0004-qemu-disable-Valgrind.patch \
- file://0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch \
- file://0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \
- file://0007-chardev-connect-socket-to-a-spawned-command.patch \
- 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-target-arm-Fix-vector-operation-segfault.patch \
+ file://0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch \
+ file://0006-chardev-connect-socket-to-a-spawned-command.patch \
+ file://0007-apic-fixup-fallthrough-to-PIC.patch \
+ file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
+ file://0009-Fix-webkitgtk-builds.patch \
+ file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \
+ file://CVE-2019-15890.patch \
"
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
-SRC_URI[md5sum] = "0afeca336fd57ae3d3086ec07f59d708"
-SRC_URI[sha256sum] = "13a93dfe75b86734326f8d5b475fde82ec692d5b5a338b4262aeeb6b0fa4e469"
+SRC_URI[md5sum] = "cdf2b5ca52b9abac9bacb5842fa420f8"
+SRC_URI[sha256sum] = "656e60218689bdeec69903087fd7582d5d3e72238d02f4481d8dc6d79fd909c6"
COMPATIBLE_HOST_mipsarchn32 = "null"
COMPATIBLE_HOST_mipsarchn64 = "null"
@@ -77,6 +77,8 @@ export LIBTOOL="${HOST_SYS}-libtool"
B = "${WORKDIR}/build"
+EXTRA_OECONF_append = " --python=${HOSTTOOLS_DIR}/python3"
+
do_configure_prepend_class-native() {
# Append build host pkg-config paths for native target since the host may provide sdl
BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "")
@@ -131,13 +133,13 @@ PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen,xen-libxenstore xen-libxenc
PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl,"
PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg,"
PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng,"
-PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,libcurl,"
+PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,curl,"
PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss,"
PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,"
PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native"
PACKAGECONFIG[vte] = "--enable-vte,--disable-vte,vte gettext-native"
PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng,"
-PACKAGECONFIG[ssh2] = "--enable-libssh2,--disable-libssh2,libssh2,"
+PACKAGECONFIG[ssh] = "--enable-libssh,--disable-libssh,libssh,"
PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt,"
PACKAGECONFIG[nettle] = "--enable-nettle,--disable-nettle,nettle"
PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1"
@@ -148,7 +150,7 @@ PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo"
PACKAGECONFIG[numa] = "--enable-numa,--disable-numa,numactl"
PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls"
PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2"
-PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,${BLUEZ}"
+PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,bluez5"
PACKAGECONFIG[libiscsi] = "--enable-libiscsi,--disable-libiscsi"
PACKAGECONFIG[kvm] = "--enable-kvm,--disable-kvm"
PACKAGECONFIG[virglrenderer] = "--enable-virglrenderer,--disable-virglrenderer,virglrenderer"
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
index 5373915ff..9478102ae 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-qemu-Add-missing-wacom-HID-descriptor.patch
@@ -1,4 +1,4 @@
-From 1cb804cf0e47116202011f3386b4739af668224a Mon Sep 17 00:00:00 2001
+From 4655dc18074e0be9d239f51dac32b61435da8549 Mon Sep 17 00:00:00 2001
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Thu, 27 Nov 2014 14:04:29 +0000
Subject: [PATCH] qemu: Add missing wacom HID descriptor
@@ -19,10 +19,10 @@ Upstream-Status: Submitted
1 file changed, 93 insertions(+), 1 deletion(-)
diff --git a/hw/usb/dev-wacom.c b/hw/usb/dev-wacom.c
-index ac0bc83b..6f9b22d4 100644
+index 8c43db93..3ff8ca28 100644
--- a/hw/usb/dev-wacom.c
+++ b/hw/usb/dev-wacom.c
-@@ -72,6 +72,89 @@ static const USBDescStrings desc_strings = {
+@@ -74,6 +74,89 @@ static const USBDescStrings desc_strings = {
[STR_SERIALNUMBER] = "1",
};
@@ -112,7 +112,7 @@ index ac0bc83b..6f9b22d4 100644
static const USBDescIface desc_iface_wacom = {
.bInterfaceNumber = 0,
.bNumEndpoints = 1,
-@@ -89,7 +172,7 @@ static const USBDescIface desc_iface_wacom = {
+@@ -91,7 +174,7 @@ static const USBDescIface desc_iface_wacom = {
0x00, /* u8 country_code */
0x01, /* u8 num_descriptors */
0x22, /* u8 type: Report */
@@ -121,7 +121,7 @@ index ac0bc83b..6f9b22d4 100644
},
},
},
-@@ -269,6 +352,15 @@ static void usb_wacom_handle_control(USBDevice *dev, USBPacket *p,
+@@ -271,6 +354,15 @@ static void usb_wacom_handle_control(USBDevice *dev, USBPacket *p,
}
switch (request) {
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch b/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
index 7b7c5d71a..2ccddd53c 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch
@@ -1,4 +1,4 @@
-From 281116b31981b0b9e174bda8abe00f4eaa33c2ae Mon Sep 17 00:00:00 2001
+From 67751f3a23e3db3012f391b3b3b73a4484488ce9 Mon Sep 17 00:00:00 2001
From: Juro Bystricky <juro.bystricky@intel.com>
Date: Thu, 31 Aug 2017 11:06:56 -0700
Subject: [PATCH] Add subpackage -ptest which runs all unit test cases for
@@ -15,10 +15,10 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
1 file changed, 8 insertions(+)
diff --git a/tests/Makefile.include b/tests/Makefile.include
-index 36fc73fe..01fecd4d 100644
+index fd7fdb86..83b7f409 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
-@@ -1184,4 +1184,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
+@@ -1183,4 +1183,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
-include $(wildcard tests/*.d)
-include $(wildcard tests/libqos/*.d)
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
index 9a18ca18e..5c42d6803 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0003-qemu-Add-addition-environment-space-to-boot-loader-q.patch
@@ -1,4 +1,4 @@
-From bf04acef9ec31ddcc18ddbb4ac5b7b1e7368bf7d Mon Sep 17 00:00:00 2001
+From 235b94f1188597873c8776b019fed49947983392 Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Fri, 28 Mar 2014 17:42:43 +0800
Subject: [PATCH] qemu: Add addition environment space to boot loader
@@ -19,7 +19,7 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
-index 439665ab..285c78ef 100644
+index 20e019bf..d150b01c 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -60,7 +60,7 @@
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
index 9e326081f..0ac4ab40b 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0004-qemu-disable-Valgrind.patch
@@ -1,4 +1,4 @@
-From e40f797548bc3ff06c71b6cbe042a46406894d18 Mon Sep 17 00:00:00 2001
+From 3ad7a375015d47fdf5016e03e11fa93440d6d8bd Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@intel.com>
Date: Tue, 20 Oct 2015 22:19:08 +0100
Subject: [PATCH] qemu: disable Valgrind
@@ -13,10 +13,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
1 file changed, 9 deletions(-)
diff --git a/configure b/configure
-index 1c563a70..eaf9bb5e 100755
+index 714e7fb6..dad4fc59 100755
--- a/configure
+++ b/configure
-@@ -5311,15 +5311,6 @@ fi
+@@ -5335,15 +5335,6 @@ fi
# check if we have valgrind/valgrind.h
valgrind_h=no
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch
deleted file mode 100644
index 819720a3f..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-Limit-paths-searched-during-user-mode-emulation.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From 547c3710a1493d2fd6bb56b819cf162db433756a Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Wed, 9 Mar 2016 22:49:02 +0000
-Subject: [PATCH] qemu: Limit paths searched during user mode emulation
-
-By default qemu builds a complete list of directories within the user
-emulation sysroot (-L option). The OE sysroot directory is large and
-this is confusing, for example it indexes all pkgdata. In particular this
-confuses strace of qemu binaries with tons of irrelevant paths.
-
-This patch stops the code indexing up front and instead only indexes
-things if/as/when it needs to. This drastically reduces the files it
-reads and reduces memory usage and cleans up strace.
-
-It would also avoid the infinite directory traversal bug in [YOCTO #6996]
-although the code could still be vulnerable if it parsed those specific
-paths.
-
-RP
-2016/3/9
-Upstream-Status: Pending
-
----
- util/path.c | 44 ++++++++++++++++++++++----------------------
- 1 file changed, 22 insertions(+), 22 deletions(-)
-
-diff --git a/util/path.c b/util/path.c
-index 7f9fc272..a416cd4a 100644
---- a/util/path.c
-+++ b/util/path.c
-@@ -15,6 +15,7 @@ struct pathelem
- char *name;
- /* Full path name, eg. /usr/gnemul/x86-linux/lib. */
- char *pathname;
-+ int populated_entries;
- struct pathelem *parent;
- /* Children */
- unsigned int num_entries;
-@@ -45,6 +46,7 @@ static struct pathelem *new_entry(const char *root,
- new->name = g_strdup(name);
- new->pathname = g_strdup_printf("%s/%s", root, name);
- new->num_entries = 0;
-+ new->populated_entries = 0;
- return new;
- }
-
-@@ -53,15 +55,16 @@ static struct pathelem *new_entry(const char *root,
- /* Not all systems provide this feature */
- #if defined(DT_DIR) && defined(DT_UNKNOWN) && defined(DT_LNK)
- # define dirent_type(dirent) ((dirent)->d_type)
--# define is_dir_maybe(type) \
-- ((type) == DT_DIR || (type) == DT_UNKNOWN || (type) == DT_LNK)
-+# define is_not_dir(type) \
-+ ((type) != DT_DIR && (type) != DT_UNKNOWN && (type) != DT_LNK)
- #else
- # define dirent_type(dirent) (1)
--# define is_dir_maybe(type) (type)
-+# define is_not_dir(type) (0)
- #endif
-
- static struct pathelem *add_dir_maybe(struct pathelem *path)
- {
-+ unsigned int i;
- DIR *dir;
-
- if ((dir = opendir(path->pathname)) != NULL) {
-@@ -74,6 +77,11 @@ static struct pathelem *add_dir_maybe(struct pathelem *path)
- }
- closedir(dir);
- }
-+
-+ for (i = 0; i < path->num_entries; i++)
-+ (path->entries[i])->parent = path;
-+
-+ path->populated_entries = 1;
- return path;
- }
-
-@@ -89,26 +97,16 @@ static struct pathelem *add_entry(struct pathelem *root, const char *name,
- e = &root->entries[root->num_entries-1];
-
- *e = new_entry(root->pathname, root, name);
-- if (is_dir_maybe(type)) {
-- *e = add_dir_maybe(*e);
-+ if (is_not_dir(type)) {
-+ (*e)->populated_entries = 1;
- }
-
- return root;
- }
-
--/* This needs to be done after tree is stabilized (ie. no more reallocs!). */
--static void set_parents(struct pathelem *child, struct pathelem *parent)
--{
-- unsigned int i;
--
-- child->parent = parent;
-- for (i = 0; i < child->num_entries; i++)
-- set_parents(child->entries[i], child);
--}
--
- /* FIXME: Doesn't handle DIR/.. where DIR is not in emulated dir. */
- static const char *
--follow_path(const struct pathelem *cursor, const char *name)
-+follow_path(struct pathelem *cursor, struct pathelem **source, const char *name)
- {
- unsigned int i, namelen;
-
-@@ -119,14 +117,18 @@ follow_path(const struct pathelem *cursor, const char *name)
- return cursor->pathname;
-
- if (strneq(name, namelen, ".."))
-- return follow_path(cursor->parent, name + namelen);
-+ return follow_path(cursor->parent, &cursor->parent, name + namelen);
-
- if (strneq(name, namelen, "."))
-- return follow_path(cursor, name + namelen);
-+ return follow_path(cursor, source, name + namelen);
-+
-+ if (!cursor->populated_entries)
-+ *source = add_dir_maybe(cursor);
-+ cursor = *source;
-
- for (i = 0; i < cursor->num_entries; i++)
- if (strneq(name, namelen, cursor->entries[i]->name))
-- return follow_path(cursor->entries[i], name + namelen);
-+ return follow_path(cursor->entries[i], &cursor->entries[i], name + namelen);
-
- /* Not found */
- return NULL;
-@@ -160,8 +162,6 @@ void init_paths(const char *prefix)
- g_free(base->name);
- g_free(base);
- base = NULL;
-- } else {
-- set_parents(base, base);
- }
- }
-
-@@ -173,5 +173,5 @@ const char *path(const char *name)
- if (!base || !name || name[0] != '/')
- return name;
-
-- return follow_path(base, name) ?: name;
-+ return follow_path(base, &base, name) ?: name;
- }
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
new file mode 100644
index 000000000..a73681510
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0005-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
@@ -0,0 +1,26 @@
+From 80e6070bcdfe636b103a13598e6c38ad0d0e7624 Mon Sep 17 00:00:00 2001
+From: Stephen Arnold <sarnold@vctlabs.com>
+Date: Sun, 12 Jun 2016 18:09:56 -0700
+Subject: [PATCH] qemu-native: set ld.bfd, fix cflags, and set some environment
+
+Upstream-Status: Pending
+
+---
+ configure | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/configure b/configure
+index dad4fc59..685bbe5e 100755
+--- a/configure
++++ b/configure
+@@ -5971,10 +5971,6 @@ write_c_skeleton
+ if test "$gcov" = "yes" ; then
+ CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
+ LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
+-elif test "$fortify_source" = "yes" ; then
+- CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS"
+-elif test "$debug" = "no"; then
+- CFLAGS="-O2 $CFLAGS"
+ fi
+
+ if test "$have_asan" = "yes"; then
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch
new file mode 100644
index 000000000..a42385530
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch
@@ -0,0 +1,239 @@
+From ad853601e75f6d0dd09672bcca05fbe4fac766a4 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@xilinx.com>
+Date: Thu, 21 Dec 2017 11:35:16 -0800
+Subject: [PATCH] chardev: connect socket to a spawned command
+
+The command is started in a shell (sh -c) with stdin connect to QEMU
+via a Unix domain stream socket. QEMU then exchanges data via its own
+end of the socket, just like it normally does.
+
+"-chardev socket" supports some ways of connecting via protocols like
+telnet, but that is only a subset of the functionality supported by
+tools socat. To use socat instead, for example to connect via a socks
+proxy, use:
+
+ -chardev 'socket,id=socat,cmd=exec socat FD:0 SOCKS4A:socks-proxy.localdomain:example.com:9999,,socksuser=nobody' \
+ -device usb-serial,chardev=socat
+
+Beware that commas in the command must be escaped as double commas.
+
+Or interactively in the console:
+ (qemu) chardev-add socket,id=cat,cmd=cat
+ (qemu) device_add usb-serial,chardev=cat
+ ^ac
+ # cat >/dev/ttyUSB0
+ hello
+ hello
+
+Another usage is starting swtpm from inside QEMU. swtpm will
+automatically shut down once it looses the connection to the parent
+QEMU, so there is no risk of lingering processes:
+
+ -chardev 'socket,id=chrtpm0,cmd=exec swtpm socket --terminate --ctrl type=unixio,,clientfd=0 --tpmstate dir=... --log file=swtpm.log' \
+ -tpmdev emulator,id=tpm0,chardev=chrtpm0 \
+ -device tpm-tis,tpmdev=tpm0
+
+The patch was discussed upstream, but QEMU developers believe that the
+code calling QEMU should be responsible for managing additional
+processes. In OE-core, that would imply enhancing runqemu and
+oeqa. This patch is a simpler solution.
+
+Because it is not going upstream, the patch was written so that it is
+as simple as possible.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
+
+---
+ chardev/char-socket.c | 101 ++++++++++++++++++++++++++++++++++++++++++
+ chardev/char.c | 3 ++
+ qapi/char.json | 5 +++
+ 3 files changed, 109 insertions(+)
+
+diff --git a/chardev/char-socket.c b/chardev/char-socket.c
+index 7ca5d97a..207fae4a 100644
+--- a/chardev/char-socket.c
++++ b/chardev/char-socket.c
+@@ -1278,6 +1278,67 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock,
+ return true;
+ }
+
++#ifndef _WIN32
++static void chardev_open_socket_cmd(Chardev *chr,
++ const char *cmd,
++ Error **errp)
++{
++ int fds[2] = { -1, -1 };
++ QIOChannelSocket *sioc = NULL;
++ pid_t pid = -1;
++ const char *argv[] = { "/bin/sh", "-c", cmd, NULL };
++
++ /*
++ * We need a Unix domain socket for commands like swtpm and a single
++ * connection, therefore we cannot use qio_channel_command_new_spawn()
++ * without patching it first. Duplicating the functionality is easier.
++ */
++ if (socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0, fds)) {
++ error_setg_errno(errp, errno, "Error creating socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC)");
++ goto error;
++ }
++
++ pid = qemu_fork(errp);
++ if (pid < 0) {
++ goto error;
++ }
++
++ if (!pid) {
++ /* child */
++ dup2(fds[1], STDIN_FILENO);
++ execv(argv[0], (char * const *)argv);
++ _exit(1);
++ }
++
++ /*
++ * Hand over our end of the socket pair to the qio channel.
++ *
++ * We don't reap the child because it is expected to keep
++ * running. We also don't support the "reconnect" option for the
++ * same reason.
++ */
++ sioc = qio_channel_socket_new_fd(fds[0], errp);
++ if (!sioc) {
++ goto error;
++ }
++ fds[0] = -1;
++
++ g_free(chr->filename);
++ chr->filename = g_strdup_printf("cmd:%s", cmd);
++ tcp_chr_new_client(chr, sioc);
++
++ error:
++ if (fds[0] >= 0) {
++ close(fds[0]);
++ }
++ if (fds[1] >= 0) {
++ close(fds[1]);
++ }
++ if (sioc) {
++ object_unref(OBJECT(sioc));
++ }
++}
++#endif
+
+ static void qmp_chardev_open_socket(Chardev *chr,
+ ChardevBackend *backend,
+@@ -1286,6 +1347,9 @@ static void qmp_chardev_open_socket(Chardev *chr,
+ {
+ SocketChardev *s = SOCKET_CHARDEV(chr);
+ ChardevSocket *sock = backend->u.socket.data;
++#ifndef _WIN32
++ const char *cmd = sock->cmd;
++#endif
+ bool do_nodelay = sock->has_nodelay ? sock->nodelay : false;
+ bool is_listen = sock->has_server ? sock->server : true;
+ bool is_telnet = sock->has_telnet ? sock->telnet : false;
+@@ -1351,6 +1415,14 @@ static void qmp_chardev_open_socket(Chardev *chr,
+
+ update_disconnected_filename(s);
+
++#ifndef _WIN32
++ if (cmd) {
++ chardev_open_socket_cmd(chr, cmd, errp);
++
++ /* everything ready (or failed permanently) before we return */
++ *be_opened = true;
++ } else
++#endif
+ if (s->is_listen) {
+ if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270,
+ is_waitconnect, errp) < 0) {
+@@ -1370,9 +1442,26 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
+ const char *host = qemu_opt_get(opts, "host");
+ const char *port = qemu_opt_get(opts, "port");
+ const char *fd = qemu_opt_get(opts, "fd");
++#ifndef _WIN32
++ const char *cmd = qemu_opt_get(opts, "cmd");
++#endif
+ SocketAddressLegacy *addr;
+ ChardevSocket *sock;
+
++#ifndef _WIN32
++ if (cmd) {
++ /*
++ * Here we have to ensure that no options are set which are incompatible with
++ * spawning a command, otherwise unmodified code that doesn't know about
++ * command spawning (like socket_reconnect_timeout()) might get called.
++ */
++ if (path || sock->server || sock->has_telnet || sock->has_tn3270 || sock->reconnect || host || port || sock->tls_creds) {
++ error_setg(errp, "chardev: socket: cmd does not support any additional options");
++ return;
++ }
++ } else
++#endif
++
+ if ((!!path + !!fd + !!host) != 1) {
+ error_setg(errp,
+ "Exactly one of 'path', 'fd' or 'host' required");
+@@ -1415,12 +1504,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
+ sock->has_tls_authz = qemu_opt_get(opts, "tls-authz");
+ sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz"));
+
++#ifndef _WIN32
++ sock->cmd = g_strdup(cmd);
++#endif
++
+ addr = g_new0(SocketAddressLegacy, 1);
++#ifndef _WIN32
++ if (path || cmd) {
++#else
+ if (path) {
++#endif
+ UnixSocketAddress *q_unix;
+ addr->type = SOCKET_ADDRESS_LEGACY_KIND_UNIX;
+ q_unix = addr->u.q_unix.data = g_new0(UnixSocketAddress, 1);
++#ifndef _WIN32
++ q_unix->path = cmd ? g_strdup_printf("cmd:%s", cmd) : g_strdup(path);
++#else
+ q_unix->path = g_strdup(path);
++#endif
+ } else if (host) {
+ addr->type = SOCKET_ADDRESS_LEGACY_KIND_INET;
+ addr->u.inet.data = g_new(InetSocketAddress, 1);
+diff --git a/chardev/char.c b/chardev/char.c
+index 7b6b2cb1..0c2ca64b 100644
+--- a/chardev/char.c
++++ b/chardev/char.c
+@@ -837,6 +837,9 @@ QemuOptsList qemu_chardev_opts = {
+ },{
+ .name = "path",
+ .type = QEMU_OPT_STRING,
++ },{
++ .name = "cmd",
++ .type = QEMU_OPT_STRING,
+ },{
+ .name = "host",
+ .type = QEMU_OPT_STRING,
+diff --git a/qapi/char.json b/qapi/char.json
+index a6e81ac7..517962c6 100644
+--- a/qapi/char.json
++++ b/qapi/char.json
+@@ -247,6 +247,10 @@
+ #
+ # @addr: socket address to listen on (server=true)
+ # or connect to (server=false)
++# @cmd: command to run via "sh -c" with stdin as one end of
++# a AF_UNIX SOCK_DSTREAM socket pair. The other end
++# is used by the chardev. Either an addr or a cmd can
++# be specified, but not both.
+ # @tls-creds: the ID of the TLS credentials object (since 2.6)
+ # @tls-authz: the ID of the QAuthZ authorization object against which
+ # the client's x509 distinguished name will be validated. This
+@@ -272,6 +276,7 @@
+ ##
+ { 'struct': 'ChardevSocket',
+ 'data': { 'addr': 'SocketAddressLegacy',
++ '*cmd': 'str',
+ '*tls-creds': 'str',
+ '*tls-authz' : 'str',
+ '*server': 'bool',
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
deleted file mode 100644
index b62a588c6..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0006-qemu-native-set-ld.bfd-fix-cflags-and-set-some-envir.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 107fd860529a3c1319d54c3c225758457b0d9394 Mon Sep 17 00:00:00 2001
-From: Stephen Arnold <sarnold@vctlabs.com>
-Date: Sun, 12 Jun 2016 18:09:56 -0700
-Subject: [PATCH] qemu-native: set ld.bfd, fix cflags, and set some environment
-
-Upstream-Status: Pending
-
----
- configure | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/configure b/configure
-index eaf9bb5e..de2933d1 100755
---- a/configure
-+++ b/configure
-@@ -5928,10 +5928,6 @@ write_c_skeleton
- if test "$gcov" = "yes" ; then
- CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
- LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
--elif test "$fortify_source" = "yes" ; then
-- CFLAGS="-O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $CFLAGS"
--elif test "$debug" = "no"; then
-- CFLAGS="-O2 $CFLAGS"
- fi
-
- if test "$have_asan" = "yes"; then
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch b/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch
new file mode 100644
index 000000000..b50e8c254
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0007-apic-fixup-fallthrough-to-PIC.patch
@@ -0,0 +1,44 @@
+From f51e49e7d7d87b7254242b7360f99c2df94a5a2d Mon Sep 17 00:00:00 2001
+From: Mark Asselstine <mark.asselstine@windriver.com>
+Date: Tue, 26 Feb 2013 11:43:28 -0500
+Subject: [PATCH] apic: fixup fallthrough to PIC
+
+Commit 0e21e12bb311c4c1095d0269dc2ef81196ccb60a [Don't route PIC
+interrupts through the local APIC if the local APIC config says so.]
+missed a check to ensure the local APIC is enabled. Since if the local
+APIC is disabled it doesn't matter what the local APIC config says.
+
+If this check isn't done and the guest has disabled the local APIC the
+guest will receive a general protection fault, similar to what is seen
+here:
+
+https://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02304.html
+
+The GPF is caused by an attempt to service interrupt 0xffffffff. This
+comes about since cpu_get_pic_interrupt() calls apic_accept_pic_intr()
+(with the local APIC disabled apic_get_interrupt() returns -1).
+apic_accept_pic_intr() returns 0 and thus the interrupt number which
+is returned from cpu_get_pic_interrupt(), and which is attempted to be
+serviced, is -1.
+
+Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
+Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html]
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+
+---
+ hw/intc/apic.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hw/intc/apic.c b/hw/intc/apic.c
+index bce89911..df4b582e 100644
+--- a/hw/intc/apic.c
++++ b/hw/intc/apic.c
+@@ -603,7 +603,7 @@ int apic_accept_pic_intr(DeviceState *dev)
+ APICCommonState *s = APIC(dev);
+ uint32_t lvt0;
+
+- if (!s)
++ if (!s || !(s->spurious_vec & APIC_SV_ENABLE))
+ return -1;
+
+ lvt0 = s->lvt[APIC_LVT_LINT0];
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0007-chardev-connect-socket-to-a-spawned-command.patch b/poky/meta/recipes-devtools/qemu/qemu/0007-chardev-connect-socket-to-a-spawned-command.patch
deleted file mode 100644
index f3f3dc3f5..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0007-chardev-connect-socket-to-a-spawned-command.patch
+++ /dev/null
@@ -1,239 +0,0 @@
-From 136e159482a1bc8676cbe6e767055d0c3fb20065 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@xilinx.com>
-Date: Thu, 21 Dec 2017 11:35:16 -0800
-Subject: [PATCH] chardev: connect socket to a spawned command
-
-The command is started in a shell (sh -c) with stdin connect to QEMU
-via a Unix domain stream socket. QEMU then exchanges data via its own
-end of the socket, just like it normally does.
-
-"-chardev socket" supports some ways of connecting via protocols like
-telnet, but that is only a subset of the functionality supported by
-tools socat. To use socat instead, for example to connect via a socks
-proxy, use:
-
- -chardev 'socket,id=socat,cmd=exec socat FD:0 SOCKS4A:socks-proxy.localdomain:example.com:9999,,socksuser=nobody' \
- -device usb-serial,chardev=socat
-
-Beware that commas in the command must be escaped as double commas.
-
-Or interactively in the console:
- (qemu) chardev-add socket,id=cat,cmd=cat
- (qemu) device_add usb-serial,chardev=cat
- ^ac
- # cat >/dev/ttyUSB0
- hello
- hello
-
-Another usage is starting swtpm from inside QEMU. swtpm will
-automatically shut down once it looses the connection to the parent
-QEMU, so there is no risk of lingering processes:
-
- -chardev 'socket,id=chrtpm0,cmd=exec swtpm socket --terminate --ctrl type=unixio,,clientfd=0 --tpmstate dir=... --log file=swtpm.log' \
- -tpmdev emulator,id=tpm0,chardev=chrtpm0 \
- -device tpm-tis,tpmdev=tpm0
-
-The patch was discussed upstream, but QEMU developers believe that the
-code calling QEMU should be responsible for managing additional
-processes. In OE-core, that would imply enhancing runqemu and
-oeqa. This patch is a simpler solution.
-
-Because it is not going upstream, the patch was written so that it is
-as simple as possible.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
-
----
- chardev/char-socket.c | 101 ++++++++++++++++++++++++++++++++++++++++++
- chardev/char.c | 3 ++
- qapi/char.json | 5 +++
- 3 files changed, 109 insertions(+)
-
-diff --git a/chardev/char-socket.c b/chardev/char-socket.c
-index 3916505d..a8e9dce8 100644
---- a/chardev/char-socket.c
-+++ b/chardev/char-socket.c
-@@ -1273,6 +1273,67 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock,
- return true;
- }
-
-+#ifndef _WIN32
-+static void chardev_open_socket_cmd(Chardev *chr,
-+ const char *cmd,
-+ Error **errp)
-+{
-+ int fds[2] = { -1, -1 };
-+ QIOChannelSocket *sioc = NULL;
-+ pid_t pid = -1;
-+ const char *argv[] = { "/bin/sh", "-c", cmd, NULL };
-+
-+ /*
-+ * We need a Unix domain socket for commands like swtpm and a single
-+ * connection, therefore we cannot use qio_channel_command_new_spawn()
-+ * without patching it first. Duplicating the functionality is easier.
-+ */
-+ if (socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0, fds)) {
-+ error_setg_errno(errp, errno, "Error creating socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC)");
-+ goto error;
-+ }
-+
-+ pid = qemu_fork(errp);
-+ if (pid < 0) {
-+ goto error;
-+ }
-+
-+ if (!pid) {
-+ /* child */
-+ dup2(fds[1], STDIN_FILENO);
-+ execv(argv[0], (char * const *)argv);
-+ _exit(1);
-+ }
-+
-+ /*
-+ * Hand over our end of the socket pair to the qio channel.
-+ *
-+ * We don't reap the child because it is expected to keep
-+ * running. We also don't support the "reconnect" option for the
-+ * same reason.
-+ */
-+ sioc = qio_channel_socket_new_fd(fds[0], errp);
-+ if (!sioc) {
-+ goto error;
-+ }
-+ fds[0] = -1;
-+
-+ g_free(chr->filename);
-+ chr->filename = g_strdup_printf("cmd:%s", cmd);
-+ tcp_chr_new_client(chr, sioc);
-+
-+ error:
-+ if (fds[0] >= 0) {
-+ close(fds[0]);
-+ }
-+ if (fds[1] >= 0) {
-+ close(fds[1]);
-+ }
-+ if (sioc) {
-+ object_unref(OBJECT(sioc));
-+ }
-+}
-+#endif
-
- static void qmp_chardev_open_socket(Chardev *chr,
- ChardevBackend *backend,
-@@ -1281,6 +1342,9 @@ static void qmp_chardev_open_socket(Chardev *chr,
- {
- SocketChardev *s = SOCKET_CHARDEV(chr);
- ChardevSocket *sock = backend->u.socket.data;
-+#ifndef _WIN32
-+ const char *cmd = sock->cmd;
-+#endif
- bool do_nodelay = sock->has_nodelay ? sock->nodelay : false;
- bool is_listen = sock->has_server ? sock->server : true;
- bool is_telnet = sock->has_telnet ? sock->telnet : false;
-@@ -1346,6 +1410,14 @@ static void qmp_chardev_open_socket(Chardev *chr,
-
- update_disconnected_filename(s);
-
-+#ifndef _WIN32
-+ if (cmd) {
-+ chardev_open_socket_cmd(chr, cmd, errp);
-+
-+ /* everything ready (or failed permanently) before we return */
-+ *be_opened = true;
-+ } else
-+#endif
- if (s->is_listen) {
- if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270,
- is_waitconnect, errp) < 0) {
-@@ -1365,9 +1437,26 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
- const char *host = qemu_opt_get(opts, "host");
- const char *port = qemu_opt_get(opts, "port");
- const char *fd = qemu_opt_get(opts, "fd");
-+#ifndef _WIN32
-+ const char *cmd = qemu_opt_get(opts, "cmd");
-+#endif
- SocketAddressLegacy *addr;
- ChardevSocket *sock;
-
-+#ifndef _WIN32
-+ if (cmd) {
-+ /*
-+ * Here we have to ensure that no options are set which are incompatible with
-+ * spawning a command, otherwise unmodified code that doesn't know about
-+ * command spawning (like socket_reconnect_timeout()) might get called.
-+ */
-+ if (path || sock->server || sock->has_telnet || sock->has_tn3270 || sock->reconnect || host || port || sock->tls_creds) {
-+ error_setg(errp, "chardev: socket: cmd does not support any additional options");
-+ return;
-+ }
-+ } else
-+#endif
-+
- if ((!!path + !!fd + !!host) != 1) {
- error_setg(errp,
- "Exactly one of 'path', 'fd' or 'host' required");
-@@ -1410,12 +1499,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
- sock->has_tls_authz = qemu_opt_get(opts, "tls-authz");
- sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz"));
-
-+#ifndef _WIN32
-+ sock->cmd = g_strdup(cmd);
-+#endif
-+
- addr = g_new0(SocketAddressLegacy, 1);
-+#ifndef _WIN32
-+ if (path || cmd) {
-+#else
- if (path) {
-+#endif
- UnixSocketAddress *q_unix;
- addr->type = SOCKET_ADDRESS_LEGACY_KIND_UNIX;
- q_unix = addr->u.q_unix.data = g_new0(UnixSocketAddress, 1);
-+#ifndef _WIN32
-+ q_unix->path = cmd ? g_strdup_printf("cmd:%s", cmd) : g_strdup(path);
-+#else
- q_unix->path = g_strdup(path);
-+#endif
- } else if (host) {
- addr->type = SOCKET_ADDRESS_LEGACY_KIND_INET;
- addr->u.inet.data = g_new(InetSocketAddress, 1);
-diff --git a/chardev/char.c b/chardev/char.c
-index 514cd6b0..36a40d67 100644
---- a/chardev/char.c
-+++ b/chardev/char.c
-@@ -835,6 +835,9 @@ QemuOptsList qemu_chardev_opts = {
- },{
- .name = "path",
- .type = QEMU_OPT_STRING,
-+ },{
-+ .name = "cmd",
-+ .type = QEMU_OPT_STRING,
- },{
- .name = "host",
- .type = QEMU_OPT_STRING,
-diff --git a/qapi/char.json b/qapi/char.json
-index a6e81ac7..517962c6 100644
---- a/qapi/char.json
-+++ b/qapi/char.json
-@@ -247,6 +247,10 @@
- #
- # @addr: socket address to listen on (server=true)
- # or connect to (server=false)
-+# @cmd: command to run via "sh -c" with stdin as one end of
-+# a AF_UNIX SOCK_DSTREAM socket pair. The other end
-+# is used by the chardev. Either an addr or a cmd can
-+# be specified, but not both.
- # @tls-creds: the ID of the TLS credentials object (since 2.6)
- # @tls-authz: the ID of the QAuthZ authorization object against which
- # the client's x509 distinguished name will be validated. This
-@@ -272,6 +276,7 @@
- ##
- { 'struct': 'ChardevSocket',
- 'data': { 'addr': 'SocketAddressLegacy',
-+ '*cmd': 'str',
- '*tls-creds': 'str',
- '*tls-authz' : 'str',
- '*server': 'bool',
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch b/poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch
deleted file mode 100644
index 13037f33f..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0008-apic-fixup-fallthrough-to-PIC.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 1b3f264e2ba18caf658fae27293c426c8366c6a3 Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Tue, 26 Feb 2013 11:43:28 -0500
-Subject: [PATCH] apic: fixup fallthrough to PIC
-
-Commit 0e21e12bb311c4c1095d0269dc2ef81196ccb60a [Don't route PIC
-interrupts through the local APIC if the local APIC config says so.]
-missed a check to ensure the local APIC is enabled. Since if the local
-APIC is disabled it doesn't matter what the local APIC config says.
-
-If this check isn't done and the guest has disabled the local APIC the
-guest will receive a general protection fault, similar to what is seen
-here:
-
-https://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02304.html
-
-The GPF is caused by an attempt to service interrupt 0xffffffff. This
-comes about since cpu_get_pic_interrupt() calls apic_accept_pic_intr()
-(with the local APIC disabled apic_get_interrupt() returns -1).
-apic_accept_pic_intr() returns 0 and thus the interrupt number which
-is returned from cpu_get_pic_interrupt(), and which is attempted to be
-serviced, is -1.
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html]
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-
----
- hw/intc/apic.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hw/intc/apic.c b/hw/intc/apic.c
-index 6ea619c3..f892811e 100644
---- a/hw/intc/apic.c
-+++ b/hw/intc/apic.c
-@@ -604,7 +604,7 @@ int apic_accept_pic_intr(DeviceState *dev)
- APICCommonState *s = APIC(dev);
- uint32_t lvt0;
-
-- if (!s)
-+ if (!s || !(s->spurious_vec & APIC_SV_ENABLE))
- return -1;
-
- lvt0 = s->lvt[APIC_LVT_LINT0];
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch b/poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
new file mode 100644
index 000000000..e562f25be
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
@@ -0,0 +1,33 @@
+From 25a064f91f73630e5dff2a6aeb23d953c469cea6 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair.francis@xilinx.com>
+Date: Wed, 17 Jan 2018 10:51:49 -0800
+Subject: [PATCH] linux-user: Fix webkitgtk hangs on 32-bit x86 target
+
+Since commit "linux-user: Tidy and enforce reserved_va initialization"
+(18e80c55bb6ec17c05ec0ba717ec83933c2bfc07) the Yocto webkitgtk build
+hangs when cross compiling for 32-bit x86 on a 64-bit x86 machine using
+musl.
+
+To fix the issue reduce the MAX_RESERVED_VA macro to be a closer match
+to what it was before the problematic commit.
+
+Upstream-Status: Submitted http://lists.gnu.org/archive/html/qemu-devel/2018-01/msg04185.html
+Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
+
+---
+ linux-user/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/linux-user/main.c b/linux-user/main.c
+index 8ffc5251..4067e739 100644
+--- a/linux-user/main.c
++++ b/linux-user/main.c
+@@ -77,7 +77,7 @@ int have_guest_base;
+ (TARGET_LONG_BITS == 32 || defined(TARGET_ABI32))
+ /* There are a number of places where we assign reserved_va to a variable
+ of type abi_ulong and expect it to fit. Avoid the last page. */
+-# define MAX_RESERVED_VA (0xfffffffful & TARGET_PAGE_MASK)
++# define MAX_RESERVED_VA (0x7ffffffful & TARGET_PAGE_MASK)
+ # else
+ # define MAX_RESERVED_VA (1ul << TARGET_VIRT_ADDR_SPACE_BITS)
+ # endif
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch b/poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch
new file mode 100644
index 000000000..4072d9455
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0009-Fix-webkitgtk-builds.patch
@@ -0,0 +1,137 @@
+From b633b9a1813fcd715dce44659a89293f1c64ae8c Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@lge.com>
+Date: Fri, 1 Jun 2018 08:41:07 +0000
+Subject: [PATCH] Fix webkitgtk builds
+
+This is a partial revert of "linux-user: fix mmap/munmap/mprotect/mremap/shmat".
+
+This patch fixes qemu-i386 hangs during gobject-introspection in webkitgtk build
+when musl is used on qemux86. This is the same issue that
+0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch was
+fixing in the 2.11 release.
+
+This patch also fixes a build failure when building webkitgtk for
+qemumips. A QEMU assert is seen while building webkitgtk:
+page_check_range: Assertion `start < ((target_ulong)1 << L1_MAP_ADDR_SPACE_BITS)' failed.
+
+This reverts commit ebf9a3630c911d0cfc9c20f7cafe9ba4f88cf583.
+
+Upstream-Status: Pending
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+---
+ include/exec/cpu-all.h | 6 +-----
+ include/exec/cpu_ldst.h | 5 ++++-
+ linux-user/mmap.c | 17 ++++-------------
+ linux-user/syscall.c | 5 +----
+ 4 files changed, 10 insertions(+), 23 deletions(-)
+
+diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
+index 536ea58f81..4c63a6a2e4 100644
+--- a/include/exec/cpu-all.h
++++ b/include/exec/cpu-all.h
+@@ -162,12 +162,8 @@ extern unsigned long guest_base;
+ extern int have_guest_base;
+ extern unsigned long reserved_va;
+
+-#if HOST_LONG_BITS <= TARGET_VIRT_ADDR_SPACE_BITS
+-#define GUEST_ADDR_MAX (~0ul)
+-#else
+-#define GUEST_ADDR_MAX (reserved_va ? reserved_va - 1 : \
++#define GUEST_ADDR_MAX (reserved_va ? reserved_va : \
+ (1ul << TARGET_VIRT_ADDR_SPACE_BITS) - 1)
+-#endif
+ #else
+
+ #include "exec/hwaddr.h"
+diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
+index 9151fdb042..cb2b8f329f 100644
+--- a/include/exec/cpu_ldst.h
++++ b/include/exec/cpu_ldst.h
+@@ -65,7 +65,10 @@ typedef uint64_t abi_ptr;
+ #if HOST_LONG_BITS <= TARGET_VIRT_ADDR_SPACE_BITS
+ #define guest_addr_valid(x) (1)
+ #else
+-#define guest_addr_valid(x) ((x) <= GUEST_ADDR_MAX)
++#define guest_addr_valid(x) ({ \
++ ((x) < (1ul << TARGET_VIRT_ADDR_SPACE_BITS)) && \
++ (!reserved_va || ((x) < reserved_va)); \
++})
+ #endif
+ #define h2g_valid(x) guest_addr_valid((unsigned long)(x) - guest_base)
+
+diff --git a/linux-user/mmap.c b/linux-user/mmap.c
+index 46a6e3a761..7735465462 100644
+--- a/linux-user/mmap.c
++++ b/linux-user/mmap.c
+@@ -78,7 +78,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
+ return -TARGET_EINVAL;
+ len = TARGET_PAGE_ALIGN(len);
+ end = start + len;
+- if (!guest_range_valid(start, len)) {
++ if (end < start) {
+ return -TARGET_ENOMEM;
+ }
+ prot &= PROT_READ | PROT_WRITE | PROT_EXEC;
+@@ -495,8 +495,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
+ * It can fail only on 64-bit host with 32-bit target.
+ * On any other target/host host mmap() handles this error correctly.
+ */
+- if (!guest_range_valid(start, len)) {
+- errno = ENOMEM;
++ if ((unsigned long)start + len - 1 > (abi_ulong) -1) {
++ errno = EINVAL;
+ goto fail;
+ }
+
+@@ -636,10 +636,8 @@ int target_munmap(abi_ulong start, abi_ulong len)
+ if (start & ~TARGET_PAGE_MASK)
+ return -TARGET_EINVAL;
+ len = TARGET_PAGE_ALIGN(len);
+- if (len == 0 || !guest_range_valid(start, len)) {
++ if (len == 0)
+ return -TARGET_EINVAL;
+- }
+-
+ mmap_lock();
+ end = start + len;
+ real_start = start & qemu_host_page_mask;
+@@ -694,13 +692,6 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
+ int prot;
+ void *host_addr;
+
+- if (!guest_range_valid(old_addr, old_size) ||
+- ((flags & MREMAP_FIXED) &&
+- !guest_range_valid(new_addr, new_size))) {
+- errno = ENOMEM;
+- return -1;
+- }
+-
+ mmap_lock();
+
+ if (flags & MREMAP_FIXED) {
+diff --git a/linux-user/syscall.c b/linux-user/syscall.c
+index 8b41a03901..bc5d85de02 100644
+--- a/linux-user/syscall.c
++++ b/linux-user/syscall.c
+@@ -4031,9 +4031,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env,
+ return -TARGET_EINVAL;
+ }
+ }
+- if (!guest_range_valid(shmaddr, shm_info.shm_segsz)) {
+- return -TARGET_EINVAL;
+- }
+
+ mmap_lock();
+
+@@ -6881,7 +6878,7 @@ static int open_self_maps(void *cpu_env, int fd)
+ }
+ if (h2g_valid(min)) {
+ int flags = page_get_flags(h2g(min));
+- max = h2g_valid(max - 1) ? max : (uintptr_t)g2h(GUEST_ADDR_MAX) + 1;
++ max = h2g_valid(max - 1) ? max : (uintptr_t)g2h(GUEST_ADDR_MAX);
+ if (page_check_range(h2g(min), max - min, flags) == -1) {
+ continue;
+ }
+--
+2.22.0
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch b/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
deleted file mode 100644
index c572ff94d..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From a33ae91504ea4d254b5ace64a84791d3c96c9773 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair.francis@xilinx.com>
-Date: Wed, 17 Jan 2018 10:51:49 -0800
-Subject: [PATCH] linux-user: Fix webkitgtk hangs on 32-bit x86 target
-
-Since commit "linux-user: Tidy and enforce reserved_va initialization"
-(18e80c55bb6ec17c05ec0ba717ec83933c2bfc07) the Yocto webkitgtk build
-hangs when cross compiling for 32-bit x86 on a 64-bit x86 machine using
-musl.
-
-To fix the issue reduce the MAX_RESERVED_VA macro to be a closer match
-to what it was before the problematic commit.
-
-Upstream-Status: Submitted http://lists.gnu.org/archive/html/qemu-devel/2018-01/msg04185.html
-Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
-
----
- linux-user/main.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/linux-user/main.c b/linux-user/main.c
-index a0aba9cb..34c54924 100644
---- a/linux-user/main.c
-+++ b/linux-user/main.c
-@@ -69,7 +69,7 @@ int have_guest_base;
- (TARGET_LONG_BITS == 32 || defined(TARGET_ABI32))
- /* There are a number of places where we assign reserved_va to a variable
- of type abi_ulong and expect it to fit. Avoid the last page. */
--# define MAX_RESERVED_VA (0xfffffffful & TARGET_PAGE_MASK)
-+# define MAX_RESERVED_VA (0x7ffffffful & TARGET_PAGE_MASK)
- # else
- # define MAX_RESERVED_VA (1ul << TARGET_VIRT_ADDR_SPACE_BITS)
- # endif
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
deleted file mode 100644
index 3418eb7c6..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From 2a66bd95c856de6950fbd802c5b99075207c1d76 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <martin.jansa@lge.com>
-Date: Fri, 1 Jun 2018 08:41:07 +0000
-Subject: [PATCH] Revert "linux-user: fix mmap/munmap/mprotect/mremap/shmat"
-
-Causes qemu-i386 to hang during gobject-introspection in webkitgtk build
-when musl is used on qemux86 - the same issue as
-0010-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch
-was fixing in 2.11.0 release, but with this patch the fix no longer worked
-as discussed here:
-http://lists.openembedded.org/pipermail/openembedded-core/2018-May/150302.html
-http://lists.openembedded.org/pipermail/openembedded-core/2018-June/151382.html
-
-This reverts commit ebf9a3630c911d0cfc9c20f7cafe9ba4f88cf583.
-
-Upstream-Status: Pending
-
----
- include/exec/cpu-all.h | 6 +-----
- include/exec/cpu_ldst.h | 16 +++++++++-------
- linux-user/mmap.c | 17 ++++-------------
- linux-user/syscall.c | 5 +----
- 4 files changed, 15 insertions(+), 29 deletions(-)
-
-diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
-index b16c9ec5..612db6a0 100644
---- a/include/exec/cpu-all.h
-+++ b/include/exec/cpu-all.h
-@@ -163,12 +163,8 @@ extern unsigned long guest_base;
- extern int have_guest_base;
- extern unsigned long reserved_va;
-
--#if HOST_LONG_BITS <= TARGET_VIRT_ADDR_SPACE_BITS
--#define GUEST_ADDR_MAX (~0ul)
--#else
--#define GUEST_ADDR_MAX (reserved_va ? reserved_va - 1 : \
-+#define GUEST_ADDR_MAX (reserved_va ? reserved_va : \
- (1ul << TARGET_VIRT_ADDR_SPACE_BITS) - 1)
--#endif
- #else
-
- #include "exec/hwaddr.h"
-diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
-index d78041d7..845639f7 100644
---- a/include/exec/cpu_ldst.h
-+++ b/include/exec/cpu_ldst.h
-@@ -62,13 +62,15 @@ typedef uint64_t abi_ptr;
- /* All direct uses of g2h and h2g need to go away for usermode softmmu. */
- #define g2h(x) ((void *)((unsigned long)(abi_ptr)(x) + guest_base))
-
--#define guest_addr_valid(x) ((x) <= GUEST_ADDR_MAX)
--#define h2g_valid(x) guest_addr_valid((unsigned long)(x) - guest_base)
--
--static inline int guest_range_valid(unsigned long start, unsigned long len)
--{
-- return len - 1 <= GUEST_ADDR_MAX && start <= GUEST_ADDR_MAX - len + 1;
--}
-+#if HOST_LONG_BITS <= TARGET_VIRT_ADDR_SPACE_BITS
-+#define h2g_valid(x) 1
-+#else
-+#define h2g_valid(x) ({ \
-+ unsigned long __guest = (unsigned long)(x) - guest_base; \
-+ (__guest < (1ul << TARGET_VIRT_ADDR_SPACE_BITS)) && \
-+ (!reserved_va || (__guest < reserved_va)); \
-+})
-+#endif
-
- #define h2g_nocheck(x) ({ \
- unsigned long __ret = (unsigned long)(x) - guest_base; \
-diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index e0249efe..cfe34b35 100644
---- a/linux-user/mmap.c
-+++ b/linux-user/mmap.c
-@@ -79,7 +79,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
- return -TARGET_EINVAL;
- len = TARGET_PAGE_ALIGN(len);
- end = start + len;
-- if (!guest_range_valid(start, len)) {
-+ if (end < start) {
- return -TARGET_ENOMEM;
- }
- prot &= PROT_READ | PROT_WRITE | PROT_EXEC;
-@@ -490,8 +490,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
- * It can fail only on 64-bit host with 32-bit target.
- * On any other target/host host mmap() handles this error correctly.
- */
-- if (!guest_range_valid(start, len)) {
-- errno = ENOMEM;
-+ if ((unsigned long)start + len - 1 > (abi_ulong) -1) {
-+ errno = EINVAL;
- goto fail;
- }
-
-@@ -631,10 +631,8 @@ int target_munmap(abi_ulong start, abi_ulong len)
- if (start & ~TARGET_PAGE_MASK)
- return -TARGET_EINVAL;
- len = TARGET_PAGE_ALIGN(len);
-- if (len == 0 || !guest_range_valid(start, len)) {
-+ if (len == 0)
- return -TARGET_EINVAL;
-- }
--
- mmap_lock();
- end = start + len;
- real_start = start & qemu_host_page_mask;
-@@ -689,13 +687,6 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
- int prot;
- void *host_addr;
-
-- if (!guest_range_valid(old_addr, old_size) ||
-- ((flags & MREMAP_FIXED) &&
-- !guest_range_valid(new_addr, new_size))) {
-- errno = ENOMEM;
-- return -1;
-- }
--
- mmap_lock();
-
- if (flags & MREMAP_FIXED) {
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 96cd4bf8..e6754772 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -3860,9 +3860,6 @@ static inline abi_ulong do_shmat(CPUArchState *cpu_env,
- return -TARGET_EINVAL;
- }
- }
-- if (!guest_range_valid(shmaddr, shm_info.shm_segsz)) {
-- return -TARGET_EINVAL;
-- }
-
- mmap_lock();
-
-@@ -6633,7 +6630,7 @@ static int open_self_maps(void *cpu_env, int fd)
- }
- if (h2g_valid(min)) {
- int flags = page_get_flags(h2g(min));
-- max = h2g_valid(max - 1) ? max : (uintptr_t)g2h(GUEST_ADDR_MAX) + 1;
-+ max = h2g_valid(max - 1) ? max : (uintptr_t)g2h(GUEST_ADDR_MAX);
- if (page_check_range(h2g(min), max - min, flags) == -1) {
- continue;
- }
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
new file mode 100644
index 000000000..a8ab7daa4
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
@@ -0,0 +1,93 @@
+From 5214dd4461f2090ef0965b4d2518f49927d61cbc Mon Sep 17 00:00:00 2001
+From: He Zhe <zhe.he@windriver.com>
+Date: Wed, 28 Aug 2019 19:56:28 +0800
+Subject: [Qemu-devel] [PATCH] configure: Add pkg-config handling for libgcrypt
+
+libgcrypt may also be controlled by pkg-config, this patch adds pkg-config
+handling for libgcrypt.
+
+Upstream-Status: Denied [https://lists.nongnu.org/archive/html/qemu-devel/2019-08/msg06333.html]
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ configure | 48 ++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 40 insertions(+), 8 deletions(-)
+
+diff --git a/configure b/configure
+index e44e454..0f362a7 100755
+--- a/configure
++++ b/configure
+@@ -2875,6 +2875,30 @@ has_libgcrypt() {
+ return 0
+ }
+
++has_libgcrypt_pkgconfig() {
++ if ! has $pkg_config ; then
++ return 1
++ fi
++
++ if ! $pkg_config --list-all | grep libgcrypt > /dev/null 2>&1 ; then
++ return 1
++ fi
++
++ if test -n "$cross_prefix" ; then
++ host=$($pkg_config --variable=host libgcrypt)
++ if test "${host%-gnu}-" != "${cross_prefix%-gnu}" ; then
++ print_error "host($host) does not match cross_prefix($cross_prefix)"
++ return 1
++ fi
++ fi
++
++ if ! $pkg_config --atleast-version=1.5.0 libgcrypt ; then
++ print_error "libgcrypt version is $($pkg_config --modversion libgcrypt)"
++ return 1
++ fi
++
++ return 0
++}
+
+ if test "$nettle" != "no"; then
+ pass="no"
+@@ -2902,7 +2926,14 @@ fi
+
+ if test "$gcrypt" != "no"; then
+ pass="no"
+- if has_libgcrypt; then
++ if has_libgcrypt_pkgconfig; then
++ gcrypt_cflags=$($pkg_config --cflags libgcrypt)
++ if test "$static" = "yes" ; then
++ gcrypt_libs=$($pkg_config --libs --static libgcrypt)
++ else
++ gcrypt_libs=$($pkg_config --libs libgcrypt)
++ fi
++ elif has_libgcrypt; then
+ gcrypt_cflags=$(libgcrypt-config --cflags)
+ gcrypt_libs=$(libgcrypt-config --libs)
+ # Debian has removed -lgpg-error from libgcrypt-config
+@@ -2912,15 +2943,16 @@ if test "$gcrypt" != "no"; then
+ then
+ gcrypt_libs="$gcrypt_libs -lgpg-error"
+ fi
++ fi
+
+- # Link test to make sure the given libraries work (e.g for static).
+- write_c_skeleton
+- if compile_prog "" "$gcrypt_libs" ; then
+- LIBS="$gcrypt_libs $LIBS"
+- QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags"
+- pass="yes"
+- fi
++ # Link test to make sure the given libraries work (e.g for static).
++ write_c_skeleton
++ if compile_prog "" "$gcrypt_libs" ; then
++ LIBS="$gcrypt_libs $LIBS"
++ QEMU_CFLAGS="$QEMU_CFLAGS $gcrypt_cflags"
++ pass="yes"
+ fi
++
+ if test "$pass" = "yes"; then
+ gcrypt="yes"
+ cat > $TMPC << EOF
+--
+2.7.4
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0011-fix-libcap-header-issue-on-some-distro.patch b/poky/meta/recipes-devtools/qemu/qemu/0010-fix-libcap-header-issue-on-some-distro.patch
index 3a7d7bbd3..3a7d7bbd3 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0011-fix-libcap-header-issue-on-some-distro.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0010-fix-libcap-header-issue-on-some-distro.patch
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch b/poky/meta/recipes-devtools/qemu/qemu/0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
new file mode 100644
index 000000000..e5ebfc126
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0011-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
@@ -0,0 +1,74 @@
+From 0a53e906510cce1f32bc04a11e81ea40f834dac4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
+Date: Wed, 12 Aug 2015 15:11:30 -0500
+Subject: [PATCH] cpus.c: Add error messages when qemi_cpu_kick_thread fails.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Add custom_debug.h with function for print backtrace information.
+When pthread_kill fails in qemu_cpu_kick_thread display backtrace and
+current cpu information.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
+
+---
+ cpus.c | 5 +++++
+ custom_debug.h | 24 ++++++++++++++++++++++++
+ 2 files changed, 29 insertions(+)
+ create mode 100644 custom_debug.h
+
+diff --git a/cpus.c b/cpus.c
+index e83f72b4..e6e2576e 100644
+--- a/cpus.c
++++ b/cpus.c
+@@ -1769,6 +1769,8 @@ static void *qemu_tcg_cpu_thread_fn(void *arg)
+ return NULL;
+ }
+
++#include "custom_debug.h"
++
+ static void qemu_cpu_kick_thread(CPUState *cpu)
+ {
+ #ifndef _WIN32
+@@ -1781,6 +1783,9 @@ static void qemu_cpu_kick_thread(CPUState *cpu)
+ err = pthread_kill(cpu->thread->thread, SIG_IPI);
+ if (err && err != ESRCH) {
+ fprintf(stderr, "qemu:%s: %s", __func__, strerror(err));
++ fprintf(stderr, "CPU #%d:\n", cpu->cpu_index);
++ cpu_dump_state(cpu, stderr, 0);
++ backtrace_print();
+ exit(1);
+ }
+ #else /* _WIN32 */
+diff --git a/custom_debug.h b/custom_debug.h
+new file mode 100644
+index 00000000..f029e455
+--- /dev/null
++++ b/custom_debug.h
+@@ -0,0 +1,24 @@
++#include <execinfo.h>
++#include <stdio.h>
++#define BACKTRACE_MAX 128
++static void backtrace_print(void)
++{
++ int nfuncs = 0;
++ void *buf[BACKTRACE_MAX];
++ char **symbols;
++ int i;
++
++ nfuncs = backtrace(buf, BACKTRACE_MAX);
++
++ symbols = backtrace_symbols(buf, nfuncs);
++ if (symbols == NULL) {
++ fprintf(stderr, "backtrace_print failed to get symbols");
++ return;
++ }
++
++ fprintf(stderr, "Backtrace ...\n");
++ for (i = 0; i < nfuncs; i++)
++ fprintf(stderr, "%s\n", symbols[i]);
++
++ free(symbols);
++}
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch b/poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
deleted file mode 100644
index 04664195d..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0012-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 0a53e906510cce1f32bc04a11e81ea40f834dac4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Wed, 12 Aug 2015 15:11:30 -0500
-Subject: [PATCH] cpus.c: Add error messages when qemi_cpu_kick_thread fails.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Add custom_debug.h with function for print backtrace information.
-When pthread_kill fails in qemu_cpu_kick_thread display backtrace and
-current cpu information.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
----
- cpus.c | 5 +++++
- custom_debug.h | 24 ++++++++++++++++++++++++
- 2 files changed, 29 insertions(+)
- create mode 100644 custom_debug.h
-
-diff --git a/cpus.c b/cpus.c
-index e83f72b4..e6e2576e 100644
---- a/cpus.c
-+++ b/cpus.c
-@@ -1769,6 +1769,8 @@ static void *qemu_tcg_cpu_thread_fn(void *arg)
- return NULL;
- }
-
-+#include "custom_debug.h"
-+
- static void qemu_cpu_kick_thread(CPUState *cpu)
- {
- #ifndef _WIN32
-@@ -1781,6 +1783,9 @@ static void qemu_cpu_kick_thread(CPUState *cpu)
- err = pthread_kill(cpu->thread->thread, SIG_IPI);
- if (err && err != ESRCH) {
- fprintf(stderr, "qemu:%s: %s", __func__, strerror(err));
-+ fprintf(stderr, "CPU #%d:\n", cpu->cpu_index);
-+ cpu_dump_state(cpu, stderr, fprintf, 0);
-+ backtrace_print();
- exit(1);
- }
- #else /* _WIN32 */
-diff --git a/custom_debug.h b/custom_debug.h
-new file mode 100644
-index 00000000..f029e455
---- /dev/null
-+++ b/custom_debug.h
-@@ -0,0 +1,24 @@
-+#include <execinfo.h>
-+#include <stdio.h>
-+#define BACKTRACE_MAX 128
-+static void backtrace_print(void)
-+{
-+ int nfuncs = 0;
-+ void *buf[BACKTRACE_MAX];
-+ char **symbols;
-+ int i;
-+
-+ nfuncs = backtrace(buf, BACKTRACE_MAX);
-+
-+ symbols = backtrace_symbols(buf, nfuncs);
-+ if (symbols == NULL) {
-+ fprintf(stderr, "backtrace_print failed to get symbols");
-+ return;
-+ }
-+
-+ fprintf(stderr, "Backtrace ...\n");
-+ for (i = 0; i < nfuncs; i++)
-+ fprintf(stderr, "%s\n", symbols[i]);
-+
-+ free(symbols);
-+}
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
deleted file mode 100644
index c1dd957dc..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-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/CVE-2019-15890.patch b/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-15890.patch
new file mode 100644
index 000000000..1d89431be
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/CVE-2019-15890.patch
@@ -0,0 +1,48 @@
+From 4fc0d23e8f6d795c679623d2ed2cbe6a7a17b9c7 Mon Sep 17 00:00:00 2001
+From: Li Zhou <li.zhou@windriver.com>
+Date: Tue, 10 Sep 2019 20:02:15 -0700
+Subject: [PATCH] ip_reass: Fix use after free
+
+Using ip_deq after m_free might read pointers from an allocation reuse.
+
+This would be difficult to exploit, but that is still related with
+CVE-2019-14378 which generates fragmented IP packets that would trigger this
+issue and at least produce a DoS.
+
+Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+Upstream-Status: Backport
+CVE: CVE-2019-15890
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ slirp/src/ip_input.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/slirp/src/ip_input.c b/slirp/src/ip_input.c
+index 8c75d914..c07d7d40 100644
+--- a/slirp/src/ip_input.c
++++ b/slirp/src/ip_input.c
+@@ -292,6 +292,7 @@ static struct ip *ip_reass(Slirp *slirp, struct ip *ip, struct ipq *fp)
+ */
+ while (q != (struct ipasfrag *)&fp->frag_link &&
+ ip->ip_off + ip->ip_len > q->ipf_off) {
++ struct ipasfrag *prev;
+ i = (ip->ip_off + ip->ip_len) - q->ipf_off;
+ if (i < q->ipf_len) {
+ q->ipf_len -= i;
+@@ -299,9 +300,10 @@ static struct ip *ip_reass(Slirp *slirp, struct ip *ip, struct ipq *fp)
+ m_adj(dtom(slirp, q), i);
+ break;
+ }
++ prev = q;
+ q = q->ipf_next;
+- m_free(dtom(slirp, q->ipf_prev));
+- ip_deq(q->ipf_prev);
++ ip_deq(prev);
++ m_free(dtom(slirp, prev));
+ }
+
+ insert:
+--
+2.23.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
deleted file mode 100644
index 76776098d..000000000
--- a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-BBCLASSEXTEND = "nativesdk"
-
-require qemu.inc
-
-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() {
- ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
-}
-
-PACKAGECONFIG ??= " \
- fdt sdl kvm \
- ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
-"
-PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
diff --git a/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb
new file mode 100644
index 000000000..f0c1daabe
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu_4.1.0.bb
@@ -0,0 +1,25 @@
+BBCLASSEXTEND = "nativesdk"
+
+require qemu.inc
+
+# error: a parameter list without types is only allowed in a function definition
+# void (*_function)(sigval_t);
+COMPATIBLE_HOST_libc-musl = 'null'
+
+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() {
+ ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
+}
+
+PACKAGECONFIG ??= " \
+ fdt sdl kvm \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
+"
+PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
diff --git a/poky/meta/recipes-devtools/quilt/quilt-native_0.65.bb b/poky/meta/recipes-devtools/quilt/quilt-native_0.66.bb
index 22374425f..22374425f 100644
--- a/poky/meta/recipes-devtools/quilt/quilt-native_0.65.bb
+++ b/poky/meta/recipes-devtools/quilt/quilt-native_0.66.bb
diff --git a/poky/meta/recipes-devtools/quilt/quilt.inc b/poky/meta/recipes-devtools/quilt/quilt.inc
index dbf722be2..433e9b40b 100644
--- a/poky/meta/recipes-devtools/quilt/quilt.inc
+++ b/poky/meta/recipes-devtools/quilt/quilt.inc
@@ -13,8 +13,8 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quilt/quilt-${PV}.tar.gz \
SRC_URI_append_class-target = " file://gnu_patch_test_fix_target.patch"
-SRC_URI[md5sum] = "c67ba0228f5b7b8bbe469474661f92d6"
-SRC_URI[sha256sum] = "f6cbc788e5cbbb381a3c6eab5b9efce67c776a8662a7795c7432fd27aa096819"
+SRC_URI[md5sum] = "6800c2404a2c0598ab2eff92a636ba70"
+SRC_URI[sha256sum] = "314b319a6feb13bf9d0f9ffa7ce6683b06919e734a41275087ea457cc9dc6e07"
inherit autotools-brokensep ptest
@@ -78,7 +78,7 @@ FILES_guards = "${bindir}/guards"
FILES_${PN}-doc = "${mandir}/man1/quilt.1 ${docdir}/${BPN}"
FILES_guards-doc = "${mandir}/man1/guards.1"
-RDEPENDS_${PN} = "bash patch diffstat bzip2 util-linux"
+RDEPENDS_${PN} = "bash patch diffstat bzip2 util-linux less"
RDEPENDS_${PN}_class-native = "diffstat-native patch-native bzip2-native"
RDEPENDS_${PN}-ptest = "make file sed gawk diffutils findutils ed perl \
diff --git a/poky/meta/recipes-devtools/quilt/quilt/0001-tests-Allow-different-output-from-mv.patch b/poky/meta/recipes-devtools/quilt/quilt/0001-tests-Allow-different-output-from-mv.patch
index 21219a0bb..6d0f4aedf 100644
--- a/poky/meta/recipes-devtools/quilt/quilt/0001-tests-Allow-different-output-from-mv.patch
+++ b/poky/meta/recipes-devtools/quilt/quilt/0001-tests-Allow-different-output-from-mv.patch
@@ -1,4 +1,4 @@
-From 1530138960cfafbeefb95f2a760954c00b4d0ef0 Mon Sep 17 00:00:00 2001
+From e9fa816677993e520adff8bba26cb3e71f5a6665 Mon Sep 17 00:00:00 2001
From: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date: Wed, 29 Mar 2017 15:11:59 +0300
Subject: [PATCH] tests: Allow different output from mv
@@ -12,18 +12,18 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/failbackup.test b/test/failbackup.test
-index 37046f7..fce6725 100644
+index 5f0f54f..0902b12 100644
--- a/test/failbackup.test
+++ b/test/failbackup.test
@@ -16,7 +16,7 @@ What happens when refresh fails because of a permission error?
$ cat > test.txt
< This is updated test.txt.
$ quilt refresh --backup
-- >~ mv: cannot move [`']?%{P}test.diff'? to [`']?%{P}test.diff~'?: Permission denied
+- >~ mv: cannot move [`']?patches/test.diff'? to [`']?patches/test.diff~'?: Permission denied
+ >~ mv: .*: Permission denied
$ echo %{?}
> 1
--
-2.1.4
+2.17.1
diff --git a/poky/meta/recipes-devtools/quilt/quilt/Makefile b/poky/meta/recipes-devtools/quilt/quilt/Makefile
index 7b3ac8a49..1f6cd2479 100644
--- a/poky/meta/recipes-devtools/quilt/quilt/Makefile
+++ b/poky/meta/recipes-devtools/quilt/quilt/Makefile
@@ -2,7 +2,8 @@ PATH := $(CURDIR)/bin:$(CURDIR)/compat:$(PATH)
QUILT_DIR := $(CURDIR)/quilt
QUILTRC := $(CURDIR)/test/test.quiltrc
export QUILT_DIR QUILTRC
-CHECK_ENV := P=patches/; _P=../patches/; export P _P
+CHECK_ENV := P=patches/; _P=../patches/; export P _P;
+CHECK_ENV += QUILT_PC=.pc; export QUILT_PC
-include test/.depend
check-% : test/%.test
diff --git a/poky/meta/recipes-devtools/quilt/quilt/run-ptest b/poky/meta/recipes-devtools/quilt/quilt/run-ptest
index 4b808aee4..d2de5c855 100755
--- a/poky/meta/recipes-devtools/quilt/quilt/run-ptest
+++ b/poky/meta/recipes-devtools/quilt/quilt/run-ptest
@@ -2,7 +2,7 @@
THIS_SH=/bin/sh
ln -sf /bin/ed /usr/bin/ed
-/usr/sbin/adduser --disabled-password quilttest
+/usr/sbin/adduser --disabled-password --gecos "" quilttest
su -c "${THIS_SH} ./test.sh" quilttest
/usr/sbin/deluser quilttest
rm -f /usr/bin/ed
diff --git a/poky/meta/recipes-devtools/quilt/quilt_0.65.bb b/poky/meta/recipes-devtools/quilt/quilt_0.66.bb
index ff9726576..ff9726576 100644
--- a/poky/meta/recipes-devtools/quilt/quilt_0.65.bb
+++ b/poky/meta/recipes-devtools/quilt/quilt_0.66.bb
diff --git a/poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch b/poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
new file mode 100644
index 000000000..24aa4c7ff
--- /dev/null
+++ b/poky/meta/recipes-devtools/rpm/files/0001-mono-find-provides-requires-do-not-use-monodis-from-.patch
@@ -0,0 +1,58 @@
+From 43fbc3f53302a395463e8450ac81c53f623eec3f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 27 Aug 2019 17:42:34 +0200
+Subject: [PATCH] mono-find-provides/requires: do not use monodis from the host
+
+There was a host contamination issue here: if monodis was installed
+on the host, do_package would use that to resolve dependencies
+of mono libraries (and often fail in that). Without monodis,
+no dependencies are resolved, which is seemingly how things
+are supposed to work.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ scripts/mono-find-provides | 8 ++++----
+ scripts/mono-find-requires | 8 ++++----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/scripts/mono-find-provides b/scripts/mono-find-provides
+index 9348457d3..b28872ffb 100644
+--- a/scripts/mono-find-provides
++++ b/scripts/mono-find-provides
+@@ -18,11 +18,11 @@ monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$"))
+ build_bindir="$2/usr/bin"
+ build_libdir="$2$3"
+
+-if [ -x $build_bindir/monodis ]; then
+- monodis="$build_bindir/monodis"
++if [ -x $build_bindir/monodis.bogus ]; then
++ monodis="$build_bindir/monodis.bogus"
+ export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+-elif [ -x /usr/bin/monodis ]; then
+- monodis="/usr/bin/monodis"
++elif [ -x /usr/bin/monodis.bogus ]; then
++ monodis="/usr/bin/monodis.bogus"
+ else
+ exit 0;
+ fi
+diff --git a/scripts/mono-find-requires b/scripts/mono-find-requires
+index ea58cae48..d270169e1 100644
+--- a/scripts/mono-find-requires
++++ b/scripts/mono-find-requires
+@@ -18,11 +18,11 @@ monolist=($(printf "%s\n" "${filelist[@]}" | grep -E "\\.(exe|dll)\$"))
+ build_bindir="$2/usr/bin"
+ build_libdir="$2$3"
+
+-if [ -x $build_bindir/monodis ]; then
+- monodis="$build_bindir/monodis"
++if [ -x $build_bindir/monodis.bogus ]; then
++ monodis="$build_bindir/monodis.bogus"
+ export LD_LIBRARY_PATH=$build_libdir${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+-elif [ -x /usr/bin/monodis ]; then
+- monodis="/usr/bin/monodis"
++elif [ -x /usr/bin/monodis.bogus ]; then
++ monodis="/usr/bin/monodis.bogus"
+ else
+ exit 0;
+ fi
diff --git a/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb b/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb
index 063f4269a..c37330eb4 100644
--- a/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb
+++ b/poky/meta/recipes-devtools/rpm/rpm_4.14.2.1.bb
@@ -41,6 +41,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
file://0001-perl-disable-auto-reqs.patch \
file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \
file://0016-rpmscript.c-change-logging-level-around-scriptlets-t.patch \
+ file://0001-mono-find-provides-requires-do-not-use-monodis-from-.patch \
"
PE = "1"
diff --git a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9840.patch b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9840.patch
new file mode 100644
index 000000000..758188779
--- /dev/null
+++ b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9840.patch
@@ -0,0 +1,75 @@
+From 6a043145ca6e9c55184013841a67b2fef87e44c0 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Wed, 21 Sep 2016 23:35:50 -0700
+Subject: [PATCH] Remove offset pointer optimization in inftrees.c.
+
+inftrees.c was subtracting an offset from a pointer to an array,
+in order to provide a pointer that allowed indexing starting at
+the offset. This is not compliant with the C standard, for which
+the behavior of a pointer decremented before its allocated memory
+is undefined. Per the recommendation of a security audit of the
+zlib code by Trail of Bits and TrustInSoft, in support of the
+Mozilla Foundation, this tiny optimization was removed, in order
+to avoid the possibility of undefined behavior.
+
+CVE: CVE-2016-9840
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ inftrees.c | 18 ++++++++----------
+ 1 file changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/zlib/inftrees.c b/zlib/inftrees.c
+index 22fcd666..0d2670d5 100644
+--- a/zlib/inftrees.c
++++ b/zlib/inftrees.c
+@@ -54,7 +54,7 @@ unsigned short FAR *work;
+ code FAR *next; /* next available space in table */
+ const unsigned short FAR *base; /* base value table to use */
+ const unsigned short FAR *extra; /* extra bits table to use */
+- int end; /* use base and extra for symbol > end */
++ unsigned match; /* use base and extra for symbol >= match */
+ unsigned short count[MAXBITS+1]; /* number of codes of each length */
+ unsigned short offs[MAXBITS+1]; /* offsets in table for each length */
+ static const unsigned short lbase[31] = { /* Length codes 257..285 base */
+@@ -181,19 +181,17 @@ unsigned short FAR *work;
+ switch (type) {
+ case CODES:
+ base = extra = work; /* dummy value--not used */
+- end = 19;
++ match = 20;
+ break;
+ case LENS:
+ base = lbase;
+- base -= 257;
+ extra = lext;
+- extra -= 257;
+- end = 256;
++ match = 257;
+ break;
+ default: /* DISTS */
+ base = dbase;
+ extra = dext;
+- end = -1;
++ match = 0;
+ }
+
+ /* initialize state for loop */
+@@ -216,13 +214,13 @@ unsigned short FAR *work;
+ for (;;) {
+ /* create table entry */
+ here.bits = (unsigned char)(len - drop);
+- if ((int)(work[sym]) < end) {
++ if (work[sym] + 1 < match) {
+ here.op = (unsigned char)0;
+ here.val = work[sym];
+ }
+- else if ((int)(work[sym]) > end) {
+- here.op = (unsigned char)(extra[work[sym]]);
+- here.val = base[work[sym]];
++ else if (work[sym] >= match) {
++ here.op = (unsigned char)(extra[work[sym] - match]);
++ here.val = base[work[sym] - match];
+ }
+ else {
+ here.op = (unsigned char)(32 + 64); /* end of block */
diff --git a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9841.patch b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9841.patch
new file mode 100644
index 000000000..3942176de
--- /dev/null
+++ b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9841.patch
@@ -0,0 +1,228 @@
+From 9aaec95e82117c1cb0f9624264c3618fc380cecb Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Wed, 21 Sep 2016 22:25:21 -0700
+Subject: [PATCH] Use post-increment only in inffast.c.
+
+An old inffast.c optimization turns out to not be optimal anymore
+with modern compilers, and furthermore was not compliant with the
+C standard, for which decrementing a pointer before its allocated
+memory is undefined. Per the recommendation of a security audit of
+the zlib code by Trail of Bits and TrustInSoft, in support of the
+Mozilla Foundation, this "optimization" was removed, in order to
+avoid the possibility of undefined behavior.
+
+CVE: CVE-2016-9841
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ zlib/inffast.c | 81 +++++++++++++++++++++----------------------------------
+ 1 file changed, 31 insertions(+), 50 deletions(-)
+
+diff --git a/zlib/inffast.c b/zlib/inffast.c
+index bda59ceb..f0d163db 100644
+--- a/zlib/inffast.c
++++ b/zlib/inffast.c
+@@ -10,25 +10,6 @@
+
+ #ifndef ASMINF
+
+-/* Allow machine dependent optimization for post-increment or pre-increment.
+- Based on testing to date,
+- Pre-increment preferred for:
+- - PowerPC G3 (Adler)
+- - MIPS R5000 (Randers-Pehrson)
+- Post-increment preferred for:
+- - none
+- No measurable difference:
+- - Pentium III (Anderson)
+- - M68060 (Nikl)
+- */
+-#ifdef POSTINC
+-# define OFF 0
+-# define PUP(a) *(a)++
+-#else
+-# define OFF 1
+-# define PUP(a) *++(a)
+-#endif
+-
+ /*
+ Decode literal, length, and distance codes and write out the resulting
+ literal and match bytes until either not enough input or output is
+@@ -96,9 +77,9 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
+
+ /* copy state to local variables */
+ state = (struct inflate_state FAR *)strm->state;
+- in = strm->next_in - OFF;
++ in = strm->next_in;
+ last = in + (strm->avail_in - 5);
+- out = strm->next_out - OFF;
++ out = strm->next_out;
+ beg = out - (start - strm->avail_out);
+ end = out + (strm->avail_out - 257);
+ #ifdef INFLATE_STRICT
+@@ -119,9 +100,9 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
+ input data or output space */
+ do {
+ if (bits < 15) {
+- hold += (unsigned long)(PUP(in)) << bits;
++ hold += (unsigned long)(*in++) << bits;
+ bits += 8;
+- hold += (unsigned long)(PUP(in)) << bits;
++ hold += (unsigned long)(*in++) << bits;
+ bits += 8;
+ }
+ here = lcode[hold & lmask];
+@@ -134,14 +115,14 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
+ Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
+ "inflate: literal '%c'\n" :
+ "inflate: literal 0x%02x\n", here.val));
+- PUP(out) = (unsigned char)(here.val);
++ *out++ = (unsigned char)(here.val);
+ }
+ else if (op & 16) { /* length base */
+ len = (unsigned)(here.val);
+ op &= 15; /* number of extra bits */
+ if (op) {
+ if (bits < op) {
+- hold += (unsigned long)(PUP(in)) << bits;
++ hold += (unsigned long)(*in++) << bits;
+ bits += 8;
+ }
+ len += (unsigned)hold & ((1U << op) - 1);
+@@ -150,9 +131,9 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
+ }
+ Tracevv((stderr, "inflate: length %u\n", len));
+ if (bits < 15) {
+- hold += (unsigned long)(PUP(in)) << bits;
++ hold += (unsigned long)(*in++) << bits;
+ bits += 8;
+- hold += (unsigned long)(PUP(in)) << bits;
++ hold += (unsigned long)(*in++) << bits;
+ bits += 8;
+ }
+ here = dcode[hold & dmask];
+@@ -165,10 +146,10 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
+ dist = (unsigned)(here.val);
+ op &= 15; /* number of extra bits */
+ if (bits < op) {
+- hold += (unsigned long)(PUP(in)) << bits;
++ hold += (unsigned long)(*in++) << bits;
+ bits += 8;
+ if (bits < op) {
+- hold += (unsigned long)(PUP(in)) << bits;
++ hold += (unsigned long)(*in++) << bits;
+ bits += 8;
+ }
+ }
+@@ -196,30 +177,30 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
+ #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
+ if (len <= op - whave) {
+ do {
+- PUP(out) = 0;
++ *out++ = 0;
+ } while (--len);
+ continue;
+ }
+ len -= op - whave;
+ do {
+- PUP(out) = 0;
++ *out++ = 0;
+ } while (--op > whave);
+ if (op == 0) {
+ from = out - dist;
+ do {
+- PUP(out) = PUP(from);
++ *out++ = *from++;
+ } while (--len);
+ continue;
+ }
+ #endif
+ }
+- from = window - OFF;
++ from = window;
+ if (wnext == 0) { /* very common case */
+ from += wsize - op;
+ if (op < len) { /* some from window */
+ len -= op;
+ do {
+- PUP(out) = PUP(from);
++ *out++ = *from++;
+ } while (--op);
+ from = out - dist; /* rest from output */
+ }
+@@ -230,14 +211,14 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
+ if (op < len) { /* some from end of window */
+ len -= op;
+ do {
+- PUP(out) = PUP(from);
++ *out++ = *from++;
+ } while (--op);
+- from = window - OFF;
++ from = window;
+ if (wnext < len) { /* some from start of window */
+ op = wnext;
+ len -= op;
+ do {
+- PUP(out) = PUP(from);
++ *out++ = *from++;
+ } while (--op);
+ from = out - dist; /* rest from output */
+ }
+@@ -248,35 +229,35 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
+ if (op < len) { /* some from window */
+ len -= op;
+ do {
+- PUP(out) = PUP(from);
++ *out++ = *from++;
+ } while (--op);
+ from = out - dist; /* rest from output */
+ }
+ }
+ while (len > 2) {
+- PUP(out) = PUP(from);
+- PUP(out) = PUP(from);
+- PUP(out) = PUP(from);
++ *out++ = *from++;
++ *out++ = *from++;
++ *out++ = *from++;
+ len -= 3;
+ }
+ if (len) {
+- PUP(out) = PUP(from);
++ *out++ = *from++;
+ if (len > 1)
+- PUP(out) = PUP(from);
++ *out++ = *from++;
+ }
+ }
+ else {
+ from = out - dist; /* copy direct from output */
+ do { /* minimum length is three */
+- PUP(out) = PUP(from);
+- PUP(out) = PUP(from);
+- PUP(out) = PUP(from);
++ *out++ = *from++;
++ *out++ = *from++;
++ *out++ = *from++;
+ len -= 3;
+ } while (len > 2);
+ if (len) {
+- PUP(out) = PUP(from);
++ *out++ = *from++;
+ if (len > 1)
+- PUP(out) = PUP(from);
++ *out++ = *from++;
+ }
+ }
+ }
+@@ -313,8 +294,8 @@ unsigned start; /* inflate()'s starting value for strm->avail_out */
+ hold &= (1U << bits) - 1;
+
+ /* update state and return */
+- strm->next_in = in + OFF;
+- strm->next_out = out + OFF;
++ strm->next_in = in;
++ strm->next_out = out;
+ strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
+ strm->avail_out = (unsigned)(out < end ?
+ 257 + (end - out) : 257 - (out - end));
diff --git a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9842.patch b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9842.patch
new file mode 100644
index 000000000..810d8a3fd
--- /dev/null
+++ b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9842.patch
@@ -0,0 +1,33 @@
+From e54e1299404101a5a9d0cf5e45512b543967f958 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Sat, 5 Sep 2015 17:45:55 -0700
+Subject: [PATCH] Avoid shifts of negative values inflateMark().
+
+The C standard says that bit shifts of negative integers is
+undefined. This casts to unsigned values to assure a known
+result.
+
+CVE: CVE-2016-9842
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ inflate.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/zlib/inflate.c b/zlib/inflate.c
+index 2889e3a0..a7184167 100644
+--- a/zlib/inflate.c
++++ b/zlib/inflate.c
+@@ -1506,9 +1506,10 @@ z_streamp strm;
+ {
+ struct inflate_state FAR *state;
+
+- if (strm == Z_NULL || strm->state == Z_NULL) return -1L << 16;
++ if (strm == Z_NULL || strm->state == Z_NULL)
++ return (long)(((unsigned long)0 - 1) << 16);
+ state = (struct inflate_state FAR *)strm->state;
+- return ((long)(state->back) << 16) +
++ return (long)(((unsigned long)((long)state->back)) << 16) +
+ (state->mode == COPY ? state->length :
+ (state->mode == MATCH ? state->was - state->length : 0));
+ }
diff --git a/poky/meta/recipes-devtools/rsync/files/CVE-2016-9843.patch b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9843.patch
new file mode 100644
index 000000000..ea2e42fe7
--- /dev/null
+++ b/poky/meta/recipes-devtools/rsync/files/CVE-2016-9843.patch
@@ -0,0 +1,53 @@
+From d1d577490c15a0c6862473d7576352a9f18ef811 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Wed, 28 Sep 2016 20:20:25 -0700
+Subject: [PATCH] Avoid pre-decrement of pointer in big-endian CRC calculation.
+
+There was a small optimization for PowerPCs to pre-increment a
+pointer when accessing a word, instead of post-incrementing. This
+required prefacing the loop with a decrement of the pointer,
+possibly pointing before the object passed. This is not compliant
+with the C standard, for which decrementing a pointer before its
+allocated memory is undefined. When tested on a modern PowerPC
+with a modern compiler, the optimization no longer has any effect.
+Due to all that, and per the recommendation of a security audit of
+the zlib code by Trail of Bits and TrustInSoft, in support of the
+Mozilla Foundation, this "optimization" was removed, in order to
+avoid the possibility of undefined behavior.
+
+CVE: CVE-2016-9843
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ crc32.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/zlib/crc32.c b/zlib/crc32.c
+index 979a7190..05733f4e 100644
+--- a/zlib/crc32.c
++++ b/zlib/crc32.c
+@@ -278,7 +278,7 @@ local unsigned long crc32_little(crc, buf, len)
+ }
+
+ /* ========================================================================= */
+-#define DOBIG4 c ^= *++buf4; \
++#define DOBIG4 c ^= *buf4++; \
+ c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \
+ crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24]
+ #define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4
+@@ -300,7 +300,6 @@ local unsigned long crc32_big(crc, buf, len)
+ }
+
+ buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
+- buf4--;
+ while (len >= 32) {
+ DOBIG32;
+ len -= 32;
+@@ -309,7 +308,6 @@ local unsigned long crc32_big(crc, buf, len)
+ DOBIG4;
+ len -= 4;
+ }
+- buf4++;
+ buf = (const unsigned char FAR *)buf4;
+
+ if (len) do {
diff --git a/poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb b/poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb
index 29cb231f3..ffb1d061c 100644
--- a/poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb
+++ b/poky/meta/recipes-devtools/rsync/rsync_3.1.3.bb
@@ -11,6 +11,10 @@ DEPENDS = "popt"
SRC_URI = "https://download.samba.org/pub/${BPN}/src/${BP}.tar.gz \
file://rsyncd.conf \
file://makefile-no-rebuild.patch \
+ file://CVE-2016-9840.patch \
+ file://CVE-2016-9841.patch \
+ file://CVE-2016-9842.patch \
+ file://CVE-2016-9843.patch \
"
SRC_URI[md5sum] = "1581a588fde9d89f6bc6201e8129afaf"
diff --git a/poky/meta/recipes-devtools/ruby/ruby.inc b/poky/meta/recipes-devtools/ruby/ruby.inc
index 1ecd087d7..a98249afb 100644
--- a/poky/meta/recipes-devtools/ruby/ruby.inc
+++ b/poky/meta/recipes-devtools/ruby/ruby.inc
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "\
"
DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline libffi"
-DEPENDS_class-native = "openssl-native libyaml-native readline-native"
+DEPENDS_class-native = "openssl-native libyaml-native readline-native zlib-native"
SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
SRC_URI = "http://cache.ruby-lang.org/pub/ruby/${SHRT_VER}/ruby-${PV}.tar.gz \
diff --git a/poky/meta/recipes-devtools/ruby/ruby/0001-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch b/poky/meta/recipes-devtools/ruby/ruby/0001-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch
new file mode 100644
index 000000000..4cc1fa027
--- /dev/null
+++ b/poky/meta/recipes-devtools/ruby/ruby/0001-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch
@@ -0,0 +1,101 @@
+From 3a8189530312e81d6c005c396565f985a47f3383 Mon Sep 17 00:00:00 2001
+From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
+Date: Fri, 8 Feb 2019 07:22:55 +0000
+Subject: [PATCH] configure.ac: check finite,isinf,isnan as macros first
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+[ruby-core:91487] [Bug #15595]
+
+git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
+
+---
+Upstream-Status: Backport [https://github.com/ruby/ruby/commit/74f94b3e6ebf15b76f3b357e754095412b006e94]
+(modified so as to apply cleanly here)
+Signed-off-by: André Draszik <andre.draszik@jci.com>
+---
+ aclocal.m4 | 1 +
+ configure.ac | 13 ++++---------
+ tool/m4/ruby_replace_funcs.m4 | 13 +++++++++++++
+ 3 files changed, 18 insertions(+), 9 deletions(-)
+ create mode 100644 tool/m4/ruby_replace_funcs.m4
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index 18ba297b05..2a907b3467 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -13,3 +13,4 @@
+
+ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+ m4_include([acinclude.m4])
++m4_include([tool/m4/ruby_replace_funcs.m4])
+diff --git a/configure.ac b/configure.ac
+index 8a7cee55b8..b97c5b3cc9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1189,9 +1189,6 @@ main()
+ ac_cv_func_fsync=yes
+ ac_cv_func_seekdir=yes
+ ac_cv_func_telldir=yes
+- ac_cv_func_isinf=yes
+- ac_cv_func_isnan=yes
+- ac_cv_func_finite=yes
+ ac_cv_func_lchown=yes
+ ac_cv_func_link=yes
+ ac_cv_func_readlink=yes
+@@ -1239,9 +1236,6 @@ main()
+ [netbsd*], [ LIBS="-lm $LIBS"
+ ],
+ [dragonfly*], [ LIBS="-lm $LIBS"
+- # isinf() and isnan() are macros on DragonFly.
+- ac_cv_func_isinf=yes
+- ac_cv_func_isnan=yes
+ ],
+ [aix*],[ LIBS="-lm $LIBS"
+ ac_cv_func_round=no
+@@ -2213,11 +2207,8 @@ AC_REPLACE_FUNCS(dup2)
+ AC_REPLACE_FUNCS(erf)
+ AC_REPLACE_FUNCS(explicit_bzero)
+ AC_REPLACE_FUNCS(ffs)
+-AC_REPLACE_FUNCS(finite)
+ AC_REPLACE_FUNCS(flock)
+ AC_REPLACE_FUNCS(hypot)
+-AC_REPLACE_FUNCS(isinf)
+-AC_REPLACE_FUNCS(isnan)
+ AC_REPLACE_FUNCS(lgamma_r)
+ AC_REPLACE_FUNCS(memmove)
+ AC_REPLACE_FUNCS(nextafter)
+@@ -2229,6 +2220,10 @@ AC_REPLACE_FUNCS(strlcpy)
+ AC_REPLACE_FUNCS(strstr)
+ AC_REPLACE_FUNCS(tgamma)
+
++RUBY_REPLACE_FUNC([finite], [@%:@include <math.h>])
++RUBY_REPLACE_FUNC([isinf], [@%:@include <math.h>])
++RUBY_REPLACE_FUNC([isnan], [@%:@include <math.h>])
++
+ # for missing/setproctitle.c
+ AS_CASE(["$target_os"],
+ [aix* | k*bsd*-gnu | kopensolaris*-gnu | linux* | darwin*], [AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)],
+diff --git a/tool/m4/ruby_replace_funcs.m4 b/tool/m4/ruby_replace_funcs.m4
+new file mode 100644
+index 0000000000..d0612e29a0
+--- /dev/null
++++ b/tool/m4/ruby_replace_funcs.m4
+@@ -0,0 +1,13 @@
++# -*- Autoconf -*-
++dnl RUBY_REPLACE_FUNC [func] [included]
++AC_DEFUN([RUBY_REPLACE_FUNC], [dnl
++ AC_CHECK_DECL([$1],dnl
++ [AC_DEFINE(AS_TR_CPP(HAVE_[$1]))],dnl
++ [AC_REPLACE_FUNCS($1)],dnl
++ [$2])dnl
++])
++
++dnl RUBY_REPLACE_FUNCS [funcs] [included]
++AC_DEFUN([RUBY_REPLACE_FUNCS] [dnl
++ m4_map_args_w([$1], [RUBY_REPLACE_FUNC(], [), [$2]])dnl
++])
+--
+2.23.0.rc1
+
diff --git a/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch b/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch
deleted file mode 100644
index 89437bba7..000000000
--- a/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From b4bf968ad52afe14e60a2dc8a95d3555c543353a Mon Sep 17 00:00:00 2001
-From: "K.Kosako" <kosako@sofnec.co.jp>
-Date: Thu, 18 May 2017 17:05:27 +0900
-Subject: [PATCH] fix #55 : check too big code point value for single byte
- value in next_state_val()
-
----
- regparse.c | 3 +++
- 1 file changed, 3 insertions(+)
-
---- end of original header
-
-CVE: CVE-2017-9226
-
-Add check for octal number bigger than 255.
-
-Upstream-Status: Pending
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-
---- ruby-2.4.1.orig/regparse.c
-+++ ruby-2.4.1/regparse.c
-@@ -4450,6 +4450,9 @@ next_state_val(CClassNode* cc, CClassNod
- switch (*state) {
- case CCS_VALUE:
- if (*type == CCV_SB) {
-+ if (*from > 0xff)
-+ return ONIGERR_INVALID_CODE_POINT_VALUE;
-+
- BITSET_SET_BIT_CHKDUP(cc->bs, (int )(*from));
- if (IS_NOT_NULL(asc_cc))
- BITSET_SET_BIT(asc_cc->bs, (int )(*from));
diff --git a/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch b/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch
deleted file mode 100644
index d8bfba486..000000000
--- a/poky/meta/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 3b63d12038c8d8fc278e81c942fa9bec7c704c8b Mon Sep 17 00:00:00 2001
-From: "K.Kosako" <kosako@sofnec.co.jp>
-Date: Wed, 24 May 2017 13:43:25 +0900
-Subject: [PATCH] fix #60 : invalid state(CCS_VALUE) in parse_char_class()
-
----
- regparse.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
---- end of original header
-
-CVE: CVE-2017-9228
-
-Upstream-Status: Inappropriate [not author]
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-diff --git a/regparse.c b/regparse.c
-index 69875fa..1988747 100644
---- a/regparse.c
-+++ b/regparse.c
-@@ -4081,7 +4081,9 @@ next_state_class(CClassNode* cc, OnigCodePoint* vs, enum CCVALTYPE* type,
- }
- }
-
-- *state = CCS_VALUE;
-+ if (*state != CCS_START)
-+ *state = CCS_VALUE;
-+
- *type = CCV_CLASS;
- return 0;
- }
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb b/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb
deleted file mode 100644
index 519daf294..000000000
--- a/poky/meta/recipes-devtools/ruby/ruby_2.5.3.bb
+++ /dev/null
@@ -1,80 +0,0 @@
-require ruby.inc
-
-SRC_URI += " \
- file://ruby-CVE-2017-9226.patch \
- file://ruby-CVE-2017-9228.patch \
- file://run-ptest \
- "
-
-SRC_URI[md5sum] = "20c85b67846d49622ef3b24230803fef"
-SRC_URI[sha256sum] = "9828d03852c37c20fa333a0264f2490f07338576734d910ee3fd538c9520846c"
-
-# it's unknown to configure script, but then passed to extconf.rb
-# maybe it's not really needed as we're hardcoding the result with
-# 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch
-UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-
-PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind"
-PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp"
-PACKAGECONFIG[ipv6] = ",--enable-wide-getaddrinfo,"
-
-EXTRA_AUTORECONF += "--exclude=aclocal"
-
-EXTRA_OECONF = "\
- --disable-versioned-paths \
- --disable-rpath \
- --disable-dtrace \
- --enable-shared \
- --enable-load-relative \
- --with-pkg-config=pkg-config \
-"
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-}
-
-do_install_append_class-target () {
- # Find out rbconfig.rb from .installed.list
- rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list`
- # Remove build host directories
- sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' \
- -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- -e 's:${HOSTTOOLS_DIR}/::g' \
- -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
- -e 's:${RECIPE_SYSROOT}::g' \
- -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
- ${D}$rbconfig_rb
-
- # Find out created.rid from .installed.list
- created_rid=`grep created.rid ${B}/.installed.list`
- # Remove build host directories
- sed -i -e 's:${WORKDIR}::g' ${D}$created_rid
-
-}
-
-do_install_ptest () {
- cp -rf ${S}/test ${D}${PTEST_PATH}/
- cp -r ${S}/include ${D}/${libdir}/ruby/
- test_case_rb=`grep rubygems/test_case.rb ${B}/.installed.list`
- sed -i -e 's:../../../test/:../../../ptest/test/:g' ${D}/$test_case_rb
-}
-
-PACKAGES =+ "${PN}-ri-docs ${PN}-rdoc"
-
-SUMMARY_${PN}-ri-docs = "ri (Ruby Interactive) documentation for the Ruby standard library"
-RDEPENDS_${PN}-ri-docs = "${PN}"
-FILES_${PN}-ri-docs += "${datadir}/ri"
-
-SUMMARY_${PN}-rdoc = "RDoc documentation generator from Ruby source"
-RDEPENDS_${PN}-rdoc = "${PN}"
-FILES_${PN}-rdoc += "${libdir}/ruby/*/rdoc ${bindir}/rdoc"
-
-FILES_${PN} += "${datadir}/rubygems"
-
-FILES_${PN}-ptest_append_class-target += "${libdir}/ruby/include"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/ruby/ruby_2.5.5.bb b/poky/meta/recipes-devtools/ruby/ruby_2.5.5.bb
new file mode 100644
index 000000000..223b0371e
--- /dev/null
+++ b/poky/meta/recipes-devtools/ruby/ruby_2.5.5.bb
@@ -0,0 +1,74 @@
+require ruby.inc
+
+SRC_URI += " \
+ file://0001-configure.ac-check-finite-isinf-isnan-as-macros-firs.patch \
+ file://run-ptest \
+ "
+
+SRC_URI[md5sum] = "7e156fb526b8f4bb1b30a3dd8a7ce400"
+SRC_URI[sha256sum] = "28a945fdf340e6ba04fc890b98648342e3cccfd6d223a48f3810572f11b2514c"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+
+PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind"
+PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp"
+PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6,"
+
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
+EXTRA_OECONF = "\
+ --disable-versioned-paths \
+ --disable-rpath \
+ --disable-dtrace \
+ --enable-shared \
+ --enable-load-relative \
+ --with-pkg-config=pkg-config \
+"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+do_install_append_class-target () {
+ # Find out rbconfig.rb from .installed.list
+ rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list`
+ # Remove build host directories
+ sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' \
+ -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's:${HOSTTOOLS_DIR}/::g' \
+ -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+ -e 's:${RECIPE_SYSROOT}::g' \
+ -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
+ ${D}$rbconfig_rb
+
+ # Find out created.rid from .installed.list
+ created_rid=`grep created.rid ${B}/.installed.list`
+ # Remove build host directories
+ sed -i -e 's:${WORKDIR}::g' ${D}$created_rid
+
+}
+
+do_install_ptest () {
+ cp -rf ${S}/test ${D}${PTEST_PATH}/
+ cp -r ${S}/include ${D}/${libdir}/ruby/
+ test_case_rb=`grep rubygems/test_case.rb ${B}/.installed.list`
+ sed -i -e 's:../../../test/:../../../ptest/test/:g' ${D}/$test_case_rb
+}
+
+PACKAGES =+ "${PN}-ri-docs ${PN}-rdoc"
+
+SUMMARY_${PN}-ri-docs = "ri (Ruby Interactive) documentation for the Ruby standard library"
+RDEPENDS_${PN}-ri-docs = "${PN}"
+FILES_${PN}-ri-docs += "${datadir}/ri"
+
+SUMMARY_${PN}-rdoc = "RDoc documentation generator from Ruby source"
+RDEPENDS_${PN}-rdoc = "${PN}"
+FILES_${PN}-rdoc += "${libdir}/ruby/*/rdoc ${bindir}/rdoc"
+
+FILES_${PN} += "${datadir}/rubygems"
+
+FILES_${PN}-ptest_append_class-target += "${libdir}/ruby/include"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-mksquashfs.c-get-inline-functions-work-with-C99.patch b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-mksquashfs.c-get-inline-functions-work-with-C99.patch
deleted file mode 100644
index a5bab0544..000000000
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-mksquashfs.c-get-inline-functions-work-with-C99.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-From ac6268e843c43286eebff2a1052182c2393cdb2e Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Mon, 14 Sep 2015 12:31:42 +0800
-Subject: [PATCH] mksquashfs.c: get inline functions work with both gnu11 and gnu89
-
-Upstream-Status: Pending
-
-After gcc upgraded to gcc5, and if the codes is compiled without optimization(-O0),
-and the below error will happen:
-
-| mksquashfs.o: In function `create_inode':
-| git/squashfs-tools/mksquashfs.c:897: undefined reference to `get_inode_no'
-| git/squashfs-tools/mksquashfs.c:960: undefined reference to `get_parent_no'
-| git/squashfs-tools/mksquashfs.c:983: undefined reference to `get_parent_no'
-| mksquashfs.o: In function `reader_read_process':
-| git/squashfs-tools/mksquashfs.c:2132: undefined reference to `is_fragment'
-| mksquashfs.o: In function `reader_read_file':
-| git/squashfs-tools/mksquashfs.c:2228: undefined reference to `is_fragment'
-| mksquashfs.o: In function `dir_scan':
-| git/squashfs-tools/mksquashfs.c:3101: undefined reference to `create_dir_entry'
-
-gcc5 defaults to -std=gnu11 instead of -std=gnu89, and it requires that exactly one C
-source file has the callable copy of the inline function. Consider the following
-program:
-
- inline int
- foo (void)
- {
- return 42;
- }
-
- int
- main (void)
- {
- return foo ();
- }
-
-The program above will not link with the C99 inline semantics, because no out-of-line
-function foo is generated. To fix this, either mark the function foo as static, or
-add the following declaration:
- static inline int foo (void);
-
-more information refer to: https://gcc.gnu.org/gcc-5/porting_to.html;
-
-but the use of "extern inline" will lead to the compilation issue if gcc is not
-gcc5, as the commit in oe-core d0af30c92fde [alsa-lib: Change function type to
-"static __inline__"]
- "extern __inline__ function()" is the inlined version that
- can be used in this compilation unit, but there will be another
- definition of this function somewhere, so compiler will not emit
- any code for the function body. This causes problem in -O0,
- where functions are never inlined, the function call is preserved,
- but linker can't find the symbol, thus the error happens.
-
-so replace "inline" with "static inline" to make it work with both gnu11 and gnu89
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- squashfs-tools/mksquashfs.c | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/squashfs-tools/mksquashfs.c b/squashfs-tools/mksquashfs.c
-index d221c35..6bba1d2 100644
---- a/squashfs-tools/mksquashfs.c
-+++ b/squashfs-tools/mksquashfs.c
-@@ -828,13 +828,13 @@ char *subpathname(struct dir_ent *dir_ent)
- }
-
-
--inline unsigned int get_inode_no(struct inode_info *inode)
-+static inline unsigned int get_inode_no(struct inode_info *inode)
- {
- return inode->inode_number;
- }
-
-
--inline unsigned int get_parent_no(struct dir_info *dir)
-+static inline unsigned int get_parent_no(struct dir_info *dir)
- {
- return dir->depth ? get_inode_no(dir->dir_ent->inode) : inode_no;
- }
-@@ -2027,7 +2027,7 @@ struct file_info *duplicate(long long file_size, long long bytes,
- }
-
-
--inline int is_fragment(struct inode_info *inode)
-+static inline int is_fragment(struct inode_info *inode)
- {
- off_t file_size = inode->buf.st_size;
-
-@@ -2996,13 +2996,13 @@ struct inode_info *lookup_inode2(struct stat *buf, int pseudo, int id)
- }
-
-
--inline struct inode_info *lookup_inode(struct stat *buf)
-+static inline struct inode_info *lookup_inode(struct stat *buf)
- {
- return lookup_inode2(buf, 0, 0);
- }
-
-
--inline void alloc_inode_no(struct inode_info *inode, unsigned int use_this)
-+static inline void alloc_inode_no(struct inode_info *inode, unsigned int use_this)
- {
- if (inode->inode_number == 0) {
- inode->inode_number = use_this ? : inode_no ++;
-@@ -3013,7 +3013,7 @@ inline void alloc_inode_no(struct inode_info *inode, unsigned int use_this)
- }
-
-
--inline struct dir_ent *create_dir_entry(char *name, char *source_name,
-+static inline struct dir_ent *create_dir_entry(char *name, char *source_name,
- char *nonstandard_pathname, struct dir_info *dir)
- {
- struct dir_ent *dir_ent = malloc(sizeof(struct dir_ent));
-@@ -3031,7 +3031,7 @@ inline struct dir_ent *create_dir_entry(char *name, char *source_name,
- }
-
-
--inline void add_dir_entry(struct dir_ent *dir_ent, struct dir_info *sub_dir,
-+static inline void add_dir_entry(struct dir_ent *dir_ent, struct dir_info *sub_dir,
- struct inode_info *inode_info)
- {
- struct dir_info *dir = dir_ent->our_dir;
-@@ -3047,7 +3047,7 @@ inline void add_dir_entry(struct dir_ent *dir_ent, struct dir_info *sub_dir,
- }
-
-
--inline void add_dir_entry2(char *name, char *source_name,
-+static inline void add_dir_entry2(char *name, char *source_name,
- char *nonstandard_pathname, struct dir_info *sub_dir,
- struct inode_info *inode_info, struct dir_info *dir)
- {
-@@ -3059,7 +3059,7 @@ inline void add_dir_entry2(char *name, char *source_name,
- }
-
-
--inline void free_dir_entry(struct dir_ent *dir_ent)
-+static inline void free_dir_entry(struct dir_ent *dir_ent)
- {
- if(dir_ent->name)
- free(dir_ent->name);
-@@ -3080,7 +3080,7 @@ inline void free_dir_entry(struct dir_ent *dir_ent)
- }
-
-
--inline void add_excluded(struct dir_info *dir)
-+static inline void add_excluded(struct dir_info *dir)
- {
- dir->excluded ++;
- }
---
-1.9.1
-
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-squashfs-tools-patch-for-CVE-2015-4645-6.patch b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-squashfs-tools-patch-for-CVE-2015-4645-6.patch
deleted file mode 100644
index 2261ea94b..000000000
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/0001-squashfs-tools-patch-for-CVE-2015-4645-6.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 3c0d67184d6edb63f3b7d6d5eb81531daa6388f3 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 28 Aug 2018 16:25:36 +0800
-Subject: [PATCH] squashfs-tools: patch for CVE-2015-4645(6)
-
-Upstream-Status: Backport[https://github.com/devttys0/sasquatch/pull/
- 5/commits/6777e08cc38bc780d27c69c1d8c272867b74524f]
-
-CVE: CVE-2015-4645 CVE-2015-4646
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- squashfs-tools/unsquash-4.c | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/squashfs-tools/unsquash-4.c b/squashfs-tools/unsquash-4.c
-index ecdaac7..692ae25 100644
---- a/squashfs-tools/unsquash-4.c
-+++ b/squashfs-tools/unsquash-4.c
-@@ -31,9 +31,9 @@ static unsigned int *id_table;
- int read_fragment_table_4(long long *directory_table_end)
- {
- int res, i;
-- int bytes = SQUASHFS_FRAGMENT_BYTES(sBlk.s.fragments);
-- int indexes = SQUASHFS_FRAGMENT_INDEXES(sBlk.s.fragments);
-- long long fragment_table_index[indexes];
-+ size_t bytes = SQUASHFS_FRAGMENT_BYTES(sBlk.s.fragments);
-+ size_t indexes = SQUASHFS_FRAGMENT_INDEXES(sBlk.s.fragments);
-+ long long *fragment_table_index;
-
- TRACE("read_fragment_table: %d fragments, reading %d fragment indexes "
- "from 0x%llx\n", sBlk.s.fragments, indexes,
-@@ -43,6 +43,11 @@ int read_fragment_table_4(long long *directory_table_end)
- *directory_table_end = sBlk.s.fragment_table_start;
- return TRUE;
- }
-+
-+ fragment_table_index = malloc(indexes*sizeof(long long));
-+ if(fragment_table_index == NULL)
-+ EXIT_UNSQUASH("read_fragment_table: failed to allocate "
-+ "fragment table index\n");
-
- fragment_table = malloc(bytes);
- if(fragment_table == NULL)
---
-2.7.4
-
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
deleted file mode 100644
index 87c1e8cac..000000000
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-include missing sys/stat.h for stat* function declarations
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: squashfs-tools/pseudo.c
-===================================================================
---- squashfs-tools.orig/pseudo.c
-+++ squashfs-tools/pseudo.c
-@@ -32,6 +32,7 @@
- #include <stdlib.h>
- #include <sys/types.h>
- #include <sys/wait.h>
-+#include <sys/stat.h>
- #include <ctype.h>
-
- #include "pseudo.h"
diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/squashfs-tools-4.3-sysmacros.patch b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/squashfs-tools-4.3-sysmacros.patch
index 39521a7d8..f2e88f416 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/squashfs-tools-4.3-sysmacros.patch
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/squashfs-tools-4.3-sysmacros.patch
@@ -19,7 +19,7 @@ sys/types.h might not always include sys/sysmacros.h for major/minor/makedev
#include "squashfs_fs.h"
--- a/squashfs-tools/unsquashfs.c
+++ b/squashfs-tools/unsquashfs.c
-@@ -38,6 +38,10 @@
+@@ -40,6 +40,10 @@
#include <limits.h>
#include <ctype.h>
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 dc1568a77..51e4a5939 100644
--- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
@@ -6,14 +6,10 @@ LICENSE = "GPL-2"
LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PV = "4.3+gitr${SRCPV}"
-SRCREV = "9c1db6d13a51a2e009f0027ef336ce03624eac0d"
+SRCREV = "f95864afe8833fe3ad782d714b41378e860977b1"
SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https \
- file://0001-mksquashfs.c-get-inline-functions-work-with-C99.patch;striplevel=2 \
file://squashfs-tools-4.3-sysmacros.patch;striplevel=2 \
- file://fix-compat.patch \
- file://0001-squashfs-tools-patch-for-CVE-2015-4645-6.patch;striplevel=2 \
"
-UPSTREAM_CHECK_COMMITS = "1"
SRC_URI[lzma.md5sum] = "29d5ffd03a5a3e51aef6a74e9eafb759"
SRC_URI[lzma.sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e"
@@ -24,13 +20,15 @@ COMPATIBLE_HOST_libc-musl = 'null'
EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
-PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr"
+PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr reproducible"
PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib"
PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz"
PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo"
PACKAGECONFIG[lz4] = "LZ4_SUPPORT=1,LZ4_SUPPORT=0,lz4"
PACKAGECONFIG[lzma] = "LZMA_XZ_SUPPORT=1,LZMA_XZ_SUPPORT=0,xz"
PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr"
+PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd"
+PACKAGECONFIG[reproducible] = "REPRODUCIBLE_DEFAULT=1,REPRODUCIBLE_DEFAULT=0,"
do_compile() {
oe_runmake mksquashfs unsquashfs
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch b/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
deleted file mode 100644
index daafceb37..000000000
--- a/poky/meta/recipes-devtools/strace/strace/0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From af1fdce78bff4343f3c84ea118abdc3c739fc646 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Apr 2016 16:23:56 +0000
-Subject: [PATCH] Fix build when using non-glibc libc implementation on ppc
-
-glibc includes the kernel header into its own header for macros
-musl does not
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- ptrace.h | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/ptrace.h b/ptrace.h
-index 89d4b95..b3f45bb 100644
---- a/ptrace.h
-+++ b/ptrace.h
-@@ -30,7 +30,13 @@
- # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
- #endif
-
--#include <linux/ptrace.h>
-+#if defined(POWERPC) && !defined(__GLIBC__)
-+#define pt_regs uapi_pt_regs
-+#endif
-+# include <linux/ptrace.h>
-+#if defined(POWERPC) && !defined(__GLIBC__)
-+# undef pt_regs
-+#endif
-
- #ifdef HAVE_STRUCT_IA64_FPREG
- # undef ia64_fpreg
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch b/poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch
deleted file mode 100644
index a5dccfb08..000000000
--- a/poky/meta/recipes-devtools/strace/strace/0001-mips-o32-fix-build.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 2c8b6de913973274e877639658e9e7273a012adb Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Tue, 8 Jan 2019 19:23:44 +0000
-Subject: [PATCH] mips o32: fix build
-
-Upstream-Status: Backport
-
-Commit 917c2ccf3a67 "Refactor stack pointers" moved mips_REG_* macros
-from linux/mips/arch_regs.h to linux/mips/arch_regs.c because these
-macros are no longer used outside syscall.c or files included by
-syscall.c, but this caused a build regression on mips o32 because
-decode_syscall_subcall() uses mips_REG_SP prior to its definition.
-
-* syscall.c (decode_syscall_subcall): Move ...
-* linux/mips/get_syscall_args.c: ... here.
-
-Reported-by: Baruch Siach <baruch@tkos.co.il>
-Fixes: v4.26~61 "Refactor stack pointers"
----
- linux/mips/get_syscall_args.c | 26 ++++++++++++++++++++++++++
- syscall.c | 27 ++-------------------------
- 2 files changed, 29 insertions(+), 25 deletions(-)
-
-diff --git a/linux/mips/get_syscall_args.c b/linux/mips/get_syscall_args.c
-index 387aa852..e2889f98 100644
---- a/linux/mips/get_syscall_args.c
-+++ b/linux/mips/get_syscall_args.c
-@@ -37,3 +37,29 @@ arch_get_syscall_args(struct tcb *tcp)
- #endif
- return 1;
- }
-+
-+#ifdef SYS_syscall_subcall
-+static void
-+decode_syscall_subcall(struct tcb *tcp)
-+{
-+ if (!scno_is_valid(tcp->u_arg[0]))
-+ return;
-+ tcp->scno = tcp->u_arg[0];
-+ tcp->qual_flg = qual_flags(tcp->scno);
-+ tcp->s_ent = &sysent[tcp->scno];
-+ memmove(&tcp->u_arg[0], &tcp->u_arg[1],
-+ sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0]));
-+ /*
-+ * Fetching the last arg of 7-arg syscalls (fadvise64_64
-+ * and sync_file_range) requires additional code,
-+ * see linux/mips/get_syscall_args.c
-+ */
-+ if (tcp->s_ent->nargs == MAX_ARGS) {
-+ if (umoven(tcp,
-+ mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]),
-+ sizeof(tcp->u_arg[0]),
-+ &tcp->u_arg[MAX_ARGS - 1]) < 0)
-+ tcp->u_arg[MAX_ARGS - 1] = 0;
-+ }
-+}
-+#endif /* SYS_syscall_subcall */
-diff --git a/syscall.c b/syscall.c
-index d78f51dd..51fcc721 100644
---- a/syscall.c
-+++ b/syscall.c
-@@ -349,31 +349,8 @@ decode_ipc_subcall(struct tcb *tcp)
- #endif /* SYS_ipc_subcall */
-
- #ifdef SYS_syscall_subcall
--static void
--decode_syscall_subcall(struct tcb *tcp)
--{
-- if (!scno_is_valid(tcp->u_arg[0]))
-- return;
-- tcp->scno = tcp->u_arg[0];
-- tcp->qual_flg = qual_flags(tcp->scno);
-- tcp->s_ent = &sysent[tcp->scno];
-- memmove(&tcp->u_arg[0], &tcp->u_arg[1],
-- sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0]));
--# ifdef LINUX_MIPSO32
-- /*
-- * Fetching the last arg of 7-arg syscalls (fadvise64_64
-- * and sync_file_range) requires additional code,
-- * see linux/mips/get_syscall_args.c
-- */
-- if (tcp->s_ent->nargs == MAX_ARGS) {
-- if (umoven(tcp,
-- mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]),
-- sizeof(tcp->u_arg[0]),
-- &tcp->u_arg[MAX_ARGS - 1]) < 0)
-- tcp->u_arg[MAX_ARGS - 1] = 0;
-- }
--# endif /* LINUX_MIPSO32 */
--}
-+/* The implementation is architecture specific. */
-+static void decode_syscall_subcall(struct tcb *);
- #endif /* SYS_syscall_subcall */
-
- static void
---
-2.17.0
-
diff --git a/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch b/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch
index becee79d1..95d85bf34 100644
--- a/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch
+++ b/poky/meta/recipes-devtools/strace/strace/0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch
@@ -19,16 +19,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
tests/sigaction.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/tests/sigaction.c b/tests/sigaction.c
-index 95be197..54819f9 100644
--- a/tests/sigaction.c
+++ b/tests/sigaction.c
@@ -156,7 +156,7 @@ main(void)
sigdelset(mask.libc, SIGHUP);
memcpy(new_act->mask, mask.old, sizeof(mask.old));
--#ifdef SA_RESTORER
+-# ifdef SA_RESTORER
+#if defined(SA_RESTORER) && !defined(MIPS) && !defined(ALPHA)
new_act->flags = SA_RESTORER;
new_act->restorer = (unsigned long) 0xdeadfacecafef00dULL;
- # define SA_RESTORER_FMT ", sa_flags=SA_RESTORER, sa_restorer=%#lx"
+ # define SA_RESTORER_FMT ", sa_flags=SA_RESTORER, sa_restorer=%#lx"
diff --git a/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch b/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
index d6354bf4b..5fefff33e 100644
--- a/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
+++ b/poky/meta/recipes-devtools/strace/strace/disable-git-version-gen.patch
@@ -1,4 +1,4 @@
-From ed30a4fc4dc264ce5f5881462e03ae13c921bfed Mon Sep 17 00:00:00 2001
+From 3bc47502ab011ea8d7c9cd724b25174ecd9506bc Mon Sep 17 00:00:00 2001
From: Andre McCurdy <armccurdy@gmail.com>
Date: Mon, 18 Jan 2016 13:33:50 -0800
Subject: [PATCH] strace: remove need for scripts
@@ -16,20 +16,20 @@ Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 8045ebd..4319709 100644
+index 949b058..4ba989c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,12 +12,12 @@
AC_PREREQ(2.57)
AC_INIT([strace],
-- m4_esyscmd([./git-version-gen .tarball-version]),
+- st_esyscmd_s([./git-version-gen .tarball-version]),
+ m4_esyscmd_s([cat .tarball-version]),
[strace-devel@lists.strace.io],
[strace],
[https://strace.io])
--m4_define([copyright_year], m4_esyscmd([./copyright-year-gen .year]))
--m4_define([manpage_date], m4_esyscmd([./file-date-gen strace.1.in]))
+-m4_define([copyright_year], st_esyscmd_s([./copyright-year-gen .year]))
+-m4_define([manpage_date], st_esyscmd_s([./file-date-gen strace.1.in]))
+m4_define([copyright_year], m4_esyscmd_s([cat .year]))
+m4_define([manpage_date], m4_esyscmd_s([cat .strace.1.in.date]))
AC_COPYRIGHT([Copyright (c) 1999-]copyright_year[ The strace developers.])
diff --git a/poky/meta/recipes-devtools/strace/strace/run-ptest b/poky/meta/recipes-devtools/strace/strace/run-ptest
index 8070d8317..2fed984e9 100755
--- a/poky/meta/recipes-devtools/strace/strace/run-ptest
+++ b/poky/meta/recipes-devtools/strace/strace/run-ptest
@@ -1,2 +1,3 @@
#!/bin/sh
+export TIMEOUT_DURATION=30
make -B -C tests -k test-suite.log
diff --git a/poky/meta/recipes-devtools/strace/strace_4.26.bb b/poky/meta/recipes-devtools/strace/strace_4.26.bb
deleted file mode 100644
index 3b61fc3ee..000000000
--- a/poky/meta/recipes-devtools/strace/strace_4.26.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "System call tracing tool"
-HOMEPAGE = "http://strace.io"
-SECTION = "console/utils"
-LICENSE = "LGPL-2.1+ & GPL-2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5c84d1c6e48e7961ccd2cd2ae32f7bf1"
-
-SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
- file://disable-git-version-gen.patch \
- file://more-robust-test-for-m32-mx32-compile-support.patch \
- file://update-gawk-paths.patch \
- file://Makefile-ptest.patch \
- file://run-ptest \
- file://0001-Fix-build-when-using-non-glibc-libc-implementation-o.patch \
- file://mips-SIGEMT.patch \
- 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"
-
-inherit autotools ptest bluetooth
-
-PACKAGECONFIG_class-target ??= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
-"
-
-PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,${BLUEZ}"
-PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
-
-EXTRA_OECONF += "--enable-mpers=no"
-
-CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext"
-
-TESTDIR = "tests"
-PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)"
-
-do_install_append() {
- # We don't ship strace-graph here because it needs perl
- rm ${D}${bindir}/strace-graph
-}
-
-do_compile_ptest() {
- oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
- oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
- install -m 755 ${S}/test-driver ${D}${PTEST_PATH}
- install -m 644 ${B}/config.h ${D}${PTEST_PATH}
- sed -i -e '/^src/s/strace.*[1-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
-}
-
-RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed"
-
-BBCLASSEXTEND = "native"
-TOOLCHAIN = "gcc"
diff --git a/poky/meta/recipes-devtools/strace/strace_5.3.bb b/poky/meta/recipes-devtools/strace/strace_5.3.bb
new file mode 100644
index 000000000..775a22fc6
--- /dev/null
+++ b/poky/meta/recipes-devtools/strace/strace_5.3.bb
@@ -0,0 +1,56 @@
+SUMMARY = "System call tracing tool"
+HOMEPAGE = "http://strace.io"
+SECTION = "console/utils"
+LICENSE = "LGPL-2.1+ & GPL-2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0169a04810830e94f4b1cfb823c9f592"
+
+SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \
+ file://disable-git-version-gen.patch \
+ file://more-robust-test-for-m32-mx32-compile-support.patch \
+ file://update-gawk-paths.patch \
+ file://Makefile-ptest.patch \
+ file://run-ptest \
+ file://mips-SIGEMT.patch \
+ file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \
+ file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \
+ file://ptest-spacesave.patch \
+ "
+SRC_URI[md5sum] = "84f5e72de813c9b1bb6057ee8ab428d8"
+SRC_URI[sha256sum] = "6c131198749656401fe3efd6b4b16a07ea867e8f530867ceae8930bbc937a047"
+
+inherit autotools ptest
+
+PACKAGECONFIG_class-target ??= "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
+"
+
+PACKAGECONFIG[bluez] = "ac_cv_header_bluetooth_bluetooth_h=yes,ac_cv_header_bluetooth_bluetooth_h=no,bluez5"
+PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
+
+EXTRA_OECONF += "--enable-mpers=no"
+
+CFLAGS_append_libc-musl = " -Dsigcontext_struct=sigcontext"
+
+TESTDIR = "tests"
+PTEST_BUILD_HOST_PATTERN = "^(DEB_CHANGELOGTIME|RPM_CHANGELOGTIME|WARN_CFLAGS_FOR_BUILD|LDFLAGS_FOR_BUILD)"
+
+do_install_append() {
+ # We don't ship strace-graph here because it needs perl
+ rm ${D}${bindir}/strace-graph
+}
+
+do_compile_ptest() {
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+ oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR}
+ install -m 755 ${S}/test-driver ${D}${PTEST_PATH}
+ install -m 644 ${B}/config.h ${D}${PTEST_PATH}
+ sed -i -e '/^src/s/strace.*[1-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile
+}
+
+RDEPENDS_${PN}-ptest += "make coreutils grep gawk sed"
+
+BBCLASSEXTEND = "native"
+TOOLCHAIN = "gcc"
diff --git a/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch b/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch
deleted file mode 100644
index f0edd5fe8..000000000
--- a/poky/meta/recipes-devtools/subversion/subversion/subversion-1.12.0-apr_1.7.0_fix-1.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From b147803553237654f8268e831dee8fed4989ad3b Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sat, 11 May 2019 14:46:39 +0800
-Subject: [PATCH] Submitted By: Pierre Labastie (pierre dot labastie at neuf
- dot fr) Date: 2019-04-17 Initial Package Version: 1.11.1 Origin: Upstream
- revision 1857391 Upstream Status: Committed Description: Get rid of
- apr_int64_t format string check in swig py configure.
-
-This check relied on APR implementation details and broke with APR 1.7.0.
-Rather than trying to guess a perfect format string to use, just use the
-largest possible format and cast the argument accordingly.
-
-Should fix build against APR 1.7.0 and later.
-
-Suggested by: brane
-
-* build/ac-macros/swig.m4: Remove code related to SVN_APR_INT64_T_PYCFMT.
-
-* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
- (svn_swig_py_client_blame_receiver_func): Stop relying on the
- SVN_APR_INT64_T_PYCFMT constant from configure. Use "L" and
- acast to PY_LONG_LONG instead.
-
-Upstream-Status: Backport [www.linuxfromscratch.org/patches/blfs/svn/subversion-1.12.0-apr_1.7.0_fix-1.patch]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- build/ac-macros/swig.m4 | 35 ----------------------
- .../swig/python/libsvn_swig_py/swigutil_py.c | 9 +++---
- 2 files changed, 4 insertions(+), 40 deletions(-)
-
-diff --git a/build/ac-macros/swig.m4 b/build/ac-macros/swig.m4
-index 55501fb..2963872 100644
---- a/build/ac-macros/swig.m4
-+++ b/build/ac-macros/swig.m4
-@@ -128,41 +128,6 @@ AC_DEFUN(SVN_FIND_SWIG,
- ac_cv_python_libs="`$PYTHON ${abs_srcdir}/build/get-py-info.py --libs`"
- ])
- SWIG_PY_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($ac_cv_python_libs)`"
--
-- dnl Sun Forte adds an extra space before substituting APR_INT64_T_FMT
-- dnl gcc-2.95 adds an extra space after substituting APR_INT64_T_FMT
-- dnl thus the egrep patterns have a + in them.
-- SVN_PYCFMT_SAVE_CPPFLAGS="$CPPFLAGS"
-- CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES"
-- AC_CACHE_CHECK([for apr_int64_t Python/C API format string],
-- [svn_cv_pycfmt_apr_int64_t], [
-- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
-- AC_EGREP_CPP([MaTcHtHiS +\"lld\" +EnDeNd],
-- [#include <apr.h>
-- MaTcHtHiS APR_INT64_T_FMT EnDeNd],
-- [svn_cv_pycfmt_apr_int64_t="L"])
-- fi
-- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
-- AC_EGREP_CPP([MaTcHtHiS +\"ld\" +EnDeNd],r
-- [#include <apr.h>
-- MaTcHtHiS APR_INT64_T_FMT EnDeNd],
-- [svn_cv_pycfmt_apr_int64_t="l"])
-- fi
-- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
-- AC_EGREP_CPP([MaTcHtHiS +\"d\" +EnDeNd],
-- [#include <apr.h>
-- MaTcHtHiS APR_INT64_T_FMT EnDeNd],
-- [svn_cv_pycfmt_apr_int64_t="i"])
-- fi
-- ])
-- CPPFLAGS="$SVN_PYCFMT_SAVE_CPPFLAGS"
-- if test "x$svn_cv_pycfmt_apr_int64_t" = "x"; then
-- AC_MSG_ERROR([failed to recognize APR_INT64_T_FMT on this platform])
-- fi
-- AC_DEFINE_UNQUOTED([SVN_APR_INT64_T_PYCFMT],
-- ["$svn_cv_pycfmt_apr_int64_t"],
-- [Define to the Python/C API format character suitable]
-- [ for apr_int64_t])
- fi
-
- if test "$PERL" != "none"; then
-diff --git a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
-index 2c90a6a..abe5a2a 100644
---- a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
-+++ b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
-@@ -46,7 +46,7 @@
- #include "svn_mergeinfo.h"
- #include "svn_types.h"
-
--#include "svn_private_config.h" /* for SVN_APR_INT64_T_PYCFMT */
-+#include "svn_private_config.h"
-
- #include "swig_python_external_runtime.swg"
- #include "swigutil_py.h"
-@@ -3394,10 +3394,9 @@ svn_error_t *svn_swig_py_client_blame_receiver_func(void *baton,
- svn_swig_py_acquire_py_lock();
-
- if ((result = PyObject_CallFunction(receiver,
-- (char *)
-- (SVN_APR_INT64_T_PYCFMT "lsssO&"),
-- line_no, revision, author, date, line,
-- make_ob_pool, pool)) == NULL)
-+ (char *)"LlsssO&",
-+ (PY_LONG_LONG)line_no, revision, author,
-+ date, line, make_ob_pool, pool)) == NULL)
- {
- err = callback_exception_error();
- }
---
-2.7.4
-
diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb b/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb
deleted file mode 100644
index f059ff9ff..000000000
--- a/poky/meta/recipes-devtools/subversion/subversion_1.12.0.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "Subversion (svn) version control system client"
-HOMEPAGE = "http://subversion.apache.org"
-SECTION = "console/network"
-LICENSE = "Apache-2 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6487ae7094d359fa90fb9c4096e52e2b"
-
-DEPENDS = "apr-util serf sqlite3 file lz4"
-DEPENDS_append_class-native = " file-replacement-native"
-
-SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://disable_macos.patch \
- file://0001-Fix-libtool-name-in-configure.ac.patch \
- file://serfmacro.patch \
- file://subversion-1.12.0-apr_1.7.0_fix-1.patch \
- "
-
-SRC_URI[md5sum] = "be4f5c0b1b38a5d82bd6d16a16ff1346"
-SRC_URI[sha256sum] = "7fae7c73d8a007c107c0ae5eb372bc0bb013dbfe966fcd5c59cd5a195a5e2edf"
-
-inherit autotools pkgconfig gettext
-
-PACKAGECONFIG ?= ""
-
-PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl"
-PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring,--without-gnome-keyring,glib-2.0 gnome-keyring"
-
-EXTRA_OECONF = " \
- --with-apr=${STAGING_BINDIR_CROSS} \
- --with-apr-util=${STAGING_BINDIR_CROSS} \
- --without-apxs \
- --without-berkeley-db \
- --without-swig \
- --disable-keychain \
- --with-utf8proc=internal \
- ac_cv_path_RUBY=none \
-"
-
-acpaths = "-I build/ -I build/ac-macros/"
-
-CPPFLAGS += "-P"
-BUILD_CPPFLAGS += "-P"
-
-do_configure_prepend () {
- rm -f ${S}/libtool
- rm -f ${S}/build/libtool.m4 ${S}/build/ltmain.sh ${S}/build/ltoptions.m4 ${S}/build/ltsugar.m4 ${S}/build/ltversion.m4 ${S}/build/lt~obsolete.m4
- rm -f ${S}/aclocal.m4
- sed -i -e 's:with_sasl="/usr/local":with_sasl="${STAGING_DIR}":' ${S}/build/ac-macros/sasl.m4
-}
-
-#| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_local/libsvn_ra_local-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| /usr/bin/ld: cannot find -lsvn_delta-1| collect2: ld returned 1 exit status| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_svn/libsvn_ra_svn-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_serf/libsvn_ra_serf-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'
-#| x86_64-linux-libtool: install: error: relink `libsvn_ra_serf-1.la' with the above command before installing it
-#| x86_64-linux-libtool: install: warning: `../../subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'
-#| /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/subversion-1.8.9/build-outputs.mk:1090: recipe for target 'install-serf-lib' failed
-#| make: *** [install-serf-lib] Error 1
-PARALLEL_MAKEINST = ""
-
-RDEPENDS_${PN} = "serf"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb b/poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb
new file mode 100644
index 000000000..4ffa1c584
--- /dev/null
+++ b/poky/meta/recipes-devtools/subversion/subversion_1.12.2.bb
@@ -0,0 +1,61 @@
+SUMMARY = "Subversion (svn) version control system client"
+HOMEPAGE = "http://subversion.apache.org"
+SECTION = "console/network"
+LICENSE = "Apache-2 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6487ae7094d359fa90fb9c4096e52e2b"
+
+DEPENDS = "apr-util serf sqlite3 file lz4"
+DEPENDS_append_class-native = " file-replacement-native"
+
+SRC_URI = "${APACHE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://disable_macos.patch \
+ file://0001-Fix-libtool-name-in-configure.ac.patch \
+ file://serfmacro.patch \
+ "
+
+SRC_URI[md5sum] = "1ff249f848f834ded88536543e031975"
+SRC_URI[sha256sum] = "3bd0b5c8e4c5175263dc9a92fd9aef94ce917e80af034f26fe5c45fde7e0f771"
+
+inherit autotools pkgconfig gettext
+
+CVE_PRODUCT = "apache:subversion"
+
+PACKAGECONFIG ?= ""
+
+PACKAGECONFIG[boost] = "--with-boost=${RECIPE_SYSROOT}${exec_prefix},--without-boost,boost"
+PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl"
+PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring,--without-gnome-keyring,glib-2.0 gnome-keyring"
+
+EXTRA_OECONF = " \
+ --with-apr=${STAGING_BINDIR_CROSS} \
+ --with-apr-util=${STAGING_BINDIR_CROSS} \
+ --without-apxs \
+ --without-berkeley-db \
+ --without-swig \
+ --disable-keychain \
+ --with-utf8proc=internal \
+ ac_cv_path_RUBY=none \
+"
+
+acpaths = "-I build/ -I build/ac-macros/"
+
+CPPFLAGS += "-P"
+BUILD_CPPFLAGS += "-P"
+
+do_configure_prepend () {
+ rm -f ${S}/libtool
+ rm -f ${S}/build/libtool.m4 ${S}/build/ltmain.sh ${S}/build/ltoptions.m4 ${S}/build/ltsugar.m4 ${S}/build/ltversion.m4 ${S}/build/lt~obsolete.m4
+ rm -f ${S}/aclocal.m4
+ sed -i -e 's:with_sasl="/usr/local":with_sasl="${STAGING_DIR}":' ${S}/build/ac-macros/sasl.m4
+}
+
+#| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_local/libsvn_ra_local-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| /usr/bin/ld: cannot find -lsvn_delta-1| collect2: ld returned 1 exit status| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_svn/libsvn_ra_svn-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'| x86_64-linux-libtool: install: warning: `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/build/subversion/libsvn_ra_serf/libsvn_ra_serf-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'
+#| x86_64-linux-libtool: install: error: relink `libsvn_ra_serf-1.la' with the above command before installing it
+#| x86_64-linux-libtool: install: warning: `../../subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in `/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/sysroots/x86_64-linux/usr/lib'
+#| /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-qa-logrotate/build/build/tmp/work/x86_64-linux/subversion-native/1.8.9-r0/subversion-1.8.9/build-outputs.mk:1090: recipe for target 'install-serf-lib' failed
+#| make: *** [install-serf-lib] Error 1
+PARALLEL_MAKEINST = ""
+
+RDEPENDS_${PN} = "serf"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
index 67e5d57d4..e9dbefb93 100644
--- a/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
+++ b/poky/meta/recipes-devtools/syslinux/syslinux_6.04-pre2.bb
@@ -59,11 +59,26 @@ do_compile() {
# Rebuild only the installer; keep precompiled bootloaders
# as per author's request (doc/distrib.txt)
- oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" LDFLAGS="${LDFLAGS}" firmware="bios" installer
+ oe_runmake CC="${CC} ${CFLAGS}" \
+ LD="${LD}" LDFLAGS="${LDFLAGS}" \
+ OBJDUMP="${OBJDUMP}" \
+ OBJCOPY="${OBJCOPY}" \
+ AR="${AR}" \
+ STRIP="${STRIP}" \
+ NM="${NM}" \
+ RANLIB="${RANLIB}" \
+ firmware="bios" installer
}
do_install() {
- oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" firmware="bios" install INSTALLROOT="${D}"
+ oe_runmake CC="${CC} ${CFLAGS}" LD="${LD}" \
+ OBJDUMP="${OBJDUMP}" \
+ OBJCOPY="${OBJCOPY}" \
+ AR="${AR}" \
+ STRIP="${STRIP}" \
+ NM="${NM}" \
+ RANLIB="${RANLIB}" \
+ firmware="bios" install INSTALLROOT="${D}"
install -d ${D}${datadir}/syslinux/
install -m 644 ${S}/bios/core/ldlinux.sys ${D}${datadir}/syslinux/
diff --git a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb
index 1ae21b1fb..b0433e0e9 100644
--- a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb
+++ b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_233.bb
@@ -33,5 +33,5 @@ do_configure_prepend() {
FILES_${PN} += "${systemd_unitdir}/systemd-bootchart"
-EXTRA_OECONF = " --with-rootprefix=${base_prefix} \
+EXTRA_OECONF = " --with-rootprefix=${root_prefix} \
--with-rootlibdir=${base_libdir}"
diff --git a/poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb b/poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb
deleted file mode 100644
index 5a81a8fdb..000000000
--- a/poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "Userspace NFS server v3 protocol"
-SECTION = "console/network"
-LICENSE = "unfs3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9475885294e17c0cc0067820d042792e"
-
-# SVN support for upstream version check isn't implemented yet
-RECIPE_UPSTREAM_VERSION = "0.9.22.r497"
-RECIPE_UPSTREAM_DATE = "Oct 08, 2015"
-CHECK_DATE = "Dec 10, 2015"
-
-DEPENDS = "flex-native bison-native flex"
-DEPENDS += "libtirpc"
-DEPENDS_append_class-nativesdk = " flex-nativesdk"
-
-ASNEEDED = ""
-
-MOD_PV = "497"
-S = "${WORKDIR}/trunk"
-# Only subversion url left in OE-Core, use a mirror tarball instead since
-# this rarely changes.
-# svn://svn.code.sf.net/p/unfs3/code;module=trunk;rev=${MOD_PV};protocol=http
-# rename the tarball in mirror to avoid clash with user local svn tarball
-SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/unfs3-0.9.22.r497.tar.gz \
- file://unfs3_parallel_build.patch \
- file://alternate_rpc_ports.patch \
- file://fix_pid_race_parent_writes_child_pid.patch \
- file://fix_compile_warning.patch \
- file://rename_fh_cache.patch \
- file://relative_max_socket_path_len.patch \
- file://tcp_no_delay.patch \
- file://0001-daemon.c-Libtirpc-porting-fixes.patch \
- file://0001-attr-fix-utime-for-symlink.patch \
- "
-SRC_URI[md5sum] = "2e43e471c77ade0331901c40b8f8e9a3"
-SRC_URI[sha256sum] = "21009468a9ba07b72ea93780d025a63ab4e55bf8fc3127803c296f0900fe1bac"
-
-BBCLASSEXTEND = "native nativesdk"
-
-inherit autotools
-EXTRA_OECONF_append_class-native = " --sbindir=${bindir}"
-CFLAGS_append = " -I${STAGING_INCDIR}/tirpc"
-LDFLAGS_append = " -ltirpc"
-
-# Turn off these header detects else the inode search
-# will walk entire file systems and this is a real problem
-# if you have 2 TB of files to walk in your file system
-CACHED_CONFIGUREVARS = "ac_cv_header_mntent_h=no ac_cv_header_sys_mnttab_h=no"
diff --git a/poky/meta/recipes-devtools/unfs3/unfs3_git.bb b/poky/meta/recipes-devtools/unfs3/unfs3_git.bb
new file mode 100644
index 000000000..a4ac46c68
--- /dev/null
+++ b/poky/meta/recipes-devtools/unfs3/unfs3_git.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Userspace NFS server v3 protocol"
+SECTION = "console/network"
+LICENSE = "unfs3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9475885294e17c0cc0067820d042792e"
+
+DEPENDS = "flex-native bison-native flex"
+DEPENDS += "libtirpc"
+DEPENDS_append_class-nativesdk = " flex-nativesdk"
+
+ASNEEDED = ""
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/unfs3/unfs3.git;protocol=https \
+ file://unfs3_parallel_build.patch \
+ file://alternate_rpc_ports.patch \
+ file://fix_pid_race_parent_writes_child_pid.patch \
+ file://fix_compile_warning.patch \
+ file://rename_fh_cache.patch \
+ file://relative_max_socket_path_len.patch \
+ file://tcp_no_delay.patch \
+ file://0001-daemon.c-Libtirpc-porting-fixes.patch \
+ file://0001-attr-fix-utime-for-symlink.patch \
+ "
+SRCREV = "c12a5c69a8d59be6916cbd0e0f41c159f1962425"
+UPSTREAM_CHECK_GITTAGREGEX = "unfs3\-(?P<pver>.+)"
+
+PV = "0.9.22+${SRCPV}"
+
+BBCLASSEXTEND = "native nativesdk"
+
+inherit autotools
+EXTRA_OECONF_append_class-native = " --sbindir=${bindir}"
+CFLAGS_append = " -I${STAGING_INCDIR}/tirpc"
+LDFLAGS_append = " -ltirpc"
+
+# Turn off these header detects else the inode search
+# will walk entire file systems and this is a real problem
+# if you have 2 TB of files to walk in your file system
+CACHED_CONFIGUREVARS = "ac_cv_header_mntent_h=no ac_cv_header_sys_mnttab_h=no"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.44.5.bb b/poky/meta/recipes-devtools/vala/vala_0.44.5.bb
deleted file mode 100644
index 518c9ebda..000000000
--- a/poky/meta/recipes-devtools/vala/vala_0.44.5.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
- file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
- "
-
-SRC_URI[md5sum] = "1e8b8595168446c529b11236cf75e328"
-SRC_URI[sha256sum] = "bb8f8185b805411511786733c4b769c3ee6af8bc879609bffb6c46b8999bc27f"
diff --git a/poky/meta/recipes-devtools/vala/vala_0.44.7.bb b/poky/meta/recipes-devtools/vala/vala_0.44.7.bb
new file mode 100644
index 000000000..807ca7a21
--- /dev/null
+++ b/poky/meta/recipes-devtools/vala/vala_0.44.7.bb
@@ -0,0 +1,8 @@
+require ${BPN}.inc
+
+SRC_URI += "file://0001-git-version-gen-don-t-append-dirty-if-we-re-not-in-g.patch \
+ file://0001-vapigen.m4-use-PKG_CONFIG_SYSROOT_DIR.patch \
+ "
+
+SRC_URI[md5sum] = "27fd30535c51af5b87b0e7ffdbd906ef"
+SRC_URI[sha256sum] = "bf1ff4f59d5de2d626e98e98ef81cb75dc1e6a27610a7de4133597c430f1bd7c"
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/0001-adjust-path-filter-for-2-memcheck-tests.patch b/poky/meta/recipes-devtools/valgrind/valgrind/0001-adjust-path-filter-for-2-memcheck-tests.patch
new file mode 100644
index 000000000..4bc4bb086
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/0001-adjust-path-filter-for-2-memcheck-tests.patch
@@ -0,0 +1,40 @@
+From bf63e35c3036e6040c8cfecabc7160b1f36b0591 Mon Sep 17 00:00:00 2001
+From: Randy MacLeod <Randy.MacLeod@windriver.com>
+Date: Wed, 28 Aug 2019 12:31:15 -0400
+Subject: [PATCH] adjust path filter for 2 memcheck tests
+
+Test executables produced when cross-compiling can contain
+relative paths such as:
+ coregrind/tests/../../../valgrind-3.15.0/coregrind/
+Use the --fullpath-after option to match and therefore
+suppress more of the prefix to enable test to pass.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
+---
+ memcheck/tests/badfree3.vgtest | 2 +-
+ memcheck/tests/varinfo5.vgtest | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/memcheck/tests/badfree3.vgtest b/memcheck/tests/badfree3.vgtest
+index 3dfc5fd8a..57eec21f3 100644
+--- a/memcheck/tests/badfree3.vgtest
++++ b/memcheck/tests/badfree3.vgtest
+@@ -1,3 +1,3 @@
+ prog: badfree
+-vgopts: -q --fullpath-after=memcheck/ --fullpath-after=coregrind/
++vgopts: -q --fullpath-after=/valgrind-3.15.0/memcheck/ --fullpath-after=/valgrind-3.15.0/coregrind/
+ stderr_filter_args: badfree.c
+diff --git a/memcheck/tests/varinfo5.vgtest b/memcheck/tests/varinfo5.vgtest
+index 063d00dce..6907bb2f6 100644
+--- a/memcheck/tests/varinfo5.vgtest
++++ b/memcheck/tests/varinfo5.vgtest
+@@ -1,3 +1,3 @@
+ prog: varinfo5
+-vgopts: --fullpath-after=memcheck/ --fullpath-after=coregrind/ --read-var-info=yes --read-inline-info=yes -q
++vgopts: --fullpath-after=/valgrind-3.15.0/memcheck/ --fullpath-after=/valgrind-3.15.0/coregrind/ --read-var-info=yes --read-inline-info=yes -q
+ stderr_filter: filter_varinfo3
+--
+2.22.0
+
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
new file mode 100644
index 000000000..acf4fd1bc
--- /dev/null
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64
@@ -0,0 +1,236 @@
+cachegrind/tests/ann1
+callgrind/tests/simwork1
+callgrind/tests/simwork2
+callgrind/tests/simwork3
+callgrind/tests/simwork-both
+callgrind/tests/simwork-cache
+callgrind/tests/threads
+callgrind/tests/threads-use
+drd/tests/annotate_barrier
+drd/tests/annotate_barrier_xml
+drd/tests/annotate_hbefore
+drd/tests/annotate_hb_err
+drd/tests/annotate_hb_race
+drd/tests/annotate_ignore_read
+drd/tests/annotate_ignore_rw
+drd/tests/annotate_ignore_rw2
+drd/tests/annotate_ignore_write
+drd/tests/annotate_ignore_write2
+drd/tests/annotate_order_1
+drd/tests/annotate_order_2
+drd/tests/annotate_order_3
+drd/tests/annotate_publish_hg
+drd/tests/annotate_rwlock
+drd/tests/annotate_rwlock_hg
+drd/tests/annotate_sem
+drd/tests/annotate_smart_pointer
+drd/tests/annotate_smart_pointer2
+drd/tests/annotate_spinlock
+drd/tests/annotate_static
+drd/tests/annotate_trace_memory
+drd/tests/annotate_trace_memory_xml
+drd/tests/atomic_var
+drd/tests/bar_bad
+drd/tests/bar_bad_xml
+drd/tests/bar_trivial
+drd/tests/bug-235681
+drd/tests/bug322621
+drd/tests/circular_buffer
+drd/tests/concurrent_close
+drd/tests/custom_alloc
+drd/tests/custom_alloc_fiw
+drd/tests/dlopen
+drd/tests/fork-parallel
+drd/tests/fork-serial
+drd/tests/fp_race
+drd/tests/fp_race2
+drd/tests/fp_race_xml
+drd/tests/free_is_write
+drd/tests/free_is_write2
+drd/tests/hg01_all_ok
+drd/tests/hg02_deadlock
+drd/tests/hg03_inherit
+drd/tests/hg04_race
+drd/tests/hg05_race2
+drd/tests/hg06_readshared
+drd/tests/hold_lock_1
+drd/tests/hold_lock_2
+drd/tests/linuxthreads_det
+drd/tests/matinv
+drd/tests/memory_allocation
+drd/tests/monitor_example
+drd/tests/new_delete
+drd/tests/pth_barrier
+drd/tests/pth_barrier2
+drd/tests/pth_barrier3
+drd/tests/pth_barrier_race
+drd/tests/pth_barrier_reinit
+drd/tests/pth_barrier_thr_cr
+drd/tests/pth_broadcast
+drd/tests/pth_cancel_locked
+drd/tests/pth_cleanup_handler
+drd/tests/pth_cond_race
+drd/tests/pth_cond_race2
+drd/tests/pth_detached2
+drd/tests/pth_detached3
+drd/tests/pth_detached_sem
+drd/tests/pth_inconsistent_cond_wait
+drd/tests/pth_mutex_reinit
+drd/tests/pth_once
+drd/tests/pth_process_shared_mutex
+drd/tests/pth_spinlock
+drd/tests/pth_uninitialized_cond
+drd/tests/read_and_free_race
+drd/tests/recursive_mutex
+drd/tests/rwlock_race
+drd/tests/rwlock_test
+drd/tests/rwlock_type_checking
+drd/tests/sem_as_mutex
+drd/tests/sem_as_mutex2
+drd/tests/sem_as_mutex3
+drd/tests/sem_open
+drd/tests/sem_open2
+drd/tests/sem_open3
+drd/tests/sem_open_traced
+drd/tests/sem_wait
+drd/tests/sigalrm
+drd/tests/sigaltstack
+drd/tests/std_atomic
+drd/tests/std_string
+drd/tests/std_thread
+drd/tests/std_thread2
+drd/tests/str_tester
+drd/tests/tc01_simple_race
+drd/tests/tc02_simple_tls
+drd/tests/tc03_re_excl
+drd/tests/tc04_free_lock
+drd/tests/tc05_simple_race
+drd/tests/tc06_two_races
+drd/tests/tc07_hbl1
+drd/tests/tc08_hbl2
+drd/tests/tc09_bad_unlock
+drd/tests/tc10_rec_lock
+drd/tests/tc11_XCHG
+drd/tests/tc12_rwl_trivial
+drd/tests/tc13_laog1
+drd/tests/tc15_laog_lockdel
+drd/tests/tc16_byterace
+drd/tests/tc17_sembar
+drd/tests/tc18_semabuse
+drd/tests/tc19_shadowmem
+drd/tests/tc21_pthonce
+drd/tests/tc22_exit_w_lock
+drd/tests/tc23_bogus_condwait
+helgrind/tests/annotate_rwlock
+helgrind/tests/annotate_smart_pointer
+helgrind/tests/bar_bad
+helgrind/tests/bar_trivial
+helgrind/tests/bug322621
+helgrind/tests/cond_init_destroy
+helgrind/tests/cond_timedwait_invalid
+helgrind/tests/cond_timedwait_test
+helgrind/tests/free_is_write
+helgrind/tests/hg01_all_ok
+helgrind/tests/hg03_inherit
+helgrind/tests/hg04_race
+helgrind/tests/hg05_race2
+helgrind/tests/hg06_readshared
+helgrind/tests/locked_vs_unlocked1_fwd
+helgrind/tests/locked_vs_unlocked1_rev
+helgrind/tests/locked_vs_unlocked2
+helgrind/tests/locked_vs_unlocked3
+helgrind/tests/pth_barrier1
+helgrind/tests/pth_barrier2
+helgrind/tests/pth_barrier3
+helgrind/tests/pth_destroy_cond
+helgrind/tests/rwlock_race
+helgrind/tests/rwlock_test
+helgrind/tests/shmem_abits
+helgrind/tests/stackteardown
+helgrind/tests/t2t_laog
+helgrind/tests/tc01_simple_race
+helgrind/tests/tc02_simple_tls
+helgrind/tests/tc03_re_excl
+helgrind/tests/tc04_free_lock
+helgrind/tests/tc05_simple_race
+helgrind/tests/tc06_two_races
+helgrind/tests/tc06_two_races_xml
+helgrind/tests/tc07_hbl1
+helgrind/tests/tc08_hbl2
+helgrind/tests/tc09_bad_unlock
+helgrind/tests/tc10_rec_lock
+helgrind/tests/tc11_XCHG
+helgrind/tests/tc12_rwl_trivial
+helgrind/tests/tc13_laog1
+helgrind/tests/tc14_laog_dinphils
+helgrind/tests/tc15_laog_lockdel
+helgrind/tests/tc16_byterace
+helgrind/tests/tc17_sembar
+helgrind/tests/tc18_semabuse
+helgrind/tests/tc19_shadowmem
+helgrind/tests/tc20_verifywrap
+helgrind/tests/tc21_pthonce
+helgrind/tests/tc22_exit_w_lock
+helgrind/tests/tc23_bogus_condwait
+helgrind/tests/tc24_nonzero_sem
+helgrind/tests/tls_threads
+memcheck/tests/accounting
+memcheck/tests/addressable
+memcheck/tests/arm64-linux/scalar
+memcheck/tests/atomic_incs
+memcheck/tests/badaddrvalue
+memcheck/tests/badfree
+memcheck/tests/badfree-2trace
+memcheck/tests/badfree3
+memcheck/tests/badjump
+memcheck/tests/badjump2
+memcheck/tests/badloop
+memcheck/tests/badpoll
+memcheck/tests/badrw
+memcheck/tests/big_blocks_freed_list
+memcheck/tests/brk2
+memcheck/tests/dw4
+memcheck/tests/err_disable4
+memcheck/tests/err_disable_arange1
+memcheck/tests/leak-autofreepool-5
+memcheck/tests/leak_cpp_interior
+memcheck/tests/linux/lsframe1
+memcheck/tests/linux/lsframe2
+memcheck/tests/linux/with-space
+memcheck/tests/origin5-bz2
+memcheck/tests/origin6-fp
+memcheck/tests/overlap
+memcheck/tests/partial_load_dflt
+memcheck/tests/pdb-realloc2
+memcheck/tests/sh-mem
+memcheck/tests/sh-mem-random
+memcheck/tests/sigaltstack
+memcheck/tests/sigkill
+memcheck/tests/signal2
+memcheck/tests/supp_unknown
+memcheck/tests/threadname
+memcheck/tests/threadname_xml
+memcheck/tests/unit_oset
+memcheck/tests/varinfo1
+memcheck/tests/varinfo2
+memcheck/tests/varinfo3
+memcheck/tests/varinfo4
+memcheck/tests/varinfo5
+memcheck/tests/varinfo6
+memcheck/tests/varinforestrict
+memcheck/tests/vcpu_bz2
+memcheck/tests/vcpu_fbench
+memcheck/tests/vcpu_fnfns
+memcheck/tests/wcs
+memcheck/tests/wrap1
+memcheck/tests/wrap2
+memcheck/tests/wrap3
+memcheck/tests/wrap4
+memcheck/tests/wrap5
+memcheck/tests/wrap6
+memcheck/tests/wrap7
+memcheck/tests/wrap8
+memcheck/tests/wrapmalloc
+memcheck/tests/wrapmallocstatic
+memcheck/tests/writev1
+memcheck/tests/xml1
diff --git a/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest b/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest
index 447d33c8c..97b0a85db 100755
--- a/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest
+++ b/poky/meta/recipes-devtools/valgrind/valgrind/run-ptest
@@ -4,13 +4,46 @@
# wraps the valgrind regression script vg_regtest.
#
# Dave Lerner <dave.lerner@windriver.com>
+# Randy MacLeod <Randy.MacLeod@windriver.com>
###############################################################
-VALGRINDLIB=@libdir@/valgrind
-LOG="${VALGRINDLIB}/ptest/valgrind_ptest_$(date +%Y%m%d-%H%M%S).log"
+VALGRIND_LIB=@libdir@/valgrind
+VALGRIND_BIN=@bindir@/valgrind
+
+LOG="${VALGRIND_LIB}/ptest/valgrind_ptest_$(date +%Y%m%d-%H%M%S).log"
+
+TOOLS="memcheck cachegrind callgrind helgrind drd massif dhat lackey none"
+EXP_TOOLS="exp-bbv exp-dhat exp-sgcheck"
+
+GDB_BIN=@bindir@/gdb
+cd ${VALGRIND_LIB}/ptest && ./gdbserver_tests/make_local_links ${GDB_BIN}
+
+arch=`arch`
+if [ "$arch" = "aarch64" ]; then
+ echo "Aarch64: Hide valgrind tests that result in defunct process and then out of memory"
+ for i in `cat remove-for-aarch64`; do
+ mv $i.vgtest $i.IGNORE;
+ done
+fi
+
+cd ${VALGRIND_LIB}/ptest && ./tests/vg_regtest \
+ --valgrind=${VALGRIND_BIN} \
+ --valgrind-lib=${VALGRIND_LIB} \
+ --yocto-ptest \
+ gdbserver_tests ${TOOLS} ${EXP_TOOLS} \
+ 2>&1|tee ${LOG}
+
+cd ${VALGRIND_LIB}/ptest && \
+ ./tests/post_regtest_checks $(pwd) \
+ gdbserver_tests ${TOOLS} ${EXP_TOOLS} \
+ 2>&1|tee -a ${LOG}
+
+if [ "$arch" = "aarch64" ]; then
+ echo "Aarch64: Restore valgrind tests that result in defunct process and then out of memory"
+ for i in `cat remove-for-aarch64`; do
+ mv $i.IGNORE $i.vgtest;
+ done
+fi
-cd ${VALGRINDLIB}/ptest && ./tests/vg_regtest --all \
- --valgrind=/usr/bin/valgrind --valgrind-lib=$VALGRINDLIB \
- --yocto-ptest 2>&1|tee ${LOG}
passed=`grep PASS: ${LOG}|wc -l`
failed=`grep FAIL: ${LOG}|wc -l`
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 85f0ff756..63f972945 100644
--- a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
+++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
@@ -7,8 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://include/valgrind.h;beginline=1;endline=56;md5=ad3b317f3286b6b704575d9efe6ca5df \
file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56"
-X11DEPENDS = "virtual/libx11"
-DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \
+DEPENDS = " \
${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \
"
@@ -16,6 +15,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
file://fixed-perl-path.patch \
file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \
file://run-ptest \
+ file://remove-for-aarch64 \
file://0004-Fix-out-of-tree-builds.patch \
file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \
file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \
@@ -39,6 +39,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \
file://0001-Return-a-valid-exit_code-from-vg_regtest.patch \
file://0001-valgrind-filter_xml_frames-do-not-filter-usr.patch \
file://0002-valgrind-adjust-std_list-expected-output.patch \
+ file://0001-adjust-path-filter-for-2-memcheck-tests.patch \
"
SRC_URI[md5sum] = "46e5fbdcbc3502a5976a317a0860a975"
SRC_URI[sha256sum] = "417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1"
@@ -110,7 +111,11 @@ RDEPENDS_${PN} += "perl"
# redirect functions like strlen.
RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
-RDEPENDS_${PN}-ptest += " file perl perl-module-file-glob sed ${PN}-dbg"
+RDEPENDS_${PN}-ptest += " bash coreutils file \
+ gdb libgomp \
+ perl \
+ perl-module-getopt-long perl-module-file-basename perl-module-file-glob \
+ procps sed ${PN}-dbg"
RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
# One of the tests contains a bogus interpreter path on purpose.
@@ -135,21 +140,23 @@ do_install_ptest() {
for parent_dir in ${S} ${B} ; do
cd $parent_dir
- # exclude shell or the package won't install
- rm -rf none/tests/shell* 2>/dev/null
-
subdirs=" \
+ .in_place \
cachegrind/tests \
callgrind/tests \
+ dhat/tests \
drd/tests \
gdbserver_tests \
helgrind/tests \
+ lackey/tests \
massif/tests \
memcheck/tests \
none/tests \
tests \
+ exp-bbv/tests \
+ exp-dhat/tests \
+ exp-sgcheck/tests \
"
-
# Get the vg test scripts, filters, and expected files
for dir in $subdirs ; do
find $dir | cpio -pvdu ${D}${PTEST_PATH}
@@ -157,17 +164,33 @@ do_install_ptest() {
cd $saved_dir
done
- # Hide then restore a.c that is used by ann[12].vgtest in call/cachegrind
- mv ${D}${PTEST_PATH}/cachegrind/tests/a.c ${D}${PTEST_PATH}/cachegrind/tests/a_c
- # clean out build artifacts before building the rpm
+ # The scripts reference config.h so add it to the top ptest dir.
+ cp ${B}/config.h ${D}${PTEST_PATH}
+ install -D ${WORKDIR}/remove-for-aarch64 ${D}${PTEST_PATH}
+
+ # Add an executable need by none/tests/bigcode
+ mkdir ${D}${PTEST_PATH}/perf
+ cp ${B}/perf/bigcode ${D}${PTEST_PATH}/perf
+
+ # Add an executable needed by memcheck/tests/vcpu_bz2
+ cp ${B}/perf/bz2 ${D}${PTEST_PATH}/perf
+
+ # Make the ptest dir look like the top level valgrind src dir
+ # This is checked by the gdbserver_tests/make_local_links script
+ mkdir ${D}${PTEST_PATH}/coregrind
+ cp ${B}/coregrind/vgdb ${D}${PTEST_PATH}/coregrind
+
+ # Add an executable needed by massif tests
+ cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print
+
find ${D}${PTEST_PATH} \
- \( -name "Makefile*" \
+ \( \
+ -name "Makefile*" \
-o -name "*.o" \
- -o -name "*.c" \
- -o -name "*.S" \
- -o -name "*.h" \) \
+ \) \
-exec rm {} \;
- mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c
+
+ # These files need to be newer so touch them.
touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test
# find *_annotate in ${bindir} for yocto build
@@ -177,9 +200,7 @@ do_install_ptest() {
sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest
sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest
- # needed by massif tests
- cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print
-
# handle multilib
sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
+ sed -i s:@bindir@:${bindir}:g ${D}${PTEST_PATH}/run-ptest
}
diff --git a/poky/meta/recipes-extended/acpica/acpica_20190509.bb b/poky/meta/recipes-extended/acpica/acpica_20190509.bb
deleted file mode 100644
index cf6db336a..000000000
--- a/poky/meta/recipes-extended/acpica/acpica_20190509.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "ACPICA tools for the development and debug of ACPI tables"
-DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \
-OS-independent reference implementation of the Advanced Configuration and \
-Power Interface Specification (ACPI). ACPICA code contains those portions of \
-ACPI meant to be directly integrated into the host OS as a kernel-resident \
-subsystem, and a small set of tools to assist in developing and debugging \
-ACPI tables."
-
-HOMEPAGE = "http://www.acpica.org/"
-SECTION = "console/tools"
-
-LICENSE = "BSD | GPLv2"
-LIC_FILES_CHKSUM = "file://generate/unix/readme.txt;md5=204407e197c1a01154a48f6c6280c3aa"
-
-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] = "dd1f8240f924b12b0a0de0c31ab26ab1"
-SRC_URI[sha256sum] = "860b5f94a0590b278592acf16a4556b05ff0309c08e8c48aa29827cfa02c8e9d"
-UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
-
-S = "${WORKDIR}/acpica-unix2-${PV}"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "acpixtract acpidump"
-
-EXTRA_OEMAKE = "CC='${CC}' \
- OPT_CFLAGS=-Wall \
- DESTDIR=${D} \
- PREFIX=${prefix} \
- INSTALLDIR=${bindir} \
- INSTALLFLAGS= \
- "
-
-do_install() {
- oe_runmake install
-}
-
-# iasl*.bb is a subset of this recipe, so RREPLACE it
-PROVIDES = "iasl"
-RPROVIDES_${PN} += "iasl"
-RREPLACES_${PN} += "iasl"
-RCONFLICTS_${PN} += "iasl"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-extended/acpica/acpica_20190816.bb b/poky/meta/recipes-extended/acpica/acpica_20190816.bb
new file mode 100644
index 000000000..8f7997477
--- /dev/null
+++ b/poky/meta/recipes-extended/acpica/acpica_20190816.bb
@@ -0,0 +1,49 @@
+SUMMARY = "ACPICA tools for the development and debug of ACPI tables"
+DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \
+OS-independent reference implementation of the Advanced Configuration and \
+Power Interface Specification (ACPI). ACPICA code contains those portions of \
+ACPI meant to be directly integrated into the host OS as a kernel-resident \
+subsystem, and a small set of tools to assist in developing and debugging \
+ACPI tables."
+
+HOMEPAGE = "http://www.acpica.org/"
+SECTION = "console/tools"
+
+LICENSE = "BSD | GPLv2"
+LIC_FILES_CHKSUM = "file://generate/unix/readme.txt;md5=204407e197c1a01154a48f6c6280c3aa"
+
+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] = "6a73b1e34715916fa31132dbe11008b0"
+SRC_URI[sha256sum] = "888e80f3bb77381620a5ead208e1a1be06f3ea66ddc8cfdfa62811cae5f03752"
+UPSTREAM_CHECK_URI = "https://acpica.org/downloads"
+
+S = "${WORKDIR}/acpica-unix2-${PV}"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "acpixtract acpidump"
+
+EXTRA_OEMAKE = "CC='${CC}' \
+ OPT_CFLAGS=-Wall \
+ DESTDIR=${D} \
+ PREFIX=${prefix} \
+ INSTALLDIR=${bindir} \
+ INSTALLFLAGS= \
+ "
+
+do_install() {
+ oe_runmake install
+}
+
+# iasl*.bb is a subset of this recipe, so RREPLACE it
+PROVIDES = "iasl"
+RPROVIDES_${PN} += "iasl"
+RREPLACES_${PN} += "iasl"
+RCONFLICTS_${PN} += "iasl"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-extended/at/at/pam.conf.patch b/poky/meta/recipes-extended/at/at/pam.conf.patch
index c9f337ede..38e7fc1b7 100644
--- a/poky/meta/recipes-extended/at/at/pam.conf.patch
+++ b/poky/meta/recipes-extended/at/at/pam.conf.patch
@@ -24,7 +24,7 @@ index 3674c0a..2f8d586 100644
-@include common-auth
-@include common-account
+auth include common-auth
-+acount include common-account
++account include common-account
session required pam_loginuid.so
-@include common-session-noninteractive
+session include common-session-noninteractive
diff --git a/poky/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch b/poky/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch
new file mode 100644
index 000000000..1ef797dd6
--- /dev/null
+++ b/poky/meta/recipes-extended/bc/bc/0001-dc-fix-exit-code-of-q-command.patch
@@ -0,0 +1,44 @@
+From e174b6e7d195d5a7465575641b7f68581f162574 Mon Sep 17 00:00:00 2001
+From: Li Zhou <li.zhou@windriver.com>
+Date: Thu, 27 Jun 2019 13:10:47 +0800
+Subject: [PATCH] dc: fix exit code of q command
+
+The exit code for "echo q | dc" is 1 for dc-1.4.1;
+while the exit code for "echo q | dc" is 0 for dc-1.4.
+
+Here is the answer from ken@gnu.org:
+dc-1.4 was right. There was a rewrite of a chunk of code for 1.4.1 to
+fix a corner case in the Q command, and somehow the placement of the
+clean-up label for the 'q' command got misplaced on the error-handling
+branch instead of the clean-exit branch. The patch below fixes this
+(it is committed for whenever the next bc/dc release gets made).
+
+Thanks for the report,
+ --Ken Pizzini
+
+Upstream-Status: Backport [Got the solution from maintainer]
+
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ dc/eval.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dc/eval.c b/dc/eval.c
+index 05a3d9e..bcab8db 100644
+--- a/dc/eval.c
++++ b/dc/eval.c
+@@ -814,10 +814,10 @@ error_fail:
+ fprintf(stderr, "%s: ", progname);
+ perror("error reading input");
+ return DC_FAIL;
+-reset_and_exit_quit:
+ reset_and_exit_fail:
+ signal(SIGINT, sigint_default);
+ return DC_FAIL;
++reset_and_exit_quit:
+ reset_and_exit_success:
+ signal(SIGINT, sigint_default);
+ return DC_SUCCESS;
+--
+1.9.1
+
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 809b864c1..4a5130249 100644
--- a/poky/meta/recipes-extended/bc/bc_1.07.1.bb
+++ b/poky/meta/recipes-extended/bc/bc_1.07.1.bb
@@ -13,7 +13,8 @@ DEPENDS = "flex-native"
SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://no-gen-libmath.patch \
- file://libmath.h"
+ file://libmath.h \
+ file://0001-dc-fix-exit-code-of-q-command.patch"
SRC_URI[md5sum] = "cda93857418655ea43590736fc3ca9fc"
SRC_URI[sha256sum] = "62adfca89b0a1c0164c2cdca59ca210c1d44c3ffc46daf9931cf4942664cb02a"
diff --git a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch b/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch
deleted file mode 100644
index 1d0c3a6dd..000000000
--- a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/CVE-2016-3189.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Upstream-Status: Backport
-https://bugzilla.suse.com/attachment.cgi?id=681334
-
-CVE: CVE-2016-3189
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-Index: bzip2-1.0.6/bzip2recover.c
-===================================================================
---- bzip2-1.0.6.orig/bzip2recover.c
-+++ bzip2-1.0.6/bzip2recover.c
-@@ -457,6 +457,7 @@ Int32 main ( Int32 argc, Char** argv )
- bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
- bsPutUInt32 ( bsWr, blockCRC );
- bsClose ( bsWr );
-+ outFile = NULL;
- }
- if (wrBlock >= rbCtr) break;
- wrBlock++;
diff --git a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch b/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch
deleted file mode 100644
index ece90d94e..000000000
--- a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/fix-bunzip2-qt-returns-0-for-corrupt-archives.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 8068659388127e8e63f2d2297ba2348c72b20705 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Mon, 12 Oct 2015 03:19:51 -0400
-Subject: [PATCH] bzip2: fix bunzip2 -qt returns 0 for corrupt archives
-
-"bzip2 -t FILE" returns 2 if FILE exists, but is not a valid bzip2 file.
-"bzip2 -qt FILE" returns 0 when this happens, although it does print out
-an error message as is does so.
-
-This has been fix by Debian, just port changes from Debian patch file
-"20-legacy.patch".
-
-Debian defect:
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=279025
-
-Fix item from changelog:
-http://archive.debian.net/changelogs/pool/main/b/bzip2/bzip2_1.0.2-7/changelog
-
- * Fixed "bunzip2 -qt returns 0 for corrupt archives" (Closes: #279025).
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- bzip2.c | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/bzip2.c b/bzip2.c
-index 6de9d1d..f2ce668 100644
---- a/bzip2.c
-+++ b/bzip2.c
-@@ -2003,12 +2003,14 @@ IntNative main ( IntNative argc, Char *argv[] )
- testf ( aa->name );
- }
- }
-- if (testFailsExist && noisy) {
-- fprintf ( stderr,
-- "\n"
-- "You can use the `bzip2recover' program to attempt to recover\n"
-- "data from undamaged sections of corrupted files.\n\n"
-- );
-+ if (testFailsExist) {
-+ if (noisy) {
-+ fprintf ( stderr,
-+ "\n"
-+ "You can use the `bzip2recover' program to attempt to recover\n"
-+ "data from undamaged sections of corrupted files.\n\n"
-+ );
-+ }
- setExit(2);
- exit(exitValue);
- }
---
-1.9.1
-
diff --git a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am b/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am
index dcf64584d..dcf64584d 100644
--- a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/Makefile.am
+++ b/poky/meta/recipes-extended/bzip2/bzip2/Makefile.am
diff --git a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac b/poky/meta/recipes-extended/bzip2/bzip2/configure.ac
index e2bf1bf11..b8abade2d 100644
--- a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac
+++ b/poky/meta/recipes-extended/bzip2/bzip2/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.57])
-AC_INIT(bzip2, 1.0.6)
+AC_INIT(bzip2, %BZIP2_VERSION%)
AM_INIT_AUTOMAKE(foreign)
AM_MAINTAINER_MODE
diff --git a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/run-ptest b/poky/meta/recipes-extended/bzip2/bzip2/run-ptest
index 3b20fce1e..3b20fce1e 100644
--- a/poky/meta/recipes-extended/bzip2/bzip2-1.0.6/run-ptest
+++ b/poky/meta/recipes-extended/bzip2/bzip2/run-ptest
diff --git a/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb b/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
deleted file mode 100644
index 15a8e5155..000000000
--- a/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "Very high-quality data compression program"
-DESCRIPTION = "bzip2 compresses files using the Burrows-Wheeler block-sorting text compression algorithm, and \
-Huffman coding. Compression is generally considerably better than that achieved by more conventional \
-LZ77/LZ78-based compressors, and approaches the performance of the PPM family of statistical compressors."
-HOMEPAGE = "https://sourceware.org/bzip2/"
-SECTION = "console/utils"
-LICENSE = "bzip2"
-LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=39406315f540c69bd05b1531daedd2ae"
-PR = "r5"
-
-SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/${BP}.tar.gz \
- file://fix-bunzip2-qt-returns-0-for-corrupt-archives.patch \
- file://configure.ac;subdir=${BP} \
- file://Makefile.am;subdir=${BP} \
- file://run-ptest \
- file://CVE-2016-3189.patch \
- "
-
-SRC_URI[md5sum] = "00b516f4704d4a7cb50a1d97e6e8e15b"
-SRC_URI[sha256sum] = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd"
-
-UPSTREAM_CHECK_URI = "https://www.sourceware.org/bzip2/"
-UPSTREAM_VERSION_UNKNOWN = "1"
-
-PACKAGES =+ "libbz2"
-
-CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
-
-inherit autotools update-alternatives ptest relative_symlinks
-
-ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "bunzip2 bzcat bzip2"
-
-#install binaries to bzip2-native under sysroot for replacement-native
-EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
-
-do_install_ptest () {
- sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
-}
-
-FILES_libbz2 = "${libdir}/lib*${SOLIBS}"
-
-RDEPENDS_${PN}-ptest += "make"
-
-PROVIDES_append_class-native = " bzip2-replacement-native"
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
new file mode 100644
index 000000000..8e9b779e6
--- /dev/null
+++ b/poky/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Very high-quality data compression program"
+DESCRIPTION = "bzip2 compresses files using the Burrows-Wheeler block-sorting text compression algorithm, and \
+Huffman coding. Compression is generally considerably better than that achieved by more conventional \
+LZ77/LZ78-based compressors, and approaches the performance of the PPM family of statistical compressors."
+HOMEPAGE = "https://sourceware.org/bzip2/"
+SECTION = "console/utils"
+LICENSE = "bzip2"
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664"
+
+SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \
+ file://configure.ac;subdir=${BP} \
+ file://Makefile.am;subdir=${BP} \
+ file://run-ptest \
+ "
+SRC_URI[md5sum] = "67e051268d0c475ea773822f7500d0e5"
+SRC_URI[sha256sum] = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
+
+UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/"
+
+PACKAGES =+ "libbz2"
+
+CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
+
+inherit autotools update-alternatives ptest relative_symlinks
+
+ALTERNATIVE_PRIORITY = "100"
+ALTERNATIVE_${PN} = "bunzip2 bzcat bzip2"
+
+#install binaries to bzip2-native under sysroot for replacement-native
+EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
+
+do_configure_prepend () {
+ sed -i -e "s|%BZIP2_VERSION%|${PV}|" ${S}/configure.ac
+}
+
+do_install_ptest () {
+ sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
+}
+
+FILES_libbz2 = "${libdir}/lib*${SOLIBS}"
+
+RDEPENDS_${PN}-ptest += "make"
+
+PROVIDES_append_class-native = " bzip2-replacement-native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/cups/cups.inc b/poky/meta/recipes-extended/cups/cups.inc
index 5010f0861..e303f3424 100644
--- a/poky/meta/recipes-extended/cups/cups.inc
+++ b/poky/meta/recipes-extended/cups/cups.inc
@@ -2,7 +2,7 @@ SUMMARY = "An Internet printing system for Unix"
HOMEPAGE = "https://www.cups.org/"
SECTION = "console/utils"
LICENSE = "GPLv2 & LGPLv2"
-DEPENDS = "gnutls libpng jpeg dbus dbus-glib zlib libusb1"
+DEPENDS = "gnutls libpng jpeg dbus zlib libusb1"
SRC_URI = "https://github.com/apple/cups/releases/download/v${PV}/${BP}-source.tar.gz \
file://use_echo_only_in_init.patch \
@@ -67,7 +67,7 @@ do_install () {
# Remove /var/run from package as cupsd will populate it on startup
rm -fr ${D}/${localstatedir}/run
- rmdir ${D}/${libdir}/${BPN}/driver
+ rmdir ${D}/${libexecdir}/${BPN}/driver
# Fix the pam configuration file permissions
if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
diff --git a/poky/meta/recipes-extended/cups/cups/cups_serverbin.patch b/poky/meta/recipes-extended/cups/cups/cups_serverbin.patch
index f7b44a7bc..85c6af107 100644
--- a/poky/meta/recipes-extended/cups/cups/cups_serverbin.patch
+++ b/poky/meta/recipes-extended/cups/cups/cups_serverbin.patch
@@ -4,6 +4,12 @@ e.g. ppc64 where base libdir is lib64 this does not go well
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Inappropriate [OE config specific]
+Update on 20190904:
+Redefine CUPS_SERVERBIN to "$libexecdir/cups" which solves file confliction
+when multilib is enabled.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
Index: cups-1.4.6/config-scripts/cups-directories.m4
===================================================================
--- cups-1.4.6.orig/config-scripts/cups-directories.m4 2009-04-12 16:04:51.000000000 -0700
@@ -13,7 +19,7 @@ Index: cups-1.4.6/config-scripts/cups-directories.m4
# All others
INSTALL_SYSV="install-sysv"
- CUPS_SERVERBIN="$exec_prefix/lib/cups"
-+ CUPS_SERVERBIN="$libdir/cups"
++ CUPS_SERVERBIN="$libexecdir/cups"
;;
esac
@@ -26,7 +32,7 @@ Index: cups-1.4.6/configure
# All others
INSTALL_SYSV="install-sysv"
- CUPS_SERVERBIN="$exec_prefix/lib/cups"
-+ CUPS_SERVERBIN="$libdir/cups"
++ CUPS_SERVERBIN="$libexecdir/cups"
;;
esac
diff --git a/poky/meta/recipes-extended/cups/cups_2.2.11.bb b/poky/meta/recipes-extended/cups/cups_2.2.11.bb
deleted file mode 100644
index aeb2e14e3..000000000
--- a/poky/meta/recipes-extended/cups/cups_2.2.11.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require cups.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460"
-
-SRC_URI[md5sum] = "7afbbcd2497e7d742583c492f6de40cd"
-SRC_URI[sha256sum] = "f58010813fd6903f690cdb0c0b91e4d1bc9e5b9570c28734229ba3ed2908b76c"
diff --git a/poky/meta/recipes-extended/cups/cups_2.2.12.bb b/poky/meta/recipes-extended/cups/cups_2.2.12.bb
new file mode 100644
index 000000000..8e5534a97
--- /dev/null
+++ b/poky/meta/recipes-extended/cups/cups_2.2.12.bb
@@ -0,0 +1,6 @@
+require cups.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f212b4338db0da8cb892e94bf2949460"
+
+SRC_URI[md5sum] = "e763689f7735d3fe95a2943397189e40"
+SRC_URI[sha256sum] = "0f61ab449e4748a24c6ab355b481ff7691247a140d327b2b7526fce34b7f9aa8"
diff --git a/poky/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch b/poky/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch
new file mode 100644
index 000000000..aac1c4346
--- /dev/null
+++ b/poky/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch
@@ -0,0 +1,35 @@
+From bd7fb8be2ae2d75347cf7733302d5093046ffa85 Mon Sep 17 00:00:00 2001
+From: Peiran Hong <peiran.hong@windriver.com>
+Date: Thu, 5 Sep 2019 15:42:22 -0400
+Subject: [PATCH] Skip strip-trailing-cr test case
+
+Skip the test "strip-trailing-cr" since it requires valgrind to
+work, but valgrind is considered too heavy-weight for diffutils
+package.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
+---
+ tests/Makefile.am | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 83a7c9d..04d51b5 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -21,8 +21,10 @@ TESTS = \
+ stdin \
+ strcoll-0-names \
+ filename-quoting \
+- strip-trailing-cr \
+ colors
++# Skipping this test since it requires valgrind
++# and thus is too heavy for diffutils package
++# strip-trailing-cr
+
+ XFAIL_TESTS = large-subopt
+
+--
+2.21.0
+
diff --git a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb b/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb
index 7daeee351..8111ae606 100644
--- a/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb
+++ b/poky/meta/recipes-extended/diffutils/diffutils_3.7.bb
@@ -5,6 +5,7 @@ require diffutils.inc
SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
file://run-ptest \
+ file://0001-Skip-strip-trailing-cr-test-case.patch \
"
SRC_URI[md5sum] = "4824adc0e95dbbf11dfbdfaad6a1e461"
@@ -17,7 +18,7 @@ acpaths = "-I ./m4"
inherit ptest
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS_${PN}-ptest += "make perl"
do_install_ptest() {
t=${D}${PTEST_PATH}
diff --git a/poky/meta/recipes-extended/ed/ed_1.15.bb b/poky/meta/recipes-extended/ed/ed_1.15.bb
index c79310325..886c3ddca 100644
--- a/poky/meta/recipes-extended/ed/ed_1.15.bb
+++ b/poky/meta/recipes-extended/ed/ed_1.15.bb
@@ -9,6 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7 \
SECTION = "base"
+CVE_PRODUCT = "gnu:ed"
+
# LSB states that ed should be in /bin/
bindir = "${base_bindir}"
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 7a0e38a39..7c5d4f956 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 2ca4c2492c4a06b28012e3e1033d10aa48f153b4 Mon Sep 17 00:00:00 2001
+From f8333f7759717b4d163cfe8e3ef8861c5a667324 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,16 +9,17 @@ 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 2941a65..b0a1896 100644
+index 2127fdb..4910e6f 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.1, netdev@vger.kernel.org)
+ AC_INIT(ethtool, 5.2, netdev@vger.kernel.org)
AC_PREREQ(2.52)
AC_CONFIG_SRCDIR([ethtool.c])
-AM_INIT_AUTOMAKE([gnu])
@@ -26,6 +27,3 @@ index 2941a65..b0a1896 100644
AC_CONFIG_HEADERS([ethtool-config.h])
AM_MAINTAINER_MODE
---
-2.17.1
-
diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb
deleted file mode 100644
index d379d93bc..000000000
--- a/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Display or change ethernet card settings"
-DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces."
-HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/"
-SECTION = "console/network"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216"
-
-SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \
- file://run-ptest \
- file://avoid_parallel_tests.patch \
- "
-
-SRC_URI[md5sum] = "5d3aad86aec055348a37e867695a744a"
-SRC_URI[sha256sum] = "4edb1fa4d7cf5667a5958d4213f61609f96d02cda90d2b6ec440561f8f8ffbf2"
-
-inherit autotools ptest bash-completion
-
-RDEPENDS_${PN}-ptest += "make"
-
-do_compile_ptest() {
- oe_runmake buildtest-TESTS
-}
-
-do_install_ptest () {
- cp ${B}/Makefile ${D}${PTEST_PATH}
- install ${B}/test-cmdline ${D}${PTEST_PATH}
- install ${B}/test-features ${D}${PTEST_PATH}
- install ${B}/ethtool ${D}${PTEST_PATH}/ethtool
- sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/Makefile
-}
diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.2.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.2.bb
new file mode 100644
index 000000000..e9759bd21
--- /dev/null
+++ b/poky/meta/recipes-extended/ethtool/ethtool_5.2.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Display or change ethernet card settings"
+DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces."
+HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/"
+SECTION = "console/network"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216"
+
+SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \
+ file://run-ptest \
+ file://avoid_parallel_tests.patch \
+ "
+
+SRC_URI[md5sum] = "79cff0d4af62b030ad28be90414b5c4a"
+SRC_URI[sha256sum] = "8ad6cb30f6e1767d9d23a5cb5f606f3b51f83e85ebf0153c1506194f6709e90b"
+
+inherit autotools ptest bash-completion
+
+RDEPENDS_${PN}-ptest += "make"
+
+do_compile_ptest() {
+ oe_runmake buildtest-TESTS
+}
+
+do_install_ptest () {
+ cp ${B}/Makefile ${D}${PTEST_PATH}
+ install ${B}/test-cmdline ${D}${PTEST_PATH}
+ install ${B}/test-features ${D}${PTEST_PATH}
+ install ${B}/ethtool ${D}${PTEST_PATH}/ethtool
+ sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/Makefile
+}
diff --git a/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb b/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb
deleted file mode 100644
index 578901355..000000000
--- a/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "GNU awk text processing utility"
-DESCRIPTION = "The GNU version of awk, a text processing utility. \
-Awk interprets a special-purpose programming language to do \
-quick and easy text pattern matching and reformatting jobs."
-HOMEPAGE = "https://www.gnu.org/software/gawk/"
-BUGTRACKER = "bug-gawk@gnu.org"
-SECTION = "console/utils"
-
-# gawk <= 3.1.5: GPLv2
-# gawk >= 3.1.6: GPLv3
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS += "readline"
-
-PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
-
-SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
- file://run-ptest \
-"
-
-SRC_URI[md5sum] = "45366249c13aae2bfb00e8e97c3f39b7"
-SRC_URI[sha256sum] = "2d686c9a5b7ba292bc3fa56bc84a1959d721a9d57970a76413156d4b8f1fc67d"
-
-inherit autotools gettext texinfo update-alternatives
-
-FILES_${PN} += "${datadir}/awk"
-FILES_${PN}-dev += "${libdir}/${BPN}/*.la"
-
-ALTERNATIVE_${PN} = "awk"
-ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
-ALTERNATIVE_PRIORITY = "100"
-
-do_install_append() {
- # remove the link since we don't package it
- rm ${D}${bindir}/awk
-}
-
-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
- sed -i -e 's|/usr/local/bin|${bindir}|g' \
- -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/gawk/gawk_5.0.1.bb b/poky/meta/recipes-extended/gawk/gawk_5.0.1.bb
new file mode 100644
index 000000000..b3eb39e4e
--- /dev/null
+++ b/poky/meta/recipes-extended/gawk/gawk_5.0.1.bb
@@ -0,0 +1,53 @@
+SUMMARY = "GNU awk text processing utility"
+DESCRIPTION = "The GNU version of awk, a text processing utility. \
+Awk interprets a special-purpose programming language to do \
+quick and easy text pattern matching and reformatting jobs."
+HOMEPAGE = "https://www.gnu.org/software/gawk/"
+BUGTRACKER = "bug-gawk@gnu.org"
+SECTION = "console/utils"
+
+# gawk <= 3.1.5: GPLv2
+# gawk >= 3.1.6: GPLv3
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS += "readline"
+
+PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
+
+SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
+ file://run-ptest \
+"
+
+SRC_URI[md5sum] = "c5441c73cc451764055ee65e9a4292bb"
+SRC_URI[sha256sum] = "625bf3718e25a84dc4486135d5cb5388174682362c70107fd13f21572f5603bb"
+
+inherit autotools gettext texinfo update-alternatives
+
+FILES_${PN} += "${datadir}/awk"
+FILES_${PN}-dev += "${libdir}/${BPN}/*.la"
+
+ALTERNATIVE_${PN} = "awk"
+ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
+ALTERNATIVE_PRIORITY = "100"
+
+do_install_append() {
+ # remove the link since we don't package it
+ rm ${D}${bindir}/awk
+}
+
+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
+ sed -i -e 's|/usr/local/bin|${bindir}|g' \
+ -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/ghostscript/ghostscript/CVE-2019-14811-0001.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14811-0001.patch
new file mode 100644
index 000000000..3f28555e8
--- /dev/null
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14811-0001.patch
@@ -0,0 +1,68 @@
+From 885444fcbe10dc42787ecb76686c8ee4dd33bf33 Mon Sep 17 00:00:00 2001
+From: Ken Sharp <ken.sharp@artifex.com>
+Date: Tue, 20 Aug 2019 10:10:28 +0100
+Subject: [PATCH] make .forceput inaccessible
+
+Bug #701343, #701344, #701345
+
+More defensive programming. We don't want people to access .forecput
+even though it is no longer sufficient to bypass SAFER. The exploit
+in #701343 didn't work anyway because of earlier work to stop the error
+handler being used, but nevertheless, prevent access to .forceput from
+.setuserparams2.
+
+CVE: CVE-2019-14811
+Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
+
+Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
+---
+ Resource/Init/gs_lev2.ps | 6 +++---
+ Resource/Init/gs_pdfwr.ps | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Resource/Init/gs_lev2.ps b/Resource/Init/gs_lev2.ps
+index 98d55fe..f1b771f 100644
+--- a/Resource/Init/gs_lev2.ps
++++ b/Resource/Init/gs_lev2.ps
+@@ -158,7 +158,7 @@ end
+ {
+ pop pop
+ } ifelse
+- } forall
++ } executeonly forall
+ % A context switch might have occurred during the above loop,
+ % causing the interpreter-level parameters to be reset.
+ % Set them again to the new values. From here on, we are safe,
+@@ -229,9 +229,9 @@ end
+ { pop pop
+ }
+ ifelse
+- }
++ } executeonly
+ forall pop
+-} .bind odef
++} .bind executeonly odef
+
+ % Initialize the passwords.
+ % NOTE: the names StartJobPassword and SystemParamsPassword are known to
+diff --git a/Resource/Init/gs_pdfwr.ps b/Resource/Init/gs_pdfwr.ps
+index 00c19fa..dfe504d 100644
+--- a/Resource/Init/gs_pdfwr.ps
++++ b/Resource/Init/gs_pdfwr.ps
+@@ -652,11 +652,11 @@ currentdict /.pdfmarkparams .undef
+ systemdict /.pdf_hooked_DSC_Creator //true .forceput
+ } executeonly if
+ pop
+- } if
++ } executeonly if
+ } {
+ pop
+ } ifelse
+- }
++ } executeonly
+ {
+ pop
+ } ifelse
+--
+2.20.1
+
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14817-0001.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14817-0001.patch
new file mode 100644
index 000000000..c76e21caa
--- /dev/null
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14817-0001.patch
@@ -0,0 +1,270 @@
+From 0bafbd9c1273fab0dc79fd20db0ffc4443683f96 Mon Sep 17 00:00:00 2001
+From: Ken Sharp <ken.sharp@artifex.com>
+Date: Mon, 29 Apr 2019 11:14:06 +0100
+Subject: [PATCH 1/2] PDF interpreter - Decode ToUnicode entries of the form
+ /Identity-H/V
+
+Bug #701003 "Text searchability broken due to omission of /ToUnicode /Identity-H"
+
+The PDF references from 1.2 too 2.0 all state that the value associated
+with a ToUnicode key in a FontDescriptor must be a stream object. However
+this file (and one case seen previously, bug 687351) have FontDescriptor
+dictionaries where the value associated with a /ToUnicode key is a
+name object, in both cases /Identity-H.
+
+Although this is clearly not legal, Acrobat not only tolerates it, it
+actually uses it for search/copy/paste (see bug 701003 for details).
+Without the key Acrobat is unable to successfully search the output file.
+
+We can't simply preserve the name object as a ToUnicode value; when
+handling ToUnicode we actually decode the CMap and build a
+GlyphNames2Unicode map (an internal representation of the G2U data
+produced by the Microsoft PostScript printer driver). When writing the
+output file we use that information to get a Unicode value for each
+character we write, and build a new ToUnicode CMap using that.
+
+This commit tackles the problem by pre-scanning for a name object and
+then checking to see if its Identity-H or Identity-V (although we have
+not seen an Identity-V, there seems no reason why it wouldn't be
+equally valid). If we find either of these then we construct a
+GlyphNames2Unicode table for all possible values (0 - 65535) and store
+that with the font as normal. When we write the output file we only
+write the required entries for the subset font, so we write a now
+completely legal ToUnicode CMap, and Acrobat is equally happy with that
+as the original name.
+
+If the ToUnicode value isn't a name object, or isn't one of the
+identities then we proceed as before. This means we will print a
+warning for non conforming ToUnicode entries and ignore them.
+
+CVE: CVE-2019-14817
+Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
+
+Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
+---
+ Resource/Init/pdf_font.ps | 200 ++++++++++++++++++++++++--------------
+ 1 file changed, 129 insertions(+), 71 deletions(-)
+
+diff --git a/Resource/Init/pdf_font.ps b/Resource/Init/pdf_font.ps
+index 9fb85f6..2df3303 100644
+--- a/Resource/Init/pdf_font.ps
++++ b/Resource/Init/pdf_font.ps
+@@ -621,86 +621,144 @@ currentdict end readonly def
+ PDFDEBUG {
+ (.processToUnicode beg) =
+ } if
+- 2 index /ToUnicode knownoget {
+- dup type /dicttype eq { dup /File known not } { //true } ifelse {
+- % We undefine wrong /Length and define /File in stream dictionaries.
+- % Bug687351.pdf defines /ToUnicode /Identity-H, what is incorrect.
+- ( **** Warning: Ignoring bad ToUnicode CMap.\n) pdfformatwarning
+- pop
++
++ 2 index /ToUnicode knownoget
++ {
++ dup type /nametype eq {
++ % This is contrary to the specification but it seems that Acrobat at least will accept
++ % a ToUnicode with a value of Identity-H *and* will use that for search, copy/paste.
++ % We can't pass through a name, so the best we can do is build a GlyphNames2Unicode
++ % map matching that which would have been generated by a full 16-bit Identity CMap
++ %
++ % See bug numbers 701003 and 687351
++ %
++ dup /Identity-H eq 1 index /Identity-V eq or{
++ pop
++ 1 index /FontInfo .knownget not {
++ currentglobal 2 index dup gcheck setglobal
++ /FontInfo 5 dict dup 5 1 roll .forceput
++ setglobal
++ } if
++ dup /GlyphNames2Unicode .knownget not {
++ //true % No existing G2U, make one
++ } {
++ dup wcheck {
++ //false % Existing, writeable G2U, don't make new one
++ } {
++ pop //true % Existing read only G2U, make new one
++ } ifelse
++ } ifelse
++ {
++ currentglobal exch dup gcheck setglobal
++ dup /GlyphNames2Unicode 100 dict dup 4 1 roll .forceput
++ 3 2 roll setglobal
++ } if % font-res font-dict encoding|null font-info g2u
++
++ 0 1 65535{
++ % g2u index
++ dup dup 256 mod exch 256 idiv % g2u index lo-byte hi-byte
++ 2 string dup 0 4 -1 roll % g2u index lo-byte () () 0 hi-byte
++ put % g2u index lo-byte (x)
++ dup 1 % g2u index lo-byte (x) (x) 1
++ 4 -1 roll put % g2u index (x) (x) 1 lo-byte -> dict index (xx)
++ 2 index % g2u index (xx) dict
++ 3 1 roll % g2u g2u index (xx)
++ put % g2u
++ } for
++ pop % font-res font-dict encoding|null font-info
++ pop % font-res font-dict encoding|null
++ //false % We built a GlyphNames2Unicode table, don't need to process further
++ }{
++ //true % name is not Identity-V or H, fail by falling through
++ }ifelse
+ } {
+- /PDFScanRules .getuserparam dup //null eq {
+- pop //PDFScanRules_null
+- } {
+- 1 dict dup /PDFScanRules 4 -1 roll put
+- } ifelse
+- //PDFScanRules_true setuserparams
+- PDFfile fileposition
+- 3 -1 roll
+- count 1 sub
+- countdictstack
+- { //false resolvestream
+- % Following Acrobat we ignore everything outside
+- % begincodespacerange .. endcmap.
+- dup 0 (begincodespacerange) /SubFileDecode filter flushfile
+- /CIDInit /ProcSet findresource begin
+- //ToUnicodeCMapReader begin
+- 12 dict begin
+- /CMapType 2 def
+- mark exch % emulate 'begincodespacerange'
+- 0 (endcmap) /SubFileDecode filter cvx /begincmap cvx exch 2 .execn
+- endcmap
+- userdict /.lastToUnicode currentdict put
+- end end end
+- }
++ //true
++ } ifelse % not a name, try as a dictionary (as specified)
+
+- PDFSTOPONERROR {
+- { exec } 0 get
+- //false
+- 5 -2 roll
+- 5
++ % If the ToUnicode isn't a name, or the name isn't Identity-V or -H then follow the specification
++ % If its not a dictionary type throw an error, otherwise decode it and build a GlyphNames2Unicode
++ %
++ {
++ dup type /dicttype eq { dup /File known not } { //true } ifelse {
++ % We undefine wrong /Length and define /File in stream dictionaries.
++ % Bug687351.pdf defines /ToUnicode /Identity-H, what is incorrect.
++ ( **** Warning: Ignoring bad ToUnicode CMap.\n) pdfformatwarning
++ pop
+ } {
+- { stopped } 0 get
+- 4 2 roll
+- 4
+- } ifelse
+- array astore cvx exec
++ /PDFScanRules .getuserparam dup //null eq {
++ pop //PDFScanRules_null
++ } {
++ 1 dict dup /PDFScanRules 4 -1 roll put
++ } ifelse
++ //PDFScanRules_true setuserparams
++ PDFfile fileposition
++ 3 -1 roll
++ count 1 sub
++ countdictstack
++ { //false resolvestream
++ % Following Acrobat we ignore everything outside
++ % begincodespacerange .. endcmap.
++ dup 0 (begincodespacerange) /SubFileDecode filter flushfile
++ /CIDInit /ProcSet findresource begin
++ //ToUnicodeCMapReader begin
++ 12 dict begin
++ /CMapType 2 def
++ mark exch % emulate 'begincodespacerange'
++ 0 (endcmap) /SubFileDecode filter cvx /begincmap cvx exch 2 .execn
++ endcmap
++ userdict /.lastToUnicode currentdict put
++ end end end
++ }
+
+- countdictstack exch sub 0 .max { end } repeat
+- count exch sub 2 sub 0 .max { exch pop } repeat
+- 3 1 roll % Stach the stop flag.
+- PDFfile exch setfileposition
+- setuserparams
+- {
+- ( **** Warning: Failed to read ToUnicode CMap.\n) pdfformatwarning
+- } {
+- 1 index /FontInfo .knownget not {
+- currentglobal 2 index dup gcheck setglobal
+- /FontInfo 5 dict dup 5 1 roll .forceput
+- setglobal
+- } if
+- dup /GlyphNames2Unicode .knownget not {
+- //true % No existing G2U, make one
++ PDFSTOPONERROR {
++ { exec } 0 get
++ //false
++ 5 -2 roll
++ 5
++ } {
++ { stopped } 0 get
++ 4 2 roll
++ 4
++ } ifelse
++ array astore cvx exec
++
++ countdictstack exch sub 0 .max { end } repeat
++ count exch sub 2 sub 0 .max { exch pop } repeat
++ 3 1 roll % Stach the stop flag.
++ PDFfile exch setfileposition
++ setuserparams
++ {
++ ( **** Warning: Failed to read ToUnicode CMap.\n) pdfformatwarning
+ } {
+- dup wcheck {
+- //false % Existing, writeable G2U, don't make new one
++ 1 index /FontInfo .knownget not {
++ currentglobal 2 index dup gcheck setglobal
++ /FontInfo 5 dict dup 5 1 roll .forceput
++ setglobal
++ } if
++ dup /GlyphNames2Unicode .knownget not {
++ //true % No existing G2U, make one
+ } {
+- pop //true % Existing read only G2U, make new one
++ dup wcheck {
++ //false % Existing, writeable G2U, don't make new one
++ } {
++ pop //true % Existing read only G2U, make new one
++ } ifelse
+ } ifelse
++ {
++ currentglobal exch dup gcheck setglobal
++ dup /GlyphNames2Unicode 100 dict dup 4 1 roll .forceput
++ 3 2 roll setglobal
++ } if % font-res font-dict encoding|null font-info g2u
++ exch pop exch % font-res font-dict g2u encoding|null
++ userdict /.lastToUnicode get % font-res font-dict g2u Encoding|null CMap
++ .convert_ToUnicode-into-g2u % font-res font-dict
++ //null % font-res font-dict //null
+ } ifelse
+- {
+- currentglobal exch dup gcheck setglobal
+- dup /GlyphNames2Unicode 100 dict dup 4 1 roll .forceput
+- 3 2 roll setglobal
+- } if % font-res font-dict encoding|null font-info g2u
+- exch pop exch % font-res font-dict g2u encoding|null
+- userdict /.lastToUnicode get % font-res font-dict g2u Encoding|null CMap
+- .convert_ToUnicode-into-g2u % font-res font-dict
+- //null % font-res font-dict //null
+ } ifelse
+- } ifelse
+- } if
+- PDFDEBUG {
+- (.processToUnicode end) =
++ } if
++ PDFDEBUG {
++ (.processToUnicode end) =
++ } if
+ } if
+ } if
+ } stopped
+--
+2.20.1
+
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14817-0002.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14817-0002.patch
new file mode 100644
index 000000000..6348fff2d
--- /dev/null
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript/CVE-2019-14817-0002.patch
@@ -0,0 +1,236 @@
+From cd1b1cacadac2479e291efe611979bdc1b3bdb19 Mon Sep 17 00:00:00 2001
+From: Ken Sharp <ken.sharp@artifex.com>
+Date: Wed, 21 Aug 2019 10:10:51 +0100
+Subject: [PATCH 2/2] PDF interpreter - review .forceput security
+
+Bug #701450 "Safer Mode Bypass by .forceput Exposure in .pdfexectoken"
+
+By abusing the error handler it was possible to get the PDFDEBUG portion
+of .pdfexectoken, which uses .forceput left readable.
+
+Add an executeonly appropriately to make sure that clause isn't readable
+no mstter what.
+
+Review all the uses of .forceput searching for similar cases, add
+executeonly as required to secure those. All cases in the PostScript
+support files seem to be covered already.
+
+CVE: CVE-2019-14817
+Upstream-Status: Backport [git://git.ghostscript.com/ghostpdl.git]
+
+Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
+---
+ Resource/Init/pdf_base.ps | 2 +-
+ Resource/Init/pdf_draw.ps | 14 +++++++-------
+ Resource/Init/pdf_font.ps | 29 ++++++++++++++++-------------
+ Resource/Init/pdf_main.ps | 6 +++---
+ Resource/Init/pdf_ops.ps | 11 ++++++-----
+ 5 files changed, 33 insertions(+), 29 deletions(-)
+
+diff --git a/Resource/Init/pdf_base.ps b/Resource/Init/pdf_base.ps
+index 1a218f4..cffde5c 100644
+--- a/Resource/Init/pdf_base.ps
++++ b/Resource/Init/pdf_base.ps
+@@ -157,7 +157,7 @@ currentdict /num-chars-dict .undef
+ {
+ dup ==only () = flush
+ } ifelse % PDFSTEP
+- } if % PDFDEBUG
++ } executeonly if % PDFDEBUG
+ 2 copy .knownget {
+ exch pop exch pop exch pop exec
+ } {
+diff --git a/Resource/Init/pdf_draw.ps b/Resource/Init/pdf_draw.ps
+index e18a7c2..0a3924c 100644
+--- a/Resource/Init/pdf_draw.ps
++++ b/Resource/Init/pdf_draw.ps
+@@ -501,8 +501,8 @@ end
+ ( Output may be incorrect.\n) pdfformaterror
+ //pdfdict /.gs_warning_issued //true .forceput
+ PDFSTOPONERROR { /gs /undefined signalerror } if
+- } if
+- }
++ } executeonly if
++ } executeonly
+ ifelse
+ } bind executeonly def
+
+@@ -1142,7 +1142,7 @@ currentdict end readonly def
+ .setglobal
+ pdfformaterror
+ } executeonly ifelse
+- }
++ } executeonly
+ {
+ currentglobal //pdfdict gcheck .setglobal
+ //pdfdict /.Qqwarning_issued //true .forceput
+@@ -1150,8 +1150,8 @@ currentdict end readonly def
+ pdfformaterror
+ } executeonly ifelse
+ end
+- } ifelse
+- } loop
++ } executeonly ifelse
++ } executeonly loop
+ {
+ (\n **** Error: File has unbalanced q/Q operators \(too many q's\)\n Output may be incorrect.\n)
+ //pdfdict /.Qqwarning_issued .knownget
+@@ -1165,14 +1165,14 @@ currentdict end readonly def
+ .setglobal
+ pdfformaterror
+ } executeonly ifelse
+- }
++ } executeonly
+ {
+ currentglobal //pdfdict gcheck .setglobal
+ //pdfdict /.Qqwarning_issued //true .forceput
+ .setglobal
+ pdfformaterror
+ } executeonly ifelse
+- } if
++ } executeonly if
+ pop
+
+ % restore pdfemptycount
+diff --git a/Resource/Init/pdf_font.ps b/Resource/Init/pdf_font.ps
+index 2df3303..6a6a5fe 100644
+--- a/Resource/Init/pdf_font.ps
++++ b/Resource/Init/pdf_font.ps
+@@ -638,7 +638,7 @@ currentdict end readonly def
+ currentglobal 2 index dup gcheck setglobal
+ /FontInfo 5 dict dup 5 1 roll .forceput
+ setglobal
+- } if
++ } executeonly if
+ dup /GlyphNames2Unicode .knownget not {
+ //true % No existing G2U, make one
+ } {
+@@ -668,10 +668,12 @@ currentdict end readonly def
+ pop % font-res font-dict encoding|null font-info
+ pop % font-res font-dict encoding|null
+ //false % We built a GlyphNames2Unicode table, don't need to process further
+- }{
++ } executeonly
++ {
+ //true % name is not Identity-V or H, fail by falling through
+ }ifelse
+- } {
++ } executeonly
++ {
+ //true
+ } ifelse % not a name, try as a dictionary (as specified)
+
+@@ -759,9 +761,9 @@ currentdict end readonly def
+ PDFDEBUG {
+ (.processToUnicode end) =
+ } if
+- } if
+- } if
+- } stopped
++ } executeonly if
++ } executeonly if
++ } executeonly stopped
+ {
+ .dstackdepth 1 countdictstack 1 sub
+ {pop end} for
+@@ -1291,19 +1293,20 @@ currentdict /eexec_pdf_param_dict .undef
+ //pdfdict /.Qqwarning_issued //true .forceput
+ } executeonly if
+ Q
+- } repeat
++ } executeonly repeat
+ Q
+- } PDFfile fileposition 2 .execn % Keep pdfcount valid.
++ } executeonly PDFfile fileposition 2 .execn % Keep pdfcount valid.
+ PDFfile exch setfileposition
+- } ifelse
+- } {
++ } executeonly ifelse
++ } executeonly
++ {
+ % PDF Type 3 fonts don't use .notdef
+ % d1 implementation adjusts the width as needed
+ 0 0 0 0 0 0
+ pdfopdict /d1 get exec
+ } ifelse
+ end end
+- } bdef
++ } executeonly bdef
+ dup currentdict Encoding .processToUnicode
+ currentdict end .completefont exch pop
+ } bind executeonly odef
+@@ -2103,9 +2106,9 @@ currentdict /CMap_read_dict undef
+ (Will continue, but content may be missing.) = flush
+ } ifelse
+ } if
+- } if
++ } executeonly if
+ /findresource cvx /undefined signalerror
+- } loop
++ } executeonly loop
+ } bind executeonly odef
+
+ /buildCIDType0 { % <CIDFontType0-font-resource> buildCIDType0 <font>
+diff --git a/Resource/Init/pdf_main.ps b/Resource/Init/pdf_main.ps
+index 5305ea6..a59e63c 100644
+--- a/Resource/Init/pdf_main.ps
++++ b/Resource/Init/pdf_main.ps
+@@ -2749,15 +2749,15 @@ currentdict /PDF2PS_matrix_key undef
+ .setglobal
+ pdfformaterror
+ } executeonly ifelse
+- }
++ } executeonly
+ {
+ currentglobal //pdfdict gcheck .setglobal
+ //pdfdict /.Qqwarning_issued //true .forceput
+ .setglobal
+ pdfformaterror
+ } executeonly ifelse
+- } if
+- } if
++ } executeonly if
++ } executeonly if
+ pop
+ count PDFexecstackcount sub { pop } repeat
+ (after exec) VMDEBUG
+diff --git a/Resource/Init/pdf_ops.ps b/Resource/Init/pdf_ops.ps
+index 285e582..6c1f100 100644
+--- a/Resource/Init/pdf_ops.ps
++++ b/Resource/Init/pdf_ops.ps
+@@ -186,14 +186,14 @@ currentdict /gput_always_allow .undef
+ .setglobal
+ pdfformaterror
+ } executeonly ifelse
+- }
++ } executeonly
+ {
+ currentglobal //pdfdict gcheck .setglobal
+ //pdfdict /.Qqwarning_issued //true .forceput
+ .setglobal
+ pdfformaterror
+ } executeonly ifelse
+- } if
++ } executeonly if
+ } bind executeonly odef
+
+ % Save PDF gstate
+@@ -440,11 +440,12 @@ currentdict /gput_always_allow .undef
+ dup type /booleantype eq {
+ .currentSMask type /dicttype eq {
+ .currentSMask /Processed 2 index .forceput
++ } executeonly
++ {
++ .setSMask
++ }ifelse
+ } executeonly
+ {
+- .setSMask
+- }ifelse
+- }{
+ .setSMask
+ }ifelse
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_9.27.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_9.27.bb
index fcc9e0099..349c0c2e8 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript_9.27.bb
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript_9.27.bb
@@ -25,6 +25,9 @@ SRC_URI_BASE = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/d
file://do-not-check-local-libpng-source.patch \
file://avoid-host-contamination.patch \
file://mkdir-p.patch \
+ file://CVE-2019-14811-0001.patch \
+ file://CVE-2019-14817-0001.patch \
+ file://CVE-2019-14817-0002.patch \
"
SRC_URI = "${SRC_URI_BASE} \
diff --git a/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch b/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch
new file mode 100644
index 000000000..348a61d9d
--- /dev/null
+++ b/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch
@@ -0,0 +1,1228 @@
+From 6cfa9f8126c1d6ec26f120d273e714fb19108873 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 4 Aug 2019 16:32:41 -0700
+Subject: [PATCH] Include config.h
+
+This helps avoid the include conflicts where <stdlib.h> is including
+<math.h> and since -I./lib is used and a local math.h wrapper is
+residing in there, the build breaks since stdlib.h really wants the
+standard system math.h to be included, this ensures that right macros
+are predefined and included before stdlib.h is included
+
+fixes
+In file included from src/libs/libgroff/assert.cpp:20:
+In file included from TOPDIR/build/tmp/work/aarch64-yoe-linux-musl/groff/1.22.4-r0/recipe-sysroot/usr/include/c++/v1/stdlib.h:100:
+./lib/math.h:38:3: error: "Please include config.h first."
+ #error "Please include config.h first."
+ ^
+./lib/math.h:40:1: error: unknown type name '_GL_INLINE_HEADER_BEGIN'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libs/libgroff/assert.cpp | 4 +
+ src/libs/libgroff/curtime.cpp | 4 +
+ src/libs/libgroff/device.cpp | 4 +
+ src/libs/libgroff/error.cpp | 4 +
+ src/libs/libgroff/fatal.cpp | 4 +
+ src/libs/libgroff/string.cpp | 4 +
+ src/libs/libgroff/strsave.cpp | 4 +
+ src/preproc/eqn/eqn.cpp | 450 ++++++++++++++++++----------------
+ src/preproc/eqn/eqn.hpp | 12 +-
+ src/preproc/eqn/eqn.ypp | 4 +
+ src/preproc/eqn/other.cpp | 4 +
+ src/preproc/eqn/text.cpp | 4 +
+ src/preproc/pic/object.cpp | 4 +
+ 13 files changed, 285 insertions(+), 221 deletions(-)
+
+diff --git a/src/libs/libgroff/assert.cpp b/src/libs/libgroff/assert.cpp
+index aceed05..97780d6 100644
+--- a/src/libs/libgroff/assert.cpp
++++ b/src/libs/libgroff/assert.cpp
+@@ -16,6 +16,10 @@ 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/>. */
+
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include "assert.h"
+diff --git a/src/libs/libgroff/curtime.cpp b/src/libs/libgroff/curtime.cpp
+index 72fe067..9ddba08 100644
+--- a/src/libs/libgroff/curtime.cpp
++++ b/src/libs/libgroff/curtime.cpp
+@@ -15,6 +15,10 @@ for more details.
+ The GNU General Public License version 2 (GPL2) is available in the
+ internet at <http://www.gnu.org/licenses/gpl-2.0.txt>. */
+
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <errno.h>
+ #include <limits.h>
+ #include <stdlib.h>
+diff --git a/src/libs/libgroff/device.cpp b/src/libs/libgroff/device.cpp
+index 0d28b85..c211f85 100644
+--- a/src/libs/libgroff/device.cpp
++++ b/src/libs/libgroff/device.cpp
+@@ -17,6 +17,10 @@ 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/>. */
+
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdlib.h>
+ #include "device.h"
+ #include "defs.h"
+diff --git a/src/libs/libgroff/error.cpp b/src/libs/libgroff/error.cpp
+index 9a18803..7b63d3d 100644
+--- a/src/libs/libgroff/error.cpp
++++ b/src/libs/libgroff/error.cpp
+@@ -17,6 +17,10 @@ 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/>. */
+
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/src/libs/libgroff/fatal.cpp b/src/libs/libgroff/fatal.cpp
+index c0dcb35..fd6003e 100644
+--- a/src/libs/libgroff/fatal.cpp
++++ b/src/libs/libgroff/fatal.cpp
+@@ -16,6 +16,10 @@ 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/>. */
+
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdlib.h>
+
+ #define FATAL_ERROR_EXIT_CODE 3
+diff --git a/src/libs/libgroff/string.cpp b/src/libs/libgroff/string.cpp
+index 46c015c..449f3a6 100644
+--- a/src/libs/libgroff/string.cpp
++++ b/src/libs/libgroff/string.cpp
+@@ -17,6 +17,10 @@ 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/>. */
+
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdlib.h>
+
+ #include "lib.h"
+diff --git a/src/libs/libgroff/strsave.cpp b/src/libs/libgroff/strsave.cpp
+index f95c05e..d875045 100644
+--- a/src/libs/libgroff/strsave.cpp
++++ b/src/libs/libgroff/strsave.cpp
+@@ -17,6 +17,10 @@ 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/>. */
+
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <string.h>
+ #include <stdlib.h>
+
+diff --git a/src/preproc/eqn/eqn.cpp b/src/preproc/eqn/eqn.cpp
+index 4ede465..fdd9484 100644
+--- a/src/preproc/eqn/eqn.cpp
++++ b/src/preproc/eqn/eqn.cpp
+@@ -1,8 +1,9 @@
+-/* A Bison parser, made by GNU Bison 3.2. */
++/* A Bison parser, made by GNU Bison 3.4.1. */
+
+ /* Bison implementation for Yacc-like parsers in C
+
+- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
++ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
++ Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -47,7 +48,7 @@
+ #define YYBISON 1
+
+ /* Bison version. */
+-#define YYBISON_VERSION "3.2"
++#define YYBISON_VERSION "3.4.1"
+
+ /* Skeleton name. */
+ #define YYSKELETON_NAME "yacc.c"
+@@ -65,7 +66,11 @@
+
+
+ /* First part of user prologue. */
+-#line 18 "../src/preproc/eqn/eqn.ypp" /* yacc.c:338 */
++#line 18 "src/preproc/eqn/eqn.ypp"
++
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
+
+ #include <stdio.h>
+ #include <string.h>
+@@ -77,7 +82,8 @@ extern int non_empty_flag;
+ int yylex();
+ void yyerror(const char *);
+
+-#line 81 "src/preproc/eqn/eqn.cpp" /* yacc.c:338 */
++#line 86 "src/preproc/eqn/eqn.cpp"
++
+ # ifndef YY_NULLPTR
+ # if defined __cplusplus
+ # if 201103L <= __cplusplus
+@@ -98,8 +104,8 @@ void yyerror(const char *);
+ # define YYERROR_VERBOSE 0
+ #endif
+
+-/* In a future release of Bison, this section will be replaced
+- by #include "y.tab.h". */
++/* Use api.header.include to #include this header
++ instead of duplicating it here. */
+ #ifndef YY_YY_SRC_PREPROC_EQN_EQN_HPP_INCLUDED
+ # define YY_YY_SRC_PREPROC_EQN_EQN_HPP_INCLUDED
+ /* Debug traces. */
+@@ -237,10 +243,9 @@ extern int yydebug;
+
+ /* Value type. */
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+-
+ union YYSTYPE
+ {
+-#line 30 "../src/preproc/eqn/eqn.ypp" /* yacc.c:353 */
++#line 34 "src/preproc/eqn/eqn.ypp"
+
+ char *str;
+ box *b;
+@@ -249,9 +254,9 @@ union YYSTYPE
+ int n;
+ column *col;
+
+-#line 253 "src/preproc/eqn/eqn.cpp" /* yacc.c:353 */
+-};
++#line 258 "src/preproc/eqn/eqn.cpp"
+
++};
+ typedef union YYSTYPE YYSTYPE;
+ # define YYSTYPE_IS_TRIVIAL 1
+ # define YYSTYPE_IS_DECLARED 1
+@@ -366,6 +371,8 @@ typedef short yytype_int16;
+ #endif
+
+
++#define YY_ASSERT(E) ((void) (0 && (E)))
++
+ #if ! defined yyoverflow || YYERROR_VERBOSE
+
+ /* The parser invokes alloca or malloc; define the necessary symbols. */
+@@ -508,16 +515,16 @@ union yyalloc
+ /* YYNSTATES -- Number of states. */
+ #define YYNSTATES 142
+
+-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+- by yylex, with out-of-bounds checking. */
+ #define YYUNDEFTOK 2
+ #define YYMAXUTOK 315
+
++/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
++ as returned by yylex, with out-of-bounds checking. */
+ #define YYTRANSLATE(YYX) \
+ ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+ /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+- as returned by yylex, without out-of-bounds checking. */
++ as returned by yylex. */
+ static const yytype_uint8 yytranslate[] =
+ {
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 63,
+@@ -558,14 +565,14 @@ static const yytype_uint8 yytranslate[] =
+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
+ static const yytype_uint16 yyrline[] =
+ {
+- 0, 121, 121, 123, 128, 130, 141, 143, 145, 150,
+- 152, 154, 156, 158, 163, 165, 167, 169, 174, 176,
+- 181, 183, 185, 190, 192, 194, 196, 198, 200, 202,
+- 204, 206, 208, 210, 212, 214, 216, 218, 220, 222,
+- 224, 226, 228, 230, 232, 234, 236, 238, 240, 242,
+- 244, 246, 248, 250, 252, 254, 259, 269, 271, 276,
+- 278, 283, 285, 290, 292, 297, 299, 304, 306, 308,
+- 310, 314, 316, 321, 323, 325
++ 0, 125, 125, 127, 132, 134, 145, 147, 149, 154,
++ 156, 158, 160, 162, 167, 169, 171, 173, 178, 180,
++ 185, 187, 189, 194, 196, 198, 200, 202, 204, 206,
++ 208, 210, 212, 214, 216, 218, 220, 222, 224, 226,
++ 228, 230, 232, 234, 236, 238, 240, 242, 244, 246,
++ 248, 250, 252, 254, 256, 258, 263, 273, 275, 280,
++ 282, 287, 289, 294, 296, 301, 303, 308, 310, 312,
++ 314, 318, 320, 325, 327, 329
+ };
+ #endif
+
+@@ -818,22 +825,22 @@ static const yytype_uint8 yyr2[] =
+
+ #define YYRECOVERING() (!!yyerrstatus)
+
+-#define YYBACKUP(Token, Value) \
+-do \
+- if (yychar == YYEMPTY) \
+- { \
+- yychar = (Token); \
+- yylval = (Value); \
+- YYPOPSTACK (yylen); \
+- yystate = *yyssp; \
+- goto yybackup; \
+- } \
+- else \
+- { \
+- yyerror (YY_("syntax error: cannot back up")); \
+- YYERROR; \
+- } \
+-while (0)
++#define YYBACKUP(Token, Value) \
++ do \
++ if (yychar == YYEMPTY) \
++ { \
++ yychar = (Token); \
++ yylval = (Value); \
++ YYPOPSTACK (yylen); \
++ yystate = *yyssp; \
++ goto yybackup; \
++ } \
++ else \
++ { \
++ yyerror (YY_("syntax error: cannot back up")); \
++ YYERROR; \
++ } \
++ while (0)
+
+ /* Error token number */
+ #define YYTERROR 1
+@@ -948,7 +955,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr,
+ yystos[yyssp[yyi + 1 - yynrhs]],
+- &(yyvsp[(yyi + 1) - (yynrhs)])
++ &yyvsp[(yyi + 1) - (yynrhs)]
+ );
+ YYFPRINTF (stderr, "\n");
+ }
+@@ -1052,7 +1059,10 @@ yytnamerr (char *yyres, const char *yystr)
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+- /* Fall through. */
++ else
++ goto append;
++
++ append:
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+@@ -1148,10 +1158,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+ yyarg[yycount++] = yytname[yyx];
+ {
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+- if (! (yysize <= yysize1
+- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
++ yysize = yysize1;
++ else
+ return 2;
+- yysize = yysize1;
+ }
+ }
+ }
+@@ -1175,9 +1185,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+
+ {
+ YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
++ if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
++ yysize = yysize1;
++ else
+ return 2;
+- yysize = yysize1;
+ }
+
+ if (*yymsg_alloc < yysize)
+@@ -1303,23 +1314,33 @@ yyparse (void)
+ yychar = YYEMPTY; /* Cause a token to be read. */
+ goto yysetstate;
+
++
+ /*------------------------------------------------------------.
+-| yynewstate -- Push a new state, which is found in yystate. |
++| yynewstate -- push a new state, which is found in yystate. |
+ `------------------------------------------------------------*/
+- yynewstate:
++yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. So pushing a state here evens the stacks. */
+ yyssp++;
+
+- yysetstate:
++
++/*--------------------------------------------------------------------.
++| yynewstate -- set current state (the top of the stack) to yystate. |
++`--------------------------------------------------------------------*/
++yysetstate:
++ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++ YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+ *yyssp = (yytype_int16) yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
++#if !defined yyoverflow && !defined YYSTACK_RELOCATE
++ goto yyexhaustedlab;
++#else
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
+
+-#ifdef yyoverflow
++# if defined yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+@@ -1338,10 +1359,7 @@ yyparse (void)
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+-#else /* no yyoverflow */
+-# ifndef YYSTACK_RELOCATE
+- goto yyexhaustedlab;
+-# else
++# else /* defined YYSTACK_RELOCATE */
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyexhaustedlab;
+@@ -1357,12 +1375,11 @@ yyparse (void)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+-# undef YYSTACK_RELOCATE
++# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+ # endif
+-#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+@@ -1373,19 +1390,18 @@ yyparse (void)
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+-
+- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
+ goto yybackup;
+
++
+ /*-----------.
+ | yybackup. |
+ `-----------*/
+ yybackup:
+-
+ /* Do appropriate processing given the current state. Read a
+ lookahead token if we need one and don't already have one. */
+
+@@ -1443,7 +1459,6 @@ yybackup:
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ *++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+-
+ goto yynewstate;
+
+
+@@ -1458,7 +1473,7 @@ yydefault:
+
+
+ /*-----------------------------.
+-| yyreduce -- Do a reduction. |
++| yyreduce -- do a reduction. |
+ `-----------------------------*/
+ yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+@@ -1478,20 +1493,20 @@ yyreduce:
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+- case 3:
+-#line 124 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++ case 3:
++#line 128 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[0].b)->top_level(); non_empty_flag = 1; }
+-#line 1485 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1500 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 4:
+-#line 129 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 133 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = (yyvsp[0].b); }
+-#line 1491 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1506 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 5:
+-#line 131 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 135 "src/preproc/eqn/eqn.ypp"
+ {
+ list_box *lb = (yyvsp[-1].b)->to_list_box();
+ if (!lb)
+@@ -1499,436 +1514,437 @@ yyreduce:
+ lb->append((yyvsp[0].b));
+ (yyval.b) = lb;
+ }
+-#line 1503 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1518 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 6:
+-#line 142 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 146 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = (yyvsp[0].b); }
+-#line 1509 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1524 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 7:
+-#line 144 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 148 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_mark_box((yyvsp[0].b)); }
+-#line 1515 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1530 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 8:
+-#line 146 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 150 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_lineup_box((yyvsp[0].b)); }
+-#line 1521 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1536 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 9:
+-#line 151 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 155 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = (yyvsp[0].b); }
+-#line 1527 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1542 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 10:
+-#line 153 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 157 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_limit_box((yyvsp[-2].b), 0, (yyvsp[0].b)); }
+-#line 1533 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1548 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 11:
+-#line 155 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 159 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_limit_box((yyvsp[-2].b), (yyvsp[0].b), 0); }
+-#line 1539 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1554 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 12:
+-#line 157 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 161 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_limit_box((yyvsp[-4].b), (yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1545 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1560 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 13:
+-#line 159 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 163 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_limit_box((yyvsp[-4].b), make_limit_box((yyvsp[-2].b), (yyvsp[0].b), 0), 0); }
+-#line 1551 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1566 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 14:
+-#line 164 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 168 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = (yyvsp[0].b); }
+-#line 1557 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1572 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 15:
+-#line 166 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 170 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_sqrt_box((yyvsp[0].b)); }
+-#line 1563 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1578 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 16:
+-#line 168 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 172 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_over_box((yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1569 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1584 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 17:
+-#line 170 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 174 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_small_over_box((yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1575 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1590 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 18:
+-#line 175 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 179 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = (yyvsp[0].b); }
+-#line 1581 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1596 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 19:
+-#line 177 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 181 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_script_box((yyvsp[-2].b), 0, (yyvsp[0].b)); }
+-#line 1587 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1602 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 20:
+-#line 182 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 186 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = (yyvsp[0].b); }
+-#line 1593 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1608 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 21:
+-#line 184 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 188 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_script_box((yyvsp[-2].b), (yyvsp[0].b), 0); }
+-#line 1599 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1614 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 22:
+-#line 186 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 190 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_script_box((yyvsp[-4].b), (yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1605 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1620 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 23:
+-#line 191 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 195 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = split_text((yyvsp[0].str)); }
+-#line 1611 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1626 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 24:
+-#line 193 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 197 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new quoted_text_box((yyvsp[0].str)); }
+-#line 1617 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1632 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 25:
+-#line 195 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 199 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = split_text((yyvsp[0].str)); }
+-#line 1623 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1638 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 26:
+-#line 197 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 201 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new quoted_text_box((yyvsp[0].str)); }
+-#line 1629 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1644 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 27:
+-#line 199 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 203 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new half_space_box; }
+-#line 1635 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1650 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 28:
+-#line 201 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 205 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new space_box; }
+-#line 1641 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1656 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 29:
+-#line 203 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 207 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new tab_box; }
+-#line 1647 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1662 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 30:
+-#line 205 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 209 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = (yyvsp[-1].b); }
+-#line 1653 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1668 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 31:
+-#line 207 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 211 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[0].pb)->set_alignment(CENTER_ALIGN); (yyval.b) = (yyvsp[0].pb); }
+-#line 1659 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1674 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 32:
+-#line 209 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 213 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[0].pb)->set_alignment(LEFT_ALIGN); (yyval.b) = (yyvsp[0].pb); }
+-#line 1665 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1680 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 33:
+-#line 211 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 215 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[0].pb)->set_alignment(RIGHT_ALIGN); (yyval.b) = (yyvsp[0].pb); }
+-#line 1671 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1686 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 34:
+-#line 213 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 217 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[0].pb)->set_alignment(CENTER_ALIGN); (yyval.b) = (yyvsp[0].pb); }
+-#line 1677 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1692 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 35:
+-#line 215 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 219 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = (yyvsp[-1].mb); }
+-#line 1683 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1698 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 36:
+-#line 217 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 221 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_delim_box((yyvsp[-3].str), (yyvsp[-2].b), (yyvsp[0].str)); }
+-#line 1689 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1704 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 37:
+-#line 219 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 223 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_delim_box((yyvsp[-1].str), (yyvsp[0].b), 0); }
+-#line 1695 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1710 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 38:
+-#line 221 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 225 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_overline_box((yyvsp[-1].b)); }
+-#line 1701 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1716 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 39:
+-#line 223 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 227 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_underline_box((yyvsp[-1].b)); }
+-#line 1707 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1722 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 40:
+-#line 225 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 229 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_prime_box((yyvsp[-1].b)); }
+-#line 1713 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1728 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 41:
+-#line 227 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 231 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_accent_box((yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1719 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1734 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 42:
+-#line 229 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 233 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_uaccent_box((yyvsp[-2].b), (yyvsp[0].b)); }
+-#line 1725 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1740 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 43:
+-#line 231 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 235 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new font_box(strsave(get_grfont()), (yyvsp[0].b)); }
+-#line 1731 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1746 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 44:
+-#line 233 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 237 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new font_box(strsave(get_gbfont()), (yyvsp[0].b)); }
+-#line 1737 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1752 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 45:
+-#line 235 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 239 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new font_box(strsave(get_gfont()), (yyvsp[0].b)); }
+-#line 1743 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1758 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 46:
+-#line 237 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 241 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new fat_box((yyvsp[0].b)); }
+-#line 1749 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1764 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 47:
+-#line 239 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 243 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new font_box((yyvsp[-1].str), (yyvsp[0].b)); }
+-#line 1755 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1770 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 48:
+-#line 241 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 245 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new size_box((yyvsp[-1].str), (yyvsp[0].b)); }
+-#line 1761 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1776 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 49:
+-#line 243 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 247 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new hmotion_box((yyvsp[-1].n), (yyvsp[0].b)); }
+-#line 1767 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1782 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 50:
+-#line 245 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 249 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new hmotion_box(-(yyvsp[-1].n), (yyvsp[0].b)); }
+-#line 1773 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1788 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 51:
+-#line 247 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 251 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new vmotion_box((yyvsp[-1].n), (yyvsp[0].b)); }
+-#line 1779 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1794 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 52:
+-#line 249 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 253 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new vmotion_box(-(yyvsp[-1].n), (yyvsp[0].b)); }
+-#line 1785 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1800 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 53:
+-#line 251 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 255 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[0].b)->set_spacing_type((yyvsp[-1].str)); (yyval.b) = (yyvsp[0].b); }
+-#line 1791 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1806 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 54:
+-#line 253 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 257 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = new vcenter_box((yyvsp[0].b)); }
+-#line 1797 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1812 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 55:
+-#line 255 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 259 "src/preproc/eqn/eqn.ypp"
+ { (yyval.b) = make_special_box((yyvsp[-1].str), (yyvsp[0].b)); }
+-#line 1803 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1818 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 56:
+-#line 260 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 264 "src/preproc/eqn/eqn.ypp"
+ {
+ int n;
+ if (sscanf((yyvsp[0].str), "%d", &n) == 1)
+ (yyval.n) = n;
+ a_delete (yyvsp[0].str);
+ }
+-#line 1814 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1829 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 57:
+-#line 270 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 274 "src/preproc/eqn/eqn.ypp"
+ { (yyval.pb) = new pile_box((yyvsp[0].b)); }
+-#line 1820 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1835 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 58:
+-#line 272 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 276 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[-2].pb)->append((yyvsp[0].b)); (yyval.pb) = (yyvsp[-2].pb); }
+-#line 1826 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1841 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 59:
+-#line 277 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 281 "src/preproc/eqn/eqn.ypp"
+ { (yyval.pb) = (yyvsp[-1].pb); }
+-#line 1832 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1847 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 60:
+-#line 279 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 283 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[-1].pb)->set_space((yyvsp[-3].n)); (yyval.pb) = (yyvsp[-1].pb); }
+-#line 1838 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1853 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 61:
+-#line 284 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 288 "src/preproc/eqn/eqn.ypp"
+ { (yyval.mb) = new matrix_box((yyvsp[0].col)); }
+-#line 1844 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1859 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 62:
+-#line 286 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 290 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[-1].mb)->append((yyvsp[0].col)); (yyval.mb) = (yyvsp[-1].mb); }
+-#line 1850 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1865 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 63:
+-#line 291 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 295 "src/preproc/eqn/eqn.ypp"
+ { (yyval.col) = new column((yyvsp[0].b)); }
+-#line 1856 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1871 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 64:
+-#line 293 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 297 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[-2].col)->append((yyvsp[0].b)); (yyval.col) = (yyvsp[-2].col); }
+-#line 1862 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1877 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 65:
+-#line 298 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 302 "src/preproc/eqn/eqn.ypp"
+ { (yyval.col) = (yyvsp[-1].col); }
+-#line 1868 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1883 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 66:
+-#line 300 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 304 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[-1].col)->set_space((yyvsp[-3].n)); (yyval.col) = (yyvsp[-1].col); }
+-#line 1874 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1889 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 67:
+-#line 305 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 309 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[0].col)->set_alignment(CENTER_ALIGN); (yyval.col) = (yyvsp[0].col); }
+-#line 1880 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1895 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 68:
+-#line 307 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 311 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[0].col)->set_alignment(LEFT_ALIGN); (yyval.col) = (yyvsp[0].col); }
+-#line 1886 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1901 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 69:
+-#line 309 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 313 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[0].col)->set_alignment(RIGHT_ALIGN); (yyval.col) = (yyvsp[0].col); }
+-#line 1892 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1907 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 70:
+-#line 311 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 315 "src/preproc/eqn/eqn.ypp"
+ { (yyvsp[0].col)->set_alignment(CENTER_ALIGN); (yyval.col) = (yyvsp[0].col); }
+-#line 1898 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1913 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 71:
+-#line 315 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 319 "src/preproc/eqn/eqn.ypp"
+ { (yyval.str) = (yyvsp[0].str); }
+-#line 1904 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1919 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 72:
+-#line 317 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 321 "src/preproc/eqn/eqn.ypp"
+ { (yyval.str) = (yyvsp[0].str); }
+-#line 1910 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1925 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 73:
+-#line 322 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 326 "src/preproc/eqn/eqn.ypp"
+ { (yyval.str) = (yyvsp[0].str); }
+-#line 1916 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1931 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 74:
+-#line 324 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 328 "src/preproc/eqn/eqn.ypp"
+ { (yyval.str) = strsave("{"); }
+-#line 1922 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1937 "src/preproc/eqn/eqn.cpp"
+ break;
+
+ case 75:
+-#line 326 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1645 */
++#line 330 "src/preproc/eqn/eqn.ypp"
+ { (yyval.str) = strsave("}"); }
+-#line 1928 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1943 "src/preproc/eqn/eqn.cpp"
+ break;
+
+
+-#line 1932 "src/preproc/eqn/eqn.cpp" /* yacc.c:1645 */
++#line 1947 "src/preproc/eqn/eqn.cpp"
++
+ default: break;
+ }
+ /* User semantic actions sometimes alter yychar, and that requires
+@@ -2042,12 +2058,10 @@ yyerrlab:
+ | yyerrorlab -- error raised explicitly by YYERROR. |
+ `---------------------------------------------------*/
+ yyerrorlab:
+-
+- /* Pacify compilers like GCC when the user code never invokes
+- YYERROR and the label yyerrorlab therefore never appears in user
+- code. */
+- if (/*CONSTCOND*/ 0)
+- goto yyerrorlab;
++ /* Pacify compilers when the user code never invokes YYERROR and the
++ label yyerrorlab therefore never appears in user code. */
++ if (0)
++ YYERROR;
+
+ /* Do not reclaim the symbols of the rule whose action triggered
+ this YYERROR. */
+@@ -2109,6 +2123,7 @@ yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
++
+ /*-----------------------------------.
+ | yyabortlab -- YYABORT comes here. |
+ `-----------------------------------*/
+@@ -2116,6 +2131,7 @@ yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
++
+ #if !defined yyoverflow || YYERROR_VERBOSE
+ /*-------------------------------------------------.
+ | yyexhaustedlab -- memory exhaustion comes here. |
+@@ -2126,6 +2142,10 @@ yyexhaustedlab:
+ /* Fall through. */
+ #endif
+
++
++/*-----------------------------------------------------.
++| yyreturn -- parsing is finished, return the result. |
++`-----------------------------------------------------*/
+ yyreturn:
+ if (yychar != YYEMPTY)
+ {
+@@ -2155,5 +2175,5 @@ yyreturn:
+ #endif
+ return yyresult;
+ }
+-#line 329 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1903 */
++#line 333 "src/preproc/eqn/eqn.ypp"
+
+diff --git a/src/preproc/eqn/eqn.hpp b/src/preproc/eqn/eqn.hpp
+index 32a32a5..9a092c1 100644
+--- a/src/preproc/eqn/eqn.hpp
++++ b/src/preproc/eqn/eqn.hpp
+@@ -1,8 +1,9 @@
+-/* A Bison parser, made by GNU Bison 3.2. */
++/* A Bison parser, made by GNU Bison 3.4.1. */
+
+ /* Bison interface for Yacc-like parsers in C
+
+- Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
++ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
++ Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -170,10 +171,9 @@ extern int yydebug;
+
+ /* Value type. */
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+-
+ union YYSTYPE
+ {
+-#line 30 "../src/preproc/eqn/eqn.ypp" /* yacc.c:1906 */
++#line 34 "src/preproc/eqn/eqn.ypp"
+
+ char *str;
+ box *b;
+@@ -182,9 +182,9 @@ union YYSTYPE
+ int n;
+ column *col;
+
+-#line 186 "src/preproc/eqn/eqn.hpp" /* yacc.c:1906 */
+-};
++#line 186 "src/preproc/eqn/eqn.hpp"
+
++};
+ typedef union YYSTYPE YYSTYPE;
+ # define YYSTYPE_IS_TRIVIAL 1
+ # define YYSTYPE_IS_DECLARED 1
+diff --git a/src/preproc/eqn/eqn.ypp b/src/preproc/eqn/eqn.ypp
+index fb318c3..b7b647e 100644
+--- a/src/preproc/eqn/eqn.ypp
++++ b/src/preproc/eqn/eqn.ypp
+@@ -16,6 +16,10 @@ 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/>. */
+ %{
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+diff --git a/src/preproc/eqn/other.cpp b/src/preproc/eqn/other.cpp
+index 8db993f..38db396 100644
+--- a/src/preproc/eqn/other.cpp
++++ b/src/preproc/eqn/other.cpp
+@@ -17,6 +17,10 @@ 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/>. */
+
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdlib.h>
+
+ #include "eqn.h"
+diff --git a/src/preproc/eqn/text.cpp b/src/preproc/eqn/text.cpp
+index f3d06f9..3b244d5 100644
+--- a/src/preproc/eqn/text.cpp
++++ b/src/preproc/eqn/text.cpp
+@@ -17,6 +17,10 @@ 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/>. */
+
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <ctype.h>
+ #include <stdlib.h>
+ #include "eqn.h"
+diff --git a/src/preproc/pic/object.cpp b/src/preproc/pic/object.cpp
+index d8ba610..f26a831 100644
+--- a/src/preproc/pic/object.cpp
++++ b/src/preproc/pic/object.cpp
+@@ -17,6 +17,10 @@ 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/>. */
+
++#if HAVE_CONFIG_H
++# include <config.h>
++#endif
++
+ #include <stdlib.h>
+
+ #include "pic.h"
+--
+2.22.0
+
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 a190230b3..082597f69 100644
--- a/poky/meta/recipes-extended/groff/groff_1.22.4.bb
+++ b/poky/meta/recipes-extended/groff/groff_1.22.4.bb
@@ -11,6 +11,7 @@ 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-support-musl.patch \
+ file://0001-Include-config.h.patch \
"
SRC_URI[md5sum] = "08fb04335e2f5e73f23ea4c3adbf0c5f"
diff --git a/poky/meta/recipes-extended/gzip/gzip_1.10.bb b/poky/meta/recipes-extended/gzip/gzip_1.10.bb
index 6a5b2459e..50dad7bf5 100644
--- a/poky/meta/recipes-extended/gzip/gzip_1.10.bb
+++ b/poky/meta/recipes-extended/gzip/gzip_1.10.bb
@@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
PROVIDES_append_class-native = " gzip-replacement-native"
-RDEPENDS_${PN}-ptest += "make"
+RDEPENDS_${PN}-ptest += "make perl perl-ptest grep diffutils"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
inherit ptest
diff --git a/poky/meta/recipes-extended/images/core-image-lsb-dev.bb b/poky/meta/recipes-extended/images/core-image-lsb-dev.bb
deleted file mode 100644
index d2dc9e2b5..000000000
--- a/poky/meta/recipes-extended/images/core-image-lsb-dev.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require core-image-lsb.bb
-
-DESCRIPTION = "Basic image without X support suitable for development work. It \
-can be used for customization and implementations that conform to Linux \
-Standard Base (LSB)."
-
-IMAGE_FEATURES += "dev-pkgs"
diff --git a/poky/meta/recipes-extended/images/core-image-lsb-sdk.bb b/poky/meta/recipes-extended/images/core-image-lsb-sdk.bb
deleted file mode 100644
index a3d602edd..000000000
--- a/poky/meta/recipes-extended/images/core-image-lsb-sdk.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require core-image-lsb.bb
-
-DESCRIPTION = "Basic image without X support suitable for Linux Standard Base \
-(LSB) implementations. It includes the full meta-toolchain, plus development \
-headers and libraries to form a standalone SDK."
-
-IMAGE_FEATURES += "tools-sdk dev-pkgs tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks"
-
-IMAGE_INSTALL += "kernel-devsrc"
-
-# Reduce this to try and keep below the 4GB image size for now
-IMAGE_OVERHEAD_FACTOR = "1.2"
diff --git a/poky/meta/recipes-extended/images/core-image-lsb.bb b/poky/meta/recipes-extended/images/core-image-lsb.bb
deleted file mode 100644
index ab61c6e6d..000000000
--- a/poky/meta/recipes-extended/images/core-image-lsb.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "An image containing packages that are required to conform \
-to the Linux Standard Base (LSB) specification."
-
-IMAGE_FEATURES += "splash ssh-server-openssh hwcodecs package-management"
-
-IMAGE_INSTALL = "\
- ${CORE_IMAGE_BASE_INSTALL} \
- packagegroup-core-full-cmdline \
- packagegroup-core-lsb \
- "
-
-inherit core-image distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "pam"
diff --git a/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch b/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch
deleted file mode 100644
index e26594d19..000000000
--- a/poky/meta/recipes-extended/iptables/iptables/0003-extensions-format-security-fixes-in-libipt_icmp.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 907e429d7548157016cd51aba4adc5d0c7d9f816 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Adam=20Go=C5=82=C4=99biowski?= <adamg@pld-linux.org>
-Date: Wed, 14 Nov 2018 07:35:28 +0100
-Subject: extensions: format-security fixes in libip[6]t_icmp
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-commit 61d6c3834de3 ("xtables: add 'printf' attribute to xlate_add")
-introduced support for gcc feature to check format string against passed
-argument. This commit adds missing bits to extenstions's libipt_icmp.c
-and libip6t_icmp6.c that were causing build to fail.
-
-Fixes: 61d6c3834de3 ("xtables: add 'printf' attribute to xlate_add")
-Signed-off-by: Adam Gołębiowski <adamg@pld-linux.org>
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-
-Upstream-Status: Backport
----
- extensions/libip6t_icmp6.c | 4 ++--
- extensions/libipt_icmp.c | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/extensions/libip6t_icmp6.c b/extensions/libip6t_icmp6.c
-index 45a71875..cc7bfaeb 100644
---- a/extensions/libip6t_icmp6.c
-+++ b/extensions/libip6t_icmp6.c
-@@ -230,7 +230,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype,
- type_name = icmp6_type_xlate(icmptype);
-
- if (type_name) {
-- xt_xlate_add(xl, type_name);
-+ xt_xlate_add(xl, "%s", type_name);
- } else {
- for (i = 0; i < ARRAY_SIZE(icmpv6_codes); ++i)
- if (icmpv6_codes[i].type == icmptype &&
-@@ -239,7 +239,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype,
- break;
-
- if (i != ARRAY_SIZE(icmpv6_codes))
-- xt_xlate_add(xl, icmpv6_codes[i].name);
-+ xt_xlate_add(xl, "%s", icmpv6_codes[i].name);
- else
- return 0;
- }
-diff --git a/extensions/libipt_icmp.c b/extensions/libipt_icmp.c
-index 54189976..e76257c5 100644
---- a/extensions/libipt_icmp.c
-+++ b/extensions/libipt_icmp.c
-@@ -236,7 +236,7 @@ static unsigned int type_xlate_print(struct xt_xlate *xl, unsigned int icmptype,
- if (icmp_codes[i].type == icmptype &&
- icmp_codes[i].code_min == code_min &&
- icmp_codes[i].code_max == code_max) {
-- xt_xlate_add(xl, icmp_codes[i].name);
-+ xt_xlate_add(xl, "%s", icmp_codes[i].name);
- return 1;
- }
- }
---
-cgit v1.2.1
-
diff --git a/poky/meta/recipes-extended/iptables/iptables/iptables.rules b/poky/meta/recipes-extended/iptables/iptables/iptables.rules
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/poky/meta/recipes-extended/iptables/iptables/iptables.rules
diff --git a/poky/meta/recipes-extended/iptables/iptables/iptables.service b/poky/meta/recipes-extended/iptables/iptables/iptables.service
new file mode 100644
index 000000000..041316e45
--- /dev/null
+++ b/poky/meta/recipes-extended/iptables/iptables/iptables.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Packet Filtering Framework
+Before=network-pre.target
+Wants=network-pre.target
+
+[Service]
+Type=oneshot
+ExecStart=@SBINDIR@/iptables-restore /etc/iptables/iptables.rules
+ExecReload=@SBINDIR@/iptables-restore /etc/iptables/iptables.rules
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/poky/meta/recipes-extended/iptables/iptables_1.8.2.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.2.bb
deleted file mode 100644
index ad2c1a6f8..000000000
--- a/poky/meta/recipes-extended/iptables/iptables_1.8.2.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "Tools for managing kernel packet filtering capabilities"
-DESCRIPTION = "iptables is the userspace command line program used to configure and control network packet \
-filtering code in Linux."
-HOMEPAGE = "http://www.netfilter.org/"
-BUGTRACKER = "http://bugzilla.netfilter.org/"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263\
- file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc"
-
-SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
- file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
- file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
- file://0003-extensions-format-security-fixes-in-libipt_icmp.patch \
-"
-
-SRC_URI[md5sum] = "944558e88ddcc3b9b0d9550070fa3599"
-SRC_URI[sha256sum] = "a3778b50ed1a3256f9ca975de82c2204e508001fc2471238c8c97f3d1c4c12af"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR}"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
-# libnfnetlink recipe is in meta-networking layer
-PACKAGECONFIG[libnfnetlink] = "--enable-libnfnetlink,--disable-libnfnetlink,libnfnetlink libnetfilter-conntrack"
-
-# libnftnl recipe is in meta-networking layer(previously known as libnftables)
-PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl"
-
-do_configure_prepend() {
- # Remove some libtool m4 files
- # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive.
- rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4
-}
-
-PACKAGES += "${PN}-modules"
-PACKAGES_DYNAMIC += "^${PN}-module-.*"
-
-python populate_packages_prepend() {
- modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='')
- if modules:
- metapkg = d.getVar('PN') + '-modules'
- d.appendVar('RDEPENDS_' + metapkg, ' ' + ' '.join(modules))
-}
-
-FILES_${PN} += "${datadir}/xtables"
-
-ALLOW_EMPTY_${PN}-modules = "1"
-
-RDEPENDS_${PN} = "${PN}-module-xt-standard"
-RRECOMMENDS_${PN} = " \
- ${PN}-modules \
- kernel-module-x-tables \
- kernel-module-ip-tables \
- kernel-module-iptable-filter \
- kernel-module-iptable-nat \
- kernel-module-nf-defrag-ipv4 \
- kernel-module-nf-conntrack \
- kernel-module-nf-conntrack-ipv4 \
- kernel-module-nf-nat \
- kernel-module-ipt-masquerade \
-"
diff --git a/poky/meta/recipes-extended/iptables/iptables_1.8.3.bb b/poky/meta/recipes-extended/iptables/iptables_1.8.3.bb
new file mode 100644
index 000000000..ff9fcb1b5
--- /dev/null
+++ b/poky/meta/recipes-extended/iptables/iptables_1.8.3.bb
@@ -0,0 +1,86 @@
+SUMMARY = "Tools for managing kernel packet filtering capabilities"
+DESCRIPTION = "iptables is the userspace command line program used to configure and control network packet \
+filtering code in Linux."
+HOMEPAGE = "http://www.netfilter.org/"
+BUGTRACKER = "http://bugzilla.netfilter.org/"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263\
+ file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc"
+
+SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \
+ file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \
+ file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch \
+ file://iptables.service \
+ file://iptables.rules \
+"
+
+SRC_URI[md5sum] = "29de711d15c040c402cf3038c69ff513"
+SRC_URI[sha256sum] = "a23cac034181206b4545f4e7e730e76e08b5f3dd78771ba9645a6756de9cdd80"
+
+inherit autotools pkgconfig systemd
+
+EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR}"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+# libnfnetlink recipe is in meta-networking layer
+PACKAGECONFIG[libnfnetlink] = "--enable-libnfnetlink,--disable-libnfnetlink,libnfnetlink libnetfilter-conntrack"
+
+# libnftnl recipe is in meta-networking layer(previously known as libnftables)
+PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl"
+
+do_configure_prepend() {
+ # Remove some libtool m4 files
+ # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive.
+ rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4
+}
+
+PACKAGES += "${PN}-modules"
+PACKAGES_DYNAMIC += "^${PN}-module-.*"
+
+python populate_packages_prepend() {
+ modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='')
+ if modules:
+ metapkg = d.getVar('PN') + '-modules'
+ d.appendVar('RDEPENDS_' + metapkg, ' ' + ' '.join(modules))
+}
+
+FILES_${PN} += "${datadir}/xtables"
+
+# Include the symlinks as well in respective packages
+FILES_${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so"
+FILES_${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so"
+
+INSANE_SKIP_${PN}-module-xt-conntrack = "dev-so"
+INSANE_SKIP_${PN}-module-xt-ct = "dev-so"
+
+ALLOW_EMPTY_${PN}-modules = "1"
+
+do_install_append() {
+
+ install -d ${D}${sysconfdir}/iptables
+ install -m 0644 ${WORKDIR}/iptables.rules ${D}${sysconfdir}/iptables
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/iptables.service ${D}${systemd_system_unitdir}
+
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/iptables.service
+}
+
+SYSTEMD_SERVICE_${PN} = "iptables.service"
+
+RDEPENDS_${PN} = "${PN}-module-xt-standard"
+RRECOMMENDS_${PN} = " \
+ ${PN}-modules \
+ kernel-module-x-tables \
+ kernel-module-ip-tables \
+ kernel-module-iptable-filter \
+ kernel-module-iptable-nat \
+ kernel-module-nf-defrag-ipv4 \
+ kernel-module-nf-conntrack \
+ kernel-module-nf-conntrack-ipv4 \
+ kernel-module-nf-nat \
+ kernel-module-ipt-masquerade \
+"
diff --git a/poky/meta/recipes-extended/iputils/iputils/ai_canonidn.patch b/poky/meta/recipes-extended/iputils/iputils/ai_canonidn.patch
deleted file mode 100644
index cd91267b7..000000000
--- a/poky/meta/recipes-extended/iputils/iputils/ai_canonidn.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 714e2b458c151c5bdfe93647445cd00dd8e36fff Mon Sep 17 00:00:00 2001
-From: Petr Vorel <petr.vorel@gmail.com>
-Date: Sat, 21 Jul 2018 17:46:14 +0200
-Subject: [PATCH] ping: Fix AI_CANONIDN usage on some systems
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-Commit 99f67db used AI_CANONIDN in a way, which broke compilation on
-systems where AI_CANONIDN is not defined in netdb.h (e.g. glibc < 2.3.4,
-alternative libcs that don't support IDN: e.g. current musl 1.1.19 and
-uClibc-ng 1.0.30) when not using the system libidn2.
-
-Fixes: 99f67db ping: Fix ping name encoded using ACE on C locale
-
-Reported-by: Nicholas Fish
-Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
-
----
- ping.c | 2 +-
- ping.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/ping.c b/ping.c
-index 733477f..b241815 100644
---- a/ping.c
-+++ b/ping.c
-@@ -207,9 +207,9 @@ main(int argc, char **argv)
-
- #ifdef USE_IDN
- setlocale(LC_ALL, "");
--#endif
- if (!strcmp(setlocale(LC_ALL, NULL), "C"))
- hints.ai_flags &= ~ AI_CANONIDN;
-+#endif
-
- /* Support being called using `ping4` or `ping6` symlinks */
- if (argv[0][strlen(argv[0])-1] == '4')
-diff --git a/ping.h b/ping.h
-index 3e09685..8a0c4ef 100644
---- a/ping.h
-+++ b/ping.h
-@@ -28,7 +28,6 @@
- #include <netinet/icmp6.h>
- #include <linux/filter.h>
- #include <resolv.h>
--#include <locale.h>
-
- #ifdef CAPABILITIES
- #include <sys/prctl.h>
-@@ -36,6 +35,7 @@
- #endif
-
- #ifdef USE_IDN
-+#include <locale.h>
- #include <idn2.h>
- #define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN)
- #define getnameinfo_flags NI_IDN
diff --git a/poky/meta/recipes-extended/iputils/iputils/install.patch b/poky/meta/recipes-extended/iputils/iputils/install.patch
deleted file mode 100644
index abfefd7a5..000000000
--- a/poky/meta/recipes-extended/iputils/iputils/install.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 5c8c3b04d73304679340f893636e87691992053b Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross@burtonini.com>
-Date: Mon, 23 Jul 2018 14:21:03 +0100
-Subject: [PATCH] Add install
-
-Add a simple install rule so that we always install the binaries that were built.
-
-Upstream-Status: Inappropriate
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
----
- Makefile | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 17fc5c9..e0c2784 100644
---- a/Makefile
-+++ b/Makefile
-@@ -231,3 +231,7 @@ rpm:
- @$(RPMBUILD) -ta --define 'current yes' $(RPMTMP)/iputils.tar.bz2
- @rm -f $(RPMTMP)/iputils.tar.bz2
-
-+install:
-+ for t in $(TARGETS); do \
-+ install -D $$t $(DESTDIR)$(bindir)/$$t; \
-+ done
diff --git a/poky/meta/recipes-extended/iputils/iputils_s20180629.bb b/poky/meta/recipes-extended/iputils/iputils_s20180629.bb
deleted file mode 100644
index eff44be1b..000000000
--- a/poky/meta/recipes-extended/iputils/iputils_s20180629.bb
+++ /dev/null
@@ -1,61 +0,0 @@
-SUMMARY = "Network monitoring tools"
-DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \
-tracepath, tracepath6, ping, ping6 and arping."
-HOMEPAGE = "https://github.com/iputils/iputils"
-SECTION = "console/network"
-
-LICENSE = "BSD & GPLv2+"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b792e38abdc59f766a3153908f23e766 \
- file://LICENSE.BSD3;md5=0f00d99239d922ffd13cabef83b33444 \
- file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "gnutls libcap libgcrypt"
-
-SRC_URI = "git://github.com/iputils/iputils \
- file://ai_canonidn.patch \
- file://install.patch"
-SRCREV = "f6aac8dbe3f8c45c53424854a3312bdd8cdd58d3"
-
-S = "${WORKDIR}/git"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>s\d+)"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libidn] = "USE_IDN=yes,USE_IDN=no,libidn2"
-
-do_compile () {
- oe_runmake 'CC=${CC} -D_GNU_SOURCE' VPATH="${STAGING_LIBDIR}:${STAGING_DIR_HOST}/${base_libdir}" ${PACKAGECONFIG_CONFARGS} all
-}
-
-do_install() {
- oe_runmake DESTDIR=${D} bindir=${base_bindir} install
- for b in ping traceroute6 clockdiff; do
- chmod u+s ${D}${base_bindir}/$b
- done
-}
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN}-ping = "ping"
-ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
-
-SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-traceroute6 ${PN}-clockdiff ${PN}-tftpd ${PN}-rarpd ${PN}-rdisc"
-PACKAGES += "${SPLITPKGS}"
-
-ALLOW_EMPTY_${PN} = "1"
-RDEPENDS_${PN} += "${SPLITPKGS}"
-
-FILES_${PN} = ""
-FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
-FILES_${PN}-arping = "${base_bindir}/arping"
-FILES_${PN}-tracepath = "${base_bindir}/tracepath"
-FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6"
-FILES_${PN}-clockdiff = "${base_bindir}/clockdiff"
-FILES_${PN}-tftpd = "${base_bindir}/tftpd"
-FILES_${PN}-rarpd = "${base_bindir}/rarpd"
-FILES_${PN}-rdisc = "${base_bindir}/rdisc"
diff --git a/poky/meta/recipes-extended/iputils/iputils_s20190709.bb b/poky/meta/recipes-extended/iputils/iputils_s20190709.bb
new file mode 100644
index 000000000..d8f2470d0
--- /dev/null
+++ b/poky/meta/recipes-extended/iputils/iputils_s20190709.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Network monitoring tools"
+DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \
+tracepath, tracepath6, ping, ping6 and arping."
+HOMEPAGE = "https://github.com/iputils/iputils"
+SECTION = "console/network"
+
+LICENSE = "BSD & GPLv2+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=55aa8c9fcad0691cef0ecd420361e390"
+
+DEPENDS = "gnutls"
+
+SRC_URI = "git://github.com/iputils/iputils"
+SRCREV = "13e00847176aa23683d68fce1d17ffb523510946"
+
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>s\d+)"
+
+PACKAGECONFIG ??= "libcap libgcrypt rarpd traceroute6"
+PACKAGECONFIG[libcap] = "-DUSE_CAP=true, -DUSE_CAP=false, libcap"
+PACKAGECONFIG[libgcrypt] = "-DUSE_CRYPTO=gcrypt, -DUSE_CRYPTO=none, libgcrypt"
+PACKAGECONFIG[libidn] = "-DUSE_IDN=true, -DUSE_IDN=false, libidn2"
+PACKAGECONFIG[gettext] = "-DUSE_GETTEXT=true, -DUSE_GETTEXT=false, gettext"
+PACKAGECONFIG[rarpd] = "-DBUILD_RARPD=true,-DBUILD_RARPD=false,"
+PACKAGECONFIG[traceroute6] = "-DBUILD_TRACEROUTE6=true,-DBUILD_TRACEROUTE6=false,"
+PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MANS=false -DBUILD_MANS=false, libxslt"
+
+inherit meson update-alternatives
+
+EXTRA_OEMESON += "--prefix=${root_prefix}/"
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN}-ping = "ping"
+ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
+
+SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-traceroute6 ${PN}-clockdiff ${PN}-tftpd ${PN}-rarpd ${PN}-rdisc ${PN}-ninfod"
+PACKAGES += "${SPLITPKGS}"
+
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-rarpd = "1"
+ALLOW_EMPTY_${PN}-traceroute6 = "1"
+RDEPENDS_${PN} += "${SPLITPKGS}"
+
+FILES_${PN} = ""
+FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
+FILES_${PN}-arping = "${base_bindir}/arping"
+FILES_${PN}-tracepath = "${base_bindir}/tracepath"
+FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6"
+FILES_${PN}-clockdiff = "${base_bindir}/clockdiff"
+FILES_${PN}-tftpd = "${base_bindir}/tftpd"
+FILES_${PN}-rarpd = "${base_sbindir}/rarpd"
+FILES_${PN}-rdisc = "${base_sbindir}/rdisc"
+FILES_${PN}-ninfod = "${base_sbindir}/ninfod ${sysconfdir}/init.d/ninfod.sh"
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch
deleted file mode 100644
index ce638370b..000000000
--- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000877.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-CVE: CVE-2018-1000877
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 021efa522ad729ff0f5806c4ce53e4a6cc1daa31 Mon Sep 17 00:00:00 2001
-From: Daniel Axtens <dja@axtens.net>
-Date: Tue, 20 Nov 2018 17:56:29 +1100
-Subject: [PATCH] Avoid a double-free when a window size of 0 is specified
-
-new_size can be 0 with a malicious or corrupted RAR archive.
-
-realloc(area, 0) is equivalent to free(area), so the region would
-be free()d here and the free()d again in the cleanup function.
-
-Found with a setup running AFL, afl-rb, and qsym.
----
- libarchive/archive_read_support_format_rar.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
-index 23452222..6f419c27 100644
---- a/libarchive/archive_read_support_format_rar.c
-+++ b/libarchive/archive_read_support_format_rar.c
-@@ -2300,6 +2300,11 @@ parse_codes(struct archive_read *a)
- new_size = DICTIONARY_MAX_SIZE;
- else
- new_size = rar_fls((unsigned int)rar->unp_size) << 1;
-+ if (new_size == 0) {
-+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
-+ "Zero window size is invalid.");
-+ return (ARCHIVE_FATAL);
-+ }
- new_window = realloc(rar->lzss.window, new_size);
- if (new_window == NULL) {
- archive_set_error(&a->archive, ENOMEM,
---
-2.20.0
-
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch
deleted file mode 100644
index 7468fd3c9..000000000
--- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000878.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-CVE: CVE-2018-1000878
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From bfcfe6f04ed20db2504db8a254d1f40a1d84eb28 Mon Sep 17 00:00:00 2001
-From: Daniel Axtens <dja@axtens.net>
-Date: Tue, 4 Dec 2018 00:55:22 +1100
-Subject: [PATCH] rar: file split across multi-part archives must match
-
-Fuzzing uncovered some UAF and memory overrun bugs where a file in a
-single file archive reported that it was split across multiple
-volumes. This was caused by ppmd7 operations calling
-rar_br_fillup. This would invoke rar_read_ahead, which would in some
-situations invoke archive_read_format_rar_read_header. That would
-check the new file name against the old file name, and if they didn't
-match up it would free the ppmd7 buffer and allocate a new
-one. However, because the ppmd7 decoder wasn't actually done with the
-buffer, it would continue to used the freed buffer. Both reads and
-writes to the freed region can be observed.
-
-This is quite tricky to solve: once the buffer has been freed it is
-too late, as the ppmd7 decoder functions almost universally assume
-success - there's no way for ppmd_read to signal error, nor are there
-good ways for functions like Range_Normalise to propagate them. So we
-can't detect after the fact that we're in an invalid state - e.g. by
-checking rar->cursor, we have to prevent ourselves from ever ending up
-there. So, when we are in the dangerous part or rar_read_ahead that
-assumes a valid split, we set a flag force read_header to either go
-down the path for split files or bail. This means that the ppmd7
-decoder keeps a valid buffer and just runs out of data.
-
-Found with a combination of AFL, afl-rb and qsym.
----
- libarchive/archive_read_support_format_rar.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
-index 6f419c27..a8cc5c94 100644
---- a/libarchive/archive_read_support_format_rar.c
-+++ b/libarchive/archive_read_support_format_rar.c
-@@ -258,6 +258,7 @@ struct rar
- struct data_block_offsets *dbo;
- unsigned int cursor;
- unsigned int nodes;
-+ char filename_must_match;
-
- /* LZSS members */
- struct huffman_code maincode;
-@@ -1560,6 +1561,12 @@ read_header(struct archive_read *a, struct archive_entry *entry,
- }
- return ret;
- }
-+ else if (rar->filename_must_match)
-+ {
-+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
-+ "Mismatch of file parts split across multi-volume archive");
-+ return (ARCHIVE_FATAL);
-+ }
-
- rar->filename_save = (char*)realloc(rar->filename_save,
- filename_size + 1);
-@@ -2933,12 +2940,14 @@ rar_read_ahead(struct archive_read *a, size_t min, ssize_t *avail)
- else if (*avail == 0 && rar->main_flags & MHD_VOLUME &&
- rar->file_flags & FHD_SPLIT_AFTER)
- {
-+ rar->filename_must_match = 1;
- ret = archive_read_format_rar_read_header(a, a->entry);
- if (ret == (ARCHIVE_EOF))
- {
- rar->has_endarc_header = 1;
- ret = archive_read_format_rar_read_header(a, a->entry);
- }
-+ rar->filename_must_match = 0;
- if (ret != (ARCHIVE_OK))
- return NULL;
- return rar_read_ahead(a, min, avail);
---
-2.20.0
-
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch
deleted file mode 100644
index 9f25932a1..000000000
--- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000879.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-CVE: CVE-2018-1000879
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 15bf44fd2c1ad0e3fd87048b3fcc90c4dcff1175 Mon Sep 17 00:00:00 2001
-From: Daniel Axtens <dja@axtens.net>
-Date: Tue, 4 Dec 2018 14:29:42 +1100
-Subject: [PATCH] Skip 0-length ACL fields
-
-Currently, it is possible to create an archive that crashes bsdtar
-with a malformed ACL:
-
-Program received signal SIGSEGV, Segmentation fault.
-archive_acl_from_text_l (acl=<optimised out>, text=0x7e2e92 "", want_type=<optimised out>, sc=<optimised out>) at libarchive/archive_acl.c:1726
-1726 switch (*s) {
-(gdb) p n
-$1 = 1
-(gdb) p field[n]
-$2 = {start = 0x0, end = 0x0}
-
-Stop this by checking that the length is not zero before beginning
-the switch statement.
-
-I am pretty sure this is the bug mentioned in the qsym paper [1],
-and I was able to replicate it with a qsym + AFL + afl-rb setup.
-
-[1] https://www.usenix.org/conference/usenixsecurity18/presentation/yun
----
- libarchive/archive_acl.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libarchive/archive_acl.c b/libarchive/archive_acl.c
-index 512beee1..7beeee86 100644
---- a/libarchive/archive_acl.c
-+++ b/libarchive/archive_acl.c
-@@ -1723,6 +1723,11 @@ archive_acl_from_text_l(struct archive_acl *acl, const char *text,
- st = field[n].start + 1;
- len = field[n].end - field[n].start;
-
-+ if (len == 0) {
-+ ret = ARCHIVE_WARN;
-+ continue;
-+ }
-+
- switch (*s) {
- case 'u':
- if (len == 1 || (len == 4
---
-2.20.0
-
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch
deleted file mode 100644
index bc264a124..000000000
--- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2018-1000880.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-CVE: CVE-2018-1000880
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 9c84b7426660c09c18cc349f6d70b5f8168b5680 Mon Sep 17 00:00:00 2001
-From: Daniel Axtens <dja@axtens.net>
-Date: Tue, 4 Dec 2018 16:33:42 +1100
-Subject: [PATCH] warc: consume data once read
-
-The warc decoder only used read ahead, it wouldn't actually consume
-data that had previously been printed. This means that if you specify
-an invalid content length, it will just reprint the same data over
-and over and over again until it hits the desired length.
-
-This means that a WARC resource with e.g.
-Content-Length: 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665
-but only a few hundred bytes of data, causes a quasi-infinite loop.
-
-Consume data in subsequent calls to _warc_read.
-
-Found with an AFL + afl-rb + qsym setup.
----
- libarchive/archive_read_support_format_warc.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libarchive/archive_read_support_format_warc.c b/libarchive/archive_read_support_format_warc.c
-index e8753853..e8fc8428 100644
---- a/libarchive/archive_read_support_format_warc.c
-+++ b/libarchive/archive_read_support_format_warc.c
-@@ -386,6 +386,11 @@ _warc_read(struct archive_read *a, const void **buf, size_t *bsz, int64_t *off)
- return (ARCHIVE_EOF);
- }
-
-+ if (w->unconsumed) {
-+ __archive_read_consume(a, w->unconsumed);
-+ w->unconsumed = 0U;
-+ }
-+
- rab = __archive_read_ahead(a, 1U, &nrd);
- if (nrd < 0) {
- *bsz = 0U;
---
-2.20.0
-
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch
deleted file mode 100644
index 7f39893c2..000000000
--- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000019.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-CVE: CVE-2019-1000019
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 65a23f5dbee4497064e9bb467f81138a62b0dae1 Mon Sep 17 00:00:00 2001
-From: Daniel Axtens <dja@axtens.net>
-Date: Tue, 1 Jan 2019 16:01:40 +1100
-Subject: [PATCH 2/2] 7zip: fix crash when parsing certain archives
-
-Fuzzing with CRCs disabled revealed that a call to get_uncompressed_data()
-would sometimes fail to return at least 'minimum' bytes. This can cause
-the crc32() invocation in header_bytes to read off into invalid memory.
-
-A specially crafted archive can use this to cause a crash.
-
-An ASAN trace is below, but ASAN is not required - an uninstrumented
-binary will also crash.
-
-==7719==ERROR: AddressSanitizer: SEGV on unknown address 0x631000040000 (pc 0x7fbdb3b3ec1d bp 0x7ffe77a51310 sp 0x7ffe77a51150 T0)
-==7719==The signal is caused by a READ memory access.
- #0 0x7fbdb3b3ec1c in crc32_z (/lib/x86_64-linux-gnu/libz.so.1+0x2c1c)
- #1 0x84f5eb in header_bytes (/tmp/libarchive/bsdtar+0x84f5eb)
- #2 0x856156 in read_Header (/tmp/libarchive/bsdtar+0x856156)
- #3 0x84e134 in slurp_central_directory (/tmp/libarchive/bsdtar+0x84e134)
- #4 0x849690 in archive_read_format_7zip_read_header (/tmp/libarchive/bsdtar+0x849690)
- #5 0x5713b7 in _archive_read_next_header2 (/tmp/libarchive/bsdtar+0x5713b7)
- #6 0x570e63 in _archive_read_next_header (/tmp/libarchive/bsdtar+0x570e63)
- #7 0x6f08bd in archive_read_next_header (/tmp/libarchive/bsdtar+0x6f08bd)
- #8 0x52373f in read_archive (/tmp/libarchive/bsdtar+0x52373f)
- #9 0x5257be in tar_mode_x (/tmp/libarchive/bsdtar+0x5257be)
- #10 0x51daeb in main (/tmp/libarchive/bsdtar+0x51daeb)
- #11 0x7fbdb27cab96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
- #12 0x41dd09 in _start (/tmp/libarchive/bsdtar+0x41dd09)
-
-This was primarly done with afl and FairFuzz. Some early corpus entries
-may have been generated by qsym.
----
- libarchive/archive_read_support_format_7zip.c | 8 +-------
- 1 file changed, 1 insertion(+), 7 deletions(-)
-
-diff --git a/libarchive/archive_read_support_format_7zip.c b/libarchive/archive_read_support_format_7zip.c
-index bccbf8966..b6d1505d3 100644
---- a/libarchive/archive_read_support_format_7zip.c
-+++ b/libarchive/archive_read_support_format_7zip.c
-@@ -2964,13 +2964,7 @@ get_uncompressed_data(struct archive_read *a, const void **buff, size_t size,
- if (zip->codec == _7Z_COPY && zip->codec2 == (unsigned long)-1) {
- /* Copy mode. */
-
-- /*
-- * Note: '1' here is a performance optimization.
-- * Recall that the decompression layer returns a count of
-- * available bytes; asking for more than that forces the
-- * decompressor to combine reads by copying data.
-- */
-- *buff = __archive_read_ahead(a, 1, &bytes_avail);
-+ *buff = __archive_read_ahead(a, minimum, &bytes_avail);
- if (bytes_avail <= 0) {
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch b/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch
deleted file mode 100644
index 25a76fdcd..000000000
--- a/poky/meta/recipes-extended/libarchive/libarchive/CVE-2019-1000020.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-CVE: CVE-2019-1000020
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 8312eaa576014cd9b965012af51bc1f967b12423 Mon Sep 17 00:00:00 2001
-From: Daniel Axtens <dja@axtens.net>
-Date: Tue, 1 Jan 2019 17:10:49 +1100
-Subject: [PATCH 1/2] iso9660: Fail when expected Rockridge extensions is
- missing
-
-A corrupted or malicious ISO9660 image can cause read_CE() to loop
-forever.
-
-read_CE() calls parse_rockridge(), expecting a Rockridge extension
-to be read. However, parse_rockridge() is structured as a while
-loop starting with a sanity check, and if the sanity check fails
-before the loop has run, the function returns ARCHIVE_OK without
-advancing the position in the file. This causes read_CE() to retry
-indefinitely.
-
-Make parse_rockridge() return ARCHIVE_WARN if it didn't read an
-extension. As someone with no real knowledge of the format, this
-seems more apt than ARCHIVE_FATAL, but both the call-sites escalate
-it to a fatal error immediately anyway.
-
-Found with a combination of AFL, afl-rb (FairFuzz) and qsym.
----
- libarchive/archive_read_support_format_iso9660.c | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c
-index 28acfefbb..bad8f1dfe 100644
---- a/libarchive/archive_read_support_format_iso9660.c
-+++ b/libarchive/archive_read_support_format_iso9660.c
-@@ -2102,6 +2102,7 @@ parse_rockridge(struct archive_read *a, struct file_info *file,
- const unsigned char *p, const unsigned char *end)
- {
- struct iso9660 *iso9660;
-+ int entry_seen = 0;
-
- iso9660 = (struct iso9660 *)(a->format->data);
-
-@@ -2257,8 +2258,16 @@ parse_rockridge(struct archive_read *a, struct file_info *file,
- }
-
- p += p[2];
-+ entry_seen = 1;
-+ }
-+
-+ if (entry_seen)
-+ return (ARCHIVE_OK);
-+ else {
-+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
-+ "Tried to parse Rockridge extensions, but none found");
-+ return (ARCHIVE_WARN);
- }
-- return (ARCHIVE_OK);
- }
-
- static int
-
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/bug1066.patch b/poky/meta/recipes-extended/libarchive/libarchive/bug1066.patch
deleted file mode 100644
index 0a662b57b..000000000
--- a/poky/meta/recipes-extended/libarchive/libarchive/bug1066.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-libarchive-3.3.3: Fix bug1066
-
-[No upstream tracking] -- https://github.com/libarchive/libarchive/pull/1066
-
-archive_write_set_format_*.c: fix out of bounds read on empty string () filename
-for guntar, pax and v7tar
-
-There is an out of bounds read flaw in the archive_write_gnutar_header,
-archive_write_pax_header and archive_write_v7tar_header functions which
-could leds to cause a denial of service.
-
-Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/c246ec5d058a3f70a2d3fb765f92fe9db77b25df]
-Bug: 1066
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-
-diff --git a/libarchive/archive_write_set_format_gnutar.c b/libarchive/archive_write_set_format_gnutar.c
-index 2d858c9..1966c53 100644
---- a/libarchive/archive_write_set_format_gnutar.c
-+++ b/libarchive/archive_write_set_format_gnutar.c
-@@ -339,7 +339,7 @@ archive_write_gnutar_header(struct archive_write *a,
- * case getting WCS failed. On POSIX, this is a
- * normal operation.
- */
-- if (p != NULL && p[strlen(p) - 1] != '/') {
-+ if (p != NULL && p[0] != '\0' && p[strlen(p) - 1] != '/') {
- struct archive_string as;
-
- archive_string_init(&as);
-diff --git a/libarchive/archive_write_set_format_pax.c b/libarchive/archive_write_set_format_pax.c
-index 6a301ac..4cfa8ff 100644
---- a/libarchive/archive_write_set_format_pax.c
-+++ b/libarchive/archive_write_set_format_pax.c
-@@ -660,7 +660,7 @@ archive_write_pax_header(struct archive_write *a,
- * case getting WCS failed. On POSIX, this is a
- * normal operation.
- */
-- if (p != NULL && p[strlen(p) - 1] != '/') {
-+ if (p != NULL && p[0] != '\0' && p[strlen(p) - 1] != '/') {
- struct archive_string as;
-
- archive_string_init(&as);
-diff --git a/libarchive/archive_write_set_format_v7tar.c b/libarchive/archive_write_set_format_v7tar.c
-index 62b1522..53c0db0 100644
---- a/libarchive/archive_write_set_format_v7tar.c
-+++ b/libarchive/archive_write_set_format_v7tar.c
-@@ -284,7 +284,7 @@ archive_write_v7tar_header(struct archive_write *a, struct archive_entry *entry)
- * case getting WCS failed. On POSIX, this is a
- * normal operation.
- */
-- if (p != NULL && p[strlen(p) - 1] != '/') {
-+ if (p != NULL && p[0] != '\0' && p[strlen(p) - 1] != '/') {
- struct archive_string as;
-
- archive_string_init(&as);
diff --git a/poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch b/poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch
deleted file mode 100644
index cd7be5127..000000000
--- a/poky/meta/recipes-extended/libarchive/libarchive/non-recursive-extract-and-list.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 47f7566f6829c2b14e21bbbba699916de4998c72 Mon Sep 17 00:00:00 2001
-From: Patrick Ohly <patrick.ohly@intel.com>
-Date: Mon, 24 Oct 2016 12:54:48 +0200
-Subject: [PATCH 1/1] non-recursive extract and list
-
-Sometimes it makes sense to extract or list a directory contained in
-an archive without also doing the same for the content of the
-directory, i.e. allowing -n (= --no-recursion) in combination with the
-x and t modes.
-
-bsdtar uses the match functionality in libarchive to track include
-matches. A new libarchive API call
-archive_match_include_directories_recursively() gets introduced to
-influence the matching behavior, with the default behavior as before.
-
-Non-recursive matching can be achieved by anchoring the path match at
-both start and end. Asking for a directory which itself isn't in the
-archive when in non-recursive mode is an error and handled by the
-existing mechanism for tracking unused inclusion entries.
-
-Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/812]
-
-Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
-
----
- libarchive/archive.h | 2 ++
- libarchive/archive_match.c | 30 +++++++++++++++++++++++++++++-
- tar/bsdtar.1 | 3 +--
- tar/bsdtar.c | 12 ++++++++++--
- 4 files changed, 42 insertions(+), 5 deletions(-)
-
-diff --git a/libarchive/archive.h b/libarchive/archive.h
-index 32710201..59fb4aa6 100644
---- a/libarchive/archive.h
-+++ b/libarchive/archive.h
-@@ -1093,6 +1093,8 @@ __LA_DECL int archive_match_excluded(struct archive *,
- */
- __LA_DECL int archive_match_path_excluded(struct archive *,
- struct archive_entry *);
-+/* Control recursive inclusion of directory content when directory is included. Default on. */
-+__LA_DECL int archive_match_include_directories_recursively(struct archive *, int _enabled);
- /* Add exclusion pathname pattern. */
- __LA_DECL int archive_match_exclude_pattern(struct archive *, const char *);
- __LA_DECL int archive_match_exclude_pattern_w(struct archive *,
-diff --git a/libarchive/archive_match.c b/libarchive/archive_match.c
-index be72066e..bb6a3407 100644
---- a/libarchive/archive_match.c
-+++ b/libarchive/archive_match.c
-@@ -93,6 +93,9 @@ struct archive_match {
- /* exclusion/inclusion set flag. */
- int setflag;
-
-+ /* Recursively include directory content? */
-+ int recursive_include;
-+
- /*
- * Matching filename patterns.
- */
-@@ -223,6 +226,7 @@ archive_match_new(void)
- return (NULL);
- a->archive.magic = ARCHIVE_MATCH_MAGIC;
- a->archive.state = ARCHIVE_STATE_NEW;
-+ a->recursive_include = 1;
- match_list_init(&(a->inclusions));
- match_list_init(&(a->exclusions));
- __archive_rb_tree_init(&(a->exclusion_tree), &rb_ops_mbs);
-@@ -471,6 +475,28 @@ archive_match_path_excluded(struct archive *_a,
- }
-
- /*
-+ * When recursive inclusion of directory content is enabled,
-+ * an inclusion pattern that matches a directory will also
-+ * include everything beneath that directory. Enabled by default.
-+ *
-+ * For compatibility with GNU tar, exclusion patterns always
-+ * match if a subset of the full patch matches (i.e., they are
-+ * are not rooted at the beginning of the path) and thus there
-+ * is no corresponding non-recursive exclusion mode.
-+ */
-+int
-+archive_match_include_directories_recursively(struct archive *_a, int _enabled)
-+{
-+ struct archive_match *a;
-+
-+ archive_check_magic(_a, ARCHIVE_MATCH_MAGIC,
-+ ARCHIVE_STATE_NEW, "archive_match_include_directories_recursively");
-+ a = (struct archive_match *)_a;
-+ a->recursive_include = _enabled;
-+ return (ARCHIVE_OK);
-+}
-+
-+/*
- * Utility functions to get statistic information for inclusion patterns.
- */
- int
-@@ -781,7 +807,9 @@ static int
- match_path_inclusion(struct archive_match *a, struct match *m,
- int mbs, const void *pn)
- {
-- int flag = PATHMATCH_NO_ANCHOR_END;
-+ int flag = a->recursive_include ?
-+ PATHMATCH_NO_ANCHOR_END : /* Prefix match is good enough. */
-+ 0; /* Full match required. */
- int r;
-
- if (mbs) {
-diff --git a/tar/bsdtar.1 b/tar/bsdtar.1
-index 132e1145..1dd2a847 100644
---- a/tar/bsdtar.1
-+++ b/tar/bsdtar.1
-@@ -386,8 +386,7 @@ and the default behavior in c, r, and u modes or if
- .Nm
- is run in x mode as root.
- .It Fl n , Fl Fl norecurse , Fl Fl no-recursion
--(c, r, u modes only)
--Do not recursively archive the contents of directories.
-+Do not recursively archive (c, r, u), extract (x) or list (t) the contents of directories.
- .It Fl Fl newer Ar date
- (c, r, u modes only)
- Only include files and directories newer than the specified date.
-diff --git a/tar/bsdtar.c b/tar/bsdtar.c
-index 11dedbf9..d014cc3e 100644
---- a/tar/bsdtar.c
-+++ b/tar/bsdtar.c
-@@ -794,8 +794,6 @@ main(int argc, char **argv)
- break;
- }
- }
-- if (bsdtar->flags & OPTFLAG_NO_SUBDIRS)
-- only_mode(bsdtar, "-n", "cru");
- if (bsdtar->flags & OPTFLAG_STDOUT)
- only_mode(bsdtar, "-O", "xt");
- if (bsdtar->flags & OPTFLAG_UNLINK_FIRST)
-@@ -845,6 +843,16 @@ main(int argc, char **argv)
- only_mode(bsdtar, buff, "cru");
- }
-
-+ /*
-+ * When creating an archive from a directory tree, the directory
-+ * walking code will already avoid entering directories when
-+ * recursive inclusion of directory content is disabled, therefore
-+ * changing the matching behavior has no effect for creation modes.
-+ * It is relevant for extraction or listing.
-+ */
-+ archive_match_include_directories_recursively(bsdtar->matching,
-+ !(bsdtar->flags & OPTFLAG_NO_SUBDIRS));
-+
- /* Filename "-" implies stdio. */
- if (strcmp(bsdtar->filename, "-") == 0)
- bsdtar->filename = NULL;
---
-2.11.0
-
diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb
deleted file mode 100644
index af5ca6529..000000000
--- a/poky/meta/recipes-extended/libarchive/libarchive_3.3.3.bb
+++ /dev/null
@@ -1,75 +0,0 @@
-SUMMARY = "Support for reading various archive formats"
-DESCRIPTION = "C library and command-line tools for reading and writing tar, cpio, zip, ISO, and other archive formats"
-HOMEPAGE = "http://www.libarchive.org/"
-SECTION = "devel"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ed99aca006bc346974bb745a35336425"
-
-DEPENDS = "e2fsprogs-native"
-
-PACKAGECONFIG ?= "zlib bz2 xz lzo"
-
-PACKAGECONFIG_append_class-target = "\
- libxml2 \
- ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \
-"
-
-DEPENDS_BZIP2 = "bzip2-replacement-native"
-DEPENDS_BZIP2_class-target = "bzip2"
-
-PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
-PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
-PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
-PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2},"
-PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz,"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
-PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2,"
-PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat,"
-PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo,"
-PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle,"
-PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
-
-EXTRA_OECONF += "--enable-largefile"
-
-SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \
- file://non-recursive-extract-and-list.patch \
- file://bug1066.patch \
- file://CVE-2018-1000877.patch \
- file://CVE-2018-1000878.patch \
- file://CVE-2018-1000879.patch \
- file://CVE-2018-1000880.patch \
- file://CVE-2019-1000019.patch \
- file://CVE-2019-1000020.patch \
-"
-
-SRC_URI[md5sum] = "4038e366ca5b659dae3efcc744e72120"
-SRC_URI[sha256sum] = "ba7eb1781c9fbbae178c4c6bad1c6eb08edab9a1496c64833d1715d022b30e2e"
-
-inherit autotools update-alternatives pkgconfig
-
-CPPFLAGS += "-I${WORKDIR}/extra-includes"
-
-do_configure[cleandirs] += "${WORKDIR}/extra-includes"
-do_configure_prepend() {
- # We just need the headers for some type constants, so no need to
- # build all of e2fsprogs for the target
- cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/
-}
-
-ALTERNATIVE_PRIORITY = "80"
-
-PACKAGES =+ "bsdtar"
-FILES_bsdtar = "${bindir}/bsdtar"
-
-ALTERNATIVE_bsdtar = "tar"
-ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
-ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar"
-
-PACKAGES =+ "bsdcpio"
-FILES_bsdcpio = "${bindir}/bsdcpio"
-
-ALTERNATIVE_bsdcpio = "cpio"
-ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
-ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.4.0.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.4.0.bb
new file mode 100644
index 000000000..c789cd44d
--- /dev/null
+++ b/poky/meta/recipes-extended/libarchive/libarchive_3.4.0.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Support for reading various archive formats"
+DESCRIPTION = "C library and command-line tools for reading and writing tar, cpio, zip, ISO, and other archive formats"
+HOMEPAGE = "http://www.libarchive.org/"
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fe01f5e02b1f0cc934d593a7b0ddceb6"
+
+DEPENDS = "e2fsprogs-native"
+
+PACKAGECONFIG ?= "zlib bz2 xz lzo"
+
+PACKAGECONFIG_append_class-target = "\
+ libxml2 \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \
+"
+
+DEPENDS_BZIP2 = "bzip2-replacement-native"
+DEPENDS_BZIP2_class-target = "bzip2"
+
+PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
+PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
+PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2},"
+PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz,"
+PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
+PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2,"
+PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat,"
+PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo,"
+PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle,"
+PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
+
+EXTRA_OECONF += "--enable-largefile"
+
+SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \
+"
+
+SRC_URI[md5sum] = "6046396255bd7cf6d0f6603a9bda39ac"
+SRC_URI[sha256sum] = "8643d50ed40c759f5412a3af4e353cffbce4fdf3b5cf321cb72cacf06b2d825e"
+
+inherit autotools update-alternatives pkgconfig
+
+CPPFLAGS += "-I${WORKDIR}/extra-includes"
+
+do_configure[cleandirs] += "${WORKDIR}/extra-includes"
+do_configure_prepend() {
+ # We just need the headers for some type constants, so no need to
+ # build all of e2fsprogs for the target
+ cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/
+}
+
+ALTERNATIVE_PRIORITY = "80"
+
+PACKAGES =+ "bsdtar"
+FILES_bsdtar = "${bindir}/bsdtar"
+
+ALTERNATIVE_bsdtar = "tar"
+ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
+ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar"
+
+PACKAGES =+ "bsdcpio"
+FILES_bsdcpio = "${bindir}/bsdcpio"
+
+ALTERNATIVE_bsdcpio = "cpio"
+ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
+ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb
index d7fec89fb..bcbfdd85b 100644
--- a/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb
+++ b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb
@@ -21,6 +21,10 @@ EXTRA_OECONF += "--disable-rpath \
--with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \
"
+do_install_append() {
+ sed -i -e 's|-L${STAGING_LIBDIR}||' ${D}${libdir}/pkgconfig/libidn2.pc
+}
+
LICENSE_${PN} = "(GPLv2+ | LGPLv3)"
LICENSE_${PN}-bin = "GPLv3+"
diff --git a/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb b/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb
index 47447acd6..a1d914e87 100644
--- a/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb
+++ b/poky/meta/recipes-extended/libnss-nis/libnss-nis.bb
@@ -13,9 +13,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SECTION = "libs"
DEPENDS += "libtirpc libnsl2"
-PV = "3.0+git${SRCPV}"
+PV = "3.1+git${SRCPV}"
-SRCREV = "d4aea48657a8e90d7922574b8021ee03915a36cb"
+SRCREV = "062f31999b35393abf7595cb89dfc9590d5a42ad"
SRC_URI = "git://github.com/thkukuk/libnss_nis \
"
diff --git a/poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch b/poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch
deleted file mode 100644
index 75ef15005..000000000
--- a/poky/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-Backport a patch from upstream to use GNUInstallDirs instead of
-hand-coded path logic, so we have proper control over where files end up.
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From b6c9df4c686975ce5009d09dac706a4e83f02a31 Mon Sep 17 00:00:00 2001
-From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
-Date: Mon, 2 Jul 2018 12:56:41 +0100
-Subject: [PATCH] build: use GNUInstallDirs
-
-Fixes: #128
-Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
----
- CMakeLists.txt | 34 +++++++---------------------------
- README | 2 +-
- doc/CMakeLists.txt | 4 ++--
- examples/solv/CMakeLists.txt | 2 +-
- ext/CMakeLists.txt | 8 ++++----
- libsolv.pc.in | 4 ++--
- libsolvext.pc.in | 4 ++--
- src/CMakeLists.txt | 8 ++++----
- tools/CMakeLists.txt | 3 +--
- 9 files changed, 24 insertions(+), 45 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1deef57d..7e9ffa9b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,6 +1,6 @@
- PROJECT (libsolv)
-
--CMAKE_MINIMUM_REQUIRED (VERSION 2.4)
-+CMAKE_MINIMUM_REQUIRED (VERSION 2.8.5)
-
- OPTION (ENABLE_STATIC "Build a static version of the libraries?" OFF)
- OPTION (DISABLE_SHARED "Do not build a shared version of the libraries?" OFF)
-@@ -38,34 +38,14 @@ OPTION (ENABLE_ZCHUNK_COMPRESSION "Build with zchunk compression support?" OFF)
- OPTION (WITH_SYSTEM_ZCHUNK "Use system zchunk library?" OFF)
- OPTION (WITH_LIBXML2 "Build with libxml2 instead of libexpat?" OFF)
-
--# Library
--IF (DEFINED LIB)
-- SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}")
--ELSE (DEFINED LIB)
-- IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-- SET (LIB_SUFFIX "64")
-- ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
-- SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
--ENDIF (DEFINED LIB)
--MESSAGE (STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}")
--# Library
--IF (DEFINED INCLUDE)
-- SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE}")
--else (DEFINED INCLUDE)
-- SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
--ENDIF (DEFINED INCLUDE)
--MESSAGE (STATUS "Header files will be installed in ${INCLUDE_INSTALL_DIR}")
--SET (BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
--IF (NOT MAN_INSTALL_DIR)
--SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/man")
--IF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man" AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man")
-- SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/man")
--ENDIF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man" AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man")
--ENDIF (NOT MAN_INSTALL_DIR)
--MESSAGE(STATUS "Man pages will be installed in ${MAN_INSTALL_DIR}")
-+include (GNUInstallDirs)
-+message (STATUS "Libraries will be installed in ${CMAKE_INSTALL_FULL_LIBDIR}")
-+message (STATUS "Header files will be installed in ${CMAKE_INSTALL_FULL_INCLUDEDIR}")
-+message (STATUS "Binaries will be installed in ${CMAKE_INSTALL_FULL_BINDIR}")
-+message (STATUS "Man pages will be installed in ${CMAKE_INSTALL_FULL_MANDIR}")
-
- IF (NOT PKGCONFIG_INSTALL_DIR)
-- SET (PKGCONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/pkgconfig)
-+ SET (PKGCONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
- ENDIF (NOT PKGCONFIG_INSTALL_DIR)
- ####################################################################
- # CONFIGURATION #
-diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
-index 66011b48..ed38274e 100644
---- a/doc/CMakeLists.txt
-+++ b/doc/CMakeLists.txt
-@@ -48,8 +48,8 @@ STRING(REGEX REPLACE "([^;]+)" "gen/\\1" libsolv_MANPAGES3 "${libsolv_MANPAGES3}
-
- INSTALL(FILES
- ${libsolv_MANPAGES3}
-- DESTINATION "${MAN_INSTALL_DIR}/man3")
-+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man3")
-
- INSTALL(FILES
- ${libsolv_MANPAGES1}
-- DESTINATION "${MAN_INSTALL_DIR}/man1")
-+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
-diff --git a/examples/solv/CMakeLists.txt b/examples/solv/CMakeLists.txt
-index 41f45f74..0f3bd477 100644
---- a/examples/solv/CMakeLists.txt
-+++ b/examples/solv/CMakeLists.txt
-@@ -25,5 +25,5 @@ TARGET_LINK_LIBRARIES (solv libsolvext libsolv ${SYSTEM_LIBRARIES})
-
- INSTALL(TARGETS
- solv
-- DESTINATION ${BIN_INSTALL_DIR})
-+ DESTINATION ${CMAKE_INSTALL_BINDIR})
-
-diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
-index edc2b9f9..6dd28b1a 100644
---- a/ext/CMakeLists.txt
-+++ b/ext/CMakeLists.txt
-@@ -145,14 +145,14 @@ ENDIF (DISABLE_SHARED)
-
- SET_TARGET_PROPERTIES(libsolvext PROPERTIES OUTPUT_NAME "solvext")
- SET_TARGET_PROPERTIES(libsolvext PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
--SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
-+SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
-
--INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
--INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} RUNTIME DESTINATION bin)
-+INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
-+INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-
- IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
- ADD_LIBRARY (libsolvext_static STATIC ${libsolvext_SRCS})
- SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES OUTPUT_NAME "solvext")
- SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
--INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
-+INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)
-diff --git a/libsolv.pc.in b/libsolv.pc.in
-index 40a86230..766146c5 100644
---- a/libsolv.pc.in
-+++ b/libsolv.pc.in
-@@ -1,5 +1,5 @@
--libdir=@LIB_INSTALL_DIR@
--includedir=@INCLUDE_INSTALL_DIR@
-+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
-+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
-
- Name: libsolv
- Description: Library for solving packages
-diff --git a/libsolvext.pc.in b/libsolvext.pc.in
-index d48b6fab..d0078461 100644
---- a/libsolvext.pc.in
-+++ b/libsolvext.pc.in
-@@ -1,5 +1,5 @@
--libdir=@LIB_INSTALL_DIR@
--includedir=@INCLUDE_INSTALL_DIR@
-+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
-+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
-
- Name: libsolvext
- Description: Library for reading repositories
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 2e32968e..03ea9119 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -42,14 +42,14 @@ ENDIF (DISABLE_SHARED)
-
- SET_TARGET_PROPERTIES(libsolv PROPERTIES OUTPUT_NAME "solv")
- SET_TARGET_PROPERTIES(libsolv PROPERTIES SOVERSION ${LIBSOLV_SOVERSION})
--SET_TARGET_PROPERTIES(libsolv PROPERTIES INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
-+SET_TARGET_PROPERTIES(libsolv PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
-
--INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
--INSTALL (TARGETS libsolv LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} RUNTIME DESTINATION bin)
-+INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
-+INSTALL (TARGETS libsolv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-
- IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
- ADD_LIBRARY (libsolv_static STATIC ${libsolv_SRCS})
- SET_TARGET_PROPERTIES(libsolv_static PROPERTIES OUTPUT_NAME "solv")
- SET_TARGET_PROPERTIES(libsolv_static PROPERTIES SOVERSION ${LIBSOLV_SOVERSION})
--INSTALL (TARGETS libsolv_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
-+INSTALL (TARGETS libsolv_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)
-diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
-index 802dc500..0d677f69 100644
---- a/tools/CMakeLists.txt
-+++ b/tools/CMakeLists.txt
-@@ -110,5 +110,4 @@ TARGET_LINK_LIBRARIES (testsolv libsolvext libsolv ${SYSTEM_LIBRARIES})
- ADD_EXECUTABLE (repo2solv repo2solv.c )
- TARGET_LINK_LIBRARIES (repo2solv toolstuff libsolvext libsolv ${SYSTEM_LIBRARIES})
-
--INSTALL (TARGETS ${tools_list} DESTINATION ${BIN_INSTALL_DIR})
--
-+INSTALL (TARGETS ${tools_list} DESTINATION ${CMAKE_INSTALL_BINDIR})
---
-2.11.0
-
diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb
deleted file mode 100644
index b8653adc0..000000000
--- a/poky/meta/recipes-extended/libsolv/libsolv_0.7.4.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Library for solving packages and reading repositories"
-HOMEPAGE = "https://github.com/openSUSE/libsolv"
-BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
-SECTION = "devel"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
-
-DEPENDS = "expat zlib"
-
-SRC_URI = "git://github.com/openSUSE/libsolv.git \
- file://0001-build-use-GNUInstallDirs.patch \
-"
-
-SRCREV = "51fc3b1214aa9677e972712fa1ce6916e438751f"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-PACKAGECONFIG ??= "rpm"
-PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm"
-
-EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON"
-
-PACKAGES =+ "${PN}-tools ${PN}ext"
-
-FILES_${PN}-tools = "${bindir}/*"
-FILES_${PN}ext = "${libdir}/${PN}ext.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/libsolv/libsolv_0.7.6.bb b/poky/meta/recipes-extended/libsolv/libsolv_0.7.6.bb
new file mode 100644
index 000000000..3df899308
--- /dev/null
+++ b/poky/meta/recipes-extended/libsolv/libsolv_0.7.6.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Library for solving packages and reading repositories"
+HOMEPAGE = "https://github.com/openSUSE/libsolv"
+BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
+SECTION = "devel"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
+
+DEPENDS = "expat zlib"
+
+SRC_URI = "git://github.com/openSUSE/libsolv.git \
+"
+
+SRCREV = "17ce4bc4fb52a0b32964f3b7d491c18177980be1"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= "rpm"
+PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm"
+
+EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON"
+
+PACKAGES =+ "${PN}-tools ${PN}ext"
+
+FILES_${PN}-tools = "${bindir}/*"
+FILES_${PN}ext = "${libdir}/${PN}ext.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb
index ba1a2c54b..2e83c821a 100644
--- a/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb
+++ b/poky/meta/recipes-extended/lighttpd/lighttpd_1.4.54.bb
@@ -39,14 +39,13 @@ PACKAGECONFIG[krb5] = "--with-krb5,--without-krb5,krb5"
PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
-PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
PACKAGECONFIG[webdav-props] = "--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
PACKAGECONFIG[webdav-locks] = "--with-webdav-locks,--without-webdav-locks,util-linux"
PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
-PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1"
+PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
-EXTRA_OECONF += "--enable-lfs"
+EXTRA_OECONF += "--enable-lfs --without-fam"
inherit autotools pkgconfig update-rc.d gettext systemd
diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb
deleted file mode 100644
index 0f3da2b94..000000000
--- a/poky/meta/recipes-extended/logrotate/logrotate_3.15.0.bb
+++ /dev/null
@@ -1,99 +0,0 @@
-SUMMARY = "Rotates, compresses, removes and mails system log files"
-SECTION = "console/utils"
-HOMEPAGE = "https://github.com/logrotate/logrotate/issues"
-LICENSE = "GPLv2"
-
-# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
-
-DEPENDS="coreutils popt"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-# When updating logrotate to latest upstream, SRC_URI should point to
-# a proper release tarball from https://github.com/logrotate/logrotate/releases
-# and we have to take the snapshot for now because there is no such
-# tarball available for 3.9.1.
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-UPSTREAM_CHECK_REGEX = "logrotate-(?P<pver>\d+(\.\d+)+).tar"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
- file://act-as-mv-when-rotate.patch \
- file://update-the-manual.patch \
- file://disable-check-different-filesystems.patch \
- "
-
-SRC_URI[md5sum] = "320046f0b9fc38337e8827d4c5a866a0"
-SRC_URI[sha256sum] = "313612c4776a305393454c874ef590d8acf84c9ffa648717731dfe902284ff8f"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
-
-PACKAGECONFIG[acl] = ",,acl"
-PACKAGECONFIG[selinux] = ",,libselinux"
-
-CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \
- ${sysconfdir}/logrotate.conf \
- ${sysconfdir}/logrotate.d/btmp \
- ${sysconfdir}/logrotate.d/wtmp"
-
-# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our
-# optimization variables, so use it rather than EXTRA_CFLAGS.
-EXTRA_OEMAKE = "\
- LFS= \
- OS_NAME='${OS_NAME}' \
- 'CC=${CC}' \
- 'RPM_OPT_FLAGS=${CFLAGS}' \
- 'EXTRA_LDFLAGS=${LDFLAGS}' \
- ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \
-"
-
-# OS_NAME in the makefile defaults to `uname -s`. The behavior for
-# freebsd/netbsd is questionable, so leave it as Linux, which only sets
-# INSTALL=install and BASEDIR=/usr.
-OS_NAME = "Linux"
-
-inherit autotools systemd
-
-SYSTEMD_SERVICE_${PN} = "\
- ${BPN}.service \
- ${BPN}.timer \
-"
-
-LOGROTATE_OPTIONS ?= ""
-
-LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily"
-LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h"
-LOGROTATE_SYSTEMD_TIMER_PERSISTENT ?= "true"
-
-do_install(){
- oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir}
- mkdir -p ${D}${sysconfdir}/logrotate.d
- mkdir -p ${D}${localstatedir}/lib
- install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf
- install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp
- install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp
- touch ${D}${localstatedir}/lib/logrotate.status
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service
- install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer
- [ -z "${LOGROTATE_OPTIONS}" ] ||
- sed -ri \
- -e 's|(ExecStart=.*/logrotate.*)$|\1 ${LOGROTATE_OPTIONS}|g' \
- ${D}${systemd_system_unitdir}/logrotate.service
- sed -ri \
- -e 's|(OnCalendar=).*$|\1${LOGROTATE_SYSTEMD_TIMER_BASIS}|g' \
- -e 's|(AccuracySec=).*$|\1${LOGROTATE_SYSTEMD_TIMER_ACCURACY}|g' \
- -e 's|(Persistent=).*$|\1${LOGROTATE_SYSTEMD_TIMER_PERSISTENT}|g' \
- ${D}${systemd_system_unitdir}/logrotate.timer
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- mkdir -p ${D}${sysconfdir}/cron.daily
- install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
- fi
-}
diff --git a/poky/meta/recipes-extended/logrotate/logrotate_3.15.1.bb b/poky/meta/recipes-extended/logrotate/logrotate_3.15.1.bb
new file mode 100644
index 000000000..7c7d51b39
--- /dev/null
+++ b/poky/meta/recipes-extended/logrotate/logrotate_3.15.1.bb
@@ -0,0 +1,99 @@
+SUMMARY = "Rotates, compresses, removes and mails system log files"
+SECTION = "console/utils"
+HOMEPAGE = "https://github.com/logrotate/logrotate/issues"
+LICENSE = "GPLv2"
+
+# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
+
+DEPENDS="coreutils popt"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+# When updating logrotate to latest upstream, SRC_URI should point to
+# a proper release tarball from https://github.com/logrotate/logrotate/releases
+# and we have to take the snapshot for now because there is no such
+# tarball available for 3.9.1.
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "logrotate-(?P<pver>\d+(\.\d+)+).tar"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ file://act-as-mv-when-rotate.patch \
+ file://update-the-manual.patch \
+ file://disable-check-different-filesystems.patch \
+ "
+
+SRC_URI[md5sum] = "afe109afea749c306ff489203fde6beb"
+SRC_URI[sha256sum] = "491fec9e89f1372f02a0ab66579aa2e9d63cac5178dfa672c204c88e693a908b"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
+
+PACKAGECONFIG[acl] = ",,acl"
+PACKAGECONFIG[selinux] = ",,libselinux"
+
+CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \
+ ${sysconfdir}/logrotate.conf \
+ ${sysconfdir}/logrotate.d/btmp \
+ ${sysconfdir}/logrotate.d/wtmp"
+
+# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our
+# optimization variables, so use it rather than EXTRA_CFLAGS.
+EXTRA_OEMAKE = "\
+ LFS= \
+ OS_NAME='${OS_NAME}' \
+ 'CC=${CC}' \
+ 'RPM_OPT_FLAGS=${CFLAGS}' \
+ 'EXTRA_LDFLAGS=${LDFLAGS}' \
+ ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \
+"
+
+# OS_NAME in the makefile defaults to `uname -s`. The behavior for
+# freebsd/netbsd is questionable, so leave it as Linux, which only sets
+# INSTALL=install and BASEDIR=/usr.
+OS_NAME = "Linux"
+
+inherit autotools systemd
+
+SYSTEMD_SERVICE_${PN} = "\
+ ${BPN}.service \
+ ${BPN}.timer \
+"
+
+LOGROTATE_OPTIONS ?= ""
+
+LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily"
+LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h"
+LOGROTATE_SYSTEMD_TIMER_PERSISTENT ?= "true"
+
+do_install(){
+ oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir}
+ mkdir -p ${D}${sysconfdir}/logrotate.d
+ mkdir -p ${D}${localstatedir}/lib
+ install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf
+ install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp
+ install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp
+ touch ${D}${localstatedir}/lib/logrotate.status
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service
+ install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer
+ [ -z "${LOGROTATE_OPTIONS}" ] ||
+ sed -ri \
+ -e 's|(ExecStart=.*/logrotate.*)$|\1 ${LOGROTATE_OPTIONS}|g' \
+ ${D}${systemd_system_unitdir}/logrotate.service
+ sed -ri \
+ -e 's|(OnCalendar=).*$|\1${LOGROTATE_SYSTEMD_TIMER_BASIS}|g' \
+ -e 's|(AccuracySec=).*$|\1${LOGROTATE_SYSTEMD_TIMER_ACCURACY}|g' \
+ -e 's|(Persistent=).*$|\1${LOGROTATE_SYSTEMD_TIMER_PERSISTENT}|g' \
+ ${D}${systemd_system_unitdir}/logrotate.timer
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ mkdir -p ${D}${sysconfdir}/cron.daily
+ install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
+ fi
+}
diff --git a/poky/meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch b/poky/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch
index 017575206..017575206 100644
--- a/poky/meta/recipes-extended/lsb/lsb/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch
+++ b/poky/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch
diff --git a/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb
new file mode 100644
index 000000000..52e30267f
--- /dev/null
+++ b/poky/meta/recipes-extended/lsb/lsb-release_1.4.bb
@@ -0,0 +1,36 @@
+SUMMARY = "lsb_release support for OpenEmbedded"
+SECTION = "console/utils"
+HOMEPAGE = "http://prdownloads.sourceforge.net/lsb"
+LICENSE = "GPLv2+"
+
+# lsb_release needs getopt
+RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_getopt}"
+
+LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \
+ file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \
+ "
+
+SRC_URI[md5sum] = "30537ef5a01e0ca94b7b8eb6a36bb1e4"
+SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/lsb/files/lsb_release/"
+UPSTREAM_CHECK_REGEX = "/lsb_release/(?P<pver>(\d+[\.\-_]*)+)/"
+
+CLEANBROKEN = "1"
+
+do_install() {
+ oe_runmake install prefix=${D}${root_prefix} mandir=${D}${datadir}/man/ DESTDIR=${D}
+
+ mkdir -p ${D}${sysconfdir}/lsb-release.d
+
+ echo "DISTRIB_ID=${DISTRO}" >> ${D}${sysconfdir}/lsb-release
+ echo "DISTRIB_RELEASE=${DISTRO_VERSION}" >> ${D}${sysconfdir}/lsb-release
+ if [ -n "${DISTRO_CODENAME}" ]; then
+ echo "DISTRIB_CODENAME=${DISTRO_CODENAME}" >> ${D}${sysconfdir}/lsb-release
+ fi
+ echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release
+}
+
+FILES_${PN} += "${base_libdir}"
diff --git a/poky/meta/recipes-extended/lsb/lsb/init-functions b/poky/meta/recipes-extended/lsb/lsb/init-functions
deleted file mode 100755
index 7c1dce24c..000000000
--- a/poky/meta/recipes-extended/lsb/lsb/init-functions
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-
-# LSB initscript functions, as defined in the LSB Spec 1.1.0
-#
-# Lawrence Lim <llim@core.com> - Tue, 26 June 2007
-# Updated to the latest LSB 3.1 spec
-# http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic_lines.txt
-
-start_daemon () {
- /etc/core-lsb/lsb_start_daemon "$@"
-}
-
-killproc () {
- /etc/core-lsb/lsb_killproc "$@"
-}
-
-pidofproc () {
- /etc/core-lsb/lsb_pidofproc "$@"
-}
-
-log_success_msg () {
- /etc/core-lsb/lsb_log_message success "$@"
-}
-
-log_failure_msg () {
- /etc/core-lsb/lsb_log_message failure "$@"
-}
-
-log_warning_msg () {
- /etc/core-lsb/lsb_log_message warning "$@"
-}
-
-# int log_begin_message (char *message)
-log_begin_msg () {
- if [ -z "$1" ]; then
- return 1
- fi
- echo " * $@"
-}
-
-
-log_end_msg () {
- /etc/core-lsb/lsb_log_message end "$@"
-}
diff --git a/poky/meta/recipes-extended/lsb/lsb/lsb_killproc b/poky/meta/recipes-extended/lsb/lsb/lsb_killproc
deleted file mode 100755
index 866c1a9c6..000000000
--- a/poky/meta/recipes-extended/lsb/lsb/lsb_killproc
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-. /etc/init.d/functions
-
-LSB=LSB-1.1 killproc $*
-exit $?
diff --git a/poky/meta/recipes-extended/lsb/lsb/lsb_log_message b/poky/meta/recipes-extended/lsb/lsb/lsb_log_message
deleted file mode 100755
index 10343b081..000000000
--- a/poky/meta/recipes-extended/lsb/lsb/lsb_log_message
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-. /etc/init.d/functions
-
-ACTION=$1
-shift
-
-case "$ACTION" in
- success)
- echo -n $*
- success "$*"
- echo
- ;;
- failure)
- echo -n $*
- failure "$*"
- echo
- ;;
- warning)
- echo -n $*
- warning "$*"
- echo
- ;;
- *)
- ;;
-esac
-exit 0
diff --git a/poky/meta/recipes-extended/lsb/lsb/lsb_pidofproc b/poky/meta/recipes-extended/lsb/lsb/lsb_pidofproc
deleted file mode 100755
index 6d1fd0f24..000000000
--- a/poky/meta/recipes-extended/lsb/lsb/lsb_pidofproc
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-. /etc/init.d/functions
-
-pidofproc $*
-exit $?
diff --git a/poky/meta/recipes-extended/lsb/lsb/lsb_start_daemon b/poky/meta/recipes-extended/lsb/lsb/lsb_start_daemon
deleted file mode 100755
index de62c2344..000000000
--- a/poky/meta/recipes-extended/lsb/lsb/lsb_start_daemon
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-
-. /etc/init.d/functions
-
-nice=
-force=
-pidfile=
-user=
-check=
-RETVAL=
-while [ "$1" != "${1##[-+]}" ]; do
- case $1 in
- -f)
- force="--force"
- shift
- ;;
- -n)
- nice=$2
- shift 2
- ;;
- -p)
- pidfile="--pidfile $2"
- shift 2
- ;;
- -u)
- user="--user $2"
- shift 2
- ;;
- -c)
- check="--check $2"
- shift 2
- ;;
- *)
- echo "Unknown Option $1"
- echo "Options are:"
- echo "-f"
- echo "-p {pidfile}"
- echo "-n [+/-nicelevel]"
- echo "-u {user}"
- echo "-c {base}"
- exit 1;;
- esac
-done
-LSB=LSB-1.1 daemon ${force:-} ${nice:-} ${pidfile:-} ${user:-} ${check:-} $*
-exit $?
diff --git a/poky/meta/recipes-extended/lsb/lsb_5.0.bb b/poky/meta/recipes-extended/lsb/lsb_5.0.bb
deleted file mode 100644
index d1de33400..000000000
--- a/poky/meta/recipes-extended/lsb/lsb_5.0.bb
+++ /dev/null
@@ -1,136 +0,0 @@
-SUMMARY = "LSB support for OpenEmbedded"
-SECTION = "console/utils"
-HOMEPAGE = "http://prdownloads.sourceforge.net/lsb"
-LICENSE = "GPLv2+"
-
-LSB_CORE = "lsb-core-${TARGET_ARCH}"
-LSB_CORE_x86 = "lsb-core-ia32"
-LSB_CORE_x86-64 = "lsb-core-amd64"
-RPROVIDES_${PN} += "${LSB_CORE}"
-
-# lsb_release needs getopt, lsbinitscripts
-RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_getopt} lsbinitscripts"
-
-LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \
- file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \
- file://init-functions \
- file://lsb_killproc \
- file://lsb_log_message \
- file://lsb_pidofproc \
- file://lsb_start_daemon \
- "
-UPSTREAM_VERSION_UNKNOWN = "1"
-
-SRC_URI[md5sum] = "30537ef5a01e0ca94b7b8eb6a36bb1e4"
-SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/lsb/files/lsb_release/"
-UPSTREAM_CHECK_REGEX = "/lsb_release/(?P<pver>(\d+[\.\-_]*)+)/"
-
-S = "${WORKDIR}/lsb-release-1.4"
-
-CLEANBROKEN = "1"
-
-do_install() {
- oe_runmake install prefix=${D}${root_prefix} mandir=${D}${datadir}/man/ DESTDIR=${D}
-
- # these two dirs are needed by package lsb-dist-checker
- mkdir -p ${D}${sysconfdir}/opt
- mkdir -p ${D}${localstatedir}/opt
-
- mkdir -p ${D}${base_libdir}
- mkdir -p ${D}${sysconfdir}/lsb-release.d
- printf "LSB_VERSION=\"core-5.0-noarch:" > ${D}${sysconfdir}/lsb-release
-
- if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ]; then
- printf "core-5.0-ia32" >> ${D}${sysconfdir}/lsb-release
- else
- printf "core-5.0-${TARGET_ARCH}" >> ${D}${sysconfdir}/lsb-release
- fi
- echo "\"" >> ${D}${sysconfdir}/lsb-release
- echo "DISTRIB_ID=${DISTRO}" >> ${D}${sysconfdir}/lsb-release
- echo "DISTRIB_RELEASE=${DISTRO_VERSION}" >> ${D}${sysconfdir}/lsb-release
- if [ -n "${DISTRO_CODENAME}" ]; then
- echo "DISTRIB_CODENAME=${DISTRO_CODENAME}" >> ${D}${sysconfdir}/lsb-release
- fi
- echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release
-
- if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ]; then
- mkdir -p ${D}${sysconfdir}/lsb-release.d
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch
- touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-noarch
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-ia32
- touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-ia32
- elif [ "${TARGET_ARCH}" = "x86_64" ]; then
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-amd64
- touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-amd64
- fi
- if [ "${TARGET_ARCH}" = "powerpc" ]; then
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-ppc32
- touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-ppc32
- elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-noarch
- touch ${D}${sysconfdir}/lsb-release.d/graphics-${PV}-ppc64
- touch ${D}${sysconfdir}/lsb-release.d/desktop-${PV}-ppc64
- fi
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/core-lsb
- for i in lsb_killproc lsb_log_message lsb_pidofproc lsb_start_daemon
- do
- install -m 0755 ${WORKDIR}/$i ${D}${sysconfdir}/core-lsb
- done
-
- install -d ${D}${nonarch_base_libdir}/lsb
- install -m 0755 ${WORKDIR}/init-functions ${D}${nonarch_base_libdir}/lsb
-
- # create links for LSB test
- if [ -e ${sbindir}/chkconfig ]; then
- if [ "${nonarch_base_libdir}" != "${nonarch_libdir}" ] ; then
- install -d ${D}${nonarch_libdir}/lsb
- fi
- ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/install_initd
- ln -sf ${sbindir}/chkconfig ${D}${nonarch_libdir}/lsb/remove_initd
- fi
-
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- # don't symlink if usrmerge is in DISTRO_FEATURES as it manages the symlink
- if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','false','true',d)} && \
- [ "${base_libdir}" != "${base_prefix}/lib64" ]; then
- lnr ${D}${base_libdir} ${D}${base_prefix}/lib64
- fi
- cd ${D}${base_libdir}
- ln -sf ld-linux-x86-64.so.2 ld-lsb-x86-64.so.2
- ln -sf ld-linux-x86-64.so.2 ld-lsb-x86-64.so.3
- fi
- if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ]; then
- cd ${D}${base_libdir}
- ln -sf ld-linux.so.2 ld-lsb.so.2
- ln -sf ld-linux.so.2 ld-lsb.so.3
- fi
-
- if [ "${TARGET_ARCH}" = "powerpc64" ]; then
- if [ "${base_libdir}" != "${base_prefix}/lib64" ]; then
- lnr ${D}${base_libdir} ${D}${base_prefix}/lib64
- fi
- cd ${D}${base_libdir}
- ln -sf ld64.so.1 ld-lsb-ppc64.so.2
- ln -sf ld64.so.1 ld-lsb-ppc64.so.3
- fi
- if [ "${TARGET_ARCH}" = "powerpc" ]; then
- cd ${D}${base_libdir}
- ln -sf ld.so.1 ld-lsb-ppc32.so.2
- ln -sf ld.so.1 ld-lsb-ppc32.so.3
- fi
-}
-
-FILES_${PN} += "${@'${base_prefix}/lib64' if d.getVar('TARGET_ARCH') == ('x86_64' or 'powerpc64') and '${base_libdir}' != '${base_prefix}/lib64' else ''} \
- ${base_libdir} \
- ${nonarch_libdir}/lsb \
- ${nonarch_base_libdir}/lsb/* \
- "
diff --git a/poky/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch b/poky/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch
deleted file mode 100644
index c0076453f..000000000
--- a/poky/meta/recipes-extended/lsb/lsbinitscripts/0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Upstream-Status: Pending
-
-Subject: functions: avoid exit 1 which causes init scripts to fail
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- rc.d/init.d/functions | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: initscripts-9.72/rc.d/init.d/functions
-===================================================================
---- initscripts-9.72.orig/rc.d/init.d/functions
-+++ initscripts-9.72/rc.d/init.d/functions
-@@ -686,6 +686,6 @@ if [ "$_use_systemctl" = "1" ]; then
- fi
- fi
-
--strstr "$(cat /proc/cmdline)" "rc.debug" && set -x
-+strstr "$(cat /proc/cmdline)" "rc.debug" && set -x || true
- return 0
-
diff --git a/poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch b/poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch
deleted file mode 100644
index e912daa70..000000000
--- a/poky/meta/recipes-extended/lsb/lsbinitscripts/functions.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From e46b056282c8420f096d5c34d78c00f816788784 Mon Sep 17 00:00:00 2001
-From: Fan Xin <fan.xin@jp.fujitsu.com>
-Date: Mon, 5 Jun 2017 16:26:47 +0900
-Subject: [PATCH 1/2] Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
-Rebase on 9.72
-
-Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
-Upstream-Status: Pending
-
----
- rc.d/init.d/functions | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions
-index 2e3da964..1a204dec 100644
---- a/rc.d/init.d/functions
-+++ b/rc.d/init.d/functions
-@@ -59,7 +59,7 @@ systemctl_redirect () {
- [ -z "${COLUMNS:-}" ] && COLUMNS=80
-
- if [ -z "${CONSOLETYPE:-}" ]; then
-- if [ -c "/dev/stderr" ] && [ -r "/dev/stderr" ]; then
-+ if [ -c "/dev/stderr" ] && [ -r "/dev/stderr" ] && [ -e /sbin/consoletype ]; then
- CONSOLETYPE="$(/sbin/consoletype < /dev/stderr 2>/dev/null)"
- else
- CONSOLETYPE="serial"
---
-2.15.1
-
diff --git a/poky/meta/recipes-extended/lsb/lsbinitscripts_9.79.bb b/poky/meta/recipes-extended/lsb/lsbinitscripts_9.79.bb
deleted file mode 100644
index 6d3fcf13d..000000000
--- a/poky/meta/recipes-extended/lsb/lsbinitscripts_9.79.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "SysV init scripts which are only used in an LSB image"
-HOMEPAGE = "https://wiki.debian.org/LSBInitScripts"
-SECTION = "base"
-LICENSE = "GPLv2"
-
-RPROVIDES_${PN} += "initd-functions"
-RDEPENDS_${PN} += "util-linux"
-RCONFLICTS_${PN} = "initscripts-functions"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=ebf4e8b49780ab187d51bd26aaa022c6"
-
-S = "${WORKDIR}/git"
-SRC_URI = "git://github.com/fedora-sysv/initscripts \
- file://functions.patch \
- file://0001-functions-avoid-exit-1-which-causes-init-scripts-to-.patch \
- "
-SRCREV = "a51c1b4f7dcf55b568b2ee4c2b18078849943469"
-UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)"
-
-SRC_URI[md5sum] = "d6c798f40dceb117e12126d94cb25a9a"
-SRC_URI[sha256sum] = "1793677bdd1f7ee4cb00878ce43346196374f848a4c8e4559e086040fc7487db"
-
-# Since we are only taking the patched version of functions, no need to
-# configure or compile anything so do not execute these
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install(){
- install -d ${D}${sysconfdir}/init.d/
- install -m 0644 ${S}/rc.d/init.d/functions ${D}${sysconfdir}/init.d/functions
-}
diff --git a/poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh b/poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh
deleted file mode 100644
index 073e247a5..000000000
--- a/poky/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh
+++ /dev/null
@@ -1,525 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2012 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 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-WORK_DIR="/opt/lsb-test"
-
-if [ `id -u` -ne 0 ]
-then
- cat << EOF
- In order to install and run LSB testsuite, you need administrator privileges.
- You are currently running this script as an unprivileged user.
-
-EOF
- exit 1
-fi
-
-ARCH=`uname -m`
-if [ ${ARCH} != "i686" ] && [ ${ARCH} != "x86_64" ] && [ ${ARCH} != "ppc" ] && [ ${ARCH} != "ppc64" ]
-then
- echo "Error: Unsupported architecture"
- exit 1
-fi
-
-which rpm
-if [ $? -ne 0 ]
-then
- echo "No rpm command found"
- exit 1
-fi
-
-RET=0
-
-cd ${WORK_DIR} || exit 1
-# Step 1: Download the LSB Packages
-echo ""
-echo "Download LSB packages..."
-echo ""
-
-if [ ! -e ./packages_list ]
-then
- echo "Error: Could not find packages list" >&2
- exit 1
-fi
-
-. ./packages_list
-
-PACKAGES_DIR="/var/opt/lsb/test/manager/packages/ftp.linuxfoundation.org/pub/lsb"
-
-BASE_PACKAGES_DIR="${PACKAGES_DIR}/base/released-all/binary"
-RUNTIME_BASE_PACKAGES_DIR="${PACKAGES_DIR}/test_suites/released-all/binary/runtime"
-RUNTIME_PACKAGES_DIR="${PACKAGES_DIR}/test_suites/${LSB_RELEASE}/binary/runtime"
-APP_PACKAGES_DIR="${PACKAGES_DIR}/app-battery/${LSB_RELEASE}/${LSB_ARCH}"
-APP_TESTFILES_DIR="${PACKAGES_DIR}/app-battery/tests"
-SNAPSHOTS_TESTFILES_DIR="${PACKAGES_DIR}/snapshots/appbat/tests"
-
-if [ ! -d ${PACKAGES_DIR} ]
-then
- mkdir -p ${PACKAGES_DIR}
-fi
-
-if [ ! -d ${BASE_PACKAGES_DIR} ]
-then
- mkdir -p ${BASE_PACKAGES_DIR}
-fi
-
-if [ ! -d ${RUNTIME_BASE_PACKAGES_DIR} ]
-then
- mkdir -p ${RUNTIME_BASE_PACKAGES_DIR}
-fi
-
-if [ ! -d ${RUNTIME_PACKAGES_DIR} ]
-then
- mkdir -p ${RUNTIME_PACKAGES_DIR}
-fi
-
-if [ ! -d ${APP_PACKAGES_DIR} ]
-then
- mkdir -p ${APP_PACKAGES_DIR}
-fi
-
-if [ ! -d ${APP_TESTFILES_DIR} ]
-then
- mkdir -p ${APP_TESTFILES_DIR}
-fi
-
-# Official download server list. You can replace them with your own server.
-SERVER_IPADDR="140.211.169.28"
-SERVER_NAME="ftp.linuxfoundation.org"
-
-if ! `grep -F -q "${SERVER_NAME}" /etc/hosts`; then
- echo "${SERVER_IPADDR} ${SERVER_NAME} ${SERVER_NAME}" >> /etc/hosts
-fi
-
-#ping -c 5 ${SERVER_NAME}
-#if [ $? -ne 0 ]
-#then
-# echo "The server: ${SERVER_NAME} is unreachable"
-# exit 1
-#fi
-
-SERVER1="\
- http://${SERVER_NAME}/pub/lsb/base/released-all/binary"
-SERVER2="\
- http://${SERVER_NAME}/pub/lsb/test_suites/released-all/binary/runtime"
-SERVER3="\
- http://${SERVER_NAME}/pub/lsb/test_suites/${LSB_RELEASE}/binary/runtime"
-SERVER4="\
- http://${SERVER_NAME}/pub/lsb/app-battery/${LSB_RELEASE}/${LSB_ARCH}"
-SERVER5="\
- http://${SERVER_NAME}/pub/lsb/app-battery/tests"
-
-# We using "curl" as a download tool, "wget" is an alternative.
-CURL=`which curl`
-WGET=`which wget`
-if [ ! -z ${CURL} ]
-then
- DOWNLOAD_CMD="${CURL} -R -L -f --retry 3 --retry-delay 4 --connect-timeout 180 --compressed -C - -o"
-elif [ ! -z ${WGET} ]
-then
- DOWNLOAD_CMD="${WGET} -c -t 5 -O"
-else
- echo "Can not find a download tool, please install curl or wget."
- exit 1
-fi
-
-cd ${BASE_PACKAGES_DIR}
-for pkg in ${BASE_PACKAGES_LIST}; do
- if [ ! -f ${pkg} ]
- then
- #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER1}/${pkg} > /dev/null 2>&1
- ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER1}/${pkg}
- if [ $? -eq 0 ]
- then
- mv -f ${pkg}".#part" ${pkg}
- echo "Download ${pkg} successfully."
- else
- echo "Download ${pkg} failed."
- RET=1
- fi
- fi
-done
-
-cd ${RUNTIME_BASE_PACKAGES_DIR}
-for pkg in ${RUNTIME_BASE_PACKAGES_LIST}; do
- if [ ! -f ${pkg} ]
- then
- #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER2}/${pkg} > /dev/null 2>&1
- ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER2}/${pkg}
- if [ $? -eq 0 ]
- then
- mv -f ${pkg}".#part" ${pkg}
- echo "Download ${pkg} successfully."
- else
- echo "Download ${pkg} failed."
- RET=1
- fi
- fi
-done
-
-cd ${RUNTIME_PACKAGES_DIR}
-for pkg in ${RUNTIME_PACKAGES_LIST}; do
- if [ ! -f ${pkg} ]
- then
- #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER3}/${pkg} > /dev/null 2>&1
- ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER3}/${pkg}
- if [ $? -eq 0 ]
- then
- mv -f ${pkg}".#part" ${pkg}
- echo "Download ${pkg} successfully."
- else
- echo "Download ${pkg} failed."
- RET=1
- fi
- fi
-done
-
-cd ${APP_PACKAGES_DIR}
-for pkg in ${APP_PACKAGES_LIST}; do
- if [ ! -f ${pkg} ]
- then
- #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER4}/${pkg} > /dev/null 2>&1
- ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER4}/${pkg}
- if [ $? -eq 0 ]
- then
- mv -f ${pkg}".#part" ${pkg}
- echo "Download ${pkg} successfully."
- else
- echo "Download ${pkg} failed."
- RET=1
- fi
- fi
-done
-
-cd ${APP_TESTFILES_DIR}
-for pkg in ${APP_TESTFILES_LIST}; do
- if [ ! -f ${pkg} ]
- then
- #${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER5}/${pkg} > /dev/null 2>&1
- ${DOWNLOAD_CMD} ${pkg}".#part" ${SERVER5}/${pkg}
- if [ $? -eq 0 ]
- then
- mv -f ${pkg}".#part" ${pkg}
- echo "Download ${pkg} successfully."
- else
- echo "Download ${pkg} failed."
- RET=1
- fi
- fi
-done
-
-if [ ${RET} -ne 0 ]
-then
- echo "Download some packages failed. Please download them again."
- exit 1
-fi
-
-# Step 2: Install the LSB Packages
-echo ""
-echo "Install LSB packages..."
-echo ""
-
-# Kill lighttpd
-ps aux | grep "lighttpd" | grep -v -q "grep"
-if [ $? -eq 0 ]
-then
- killall lighttpd >/dev/null 2>&1
-fi
-
-# Start avahi-daemon
-ps aux | grep "avahi-daemon" | grep -v -q "grep"
-if [ $? -ne 0 ]
-then
- /etc/init.d/avahi-daemon start >/dev/null 2>&1
-fi
-
-LSB_START_CMD="/opt/lsb/test/manager/bin/dist-checker-start.pl"
-LSB_STOP_CMD="/opt/lsb/test/manager/bin/dist-checker-stop.pl"
-
-PLATFORM_FILE="/etc/rpm/platform"
-
-RPM_INSTALL_CMD="rpm --quiet --nodeps --replacepkgs --nosignature -i --ignoreos"
-RPM_INSTALL_CMD_NOSCRIPTS="rpm --quiet --nodeps --replacepkgs --noscripts --nosignature -i --ignoreos"
-
-# If the lsb has been started, stop it first.
-if [ -x ${LSB_STOP_CMD} ]
-then
- ${LSB_STOP_CMD}
-fi
-
-if [ ! -d /etc/rpm ]
-then
- mkdir -p /etc/rpm
-fi
-
-if [ ! -f ${PLATFORM_FILE} ]
-then
- touch ${PLATFORM_FILE}
-fi
-
-if ! `grep -F -q "noarch-suse" ${PLATFORM_FILE}`; then
- if [ ${ARCH} = i686 ];then
- echo "i486-suse" >> ${PLATFORM_FILE}
- echo "i486-noarch" >> ${PLATFORM_FILE}
- echo "i486-pc" >> ${PLATFORM_FILE}
- echo "noarch-suse" >> ${PLATFORM_FILE}
- elif [ ${ARCH} = x86_64 ]; then
- echo "i486-suse" >> ${PLATFORM_FILE}
- echo "i486-noarch" >> ${PLATFORM_FILE}
- echo "i486-pc" >> ${PLATFORM_FILE}
- echo "i486-.*-linux.*" >> ${PLATFORM_FILE}
- echo "noarch-suse" >> ${PLATFORM_FILE}
- echo "${ARCH}-suse" >> ${PLATFORM_FILE}
- echo "${ARCH}-noarch" >> ${PLATFORM_FILE}
- echo "${ARCH}-pc" >> ${PLATFORM_FILE}
- else
- echo "${ARCH}-suse" >> ${PLATFORM_FILE}
- echo "${ARCH}-noarch" >> ${PLATFORM_FILE}
- echo "${ARCH}-pc" >> ${PLATFORM_FILE}
- echo "noarch-suse" >> ${PLATFORM_FILE}
- fi
-fi
-
-if [ -d ${BASE_PACKAGES_DIR} ]
-then
- cd ${BASE_PACKAGES_DIR}
- for pkg in ${BASE_PACKAGES_LIST}
- do
- rpm --quiet -q ${pkg%\.*}
- if [ $? -ne 0 ]; then
- $RPM_INSTALL_CMD ${pkg}
- fi
- done
-fi
-
-if [ -d ${RUNTIME_BASE_PACKAGES_DIR} ]
-then
- cd ${RUNTIME_BASE_PACKAGES_DIR}
- for pkg in ${RUNTIME_BASE_PACKAGES_LIST}
- do
- rpm --quiet -q ${pkg%\.*}
- if [ $? -ne 0 ]; then
- $RPM_INSTALL_CMD ${pkg}
- fi
- done
-fi
-
-if [ -d ${RUNTIME_PACKAGES_DIR} ]
-then
- cd ${RUNTIME_PACKAGES_DIR}
- for pkg in ${RUNTIME_PACKAGES_LIST}
- do
- rpm --quiet -q ${pkg%\.*}
- if [ $? -ne 0 ]; then
- $RPM_INSTALL_CMD ${pkg}
- fi
- done
-fi
-
-if [ -d ${APP_PACKAGES_DIR} ]
-then
- cd ${APP_PACKAGES_DIR}
- for pkg in ${APP_PACKAGES_LIST}
- do
- echo "${pkg}" | grep -q "apache\|xpdf"
- if [ $? -eq 0 ]
- then
- rpm --quiet -q ${pkg%\.*}
- if [ $? -ne 0 ]; then
- $RPM_INSTALL_CMD_NOSCRIPTS ${pkg}
- fi
- else
- rpm --quiet -q ${pkg%\.*}
- if [ $? -ne 0 ]; then
- $RPM_INSTALL_CMD ${pkg}
- fi
- fi
- done
-fi
-
-if [ ! -d ${SNAPSHOTS_TESTFILES_DIR} ]
-then
- mkdir -p ${SNAPSHOTS_TESTFILES_DIR}
-fi
-
-if [ -d ${APP_TESTFILES_DIR} ]
-then
- cd ${APP_TESTFILES_DIR}
- for pkg in ${APP_TESTFILES_LIST}
- do
- cp -f ${pkg} ${SNAPSHOTS_TESTFILES_DIR}
- done
-fi
-
-cd ${WORK_DIR}
-
-# Step 3: Set environment
-echo ""
-echo "Set environment..."
-echo ""
-
-check ()
-{
- if [ $? -eq 0 ]
- then
- echo "PASS"
- else
- echo "FAIL"
- exit 1
- fi
-}
-
-echo ""
-echo "---------------------------------"
-echo "Create the Dirnames on target"
-
-if [ ! -d /etc/rpm/sysinfo ]
-then
- mkdir -p /etc/rpm/sysinfo
-fi
-
-cat > /etc/rpm/sysinfo/Dirnames << EOF
-/etc/opt/lsb
-/home/tet/LSB.tools
-/opt/lsb-tet3-lite/lib/ksh
-/opt/lsb-tet3-lite/lib/perl
-/opt/lsb-tet3-lite/lib/posix_sh
-/opt/lsb-tet3-lite/lib/tet3
-/opt/lsb-tet3-lite/lib/xpg3sh
-/opt/lsb/appbat/lib/python2.4/site-packages/qm
-/opt/lsb/appbat/lib/python2.4/site-packages/qm/external
-/opt/lsb/appbat/lib/python2.4/site-packages/qm/external/DocumentTemplate
-/opt/lsb/appbat/lib/python2.4/site-packages/qm/test
-/opt/lsb/appbat/lib/python2.4/site-packages/qm/test/classes
-/opt/lsb/appbat/lib/python2.4/site-packages/qm/test/web
-/opt/lsb/test/doc
-/opt/lsb/test/lib
-/opt/lsb/test/qm/diagnostics
-/opt/lsb/test/qm/doc
-/opt/lsb/test/qm/doc/test/html
-/opt/lsb/test/qm/doc/test/print
-/opt/lsb/test/qm/dtml
-/opt/lsb/test/qm/dtml/test
-/opt/lsb/test/qm/messages/test
-/opt/lsb/test/qm/tutorial/test/tdb
-/opt/lsb/test/qm/tutorial/test/tdb/QMTest
-/opt/lsb/test/qm/web
-/opt/lsb/test/qm/web/images
-/opt/lsb/test/qm/web/stylesheets
-/opt/lsb/test/qm/xml
-/opt/lsb/test/share
-/usr/share/doc/lsb-runtime-test
-/var/opt/lsb
-/opt/lsb/test/desktop
-/opt/lsb/test/desktop/fontconfig
-/opt/lsb/test/desktop/freetype
-/opt/lsb/test/desktop/gtkvts
-/opt/lsb/test/desktop/libpng
-/opt/lsb/test/desktop/xft
-/opt/lsb/test/desktop/xml
-/opt/lsb/test/desktop/xrender
-
-
-EOF
-
-if [ -f /etc/rpm/sysinfo/Dirnames ]
-then
- echo "Success to creat Dirnames file"
-else
- echo "Fail to creat Dirnames file"
-fi
-
-[ -x /sbin/ldconfig ] && {
-echo ""
-echo "---------------------------------"
-echo "Update cache"
-/sbin/ldconfig
-check;
-}
-
-# Check loop device
-if [ ! -b /dev/loop0 ]
-then
- insmod /lib/modules/`uname -r`/kernel/drivers/block/loop.ko
- if [ $? != 0 ];then
- echo "Insmod loop.ko failed."
- fi
-fi
-
-# Resolve localhost
-LOCALHOST=`hostname`
-if ! `grep -F -q "$LOCALHOST" /etc/hosts`; then
- echo "127.0.0.1 $LOCALHOST" >> /etc/hosts
-fi
-
-# Workaround to add part of locales for LSB test
-localedef -i de_DE -f ISO-8859-1 de_DE
-localedef -i de_DE -f ISO-8859-15 de_DE.ISO-8859-15
-localedef -i de_DE -f UTF-8 de_DE.UTF-8
-localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
-localedef -i en_HK -f ISO-8859-1 en_HK
-localedef -i en_PH -f ISO-8859-1 en_PH
-localedef -i en_US -f ISO-8859-15 en_US.ISO-8859-15
-localedef -i en_US -f ISO-8859-1 en_US.ISO-8859-1
-localedef -i en_US -f ISO-8859-1 en_US
-localedef -i en_US -f UTF-8 en_US.UTF-8
-localedef -i en_US -f ISO-8859-1 en_US.ISO8859-1
-localedef -i es_MX -f ISO-8859-1 es_MX
-localedef -i fr_FR -f ISO-8859-1 fr_FR
-localedef -i it_IT -f ISO-8859-1 it_IT
-localedef -i ja_JP -f EUC-JP ja_JP.eucjp
-localedef -i se_NO -f UTF-8 se_NO.UTF-8
-localedef -i ta_IN -f UTF-8 ta_IN
-localedef -i es_ES -f ISO-8859-1 es_ES
-localedef -i fr_FR@euro -f ISO-8859-1 fr_FR@euro
-localedef -i is_IS -f UTF-8 is_IS.UTF-8
-localedef -i zh_TW -f BIG5 zh_TW.BIG5
-localedef -i en_US -f ISO-8859-15 en_US.ISO-8859-15
-
-echo ""
-echo "Installation done!"
-echo ""
-
-# Step 4: Start LSB test
-if [ -x ${LSB_START_CMD} ]
-then
- ${LSB_START_CMD}
-fi
-
-echo "---------------------------------"
-echo "Run all the certification version of LSB Tests"
-echo "---------------------------------"
-
-LSB_DIST_CHECKER="/opt/lsb/test/manager/utils/dist-checker.pl"
-SESSION="${WORK_DIR}/session"
-if [ ! -e ${SESSION} ]
-then
- echo "Error: Could not find session file."
- echo "You must run LSB test from webbrower."
- exit 1
-fi
-
-if [ -x ${LSB_DIST_CHECKER} ]
-then
- ${LSB_DIST_CHECKER} -v2 -f ${SESSION}
- check
-fi
-
-echo ""
-echo "LSB test complete. Please check the log file in /var/opt/lsb/test/manager/results/"
-echo ""
-
diff --git a/poky/meta/recipes-extended/lsb/lsbtest/packages_list b/poky/meta/recipes-extended/lsb/lsbtest/packages_list
deleted file mode 100644
index 1a6c11699..000000000
--- a/poky/meta/recipes-extended/lsb/lsbtest/packages_list
+++ /dev/null
@@ -1,49 +0,0 @@
-LSB_RELEASE="released-5.0"
-LSB_ARCH="lsbarch"
-
-BASE_PACKAGES_LIST="lsb-setup-5.0.0-2.noarch.rpm"
-
-RUNTIME_BASE_PACKAGES_LIST="lsb-dist-checker-5.0.0.1-1.targetarch.rpm \
- lsb-tet3-lite-3.7-27.lsb5.targetarch.rpm \
- lsb-tet3-lite-devel-3.7-27.lsb5.targetarch.rpm \
- lsb-xvfb-1.2.0-22.targetarch.rpm \
- "
-
-RUNTIME_PACKAGES_LIST="lsb-cmdchk-5.0.3-1.targetarch.rpm \
- lsb-libchk-5.0.3-1.targetarch.rpm \
- lsb-qm-2.2-1.lsb5.targetarch.rpm \
- lsb-task-dist-testkit-5.0.0-2.noarch.rpm \
- lsb-test-core-5.0.1-1.targetarch.rpm \
- lsb-test-cpp-t2c-5.0.0-1.targetarch.rpm \
- lsb-test-desktop-5.0.0-1.targetarch.rpm \
- lsb-test-desktop-t2c-5.0.0-1.targetarch.rpm \
- lsb-test-libstdcpp-4.1.0-22.lsb1.targetarch.rpm \
- lsb-test-olver-core-5.0.0-1.targetarch.rpm \
- lsb-test-perl-5.0.2-1.noarch.rpm \
- lsb-test-printing-5.0.1-1.targetarch.rpm \
- lsb-test-python-5.0.0-1.targetarch.rpm \
- lsb-test-qt4-azov-5.0.0-1.targetarch.rpm \
- lsb-test-xts5-5.1.5-47.lsb5.targetarch.rpm \
- lsb-test-alsa-t2c-5.1.91-4.targetarch.rpm \
- lsb-test-core-t2c-5.0.1-1.targetarch.rpm \
- lsb-test-xml2-azov-5.0.0-1.targetarch.rpm \
- "
-
-APP_PACKAGES_LIST="lsb-python-2.4.6-10.lsb5.targetarch.rpm \
- lsb-apache-2.2.19-5.lsb5.targetarch.rpm \
- lsb-tcl-8.5.9-21.lsb5.targetarch.rpm \
- lsb-expect-5.43.0-21.lsb5.targetarch.rpm \
- lsb-groff-1.20.1-9.lsb5.targetarch.rpm \
- lsb-raptor-1.4.21-4.lsb5.targetarch.rpm \
- lsb-xpdf-1.01-17.lsb5.targetarch.rpm \
- lsb-samba-3.5.9-5.lsb5.targetarch.rpm \
- lsb-rsync-3.0.8-3.lsb5.targetarch.rpm \
- "
-
-APP_TESTFILES_LIST="expect-tests.tar \
- tcl-tests.tar \
- raptor-tests.tar \
- test1.pdf \
- test2.pdf \
- "
-
diff --git a/poky/meta/recipes-extended/lsb/lsbtest/session b/poky/meta/recipes-extended/lsb/lsbtest/session
deleted file mode 100644
index 4d47e40f7..000000000
--- a/poky/meta/recipes-extended/lsb/lsbtest/session
+++ /dev/null
@@ -1,176 +0,0 @@
-[GENERAL]
-VERBOSE_LEVEL: 1
-ARCHITECTURE: targetarch
-USE_INTERNET: 1
-STD_VERSION: LSB 5.0
-STD_PROFILE: no
-[cmdchk]
-RUN: 1
-VERSION: local|*
-
-[libchk]
-RUN: 1
-VERSION: local|*
-
-[alsa-t2c]
-RUN: 1
-VERSION: local|*
-
-[alsa-t2c|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/alsa-t2c
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/alsa-t2c/results
-
-[core]
-RUN: 1
-VERSION: local|*
-
-[core|local|*]
-AUTOREPLY_PROVIDES_BASH: n
-AUTOREPLY_TESTRUN_PATH: /home/tet/test_sets
-AUTOREPLY_PERSON: Automated
-AUTOREPLY_KERNEL_NAME: vmlinuz
-AUTOREPLY_INSTALL_LSBPAM_CONF: y
-AUTOREPLY_PROVIDES_C_SHELL: n
-AUTOREPLY_ORGANISATION: N/A
-AUTOREPLY_SET_PASS_MIN_DAYS: y
-AUTOREPLY_PROVIDES_SYSV_INIT:
-AUTOREPLY_ISNTALL_DEVS: y
-AUTOREPLY_SUPPORTS_FILE_CMD: y
-AUTOREPLY_TEST_SYSTEM: Distribution Checker
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/core/tet/test_sets
-AUTOREPLY_SUPPORTS_NLS: n
-AUTOREPLY_SUPPORTS_PROCESS_ACCOUNTING: n
-AUTOREPLY_PATH_TO_RC.D:
-AUTOREPLY_ALLOWS_MAKEDEV: n
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/core/tet/test_sets/results
-
-[core-t2c]
-RUN: 1
-VERSION: local|*
-
-[core-t2c|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/core-t2c
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/core-t2c/results
-
-[cpp-t2c]
-RUN: 1
-VERSION: local|*
-
-[cpp-t2c|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/cpp-t2c
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/cpp-t2c/results
-
-[desktop]
-RUN: 1
-VERSION: local|*
-
-[desktop|local|*]
-AUTOREPLY_DESKTOP_ENVIRONMENT: [default]
-AUTOREPLY_PERSON: Automated
-AUTOREPLY_X_CLIENT_HOSTNAME:
-AUTOREPLY_TEST_SYSTEM: Distribution Checker
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/desktop
-AUTOREPLY_X11_FONT_PATH: [default]
-AUTOREPLY_SHOW_SUMMARY_REPORT:
-AUTOREPLY_ORGANISATION: N/A
-AUTOREPLY_XVFB_DISPLAY: [default]
-
-[desktop-t2c]
-RUN: 1
-VERSION: local|*
-
-[desktop-t2c|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/desktop-t2c
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/desktop-t2c/results
-
-[libstdcpp]
-RUN: 1
-VERSION: local|*
-
-[libstdcpp|local|*]
-AUTOREPLY_TEST_SYSTEM: Distribution Checker
-AUTOREPLY_PERSON: Automated
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/libstdcpp_4.1.0
-AUTOREPLY_ORGANISATION: N/A
-AUTOREPLY_GNU_TRIPLET:
-
-[olver]
-RUN: 1
-VERSION: local|*
-
-[olver|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/olver-core
-AUTOREPLY_RESULTS_DIR: /var/opt/lsb/test/olver-core
-
-[perl]
-RUN: 1
-VERSION: local|*
-
-[perl|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/perl
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/perl/results
-
-[printing]
-RUN: 1
-VERSION: local|*
-
-[printing|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/printing
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/printing/results
-
-[python]
-RUN: 1
-VERSION: local|*
-
-[python|local|*]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/python
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/python/results
-
-[xml2-azov]
-RUN: 1
-VERSION: local|*
-
-[xts5]
-RUN: 1
-VERSION: local|*
-
-[xts5|local|*]
-AUTOREPLY_XT_FONTPATH_GOOD: [default]
-AUTOREPLY_TESTSUITE_DIR: /opt/lsb/test/xts5
-AUTOREPLY_XVFB_DISPLAY: [default]
-AUTOREPLY_RESULTS_DIR: /opt/lsb/test/xts5/xts5/results
-AUTOREPLY_XT_FONTPATH: [default]
-AUTOREPLY_X_CLIENT_HOSTNAME:
-
-[apache]
-RUN: 1
-VERSION: local|*
-
-[expect]
-RUN: 1
-VERSION: local|*
-
-[groff]
-RUN: 1
-VERSION: local|*
-
-[raptor]
-RUN: 1
-VERSION: local|*
-
-[rsync]
-RUN: 1
-VERSION: local|*
-
-[samba]
-RUN: 1
-VERSION: local|*
-
-[tcl]
-RUN: 1
-VERSION: local|*
-
-[xpdf]
-RUN: 1
-VERSION: local|*
-
diff --git a/poky/meta/recipes-extended/lsb/lsbtest_1.0.bb b/poky/meta/recipes-extended/lsb/lsbtest_1.0.bb
deleted file mode 100644
index a90c023d5..000000000
--- a/poky/meta/recipes-extended/lsb/lsbtest_1.0.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Automates Linux Standard Base (LSB) tests"
-HOMEPAGE = "https://wiki.debian.org/LSBInitScripts"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-PR = "r3"
-
-LIC_FILES_CHKSUM = "file://LSB_Test.sh;beginline=3;endline=16;md5=7063bb54b04719df0716b513447f4fc0"
-
-SRC_URI = "file://LSB_Test.sh \
- file://packages_list \
- file://session \
- "
-RDEPENDS_${PN} = "lsb rpm"
-
-S = "${WORKDIR}"
-
-do_install() {
- install -d ${D}/opt/lsb-test
- install -m 0755 ${S}/LSB_Test.sh ${D}/opt/lsb-test/LSB_Test.sh
- install -m 0644 ${S}/packages_list ${D}/opt/lsb-test/packages_list
- install -m 0644 ${S}/session ${D}/opt/lsb-test/session
- if [ "${TARGET_ARCH}" = "i586" ] || [ "${TARGET_ARCH}" = "i686" ];then
- sed -i -e 's/lsbarch/ia32/g' -e 's/targetarch/i486/g' ${D}/opt/lsb-test/packages_list
- sed -i -e 's/targetarch/x86/g' ${D}/opt/lsb-test/session
- fi
- if [ "${TARGET_ARCH}" = "x86_64" ];then
- sed -i -e 's/lsbarch/amd64/g' -e 's/targetarch/x86_64/g' ${D}/opt/lsb-test/packages_list
- sed -i -e 's/targetarch/x86-64/g' ${D}/opt/lsb-test/session
- fi
- if [ "${TARGET_ARCH}" = "powerpc" ];then
- sed -i -e 's/lsbarch/ppc32/g' -e 's/targetarch/ppc/g' ${D}/opt/lsb-test/packages_list
- sed -i -e 's/targetarch/PPC32/g' ${D}/opt/lsb-test/session
- fi
-
- # For a ppc64 target. the default userspace is 32b.
- # Therefore, only change the lsbarch and targetarch
- # in the package_list when MLIB=lib64 is being used.
- # Otherwise, by default, the ppc32 LSB packages
- # will be downloaded by LSB_Test.sh
- if [ "${TARGET_ARCH}" = "powerpc64" ];then
- if [ "${PN}" != "${BPN}" ];then
- sed -i -e 's/lsbarch/ppc64/g' -e 's/targetarch/ppc64/g' ${D}/opt/lsb-test/packages_list
- sed -i -e 's/targetarch/PPC64/g' ${D}/opt/lsb-test/session
- fi
- fi
-}
-
-FILES_${PN} += "/opt/lsb-test/* \
- "
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch b/poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
new file mode 100644
index 000000000..bfceadb19
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-Add-configure-time-check-for-getdents-getdents64-API.patch
@@ -0,0 +1,72 @@
+From 404dfeb4faef213b0450f173b60cd7080edec349 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 26 Jul 2019 10:32:29 -0700
+Subject: [PATCH 1/2] Add configure time check for getdents/getdents64 APIs
+
+glibc 2.30 has added wrapper for getdents64 this will help in detecting
+right condition to use fallback
+
+Check for getdents API as well while here
+
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-July/012954.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 ++
+ testcases/kernel/syscalls/getdents/getdents.h | 8 ++++++--
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -65,6 +65,8 @@ AC_CHECK_FUNCS([ \
+ fallocate \
+ fchownat \
+ fstatat \
++ getdents \
++ getdents64 \
+ kcmp \
+ mkdirat \
+ mknodat \
+--- a/testcases/kernel/syscalls/getdents/getdents.h
++++ b/testcases/kernel/syscalls/getdents/getdents.h
+@@ -23,7 +23,7 @@
+ #include <stdint.h>
+ #include "test.h"
+ #include "lapi/syscalls.h"
+-
++#include "config.h"
+ /*
+ * See fs/compat.c struct compat_linux_dirent
+ */
+@@ -34,12 +34,17 @@ struct linux_dirent {
+ char d_name[];
+ };
+
++#if HAVE_GETDENTS
++#include <unistd.h>
++#else
+ static inline int
+ getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int size)
+ {
+ return ltp_syscall(__NR_getdents, fd, dirp, size);
+ }
+
++#endif /* HAVE_GETDENTS */
++
+ struct linux_dirent64 {
+ uint64_t d_ino;
+ int64_t d_off;
+@@ -48,10 +53,13 @@ struct linux_dirent64 {
+ char d_name[];
+ };
+
++#if HAVE_GETDENTS64
++#include <unistd.h>
++#else
+ static inline int
+ getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned int size)
+ {
+ return ltp_syscall(__NR_getdents64, fd, dirp64, size);
+ }
+-
++#endif /* HAVE_GETDENTS64 */
+ #endif /* GETDENTS_H */
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch b/poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
new file mode 100644
index 000000000..b5c25c56a
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
@@ -0,0 +1,149 @@
+From ec282980e6eee96f5b74aba464141f86049263e6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Jan 2016 18:19:03 +0000
+Subject: [PATCH] build: Add option to select libc implementation
+
+There are more than glibc for C library implementation available on
+linux now a days, uclibc cloaked like glibc but musl e.g. is very
+different and does not implement all GNU extentions
+
+Disable tests specifically not building _yet_ on musl based systems
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 5 +++++
+ testcases/kernel/Makefile | 5 ++++-
+ testcases/kernel/sched/Makefile | 4 +++-
+ testcases/kernel/syscalls/Makefile | 5 +++++
+ testcases/network/nfsv4/acl/Makefile | 4 ++++
+ testcases/network/rpc/basic_tests/Makefile | 5 +++++
+ testcases/realtime/func/pi-tests/Makefile | 4 ++++
+ testcases/realtime/stress/pi-tests/Makefile | 5 +++++
+ 8 files changed, 35 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 768ca46..e9d679a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -41,6 +41,11 @@ vpath %.mk $(top_srcdir)/mk:$(top_srcdir)/mk/include
+ UCLINUX ?= 0
+ export UCLINUX
+
++# System C library implementation (glibc,uclibc,musl etc.)
++# default to glibc if not set
++LIBC ?= glibc
++export LIBC
++
+ # CLEAN_TARGETS: Targets which exist solely in clean.
+ # COMMON_TARGETS: Targets which exist in all, clean, and install.
+ # INSTALL_TARGETS: Targets which exist in clean and install (contains
+diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
+index 39d79c7..24a57d9 100644
+--- a/testcases/kernel/Makefile
++++ b/testcases/kernel/Makefile
+@@ -49,12 +49,15 @@ SUBDIRS += connectors \
+ logging \
+ mem \
+ numa \
+- pty \
+ sched \
+ security \
+ timers \
+ tracing \
+
++ifneq ($(LIBC),musl)
++SUBDIRS += pty
++endif
++
+ ifeq ($(WITH_POWER_MANAGEMENT_TESTSUITE),yes)
+ SUBDIRS += power_management
+ endif
+diff --git a/testcases/kernel/sched/Makefile b/testcases/kernel/sched/Makefile
+index 6a57d79..74bb933 100644
+--- a/testcases/kernel/sched/Makefile
++++ b/testcases/kernel/sched/Makefile
+@@ -23,5 +23,7 @@
+ top_srcdir ?= ../../..
+
+ include $(top_srcdir)/include/mk/env_pre.mk
+-
++ifeq ($(LIBC),musl)
++ FILTER_OUT_DIRS += process_stress
++endif
+ include $(top_srcdir)/include/mk/generic_trunk_target.mk
+diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile
+index 45a00cf..d1becd0 100644
+--- a/testcases/kernel/syscalls/Makefile
++++ b/testcases/kernel/syscalls/Makefile
+@@ -28,6 +28,11 @@ ifeq ($(UCLINUX),1)
+ FILTER_OUT_DIRS += capget capset chmod chown clone fork getcontext llseek \
+ mincore mprotect nftw profil remap_file_pages sbrk
+ endif
++ifeq ($(LIBC),musl)
++FILTER_OUT_DIRS += confstr fmtmsg getcontext ioctl mallopt profil \
++ rt_sigsuspend setdomainname sethostname sigsuspend \
++ ustat
++endif
+
+ ifeq ($(UCLIBC),1)
+ FILTER_OUT_DIRS += profil
+diff --git a/testcases/network/nfsv4/acl/Makefile b/testcases/network/nfsv4/acl/Makefile
+index 8c55a6b..f7cda62 100644
+--- a/testcases/network/nfsv4/acl/Makefile
++++ b/testcases/network/nfsv4/acl/Makefile
+@@ -26,4 +26,8 @@ include $(top_srcdir)/include/mk/env_pre.mk
+
+ LDLIBS += $(ACL_LIBS)
+
++ifeq ($(LIBC),musl)
++FILTER_OUT_MAKE_TARGETS := acl1
++endif
++
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/testcases/network/rpc/basic_tests/Makefile b/testcases/network/rpc/basic_tests/Makefile
+index 66e9d56..ea8eb8a 100644
+--- a/testcases/network/rpc/basic_tests/Makefile
++++ b/testcases/network/rpc/basic_tests/Makefile
+@@ -23,4 +23,9 @@
+ top_srcdir ?= ../../../..
+
+ include $(top_srcdir)/include/mk/env_pre.mk
++
++ifeq ($(LIBC),musl)
++FILTER_OUT_DIRS += rpc01
++endif
++
+ include $(top_srcdir)/include/mk/generic_trunk_target.mk
+diff --git a/testcases/realtime/func/pi-tests/Makefile b/testcases/realtime/func/pi-tests/Makefile
+index 68616a7..748754b 100644
+--- a/testcases/realtime/func/pi-tests/Makefile
++++ b/testcases/realtime/func/pi-tests/Makefile
+@@ -27,5 +27,9 @@ include $(top_srcdir)/include/mk/env_pre.mk
+ include $(abs_srcdir)/../../config.mk
+
+ MAKE_TARGETS := testpi-0 testpi-1 testpi-2 testpi-4 testpi-5 testpi-6 testpi-7 sbrk_mutex
++ifeq ($(LIBC),musl)
++FILTER_OUT_MAKE_TARGETS := testpi-5 testpi-6 sbrk_mutex
++endif
++
+
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+diff --git a/testcases/realtime/stress/pi-tests/Makefile b/testcases/realtime/stress/pi-tests/Makefile
+index 1881f75..266e0b8 100644
+--- a/testcases/realtime/stress/pi-tests/Makefile
++++ b/testcases/realtime/stress/pi-tests/Makefile
+@@ -24,4 +24,9 @@ top_srcdir ?= ../../../..
+
+ include $(top_srcdir)/include/mk/env_pre.mk
+ include $(abs_srcdir)/../../config.mk
++
++ifeq ($(LIBC),musl)
++FILTER_OUT_MAKE_TARGETS := testpi-3
++endif
++
+ include $(top_srcdir)/include/mk/generic_leaf_target.mk
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch b/poky/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
new file mode 100644
index 000000000..cc4008130
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch
@@ -0,0 +1,64 @@
+From e3a8502d0a4f8a44ddd02ca4b2efc097133fb9f7 Mon Sep 17 00:00:00 2001
+From: Mathias Fiedler <mathias.fiedler@aox-tech.de>
+Date: Fri, 23 Aug 2019 12:46:48 +0200
+Subject: [PATCH] cve-2017-17052: Avoid unsafe exits in threads
+
+According to manpage exit(3) calling exit is not thread-safe.
+And with glibc 2.28 (and probably also with glibc >=2.27) sometimes
+child processes created in fork_thread can get stuck on process exit in
+glibc's __run_exit_handlers trying to acquire some lock which was in
+locked state while the fork was created. This can happen when exit is
+called in mmap_thread concurrently to the fork.
+While the main process will still return with PASSED some of its
+children are left behind.
+
+Comparing the source code with the original program as described in the
+commit 2b7e8665b4ff51c034c55df3cff76518d1a9ee3a of linux kernel >=4.13
+the exits in mmap_thread and fork_thread should not be necessary to
+trigger the original bug.
+
+Therefore those exit calls are removed. The mmap_thread and fork_thread
+should still exit when their corresponding main thread in do_test_fork
+calls exit_group. The remaining exit in do_test_fork will be called in
+the main thread without any concurrent thread in the same process.
+
+Signed-off-by: Mathias Fiedler <mathias.fiedler@aox-tech.de>
+Acked-by: Cyril Hrubis <chrubis@suse.cz>
+Acked-by: Jan Stancek <jstancek@redhat.com>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/9f0b452c1af4bcb54da35711eb3fa77334a350b4]
+
+CVE: CVE-2017-17052
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ testcases/cve/cve-2017-17052.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/testcases/cve/cve-2017-17052.c b/testcases/cve/cve-2017-17052.c
+index d7da7e919..18cd2a6d7 100644
+--- a/testcases/cve/cve-2017-17052.c
++++ b/testcases/cve/cve-2017-17052.c
+@@ -58,8 +58,6 @@ static void *mmap_thread(void *arg)
+ for (;;) {
+ SAFE_MMAP(NULL, 0x1000000, PROT_READ,
+ MAP_POPULATE|MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
+- if (*do_exit)
+- exit(0);
+ }
+
+ return arg;
+@@ -67,9 +65,6 @@ static void *mmap_thread(void *arg)
+
+ static void *fork_thread(void *arg)
+ {
+- if (*do_exit)
+- exit(0);
+-
+ usleep(rand() % 10000);
+ SAFE_FORK();
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch b/poky/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
new file mode 100644
index 000000000..94f6f5a15
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch
@@ -0,0 +1,81 @@
+From fbeda82f440a0098be42dd668cbc47212a86ab48 Mon Sep 17 00:00:00 2001
+From: He Zhe <zhe.he@windriver.com>
+Date: Wed, 21 Aug 2019 16:27:24 +0800
+Subject: [PATCH] cve/meltdown.c: Fix kernel symbol finding
+
+meltdown case fails as below.
+safe_file_ops.c:219: BROK: Expected 3 conversions got 2 at meltdown.c:272
+
+find_kernel_symbol is defined to try twice with each of /proc/kallsyms and
+/boot/System.map-%s. Currently if the symbol is not found in /proc/kallsyms,
+when kernel option CONFIG_KALLSYMS_ALL is disabled, it would stop the case
+immediately due to SAFE_FILE_LINES_SCANF.
+
+This patch turns to use FILE_LINES_SCANF to give find_kernel_symbol second
+chance.
+
+[jstancek] Fix also condition introduced in 7709d2ae92ea, even if
+ /proc/kallsyms is disabled, we still want to try System.map.
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+Signed-off-by: Jan Stancek <jstancek@redhat.com>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/c2049b5c874bc071f8185bffb5fd7dcb042d9ec8]
+
+Remove the hunk for upstream 7709d2ae92ea ("cve/meltdown.c: abort the test if kallsyms was not enabled")
+that has been covered by this patch.
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ testcases/cve/meltdown.c | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/testcases/cve/meltdown.c b/testcases/cve/meltdown.c
+index a53ea9b..22651a6 100644
+--- a/testcases/cve/meltdown.c
++++ b/testcases/cve/meltdown.c
+@@ -267,9 +267,15 @@ find_symbol_in_file(const char *filename, const char *symname)
+ int ret, read;
+ char fmt[strlen(symname) + 64];
+
++ tst_res(TINFO, "Looking for %s in %s", symname, filename);
++ if (access(filename, F_OK) == -1) {
++ tst_res(TINFO, "%s not available", filename);
++ return 0;
++ }
++
+ sprintf(fmt, "%%lx %%c %s%%c", symname);
+
+- ret = SAFE_FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
++ ret = FILE_LINES_SCANF(filename, fmt, &addr, &type, &read);
+ if (ret)
+ return 0;
+
+@@ -287,13 +293,11 @@ find_kernel_symbol(const char *name)
+ if (addr)
+ return addr;
+
+- tst_res(TINFO, "not found '%s' in /proc/kallsyms", name);
+ if (uname(&utsname) < 0)
+ tst_brk(TBROK | TERRNO, "uname");
+
+ sprintf(systemmap, "/boot/System.map-%s", utsname.release);
+
+- tst_res(TINFO, "looking in '%s'\n", systemmap);
+ addr = find_symbol_in_file(systemmap, name);
+ return addr;
+ }
+@@ -308,6 +312,9 @@ static void setup(void)
+ saved_cmdline_addr = find_kernel_symbol("saved_command_line");
+ tst_res(TINFO, "&saved_command_line == 0x%lx", saved_cmdline_addr);
+
++ if (!saved_cmdline_addr)
++ tst_brk(TCONF, "saved_command_line not found");
++
+ spec_fd = SAFE_OPEN("/proc/cmdline", O_RDONLY);
+
+ memset(target_array, 1, sizeof(target_array));
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch b/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
deleted file mode 100644
index 84736053b..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 85c972f730e8efe891a06ea3a2dfb5cbbdfbfbf4 Mon Sep 17 00:00:00 2001
-From: "Hongzhi.Song" <hongzhi.song@windriver.com>
-Date: Wed, 10 Oct 2018 22:07:05 -0400
-Subject: [PATCH] open_posix_testsuite/mmap24-2: Relax condition a bit
-
-Mips will return EINVAL instead of ENOMEM as expected
-if the range [addr + len) exceeds TASK_SIZE.
-
-Linux kernel code: arch/mips/mm/mmap.c
-if (flags & MAP_FIXED) {
- /* Even MAP_FIXED mappings must reside within TASK_SIZE */
- if (TASK_SIZE - len < addr)
- return -EINVAL;
-
-Relax the condition and accept both ENOMEM and EINVAL
-as expected outcome.
-
-Upstream-Status: Submitted [https://lists.linux.it/pipermail/ltp/2018-October/009624.html]
-
-Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
----
- .../open_posix_testsuite/conformance/interfaces/mmap/24-2.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c b/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c
-index de51d43..810e5c8 100644
---- a/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c
-+++ b/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c
-@@ -7,7 +7,7 @@
- * source tree.
- *
- * The mmap() function shall fail if:
-- * [ENOMEM] MAP_FIXED was specified,
-+ * [ENOMEM or EINVAL] MAP_FIXED was specified,
- * and the range [addr,addr+len) exceeds that allowed
- * for the address space of a process; or, if MAP_FIXED was not specified and
- * there is insufficient room in the address space to effect the mapping.
-@@ -15,7 +15,7 @@
- * Test Step:
- * 1. Map a shared memory object, with size exceeding the value get from
- * rlim_cur of resource RLIMIT_AS, setting MAP_FIXED;
-- * 3. Should get ENOMEM.
-+ * 3. Should get ENOMEM or EINVAL.
- */
-
- #include <stdio.h>
-@@ -92,8 +92,8 @@ int main(void)
- (unsigned long)len);
- pa = mmap(addr, len, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED, fd,
- 0);
-- if (pa == MAP_FAILED && errno == ENOMEM) {
-- printf("Got ENOMEM: %s\nTest PASSED\n", strerror(errno));
-+ if (pa == MAP_FAILED && (errno == ENOMEM || errno == EINVAL)) {
-+ printf("Got ENOMEM or EINVAL: %s\nTest PASSED\n", strerror(errno));
- exit(PTS_PASS);
- }
-
-@@ -102,6 +102,6 @@ int main(void)
- else
- munmap(pa, len);
- close(fd);
-- printf("Test Fail: Did not get ENOMEM as expected\n");
-+ printf("Test Failed: Did not get ENOMEM or EINVAL as expected\n");
- return PTS_FAIL;
- }
---
-2.8.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
new file mode 100644
index 000000000..0e56c0825
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch
@@ -0,0 +1,46 @@
+From a5046625eaeed2d3fba456c3ba84c6c141c2ad7c Mon Sep 17 00:00:00 2001
+From: He Zhe <zhe.he@windriver.com>
+Date: Thu, 29 Aug 2019 21:09:46 +0800
+Subject: [PATCH] syscall/rt_sigtimedwait01: Fix wrong sigset length for MIPS
+
+rt_sigtimedwait01 fails as follow on MIPS arches
+rt_sigtimedwait01 1 TFAIL : .../sigwaitinfo01.c:58: test_empty_set
+(.../sigwaitinfo01.c: 148): Unexpected failure:
+TEST_ERRNO=EINVAL(22): Invalid argument
+
+As this case purposely bypasses glibc, it should align with the size of kernel
+definition of sigset_t which is different from other arches.
+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/signal.h#n15
+
+This patch turns to use _NSIG which is always right for all arches.
+
+Upstream-Status: Backport [a5046625eaeed2d3fba456c3ba84c6c141c2ad7c]
+
+Suggested-by: Jan Stancek <jstancek@redhat.com>
+Acked-by: Jan Stancek <jstancek@redhat.com>
+Acked-by: Cyril Hrubis <chrubis@suse.cz>
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+Signed-off-by: Petr Vorel <pvorel@suse.cz>
+---
+ testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
+index 5a32ce1..6a30c27 100644
+--- a/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
++++ b/testcases/kernel/syscalls/sigwaitinfo/sigwaitinfo01.c
+@@ -128,9 +128,8 @@ static int my_sigtimedwait(const sigset_t * set, siginfo_t * info,
+ static int my_rt_sigtimedwait(const sigset_t * set, siginfo_t * info,
+ struct timespec *timeout)
+ {
+-
+- /* The last argument is (number_of_signals)/(bits_per_byte), which are 64 and 8, resp. */
+- return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, 8);
++ /* _NSIG is always the right number of bits of signal map for all arches */
++ return ltp_syscall(__NR_rt_sigtimedwait, set, info, timeout, _NSIG/8);
+ }
+ #endif
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch
deleted file mode 100644
index 39623c37d..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From db57ddc1497e72947da2b14f471ab521478ef99d Mon Sep 17 00:00:00 2001
-From: Tommi Rantala <tommi.t.rantala@nokia.com>
-Date: Thu, 31 Jan 2019 19:49:00 +0200
-Subject: [PATCH] syscalls/setrlimit03.c: read /proc/sys/fs/nr_open for
- RLIMIT_NOFILE limit
-
-Since kernel v2.6.25 RLIMIT_NOFILE limit is no longer hardcoded to
-NR_OPEN, but can be set via /proc/sys/fs/nr_open, see kernel commit
-9cfe015aa424b3c003baba3841a60dd9b5ad319b ("get rid of NR_OPEN and
-introduce a sysctl_nr_open").
-
-nr_open default value is 1024*1024, so setrlimit03 has been passing fine
-on new kernels, only "unexpectedly succeeding" if nr_open is set to some
-larger value.
-
-Signed-off-by: Tommi Rantala <tommi.t.rantala@nokia.com>
-Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
-
-Upstream-Status: Backport [db57ddc1497e ("syscalls/setrlimit03.c: read /proc/sys/fs/nr_open for RLIMIT_NOFILE limit")]
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- testcases/kernel/syscalls/setrlimit/setrlimit03.c | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/setrlimit/setrlimit03.c b/testcases/kernel/syscalls/setrlimit/setrlimit03.c
-index 29b52aa..12455fe 100644
---- a/testcases/kernel/syscalls/setrlimit/setrlimit03.c
-+++ b/testcases/kernel/syscalls/setrlimit/setrlimit03.c
-@@ -35,7 +35,10 @@
- # define NR_OPEN (1024*1024)
- #endif
-
-+#define NR_OPEN_PATH "/proc/sys/fs/nr_open"
-+
- static struct rlimit rlim1, rlim2;
-+static unsigned int nr_open = NR_OPEN;
-
- static struct tcase {
- struct rlimit *rlimt;
-@@ -51,7 +54,10 @@ static void verify_setrlimit(unsigned int n)
-
- TEST(setrlimit(RLIMIT_NOFILE, tc->rlimt));
- if (TST_RET != -1) {
-- tst_res(TFAIL, "call succeeded unexpectedly");
-+ tst_res(TFAIL, "call succeeded unexpectedly "
-+ "(nr_open=%u rlim_cur=%lu rlim_max=%lu)", nr_open,
-+ (unsigned long)(tc->rlimt->rlim_cur),
-+ (unsigned long)(tc->rlimt->rlim_max));
- return;
- }
-
-@@ -65,10 +71,13 @@ static void verify_setrlimit(unsigned int n)
-
- static void setup(void)
- {
-+ if (!access(NR_OPEN_PATH, F_OK))
-+ SAFE_FILE_SCANF(NR_OPEN_PATH, "%u", &nr_open);
-+
- SAFE_GETRLIMIT(RLIMIT_NOFILE, &rlim1);
- rlim2.rlim_max = rlim1.rlim_cur;
- rlim2.rlim_cur = rlim1.rlim_max + 1;
-- rlim1.rlim_max = NR_OPEN + 1;
-+ rlim1.rlim_max = nr_open + 1;
- }
-
- static struct tst_test test = {
---
-2.7.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
new file mode 100644
index 000000000..6ea26150f
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch
@@ -0,0 +1,75 @@
+From e747d0456adc080a1d31fb653bda9dc491795c80 Mon Sep 17 00:00:00 2001
+From: Jan Stancek <jstancek@redhat.com>
+Date: Sun, 16 Jun 2019 11:14:16 +0200
+Subject: [PATCH] syscalls/tgkill03: wait for defunct tid to get detached
+
+Case where defunct tid is used has been observed to sporadically fail:
+ tgkill03.c:96: FAIL: Defunct tid should have failed with ESRCH: SUCCESS
+
+glibc __pthread_timedjoin_ex() waits for CLONE_CHILD_CLEARTID to clear tid,
+and then resumes. Kernel clears it (glibc pd->tid) at:
+ do_exit
+ exit_mm
+ mm_release
+ put_user(0, tsk->clear_child_tid);
+
+but kernel tid is still valid, presumably until:
+ release_task
+ __exit_signal
+ __unhash_process
+ detach_pid
+
+To avoid race wait until /proc/<pid>/task/<tid> disappears.
+
+Signed-off-by: Jan Stancek <jstancek@redhat.com>
+Reviewed-by: Li Wang <liwang@redhat.com>
+Acked-by: Sumit Garg <sumit.garg@linaro.org>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/e747d0456adc080a1d31fb653bda9dc491795c80]
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ testcases/kernel/syscalls/tgkill/tgkill03.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/testcases/kernel/syscalls/tgkill/tgkill03.c b/testcases/kernel/syscalls/tgkill/tgkill03.c
+index f5bbdc5..593a217 100644
+--- a/testcases/kernel/syscalls/tgkill/tgkill03.c
++++ b/testcases/kernel/syscalls/tgkill/tgkill03.c
+@@ -7,6 +7,7 @@
+
+ #include <pthread.h>
+ #include <pwd.h>
++#include <stdio.h>
+ #include <sys/types.h>
+
+ #include "tst_safe_pthread.h"
+@@ -42,6 +43,7 @@ static void setup(void)
+ {
+ sigset_t sigusr1;
+ pthread_t defunct_thread;
++ char defunct_tid_path[PATH_MAX];
+
+ sigemptyset(&sigusr1);
+ sigaddset(&sigusr1, SIGUSR1);
+@@ -55,8 +57,9 @@ static void setup(void)
+ TST_CHECKPOINT_WAIT(0);
+
+ SAFE_PTHREAD_CREATE(&defunct_thread, NULL, defunct_thread_func, NULL);
+-
+ SAFE_PTHREAD_JOIN(defunct_thread, NULL);
++ sprintf(defunct_tid_path, "/proc/%d/task/%d", getpid(), defunct_tid);
++ TST_RETRY_FN_EXP_BACKOFF(access(defunct_tid_path, R_OK), -1, 15);
+ }
+
+ static void cleanup(void)
+@@ -108,4 +111,5 @@ static struct tst_test test = {
+ .setup = setup,
+ .cleanup = cleanup,
+ .test = run,
++ .timeout = 20,
+ };
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch b/poky/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
new file mode 100644
index 000000000..f4f87f38a
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-testcases-use-python3-everywhere-to-run-python-scrip.patch
@@ -0,0 +1,161 @@
+From 0463d793566772a606255957915f99d166d5740c Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 28 Aug 2019 18:30:23 +0200
+Subject: [PATCH] testcases: use python3 everywhere to run python scripts
+
+The scripts themselves have #!/usr/bin/python3 in them,
+so I trust they are already py3-compatible.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ testcases/kernel/power_management/runpwtests05.sh | 2 +-
+ .../power_management/runpwtests_exclusive01.sh | 2 +-
+ .../power_management/runpwtests_exclusive02.sh | 2 +-
+ .../power_management/runpwtests_exclusive03.sh | 2 +-
+ .../power_management/runpwtests_exclusive04.sh | 2 +-
+ .../power_management/runpwtests_exclusive05.sh | 2 +-
+ testcases/network/nfsv4/acl/runtest | 14 +++++++-------
+ testcases/realtime/func/pi-tests/run_auto.sh | 6 +++---
+ 8 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/testcases/kernel/power_management/runpwtests05.sh b/testcases/kernel/power_management/runpwtests05.sh
+index 8a7d0f6e0..43e234d01 100755
+--- a/testcases/kernel/power_management/runpwtests05.sh
++++ b/testcases/kernel/power_management/runpwtests05.sh
+@@ -35,7 +35,7 @@ else
+ max_sched_smt=1
+ fi
+
+-tst_test_cmds python
++tst_test_cmds python3
+
+ if ! grep sched_debug -qw /proc/cmdline ; then
+ tst_brkm TCONF "Kernel cmdline parameter 'sched_debug' needed," \
+diff --git a/testcases/kernel/power_management/runpwtests_exclusive01.sh b/testcases/kernel/power_management/runpwtests_exclusive01.sh
+index ec78319e2..9fefcbf6e 100755
+--- a/testcases/kernel/power_management/runpwtests_exclusive01.sh
++++ b/testcases/kernel/power_management/runpwtests_exclusive01.sh
+@@ -35,7 +35,7 @@ else
+ max_sched_smt=1
+ fi
+
+-tst_test_cmds python
++tst_test_cmds python3
+
+ hyper_threaded=$(is_hyper_threaded)
+ multi_socket=$(is_multi_socket)
+diff --git a/testcases/kernel/power_management/runpwtests_exclusive02.sh b/testcases/kernel/power_management/runpwtests_exclusive02.sh
+index e107fce35..2cd0ecb05 100755
+--- a/testcases/kernel/power_management/runpwtests_exclusive02.sh
++++ b/testcases/kernel/power_management/runpwtests_exclusive02.sh
+@@ -33,7 +33,7 @@ else
+ max_sched_smt=1
+ fi
+
+-tst_test_cmds python
++tst_test_cmds python3
+
+ hyper_threaded=$(is_hyper_threaded)
+ multi_socket=$(is_multi_socket)
+diff --git a/testcases/kernel/power_management/runpwtests_exclusive03.sh b/testcases/kernel/power_management/runpwtests_exclusive03.sh
+index 490344bb3..ab3a5d11d 100755
+--- a/testcases/kernel/power_management/runpwtests_exclusive03.sh
++++ b/testcases/kernel/power_management/runpwtests_exclusive03.sh
+@@ -35,7 +35,7 @@ else
+ max_sched_smt=1
+ fi
+
+-tst_test_cmds python
++tst_test_cmds python3
+
+ hyper_threaded=$(is_hyper_threaded)
+ multi_socket=$(is_multi_socket)
+diff --git a/testcases/kernel/power_management/runpwtests_exclusive04.sh b/testcases/kernel/power_management/runpwtests_exclusive04.sh
+index 978ca02ae..438ef603f 100755
+--- a/testcases/kernel/power_management/runpwtests_exclusive04.sh
++++ b/testcases/kernel/power_management/runpwtests_exclusive04.sh
+@@ -27,7 +27,7 @@ export TST_TOTAL=2
+ # Checking test environment
+ check_kervel_arch
+
+-tst_test_cmds python
++tst_test_cmds python3
+
+ hyper_threaded=$(is_hyper_threaded)
+ multi_socket=$(is_multi_socket)
+diff --git a/testcases/kernel/power_management/runpwtests_exclusive05.sh b/testcases/kernel/power_management/runpwtests_exclusive05.sh
+index a0dad5834..3a9afdbf2 100755
+--- a/testcases/kernel/power_management/runpwtests_exclusive05.sh
++++ b/testcases/kernel/power_management/runpwtests_exclusive05.sh
+@@ -35,7 +35,7 @@ else
+ max_sched_smt=1
+ fi
+
+-tst_test_cmds python
++tst_test_cmds python3
+
+ hyper_threaded=$(is_hyper_threaded)
+ multi_socket=$(is_multi_socket)
+diff --git a/testcases/network/nfsv4/acl/runtest b/testcases/network/nfsv4/acl/runtest
+index d2e1b4c49..a859e85bc 100755
+--- a/testcases/network/nfsv4/acl/runtest
++++ b/testcases/network/nfsv4/acl/runtest
+@@ -22,7 +22,7 @@ do
+ done
+
+ # creation of users on the remote machine (removed only at the end of the tests)
+-rsh -n $REMOTEHOST python $PWD/create_users.py -u 50 -g 50
++rsh -n $REMOTEHOST python3 $PWD/create_users.py -u 50 -g 50
+
+ echo "Starting ACL testing"
+
+@@ -51,19 +51,19 @@ echo "Basic tests finished"
+
+ echo "LONG ACL TEST"
+ echo "creating necessary users and groups"
+-python create_users.py -u 50 -g 50
++python3 create_users.py -u 50 -g 50
+ echo "creating necessary users and groups on the remote host"
+ mkdir $NFSMNTDIR/lacl-testdir
+-python test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
++python3 test_long_acl.py -l $MAXLENGTH -p $NFSMNTDIR/lacl-testdir
+ rm -rf $NFSMNTDIR/lacl-testdir
+ echo "Long ACL test OK with $MAXLENGTH entries"
+ echo "ACL STRESSING TEST"
+-python setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p $NFSMNTDIR
++python3 setacl_stress.py -n 100 -u $USER_NB -g $GRP_NB -f $FILE_NB -p $NFSMNTDIR
+
+ # remove local an remote users
+-python cleanusers.py
+-python cleangroups.py
+-rsh -n $REMOTEHOST python $PWD/cleanusers.py
++python3 cleanusers.py
++python3 cleangroups.py
++rsh -n $REMOTEHOST python3 $PWD/cleanusers.py
+
+ echo "Test OK"
+
+diff --git a/testcases/realtime/func/pi-tests/run_auto.sh b/testcases/realtime/func/pi-tests/run_auto.sh
+index d13026049..277988568 100755
+--- a/testcases/realtime/func/pi-tests/run_auto.sh
++++ b/testcases/realtime/func/pi-tests/run_auto.sh
+@@ -15,15 +15,15 @@ $SCRIPTS_DIR/run_c_files.sh $profile testpi-0
+
+ export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-1.log"
+ $SCRIPTS_DIR/run_c_files.sh $profile testpi-1
+-PYTHONPATH=../../ python parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
++PYTHONPATH=../../ python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
+
+ export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-2.log"
+ $SCRIPTS_DIR/run_c_files.sh $profile testpi-2
+-PYTHONPATH=../../ python parse-testpi2.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
++PYTHONPATH=../../ python3 parse-testpi2.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
+
+ export LOG_FILE="$LOG_DIR/$LOG_FORMAT-testpi-4.log"
+ $SCRIPTS_DIR/run_c_files.sh $profile testpi-4
+-PYTHONPATH=../../ python parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
++PYTHONPATH=../../ python3 parse-testpi1.py $LOG_FILE 2>&1 | tee -a $LOG_FILE
+
+
+ export LOG_FILE=""
diff --git a/poky/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch b/poky/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
new file mode 100644
index 000000000..c936b788f
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch
@@ -0,0 +1,36 @@
+From 156776a3e29491b363fdc9811912e1298655d060 Mon Sep 17 00:00:00 2001
+From: Steven Price <steven.price@arm.com>
+Date: Fri, 19 Jul 2019 13:48:17 +0100
+Subject: [PATCH] ustat02: Fix EFAULT in 32bit compatibility mode
+
+The size of dev_t is larger than 32 bits which causes the dev argument
+to be passed incorrectly. On Arm this means that the EFAULT test case
+actually returns EINVAL because the device number isn't recognised.
+
+Signed-off-by: Steven Price <steven.price@arm.com>
+Acked-by: Li Wang <liwang@redhat.com>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/156776a3e29491b363fdc9811912e1298655d060]
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ testcases/kernel/syscalls/ustat/ustat02.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testcases/kernel/syscalls/ustat/ustat02.c b/testcases/kernel/syscalls/ustat/ustat02.c
+index 9bbe4f3..1a0e9e0 100644
+--- a/testcases/kernel/syscalls/ustat/ustat02.c
++++ b/testcases/kernel/syscalls/ustat/ustat02.c
+@@ -36,7 +36,7 @@ int TST_TOTAL = ARRAY_SIZE(tc);
+
+ void run(unsigned int test)
+ {
+- TEST(tst_syscall(__NR_ustat, *tc[test].dev, tc[test].buf));
++ TEST(tst_syscall(__NR_ustat, (unsigned int)*tc[test].dev, tc[test].buf));
+
+ if ((TST_RET == -1) && (TST_ERR == tc[test].exp_errno))
+ tst_res(TPASS | TTERRNO, "ustat(2) expected failure");
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch b/poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
new file mode 100644
index 000000000..12e47eb2b
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0002-check-for-RES_USE_INET6-during-configure.patch
@@ -0,0 +1,68 @@
+From 7bc134545b7beb09717a60541530c20a1a5740d3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 26 Jul 2019 10:55:28 -0700
+Subject: [PATCH 2/2] check for RES_USE_INET6 during configure
+
+glibc 2.30 has remove RES_USE_INET6 define which has been on its way out
+since 2.26 release, this check ensures that we detect it before using it
+
+Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-July/012955.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 13 +++++++++++++
+ testcases/network/multicast/mc_gethost/mc_gethost.c | 6 ++++++
+ 2 files changed, 19 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 2255b5c181..ed7acccb01 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -91,6 +91,19 @@ AC_CHECK_FUNCS([ \
+ vmsplice \
+ ])
+
++#check defines
++AC_MSG_CHECKING([for RES_USE_INET6])
++AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include <resolv.h>]],
++ [[char dummy[RES_USE_INET6];]])],
++ [
++ AC_MSG_RESULT([yes])
++ AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 1, [Define to 1 if you have the RES_USE_INET6 macro.])
++ ],
++ [
++ AC_MSG_RESULT([no])
++ AC_DEFINE_UNQUOTED([HAVE_RES_USE_INET6], 0, [Define to 1 if you have the RES_USE_INET6 macro.])
++ ]
++)
+ # Tools knobs
+
+ # Expect
+diff --git a/testcases/network/multicast/mc_gethost/mc_gethost.c b/testcases/network/multicast/mc_gethost/mc_gethost.c
+index 9cc15d086b..d1cae5441a 100644
+--- a/testcases/network/multicast/mc_gethost/mc_gethost.c
++++ b/testcases/network/multicast/mc_gethost/mc_gethost.c
+@@ -17,6 +17,8 @@
+ #include <string.h>
+ #include <stdlib.h>
+
++#include "config.h"
++
+ #ifndef LOG_PERROR
+ #define LOG_PERROR 0
+ #endif
+@@ -50,8 +52,12 @@ usage:
+ argv++, argc--;
+ }
+ if (argc >= 1 && !strcmp(*argv, "-6")) {
++#if HAVE_RES_USE_INET6
+ af = AF_INET6, size = IN6ADDRSZ;
+ _res.options |= RES_USE_INET6;
++#else
++ af = AF_INET, size = INADDRSZ;
++#endif
+ argv++, argc--;
+ }
+ if (argc >= 1 && !strcmp(*argv, "-f")) {
+--
+2.22.0
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch b/poky/meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
new file mode 100644
index 000000000..eff9ed074
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
@@ -0,0 +1,47 @@
+From 81e5bd5442337a4a648a0dbbff47eaac0d351287 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Jan 2016 18:22:38 +0000
+Subject: [PATCH] kernel/controllers: Link with libfts explicitly on musl
+
+musl does not implement fts like glibc and therefore it depends on
+external implementation for all fts APIs
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ testcases/kernel/controllers/Makefile.inc | 3 +++
+ testcases/kernel/controllers/cpuset/Makefile.inc | 3 +++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/testcases/kernel/controllers/Makefile.inc b/testcases/kernel/controllers/Makefile.inc
+index 4ca0b5a..1d85e4d 100644
+--- a/testcases/kernel/controllers/Makefile.inc
++++ b/testcases/kernel/controllers/Makefile.inc
+@@ -36,6 +36,9 @@ MAKE_DEPS := $(LIB)
+ CPPFLAGS += -I$(abs_srcdir)/../$(LIBDIR)
+
+ LDFLAGS += -L$(abs_builddir)/../$(LIBDIR)
++ifeq ($(LIBC),musl)
++LDLIBS += -lfts
++endif
+
+ INSTALL_TARGETS ?= *.sh
+
+diff --git a/testcases/kernel/controllers/cpuset/Makefile.inc b/testcases/kernel/controllers/cpuset/Makefile.inc
+index db6a843..86dd2a8 100644
+--- a/testcases/kernel/controllers/cpuset/Makefile.inc
++++ b/testcases/kernel/controllers/cpuset/Makefile.inc
+@@ -42,6 +42,9 @@ MAKE_DEPS := $(LIBCONTROLLERS) $(LIBCPUSET)
+ LDFLAGS += -L$(abs_builddir)/$(LIBCPUSET_DIR) -L$(abs_builddir)/$(LIBCONTROLLERS_DIR)
+
+ LDLIBS += -lcpu_set -lcontrollers -lltp
++ifeq ($(LIBC),musl)
++LDLIBS += -lfts
++endif
+
+ INSTALL_TARGETS ?= *.sh
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch b/poky/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
new file mode 100644
index 000000000..c0f69ecf5
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
@@ -0,0 +1,58 @@
+From 29ce9fdab3bd34e69d73b5b890795559c06553f7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Jan 2016 19:40:08 +0000
+Subject: [PATCH] Check if __GLIBC_PREREQ is defined before using it
+
+__GLIBC_PREREQ is specific to glibc so it should be checked if it is
+defined or not.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ testcases/kernel/syscalls/accept4/accept4_01.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c b/testcases/kernel/syscalls/accept4/accept4_01.c
+index dd289cf..76aa969 100644
+--- a/testcases/kernel/syscalls/accept4/accept4_01.c
++++ b/testcases/kernel/syscalls/accept4/accept4_01.c
+@@ -38,6 +38,7 @@
+ static struct sockaddr_in conn_addr;
+ static int listening_fd;
+
++#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
+ #if !(__GLIBC_PREREQ(2, 10))
+ static int
+ accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
+@@ -56,6 +57,7 @@ accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
+ #endif
+ }
+ #endif
++#endif
+
+ static int create_listening_socket(void)
+ {
+@@ -115,6 +117,7 @@ static void verify_accept4(unsigned int nr)
+ SAFE_CONNECT(connfd, (struct sockaddr *)&conn_addr, sizeof(conn_addr));
+ addrlen = sizeof(claddr);
+
++#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
+ #if !(__GLIBC_PREREQ(2, 10))
+ TEST(accept4_01(listening_fd, (struct sockaddr *)&claddr, &addrlen,
+ tcase->cloexec | tcase->nonblock));
+@@ -122,6 +125,10 @@ static void verify_accept4(unsigned int nr)
+ TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
+ tcase->cloexec | tcase->nonblock));
+ #endif
++#else
++ TEST(accept4(listening_fd, (struct sockaddr *)&claddr, &addrlen,
++ tcase->cloexec | tcase->nonblock));
++#endif
+ if (TST_RET == -1) {
+ if (TST_ERR == ENOSYS)
+ tst_brk(TCONF, "syscall __NR_accept4 not supported");
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch b/poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
deleted file mode 100644
index 3c66c9436..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0004-build-Add-option-to-select-libc-implementation.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From 53acddddf1b324e06af886ee4639b774e5c8c8bc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 18:19:03 +0000
-Subject: [PATCH 04/32] build: Add option to select libc implementation
-
-There are more than glibc for C library implementation available on
-linux now a days, uclibc cloaked like glibc but musl e.g. is very
-different and does not implement all GNU extentions
-
-Disable tests specifically not building _yet_ on musl based systems
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
----
- Makefile | 5 +++++
- testcases/kernel/Makefile | 5 ++++-
- testcases/kernel/sched/Makefile | 4 +++-
- testcases/kernel/syscalls/Makefile | 5 +++++
- testcases/network/nfsv4/acl/Makefile | 4 ++++
- testcases/network/rpc/basic_tests/Makefile | 5 +++++
- testcases/realtime/func/pi-tests/Makefile | 4 ++++
- testcases/realtime/stress/pi-tests/Makefile | 5 +++++
- 8 files changed, 35 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 297f8e7..906b280 100644
---- a/Makefile
-+++ b/Makefile
-@@ -49,6 +49,11 @@ SKIP_IDCHECK ?= 0
- UCLINUX ?= 0
- export UCLINUX
-
-+# System C library implementation (glibc,uclibc,musl etc.)
-+# default to glibc if not set
-+LIBC ?= glibc
-+export LIBC
-+
- # CLEAN_TARGETS: Targets which exist solely in clean.
- # COMMON_TARGETS: Targets which exist in all, clean, and install.
- # INSTALL_TARGETS: Targets which exist in clean and install (contains
-diff --git a/testcases/kernel/Makefile b/testcases/kernel/Makefile
-index 50a12fa..4f1987f 100644
---- a/testcases/kernel/Makefile
-+++ b/testcases/kernel/Makefile
-@@ -49,12 +49,15 @@ SUBDIRS += connectors \
- logging \
- mem \
- numa \
-- pty \
- sched \
- security \
- timers \
- tracing \
-
-+ifneq ($(LIBC),musl)
-+SUBDIRS += pty
-+endif
-+
- ifeq ($(WITH_POWER_MANAGEMENT_TESTSUITE),yes)
- SUBDIRS += power_management
- endif
-diff --git a/testcases/kernel/sched/Makefile b/testcases/kernel/sched/Makefile
-index 6245ed0..aa4eb7f 100644
---- a/testcases/kernel/sched/Makefile
-+++ b/testcases/kernel/sched/Makefile
-@@ -23,5 +23,7 @@
- top_srcdir ?= ../../..
-
- include $(top_srcdir)/include/mk/env_pre.mk
--
-+ifeq ($(LIBC),musl)
-+ FILTER_OUT_DIRS += process_stress
-+endif
- include $(top_srcdir)/include/mk/generic_trunk_target.mk
-diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile
-index 8acb395..b749126 100644
---- a/testcases/kernel/syscalls/Makefile
-+++ b/testcases/kernel/syscalls/Makefile
-@@ -28,6 +28,11 @@ ifeq ($(UCLINUX),1)
- FILTER_OUT_DIRS += capget capset chmod chown clone fork getcontext llseek \
- mincore mprotect nftw profil remap_file_pages sbrk
- endif
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_DIRS += confstr fmtmsg getcontext ioctl mallopt profil \
-+ rt_sigsuspend setdomainname sethostname sigsuspend \
-+ ustat
-+endif
-
- ifeq ($(UCLIBC),1)
- FILTER_OUT_DIRS += profil
-diff --git a/testcases/network/nfsv4/acl/Makefile b/testcases/network/nfsv4/acl/Makefile
-index 8bc78c2..c36cf50 100644
---- a/testcases/network/nfsv4/acl/Makefile
-+++ b/testcases/network/nfsv4/acl/Makefile
-@@ -26,4 +26,8 @@ include $(top_srcdir)/include/mk/env_pre.mk
-
- LDLIBS += $(ACL_LIBS)
-
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_MAKE_TARGETS := acl1
-+endif
-+
- include $(top_srcdir)/include/mk/generic_leaf_target.mk
-diff --git a/testcases/network/rpc/basic_tests/Makefile b/testcases/network/rpc/basic_tests/Makefile
-index 3160813..9bdf5d0 100644
---- a/testcases/network/rpc/basic_tests/Makefile
-+++ b/testcases/network/rpc/basic_tests/Makefile
-@@ -23,4 +23,9 @@
- top_srcdir ?= ../../../..
-
- include $(top_srcdir)/include/mk/env_pre.mk
-+
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_DIRS += rpc01
-+endif
-+
- include $(top_srcdir)/include/mk/generic_trunk_target.mk
-diff --git a/testcases/realtime/func/pi-tests/Makefile b/testcases/realtime/func/pi-tests/Makefile
-index 7a7a57a..5808866 100644
---- a/testcases/realtime/func/pi-tests/Makefile
-+++ b/testcases/realtime/func/pi-tests/Makefile
-@@ -27,5 +27,9 @@ include $(top_srcdir)/include/mk/env_pre.mk
- include $(abs_srcdir)/../../config.mk
-
- MAKE_TARGETS := testpi-0 testpi-1 testpi-2 testpi-4 testpi-5 testpi-6 testpi-7 sbrk_mutex
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_MAKE_TARGETS := testpi-5 testpi-6 sbrk_mutex
-+endif
-+
-
- include $(top_srcdir)/include/mk/generic_leaf_target.mk
-diff --git a/testcases/realtime/stress/pi-tests/Makefile b/testcases/realtime/stress/pi-tests/Makefile
-index 5edc3b4..aa5987a 100644
---- a/testcases/realtime/stress/pi-tests/Makefile
-+++ b/testcases/realtime/stress/pi-tests/Makefile
-@@ -24,4 +24,9 @@ top_srcdir ?= ../../../..
-
- include $(top_srcdir)/include/mk/env_pre.mk
- include $(abs_srcdir)/../../config.mk
-+
-+ifeq ($(LIBC),musl)
-+FILTER_OUT_MAKE_TARGETS := testpi-3
-+endif
-+
- include $(top_srcdir)/include/mk/generic_leaf_target.mk
---
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch b/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch
new file mode 100644
index 000000000..5622a64d4
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0004-guard-mallocopt-with-__GLIBC__.patch
@@ -0,0 +1,34 @@
+From d0fc9ca5d3366f9b8907e463222403cd2327be10 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 8 Jan 2016 06:51:20 +0000
+Subject: [PATCH] guard mallocopt() with __GLIBC__
+
+mallocopt is not available on non glibc implementations
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/benchmark/ebizzy-0.3/ebizzy.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/utils/benchmark/ebizzy-0.3/ebizzy.c b/utils/benchmark/ebizzy-0.3/ebizzy.c
+index 5bb8eff..934d951 100644
+--- a/utils/benchmark/ebizzy-0.3/ebizzy.c
++++ b/utils/benchmark/ebizzy-0.3/ebizzy.c
+@@ -215,10 +215,10 @@ static void read_options(int argc, char *argv[])
+ "\"never mmap\" option specified\n");
+ usage();
+ }
+-
++#ifdef __GLIBC__
+ if (never_mmap)
+ mallopt(M_MMAP_MAX, 0);
+-
++#endif
+ if (chunk_size < record_size) {
+ fprintf(stderr, "Chunk size %u smaller than record size %u\n",
+ chunk_size, record_size);
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch b/poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
deleted file mode 100644
index b9390e2c8..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 6e3058521b50d91d4b0569c4d491c5af5ff798b2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 18:22:38 +0000
-Subject: [PATCH 05/32] kernel/controllers: Link with libfts explicitly on musl
-
-musl does not implement fts like glibc and therefore it depends on
-external implementation for all fts APIs
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
----
- testcases/kernel/controllers/Makefile.inc | 3 +++
- testcases/kernel/controllers/cpuset/Makefile.inc | 3 +++
- 2 files changed, 6 insertions(+)
-
-diff --git a/testcases/kernel/controllers/Makefile.inc b/testcases/kernel/controllers/Makefile.inc
-index b106283..ef5fc0c 100644
---- a/testcases/kernel/controllers/Makefile.inc
-+++ b/testcases/kernel/controllers/Makefile.inc
-@@ -36,6 +36,9 @@ MAKE_DEPS := $(LIB)
- CPPFLAGS += -I$(abs_srcdir)/../$(LIBDIR)
-
- LDFLAGS += -L$(abs_builddir)/../$(LIBDIR)
-+ifeq ($(LIBC),musl)
-+LDLIBS += -lfts
-+endif
-
- INSTALL_TARGETS ?= *.sh
-
-diff --git a/testcases/kernel/controllers/cpuset/Makefile.inc b/testcases/kernel/controllers/cpuset/Makefile.inc
-index 9e002f4..e0fcb9c 100644
---- a/testcases/kernel/controllers/cpuset/Makefile.inc
-+++ b/testcases/kernel/controllers/cpuset/Makefile.inc
-@@ -42,6 +42,9 @@ MAKE_DEPS := $(LIBCONTROLLERS) $(LIBCPUSET)
- LDFLAGS += -L$(abs_builddir)/$(LIBCPUSET_DIR) -L$(abs_builddir)/$(LIBCONTROLLERS_DIR)
-
- LDLIBS += -lcpu_set -lcontrollers -lltp
-+ifeq ($(LIBC),musl)
-+LDLIBS += -lfts
-+endif
-
- INSTALL_TARGETS ?= *.sh
-
---
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch b/poky/meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch
new file mode 100644
index 000000000..804edfa1b
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0006-rt_tgsigqueueinfo-disable-test-on-musl.patch
@@ -0,0 +1,35 @@
+From 60054686e2c1a4bedf1d507af97ebbb7ff491e77 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Thu, 18 Jul 2019 15:23:15 +0800
+Subject: [PATCH] rt_tgsigqueueinfo: disable test on musl
+
+Fix build error with musl:
+rt_tgsigqueueinfo01.c: In function 'sigusr1_handler':
+rt_tgsigqueueinfo01.c:42:22: error: 'siginfo_t' {aka 'struct <anonymous>'} has no member named '_sifields'; did you mean '__si_fields'?
+ 42 | sigval_rcv = uinfo->_sifields._rt.SI_SIGVAL.sival_ptr;
+ | ^~~~~~~~~
+ | __si_fields
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ testcases/kernel/syscalls/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testcases/kernel/syscalls/Makefile b/testcases/kernel/syscalls/Makefile
+index d1becd0..1f3ff34 100644
+--- a/testcases/kernel/syscalls/Makefile
++++ b/testcases/kernel/syscalls/Makefile
+@@ -31,7 +31,7 @@ endif
+ ifeq ($(LIBC),musl)
+ FILTER_OUT_DIRS += confstr fmtmsg getcontext ioctl mallopt profil \
+ rt_sigsuspend setdomainname sethostname sigsuspend \
+- ustat
++ ustat rt_tgsigqueueinfo
+ endif
+
+ ifeq ($(UCLIBC),1)
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch b/poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch
new file mode 100644
index 000000000..0e7264574
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0007-Fix-test_proc_kill-hanging.patch
@@ -0,0 +1,32 @@
+From f4fafbdffae3a63c81f65cef98c72dda26283e06 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Wed, 8 Feb 2017 16:17:17 +0800
+Subject: [PATCH] Fix test_proc_kill hanging
+
+Sometimes the signal is delivered to memcg_process before the framework took
+into consideration its pid entered in the tasks. Fixed by delaying the signal
+send command.
+
+Upstream-Status: Pending
+
+Signed-off-by: George Nita <george.nita@enea.com>
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ testcases/kernel/controllers/memcg/functional/memcg_lib.sh | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
+index aadaae4..deea5d6 100755
+--- a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
++++ b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
+@@ -291,6 +291,7 @@ test_proc_kill()
+ pid=$!
+ TST_CHECKPOINT_WAIT 0
+ echo $pid > tasks
++ sleep 1
+
+ signal_memcg_process $pid $3
+
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch b/poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
deleted file mode 100644
index 6e6dbf398..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From d1a27570457fb6e1d6bafe81bfa0f3507b137e32 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 9 Feb 2017 18:20:58 +0800
-Subject: [PATCH] fix __WORDSIZE undeclared when building with musl
-
-fix __WORDSIZE undeclared when building with musl.
-
-Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/177]
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- include/old/test.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/include/old/test.h b/include/old/test.h
-index b36764d83..cc6f1b551 100644
---- a/include/old/test.h
-+++ b/include/old/test.h
-@@ -17,6 +17,9 @@
- #include <string.h>
- #include <stdlib.h>
- #include <stdint.h>
-+#ifndef __GLIBC__
-+#include <bits/reg.h>
-+#endif
-
- #include "usctest.h"
-
---
-2.11.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch b/poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
deleted file mode 100644
index 7311ee2e4..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From fc2b47ad979a87bfbd11aeea3f67c26e7fb39e30 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 7 Jan 2016 19:40:08 +0000
-Subject: [PATCH] Check if __GLIBC_PREREQ is defined before using it
-
-__GLIBC_PREREQ is specific to glibc so it should be checked if it is
-defined or not.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- .../kernel/syscalls/accept4/accept4_01.c | 9 ++++++-
- .../sched_getaffinity/sched_getaffinity01.c | 26 +++++++++++++++++++
- 2 files changed, 34 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/accept4/accept4_01.c b/testcases/kernel/syscalls/accept4/accept4_01.c
-index dec4ef93b..c5d74b07f 100644
---- a/testcases/kernel/syscalls/accept4/accept4_01.c
-+++ b/testcases/kernel/syscalls/accept4/accept4_01.c
-@@ -64,6 +64,7 @@ static void cleanup(void)
- tst_rmdir();
- }
-
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if !(__GLIBC_PREREQ(2, 10))
- static int
- accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
-@@ -82,7 +83,6 @@ accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
- }
- tst_resm(TINFO, "\n");
- #endif
--
- #if USE_SOCKETCALL
- long args[6];
-
-@@ -97,6 +97,7 @@ accept4_01(int fd, struct sockaddr *sockaddr, socklen_t *addrlen, int flags)
- #endif
- }
- #endif
-+#endif
-
- static void
- do_test(int lfd, struct sockaddr_in *conn_addr,
-@@ -119,9 +120,15 @@ do_test(int lfd, struct sockaddr_in *conn_addr,
- die("Connect Error");
-
- addrlen = sizeof(struct sockaddr_in);
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if !(__GLIBC_PREREQ(2, 10))
- acceptfd = accept4_01(lfd, (struct sockaddr *)&claddr, &addrlen,
- closeonexec_flag | nonblock_flag);
-+
-+#else
-+ acceptfd = accept4(lfd, (struct sockaddr *)&claddr, &addrlen,
-+ closeonexec_flag | nonblock_flag);
-+#endif
- #else
- acceptfd = accept4(lfd, (struct sockaddr *)&claddr, &addrlen,
- closeonexec_flag | nonblock_flag);
-diff --git a/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c b/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
-index 02f04b909..d906d7e09 100644
---- a/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
-+++ b/testcases/kernel/syscalls/sched_getaffinity/sched_getaffinity01.c
-@@ -67,9 +67,11 @@ do { \
- tst_resm((TEST_RETURN == -1 ? TPASS : TFAIL) | TTERRNO, #t); \
- } while (0)
-
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if !(__GLIBC_PREREQ(2, 7))
- #define CPU_FREE(ptr) free(ptr)
- #endif
-+#endif
-
- int main(int ac, char **av)
- {
-@@ -96,17 +98,26 @@ static void do_test(void)
- pid_t unused_pid;
- unsigned len;
-
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- realloc:
- mask = CPU_ALLOC(nrcpus);
-+#else
-+ mask = malloc(sizeof(cpu_set_t));
-+#endif
- #else
- mask = malloc(sizeof(cpu_set_t));
- #endif
- if (mask == NULL)
- tst_brkm(TFAIL | TTERRNO, cleanup, "fail to get enough memory");
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- len = CPU_ALLOC_SIZE(nrcpus);
- CPU_ZERO_S(len, mask);
-+#else
-+ len = sizeof(cpu_set_t);
-+ CPU_ZERO(mask);
-+#endif
- #else
- len = sizeof(cpu_set_t);
- CPU_ZERO(mask);
-@@ -115,11 +126,18 @@ realloc:
- TEST(sched_getaffinity(0, len, mask));
- if (TEST_RETURN == -1) {
- CPU_FREE(mask);
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- if (errno == EINVAL && nrcpus < (1024 << 8)) {
- nrcpus = nrcpus << 2;
- goto realloc;
- }
-+#else
-+ if (errno == EINVAL)
-+ tst_resm(TFAIL, "NR_CPUS > 1024, we'd better use a "
-+ "newer glibc(>= 2.7)");
-+ else
-+#endif
- #else
- if (errno == EINVAL)
- tst_resm(TFAIL, "NR_CPUS > 1024, we'd better use a "
-@@ -132,8 +150,12 @@ realloc:
- tst_resm(TINFO, "cpusetsize is %d", len);
- tst_resm(TINFO, "mask.__bits[0] = %lu ", mask->__bits[0]);
- for (i = 0; i < num; i++) {
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- TEST(CPU_ISSET_S(i, len, mask));
-+#else
-+ TEST(CPU_ISSET(i, mask));
-+#endif
- #else
- TEST(CPU_ISSET(i, mask));
- #endif
-@@ -144,8 +166,12 @@ realloc:
- }
- }
-
-+#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
- #if __GLIBC_PREREQ(2, 7)
- CPU_ZERO_S(len, mask);
-+#else
-+ CPU_ZERO(mask);
-+#endif
- #else
- CPU_ZERO(mask);
- #endif
---
-2.17.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch b/poky/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
new file mode 100644
index 000000000..b46325eaf
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
@@ -0,0 +1,41 @@
+From aa7a9185a037ad59012bd46713ac340458e95209 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
+Date: Fri, 13 May 2016 11:11:28 -0500
+Subject: [PATCH] testcases/network/nfsv4/acl/acl1.c: Security fix on
+ string printf
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes:
+
+acl1.c: In function 'test_acl_default':
+acl1.c:317:2: error: format not a string literal and no format arguments
+[-Werror=format-security]
+ printf(cmd);
+
+[YOCTO #9548]
+
+Upstream-Status: Pending
+
+Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
+---
+ testcases/network/nfsv4/acl/acl1.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testcases/network/nfsv4/acl/acl1.c b/testcases/network/nfsv4/acl/acl1.c
+index bdf0180..898b7ca 100644
+--- a/testcases/network/nfsv4/acl/acl1.c
++++ b/testcases/network/nfsv4/acl/acl1.c
+@@ -303,7 +303,7 @@ void test_acl_default(char *dir, acl_t acl)
+ char *cmd = malloc(256);
+
+ strcpy(cmd, "chmod 7777 ");
+- printf(cmd);
++ printf(cmd, NULL);
+ strcat(cmd, dir);
+ system(cmd);
+ acl2 = acl_get_file(path, ACL_TYPE_ACCESS);
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch b/poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch
deleted file mode 100644
index dd7d28319..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From bf5dd2932200e0199a38f3028d3bef2253f32e38 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 9 Feb 2017 17:17:37 +0800
-Subject: [PATCH] fix redefinition of 'struct msgbuf' error building with musl
-
-When building with musl the file "sys/msg.h" already contain 'struct msgbuf'
-
-Upstream-Status: Submitted [https://github.com/linux-test-project/ltp/pull/177]
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c
-index a757c0d18..e023114d2 100644
---- a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c
-+++ b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv08.c
-@@ -47,11 +47,13 @@ const char *TCID = "msgrcv08";
- const int TST_TOTAL = 1;
-
- #if __WORDSIZE == 32
--
-+#ifdef __GLIBC__
- struct msgbuf {
- long mtype; /* message type, must be > 0 */
- char mtext[16]; /* message data */
- };
-+#else
-+#endif
-
- static void msr(int msqid)
- {
---
-2.11.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch b/poky/meta/recipes-extended/ltp/ltp/0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
new file mode 100644
index 000000000..d32ac1dd7
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch
@@ -0,0 +1,68 @@
+From a8715a1446305ffd76406f63c7f160c13a5b2e72 Mon Sep 17 00:00:00 2001
+From: "Hongzhi.Song" <hongzhi.song@windriver.com>
+Date: Wed, 10 Oct 2018 22:07:05 -0400
+Subject: [PATCH] open_posix_testsuite/mmap24-2: Relax condition a bit
+
+Mips will return EINVAL instead of ENOMEM as expected
+if the range [addr + len) exceeds TASK_SIZE.
+
+Linux kernel code: arch/mips/mm/mmap.c
+if (flags & MAP_FIXED) {
+ /* Even MAP_FIXED mappings must reside within TASK_SIZE */
+ if (TASK_SIZE - len < addr)
+ return -EINVAL;
+
+Relax the condition and accept both ENOMEM and EINVAL
+as expected outcome.
+
+Upstream-Status: Submitted [https://lists.linux.it/pipermail/ltp/2018-October/009624.html]
+
+Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
+---
+ .../open_posix_testsuite/conformance/interfaces/mmap/24-2.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c b/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c
+index 9cf83d9..55090a6 100644
+--- a/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c
++++ b/testcases/open_posix_testsuite/conformance/interfaces/mmap/24-2.c
+@@ -7,7 +7,7 @@
+ * source tree.
+ *
+ * The mmap() function shall fail if:
+- * [ENOMEM] MAP_FIXED was specified,
++ * [ENOMEM or EINVAL] MAP_FIXED was specified,
+ * and the range [addr,addr+len) exceeds that allowed
+ * for the address space of a process; or, if MAP_FIXED was not specified and
+ * there is insufficient room in the address space to effect the mapping.
+@@ -15,7 +15,7 @@
+ * Test Step:
+ * 1. Map a shared memory object, with size exceeding the value get from
+ * rlim_cur of resource RLIMIT_AS, setting MAP_FIXED;
+- * 3. Should get ENOMEM.
++ * 3. Should get ENOMEM or EINVAL.
+ */
+
+ #include <stdio.h>
+@@ -92,8 +92,8 @@ int main(void)
+ (unsigned long)len);
+ pa = mmap(addr, len, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED, fd,
+ 0);
+- if (pa == MAP_FAILED && errno == ENOMEM) {
+- printf("Got ENOMEM: %s\nTest PASSED\n", strerror(errno));
++ if (pa == MAP_FAILED && (errno == ENOMEM || errno == EINVAL)) {
++ printf("Got ENOMEM or EINVAL: %s\nTest PASSED\n", strerror(errno));
+ exit(PTS_PASS);
+ }
+
+@@ -102,6 +102,6 @@ int main(void)
+ else
+ munmap(pa, len);
+ close(fd);
+- printf("Test Fail: Did not get ENOMEM as expected\n");
++ printf("Test Failed: Did not get ENOMEM or EINVAL as expected\n");
+ return PTS_FAIL;
+ }
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch b/poky/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
new file mode 100644
index 000000000..8704e5ffe
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch
@@ -0,0 +1,82 @@
+From 794933b38354a2612cf2c471f11798b306f35315 Mon Sep 17 00:00:00 2001
+From: Jan Stancek <jstancek@redhat.com>
+Date: Mon, 20 May 2019 20:47:20 +0200
+Subject: [PATCH] shmctl01: don't use hardcoded index == 0 for SHM_STAT test
+
+Test fails on SHM_STAT testcase:
+ shmctl01 5 TFAIL : shmctl01.c:173: shmctl01 call failed
+ errno = 22 : Invalid argument
+ shmctl(0, SHM_STAT, 0x601060) = -EINVAL
+
+since following commit:
+ commit 99db46ea292780cd978d56932d9445b1e8bdafe8
+ Author: Manfred Spraul <manfred@colorfullife.com>
+ Date: Tue May 14 15:46:36 2019 -0700
+ ipc: do cyclic id allocation for the ipc object.
+
+Don't rely on index 0 being always available, but instead
+use (maximum) index returned by SHM_INFO.
+
+Signed-off-by: Jan Stancek <jstancek@redhat.com>
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Acked-by: Cyril Hrubis <chrubis@suse.cz>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/db0a43d9388be2c347a8306751bbe6bec086d062]
+
+Signed-off-by: Hongzhi Song <hongzhi.song@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ testcases/kernel/syscalls/ipc/shmctl/shmctl01.c | 21 ++++++++++++++++++---
+ 1 file changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
+index 1b46977..52bf23a 100644
+--- a/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
++++ b/testcases/kernel/syscalls/ipc/shmctl/shmctl01.c
+@@ -79,6 +79,7 @@ static void func_info(int ret);
+
+ /* Check routine for SHM_STAT */
+ static void func_sstat(int ret);
++static void func_sstat_setup(void);
+
+ /* Check routine for SHM_LOCK */
+ static void func_lock(int ret);
+@@ -110,7 +111,7 @@ static struct test_case_t {
+ #endif
+ {&shm_id_1, IPC_SET, &buf, func_set, set_setup},
+ {&shm_id_1, IPC_INFO, (struct shmid_ds *) &info, func_info, NULL},
+- {&shm_index, SHM_STAT, &buf, func_sstat, NULL},
++ {&shm_index, SHM_STAT, &buf, func_sstat, func_sstat_setup},
+ {&shm_id_1, SHM_LOCK, NULL, func_lock, NULL},
+ {&shm_id_1, SHM_UNLOCK, NULL, func_unlock, NULL},
+ {&shm_id_1, IPC_RMID, NULL, func_rmid, NULL},
+@@ -407,9 +408,23 @@ static void func_info(int ret)
+ static void func_sstat(int ret)
+ {
+ if (ret >= 0)
+- tst_resm(TPASS, "get correct shared memory id");
++ tst_resm(TPASS, "get correct shared memory id for index: %d",
++ shm_index);
+ else
+- tst_resm(TFAIL, "shared memory id is incorrect");
++ tst_resm(TFAIL, "shared memory id is incorrect, index: %d",
++ shm_index);
++}
++
++static void func_sstat_setup(void)
++{
++ struct shm_info tmp;
++ int ret;
++
++ ret = shmctl(shm_id_1, SHM_INFO, (void *)&tmp);
++ if (ret < 0)
++ tst_resm(TFAIL|TERRNO, "shmctl(SHM_INFO)");
++ else
++ shm_index = ret;
+ }
+
+ static void func_lock(int ret)
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch b/poky/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
new file mode 100644
index 000000000..9cd188f65
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0011-direct_io-diotest4-drop-MAP_FIXED.patch
@@ -0,0 +1,56 @@
+From f210d7e19b721041f31b7f258a169f89dc850303 Mon Sep 17 00:00:00 2001
+From: Jan Stancek <jstancek@redhat.com>
+Date: Thu, 4 Jul 2019 16:45:23 +0200
+Subject: [PATCH] direct_io/diotest4: drop MAP_FIXED
+
+Hongzhi reports that this test is failing on mips64 with 5.1+:
+ diotest4 10 TBROK : diotest4.c:368: can't mmap file: Invalid argument
+ diotest4 11 TBROK : diotest4.c:368: Remaining cases broken
+I could reproduce it on emulated 5kc-malta, running 5.2.0-rc7.
+
+Test is trying to map into area immediately following heap as MAP_SHARED,
+but it used wrong alignment (fixed by 'lapi/mmap.h: include config.h').
+
+Usage of MAP_FIXED seems unnecessary, so drop that too and let the kernel
+pick an address.
+
+Reported-by: Hongzhi.Song <hongzhi.song@windriver.com>
+Signed-off-by: Jan Stancek <jstancek@redhat.com>
+Acked-by: Cyril Hrubis <chrubis@suse.cz>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/f5444eeeabf252b8884b9465d277b6af853819e3]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ testcases/kernel/io/direct_io/diotest4.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/testcases/kernel/io/direct_io/diotest4.c b/testcases/kernel/io/direct_io/diotest4.c
+index e4616e4..bf200cd 100644
+--- a/testcases/kernel/io/direct_io/diotest4.c
++++ b/testcases/kernel/io/direct_io/diotest4.c
+@@ -352,18 +352,14 @@ int main(int argc, char *argv[])
+ total++;
+
+ /* Test-10: read, write to a mmaped file */
+- shm_base = (char *)(((long)sbrk(0) + (shmsz - 1)) & ~(shmsz - 1));
+- if (shm_base == NULL) {
+- tst_brkm(TBROK, cleanup, "sbrk failed: %s", strerror(errno));
+- }
+ offset = 4096;
+ count = bufsize;
+ if ((fd = open(filename, O_DIRECT | O_RDWR)) < 0) {
+ tst_brkm(TBROK, cleanup, "can't open %s: %s",
+ filename, strerror(errno));
+ }
+- shm_base = mmap(shm_base, 0x100000, PROT_READ | PROT_WRITE,
+- MAP_SHARED | MAP_FIXED, fd, 0);
++ shm_base = mmap(0, 0x100000, PROT_READ | PROT_WRITE,
++ MAP_SHARED, fd, 0);
+ if (shm_base == (caddr_t) - 1) {
+ tst_brkm(TBROK, cleanup, "can't mmap file: %s",
+ strerror(errno));
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch b/poky/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
new file mode 100644
index 000000000..aecbc80e9
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp/0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch
@@ -0,0 +1,64 @@
+From 4ac747c1f7ff8e2ec2567d6672822e95a9b56e55 Mon Sep 17 00:00:00 2001
+From: "Hongzhi.Song" <hongzhi.song@windriver.com>
+Date: Mon, 15 Jul 2019 03:39:06 -0400
+Subject: [PATCH] getrlimit03: adjust a bit of code to compatiable with mips32
+
+Error info:
+getrlimit03.c:104: FAIL: __NR_prlimit64(0) had rlim_cur =
+ffffffffffffffff but __NR_getrlimit(0) had rlim_cur = 7fffffff
+
+According to kernel code: [arch/mips/include/uapi/asm/resource.h]
+RLIM_INFINITY is set to 0x7fffffffUL instead of ULONG_MAX on mips32.
+
+ /*
+ * SuS says limits have to be unsigned.
+ * Which makes a ton more sense anyway,
+ * but we keep the old value on MIPS32,
+ * for compatibility:
+ */
+ #ifndef __mips64
+ # define RLIM_INFINITY 0x7fffffffUL
+ #endif
+
+Adding conditional statement about mips to fix this.
+
+Signed-off-by: Jan Stancek <jstancek@redhat.com>
+Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
+
+Upstream-Status: Backport
+[https://github.com/linux-test-project/ltp/commit/7a3bca63cd7f059d490b6274f0fdf3247be93fde]
+
+Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
+---
+ testcases/kernel/syscalls/getrlimit/getrlimit03.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/testcases/kernel/syscalls/getrlimit/getrlimit03.c b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
+index e4d56c4..319bc49 100644
+--- a/testcases/kernel/syscalls/getrlimit/getrlimit03.c
++++ b/testcases/kernel/syscalls/getrlimit/getrlimit03.c
+@@ -26,6 +26,7 @@
+
+ #include "tst_test.h"
+ #include "lapi/syscalls.h"
++#include "lapi/abisize.h"
+
+ /**
+ * Linux provides an "old" getrlimit syscall handler that uses signed long,
+@@ -61,7 +62,12 @@ struct rlimit_ulong {
+ unsigned long rlim_cur;
+ unsigned long rlim_max;
+ };
+-const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
++
++#if defined(__mips__) && defined(TST_ABI32)
++ const unsigned long RLIM_INFINITY_UL = 0x7fffffffUL;
++#else
++ const unsigned long RLIM_INFINITY_UL = ULONG_MAX;
++#endif
+
+ static int getrlimit_ulong(int resource, struct rlimit_ulong *rlim)
+ {
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch b/poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch
deleted file mode 100644
index a79763d00..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0018-guard-mallocopt-with-__GLIBC__.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From f42b060e80c9f40627c712d4d56d45221bd7d9fa Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 06:51:20 +0000
-Subject: [PATCH 18/32] guard mallocopt() with __GLIBC__
-
-mallocopt is not available on non glibc implementations
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
----
- utils/benchmark/ebizzy-0.3/ebizzy.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/utils/benchmark/ebizzy-0.3/ebizzy.c b/utils/benchmark/ebizzy-0.3/ebizzy.c
-index 5bb8eff..934d951 100644
---- a/utils/benchmark/ebizzy-0.3/ebizzy.c
-+++ b/utils/benchmark/ebizzy-0.3/ebizzy.c
-@@ -215,10 +215,10 @@ static void read_options(int argc, char *argv[])
- "\"never mmap\" option specified\n");
- usage();
- }
--
-+#ifdef __GLIBC__
- if (never_mmap)
- mallopt(M_MMAP_MAX, 0);
--
-+#endif
- if (chunk_size < record_size) {
- fprintf(stderr, "Chunk size %u smaller than record size %u\n",
- chunk_size, record_size);
---
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch b/poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch
deleted file mode 100644
index 7060a64b1..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0020-getdents-define-getdents-getdents64-only-for-glibc.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From aa3568e6ac28f377e75ce16b11e3c7738a373e53 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 06:57:04 +0000
-Subject: [PATCH 20/32] getdents: define getdents/getdents64 only for glibc
-
-getdents/getdents64 are implemented in musl and when we define static
-functions with same name, it errors out.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/getdents/getdents.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/getdents/getdents.h b/testcases/kernel/syscalls/getdents/getdents.h
-index abea655..db63d89 100644
---- a/testcases/kernel/syscalls/getdents/getdents.h
-+++ b/testcases/kernel/syscalls/getdents/getdents.h
-@@ -34,12 +34,13 @@ struct linux_dirent {
- char d_name[];
- };
-
-+#ifdef __GLIBC__
- static inline int
- getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int size)
- {
- return ltp_syscall(__NR_getdents, fd, dirp, size);
- }
--
-+#endif
- struct linux_dirent64 {
- uint64_t d_ino;
- int64_t d_off;
-@@ -48,10 +49,11 @@ struct linux_dirent64 {
- char d_name[];
- };
-
-+#ifdef __GLIBC__
- static inline int
- getdents64(unsigned int fd, struct linux_dirent64 *dirp64, unsigned int size)
- {
- return ltp_syscall(__NR_getdents64, fd, dirp64, size);
- }
--
-+#endif
- #endif /* GETDENTS_H */
---
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch b/poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch
deleted file mode 100644
index 6c5f36035..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From b216435bb362df10c45f544b78d8c884eaa901fd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:01:02 +0000
-Subject: [PATCH 21/32] Define _GNU_SOURCE for MREMAP_MAYMOVE definition
-
-musl guards MREMAP_MAYMOVE with _GNU_SOURCE unlike glibc which uses
-__USE_GNU
-
-Fixes errors like
-error: 'MREMAP_MAYMOVE' undeclared (first use in this function)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/mremap/mremap01.c | 4 +++-
- testcases/kernel/syscalls/mremap/mremap02.c | 2 ++
- testcases/kernel/syscalls/mremap/mremap03.c | 2 ++
- 3 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/mremap/mremap01.c b/testcases/kernel/syscalls/mremap/mremap01.c
-index d63d1e4..24ca174 100644
---- a/testcases/kernel/syscalls/mremap/mremap01.c
-+++ b/testcases/kernel/syscalls/mremap/mremap01.c
-@@ -76,10 +76,12 @@
- */
- #include <unistd.h>
- #include <errno.h>
-+#include <fcntl.h>
-+#define _GNU_SOURCE
- #define __USE_GNU
- #include <sys/mman.h>
- #undef __USE_GNU
--#include <fcntl.h>
-+#undef _GNU_SOURCE
-
- #include "test.h"
- #include "safe_macros.h"
-diff --git a/testcases/kernel/syscalls/mremap/mremap02.c b/testcases/kernel/syscalls/mremap/mremap02.c
-index 5a51b9a..a530a6b 100644
---- a/testcases/kernel/syscalls/mremap/mremap02.c
-+++ b/testcases/kernel/syscalls/mremap/mremap02.c
-@@ -75,9 +75,11 @@
- #include <errno.h>
- #include <unistd.h>
- #include <fcntl.h>
-+#define _GNU_SOURCE
- #define __USE_GNU
- #include <sys/mman.h>
- #undef __USE_GNU
-+#undef _GNU_SOURCE
-
- #include "test.h"
-
-diff --git a/testcases/kernel/syscalls/mremap/mremap03.c b/testcases/kernel/syscalls/mremap/mremap03.c
-index 12e3829..9b39f8b 100644
---- a/testcases/kernel/syscalls/mremap/mremap03.c
-+++ b/testcases/kernel/syscalls/mremap/mremap03.c
-@@ -76,9 +76,11 @@
- #include <errno.h>
- #include <unistd.h>
- #include <fcntl.h>
-+#define _GNU_SOURCE
- #define __USE_GNU
- #include <sys/mman.h>
- #undef __USE_GNU
-+#undef _GNU_SOURCE
-
- #include "test.h"
-
---
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch b/poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch
deleted file mode 100644
index 529f4ed30..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 560347f77236616a635b4a997a0596b8da4d0799 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:08:25 +0000
-Subject: [PATCH 23/32] ptrace: Use int instead of enum __ptrace_request
-
-__ptrace_request is only available with glibc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/ptrace/ptrace03.c | 4 ++++
- testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h | 4 ++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/testcases/kernel/syscalls/ptrace/ptrace03.c b/testcases/kernel/syscalls/ptrace/ptrace03.c
-index a4028fc..f1880cd 100644
---- a/testcases/kernel/syscalls/ptrace/ptrace03.c
-+++ b/testcases/kernel/syscalls/ptrace/ptrace03.c
-@@ -102,7 +102,11 @@ static pid_t unused_pid;
- static pid_t zero_pid;
-
- struct test_case_t {
-+#ifdef __GLIBC__
- enum __ptrace_request request;
-+#else
-+ int request;
-+#endif
- pid_t *pid;
- int exp_errno;
- } test_cases[] = {
-diff --git a/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h b/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h
-index ae538e9..85aa89d 100644
---- a/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h
-+++ b/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h
-@@ -130,7 +130,11 @@ static char *strings[] = {
- SPT(KILL)
- SPT(SINGLESTEP)
- };
-+#ifdef __GLIBC__
- static inline char *strptrace(enum __ptrace_request request)
-+#else
-+static inline char *strptrace(int request)
-+#endif
- {
- return strings[request];
- }
---
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch b/poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch
deleted file mode 100644
index 03aa45df8..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From e01e9862c248dc90a8ec6f2d06f8469d7a50cd8e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:14:58 +0000
-Subject: [PATCH 24/32] rt_sigaction/rt_sigprocmark: Define _GNU_SOURCE
-
-Fixes musl build failure e.g.
-error: 'SA_NOMASK' undeclared here (not in a function)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c | 1 +
- testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c | 2 +-
- testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c | 1 +
- testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c | 1 +
- 4 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
-index 5cf89cc..bdcb91a 100644
---- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
-+++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction01.c
-@@ -28,6 +28,7 @@
- /* sigset_t type. */
- /******************************************************************************/
-
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c
-index a1da743..8a27a0f 100644
---- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c
-+++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction02.c
-@@ -23,7 +23,7 @@
- /* Description: This tests the rt_sigaction() syscall */
- /* rt_sigaction Expected EFAULT error check */
- /******************************************************************************/
--
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-diff --git a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c
-index 175d220..e7627cd 100644
---- a/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c
-+++ b/testcases/kernel/syscalls/rt_sigaction/rt_sigaction03.c
-@@ -24,6 +24,7 @@
- /* rt_sigaction Expected EINVAL error check */
- /******************************************************************************/
-
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-diff --git a/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c b/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c
-index 74e5a61..75c57fc 100644
---- a/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c
-+++ b/testcases/kernel/syscalls/rt_sigprocmask/rt_sigprocmask01.c
-@@ -39,6 +39,7 @@
- /* sigsetsize should indicate the size of a sigset_t type. */
- /******************************************************************************/
-
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <signal.h>
- #include <errno.h>
---
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch b/poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch
deleted file mode 100644
index f65fad12d..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0026-crash01-Define-_GNU_SOURCE.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0133a2b29d6f48d8e2bba6a3be581cdfa91311a6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:21:05 +0000
-Subject: [PATCH 26/32] crash01: Define _GNU_SOURCE
-
-Fixes musl build errors like
-error: 'SA_NOMASK' undeclared (first use in this function)
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- testcases/misc/crash/crash01.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/misc/crash/crash01.c b/testcases/misc/crash/crash01.c
-index 0574521..08a02e7 100644
---- a/testcases/misc/crash/crash01.c
-+++ b/testcases/misc/crash/crash01.c
-@@ -49,7 +49,7 @@ stress test at the same time you run other tests, like a multi-user
- benchmark.
-
- */
--
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
---
-2.7.0
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch b/poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch
deleted file mode 100644
index 40ee89414..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 94557fb7e1293c61145c959b8c5ffecf4a2b1069 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 Jan 2016 07:24:44 +0000
-Subject: [PATCH 28/32] rt_sigaction.h: Use sighandler_t instead of
- __sighandler_t
-
-When _GNU_SOURCE is used then both typedefs are same and using
-sighandler_t makes it work on musl too
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
----
- include/lapi/rt_sigaction.h | 4 ++--
- testcases/kernel/syscalls/rt_sigsuspend/Makefile | 3 +++
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/include/lapi/rt_sigaction.h b/include/lapi/rt_sigaction.h
-index 18236db..15facda 100644
---- a/include/lapi/rt_sigaction.h
-+++ b/include/lapi/rt_sigaction.h
-@@ -36,12 +36,12 @@
- #if defined(__mips__)
- struct kernel_sigaction {
- unsigned int sa_flags;
-- __sighandler_t k_sa_handler;
-+ sighandler_t k_sa_handler;
- sigset_t sa_mask;
- };
- #else
- struct kernel_sigaction {
-- __sighandler_t k_sa_handler;
-+ sighandler_t k_sa_handler;
- unsigned long sa_flags;
- void (*sa_restorer) (void);
- sigset_t sa_mask;
-diff --git a/testcases/kernel/syscalls/rt_sigsuspend/Makefile b/testcases/kernel/syscalls/rt_sigsuspend/Makefile
-index 37bc3a9..2ca7f7c 100644
---- a/testcases/kernel/syscalls/rt_sigsuspend/Makefile
-+++ b/testcases/kernel/syscalls/rt_sigsuspend/Makefile
-@@ -19,4 +19,7 @@
- top_srcdir ?= ../../../..
-
- include $(top_srcdir)/include/mk/testcases.mk
-+
-+CFLAGS += -D_GNU_SOURCE
-+
- include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch b/poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch
deleted file mode 100644
index c2ef899cc..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0034-periodic_output.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 5a77e2bdc083f4f842a8ba7c2db1a7ac6e5f0664 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 31 May 2017 21:26:05 -0400
-Subject: [PATCH] Add periodic output for long time test.
-
-This is needed in context of having scripts running ltp tests and
-waiting with a timeout for the output of the tests.
-
-Signed-off-by: Tudor Florea <tudor.florea@enea.com>
-Upstream-Status: Pending
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- .../kernel/controllers/memcg/stress/memcg_stress_test.sh | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
-index af1a708..084e628 100755
---- a/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
-+++ b/testcases/kernel/controllers/memcg/stress/memcg_stress_test.sh
-@@ -37,7 +37,8 @@ if [ "x$(grep -w memory /proc/cgroups | cut -f4)" != "x1" ]; then
- exit 0
- fi
-
--RUN_TIME=$(( 15 * 60 ))
-+ONE_MINUTE=60
-+RUN_TIME=15
-
- cleanup()
- {
-@@ -62,7 +63,7 @@ do_mount()
- # $1 - Number of cgroups
- # $2 - Allocated how much memory in one process? in MB
- # $3 - The interval to touch memory in a process
--# $4 - How long does this test run ? in second
-+# $4 - How long does this test run ? in minutes
- run_stress()
- {
- do_mount;
-@@ -81,7 +82,11 @@ run_stress()
- eval /bin/kill -s SIGUSR1 \$pid$i 2> /dev/null
- done
-
-- sleep $4
-+ for i in $(seq 0 $(($4-1)))
-+ do
-+ eval echo "Started $i min ago. Still alive... "
-+ sleep $ONE_MINUTE
-+ done
-
- for i in $(seq 0 $(($1-1)))
- do
---
-2.8.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch b/poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch
deleted file mode 100644
index 665da3bef..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0035-fix-test_proc_kill-hang.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From f7c602b639db0d118e07d3fa7b6deead0be0c72b Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Wed, 8 Feb 2017 16:17:17 +0800
-Subject: [PATCH 3/5] Fix test_proc_kill hanging
-
-Sometimes the signal is delivered to memcg_process before the framework took
-into consideration its pid entered in the tasks. Fixed by delaying the signal
-send command.
-
-Signed-off-by: George Nita <george.nita@enea.com>
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
-
-Upstream-Status: Pending
----
- testcases/kernel/controllers/memcg/functional/memcg_lib.sh | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-index b785fe3..2918cc5 100755
---- a/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-+++ b/testcases/kernel/controllers/memcg/functional/memcg_lib.sh
-@@ -291,6 +291,7 @@ test_proc_kill()
- pid=$!
- TST_CHECKPOINT_WAIT 0
- echo $pid > tasks
-+ sleep 1
-
- signal_memcg_process $pid $3
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch b/poky/meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
deleted file mode 100644
index e826d48e3..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 672a56be14426eae44864673c6c2afca0ab89d46 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Fri, 13 May 2016 11:11:28 -0500
-Subject: [PATCH] testcases/network/nfsv4/acl/acl1.c: Security fix on string
- printf
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes:
-
-acl1.c: In function 'test_acl_default':
-acl1.c:317:2: error: format not a string literal and no format arguments
-[-Werror=format-security]
- printf(cmd);
-
-[YOCTO #9548]
-
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
-Upstream-Status: Pending
----
- testcases/network/nfsv4/acl/acl1.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testcases/network/nfsv4/acl/acl1.c b/testcases/network/nfsv4/acl/acl1.c
-index b8b67b4..7c7c506 100644
---- a/testcases/network/nfsv4/acl/acl1.c
-+++ b/testcases/network/nfsv4/acl/acl1.c
-@@ -303,7 +303,7 @@ void test_acl_default(char *dir, acl_t acl)
- char *cmd = malloc(256);
-
- strcpy(cmd, "chmod 7777 ");
-- printf(cmd);
-+ printf(cmd, NULL);
- strcat(cmd, dir);
- system(cmd);
- acl2 = acl_get_file(path, ACL_TYPE_ACCESS);
---
-2.1.4
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch b/poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch
deleted file mode 100644
index ec5e2ef95..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch
+++ /dev/null
@@ -1,254 +0,0 @@
-From 04da9478887e705ea38e4f097492da20e651686c Mon Sep 17 00:00:00 2001
-From: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
-Date: Wed, 13 Sep 2017 15:48:42 +0800
-Subject: [PATCH] commands/ar01: Fix for test in deterministic mode
-
-If binutils was configured with --enable-deterministic-archives,
-ar will run in deterministic mode by default, and use zero for
-timestamps and uids/gids, which makes the test case abnormal.
-
-Fix this by add the "U" modifier when deterministic mode is default.
-
-Signed-off-by: Guangwen Feng <fenggw-fnst@cn.fujitsu.com>
-Signed-off-by: Fei Jie <feij.fnst@cn.fujitsu.com>
-
-Upstream-Status: Backport
-[http://lists.linux.it/pipermail/ltp/2017-September/005668.html]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- testcases/commands/ar/ar01 | 92 ++++++++++++++++++++++++++--------------------
- 1 file changed, 52 insertions(+), 40 deletions(-)
-
-diff --git a/testcases/commands/ar/ar01 b/testcases/commands/ar/ar01
-index be105f6da..813a51d9c 100644
---- a/testcases/commands/ar/ar01
-+++ b/testcases/commands/ar/ar01
-@@ -24,16 +24,28 @@
- #
- AR="${AR:=ar}"
- TST_CNT=17
-+TST_SETUP=setup
- TST_TESTFUNC=test
- TST_NEEDS_TMPDIR=1
- TST_NEEDS_CMDS="$AR"
-
- . tst_test.sh
-
-+setup()
-+{
-+ ar --help | grep "use zero for timestamps and uids/gids (default)" \
-+ >/dev/null
-+ if [ $? -eq 0 ]; then
-+ MOD="U"
-+ else
-+ MOD=""
-+ fi
-+}
-+
- test1()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
-- ROD ar -ra file1.in lib.a $TST_DATAROOT/file2.in
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
-+ ROD ar -ra"$MOD" file1.in lib.a $TST_DATAROOT/file2.in
- ROD ar -t lib.a \> ar.out
-
- printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -50,9 +62,9 @@ test1()
-
- test2()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-- $TST_DATAROOT/file3.in $TST_DATAROOT/file4.in
-- ROD ar -ma file1.in lib.a file4.in
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+ $TST_DATAROOT/file3.in $TST_DATAROOT/file4.in
-+ ROD ar -ma"$MOD" file1.in lib.a file4.in
- ROD ar -t lib.a \> ar.out
-
- printf "file1.in\nfile4.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -69,8 +81,8 @@ test2()
-
- test3()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
-- ROD ar -rb file3.in lib.a $TST_DATAROOT/file2.in
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
-+ ROD ar -rb"$MOD" file3.in lib.a $TST_DATAROOT/file2.in
- ROD ar -t lib.a \> ar.out
-
- printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -87,9 +99,9 @@ test3()
-
- test4()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
-- $TST_DATAROOT/file2.in
-- ROD ar -mb file3.in lib.a file2.in
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
-+ $TST_DATAROOT/file2.in
-+ ROD ar -mb"$MOD" file3.in lib.a file2.in
- ROD ar -t lib.a \> ar.out
-
- printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -106,7 +118,7 @@ test4()
-
- test5()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in \> ar.out
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in \> ar.out
-
- if [ -s ar.out ]; then
- tst_res TFAIL "ar produced output unexpectedly (-c)"
-@@ -120,7 +132,7 @@ test5()
-
- test6()
- {
-- ROD ar -qc lib.a $TST_DATAROOT/file1.in \> ar.out
-+ ROD ar -qc"$MOD" lib.a $TST_DATAROOT/file1.in \> ar.out
-
- if [ -s ar.out ]; then
- tst_res TFAIL "ar produced output unexpectedly (-qc)"
-@@ -134,9 +146,9 @@ test6()
-
- test7()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-- $TST_DATAROOT/file3.in
-- ROD ar -d lib.a file1.in file2.in
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+ $TST_DATAROOT/file3.in
-+ ROD ar -d"$MOD" lib.a file1.in file2.in
- ROD ar -t lib.a \> ar.out
-
- printf "file3.in\n" > ar.exp
-@@ -153,9 +165,9 @@ test7()
-
- test8()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-- $TST_DATAROOT/file3.in
-- ROD ar -d lib.a
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+ $TST_DATAROOT/file3.in
-+ ROD ar -d"$MOD" lib.a
- ROD ar -t lib.a \> ar.out
-
- printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -172,8 +184,8 @@ test8()
-
- test9()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
-- ROD ar -ri file3.in lib.a $TST_DATAROOT/file2.in
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in
-+ ROD ar -ri"$MOD" file3.in lib.a $TST_DATAROOT/file2.in
- ROD ar -t lib.a \> ar.out
-
- printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -190,9 +202,9 @@ test9()
-
- test10()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
-- $TST_DATAROOT/file2.in
-- ROD ar -mi file3.in lib.a file2.in
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
-+ $TST_DATAROOT/file2.in
-+ ROD ar -mi"$MOD" file3.in lib.a file2.in
- ROD ar -t lib.a \> ar.out
-
- printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -209,9 +221,9 @@ test10()
-
- test11()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
-- $TST_DATAROOT/file2.in
-- ROD ar -m lib.a file3.in
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file3.in \
-+ $TST_DATAROOT/file2.in
-+ ROD ar -m"$MOD" lib.a file3.in
- ROD ar -t lib.a \> ar.out
-
- printf "file1.in\nfile2.in\nfile3.in\n" > ar.exp
-@@ -228,9 +240,9 @@ test11()
-
- test12()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-- $TST_DATAROOT/file3.in
-- ROD ar -p lib.a \> ar.out
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+ $TST_DATAROOT/file3.in
-+ ROD ar -p"$MOD" lib.a \> ar.out
-
- printf "This is file one\nThis is file two\nThis is file three\n" > ar.exp
-
-@@ -247,9 +259,9 @@ test12()
- test13()
- {
-
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-- $TST_DATAROOT/file3.in
-- ROD ar -q lib.a $TST_DATAROOT/file4.in
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+ $TST_DATAROOT/file3.in
-+ ROD ar -q"$MOD" lib.a $TST_DATAROOT/file4.in
- ROD ar -t lib.a \> ar.out
-
- printf "file1.in\nfile2.in\nfile3.in\nfile4.in\n" > ar.exp
-@@ -267,14 +279,14 @@ test13()
- test14()
- {
- ROD touch file0.in
-- ROD ar -cr lib.a file0.in $TST_DATAROOT/file1.in
-+ ROD ar -cr"$MOD" lib.a file0.in $TST_DATAROOT/file1.in
-
- file0_mtime1=$(ar -tv lib.a | grep file0.in)
- file1_mtime1=$(ar -tv lib.a | grep file1.in)
-
- touch -c -t $(date --date='next day' +"%Y%m%d%H%M") file0.in
-
-- ROD ar -ru lib.a file0.in $TST_DATAROOT/file1.in
-+ ROD ar -ru"$MOD" lib.a file0.in $TST_DATAROOT/file1.in
-
- file0_mtime2=$(ar -tv lib.a | grep file0.in)
- file1_mtime2=$(ar -tv lib.a | grep file1.in)
-@@ -296,7 +308,7 @@ test14()
-
- test15()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in
- ROD ar -tv lib.a \> ar.out
-
- if grep -q '[rwx-]\{9\} [0-9].*/[0-9].*\s*[0-9].*.*file1.in' ar.out; then
-@@ -311,9 +323,9 @@ test15()
-
- test16()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-- $TST_DATAROOT/file3.in
-- ROD ar -xv lib.a \> ar.out
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in \
-+ $TST_DATAROOT/file3.in
-+ ROD ar -xv"$MOD" lib.a \> ar.out
-
- printf "x - file1.in\nx - file2.in\nx - file3.in\n" > ar.exp
-
-@@ -335,8 +347,8 @@ test16()
-
- test17()
- {
-- ROD ar -cr lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in
-- ROD ar -xv lib.a file2.in \> ar.out
-+ ROD ar -cr"$MOD" lib.a $TST_DATAROOT/file1.in $TST_DATAROOT/file2.in
-+ ROD ar -xv"$MOD" lib.a file2.in \> ar.out
-
- printf "x - file2.in\n" > ar.exp
-
---
-2.19.0.rc2
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch b/poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch
deleted file mode 100644
index c324463e6..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/define-sigrtmin-and-sigrtmax-for-musl.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 34b91edc70709f32b44f6b3a32c8f18db393e36c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org>
-Date: Wed, 20 Feb 2019 08:07:27 -0600
-Subject: [PATCH] Define __SIGRTMIN and __SIGRTMAX for MUSL
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Some libc implementations might differ in the definitions they
-include. Exempli gratia: MUSL does not define __SIGRTMAX nor
-__SIGRTMIN.
-
-These two tests fail to build because of the missing
-definitions:
- testcases/kernel/syscalls/ptrace/ptrace05.c
- testcases/kernel/syscalls/sighold/sighold02.c
-
-Out of precaution, these two also include this header:
- lib/tst_sig.c
- testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
-
-Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2019-February/010916.html]
-
-Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
----
- include/lapi/signal.h | 24 +++++++++++++++++++
- lib/tst_sig.c | 1 +
- testcases/kernel/syscalls/ptrace/ptrace05.c | 1 +
- .../syscalls/rt_sigsuspend/rt_sigsuspend01.c | 1 +
- testcases/kernel/syscalls/sighold/sighold02.c | 1 +
- 5 files changed, 28 insertions(+)
- create mode 100644 include/lapi/signal.h
-
-diff --git a/include/lapi/signal.h b/include/lapi/signal.h
-new file mode 100644
-index 000000000..d22965a94
---- /dev/null
-+++ b/include/lapi/signal.h
-@@ -0,0 +1,24 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later
-+/*
-+ * Copyright (c) 2019 Linaro Limited. All rights reserved.
-+ * Author: Daniel Díaz <daniel.diaz@linaro.org>
-+ */
-+
-+#ifndef LAPI_SIGNAL_H
-+#define LAPI_SIGNAL_H
-+
-+#include <signal.h>
-+
-+/*
-+ * Some libc implementations might differ in the definitions they include. This
-+ * covers those differences for all tests to successfully build.
-+ */
-+
-+#ifndef __SIGRTMIN
-+# define __SIGRTMIN 32
-+#endif
-+#ifndef __SIGRTMAX
-+# define __SIGRTMAX (_NSIG - 1)
-+#endif
-+
-+#endif
-diff --git a/lib/tst_sig.c b/lib/tst_sig.c
-index 36565e13d..6d77aeafd 100644
---- a/lib/tst_sig.c
-+++ b/lib/tst_sig.c
-@@ -72,6 +72,7 @@
- #include <signal.h>
- #include <unistd.h>
- #include "test.h"
-+#include "lapi/signal.h"
-
- #define MAXMESG 150 /* size of mesg string sent to tst_res */
-
-diff --git a/testcases/kernel/syscalls/ptrace/ptrace05.c b/testcases/kernel/syscalls/ptrace/ptrace05.c
-index 420330029..54cfa4d7b 100644
---- a/testcases/kernel/syscalls/ptrace/ptrace05.c
-+++ b/testcases/kernel/syscalls/ptrace/ptrace05.c
-@@ -38,6 +38,7 @@
- #include "ptrace.h"
-
- #include "test.h"
-+#include "lapi/signal.h"
-
- char *TCID = "ptrace05";
- int TST_TOTAL = 0;
-diff --git a/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c b/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
-index f17a9aae6..e577cf227 100644
---- a/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
-+++ b/testcases/kernel/syscalls/rt_sigsuspend/rt_sigsuspend01.c
-@@ -18,6 +18,7 @@
- #include "tst_test.h"
- #include "lapi/syscalls.h"
- #include "lapi/safe_rt_signal.h"
-+#include "lapi/signal.h"
-
- static void sig_handler(int sig)
- {
-diff --git a/testcases/kernel/syscalls/sighold/sighold02.c b/testcases/kernel/syscalls/sighold/sighold02.c
-index d1d4b0b06..b763142df 100644
---- a/testcases/kernel/syscalls/sighold/sighold02.c
-+++ b/testcases/kernel/syscalls/sighold/sighold02.c
-@@ -49,6 +49,7 @@
- #include <sys/wait.h>
- #include "test.h"
- #include "safe_macros.h"
-+#include "lapi/signal.h"
-
- /* _XOPEN_SOURCE disables NSIG */
- #ifndef NSIG
---
-2.17.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch b/poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch
deleted file mode 100644
index 24449148f..000000000
--- a/poky/meta/recipes-extended/ltp/ltp/setregid01-security-string-formatting.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 430e05c2169ed15aaa6d7f9459edd607603cee02 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org>
-Date: Mon, 25 Feb 2019 10:44:33 -0600
-Subject: [PATCH] setregid01: Fix security warning for string formatting
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-GCC 8.2.0 complains with the following:
- setregid01.c: In function 'run':
- setregid01.c:47:3: error: format not a string literal and no format arguments [-Werror=format-security]
- tst_res(TFAIL | TTERRNO, tc->msg);
- ^~~~~~~
-because there is no string formatting in the message. This can
-be seen with CFLAGS set to:
- -Wformat -Wformat-security -Werror=format-security
-as Yocto Project's Poky does, e.g.:
- http://errors.yoctoproject.org/Errors/Details/230043/
-
-Upstream-Status: Backport [46e1eda55f188810e6bf3a939b92d604321807ae]
-
-Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
-Reviewed-by: Enji Cooper <yaneurabeya@gmail.com>
----
- testcases/kernel/syscalls/setregid/setregid01.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/testcases/kernel/syscalls/setregid/setregid01.c b/testcases/kernel/syscalls/setregid/setregid01.c
-index f2e41e134..8c9e11918 100644
---- a/testcases/kernel/syscalls/setregid/setregid01.c
-+++ b/testcases/kernel/syscalls/setregid/setregid01.c
-@@ -44,9 +44,9 @@ static void run(unsigned int n)
- TEST(SETREGID(*tc->arg1, *tc->arg2));
-
- if (TST_RET == -1)
-- tst_res(TFAIL | TTERRNO, tc->msg);
-+ tst_res(TFAIL | TTERRNO, "%s", tc->msg);
- else
-- tst_res(TPASS, tc->msg);
-+ tst_res(TPASS, "%s", tc->msg);
- }
-
- static void setup(void)
---
-2.17.1
-
diff --git a/poky/meta/recipes-extended/ltp/ltp_20190115.bb b/poky/meta/recipes-extended/ltp/ltp_20190115.bb
deleted file mode 100644
index 1d0c00b64..000000000
--- a/poky/meta/recipes-extended/ltp/ltp_20190115.bb
+++ /dev/null
@@ -1,123 +0,0 @@
-SUMMARY = "Linux Test Project"
-DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
-HOMEPAGE = "https://linux-test-project.github.io/"
-SECTION = "console/utils"
-LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause"
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
- file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \
- file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
- file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
- file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
- file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
- file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://utils/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \
-"
-
-DEPENDS = "attr libaio libcap acl openssl zip-native"
-DEPENDS_append_libc-musl = " fts "
-EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
-
-# since ltp contains x86-64 assembler which uses the frame-pointer register,
-# set -fomit-frame-pointer x86-64 to handle cases where optimisation
-# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
-# earlier in CFLAGS, etc.
-CFLAGS_append_x86-64 = " -fomit-frame-pointer"
-
-CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
-CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
-SRCREV = "a6a5caef13632e669dda27b0461726eba546a2f3"
-
-SRC_URI = "git://github.com/linux-test-project/ltp.git \
- file://0004-build-Add-option-to-select-libc-implementation.patch \
- file://0005-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \
- file://0007-fix-__WORDSIZE-undeclared-when-building-with-musl.patch \
- file://0008-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \
- file://0009-fix-redefinition-of-struct-msgbuf-error-building-wit.patch \
- file://0018-guard-mallocopt-with-__GLIBC__.patch \
- file://0020-getdents-define-getdents-getdents64-only-for-glibc.patch \
- file://0021-Define-_GNU_SOURCE-for-MREMAP_MAYMOVE-definition.patch \
- file://0023-ptrace-Use-int-instead-of-enum-__ptrace_request.patch \
- file://0024-rt_sigaction-rt_sigprocmark-Define-_GNU_SOURCE.patch \
- file://0026-crash01-Define-_GNU_SOURCE.patch \
- file://0028-rt_sigaction.h-Use-sighandler_t-instead-of-__sighand.patch \
- file://0034-periodic_output.patch \
- file://0035-fix-test_proc_kill-hang.patch \
- file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
- file://0039-commands-ar01-Fix-for-test-in-deterministic-mode.patch \
- file://0001-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
- file://define-sigrtmin-and-sigrtmax-for-musl.patch \
- file://setregid01-security-string-formatting.patch \
- file://0001-syscalls-setrlimit03.c-read-proc-sys-fs-nr_open-for-.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-export prefix = "/opt/ltp"
-export exec_prefix = "/opt/ltp"
-
-PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl,"
-EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4"
-EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite --with-open-posix-testsuite "
-# ltp network/rpc test cases ftbfs when libtirpc is found
-EXTRA_OECONF += " --without-tirpc "
-
-do_install(){
- install -d ${D}/opt/ltp/
- oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
-
- # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run
- # as it lacks dependency on some perl moudle such as LWP::Simple
- # And this script previously works as a tool for analyzing failures from LTP
- # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses
- # http://khack.osdl.org to retrieve ltp test results run on
- # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
- rm -rf ${D}/opt/ltp/bin/STPfailure_report.pl
-
- # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual
- cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases
-}
-
-RDEPENDS_${PN} = "\
- acl \
- at \
- attr \
- bash \
- cpio \
- cronie \
- curl \
- e2fsprogs-mke2fs \
- expect \
- file \
- gawk \
- gzip \
- iproute2 \
- ldd \
- libaio \
- logrotate \
- perl \
- python-core \
- procps \
- quota \
- unzip \
- util-linux \
- which \
- tar \
-"
-
-FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/* /opt/ltp/testcases/data/nm01/lib.a /opt/ltp/lib/libmem.a"
-
-# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
-INHIBIT_PACKAGE_STRIP_FILES = "/opt/ltp/testcases/bin/nm01 /opt/ltp/testcases/bin/ldd01"
-INSANE_SKIP_${PN} += "already-stripped staticdev"
-
-# Avoid file dependency scans, as LTP checks for things that may or may not
-# exist on the running system. For instance it has specific checks for
-# csh and ksh which are not typically part of OpenEmbedded systems (but
-# can be added via additional layers.)
-SKIP_FILEDEPS_${PN} = '1'
diff --git a/poky/meta/recipes-extended/ltp/ltp_20190517.bb b/poky/meta/recipes-extended/ltp/ltp_20190517.bb
new file mode 100644
index 000000000..465071560
--- /dev/null
+++ b/poky/meta/recipes-extended/ltp/ltp_20190517.bb
@@ -0,0 +1,122 @@
+SUMMARY = "Linux Test Project"
+DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
+HOMEPAGE = "https://linux-test-project.github.io/"
+SECTION = "console/utils"
+LICENSE = "GPLv2 & GPLv2+ & LGPLv2+ & LGPLv2.1+ & BSD-2-Clause"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://testcases/kernel/controllers/freezer/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+ file://testcases/kernel/controllers/freezer/run_freezer.sh;beginline=5;endline=17;md5=86a61d2c042d59836ffb353a21456498 \
+ file://testcases/kernel/hotplug/memory_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
+ file://testcases/kernel/hotplug/cpu_hotplug/COPYING;md5=e04a2e542b2b8629bf9cd2ba29b0fe41 \
+ file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
+ file://testcases/realtime/COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
+ file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://utils/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \
+"
+
+DEPENDS = "attr libaio libcap acl openssl zip-native"
+DEPENDS_append_libc-musl = " fts "
+EXTRA_OEMAKE_append_libc-musl = " LIBC=musl "
+
+# since ltp contains x86-64 assembler which uses the frame-pointer register,
+# set -fomit-frame-pointer x86-64 to handle cases where optimisation
+# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
+# earlier in CFLAGS, etc.
+CFLAGS_append_x86-64 = " -fomit-frame-pointer"
+
+CFLAGS_append_powerpc64 = " -D__SANE_USERSPACE_TYPES__"
+CFLAGS_append_mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
+SRCREV = "ac33ef87f0b9dc56533026435be3ea8c67ce86d2"
+
+SRC_URI = "git://github.com/linux-test-project/ltp.git \
+ file://0001-build-Add-option-to-select-libc-implementation.patch \
+ file://0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch \
+ file://0003-Check-if-__GLIBC_PREREQ-is-defined-before-using-it.patch \
+ file://0004-guard-mallocopt-with-__GLIBC__.patch \
+ file://0006-rt_tgsigqueueinfo-disable-test-on-musl.patch \
+ file://0007-Fix-test_proc_kill-hanging.patch \
+ file://0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
+ file://0009-open_posix_testsuite-mmap24-2-Relax-condition-a-bit.patch \
+ file://0010-shmctl01-don-t-use-hardcoded-index-0-for-SHM_STAT-te.patch \
+ file://0011-direct_io-diotest4-drop-MAP_FIXED.patch \
+ file://0012-getrlimit03-adjust-a-bit-of-code-to-compatiable-with.patch \
+ file://0001-Add-configure-time-check-for-getdents-getdents64-API.patch \
+ file://0002-check-for-RES_USE_INET6-during-configure.patch \
+ file://0001-syscalls-tgkill03-wait-for-defunct-tid-to-get-detach.patch \
+ file://0001-ustat02-Fix-EFAULT-in-32bit-compatibility-mode.patch \
+ file://0001-cve-meltdown.c-Fix-kernel-symbol-finding.patch \
+ file://0001-testcases-use-python3-everywhere-to-run-python-scrip.patch \
+ file://0001-syscall-rt_sigtimedwait01-Fix-wrong-sigset-length-fo.patch \
+ file://0001-cve-2017-17052-Avoid-unsafe-exits-in-threads.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+export prefix = "/opt/ltp"
+export exec_prefix = "/opt/ltp"
+
+PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl,"
+EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4"
+EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite --with-open-posix-testsuite "
+# ltp network/rpc test cases ftbfs when libtirpc is found
+EXTRA_OECONF += " --without-tirpc "
+
+do_install(){
+ install -d ${D}/opt/ltp/
+ oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
+
+ # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run
+ # as it lacks dependency on some perl moudle such as LWP::Simple
+ # And this script previously works as a tool for analyzing failures from LTP
+ # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses
+ # http://khack.osdl.org to retrieve ltp test results run on
+ # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
+ rm -rf ${D}/opt/ltp/bin/STPfailure_report.pl
+
+ # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual
+ cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases
+}
+
+RDEPENDS_${PN} = "\
+ acl \
+ at \
+ attr \
+ bash \
+ cpio \
+ cronie \
+ curl \
+ e2fsprogs-mke2fs \
+ expect \
+ file \
+ gawk \
+ gzip \
+ iproute2 \
+ ldd \
+ libaio \
+ logrotate \
+ perl \
+ python3-core \
+ procps \
+ quota \
+ unzip \
+ util-linux \
+ which \
+ tar \
+"
+
+FILES_${PN} += "/opt/ltp/* /opt/ltp/runtest/* /opt/ltp/scenario_groups/* /opt/ltp/testcases/bin/* /opt/ltp/testcases/bin/*/bin/* /opt/ltp/testscripts/* /opt/ltp/testcases/open_posix_testsuite/* /opt/ltp/testcases/open_posix_testsuite/conformance/* /opt/ltp/testcases/open_posix_testsuite/Documentation/* /opt/ltp/testcases/open_posix_testsuite/functional/* /opt/ltp/testcases/open_posix_testsuite/include/* /opt/ltp/testcases/open_posix_testsuite/scripts/* /opt/ltp/testcases/open_posix_testsuite/stress/* /opt/ltp/testcases/open_posix_testsuite/tools/* /opt/ltp/testcases/data/nm01/lib.a /opt/ltp/lib/libmem.a"
+
+# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
+INHIBIT_PACKAGE_STRIP_FILES = "/opt/ltp/testcases/bin/nm01 /opt/ltp/testcases/bin/ldd01"
+INSANE_SKIP_${PN} += "already-stripped staticdev"
+
+# Avoid file dependency scans, as LTP checks for things that may or may not
+# exist on the running system. For instance it has specific checks for
+# csh and ksh which are not typically part of OpenEmbedded systems (but
+# can be added via additional layers.)
+SKIP_FILEDEPS_${PN} = '1'
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb
deleted file mode 100644
index 441e2f411..000000000
--- a/poky/meta/recipes-extended/man-db/man-db_2.8.5.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
-HOMEPAGE = "http://man-db.nongnu.org/"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a"
-
-SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
- file://99_mandb \
- file://man_db.conf-avoid-multilib-install-file-conflict.patch"
-SRC_URI[md5sum] = "c5c6c3434be14a5527d43b5ad0f09a13"
-SRC_URI[sha256sum] = "b64d52747534f1fe873b2876eb7f01319985309d5d7da319d2bc52ba1e73f6c1"
-
-DEPENDS = "libpipeline gdbm groff-native base-passwd"
-RDEPENDS_${PN} += "base-passwd"
-
-# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr'
-USE_NLS_libc-musl = "no"
-
-inherit gettext pkgconfig autotools systemd
-
-EXTRA_OECONF = "--with-pager=less"
-EXTRA_AUTORECONF += "-I ${S}/gl/m4"
-
-do_install() {
- autotools_do_install
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}/etc/default/volatiles
- install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles
- fi
-}
-
-do_install_append_libc-musl() {
- rm -f ${D}${libdir}/charset.alias
-}
-
-FILES_${PN} += "${prefix}/lib/tmpfiles.d"
-
-FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
-
-RDEPENDS_${PN} += "groff"
-RRECOMMENDS_${PN} += "less"
-RPROVIDES_${PN} += " man"
-
-def compress_pkg(d):
- if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
- compress = d.getVar("DOC_COMPRESS")
- if compress == "gz":
- return "gzip"
- elif compress == "bz2":
- return "bzip2"
- elif compress == "xz":
- return "xz"
- return ""
-
-RDEPENDS_${PN} += "${@compress_pkg(d)}"
-
-SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service"
-SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/poky/meta/recipes-extended/man-db/man-db_2.8.7.bb b/poky/meta/recipes-extended/man-db/man-db_2.8.7.bb
new file mode 100644
index 000000000..083b2374a
--- /dev/null
+++ b/poky/meta/recipes-extended/man-db/man-db_2.8.7.bb
@@ -0,0 +1,59 @@
+SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
+HOMEPAGE = "http://man-db.nongnu.org/"
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://docs/COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://docs/COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
+ file://99_mandb \
+ file://man_db.conf-avoid-multilib-install-file-conflict.patch"
+SRC_URI[md5sum] = "ec0b23c8314a1654c4d059b2c18ce43d"
+SRC_URI[sha256sum] = "b9cd5bb996305d08bfe9e1114edc30b4c97be807093b88af8033ed1cf9beb326"
+
+DEPENDS = "libpipeline gdbm groff-native base-passwd"
+RDEPENDS_${PN} += "base-passwd"
+
+# | /usr/src/debug/man-db/2.8.0-r0/man-db-2.8.0/src/whatis.c:939: undefined reference to `_nl_msg_cat_cntr'
+USE_NLS_libc-musl = "no"
+
+inherit gettext pkgconfig autotools systemd
+
+EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_unitdir}/system"
+EXTRA_AUTORECONF += "-I ${S}/gl/m4"
+
+do_install() {
+ autotools_do_install
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}/etc/default/volatiles
+ install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles
+ fi
+}
+
+do_install_append_libc-musl() {
+ rm -f ${D}${libdir}/charset.alias
+}
+
+FILES_${PN} += "${prefix}/lib/tmpfiles.d"
+
+FILES_${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
+
+RDEPENDS_${PN} += "groff"
+RRECOMMENDS_${PN} += "less"
+RPROVIDES_${PN} += " man"
+
+def compress_pkg(d):
+ if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
+ compress = d.getVar("DOC_COMPRESS")
+ if compress == "gz":
+ return "gzip"
+ elif compress == "bz2":
+ return "bzip2"
+ elif compress == "xz":
+ return "xz"
+ return ""
+
+RDEPENDS_${PN} += "${@compress_pkg(d)}"
+
+SYSTEMD_SERVICE_${PN} = "man-db.timer man-db.service"
+SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/poky/meta/recipes-extended/mc/mc_4.8.22.bb b/poky/meta/recipes-extended/mc/mc_4.8.22.bb
deleted file mode 100644
index f64effbce..000000000
--- a/poky/meta/recipes-extended/mc/mc_4.8.22.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Midnight Commander is an ncurses based file manager"
-HOMEPAGE = "http://www.midnight-commander.org/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
-SECTION = "console/utils"
-DEPENDS = "ncurses glib-2.0 util-linux"
-RDEPENDS_${PN} = "ncurses-terminfo"
-
-SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
- file://0001-mc-replace-perl-w-with-use-warnings.patch \
- "
-SRC_URI[md5sum] = "29983a215c96030f06d5b112088ec5dc"
-SRC_URI[sha256sum] = "8d9f1c75369967adfd317a05fef9861444ed049b033e4debaeaafc6df218b431"
-
-inherit autotools gettext pkgconfig
-
-#
-# Both Samba (smb) and sftp require package delivered from meta-openembedded
-#
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba,"
-PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
-
-EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x"
-
-CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
-
-do_install_append () {
- sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
-
- rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
-}
-
-PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish"
-
-SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
-FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
- ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
- ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
- ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
- ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
- ${libexecdir}/mc/extfs.d/uzip"
-RDEPENDS_${BPN}-helpers-perl = "perl"
-
-SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts"
-FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
-
-SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts"
-FILES_${BPN}-fish = "${libexecdir}/mc/fish"
diff --git a/poky/meta/recipes-extended/mc/mc_4.8.23.bb b/poky/meta/recipes-extended/mc/mc_4.8.23.bb
new file mode 100644
index 000000000..83de8dbb2
--- /dev/null
+++ b/poky/meta/recipes-extended/mc/mc_4.8.23.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Midnight Commander is an ncurses based file manager"
+HOMEPAGE = "http://www.midnight-commander.org/"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
+SECTION = "console/utils"
+DEPENDS = "ncurses glib-2.0 util-linux"
+RDEPENDS_${PN} = "ncurses-terminfo"
+
+SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
+ file://0001-mc-replace-perl-w-with-use-warnings.patch \
+ "
+SRC_URI[md5sum] = "152927ac29cf0e61d7d019f261bb7d89"
+SRC_URI[sha256sum] = "238c4552545dcf3065359bd50753abbb150c1b22ec5a36eaa02c82808293267d"
+
+inherit autotools gettext pkgconfig
+
+#
+# Both Samba (smb) and sftp require package delivered from meta-openembedded
+#
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[smb] = "--enable-vfs-smb,--disable-vfs-smb,samba,"
+PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
+
+EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
+
+do_install_append () {
+ sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
+
+ rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
+}
+
+PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-fish"
+
+SUMMARY_${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
+FILES_${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
+ ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
+ ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
+ ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
+ ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
+ ${libexecdir}/mc/extfs.d/uzip"
+RDEPENDS_${BPN}-helpers-perl = "perl"
+
+SUMMARY_${BPN}-helpers = "Midnight Commander shell helper scripts"
+FILES_${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
+
+SUMMARY_${BPN}-fish = "Midnight Commander Fish scripts"
+FILES_${BPN}-fish = "${libexecdir}/mc/fish"
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch b/poky/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch
new file mode 100644
index 000000000..b196084a5
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch
@@ -0,0 +1,53 @@
+From 02a41c3fd560fb5250186dd6b3cff6b21daa2e2b Mon Sep 17 00:00:00 2001
+From: Mingli Yu <Mingli.Yu@windriver.com>
+Date: Mon, 15 Jul 2019 14:12:24 +0800
+Subject: [PATCH] Revert "tests: wait for complete rebuild in integrity checks"
+
+This reverts commit e2a8e9dcf67a28bc722fa5ab2c49b0bc452d4d74
+as the logic "check state 'U*'" will make the test enters
+infinite loop especially in qemu env, so revert it to
+use the previous logic "check wait" which also used
+commonly by other tests such as tests/02r5grow, tests/07revert-grow
+and etc.
+
+Upstream-Status: Submitted[https://marc.info/?l=linux-raid&m=156317157314030&w=2]
+
+Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
+---
+ tests/01r5integ | 2 +-
+ tests/01raid6integ | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/01r5integ b/tests/01r5integ
+index 48676a2..ffb30ce 100644
+--- a/tests/01r5integ
++++ b/tests/01r5integ
+@@ -27,7 +27,7 @@ do
+ exit 1
+ fi
+ mdadm $md0 -a $i
+- while ! (check state 'U*'); do check wait; sleep 0.2; done
++ check wait
+ done
+ mdadm -S $md0
+ done
+diff --git a/tests/01raid6integ b/tests/01raid6integ
+index 12f4d81..c6fcdae 100644
+--- a/tests/01raid6integ
++++ b/tests/01raid6integ
+@@ -47,10 +47,10 @@ do
+ exit 1
+ fi
+ mdadm $md0 -a $first
+- while ! (check state 'U*_U*'); do check wait; sleep 0.2; done
++ check wait
+ done
+ mdadm $md0 -a $second
+- while ! (check state 'U*'); do check wait; sleep 0.2; done
++ check wait
+ totest="$totest $second"
+ done
+ mdadm -S $md0
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
new file mode 100644
index 000000000..e00287cab
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch
@@ -0,0 +1,28 @@
+From 5fdc0173cb4fcf8656f0889ad364d2549795607f Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 1 Jul 2019 11:34:49 +0800
+Subject: [PATCH] mdadm: add option -y for use syslog to recive event report
+
+fix service startup failed when there is
+No mail address or alert command
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ systemd/mdmonitor.service | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/mdmonitor.service b/systemd/mdmonitor.service
+index 46f7b88..3fc4687 100644
+--- a/systemd/mdmonitor.service
++++ b/systemd/mdmonitor.service
+@@ -13,4 +13,4 @@ DefaultDependencies=no
+ Environment= MDADM_MONITOR_ARGS=--scan
+ EnvironmentFile=-/run/sysconfig/mdadm
+ ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
+-ExecStart=BINDIR/mdadm --monitor $MDADM_MONITOR_ARGS
++ExecStart=BINDIR/mdadm --monitor -y $MDADM_MONITOR_ARGS
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch
new file mode 100644
index 000000000..3a192cc95
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-mdadm-skip-test-11spare-migration.patch
@@ -0,0 +1,43 @@
+From 1b83afa7c3121f819e72ea74883f8b6d61d6548e Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 6 Sep 2019 10:59:02 +0800
+Subject: [PATCH] mdadm: skip test 11spare-migration
+
+11spare-migration is a test series to check mdadm Monitor migrates spares
+according to rules in /etc/mdadm.conf defined by POLICY lines.
+
+[snip]
+for scan in no yes; do
+ for platform in 1.2 imsm; do
+ try
+ done
+done
+[snip]
+
+"try" includes near 20 sub testcase, so there are nearly 80 subcases need to run,
+so it will take long time than ptest-runner timeout limit, skip it as workaround.
+
+Upstream-Status: Inappropriate[oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ test | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/test b/test
+index 711a3c7..880dd1d 100755
+--- a/test
++++ b/test
+@@ -272,6 +272,9 @@ main() {
+ else
+ for script in $testdir/$prefix $testdir/$prefix*[^~]
+ do
++ if [ $script == "$testdir/11spare-migration" ];then
++ continue
++ fi
+ do_test $script
+ done
+ fi
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/mdadm/files/include_sysmacros.patch b/poky/meta/recipes-extended/mdadm/files/include_sysmacros.patch
new file mode 100644
index 000000000..8a1d8342d
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/include_sysmacros.patch
@@ -0,0 +1,14 @@
+include sys/sysmacros.h for major/minor macro definitions
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/mdadm.h
++++ b/mdadm.h
+@@ -35,6 +35,7 @@ extern __off64_t lseek64 __P ((int __fd,
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <time.h>
diff --git a/poky/meta/recipes-extended/mdadm/files/mdmonitor.service b/poky/meta/recipes-extended/mdadm/files/mdmonitor.service
deleted file mode 100644
index bd243b449..000000000
--- a/poky/meta/recipes-extended/mdadm/files/mdmonitor.service
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file is part of mdadm.
-#
-# mdadm is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-[Unit]
-Description=Software RAID monitoring and management
-ConditionPathExists=/etc/mdadm.conf
-
-[Service]
-Type=forking
-PIDFile=/var/run/mdadm/mdadm.pid
-EnvironmentFile=-/etc/sysconfig/mdmonitor
-ExecStart=/sbin/mdadm --monitor --scan -f --pid-file=/var/run/mdadm/mdadm.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/poky/meta/recipes-extended/mdadm/files/run-ptest b/poky/meta/recipes-extended/mdadm/files/run-ptest
index 234f97376..e4a9c2b08 100644
--- a/poky/meta/recipes-extended/mdadm/files/run-ptest
+++ b/poky/meta/recipes-extended/mdadm/files/run-ptest
@@ -1,19 +1,4 @@
#!/bin/sh
-LOG="$(pwd)/test.log"
# make the test continue to execute even one fail
-./test --keep-going 2>&1|tee ${LOG}
-# translate the test report
-# "tests/18imsm-r10_4d-takeover-r0_2d... succeeded" -> "PASS: tests/18imsm-r10_4d-takeover-r0_2d"
-# "tests/19raid6repair... FAILED - see //log for details" -> "FAIL: tests/19raid6repair"
-sed -i -e '/succeeded/ s/^/PASS: /' -e '/FAILED/ s/^/FAIL: /' ${LOG}
-sed -i -e 's/... FAILED//g' -e 's/... succeeded//g' ${LOG}
-passed=`grep PASS: ${LOG}|wc -l`
-failed=`grep FAIL: ${LOG}|wc -l`
-all=$((passed + failed))
-
-( echo "=== Test Summary ==="
- echo "TOTAL: ${all}"
- echo "PASSED: ${passed}"
- echo "FAILED: ${failed}"
-) | tee -a /${LOG}
+./test --keep-going
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
index 494b81b5e..639382e13 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb
@@ -18,9 +18,13 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
file://0001-Compute-abs-diff-in-a-standard-compliant-way.patch \
file://0001-fix-gcc-8-format-truncation-warning.patch \
file://debian-no-Werror.patch \
+ file://0001-Revert-tests-wait-for-complete-rebuild-in-integrity-.patch \
file://mdadm.init \
- file://mdmonitor.service \
+ file://0001-mdadm-add-option-y-for-use-syslog-to-recive-event-re.patch \
+ file://include_sysmacros.patch \
+ file://0001-mdadm-skip-test-11spare-migration.patch \
"
+
SRC_URI[md5sum] = "51bf3651bd73a06c413a2f964f299598"
SRC_URI[sha256sum] = "ab7688842908d3583a704d491956f31324c3a5fc9f6a04653cb75d19f1934f4a"
@@ -65,7 +69,6 @@ do_install_append() {
oe_runmake install-systemd DESTDIR=${D}
}
-
do_compile_ptest() {
oe_runmake test
}
@@ -74,6 +77,14 @@ do_install_ptest() {
cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests
cp ${S}/test ${D}${PTEST_PATH}
sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/!g' -i ${D}${PTEST_PATH}/test
+ sed -i -e '/echo -ne "$_script... "/d' \
+ -e 's/echo "succeeded"/echo -e "PASS: $_script"/g' \
+ -e '/save_log fail/N; /_fail=1/i\\t\t\techo -ne "FAIL: $_script"' \
+ -e '/die "dmesg prints errors when testing $_basename!"/i\\t\t\t\techo -ne "FAIL: $_script" &&' \
+ ${D}${PTEST_PATH}/test
+
+ chmod +x ${D}${PTEST_PATH}/test
+
ln -s ${base_sbindir}/mdadm ${D}${PTEST_PATH}/mdadm
for prg in test_stripe swap_super raid6check
do
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb
deleted file mode 100644
index 888c1bbb5..000000000
--- a/poky/meta/recipes-extended/msmtp/msmtp_1.8.4.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "msmtp is an SMTP client"
-DESCRIPTION = "A sendmail replacement for use in MTAs like mutt"
-HOMEPAGE = "https://marlam.de/msmtp/"
-SECTION = "console/network"
-
-LICENSE = "GPLv3"
-DEPENDS = "zlib gnutls"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
-
-SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
-SRC_URI[md5sum] = "abfabb92f0461137f3c09cd16d98fc9b"
-SRC_URI[sha256sum] = "e5dd7fe95bc8e2f5eea3e4894ec9628252f30bd700a7fd1a568b10efa91129f7"
-
-inherit gettext autotools update-alternatives pkgconfig
-
-EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
-
-ALTERNATIVE_${PN} = "sendmail"
-ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
-ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
-ALTERNATIVE_PRIORITY = "100"
-
-pkg_postinst_${PN}_linuxstdbase () {
- # /usr/lib/sendmial is required by LSB core test
- [ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/
-}
diff --git a/poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb b/poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb
new file mode 100644
index 000000000..4f6b66f22
--- /dev/null
+++ b/poky/meta/recipes-extended/msmtp/msmtp_1.8.5.bb
@@ -0,0 +1,28 @@
+SUMMARY = "msmtp is an SMTP client"
+DESCRIPTION = "A sendmail replacement for use in MTAs like mutt"
+HOMEPAGE = "https://marlam.de/msmtp/"
+SECTION = "console/network"
+
+LICENSE = "GPLv3"
+DEPENDS = "zlib gnutls"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
+
+SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
+SRC_URI[md5sum] = "5d7bb10606fbceeb2e0687379c75234b"
+SRC_URI[sha256sum] = "1613daced9c47b8c028224fc076799c2a4d72923e242be4e9e5c984cbbbb9f39"
+
+inherit gettext autotools update-alternatives pkgconfig
+
+EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
+
+ALTERNATIVE_${PN} = "sendmail"
+# /usr/lib/sendmial is required by LSB core test
+ALTERNATIVE_${PN}_linuxstdbase = "sendmail usr-lib-sendmail"
+ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
+ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
+ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp"
+ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail"
+ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-extended/net-tools/net-tools_1.60-26.bb b/poky/meta/recipes-extended/net-tools/net-tools_1.60-26.bb
index b565fd093..5a376e72f 100644
--- a/poky/meta/recipes-extended/net-tools/net-tools_1.60-26.bb
+++ b/poky/meta/recipes-extended/net-tools/net-tools_1.60-26.bb
@@ -95,7 +95,7 @@ do_compile() {
do_install() {
# We don't need COPTS or LOPTS, but let's be consistent.
- oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS" 'BASEDIR=${D}' install
+ oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS" BASEDIR=${D} INSTALLNLSDIR=${D}${datadir}/locale mandir=${mandir} install
if [ "${base_bindir}" != "/bin" ]; then
mkdir -p ${D}/${base_bindir}
diff --git a/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch b/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch
deleted file mode 100644
index b0a1e8c10..000000000
--- a/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Upstream-Status: Pending
-
-Author: dexuan.cui@intel.com
-Date: Fri Apr 15 16:17:39 CST 2011
-
-The patch fixes a parallel-make issue: when generating $(SHAREDDIR)/%.o, we should
-ensure the directory ${SHAREDDIR} exists.
-
-We need to push the patch to upstream.
-
-Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- Makefile.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -128,12 +128,12 @@ $(SHAREDDIR):
-
- sharedlib: $(LIBNEWTSH)
-
--$(LIBNEWTSH): $(SHAREDDIR) $(SHAREDOBJS)
-+$(LIBNEWTSH): $(SHAREDOBJS)
- $(CC) -shared -o $(LIBNEWTSH) $(SHLIBFLAGS) $(SHAREDOBJS) $(LDFLAGS) $(LIBS)
- ln -fs $(LIBNEWTSONAME) libnewt.$(SOEXT)
- ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME)
-
--$(SHAREDDIR)/%.o : %.c
-+$(SHAREDDIR)/%.o : %.c $(SHAREDDIR)
- $(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
-
- install: $(LIBNEWT) install-sh whiptail
---
-1.8.1.2
-
diff --git a/poky/meta/recipes-extended/newt/files/pie-flags.patch b/poky/meta/recipes-extended/newt/files/pie-flags.patch
index 8883e26ad..92f5b2503 100644
--- a/poky/meta/recipes-extended/newt/files/pie-flags.patch
+++ b/poky/meta/recipes-extended/newt/files/pie-flags.patch
@@ -1,7 +1,4 @@
-specify -fPIC after CFLAGS so it can override the CFLAGS containing -pie and -fpie
-this makes sure the objects that go into shared objects are compiled with -fPIC
-and not with -fpie. We can not use -fpie on objects which will go into .so files
-Fixes errors like
+specify -fPIC after CFLAGS so it can override the CFLAGS containing -pie and -fpie this makes sure the objects that go into shared objects are compiled with -fPIC and not with -fpie. We can not use -fpie on objects which will go into .so files Fixes errors like
| /mnt/oe/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/5.3.0/ld: shared/newt.o: relocation R_X86_64_PC32 against undefined symbol `SLtt_Screen_Rows@@SLANG2' can not be used when making a shared object; recompile with -fPIC
| /mnt/oe/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/5.3.0/ld: final link failed: Bad value
@@ -10,10 +7,15 @@ Fixes errors like
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
-Index: newt-0.52.18/Makefile.in
-===================================================================
---- newt-0.52.18.orig/Makefile.in
-+++ newt-0.52.18/Makefile.in
+
+---
+ Makefile.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index be5f87b..88ee0b7 100644
+--- a/Makefile.in
++++ b/Makefile.in
@@ -96,8 +96,8 @@ _snack.$(SOEXT): snack.c $(LIBNEWTSH)
PIFLAGS=`$$pyconfig --includes`; \
PLDFLAGS=`$$pyconfig --ldflags`; \
@@ -25,12 +27,15 @@ Index: newt-0.52.18/Makefile.in
echo $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
$(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \
done || :
-@@ -135,7 +135,7 @@ $(LIBNEWTSH): $(SHAREDOBJS)
- ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME)
+@@ -133,7 +133,7 @@ $(LIBNEWTSH): $(SHAREDOBJS)
- $(SHAREDDIR)/%.o : %.c $(SHAREDDIR)
+ $(SHAREDDIR)/%.o : %.c
+ @mkdir -p $(SHAREDDIR)
- $(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
+ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(SHCFLAGS) -o $@ $<
install: $(LIBNEWT) install-sh whiptail
[ -d $(instroot)/$(bindir) ] || install -m 755 -d $(instroot)/$(bindir)
+--
+2.7.4
+
diff --git a/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb b/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb
deleted file mode 100644
index dc07a1809..000000000
--- a/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "A library for text mode user interfaces"
-
-DESCRIPTION = "Newt is a programming library for color text mode, widget based user \
-interfaces. Newt can be used to add stacked windows, entry widgets, \
-checkboxes, radio buttons, labels, plain text fields, scrollbars, \
-etc., to text mode user interfaces. This package also contains the \
-shared library needed by programs built with newt, as well as a \
-/usr/bin/dialog replacement called whiptail. Newt is based on the \
-slang library."
-
-HOMEPAGE = "https://releases.pagure.org/newt/"
-SECTION = "libs"
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-# slang needs to be >= 2.2
-DEPENDS = "slang popt python3"
-
-SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \
- file://fix_SHAREDDIR.patch \
- file://cross_ar.patch \
- file://Makefile.in-Add-tinfo-library-to-the-linking-librari.patch \
- file://pie-flags.patch \
- file://0001-detect-gold-as-GNU-linker-too.patch \
-"
-
-SRC_URI[md5sum] = "70b288f821234593a8e7920e435b259b"
-SRC_URI[sha256sum] = "8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5adbb6dbc"
-
-S = "${WORKDIR}/newt-${PV}"
-
-inherit autotools-brokensep python3native python3-dir
-
-EXTRA_OECONF = "--without-tcl --with-python"
-
-EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}"
-
-CLEANBROKEN = "1"
-
-export CPPFLAGS
-
-PACKAGES_prepend = "whiptail ${PN}-python "
-
-RDEPENDS_${PN}-python += "python3-core"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
-
-do_configure_prepend() {
- sh autogen.sh
-}
-
-do_compile_prepend() {
- # Make sure the recompile is OK
- rm -f ${B}/.depend
-}
-
-FILES_whiptail = "${bindir}/whiptail"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb b/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb
new file mode 100644
index 000000000..09b61be61
--- /dev/null
+++ b/poky/meta/recipes-extended/newt/libnewt_0.52.21.bb
@@ -0,0 +1,58 @@
+SUMMARY = "A library for text mode user interfaces"
+
+DESCRIPTION = "Newt is a programming library for color text mode, widget based user \
+interfaces. Newt can be used to add stacked windows, entry widgets, \
+checkboxes, radio buttons, labels, plain text fields, scrollbars, \
+etc., to text mode user interfaces. This package also contains the \
+shared library needed by programs built with newt, as well as a \
+/usr/bin/dialog replacement called whiptail. Newt is based on the \
+slang library."
+
+HOMEPAGE = "https://releases.pagure.org/newt/"
+SECTION = "libs"
+
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+# slang needs to be >= 2.2
+DEPENDS = "slang popt python3"
+
+SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \
+ file://cross_ar.patch \
+ file://Makefile.in-Add-tinfo-library-to-the-linking-librari.patch \
+ file://pie-flags.patch \
+ file://0001-detect-gold-as-GNU-linker-too.patch \
+"
+
+SRC_URI[md5sum] = "a0a5fd6b53bb167a65e15996b249ebb5"
+SRC_URI[sha256sum] = "265eb46b55d7eaeb887fca7a1d51fe115658882dfe148164b6c49fccac5abb31"
+
+S = "${WORKDIR}/newt-${PV}"
+
+inherit autotools-brokensep python3native python3-dir
+
+EXTRA_OECONF = "--without-tcl --with-python"
+
+EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}"
+
+CLEANBROKEN = "1"
+
+export CPPFLAGS
+
+PACKAGES_prepend = "whiptail ${PN}-python "
+
+RDEPENDS_${PN}-python += "python3-core"
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
+
+do_configure_prepend() {
+ sh autogen.sh
+}
+
+do_compile_prepend() {
+ # Make sure the recompile is OK
+ rm -f ${B}/.depend
+}
+
+FILES_whiptail = "${bindir}/whiptail"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
index 611e0cafc..750183793 100644
--- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
+++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
@@ -5,10 +5,14 @@
SUMMARY = "Full-featured set of base utils"
DESCRIPTION = "Package group bringing in packages needed to provide much of the base utils type functionality found in busybox"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
inherit packagegroup
VIRTUAL-RUNTIME_vim ?= "vim-tiny"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
RDEPENDS_${PN} = "\
base-passwd \
bash \
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 d38f545e0..2d96d1ba3 100644
--- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
@@ -111,9 +111,6 @@ RDEPENDS_packagegroup-core-full-cmdline-dev-utils = "\
patch \
"
-VIRTUAL-RUNTIME_initscripts ?= "initscripts"
-VIRTUAL-RUNTIME_init_manager ?= "sysvinit"
-VIRTUAL-RUNTIME_login_manager ?= "busybox"
VIRTUAL-RUNTIME_syslog ?= "sysklogd"
RDEPENDS_packagegroup-core-full-cmdline-initscripts = "\
${VIRTUAL-RUNTIME_initscripts} \
diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
deleted file mode 100644
index e8dc42159..000000000
--- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
+++ /dev/null
@@ -1,242 +0,0 @@
-#
-# Copyright (C) 2010 Intel Corporation
-#
-
-SUMMARY = "Linux Standard Base (LSB)"
-DESCRIPTION = "Packages required to satisfy the Linux Standard Base (LSB) specification"
-PR = "r10"
-
-inherit packagegroup distro_features_check
-
-# The libxt, libxtst and others require x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11"
-
-# libglu needs virtual/libgl, which requires opengl in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-# libpam, pam-plugin-wheel requires pam in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES += "pam"
-
-#
-# We will skip parsing this packagegeoup for non-glibc systems
-#
-python __anonymous () {
- if d.getVar('TCLIBC') != "glibc":
- raise bb.parse.SkipRecipe("incompatible with %s C library" %
- d.getVar('TCLIBC'))
-}
-
-PACKAGES = "\
- packagegroup-core-lsb \
- packagegroup-core-sys-extended \
- packagegroup-core-db \
- packagegroup-core-perl \
- packagegroup-core-python \
- packagegroup-core-tcl \
- packagegroup-core-lsb-misc \
- packagegroup-core-lsb-core \
- packagegroup-core-lsb-perl \
- packagegroup-core-lsb-python \
- packagegroup-core-lsb-desktop \
- packagegroup-core-lsb-runtime-add \
- "
-
-
-RDEPENDS_packagegroup-core-lsb = "\
- packagegroup-core-sys-extended \
- packagegroup-core-db \
- packagegroup-core-perl \
- packagegroup-core-python \
- packagegroup-core-tcl \
- packagegroup-core-lsb-misc \
- packagegroup-core-lsb-core \
- packagegroup-core-lsb-perl \
- packagegroup-core-lsb-python \
- packagegroup-core-lsb-desktop \
- packagegroup-core-lsb-runtime-add \
- "
-
-
-RDEPENDS_packagegroup-core-sys-extended = "\
- curl \
- dhcp-client \
- hdparm \
- lighttpd \
- libaio \
- lrzsz \
- lzo \
- mc \
- mc-fish \
- mc-helpers \
- mc-helpers-perl \
- mdadm \
- minicom \
- parted \
- quota \
- screen \
- setserial \
- sysstat \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'udev-extraconf', d)} \
- unzip \
- watchdog \
- wget \
- which \
- xinetd \
- zip \
- "
-
-RDEPENDS_packagegroup-core-db = "\
- db \
- sqlite3 \
- "
-
-RDEPENDS_packagegroup-core-perl = "\
- gdbm \
- perl \
- zlib \
- "
-
-
-RDEPENDS_packagegroup-core-python = "\
- expat \
- gdbm \
- gmp \
- ncurses \
- openssl \
- python \
- readline \
- zip \
- "
-
-RDEPENDS_packagegroup-core-tcl = "\
- tcl \
- "
-
-# Miscellaneous packages required by LSB (or LSB tests)
-RDEPENDS_packagegroup-core-lsb-misc = "\
- chkconfig \
- gettext \
- gettext-runtime \
- groff \
- lsbinitscripts \
- lsbtest \
- lsof \
- strace \
- libusb1 \
- usbutils \
- rpm \
- "
-
-SUMMARY_packagegroup-core-lsb-core = "LSB Core"
-DESCRIPTION_packagegroup-core-lsb-core = "Packages required to support commands/libraries \
- specified in the LSB Core specification"
-RDEPENDS_packagegroup-core-lsb-core = "\
- at \
- bash \
- bc \
- binutils \
- binutils-symlinks \
- bzip2 \
- coreutils \
- cpio \
- cronie \
- cups \
- diffutils \
- ed \
- glibc-utils \
- elfutils \
- file \
- findutils \
- fontconfig-utils \
- foomatic-filters \
- gawk \
- ghostscript \
- grep \
- gzip \
- localedef \
- lsb \
- m4 \
- make \
- man \
- man-pages \
- msmtp \
- patch \
- procps \
- psmisc \
- sed \
- shadow \
- tar \
- time \
- util-linux \
- xdg-utils \
- \
- glibc \
- libgcc \
- libpam \
- libxml2 \
- ncurses \
- zlib \
- nspr \
- nss \
-"
-
-SUMMARY_packagegroup-core-lsb-perl = "LSB Runtime Languages (Perl)"
-DESCRIPTION_packagegroup-core-lsb-perl = "Packages required to support libraries \
- specified in the LSB Runtime languages specification (Perl parts)"
-RDEPENDS_packagegroup-core-lsb-perl = "\
- perl \
- perl-modules \
- perl-misc \
- perl-pod \
- perl-dev \
- perl-doc \
-"
-
-SUMMARY_packagegroup-core-lsb-python = "LSB Runtime Languages (Python)"
-DESCRIPTION_packagegroup-core-lsb-python = "Packages required to support libraries \
- specified in the LSB Runtime languages specification (Python parts)"
-RDEPENDS_packagegroup-core-lsb-python = "\
- python \
- python-modules \
- python-misc \
-"
-
-SUMMARY_packagegroup-core-lsb-desktop = "LSB Desktop"
-DESCRIPTION_packagegroup-core-lsb-desktop = "Packages required to support libraries \
- specified in the LSB Desktop specification"
-RDEPENDS_packagegroup-core-lsb-desktop = "\
- libxt \
- libxxf86vm \
- libdrm \
- libglu \
- libxi \
- libxtst \
- libx11-locale \
- xorg-minimal-fonts \
- gdk-pixbuf-loader-ico \
- gdk-pixbuf-loader-bmp \
- gdk-pixbuf-loader-ani \
- gdk-pixbuf-xlib \
- liberation-fonts \
- gtk+ \
- atk \
- alsa-lib \
-"
-
-RDEPENDS_packagegroup-core-lsb-runtime-add = "\
- ldd \
- pam-plugin-wheel \
- e2fsprogs-mke2fs \
- mkfontdir \
- liburi-perl \
- libxml-parser-perl \
- libxml-perl \
- libxml-sax-perl \
- glibc-localedatas \
- glibc-gconvs \
- glibc-charmaps \
- glibc-binaries \
- glibc-localedata-posix \
- glibc-extra-nss \
- glibc-pcprofile \
-"
diff --git a/poky/meta/recipes-extended/psmisc/psmisc.inc b/poky/meta/recipes-extended/psmisc/psmisc.inc
index 82ef94770..594a10cf2 100644
--- a/poky/meta/recipes-extended/psmisc/psmisc.inc
+++ b/poky/meta/recipes-extended/psmisc/psmisc.inc
@@ -7,7 +7,7 @@ command sends a specified signal (SIGTERM if nothing is specified) to \
processes identified by name. The fuser command identifies the PIDs \
of processes that are using specified files or filesystems."
SECTION = "base"
-DEPENDS = "ncurses virtual/libintl"
+DEPENDS = "ncurses virtual/libintl gettext-native"
LICENSE = "GPLv2"
SRC_URI = "${SOURCEFORGE_MIRROR}/psmisc/psmisc-${PV}.tar.gz"
diff --git a/poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch b/poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch
new file mode 100644
index 000000000..1413724d0
--- /dev/null
+++ b/poky/meta/recipes-extended/screen/screen/0001-Remove-more-compatibility-stuff.patch
@@ -0,0 +1,31 @@
+This fixes
+../screen-4.6.2/pty.c: In function 'OpenPTY':
+../screen-4.6.2/pty.c:328:7: warning: implicit declaration of function 'openpty'; did you mean 'openat'? [-Wimplicit-function-declaration]
+ if (openpty(&f, &s, TtyName, NULL, NULL) != 0)
+ ^~~~~~~
+
+Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Upstream-Status: Backport
+
+---
+ pty.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/pty.c b/pty.c
+index 1c0660e..502338f 100644
+--- a/pty.c
++++ b/pty.c
+@@ -47,11 +47,7 @@
+ # include <sys/ttold.h>
+ #endif
+
+-#ifdef ISC
+-# include <sys/tty.h>
+-# include <sys/sioctl.h>
+-# include <sys/pty.h>
+-#endif
++#include <pty.h>
+
+ #ifdef sgi
+ # include <sys/sysmacros.h>
diff --git a/poky/meta/recipes-extended/screen/screen_4.6.2.bb b/poky/meta/recipes-extended/screen/screen_4.6.2.bb
index 375dce949..21b476ddb 100644
--- a/poky/meta/recipes-extended/screen/screen_4.6.2.bb
+++ b/poky/meta/recipes-extended/screen/screen_4.6.2.bb
@@ -24,6 +24,7 @@ SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \
file://0002-comm.h-now-depends-on-term.h.patch \
file://0001-fix-for-multijob-build.patch \
file://0001-configure.ac-fix-configure-failed-while-build-dir-ha.patch \
+ file://0001-Remove-more-compatibility-stuff.patch \
"
SRC_URI[md5sum] = "a0f529d3333b128dfaa324d978ba73a8"
@@ -34,10 +35,11 @@ inherit autotools texinfo
PACKAGECONFIG ??= ""
PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter,"
-EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 \
+EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 --with-sys-screenrc=${sysconfdir}/screenrc \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}"
do_install_append () {
+ install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
install -D -m 644 ${WORKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen
fi
diff --git a/poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch b/poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch
deleted file mode 100644
index 8c8234d03..000000000
--- a/poky/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 3d921155e0a761f61c8f1ec37328724aee1e2eda Mon Sep 17 00:00:00 2001
-From: Chris Lamb <chris@chris-lamb.co.uk>
-Date: Sun, 31 Mar 2019 15:59:45 +0100
-Subject: [PATCH 2/2] gettime: Use secure_getenv over getenv.
-
-Upstream-Status: Backport
-Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
----
- README | 1 +
- configure.ac | 3 +++
- lib/defines.h | 6 ++++++
- libmisc/gettime.c | 2 +-
- 4 files changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/README b/README
-index 952ac5787f06..26cfff1e8fa8 100644
---- a/README
-+++ b/README
-@@ -51,6 +51,7 @@ Brian R. Gaeke <brg@dgate.org>
- Calle Karlsson <ckn@kash.se>
- Chip Rosenthal <chip@unicom.com>
- Chris Evans <lady0110@sable.ox.ac.uk>
-+Chris Lamb <chris@chris-lamb.co.uk>
- Cristian Gafton <gafton@sorosis.ro>
- Dan Walsh <dwalsh@redhat.com>
- Darcy Boese <possum@chardonnay.niagara.com>
-diff --git a/configure.ac b/configure.ac
-index da236722766b..a738ad662cc3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -110,6 +110,9 @@ AC_REPLACE_FUNCS(sgetgrent sgetpwent sgetspent)
- AC_REPLACE_FUNCS(snprintf strcasecmp strdup strerror strstr)
-
- AC_CHECK_FUNC(setpgrp)
-+AC_CHECK_FUNC(secure_getenv, [AC_DEFINE(HAS_SECURE_GETENV,
-+ 1,
-+ [Defined to 1 if you have the declaration of 'secure_getenv'])])
-
- if test "$ac_cv_header_shadow_h" = "yes"; then
- AC_CACHE_CHECK(for working shadow group support,
-diff --git a/lib/defines.h b/lib/defines.h
-index cded1417fd12..2fb1b56eca6b 100644
---- a/lib/defines.h
-+++ b/lib/defines.h
-@@ -382,4 +382,10 @@ extern char *strerror ();
- # endif
- #endif
-
-+#ifdef HAVE_SECURE_GETENV
-+# define shadow_getenv(name) secure_getenv(name)
-+# else
-+# define shadow_getenv(name) getenv(name)
-+#endif
-+
- #endif /* _DEFINES_H_ */
-diff --git a/libmisc/gettime.c b/libmisc/gettime.c
-index 53eaf51670bb..0e25a4b75061 100644
---- a/libmisc/gettime.c
-+++ b/libmisc/gettime.c
-@@ -52,7 +52,7 @@
- unsigned long long epoch;
-
- fallback = time (NULL);
-- source_date_epoch = getenv ("SOURCE_DATE_EPOCH");
-+ source_date_epoch = shadow_getenv ("SOURCE_DATE_EPOCH");
-
- if (!source_date_epoch)
- return fallback;
---
-2.17.1
-
diff --git a/poky/meta/recipes-extended/shadow/shadow.inc b/poky/meta/recipes-extended/shadow/shadow.inc
index 7f82d2082..af38b911d 100644
--- a/poky/meta/recipes-extended/shadow/shadow.inc
+++ b/poky/meta/recipes-extended/shadow/shadow.inc
@@ -4,7 +4,7 @@ BUGTRACKER = "https://alioth.debian.org/tracker/?group_id=30580"
SECTION = "base/utils"
LICENSE = "BSD | Artistic-1.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=ed80ff1c2b40843cf5768e5229cf16e5 \
- file://src/passwd.c;beginline=8;endline=30;md5=d83888ea14ae61951982d77125947661"
+ file://src/passwd.c;beginline=2;endline=30;md5=5720ff729a6ff39ecc9f64555d75f4af"
DEPENDS = "virtual/crypt"
@@ -12,15 +12,14 @@ UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases"
SRC_URI = "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz \
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)} \
+ file://shadow-relaxed-usernames.patch \
"
SRC_URI_append_class-target = " \
file://login_defs_pam.sed \
file://shadow-update-pam-conf.patch \
- file://shadow-relaxed-usernames.patch \
"
SRC_URI_append_class-native = " \
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch
new file mode 100644
index 000000000..c860c717a
--- /dev/null
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-Do-not-preserve-ownership-when-installing-example-jo.patch
@@ -0,0 +1,23 @@
+From bbc85a439672120fa1d36be79e959b28fe840919 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 30 Jul 2019 18:38:03 +0200
+Subject: [PATCH] Do not preserve ownership when installing example jobs
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index f36e57e..20488af 100644
+--- a/Makefile
++++ b/Makefile
+@@ -452,6 +452,6 @@ install: stress-ng stress-ng.1.gz
+ mkdir -p ${DESTDIR}${MANDIR}
+ cp stress-ng.1.gz ${DESTDIR}${MANDIR}
+ mkdir -p ${DESTDIR}${JOBDIR}
+- cp -rp example-jobs/*.job ${DESTDIR}${JOBDIR}
++ cp -r example-jobs/*.job ${DESTDIR}${JOBDIR}
+ mkdir -p ${DESTDIR}${BASHDIR}
+ cp bash-completion/stress-ng ${DESTDIR}${BASHDIR}
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch
new file mode 100644
index 000000000..66d99dd88
--- /dev/null
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng/0001-bash-completion-remove-the-shebang-at-the-start.patch
@@ -0,0 +1,23 @@
+From 042147675c7c2ea7dd65b2597f2e350376a710aa Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 6 Aug 2019 17:28:56 +0200
+Subject: [PATCH] bash-completion: remove the shebang at the start
+
+bash completion files do not need to specify that.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ bash-completion/stress-ng | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/bash-completion/stress-ng b/bash-completion/stress-ng
+index 8b1421c..7f195be 100755
+--- a/bash-completion/stress-ng
++++ b/bash-completion/stress-ng
+@@ -1,5 +1,3 @@
+-#!/bin/bash
+-#
+ # stress-ng tab completion for bash.
+ #
+ # Copyright (C) 2019 Canonical
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb
new file mode 100644
index 000000000..7d194b305
--- /dev/null
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.10.00.bb
@@ -0,0 +1,26 @@
+SUMMARY = "System load testing utility"
+DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
+imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
+HOMEPAGE = "https://kernel.ubuntu.com/~cking/stress-ng/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://kernel.ubuntu.com/~cking/tarballs/${BPN}/${BP}.tar.xz \
+ file://0001-Do-not-preserve-ownership-when-installing-example-jo.patch \
+ file://0001-bash-completion-remove-the-shebang-at-the-start.patch \
+ "
+SRC_URI[md5sum] = "46aa41d37690324ceab4febfcc549018"
+SRC_URI[sha256sum] = "d09dd2a1aea549e478995bf9be90b38906a4cdf33ea7b245ef9d46aa5213c074"
+
+DEPENDS = "coreutils-native"
+
+PROVIDES = "stress"
+RPROVIDES_${PN} = "stress"
+RREPLACES_${PN} = "stress"
+RCONFLICTS_${PN} = "stress"
+
+inherit bash-completion
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+}
diff --git a/poky/meta/recipes-extended/stress/files/texinfo.patch b/poky/meta/recipes-extended/stress/files/texinfo.patch
deleted file mode 100644
index f23a1f69c..000000000
--- a/poky/meta/recipes-extended/stress/files/texinfo.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Upstream-Status: Pending
---- a/doc/stress.texi
-+++ b/doc/stress.texi
-@@ -62,47 +62,47 @@
-
- @table @samp
- @item -?
--@itemx --help
-+@item --help
- Show help information.
-
--@itemx --version
-+@item --version
- Show version information.
-
- @item -v
--@itemx --verbose
-+@item --verbose
- Turn up verbosity.
-
- @item -q
--@itemx --quiet
-+@item --quiet
- Turn down verbosity.
-
- @item -n
--@itemx --dry-run
-+@item --dry-run
- Show what would have been done.
-
- @item -t @var{secs}
--@itemx --timeout @var{secs}
-+@item --timeout @var{secs}
- Time out after @var{secs} seconds.
-
--@itemx --backoff @var{usecs}
-+@item --backoff @var{usecs}
- Wait for factor of @var{usecs} microseconds before starting work.
-
- @item -c @var{forks}
--@itemx --cpu @var{forks}
-+@item --cpu @var{forks}
- Spawn @var{forks} processes each spinning on @samp{sqrt()}.
-
- @item -i @var{forks}
--@itemx --io @var{forks}
-+@item --io @var{forks}
- Spawn @var{forks} processes each spinning on @samp{sync()}.
-
- @item -m @var{forks}
--@itemx --vm @var{forks}
-+@item --vm @var{forks}
- Spawn @var{forks} processes each spinning on @samp{malloc()}.
-
--@itemx --vm-bytes @var{bytes}
-+@item --vm-bytes @var{bytes}
- Allocate @var{bytes} number of bytes. The default is 1.
-
--@itemx --vm-hang
-+@item --vm-hang
- Instruct each vm hog process to go to sleep after allocating memory. This
- contrasts with their normal behavior, which is to free the memory and
- reallocate @emph{ad infinitum}. This is useful for simulating low memory
-@@ -114,13 +114,13 @@
- @end example
-
- @item -d @var{forks}
--@itemx --hdd @var{forks}
-+@item --hdd @var{forks}
- Spawn @var{forks} processes each spinning on @samp{write()}.
-
--@itemx --hdd-bytes @var{bytes}
-+@item --hdd-bytes @var{bytes}
- Write @var{bytes} number of bytes. The default is 1GB.
-
--@itemx --hdd-noclean
-+@item --hdd-noclean
- Do not unlink file(s) to which random ASCII data is written.
-
- @end table
diff --git a/poky/meta/recipes-extended/stress/stress_1.0.4.bb b/poky/meta/recipes-extended/stress/stress_1.0.4.bb
deleted file mode 100644
index e9179d3e1..000000000
--- a/poky/meta/recipes-extended/stress/stress_1.0.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "System load testing utility"
-DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
-imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
-HOMEPAGE = "http://people.seas.harvard.edu/~apw/stress/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://people.seas.harvard.edu/~apw/${BPN}/${BP}.tar.gz \
- file://texinfo.patch \
- "
-
-SRC_URI[md5sum] = "890a4236dd1656792f3ef9a190cf99ef"
-SRC_URI[sha256sum] = "057e4fc2a7706411e1014bf172e4f94b63a12f18412378fca8684ca92408825b"
-
-inherit autotools
diff --git a/poky/meta/recipes-extended/sudo/sudo.inc b/poky/meta/recipes-extended/sudo/sudo.inc
index 90f2039bb..15075bcef 100644
--- a/poky/meta/recipes-extended/sudo/sudo.inc
+++ b/poky/meta/recipes-extended/sudo/sudo.inc
@@ -6,12 +6,12 @@ SECTION = "admin"
LICENSE = "ISC & BSD & Zlib"
LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=6c76b73603ac7763ab0516ebfbe67b42 \
file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=4a162fc04b86b03f5632180fe6076cda \
- file://lib/util/reallocarray.c;beginline=3;endline=16;md5=85b0905b795d4d58bf2e00635649eec6 \
+ file://lib/util/reallocarray.c;beginline=3;endline=15;md5=b47f1f85a12f05a0744cd8b1b6f41a0d \
file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \
- file://lib/util/getcwd.c;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
- file://lib/util/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \
- file://lib/util/snprintf.c;beginline=6;endline=34;md5=c82c1b3a5c32e08545c9ec5d71e41e50 \
- file://include/sudo_queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \
+ file://lib/util/getcwd.c;beginline=2;endline=27;md5=09068a19b4f6b6f0a0958655bfe98b63 \
+ file://lib/util/glob.c;beginline=2;endline=31;md5=1f2f771c35fb0658d567a7824007e56d \
+ file://lib/util/snprintf.c;beginline=3;endline=33;md5=63e48e1b992bce749a19dd9b2256e9a0 \
+ file://include/sudo_queue.h;beginline=2;endline=27;md5=082b138b72ba3e568a13a25c3bf254dc \
file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a \
file://lib/util/arc4random.c;beginline=3;endline=20;md5=15bdc89c1b003fa4d7353e6296ebfd68 \
file://lib/util/arc4random_uniform.c;beginline=3;endline=17;md5=31e630ac814d692fd0ab7a942659b46f \
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb b/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb
index 4a3439302..9d2d6bd42 100644
--- a/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb
+++ b/poky/meta/recipes-extended/sudo/sudo_1.8.27.bb
@@ -1,6 +1,6 @@
require sudo.inc
-SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \
+SRC_URI = "http://www.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
file://0001-Include-sys-types.h-for-id_t-definition.patch \
"
@@ -16,7 +16,7 @@ RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-l
EXTRA_OECONF += " \
ac_cv_type_rsize_t=no \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
"
do_install_append () {
@@ -35,6 +35,6 @@ do_install_append () {
rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
}
-FILES_${PN} += "${libdir}/tmpfiles.d"
+FILES_${PN} += "${nonarch_libdir}/tmpfiles.d"
FILES_${PN}-dev += "${libexecdir}/${BPN}/lib*${SOLIBSDEV} ${libexecdir}/${BPN}/*.la \
${libexecdir}/lib*${SOLIBSDEV} ${libexecdir}/*.la"
diff --git a/poky/meta/recipes-extended/sysklogd/files/sysklogd b/poky/meta/recipes-extended/sysklogd/files/sysklogd
index 258f88280..73424840b 100755
--- a/poky/meta/recipes-extended/sysklogd/files/sysklogd
+++ b/poky/meta/recipes-extended/sysklogd/files/sysklogd
@@ -90,6 +90,22 @@ running()
return 0
}
+waitpid ()
+{
+ pid=$1
+ # Give pid a chance to exit before we restart with a 5s timeout in 1s intervals
+ if [ -z "$pid" ]; then
+ return
+ fi
+ timeout=5;
+ while [ $timeout -gt 0 ]
+ do
+ timeout=$(( $timeout-1 ))
+ kill -0 $pid 2> /dev/null || break
+ sleep 1
+ done
+}
+
case "$1" in
start)
log_begin_msg "Starting system log daemon..."
@@ -113,17 +129,23 @@ case "$1" in
start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile_syslogd --name syslogd
log_end_msg $?
log_begin_msg "Reloading kernel log daemon..."
+ pid=`cat $pidfile_klogd 2> /dev/null`
start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
+ waitpid $pid
start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
log_end_msg $?
;;
restart)
log_begin_msg "Restarting system log daemon..."
+ pid=`cat $pidfile_syslogd 2> /dev/null`
start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile_syslogd --name syslogd
+ waitpid $pid
start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD
log_end_msg $?
log_begin_msg "Reloading kernel log daemon..."
+ pid=`cat $pidfile_klogd 2> /dev/null`
start-stop-daemon --stop --quiet --retry 3 --exec $binpath_klogd --pidfile $pidfile_klogd
+ waitpid $pid
start-stop-daemon --start --quiet --pidfile $pidfile_klogd --name klogd --startas $binpath_klogd -- $KLOGD
log_end_msg $?
;;
diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc
index 4e2972166..5a7d2114c 100644
--- a/poky/meta/recipes-extended/sysstat/sysstat.inc
+++ b/poky/meta/recipes-extended/sysstat/sysstat.inc
@@ -4,7 +4,7 @@ HOMEPAGE = "http://sebastien.godard.pagesperso-orange.fr/"
LICENSE = "GPLv2+"
SECTION = "console/utils"
-SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.xz \
+SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/${BP}.tar.xz \
file://99_sysstat \
file://sysstat.service \
"
@@ -20,6 +20,7 @@ inherit autotools-brokensep gettext systemd upstream-version-is-even
PACKAGECONFIG ??= ""
PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
PACKAGECONFIG[cron] = "--enable-install-cron --enable-copy-only,--disable-install-cron --disable-copy-only"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}"
EXTRA_OECONF += "--disable-stripping"
@@ -28,7 +29,7 @@ SYSTEMD_SERVICE_${PN} = "sysstat.service"
SYSTEMD_AUTO_ENABLE = "enable"
do_configure_prepend() {
- export sa_lib_dir=${libdir}/sa
+ export sa_lib_dir=${libexecdir}/sa
}
do_install() {
@@ -44,11 +45,13 @@ do_install() {
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d ${localstatedir}/log/sa - - - -" \
> ${D}${sysconfdir}/tmpfiles.d/sysstat.conf
- fi
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_unitdir}/system
- sed -i -e 's#@LIBDIR@#${libdir}#g' ${D}${systemd_unitdir}/system/sysstat.service
+ if ${@bb.utils.contains('PACKAGECONFIG', 'cron', 'false', 'true', d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_unitdir}/system
+ sed -i -e 's#@LIBDIR@#${libdir}#g' ${D}${systemd_unitdir}/system/sysstat.service
+ fi
+ fi
}
pkg_postinst_${PN} () {
diff --git a/poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb b/poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb
deleted file mode 100644
index 5daf3f45f..000000000
--- a/poky/meta/recipes-extended/sysstat/sysstat_12.1.3.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require sysstat.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
-
-SRC_URI += "file://0001-Include-needed-headers-explicitly.patch"
-
-SRC_URI[md5sum] = "0f9b73f60aba6fd49de346bc384902c3"
-SRC_URI[sha256sum] = "55498bf82755ba9fed3e7df61fd26f8f50dd3e7b3b229c731029a4c8ab51a1aa"
diff --git a/poky/meta/recipes-extended/sysstat/sysstat_12.1.6.bb b/poky/meta/recipes-extended/sysstat/sysstat_12.1.6.bb
new file mode 100644
index 000000000..8cf8c36d9
--- /dev/null
+++ b/poky/meta/recipes-extended/sysstat/sysstat_12.1.6.bb
@@ -0,0 +1,8 @@
+require sysstat.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
+
+SRC_URI += "file://0001-Include-needed-headers-explicitly.patch"
+
+SRC_URI[md5sum] = "d8e3bbb9c873dd370f6d33664e326570"
+SRC_URI[sha256sum] = "f752f3c406153a6fc446496f1102872505ace3f0931d975c1d664c81ec09f129"
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 6d232a50e..dd945c970 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
@@ -18,7 +18,7 @@ FILES_libwrap-staticdev = "${libdir}/lib*.a"
FILES_${PN} = "${sbindir}"
FILES_${PN}-doc = "${mandir}/man8"
-SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
+SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
file://00_man_quoting.diff \
file://01_man_portability.patch \
file://05_wildcard_matching.patch \
diff --git a/poky/meta/recipes-extended/texinfo/texinfo_6.5.bb b/poky/meta/recipes-extended/texinfo/texinfo_6.5.bb
index f966457f8..50eae77ad 100644
--- a/poky/meta/recipes-extended/texinfo/texinfo_6.5.bb
+++ b/poky/meta/recipes-extended/texinfo/texinfo_6.5.bb
@@ -42,7 +42,9 @@ SRC_URI[sha256sum] = "d34272e4042c46186ddcd66bd5d980c0ca14ff734444686ccf8131f6ec
tex_texinfo = "texmf/tex/texinfo"
-inherit gettext autotools
+inherit gettext autotools multilib_script
+
+MULTILIB_SCRIPTS = "${PN}:${bindir}/texi2any"
EXTRA_AUTORECONF += "-I ${S}/gnulib/m4"
diff --git a/poky/meta/recipes-extended/timezone/timezone.inc b/poky/meta/recipes-extended/timezone/timezone.inc
index 1ade0075e..f6bab1acb 100644
--- a/poky/meta/recipes-extended/timezone/timezone.inc
+++ b/poky/meta/recipes-extended/timezone/timezone.inc
@@ -4,7 +4,7 @@ SECTION = "base"
LICENSE = "PD & BSD & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
-PV = "2019a"
+PV = "2019c"
SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \
http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \
@@ -12,7 +12,7 @@ SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz
UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
-SRC_URI[tzcode.md5sum] = "27585a20bc5401324f42c8deb6e4677f"
-SRC_URI[tzcode.sha256sum] = "8739f162bc30cdfb482435697f969253abea49595541a0afd5f443fbae433ff5"
-SRC_URI[tzdata.md5sum] = "288f7b1e43018c633da108f13b27cf91"
-SRC_URI[tzdata.sha256sum] = "90366ddf4aa03e37a16cd49255af77f801822310b213f195e2206ead48c59772"
+SRC_URI[tzcode.md5sum] = "195a17454c5db05cab96595380650391"
+SRC_URI[tzcode.sha256sum] = "f6ebd3668e02d5ed223d3b7b1947561bf2d2da2f4bd1db61efefd9e06c167ed4"
+SRC_URI[tzdata.md5sum] = "f6987e6dfdb2eb83a1b5076a50b80894"
+SRC_URI[tzdata.sha256sum] = "79c7806dab09072308da0e3d22c37d3b245015a591891ea147d3b133b60ffc7c"
diff --git a/poky/meta/recipes-extended/timezone/tzdata.bb b/poky/meta/recipes-extended/timezone/tzdata.bb
index 82fe369ba..1e2d9bd1b 100644
--- a/poky/meta/recipes-extended/timezone/tzdata.bb
+++ b/poky/meta/recipes-extended/timezone/tzdata.bb
@@ -147,6 +147,8 @@ FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \
RPROVIDES_tzdata-misc = "tzdata-misc"
FILES_tzdata-core += " \
+ ${sysconfdir}/localtime \
+ ${sysconfdir}/timezone \
${datadir}/zoneinfo/Pacific/Honolulu \
${datadir}/zoneinfo/America/Anchorage \
${datadir}/zoneinfo/America/Los_Angeles \
@@ -202,8 +204,7 @@ FILES_tzdata-core += " \
${datadir}/zoneinfo/iso3166.tab \
${datadir}/zoneinfo/Etc/*"
-CONFFILES_tzdata-core += "${@ "${sysconfdir}/timezone" if bb.utils.to_boolean(d.getVar('INSTALL_TIMEZONE_FILE')) else "" }"
-CONFFILES_tzdata-core += "${sysconfdir}/localtime"
+CONFFILES_tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
ALLOW_EMPTY_${PN} = "1"
RDEPENDS_${PN} = "${TZ_PACKAGES}"
diff --git a/poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p1.patch b/poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p1.patch
new file mode 100644
index 000000000..d485a1bd6
--- /dev/null
+++ b/poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p1.patch
@@ -0,0 +1,33 @@
+From 080d52c3c9416c731f637f9c6e003961ef43f079 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Mon, 27 May 2019 08:20:32 -0700
+Subject: [PATCH 1/3] Fix bug in undefer_input() that misplaced the input
+ state.
+
+CVE: CVE-2019-13232
+Upstream-Status: Backport
+[https://github.com/madler/unzip/commit/41beb477c5744bc396fa1162ee0c14218ec12213]
+
+Signed-off-by: Dan Tran <dantran@microsoft.com>
+---
+ fileio.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/fileio.c b/fileio.c
+index 7605a29..14460f3 100644
+--- a/fileio.c
++++ b/fileio.c
+@@ -532,8 +532,10 @@ void undefer_input(__G)
+ * This condition was checked when G.incnt_leftover was set > 0 in
+ * defer_leftover_input(), and it is NOT allowed to touch G.csize
+ * before calling undefer_input() when (G.incnt_leftover > 0)
+- * (single exception: see read_byte()'s "G.csize <= 0" handling) !!
++ * (single exception: see readbyte()'s "G.csize <= 0" handling) !!
+ */
++ if (G.csize < 0L)
++ G.csize = 0L;
+ G.incnt = G.incnt_leftover + (int)G.csize;
+ G.inptr = G.inptr_leftover - (int)G.csize;
+ G.incnt_leftover = 0;
+--
+2.22.0.vfs.1.1.57.gbaf16c8
diff --git a/poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p2.patch b/poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p2.patch
new file mode 100644
index 000000000..41037a8e2
--- /dev/null
+++ b/poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p2.patch
@@ -0,0 +1,356 @@
+From 1aae47fa8935654a84403768f32c03ecbb1be470 Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Tue, 11 Jun 2019 22:01:18 -0700
+Subject: [PATCH 2/3] Detect and reject a zip bomb using overlapped entries.
+
+This detects an invalid zip file that has at least one entry that
+overlaps with another entry or with the central directory to the
+end of the file. A Fifield zip bomb uses overlapped local entries
+to vastly increase the potential inflation ratio. Such an invalid
+zip file is rejected.
+
+See https://www.bamsoftware.com/hacks/zipbomb/ for David Fifield's
+analysis, construction, and examples of such zip bombs.
+
+The detection maintains a list of covered spans of the zip files
+so far, where the central directory to the end of the file and any
+bytes preceding the first entry at zip file offset zero are
+considered covered initially. Then as each entry is decompressed
+or tested, it is considered covered. When a new entry is about to
+be processed, its initial offset is checked to see if it is
+contained by a covered span. If so, the zip file is rejected as
+invalid.
+
+This commit depends on a preceding commit: "Fix bug in
+undefer_input() that misplaced the input state."
+
+CVE: CVE-2019-13232
+Upstream-Status: Backport
+[https://github.com/madler/unzip/commit/47b3ceae397d21bf822bc2ac73052a4b1daf8e1c]
+
+Signed-off-by: Dan Tran <dantran@microsoft.com>
+---
+ extract.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ globals.c | 1 +
+ globals.h | 3 +
+ process.c | 10 +++
+ unzip.h | 1 +
+ 5 files changed, 204 insertions(+), 1 deletion(-)
+
+diff --git a/extract.c b/extract.c
+index 24db2a8..2bb72ba 100644
+--- a/extract.c
++++ b/extract.c
+@@ -321,6 +321,125 @@ static ZCONST char Far UnsupportedExtraField[] =
+ "\nerror: unsupported extra-field compression type (%u)--skipping\n";
+ static ZCONST char Far BadExtraFieldCRC[] =
+ "error [%s]: bad extra-field CRC %08lx (should be %08lx)\n";
++static ZCONST char Far NotEnoughMemCover[] =
++ "error: not enough memory for bomb detection\n";
++static ZCONST char Far OverlappedComponents[] =
++ "error: invalid zip file with overlapped components (possible zip bomb)\n";
++
++
++
++
++
++/* A growable list of spans. */
++typedef zoff_t bound_t;
++typedef struct {
++ bound_t beg; /* start of the span */
++ bound_t end; /* one past the end of the span */
++} span_t;
++typedef struct {
++ span_t *span; /* allocated, distinct, and sorted list of spans */
++ size_t num; /* number of spans in the list */
++ size_t max; /* allocated number of spans (num <= max) */
++} cover_t;
++
++/*
++ * Return the index of the first span in cover whose beg is greater than val.
++ * If there is no such span, then cover->num is returned.
++ */
++static size_t cover_find(cover, val)
++ cover_t *cover;
++ bound_t val;
++{
++ size_t lo = 0, hi = cover->num;
++ while (lo < hi) {
++ size_t mid = (lo + hi) >> 1;
++ if (val < cover->span[mid].beg)
++ hi = mid;
++ else
++ lo = mid + 1;
++ }
++ return hi;
++}
++
++/* Return true if val lies within any one of the spans in cover. */
++static int cover_within(cover, val)
++ cover_t *cover;
++ bound_t val;
++{
++ size_t pos = cover_find(cover, val);
++ return pos > 0 && val < cover->span[pos - 1].end;
++}
++
++/*
++ * Add a new span to the list, but only if the new span does not overlap any
++ * spans already in the list. The new span covers the values beg..end-1. beg
++ * must be less than end.
++ *
++ * Keep the list sorted and merge adjacent spans. Grow the allocated space for
++ * the list as needed. On success, 0 is returned. If the new span overlaps any
++ * existing spans, then 1 is returned and the new span is not added to the
++ * list. If the new span is invalid because beg is greater than or equal to
++ * end, then -1 is returned. If the list needs to be grown but the memory
++ * allocation fails, then -2 is returned.
++ */
++static int cover_add(cover, beg, end)
++ cover_t *cover;
++ bound_t beg;
++ bound_t end;
++{
++ size_t pos;
++ int prec, foll;
++
++ if (beg >= end)
++ /* The new span is invalid. */
++ return -1;
++
++ /* Find where the new span should go, and make sure that it does not
++ overlap with any existing spans. */
++ pos = cover_find(cover, beg);
++ if ((pos > 0 && beg < cover->span[pos - 1].end) ||
++ (pos < cover->num && end > cover->span[pos].beg))
++ return 1;
++
++ /* Check for adjacencies. */
++ prec = pos > 0 && beg == cover->span[pos - 1].end;
++ foll = pos < cover->num && end == cover->span[pos].beg;
++ if (prec && foll) {
++ /* The new span connects the preceding and following spans. Merge the
++ following span into the preceding span, and delete the following
++ span. */
++ cover->span[pos - 1].end = cover->span[pos].end;
++ cover->num--;
++ memmove(cover->span + pos, cover->span + pos + 1,
++ (cover->num - pos) * sizeof(span_t));
++ }
++ else if (prec)
++ /* The new span is adjacent only to the preceding span. Extend the end
++ of the preceding span. */
++ cover->span[pos - 1].end = end;
++ else if (foll)
++ /* The new span is adjacent only to the following span. Extend the
++ beginning of the following span. */
++ cover->span[pos].beg = beg;
++ else {
++ /* The new span has gaps between both the preceding and the following
++ spans. Assure that there is room and insert the span. */
++ if (cover->num == cover->max) {
++ size_t max = cover->max == 0 ? 16 : cover->max << 1;
++ span_t *span = realloc(cover->span, max * sizeof(span_t));
++ if (span == NULL)
++ return -2;
++ cover->span = span;
++ cover->max = max;
++ }
++ memmove(cover->span + pos + 1, cover->span + pos,
++ (cover->num - pos) * sizeof(span_t));
++ cover->num++;
++ cover->span[pos].beg = beg;
++ cover->span[pos].end = end;
++ }
++ return 0;
++}
+
+
+
+@@ -376,6 +495,29 @@ int extract_or_test_files(__G) /* return PK-type error code */
+ }
+ #endif /* !SFX || SFX_EXDIR */
+
++ /* One more: initialize cover structure for bomb detection. Start with a
++ span that covers the central directory though the end of the file. */
++ if (G.cover == NULL) {
++ G.cover = malloc(sizeof(cover_t));
++ if (G.cover == NULL) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(NotEnoughMemCover)));
++ return PK_MEM;
++ }
++ ((cover_t *)G.cover)->span = NULL;
++ ((cover_t *)G.cover)->max = 0;
++ }
++ ((cover_t *)G.cover)->num = 0;
++ if ((G.extra_bytes != 0 &&
++ cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
++ cover_add((cover_t *)G.cover,
++ G.extra_bytes + G.ecrec.offset_start_central_directory,
++ G.ziplen) != 0) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(NotEnoughMemCover)));
++ return PK_MEM;
++ }
++
+ /*---------------------------------------------------------------------------
+ The basic idea of this function is as follows. Since the central di-
+ rectory lies at the end of the zipfile and the member files lie at the
+@@ -593,7 +735,8 @@ int extract_or_test_files(__G) /* return PK-type error code */
+ if (error > error_in_archive)
+ error_in_archive = error;
+ /* ...and keep going (unless disk full or user break) */
+- if (G.disk_full > 1 || error_in_archive == IZ_CTRLC) {
++ if (G.disk_full > 1 || error_in_archive == IZ_CTRLC ||
++ error == PK_BOMB) {
+ /* clear reached_end to signal premature stop ... */
+ reached_end = FALSE;
+ /* ... and cancel scanning the central directory */
+@@ -1062,6 +1205,11 @@ static int extract_or_test_entrylist(__G__ numchunk,
+
+ /* seek_zipf(__G__ pInfo->offset); */
+ request = G.pInfo->offset + G.extra_bytes;
++ if (cover_within((cover_t *)G.cover, request)) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(OverlappedComponents)));
++ return PK_BOMB;
++ }
+ inbuf_offset = request % INBUFSIZ;
+ bufstart = request - inbuf_offset;
+
+@@ -1593,6 +1741,18 @@ reprompt:
+ return IZ_CTRLC; /* cancel operation by user request */
+ }
+ #endif
++ error = cover_add((cover_t *)G.cover, request,
++ G.cur_zipfile_bufstart + (G.inptr - G.inbuf));
++ if (error < 0) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(NotEnoughMemCover)));
++ return PK_MEM;
++ }
++ if (error != 0) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(OverlappedComponents)));
++ return PK_BOMB;
++ }
+ #ifdef MACOS /* MacOS is no preemptive OS, thus call event-handling by hand */
+ UserStop();
+ #endif
+@@ -1994,6 +2154,34 @@ static int extract_or_test_member(__G) /* return PK-type error code */
+ }
+
+ undefer_input(__G);
++
++ if ((G.lrec.general_purpose_bit_flag & 8) != 0) {
++ /* skip over data descriptor (harder than it sounds, due to signature
++ * ambiguity)
++ */
++# define SIG 0x08074b50
++# define LOW 0xffffffff
++ uch buf[12];
++ unsigned shy = 12 - readbuf((char *)buf, 12);
++ ulg crc = shy ? 0 : makelong(buf);
++ ulg clen = shy ? 0 : makelong(buf + 4);
++ ulg ulen = shy ? 0 : makelong(buf + 8); /* or high clen if ZIP64 */
++ if (crc == SIG && /* if not SIG, no signature */
++ (G.lrec.crc32 != SIG || /* if not SIG, have signature */
++ (clen == SIG && /* if not SIG, no signature */
++ ((G.lrec.csize & LOW) != SIG || /* if not SIG, have signature */
++ (ulen == SIG && /* if not SIG, no signature */
++ (G.zip64 ? G.lrec.csize >> 32 : G.lrec.ucsize) != SIG
++ /* if not SIG, have signature */
++ )))))
++ /* skip four more bytes to account for signature */
++ shy += 4 - readbuf((char *)buf, 4);
++ if (G.zip64)
++ shy += 8 - readbuf((char *)buf, 8); /* skip eight more for ZIP64 */
++ if (shy)
++ error = PK_ERR;
++ }
++
+ return error;
+
+ } /* end function extract_or_test_member() */
+diff --git a/globals.c b/globals.c
+index fa8cca5..1e0f608 100644
+--- a/globals.c
++++ b/globals.c
+@@ -181,6 +181,7 @@ Uz_Globs *globalsCtor()
+ # if (!defined(NO_TIMESTAMPS))
+ uO.D_flag=1; /* default to '-D', no restoration of dir timestamps */
+ # endif
++ G.cover = NULL; /* not allocated yet */
+ #endif
+
+ uO.lflag=(-1);
+diff --git a/globals.h b/globals.h
+index 11b7215..2bdcdeb 100644
+--- a/globals.h
++++ b/globals.h
+@@ -260,12 +260,15 @@ typedef struct Globals {
+ ecdir_rec ecrec; /* used in unzip.c, extract.c */
+ z_stat statbuf; /* used by main, mapname, check_for_newer */
+
++ int zip64; /* true if Zip64 info in extra field */
++
+ int mem_mode;
+ uch *outbufptr; /* extract.c static */
+ ulg outsize; /* extract.c static */
+ int reported_backslash; /* extract.c static */
+ int disk_full;
+ int newfile;
++ void **cover; /* used in extract.c for bomb detection */
+
+ int didCRlast; /* fileio static */
+ ulg numlines; /* fileio static: number of lines printed */
+diff --git a/process.c b/process.c
+index a3c1a4d..208619c 100644
+--- a/process.c
++++ b/process.c
+@@ -637,6 +637,13 @@ void free_G_buffers(__G) /* releases all memory allocated in global vars */
+ }
+ #endif
+
++ /* Free the cover span list and the cover structure. */
++ if (G.cover != NULL) {
++ free(*(G.cover));
++ free(G.cover);
++ G.cover = NULL;
++ }
++
+ } /* end function free_G_buffers() */
+
+
+@@ -1905,6 +1912,7 @@ int getZip64Data(__G__ ef_buf, ef_len)
+
+ #define Z64FLGS 0xffff
+ #define Z64FLGL 0xffffffff
++ G.zip64 = FALSE;
+
+ if (ef_len == 0 || ef_buf == NULL)
+ return PK_COOL;
+@@ -1964,6 +1972,8 @@ int getZip64Data(__G__ ef_buf, ef_len)
+ G.crec.disk_number_start = (zuvl_t)makelong(offset + ef_buf);
+ offset += 4;
+ }
++
++ G.zip64 = TRUE;
+ #if 0
+ break; /* Expect only one EF_PKSZ64 block. */
+ #endif /* 0 */
+diff --git a/unzip.h b/unzip.h
+index 5b2a326..ed24a5b 100644
+--- a/unzip.h
++++ b/unzip.h
+@@ -645,6 +645,7 @@ typedef struct _Uzp_cdir_Rec {
+ #define PK_NOZIP 9 /* zipfile not found */
+ #define PK_PARAM 10 /* bad or illegal parameters specified */
+ #define PK_FIND 11 /* no files found */
++#define PK_BOMB 12 /* likely zip bomb */
+ #define PK_DISK 50 /* disk full */
+ #define PK_EOF 51 /* unexpected EOF */
+
+--
+2.22.0.vfs.1.1.57.gbaf16c8
diff --git a/poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p3.patch b/poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p3.patch
new file mode 100644
index 000000000..fd26fdd83
--- /dev/null
+++ b/poky/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p3.patch
@@ -0,0 +1,121 @@
+From be88aa4811af47ca06d8b7dcda294f899eba70ea Mon Sep 17 00:00:00 2001
+From: Mark Adler <madler@alumni.caltech.edu>
+Date: Thu, 25 Jul 2019 20:43:17 -0700
+Subject: [PATCH 3/3] Do not raise a zip bomb alert for a misplaced central
+ directory.
+
+There is a zip-like file in the Firefox distribution, omni.ja,
+which is a zip container with the central directory placed at the
+start of the file instead of after the local entries as required
+by the zip standard. This commit marks the actual location of the
+central directory, as well as the end of central directory records,
+as disallowed locations. This now permits such containers to not
+raise a zip bomb alert, where in fact there are no overlaps.
+
+CVE: CVE-2019-13232
+Upstream-Status: Backport
+[https://github.com/madler/unzip/commit/6d351831be705cc26d897db44f878a978f4138fc]
+
+Signed-off-by: Dan Tran <dantran@microsoft.com>
+---
+ extract.c | 25 +++++++++++++++++++------
+ process.c | 6 ++++++
+ unzpriv.h | 10 ++++++++++
+ 3 files changed, 35 insertions(+), 6 deletions(-)
+
+diff --git a/extract.c b/extract.c
+index 2bb72ba..a9dcca8 100644
+--- a/extract.c
++++ b/extract.c
+@@ -495,8 +495,11 @@ int extract_or_test_files(__G) /* return PK-type error code */
+ }
+ #endif /* !SFX || SFX_EXDIR */
+
+- /* One more: initialize cover structure for bomb detection. Start with a
+- span that covers the central directory though the end of the file. */
++ /* One more: initialize cover structure for bomb detection. Start with
++ spans that cover any extra bytes at the start, the central directory,
++ the end of central directory record (including the Zip64 end of central
++ directory locator, if present), and the Zip64 end of central directory
++ record, if present. */
+ if (G.cover == NULL) {
+ G.cover = malloc(sizeof(cover_t));
+ if (G.cover == NULL) {
+@@ -508,15 +511,25 @@ int extract_or_test_files(__G) /* return PK-type error code */
+ ((cover_t *)G.cover)->max = 0;
+ }
+ ((cover_t *)G.cover)->num = 0;
+- if ((G.extra_bytes != 0 &&
+- cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
+- cover_add((cover_t *)G.cover,
++ if (cover_add((cover_t *)G.cover,
+ G.extra_bytes + G.ecrec.offset_start_central_directory,
+- G.ziplen) != 0) {
++ G.extra_bytes + G.ecrec.offset_start_central_directory +
++ G.ecrec.size_central_directory) != 0) {
+ Info(slide, 0x401, ((char *)slide,
+ LoadFarString(NotEnoughMemCover)));
+ return PK_MEM;
+ }
++ if ((G.extra_bytes != 0 &&
++ cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
++ (G.ecrec.have_ecr64 &&
++ cover_add((cover_t *)G.cover, G.ecrec.ec64_start,
++ G.ecrec.ec64_end) != 0) ||
++ cover_add((cover_t *)G.cover, G.ecrec.ec_start,
++ G.ecrec.ec_end) != 0) {
++ Info(slide, 0x401, ((char *)slide,
++ LoadFarString(OverlappedComponents)));
++ return PK_BOMB;
++ }
+
+ /*---------------------------------------------------------------------------
+ The basic idea of this function is as follows. Since the central di-
+diff --git a/process.c b/process.c
+index 208619c..5f8f6c6 100644
+--- a/process.c
++++ b/process.c
+@@ -1408,6 +1408,10 @@ static int find_ecrec64(__G__ searchlen) /* return PK-class error */
+
+ /* Now, we are (almost) sure that we have a Zip64 archive. */
+ G.ecrec.have_ecr64 = 1;
++ G.ecrec.ec_start -= ECLOC64_SIZE+4;
++ G.ecrec.ec64_start = ecrec64_start_offset;
++ G.ecrec.ec64_end = ecrec64_start_offset +
++ 12 + makeint64(&byterec[ECREC64_LENGTH]);
+
+ /* Update the "end-of-central-dir offset" for later checks. */
+ G.real_ecrec_offset = ecrec64_start_offset;
+@@ -1542,6 +1546,8 @@ static int find_ecrec(__G__ searchlen) /* return PK-class error */
+ makelong(&byterec[OFFSET_START_CENTRAL_DIRECTORY]);
+ G.ecrec.zipfile_comment_length =
+ makeword(&byterec[ZIPFILE_COMMENT_LENGTH]);
++ G.ecrec.ec_start = G.real_ecrec_offset;
++ G.ecrec.ec_end = G.ecrec.ec_start + 22 + G.ecrec.zipfile_comment_length;
+
+ /* Now, we have to read the archive comment, BEFORE the file pointer
+ is moved away backwards to seek for a Zip64 ECLOC64 structure.
+diff --git a/unzpriv.h b/unzpriv.h
+index c8d3eab..5e177c7 100644
+--- a/unzpriv.h
++++ b/unzpriv.h
+@@ -2185,6 +2185,16 @@ typedef struct VMStimbuf {
+ int have_ecr64; /* valid Zip64 ecdir-record exists */
+ int is_zip64_archive; /* Zip64 ecdir-record is mandatory */
+ ush zipfile_comment_length;
++ zusz_t ec_start, ec_end; /* offsets of start and end of the
++ end of central directory record,
++ including if present the Zip64
++ end of central directory locator,
++ which immediately precedes the
++ end of central directory record */
++ zusz_t ec64_start, ec64_end; /* if have_ecr64 is true, then these
++ are the offsets of the start and
++ end of the Zip64 end of central
++ directory record */
+ } ecdir_rec;
+
+
+--
+2.22.0.vfs.1.1.57.gbaf16c8
+
diff --git a/poky/meta/recipes-extended/unzip/unzip_6.0.bb b/poky/meta/recipes-extended/unzip/unzip_6.0.bb
index daba72272..c1ea0a9a2 100644
--- a/poky/meta/recipes-extended/unzip/unzip_6.0.bb
+++ b/poky/meta/recipes-extended/unzip/unzip_6.0.bb
@@ -22,6 +22,9 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/
file://symlink.patch \
file://0001-unzip-fix-CVE-2018-1000035.patch \
file://CVE-2018-18384.patch \
+ file://CVE-2019-13232_p1.patch \
+ file://CVE-2019-13232_p2.patch \
+ file://CVE-2019-13232_p3.patch \
"
UPSTREAM_VERSION_UNKNOWN = "1"
diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb
deleted file mode 100644
index de1b6e2f8..000000000
--- a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.3.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "WebKit based web browser for GNOME"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \
- gsettings-desktop-schemas libxml2-native \
- glib-2.0 glib-2.0-native json-glib libdazzle"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext
-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 \
- "
-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/epiphany_3.32.4.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.4.bb
new file mode 100644
index 000000000..44af46994
--- /dev/null
+++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.4.bb
@@ -0,0 +1,20 @@
+SUMMARY = "WebKit based web browser for GNOME"
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "libsoup-2.4 webkitgtk gtk+3 iso-codes avahi libnotify gcr \
+ gsettings-desktop-schemas libxml2-native \
+ glib-2.0 glib-2.0-native json-glib libdazzle"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase gsettings distro_features_check upstream-version-is-even gettext
+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 \
+ "
+SRC_URI[archive.md5sum] = "6a5eada8a3870ab4d0fcd5168559776f"
+SRC_URI[archive.sha256sum] = "c9a828578301af77ac9f3d3ce253b02f9f3a1561840cc8d74dd5645f92d0a995"
+
+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/gdk-pixbuf/gdk-pixbuf_2.38.1.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb
deleted file mode 100644
index 3145cc208..000000000
--- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb
+++ /dev/null
@@ -1,124 +0,0 @@
-SUMMARY = "Image loading library for GTK+"
-HOMEPAGE = "http://www.gtk.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
- file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \
- "
-
-SECTION = "libs"
-
-DEPENDS = "glib-2.0 gdk-pixbuf-native shared-mime-info"
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
- file://run-ptest \
- 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://0004-Do-not-run-tests-when-building.patch \
- file://0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch \
- "
-
-SRC_URI_append_class-target = " \
- file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
- "
-SRC_URI_append_class-nativesdk = " \
- file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
- "
-
-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
-
-GIR_MESON_OPTION = 'gir'
-
-EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
-
-LIBV = "2.10.0"
-
-GDK_PIXBUF_LOADERS ?= "png jpeg"
-
-PACKAGECONFIG ??= "${GDK_PIXBUF_LOADERS}"
-PACKAGECONFIG_linuxstdbase = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${GDK_PIXBUF_LOADERS}"
-PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}"
-
-PACKAGECONFIG[png] = "-Dpng=true,-Dpng=false,libpng"
-PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg"
-PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff"
-PACKAGECONFIG[jpeg2000] = "-Djasper=true,-Djasper=false,jasper"
-
-PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,virtual/libx11"
-
-PACKAGES =+ "${PN}-xlib"
-
-# For GIO image type sniffing
-RDEPENDS_${PN} = "shared-mime-info"
-
-FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
-ALLOW_EMPTY_${PN}-xlib = "1"
-
-FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
-
-FILES_${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer"
-
-FILES_${PN}-dev += " \
- ${bindir}/gdk-pixbuf-csource \
- ${bindir}/gdk-pixbuf-pixdata \
- ${bindir}/gdk-pixbuf-print-mime-types \
- ${includedir}/* \
- ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \
-"
-
-PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*"
-PACKAGES_DYNAMIC_class-native = ""
-
-python populate_packages_prepend () {
- postinst_pixbufloader = d.getVar("postinst_pixbufloader")
-
- loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders')
-
- packages = ' '.join(do_split_packages(d, loaders_root, r'^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s'))
- d.setVar('PIXBUF_PACKAGES', packages)
-
- # The test suite exercises all the loaders, so ensure they are all
- # dependencies of the ptest package.
- d.appendVar("RDEPENDS_%s-ptest" % d.getVar('PN'), " " + packages)
-}
-
-do_install_append() {
- # Copy gdk-pixbuf-query-loaders into libdir so it is always available
- # in multilib builds.
- cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
-
-}
-
-do_install_append_class-native() {
- find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
-
- create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \
- XDG_DATA_DIRS=${STAGING_DATADIR} \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
-
- create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \
- XDG_DATA_DIRS=${STAGING_DATADIR} \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
-
- create_wrapper ${D}/${bindir}/gdk-pixbuf-print-mime-types \
- XDG_DATA_DIRS=${STAGING_DATADIR} \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
-
- create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
- XDG_DATA_DIRS=${STAGING_DATADIR} \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
- GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
-
- create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \
- XDG_DATA_DIRS=${STAGING_DATADIR} \
- GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
- GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
-}
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.2.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.2.bb
new file mode 100644
index 000000000..0f3a63d89
--- /dev/null
+++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.2.bb
@@ -0,0 +1,123 @@
+SUMMARY = "Image loading library for GTK+"
+HOMEPAGE = "http://www.gtk.org/"
+BUGTRACKER = "https://bugzilla.gnome.org/"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://gdk-pixbuf/gdk-pixbuf.h;endline=26;md5=72b39da7cbdde2e665329fef618e1d6b \
+ "
+
+SECTION = "libs"
+
+DEPENDS = "glib-2.0 gdk-pixbuf-native shared-mime-info"
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
+ file://run-ptest \
+ 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://0004-Do-not-run-tests-when-building.patch \
+ file://0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch \
+ "
+
+SRC_URI_append_class-target = " \
+ file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
+ "
+SRC_URI_append_class-nativesdk = " \
+ file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \
+ "
+
+SRC_URI[md5sum] = "cc1d712a1643b92ff0904d589963971f"
+SRC_URI[sha256sum] = "73fa651ec0d89d73dd3070b129ce2203a66171dfc0bd2caa3570a9c93d2d0781"
+
+inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package
+
+GIR_MESON_OPTION = 'gir'
+
+EXTRA_OEMESON_append = " ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}"
+
+LIBV = "2.10.0"
+
+GDK_PIXBUF_LOADERS ?= "png jpeg"
+
+PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${GDK_PIXBUF_LOADERS}"
+PACKAGECONFIG_class-native = "${GDK_PIXBUF_LOADERS}"
+
+PACKAGECONFIG[png] = "-Dpng=true,-Dpng=false,libpng"
+PACKAGECONFIG[jpeg] = "-Djpeg=true,-Djpeg=false,jpeg"
+PACKAGECONFIG[tiff] = "-Dtiff=true,-Dtiff=false,tiff"
+PACKAGECONFIG[jpeg2000] = "-Djasper=true,-Djasper=false,jasper"
+
+PACKAGECONFIG[x11] = "-Dx11=true,-Dx11=false,virtual/libx11"
+
+PACKAGES =+ "${PN}-xlib"
+
+# For GIO image type sniffing
+RDEPENDS_${PN} = "shared-mime-info"
+
+FILES_${PN}-xlib = "${libdir}/*pixbuf_xlib*${SOLIBS}"
+ALLOW_EMPTY_${PN}-xlib = "1"
+
+FILES_${PN} += "${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders"
+
+FILES_${PN}-bin += "${datadir}/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer"
+
+FILES_${PN}-dev += " \
+ ${bindir}/gdk-pixbuf-csource \
+ ${bindir}/gdk-pixbuf-pixdata \
+ ${bindir}/gdk-pixbuf-print-mime-types \
+ ${includedir}/* \
+ ${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders/*.la \
+"
+
+PACKAGES_DYNAMIC += "^gdk-pixbuf-loader-.*"
+PACKAGES_DYNAMIC_class-native = ""
+
+python populate_packages_prepend () {
+ postinst_pixbufloader = d.getVar("postinst_pixbufloader")
+
+ loaders_root = d.expand('${libdir}/gdk-pixbuf-2.0/${LIBV}/loaders')
+
+ packages = ' '.join(do_split_packages(d, loaders_root, r'^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s'))
+ d.setVar('PIXBUF_PACKAGES', packages)
+
+ # The test suite exercises all the loaders, so ensure they are all
+ # dependencies of the ptest package.
+ d.appendVar("RDEPENDS_%s-ptest" % d.getVar('PN'), " " + packages)
+}
+
+do_install_append() {
+ # Copy gdk-pixbuf-query-loaders into libdir so it is always available
+ # in multilib builds.
+ cp ${D}/${bindir}/gdk-pixbuf-query-loaders ${D}/${libdir}/gdk-pixbuf-2.0/
+
+}
+
+do_install_append_class-native() {
+ find ${D}${libdir} -name "libpixbufloader-*.la" -exec rm \{\} \;
+
+ create_wrapper ${D}/${bindir}/gdk-pixbuf-csource \
+ XDG_DATA_DIRS=${STAGING_DATADIR} \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
+
+ create_wrapper ${D}/${bindir}/gdk-pixbuf-pixdata \
+ XDG_DATA_DIRS=${STAGING_DATADIR} \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
+
+ create_wrapper ${D}/${bindir}/gdk-pixbuf-print-mime-types \
+ XDG_DATA_DIRS=${STAGING_DATADIR} \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache
+
+ create_wrapper ${D}/${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders \
+ XDG_DATA_DIRS=${STAGING_DATADIR} \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
+ GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
+
+ create_wrapper ${D}/${bindir}/gdk-pixbuf-query-loaders \
+ XDG_DATA_DIRS=${STAGING_DATADIR} \
+ GDK_PIXBUF_MODULE_FILE=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders.cache \
+ GDK_PIXBUF_MODULEDIR=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/${LIBV}/loaders
+}
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch
index 6c38e237f..c4d7e2583 100644
--- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch
+++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Run-installation-commands-as-shell-jobs.patch
@@ -24,7 +24,8 @@ index 1c940a5..3998ee6 100644
- $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file; \
+ $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file & \
done; \
- done;
+- done;
++ done; \
+ wait
## FIXME we should add a way to remove links generated by icon mapping
@@ -45,7 +46,8 @@ index 86f4d7c..3fae8c1 100644
$(mkdir_p) $(DESTDIR)$(themedir)/scalable-up-to-32/$$context; \
- $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32/$$file $(DESTDIR)$(themedir)/scalable-up-to-32/$$file; \
+ $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/scalable-up-to-32/$$file $(DESTDIR)$(themedir)/scalable-up-to-32/$$file & \
- done
+- done
++ done; \
+ wait
uninstall-local:
@@ -61,7 +63,8 @@ index 24aac9b..61ba071 100644
- $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file; \
+ $(install_sh_DATA) $(top_srcdir)/$(SVGOUTDIR)/$$size/$$file $(DESTDIR)$(themedir)/$$size/$$file & \
done; \
- done
+- done
++ done; \
for file in `cd $(top_srcdir)/$(SVGOUTDIR)/scalable; find . -name "*.svg"`; do \
context="`dirname $$file`"; \
$(mkdir_p) $(DESTDIR)$(themedir)/scalable/$$context; \
@@ -72,7 +75,8 @@ index 24aac9b..61ba071 100644
- $(GTK_ENCODE_SYMBOLIC_SVG) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $$size -o $(DESTDIR)$(themedir)/$$size/$$context; \
+ $(GTK_ENCODE_SYMBOLIC_SVG) $(top_srcdir)/$(SVGOUTDIR)/scalable/$$file $$size -o $(DESTDIR)$(themedir)/$$size/$$context & \
done \
- done
+- done
++ done; \
+ wait
uninstall-local:
diff --git a/poky/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb b/poky/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb
deleted file mode 100644
index 55ee27760..000000000
--- a/poky/meta/recipes-gnome/gnome/gnome-themes-standard_3.22.3.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "GTK+2 standard themes"
-HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-SECTION = "x11/gnome"
-
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-inherit autotools pkgconfig gettext gtk-icon-cache upstream-version-is-even distro_features_check
-
-ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
-
-DEPENDS += "intltool-native gtk+"
-
-MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
- "
-
-SRC_URI[md5sum] = "b51c362b157b6407303d44f93c31ee11"
-SRC_URI[sha256sum] = "61dc87c52261cfd5b94d65e8ffd923ddeb5d3944562f84942eeeb197ab8ab56a"
-
-EXTRA_OECONF = "--disable-gtk3-engine"
-
-do_install_append() {
- # Only building Adwaita, remove highcontrast files
- rm -rf ${D}${prefix}/share/themes/HighContrast \
- ${D}${prefix}/share/icons
-
- # The libtool archive file is unneeded with shared libs on modern Linux
- rm -rf ${D}${libdir}/gtk-2.0/2.10.0/engines/libadwaita.la
-}
-
-# There could be gnome-theme-highcontrast as well but that requires
-# gtk+3 and includes lots of icons (is also broken with B != S).
-PACKAGES += "gnome-theme-adwaita \
- gnome-theme-adwaita-dark \
- "
-
-FILES_gnome-theme-adwaita = "${prefix}/share/themes/Adwaita \
- ${libdir}/gtk-2.0/2.10.0/engines/libadwaita.so"
-
-FILES_gnome-theme-adwaita-dark = "${prefix}/share/themes/Adwaita-dark"
-RDEPENDS_gnome-theme-adwaita-dark = "gnome-theme-adwaita"
-
-# gnome-themes-standard is empty and doesn't exist
-RDEPENDS_${PN}-dev = ""
diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3.inc b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
index 77b6c3153..dc6768c4e 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk+3.inc
+++ b/poky/meta/recipes-gnome/gtk+/gtk+3.inc
@@ -52,7 +52,7 @@ PACKAGECONFIG[x11] = "--enable-x11-backend,--disable-x11-backend,at-spi2-atk fon
# this is provided by oe-core patch that removes epoxy/gl dependency from a X11 build
PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,libepoxy"
PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,,libgl"
-PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland wayland-protocols libxkbcommon virtual/mesa wayland-native"
+PACKAGECONFIG[wayland] = "--enable-wayland-backend,--disable-wayland-backend,wayland wayland-protocols libxkbcommon virtual/egl virtual/libgles2 wayland-native"
PACKAGECONFIG[cups] = "--enable-cups,--disable-cups,cups"
prepare_gtk_scripts() {
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 3e973a16e..8c9bc9544 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 a3f69f2ed45efbdaee47c2dde4df3d78323300e5 Mon Sep 17 00:00:00 2001
+From 9537a7998a220b698b26d926a111bb400ff1ce01 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.
diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb
deleted file mode 100644
index f16847e40..000000000
--- a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Documentation generator for glib-based software"
-DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \
- from glib-based software and produce a set of html documentation files from them"
-HOMEPAGE = "http://www.gtk.org/gtk-doc/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit gnomebase
-
-# Configure the scripts correctly (and build their dependencies) only if they are actually
-# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball.
-PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}"
-
-# This will cause target gtk-doc to hardcode paths of native dependencies
-# 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] = ",,libxslt-native xmlto-native python3-six python3-pygments"
-PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
-
-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 \
- file://no-clobber.patch \
- "
-SRC_URI_append_class-native = " file://pkg-config-native.patch"
-
-BBCLASSEXTEND = "native nativesdk"
-
-# Do not check for XML catalogs when building because that
-# information is not used for anything during build. Recipe
-# dependencies make sure we have all the right bits.
-do_configure_prepend() {
- sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac
-}
-
-FILES_${PN} += "${datadir}/sgml"
-FILES_${PN}-dev += "${libdir}/cmake"
-FILES_${PN}-doc = ""
-
-SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess"
-gtkdoc_makefiles_sysroot_preprocess() {
- # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
- # instead of libtool wrapper or running them directly
- sed -i \
- -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
- ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make
-}
diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.31.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.31.bb
new file mode 100644
index 000000000..4f97ce063
--- /dev/null
+++ b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.31.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Documentation generator for glib-based software"
+DESCRIPTION = "Gtk-doc is a set of scripts that extract specially formatted comments \
+ from glib-based software and produce a set of html documentation files from them"
+HOMEPAGE = "http://www.gtk.org/gtk-doc/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+inherit gnomebase
+
+# Configure the scripts correctly (and build their dependencies) only if they are actually
+# going to be used; otheriwse we need only the m4/makefile includes from the gtk-doc tarball.
+PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", "working-scripts", "", d)}"
+
+# This will cause target gtk-doc to hardcode paths of native dependencies
+# 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] = ",,libxslt-native xmlto-native python3-six python3-pygments"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0"
+
+SRC_URI[archive.md5sum] = "6239713011369a4fbdc7619350403772"
+SRC_URI[archive.sha256sum] = "a51687956d0377ac70904d03fdc73c9e116589b4a01453fa92162442b3657011"
+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 \
+ file://no-clobber.patch \
+ "
+SRC_URI_append_class-native = " file://pkg-config-native.patch"
+
+BBCLASSEXTEND = "native nativesdk"
+
+# Do not check for XML catalogs when building because that
+# information is not used for anything during build. Recipe
+# dependencies make sure we have all the right bits.
+do_configure_prepend() {
+ sed -i -e 's,^JH_CHECK_XML_CATALOG.*,,' ${S}/configure.ac
+}
+
+FILES_${PN} += "${datadir}/sgml"
+FILES_${PN}-dev += "${libdir}/cmake"
+FILES_${PN}-doc = ""
+
+SYSROOT_PREPROCESS_FUNCS_append_class-native = " gtkdoc_makefiles_sysroot_preprocess"
+gtkdoc_makefiles_sysroot_preprocess() {
+ # Patch the gtk-doc makefiles so that the qemu wrapper is used to run transient binaries
+ # instead of libtool wrapper or running them directly
+ sed -i \
+ -e "s|GTKDOC_RUN =.*|GTKDOC_RUN = \$(top_builddir)/gtkdoc-qemuwrapper|" \
+ ${SYSROOT_DESTDIR}${datadir}/gtk-doc/data/gtk-doc*make
+}
diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb
deleted file mode 100644
index 58e78a5b7..000000000
--- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+."
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-
-GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase upstream-version-is-even vala distro_features_check gobject-introspection
-
-DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
-
-SRC_URI[archive.md5sum] = "b5c99a8f483a0defe7c7124a3220e412"
-SRC_URI[archive.sha256sum] = "413f8dfb8706760e0c649e2994bd10524ac0736601dd03ad2036293bed3bf141"
-
-GIR_MESON_OPTION = 'with_introspection'
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.3.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.3.bb
new file mode 100644
index 000000000..e1a118300
--- /dev/null
+++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "The libdazzle library is a companion library to GObject and Gtk+."
+LICENSE = "GPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
+
+GNOMEBASEBUILDCLASS = "meson"
+inherit gnomebase upstream-version-is-even vala distro_features_check gobject-introspection
+
+DEPENDS = "glib-2.0-native glib-2.0 gtk+3"
+
+SRC_URI[archive.md5sum] = "b6da085649dcda2795e6980a84667950"
+SRC_URI[archive.sha256sum] = "6c8d9b1514b5f6422107596f4145b89b8f2a99abef6383e086dfcd28c28667e8"
+
+GIR_MESON_OPTION = 'with_introspection'
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_232.bb b/poky/meta/recipes-gnome/libgudev/libgudev_232.bb
deleted file mode 100644
index 19fe962e4..000000000
--- a/poky/meta/recipes-gnome/libgudev/libgudev_232.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "GObject wrapper for libudev"
-HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev"
-SRC_URI[archive.sha256sum] = "ee4cb2b9c573cdf354f6ed744f01b111d4b5bed3503ffa956cefff50489c7860"
-SRC_URI[archive.md5sum] = "6914852377156665567abf8a38d89236"
-
-DEPENDS = "glib-2.0 udev"
-
-EXTRA_OECONF = "--disable-umockdev"
-
-RCONFLICTS_${PN} = "systemd (<= 220)"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-inherit gnomebase gobject-introspection gtk-doc
-
-UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/"
-UPSTREAM_CHECK_REGEX = "(?P<pver>(\d+))"
diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_233.bb b/poky/meta/recipes-gnome/libgudev/libgudev_233.bb
new file mode 100644
index 000000000..a9f6bdd65
--- /dev/null
+++ b/poky/meta/recipes-gnome/libgudev/libgudev_233.bb
@@ -0,0 +1,18 @@
+SUMMARY = "GObject wrapper for libudev"
+HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev"
+SRC_URI[archive.sha256sum] = "587c4970eb23f4e2deee2cb1fb7838c94a78c578f41ce12cac0a3f4a80dabb03"
+SRC_URI[archive.md5sum] = "d59a317a40aaa02a2226056c0bb4d3e1"
+
+DEPENDS = "glib-2.0 udev"
+
+EXTRA_OECONF = "--disable-umockdev"
+
+RCONFLICTS_${PN} = "systemd (<= 220)"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+inherit gnomebase gobject-introspection gtk-doc
+
+UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/"
+UPSTREAM_CHECK_REGEX = "(?P<pver>(\d+))"
diff --git a/poky/meta/recipes-gnome/libnotify/libnotify_0.7.8.bb b/poky/meta/recipes-gnome/libnotify/libnotify_0.7.8.bb
index 82c137ca3..1c9084d91 100644
--- a/poky/meta/recipes-gnome/libnotify/libnotify_0.7.8.bb
+++ b/poky/meta/recipes-gnome/libnotify/libnotify_0.7.8.bb
@@ -4,7 +4,7 @@ SECTION = "libs"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-DEPENDS = "dbus gtk+3 dbus-glib"
+DEPENDS = "dbus gtk+3 glib-2.0"
inherit gnomebase gtk-doc distro_features_check gobject-introspection
# depends on gtk+3
diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb
deleted file mode 100644
index 4af47fede..000000000
--- a/poky/meta/recipes-gnome/libsecret/libsecret_0.18.8.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
-
-inherit gnomebase gtk-doc vala gobject-introspection manpages
-
-DEPENDS += "glib-2.0 libgcrypt gettext-native"
-
-PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
-
-SRC_URI[archive.md5sum] = "fee403988442f497f3c1dfe7b128869c"
-SRC_URI[archive.sha256sum] = "3bfa889d260e0dbabcf5b9967f2aae12edcd2ddc9adc365de7a5cc840c311d15"
-
-# http://errors.yoctoproject.org/Errors/Details/20228/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
-
-# vapigen.m4 bundled with the tarball does not yet have our cross-compilation fixes
-do_configure_prepend() {
- rm -f ${S}/build/m4/vapigen.m4
-}
diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.19.0.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.19.0.bb
new file mode 100644
index 000000000..7da8e9008
--- /dev/null
+++ b/poky/meta/recipes-gnome/libsecret/libsecret_0.19.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6"
+
+inherit gnomebase gtk-doc vala gobject-introspection manpages
+
+DEPENDS += "glib-2.0 libgcrypt gettext-native"
+
+PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
+
+SRC_URI[archive.md5sum] = "483d293e73e7257c6d9fc18579b0e1ea"
+SRC_URI[archive.sha256sum] = "8049b09a4e737911aa647e50aee3d06b5db7aa902608ca43a0dd10d83e1d67f9"
+
+# http://errors.yoctoproject.org/Errors/Details/20228/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
+# vapigen.m4 bundled with the tarball does not yet have our cross-compilation fixes
+do_configure_prepend() {
+ rm -f ${S}/build/m4/vapigen.m4
+}
diff --git a/poky/meta/recipes-graphics/cogl/cogl-1.0.inc b/poky/meta/recipes-graphics/cogl/cogl-1.0.inc
index 3e392fa5e..443616316 100644
--- a/poky/meta/recipes-graphics/cogl/cogl-1.0.inc
+++ b/poky/meta/recipes-graphics/cogl/cogl-1.0.inc
@@ -18,7 +18,7 @@ EDEPENDS_GLES2 = "virtual/libgles2"
EDEPENDS_KMS = "libdrm virtual/egl"
EDEPENDS_EGL = "virtual/egl"
EDEPENDS_X11 = "virtual/libx11 libxcomposite libxfixes libxi libxrandr"
-EDEPENDS_WAYLAND = "virtual/mesa wayland"
+EDEPENDS_WAYLAND = "virtual/egl virtual/libgles2 wayland"
# Extra RDEPENDS for PACKAGECONFIG
# This has to be explictly listed, because cogl dlopens the backends
@@ -75,4 +75,6 @@ RPROVIDES_libcogl = "cogl-1.0"
RCONFLICTS_libcogl = "cogl-1.0"
RREPLACES_libcogl = "cogl-1.0"
+RDEPENDS_${PN}-dev = "libcogl"
+
COMPATIBLE_HOST_armv4 = 'null'
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.98.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.98.bb
deleted file mode 100644
index bed542ba0..000000000
--- a/poky/meta/recipes-graphics/drm/libdrm_2.4.98.bb
+++ /dev/null
@@ -1,60 +0,0 @@
-SUMMARY = "Userspace interface to the kernel DRM services"
-DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
-stands for \"Direct Rendering Manager\", which is the kernel portion of the \
-\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
-accelerated OpenGL drivers."
-HOMEPAGE = "http://dri.freedesktop.org"
-SECTION = "x11/base"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
-PROVIDES = "drm"
-DEPENDS = "libpthread-stubs"
-
-SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \
- file://musl-ioctl.patch"
-SRC_URI[md5sum] = "1320b43c4bdb8846c308ec2610b62b64"
-SRC_URI[sha256sum] = "8be0edccaca3abde8b6bb1431b46354c7fab46e9b91cc6946ba65b51f56f1894"
-
-inherit meson pkgconfig manpages
-
-PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs"
-PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false"
-PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess"
-PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false"
-PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false"
-PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false"
-PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false"
-PACKAGECONFIG[omap] = "-Domap=true,-Domap=false"
-PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false"
-PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false"
-PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false"
-PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false"
-PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false"
-PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false"
-PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind"
-PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false"
-PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false"
-PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
-PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native"
-
-ALLOW_EMPTY_${PN}-drivers = "1"
-PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
- ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
- ${PN}-etnaviv"
-
-RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
- ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
- ${PN}-etnaviv"
-
-FILES_${PN}-tests = "${bindir}/*"
-FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
-FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
-FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
-FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
-FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
-FILES_${PN}-kms = "${libdir}/libkms*.so.*"
-FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
-FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.*"
-FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.99.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.99.bb
new file mode 100644
index 000000000..fa3eb08f4
--- /dev/null
+++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.99.bb
@@ -0,0 +1,60 @@
+SUMMARY = "Userspace interface to the kernel DRM services"
+DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
+stands for \"Direct Rendering Manager\", which is the kernel portion of the \
+\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
+accelerated OpenGL drivers."
+HOMEPAGE = "http://dri.freedesktop.org"
+SECTION = "x11/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
+PROVIDES = "drm"
+DEPENDS = "libpthread-stubs"
+
+SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \
+ file://musl-ioctl.patch"
+SRC_URI[md5sum] = "72539626815b35159a63d45bc4c14ee6"
+SRC_URI[sha256sum] = "4dbf539c7ed25dbb2055090b77ab87508fc46be39a9379d15fed4b5517e1da5e"
+
+inherit meson pkgconfig manpages
+
+PACKAGECONFIG ??= "libkms intel radeon amdgpu nouveau vmwgfx omap freedreno vc4 etnaviv install-test-programs"
+PACKAGECONFIG[libkms] = "-Dlibkms=true,-Dlibkms=false"
+PACKAGECONFIG[intel] = "-Dintel=true,-Dintel=false,libpciaccess"
+PACKAGECONFIG[radeon] = "-Dradeon=true,-Dradeon=false"
+PACKAGECONFIG[amdgpu] = "-Damdgpu=true,-Damdgpu=false"
+PACKAGECONFIG[nouveau] = "-Dnouveau=true,-Dnouveau=false"
+PACKAGECONFIG[vmwgfx] = "-Dvmwgfx=true,-Dvmwgfx=false"
+PACKAGECONFIG[omap] = "-Domap=true,-Domap=false"
+PACKAGECONFIG[exynos] = "-Dexynos=true,-Dexynos=false"
+PACKAGECONFIG[freedreno] = "-Dfreedreno=true,-Dfreedreno=false"
+PACKAGECONFIG[tegra] = "-Dtegra=true,-Dtegra=false"
+PACKAGECONFIG[vc4] = "-Dvc4=true,-Dvc4=false"
+PACKAGECONFIG[etnaviv] = "-Detnaviv=true,-Detnaviv=false"
+PACKAGECONFIG[freedreno-kgsl] = "-Dfreedreno-kgsl=true,-Dfreedreno-kgsl=false"
+PACKAGECONFIG[valgrind] = "-Dvalgrind=true,-Dvalgrind=false,valgrind"
+PACKAGECONFIG[install-test-programs] = "-Dinstall-test-programs=true,-Dinstall-test-programs=false"
+PACKAGECONFIG[cairo-tests] = "-Dcairo-tests=true,-Dcairo-tests=false"
+PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,udev"
+PACKAGECONFIG[manpages] = "-Dman-pages=true,-Dman-pages=false,libxslt-native xmlto-native"
+
+ALLOW_EMPTY_${PN}-drivers = "1"
+PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
+ ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
+ ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
+ ${PN}-etnaviv"
+
+FILES_${PN}-tests = "${bindir}/*"
+FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
+FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
+FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
+FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
+FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
+FILES_${PN}-kms = "${libdir}/libkms*.so.*"
+FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
+FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
+FILES_${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb b/poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb
deleted file mode 100644
index cccdd2073..000000000
--- a/poky/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.0.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-EGLINFO_PLATFORM ?= "fb"
-EGLINFO_BINARY_NAME ?= "eglinfo-fb"
-
-require eglinfo.inc
-
-SUMMARY += "(Framebuffer version)"
-CXXFLAGS += "-DMESA_EGL_NO_X11_HEADERS=1"
diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb b/poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb
deleted file mode 100644
index 87a131aa7..000000000
--- a/poky/meta/recipes-graphics/eglinfo/eglinfo-wayland_1.0.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-EGLINFO_PLATFORM ?= "wayland"
-EGLINFO_BINARY_NAME ?= "eglinfo-wayland"
-
-require eglinfo.inc
-
-DEPENDS += "wayland"
-
-inherit distro_features_check
-
-# depends on wayland
-REQUIRED_DISTRO_FEATURES += "wayland"
-
-SUMMARY += "(Wayland version)"
diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb b/poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb
deleted file mode 100644
index 48ab8805d..000000000
--- a/poky/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-EGLINFO_PLATFORM ?= "x11"
-EGLINFO_BINARY_NAME ?= "eglinfo-x11"
-
-require eglinfo.inc
-
-DEPENDS += "virtual/libx11"
-
-inherit distro_features_check
-
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES += "x11"
-
-SUMMARY += "(X11 version)"
diff --git a/poky/meta/recipes-graphics/eglinfo/eglinfo.inc b/poky/meta/recipes-graphics/eglinfo/eglinfo.inc
deleted file mode 100644
index 6dcb0c5a1..000000000
--- a/poky/meta/recipes-graphics/eglinfo/eglinfo.inc
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Utility for printing information EGL and its client APIs (OpenGL, OpenGL ES, OpenVG)"
-SECTION = "graphics"
-LICENSE = "Zlib"
-HOMEPAGE = "https://github.com/dv1/eglinfo"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8d4f33bc3add976f7dfae85dab66f03c"
-
-DEPENDS = "virtual/egl"
-
-SRC_URI = "git://github.com/dv1/eglinfo.git;branch=master \
- file://waf \
- file://0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch \
- file://0001-Check-for-libegl-using-pkg-config.patch \
- "
-SRCREV = "223817ee37988042db7873cfb5b2e899dfe35c10"
-
-CVE_PRODUCT = "eglinfo"
-
-S = "${WORKDIR}/git"
-
-inherit waf distro_features_check pkgconfig
-# depends on virtual/egl
-REQUIRED_DISTRO_FEATURES ?= "opengl"
-
-# BSP layers should add .bbappend files for the -x11 and -fb .bb recipes, which
-# append the respective EGL/OpenGLES/OpenVG libraries to DEPENDS and set
-# EGL_DEVICE as appropriate.
-EGLINFO_DEVICE ?= "generic"
-
-EXTRA_OECONF = "--platform=${EGLINFO_PLATFORM} \
- --device=${EGLINFO_DEVICE} \
- --sysroot ${STAGING_DIR_TARGET}"
-
-do_configure_prepend() {
- install -D -m 0755 ${WORKDIR}/waf ${S}/waf
-}
-do_install_append() {
- mv ${D}/${bindir}/eglinfo ${D}/${bindir}/${EGLINFO_BINARY_NAME}
-}
diff --git a/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch b/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch
deleted file mode 100644
index 61327eb36..000000000
--- a/poky/meta/recipes-graphics/eglinfo/files/0001-Add-STAGING_INCDIR-to-searchpath-for-egl-headers.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 99a5784d33ad5e0e6fa00338d2732cbccad7661c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jan 2016 16:08:22 -0800
-Subject: [PATCH] Add STAGING_INCDIR to searchpath for egl headers
-
-bcm_host.h is in standard includedir in sysroot
-add that to header search paths.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- wscript | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/wscript b/wscript
-index 195e247..0f6ec53 100644
---- a/wscript
-+++ b/wscript
-@@ -177,9 +177,10 @@ def configure_raspberrypi_device(conf, platform):
- conf.check_cxx(mandatory = 1, lib = ['GLESv2', 'EGL', 'bcm_host'], uselib_store = 'EGL')
- import os
- sysroot = conf.options.sysroot + conf.options.prefix
-+ std_include_path = os.path.join(sysroot, 'include')
- vcos_pthread_path = os.path.join(sysroot, 'include/interface/vcos/pthreads')
- vcms_host_path = os.path.join(sysroot, 'include/interface/vmcs_host/linux')
-- if not conf.check_cxx(mandatory = 0, header_name = ['vcos_platform_types.h', 'EGL/egl.h', 'bcm_host.h'], includes = [vcos_pthread_path, vcms_host_path], uselib_store = 'EGL'):
-+ if not conf.check_cxx(mandatory = 0, header_name = ['vcos_platform_types.h', 'EGL/egl.h', 'bcm_host.h'], includes = [vcos_pthread_path, vcms_host_path, std_include_path], uselib_store = 'EGL'):
- conf.fatal('Check if --prefix and --sysroot are set correctly.')
- conf.env['WITH_APIS'] = []
- if check_gles2(conf):
---
-2.19.1
diff --git a/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch b/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch
deleted file mode 100644
index 572c8014c..000000000
--- a/poky/meta/recipes-graphics/eglinfo/files/0001-Check-for-libegl-using-pkg-config.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 17f5d2f574236f8c3459f9efadef2f0f6220a4dd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 13 Aug 2018 15:46:53 -0700
-Subject: [PATCH] Check for libegl using pkg-config
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-[Roman: patch has been rebased to 223817ee3798 ("Add Wayland support")
- trivial merge conflicts resolved]
-Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
----
- wscript | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/wscript b/wscript
-index 0f6ec53..401f62e 100644
---- a/wscript
-+++ b/wscript
-@@ -174,14 +174,9 @@ def configure_raspberrypi_device(conf, platform):
- else:
- conf.fatal('Unsupported Raspberry Pi platform "%s"' % platform)
- return
-- conf.check_cxx(mandatory = 1, lib = ['GLESv2', 'EGL', 'bcm_host'], uselib_store = 'EGL')
-+ conf.check_cfg(package='egl', args='--libs --cflags')
- import os
- sysroot = conf.options.sysroot + conf.options.prefix
-- std_include_path = os.path.join(sysroot, 'include')
-- vcos_pthread_path = os.path.join(sysroot, 'include/interface/vcos/pthreads')
-- vcms_host_path = os.path.join(sysroot, 'include/interface/vmcs_host/linux')
-- if not conf.check_cxx(mandatory = 0, header_name = ['vcos_platform_types.h', 'EGL/egl.h', 'bcm_host.h'], includes = [vcos_pthread_path, vcms_host_path, std_include_path], uselib_store = 'EGL'):
-- conf.fatal('Check if --prefix and --sysroot are set correctly.')
- conf.env['WITH_APIS'] = []
- if check_gles2(conf):
- conf.env['WITH_APIS'] += ['GLES1', 'GLES2']
---
-2.19.1
diff --git a/poky/meta/recipes-graphics/eglinfo/files/waf b/poky/meta/recipes-graphics/eglinfo/files/waf
deleted file mode 100755
index 04ddd9f63..000000000
--- a/poky/meta/recipes-graphics/eglinfo/files/waf
+++ /dev/null
@@ -1,169 +0,0 @@
-#!/usr/bin/env python
-# encoding: latin-1
-# Thomas Nagy, 2005-2018
-#
-"""
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-3. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
-IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-"""
-
-import os, sys, inspect
-
-VERSION="2.0.11"
-REVISION="41b69b45f8aa445dce066a4aec3cdb75"
-GIT="fe03c6fa470f0bc3c086baafed8c6b4b6d28a245"
-INSTALL=''
-C1='#4'
-C2='#*'
-C3='#)'
-cwd = os.getcwd()
-join = os.path.join
-
-
-WAF='waf'
-def b(x):
- return x
-if sys.hexversion>0x300000f:
- WAF='waf3'
- def b(x):
- return x.encode()
-
-def err(m):
- print(('\033[91mError: %s\033[0m' % m))
- sys.exit(1)
-
-def unpack_wafdir(dir, src):
- f = open(src,'rb')
- c = 'corrupt archive (%d)'
- while 1:
- line = f.readline()
- if not line: err('run waf-light from a folder containing waflib')
- if line == b('#==>\n'):
- txt = f.readline()
- if not txt: err(c % 1)
- if f.readline() != b('#<==\n'): err(c % 2)
- break
- if not txt: err(c % 3)
- txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')).replace(b(C3), b('\x00'))
-
- import shutil, tarfile
- try: shutil.rmtree(dir)
- except OSError: pass
- try:
- for x in ('Tools', 'extras'):
- os.makedirs(join(dir, 'waflib', x))
- except OSError:
- err("Cannot unpack waf lib into %s\nMove waf in a writable directory" % dir)
-
- os.chdir(dir)
- tmp = 't.gz'
- t = open(tmp,'wb')
- try: t.write(txt)
- finally: t.close()
-
- try:
- t = tarfile.open(tmp)
- except:
- try:
- os.system('gzip -d t.gz')
- t = tarfile.open('t')
- tmp = 't'
- except:
- os.chdir(cwd)
- try: shutil.rmtree(dir)
- except OSError: pass
- err("Waf cannot be unpacked, check that bzip2 support is present")
-
- try:
- for x in t: t.extract(x)
- finally:
- t.close()
-
- for x in ('Tools', 'extras'):
- os.chmod(join('waflib',x), 493)
-
- if sys.hexversion<0x300000f:
- sys.path = [join(dir, 'waflib')] + sys.path
- import fixpy2
- fixpy2.fixdir(dir)
-
- os.remove(tmp)
- os.chdir(cwd)
-
- try: dir = unicode(dir, 'mbcs')
- except: pass
- try:
- from ctypes import windll
- windll.kernel32.SetFileAttributesW(dir, 2)
- except:
- pass
-
-def test(dir):
- try:
- os.stat(join(dir, 'waflib'))
- return os.path.abspath(dir)
- except OSError:
- pass
-
-def find_lib():
- src = os.path.abspath(inspect.getfile(inspect.getmodule(err)))
- base, name = os.path.split(src)
-
- #devs use $WAFDIR
- w=test(os.environ.get('WAFDIR', ''))
- if w: return w
-
- #waf-light
- if name.endswith('waf-light'):
- w = test(base)
- if w: return w
- err('waf-light requires waflib -> export WAFDIR=/folder')
-
- dirname = '%s-%s-%s' % (WAF, VERSION, REVISION)
- for i in (INSTALL,'/usr','/usr/local','/opt'):
- w = test(i + '/lib/' + dirname)
- if w: return w
-
- #waf-local
- dir = join(base, (sys.platform != 'win32' and '.' or '') + dirname)
- w = test(dir)
- if w: return w
-
- #unpack
- unpack_wafdir(dir, src)
- return dir
-
-wafdir = find_lib()
-sys.path.insert(0, wafdir)
-
-if __name__ == '__main__':
-
- from waflib import Scripting
- Scripting.waf_entry_point(cwd, VERSION, wafdir)
-
-#==>
-#‹‰†[ÿtmp-waf-2.0.11.tar#)ì½kcÛƱ0ܯâ¯`Ôê#)° Z’/iu‚´Ž­$>q$?–Ó´Gfq(”‘ €•&ïoçº#)¤ä6iŸç4n#‹ÝÙÙûÌì\nãéäâá`^Nª¬˜õ·¿úÉÿíÿ§Ó/ü«ý|¼ð«ƒG?z´øñÁá¯ö?~òèWÝý_ýþ-ËjPt»¿*ò¼Ú”ï®ïõÆý?òï×u.ËâáÅdþ0›¿ï.n««|Þùu7›óÑd~yÔ]Vã½ßBÊ·ÏÞœ¼<ùâ£î‹¼;Ï«n6šTu¯ªjQ=|x3÷&ùË<¿~8™²U漢MæÕ`2@iu•¥+O¦Y§3™-ò¢êæe\dqy[vÆE>ëÞÐtìÊÇoªÉ´ìÜLóáuBϽêªÈˆVï$†Q§*n:[TvXÝ.²RËžUÅrX-ø#* 3Æô¼‚ð»4Ó|~ ¿“y_ÜÙžo†Wƒ"~}úòäíñxÇ,l5ÌU÷%>.Š¼€J‡ÓAYvŸÁÊy +'Ì/¾Ë†U¶FÙ¸›ÔI•¦a™MÇqYÞ3ú¸… =NHøS¹!ú9Ã:ÊÄÉ*I˜E°yVUÅäbYeŠü[#)J¦BŒ$#4š7¬{ƱZ1öêùÞ`ø×å¤È ³·|ì{\Ë5>§ÐË\d<™¦Sd‘M³AÉ  œóœÐ`Š †nÞõ rS„*°%Ú+Çœ“rPU·›Kž¨“MËÌŒíóÓÓ7/B3“¨4Lßl:*Óä<ÜþӶΪ(·ÿlßú#4áìëg¯^¥oŽŸ¿Ý#)æU6®<Hoó…÷þfryåçø,¯ª|ÖRáóÓ“³ÓWÇéÙó7ÇÇ'égß|þùñ›ôåÉç§8›|ŸmÇÔZþ|Y”yñ:‡#a’ÏfÆ•Ûfaú·°Âò›íضS¿¬&³åŒ?ºU4}þÍ›³Ó»° F$Ðu Uœ”“‹)%Â"FÈ2ySÜ ’å|³=ëè’9Ììjá,0 PŽÅ“é`v1tçËÙEVÄ0wËiuįÝÁ|Ô…L!¿FyÑ• ­³·/ÒÓoÞ¾þæmú峓¯Ž“½ƒN>~óZfR;[¼õ®³bžMö¾Èª³jô%€Ÿf½AqI»Xr.­ìßQ ÈJj†doÍý<Ÿ—ù4;Y6ÿl9gÅËù8oV¦Û^¸~EýªÂ¢×ŽÝ™)ú6[Uf~µ ¦ó­ wUþùd:•‚§Ëj±¬žÃÖ?ôm+|44ûŠV‡¾êììX}Œë}úê§ÄõþÝj‡ÃßH6Î7Ùî#*ëC‘¸ç„wv¢û Ó:Ç?ˆ.h! ÖSÿ#*àžüümHmH¯&e•·Éy¿\Ѿ’„¥9p“ä0Âͯ¾ua lì|øÕ;*Ù´}…\[dJ¥%¢ã<ÙpŒ9™‡¥—Ù=F(×úÊ_èaËd`è‚œ#4óbry_‹äþûä$œ*]L˜`IŠ$9‰UÌô‚€¦…Êì'AÅÅÂ¥¡äƒà1Ò®H§“¹• Øã„òÁYœÐ»9Mù+̤}jw-/‡f{¨æɸKp’žîXSŠL\•0½¶3˜^mËøsdóÃ̾¬®ɈtEïO´¬¦üáðíÀÿôwVº·#C´¨Dkþ¿¿<ÒÊ ù*›+Ѿz6_µI#Getƒ(vЊm;dbyÕG÷«ÖìyµZ¥•–HýЪíìå¹×>™Vä‰ïGï´•Š¼yËÐä“?’õ±{°fºµO⬌§Í÷íÏ̽Ýóx®Ï[}äOl±õ3ÛÃ1 ï5¹£]¿1^©?ï­[­Ñ?gQ¸-r»çŸ²,>¸r\ )S¦ëâ>ó¿…âè#*‹l>jßQM½ùb]µ0Ë[ òÄʧ£t‘‹¥V-€aÆß9Ÿ¸¢XfÕ:oã2[Ä+>ôzð·bxÁ„ÁJ·“U|íPMº5I÷éßyvC#*æå=›ÌÃÙ`Ë|ÅÞBˆbûíÖÿöçö™vÏN¼NɧËYs]ù{èÏÓÊMÇñOÓÂYþ>óÆ}•æã1´;ž5÷_!ëÚ¶fƒÛÕê6 ðšNؽm-ú“Ž?õÎrÑÜ+°Ûu¦«öj³Âƒ4Êoæ#)k¨i6®îµºZJæ>#)ØXólUµ“Ì÷ÞZÛq_G¬ÞÕQ‹"{ÿ¯Ah]w—‡—²Ò†® 7 ‡ÿq}òÉaô<á_øy}úéam/jÙŸ!µ”͹\L'•Ù˜ïÓLàÀŠ¤q¼’Èš!ð7]„/”ŽvõP)/8¾÷Éð“G¿å /Ä¿ÿ±¿ÇûÑT¿6}¸÷HŠ…÷ ?^Sx ýP+ýxzé±a˜$ûnñÇYk–)uà”ú!Ù_íÿÖûü¸öù·ûÞçÛQþíoqèäõã}ÀÇNÂþÇù{ÊÿjûÂ1â*¿YKÌ8¼OÌÄeßKt?y"q5e†ÄþO‹^úº˜Í€O«Öð·àYp$[w|&ϸùÆÁsy£=/^È+n§qp™M,>ŽÌ_G–ˆƒ/å•°ƒ±ÿú_Á‘˃ÅÁWšÀÀ® »½8˜GNGÆÁÌT†o% b ×8X»!(㵪ü:›—I‘õ ;“iáïÞ­.Þ‡çû{¿ûýöDáù`ïûg{ÿ݇iyþüÚߢ j¹JËîu—¦¬HsdYàæÁ»ßp6Â[9ÜH(Ÿƒko Ó`0†¶*eôm žÓñr>Llio¸{—ìG³Q¤¸<•1@ w’ÊGËÈ霥Nygo|-÷‡™d»ÇE¡Þ¿µÜÄ´9¥R¹oñ£¬ gÂVÀz›K4Rbº)’N¾7¬o1û(ŸË²­òQž#)Ïe:exµœ_'?ùä€×õÌ».fûHwåQŽ’[$ç(sŒ¹Cá,J#)Ð9Â?Â?»”—$¸(y¬w“³,Ç1åmåöâ€e&gaÏBàÓOyÄss^MæËLЄúJïˆæžyÿ‰îwEª}ç…®¬¥-®Û òee.xamIjV&¡ˆà»¥Œ#4¿=A·J¿]‰x‡:æC¤Þ÷“%c£a©¦¨¡ƒ;[~°T·v´Hr=¡Ê(Vˆ2EI—²ñx8¯¦1b1ÉËv¥&Yî¨è¾#@œã%ÅûI!îLÁÛã7_qD¨n« -gÍÃ2 >øüźs’ujùU×'ÜrúÓ‰Ý[΃áu¸ý%üÛæ.èMòa5#*?¡}Ñ{ûòôùß¾<9ûïXŠ¹…öùQàÕCªì˜Ëœcúz¸;(»™;ëÍþéÍ‚ÊwþAýV¸y¨·Rÿý¯ýýƒú_ž>ýEÿëµþׯ~ù÷Ã?Yÿp^L`ë™_þÀúŸO5Öÿ“Yÿÿ»×?©l¦ÀX ®WšªÚæͤºÂÛˆ*›eóÊÑ-¯¦Ù#4þ.« Å`˜]À ÃA>ÏQ4ÆBk•Hc ‹Æ“KT}•_–ñ)³š ,4>!#!SÆŸ-'ÓPã¬séhR¤Àî0› RÉyž§“Ù…òTer µš ßõ°ø§d›€lwˆ‡>€¶·é"'в(àkȆxAC5% CNHD¢‘îÑ=͉©êV0î}ûìó?¿9{yzòQ"%‘V "¤0ßH?#)–xw‡5Ù ƒŠAq‹¯#ÎÙ ^uCƒ|ŠƒJ³2Å©X ª²Õ¤#4àMsb3á{ÂÙlz±œSº¾OÀ[^QR£':[t1µî£Ž@R'ONŸ¿zùõgwr]ˆâ ¸|}J²«EÜN5LÓî±TW½ïrd·C¢å€ÃT-püé|0ËÂÌ(1ü(û—¯ß¦Ÿ¿ÎAH]*=)q9´”ò¯º2˜Íób†¡&#)vk*f¦é:-0¸( #)þá+íÀ·órÚLº#ÃÑV+Óà)`]¦C~#*ƒœör(ϱ®…Æ#J 4^z•.‚#)—!pøùM#4Ìä<¿™S½<H Wå lºE~ݼŒÜ8[°Óh‘¬ÅáÕ+ï”—‚Áü(¹F Lc¹©¤÷–%½N*ºíQJÜÑÂkÑ4zxyèÖkèée‘˜VwD#)‰GÃ0-i¢N'ÀÂL#4œ¦ûpzf•À0#ës¹ÛÀ gmÝ]ÎQ›%A±#)Ìesì¡g'6#)`ÖÄlš=óÄr#ì‚\Pz0#4ë«*®ÃŽDØ0ϱa¸‡S«Îñ©wöxàÓ¾£ïvÌ«φ7+fÂaY!ˈ˜ÈÌÁ)©³†že#4èÐÈà¯T åÉ8ð+› LÊøîG‡®Ì#*†.1嶰åÎøš®KÌLwqšX5Û¿Õ:Ìnãëâ8cA¯&Ù#4ó¸9È9ÅiÖÜ #4à¹'ó÷ƒéN ±®N‡ÒLúù#)ŠëäÇU_¿ÎˆøtA;ÃägÐ%댷‚tk5ª®@ë^ìLí¦Ð@ÜQ )©o¹v±ÐçDÖ©Ág~Q¤ì~¢YêçNcw§%SC)nkC™KËÂa\Veèž%ÎNxs•Mi“u‡ùíUVfÝA‘uNë^fó¬˜ µH7œç]öpQä¨ÑÚçËùˆÅß[f£/z‹ˆš«Ë@%èîªF•uß,ç]¢Ú#)p:ÊŠ.®;&!#*6*šs!,hX/ݽ«.®íXií:}"«ºjx…›h­‹£NËBk`#*½¥èÖ·R‹†…ØŠ^SÌ ¡é,-ÐÑ20)Úƒ#4éÉH…›õs¼9~ÄYè´‹ÎÙYyYëæ²*BÞf=$ÖÊœZÛ*¸ÑÒ¿O{#*.Ój qa‡Ñ¡OÀÃÜ4o™Š¾æ¤x;#nxš‚ÕÂô ƒÚß°µÿi M=­C˜5ûÿP½jUÑŒ^$\Qï ÿ†õ¯½ÀŸߪÉ, "i)§}ü»XöSÝçÍ~ïc`7C;˜~]èáÄ#*‚~lj6æeW ÷ãй›nùP€À+aúÌlVkšb0¡ÝüŽ©ˆÈÒ„‘ù÷©Ü ßcŠº-ëi¢7Gµö³ÛÐ<†d–ÏÖpkŠMï9ýüù§ð¾Ên/òA1z ³º(–2,Í&C6#4|pOuTñÀ]âˆCJÔ÷‘eˆ.å«åˆàðl–hè¡L‚>&&[Ç(<À/ÚÐægV/½4ÅÇ4µ‡%¾ã²n#)Oa-«4•ûè#4ïÏÃz®‹ÇXMÇPÊÀB–UŒðÞvÎOWÙi`EíÚœZòµÁ](4>b)±#4ÃNd ¡ˆ#)/¬?¢–lƒª¼Î•‚.LR°!®H>Ò½Ã=9-<i³U6D{ð+Yír!õ4U·tä @36èƒõ§º{¨“vŽÝÑðB™fÙ2Ù¸MÓü2Å´žz‹Ï¡|ÔN¬aÊQ¾¢ÀÌáZë&çj¿Ðëä{ú$·=\o Km¤:îîòÜ”]kE-iŒòØDa/µö Ç´¯D Í'åU6ê–Ëá0+ËñZÕ#*wúÑR±×u„Íòà3ËOîPÈ[l6¬æ÷X¾EãþRF0ùs¤§×nNZøÈl¥Vê±€¶G#æ~à—Ã~Ù›åCüq "áºÆ¼5¹4/Õ:æɲH¥ÈPá$k׬a‰¢öy¾œŽhpY ^‚XËQ'è‹Ï`ŒEˆ‡]ÈwŒŠ„Eaµ†íf^Lé;’UöŠYUdY Ã&´’—TÌÆë‚€«,»$A¢³$ÒhP#* oùœ-EÝ^ÇãåÜÃ/¯ÝÛÆ+íéY«%ôÓ;>9=>yëíº÷zó®dä)Ž#èqG›! Pz¸wØå¿øòˆßà'M½ÈPK×®¤e¥ì|£C¼ñˆXà5¶Î&œXŠ¼.S©£0§›ƒdEÒ¯­"™5D³×#ê3a'y+êÜ!ƒ'wKUœq_'±o˜ uæ°å±£<`© ‡5G Mv¾öeC´ÐÙš$uxþæÊuÜ‹óÚlp²5æ…%dÜ\uá‘2;¼îý!¹n:‹Øl(Q‡F_@[Ìv$¿²#*ðé‰ ˜ôáÕV›Ã(#?¬|y™/‹!~e´;àù`/Á3læy0½Ì“#)VNïâûÃ#)'m•RÚß~ä-EÏO£hÃú¤jÏeáy]&²ž<HfÎJhŒ;ž£X…¾š*„Ϭèšhk sðùIåQÂ$…î<§Ï(Œ:xƒ‰¬Ÿ•K¡9šMùß{³Áu–â‡ÐÔìVŒ_z£lš1©±þ\Ø¢óѶƒ^C‘#qï@÷»›Žìð˜H·ÀF”ÍCªWEúQÜ»J‘-¦À T¢‰ÜÖ9«e`F¨XRá*†ÇHjí#*§¹¨à‘¯©#I‚ï'‹€Ï 7x—qÛ‚ÇD^{ÿ=Y|Žp(xa°(€’åb³¿|¾8þüÕ³·Ç/Öb-S§67hÔxnìƒÝ#*lŠ²ÐV¦  JQC\9ˆ¹°ãµXaY·od«¡jÆp6OÃà´¿aguÙ;#* ØxÉÅôpù=ÿ®¾Ç#*ûÓ[$Ó¸”WŽP£¼>yj'š¯€…âe‡.}‹”&vC.žàíÞ?ó°àÎŽ§ƒË2 Š ˜.½«lÅÅÂ!z’ÝØMˆö¥ÑQw§D¡°YäÜw\^;)/Á£N&åM¬˜f·áþü-˜lgC³“';ð0Ñf©ÕQÿfüÞ4S8¸þœ¡¢E6ž¬îž4xo9‘f'¿]zoKª À#*0°YüDç#4Q/U«¯ºêÒ#4_Ä4@˜yÎcƒ ?(7%ÂØïdìMÁF¾úpkÍ®«ÓÍU¤´ù6î¥n‘Ú´uÚ»Q¥?aîÞ¶[ÎoÍ÷dÔÓŒ.„Í–›'Kouë((Ön;ÖæûF¬ë&t/׉P4áÙë×'Ͼþcžc)ÉýûÝ¥õV>8èíQÇDðØ#*ö‚]Zë§=ÚЬéæi‚9î5Ì• 6=-GYZd—ånÐ}ðà!ù½øØsž™Ú·éæåÁÿGaÃúŽÐ`…Ÿ·C}ÈùábpÍåÍ‚ !E¶wó ¨]#4 ™ÇËl>âÉ…K•íùô¯å5jÒó‘«ÛŽ#*Ü…6Ø6>ÍnÔngÊ Ñïý@ûÝÉlI™Á¼J/§ùE`§1‹YH4Ú‘³2¸åL¦I"8ÌðäºL§t'Sd˜‰ÐP’”IÑ’ÈP¢,™û%‚!>‘´AéRºD«&üR±Q&Ädó"ÒÏ "3±:˜-”øŽ/ùª½E’fK¢î›)@vÒe6vsoW§šV]C ©²Fj^ydã^€Þk¨ÏYT‡‡·5V‘e¿;êJq@òø%ˇéž–sû¼·7ʈÃM‚]n|ð±Sêâ.ãþkôÙŒ¨¨ØRötÎym…§_å äu«Â=míùÈG\?­©7»ásôð“&µó"’^b‹Åæ` PY"š,—Àk¡ø­÷šðF;áͨõDŠ`ïšTJå{…Q¿U í„ïŽЄ©Ã'‡œñ”®)ÉE¯¢y?Ø$;ÌFÙ(îÂZåE޽ɀ2E[.¹ÞßqšîK²Úûш¯høíNAï%NQ—G3«²š)]fM#»_¸¬r3QCÙÒYV]å#¬¤ug°ª#)\®g¡¸G˜‹w6k¹Œò”áGÒÒ¢õRSoh×€¹·†›Scùù¼·ˆ‰~‡Ù8D„""‹’6‰fqç:ðŠm˜¬¤Á9¼˜«Êr%«ä*E™X^ÅüŽüÅ83I+j?›ÕzÚpZ§°bs^}D""dšx˜O¼‰ÂjÇ‹ø.g#´tAcâ#)¿ ìÞÅEV²Íõ+ s¤ÄÉø› º®Dâd­ ¿k—Üyž¹Üz¨€¤?˜mÀÜ4>ùƒ#?Û°^üÒíÑ_iò)ñ×òúŒÑ/öÿTýÿ·ƒòú‹lþ³˜ÿÜ¡ÿÿèððÑ£ºþÿÁÓÑÿÿwðÿ<Ì·è:/ñÂjXåù´Õ4NP>HX_Ôô­þ>©ê³A¥WírÍ»`ˆ®N:_?{qü&=þÓÛ³ä<è]áUäÕbA?«ý\}aQ*¨/½Úκoœ#*íPøy1’i”¢ßtÚk‘:X#)3²®þ÷®ã®o,/à ó*…R‹…yL¤ÂÎ[:°É°—–^™òº4< j/\#)e§öõÑoR䥓ъ}#g»‡º¨€'×7çTI߃¯Ÿñú£P>Ëh²ˆü}Ë—È»ÂÀºWLÄχ—sÌØ÷’HøƒÉñ~´{p‡ßL· ÝÜQÑA¥ê2…ïp’.ç•-rwêýp»ô½¾ÊnQ;¬KƒÞƒ):S›aÕä¡ù'ÙÌÜö]¦¦#•ÝþDY‹d°@`Þ3›ðéöÓ $ím6ºÈl£¡nÙY2ßvµŽ¯íªí/Ì!äR‰GöÃ0Õ!åê@«®ËöN™ì”€ä*FÂK·õ«(r„Û#))¸aPd;în3 #)£#*C^Ø¿z¿uÍÁsrC­¹Û…ŠžûrEßM³YÄSª¨#)j€®"¿Ÿ9+«–[i*K#4q+4íöiÇzÖRúRà¹b-+H,ÝÇFmÄÃyY>_#)K]T·¡öS¬Å¥·«œ †“WØ=§3 Í°=knHSź¾vÄÝœ€V°ÞŒ ðs3Ü$¸#)”äYB¹”gE†r8‘BÓþIro¹#*€m¥së<xX¹”Ù×%ðÓjó-j,ýÂK½Jðª¯îòDtâÖmÆXí·=: •Ås¸P©„mÇ€‡'b#)ݽ.Уî ê¢ÛŽª ½ÔeV†­;©~Ä$«¡c’¶X|J« Bâ›Û&ýjwÜÐ#)y±û€ÏиD³qC‘+3;ËÀ+áî‘úlé(’Pfµã0l¦ý#)Y7–AÄ5‘"pXd(QÏÔœi+_Êæ&N=f¬nŸ!3fÝ"wè7H™âÍq%S{3×æ«ìv£Ì(›vR¶æÆêÁš0aFǪÅtÔùmÿè.SÛ3«ÈIkíÉØV…ŽL΃ç·Cè¦QV©ÅG J7dæ0KˆVL^Ðù¿7ÃèžnO ö`ïÆ*é—ÁNx»ÒS›*”¾8Ãh—½›ËŽà£È'ÅHˆ—Ç(»X^†—G´› ¬ðر2žÈAá-^1N³ãý>©Uwkge}\ ƒ.ëÚ rl:1¨ vîã`geU²­ØûîŒ"X¾þ[ïíÕpkãa0Í­°êMÈŽÉ»£žˆWÀ7Ôî„ùdÀ;#9 ê˜Hk™÷û#*71Èmu¯­>˜=]µìùµ»˜ÞÞ.Ü.%Í2²Š#*Í™µmôv—Ö=L—k•ÖQÚþœUŸð¢ƪ+ÅØ"D‘" ðC]d~m‚Ý‚Ô[©4ˆ(×bïÛc6.‹!ÑìquYñƒa70gânóçX¢ºÝ¥Ùc3a‘âiR 嶠à)=™/–UBºä€jý9¹ª-Cø †äÓ ô8]ÏøâÌ|•¶OsuTˆV§4w²¼W#4,ŒîAhúD¦ ·kHG$çCú2êq«¹•¸æêa±ÔéMwndGn¸‡š„ªi”RJqø¤4À’>RÀcÅÓi#4 å9üé»L™AË)UãÛ”²£ ,ñgn ^“Ï#4AhÍ@Ó#*½UÅ`.³¼²%Ág¯¾9Æ»Gœ1pNÒ™ñEÄ pL7>@@‚!”ÃÁœŸän*5Œi\^eÓ)÷ ¶_àûô'Füël~fãÇ<ÂlFØ.ŒïPò¡­n< ‹Zj;5\Éèþ1í”_m,ÿHƒé/7ÿH£è¯,õ•£#4c6K¤%¨ÂÔ«÷|ŸÈ"Xï,Úu¶#4š€àE Ó>ñU"îÔ2¡ÑÆÄ.NXueOâ..H"®y놉1¿Ì`Á«Ô aÕ“MA×ùµGfò|DãkveÀó4Ã1ß#Ï·‰P|`¾aðmû";¾|Üßzk»T ¶KL8YßÚ j¥%šJû¯Ñ¼ÓT¾ø7yòÄb¦<ÊǧçÜ]7E3:F<-ôh¶ÇÐÎ<›Œ _^‰Ñ‚ì[eý(žÃÎÐMK¡‘ÜÎÑ›½À7&;eøàZ¯ì`2åè=¡RËÔbéšIzâpèìÒäÜ+Ûwõ}A7^ÚΟ#)CxN},M×=í㇠Ô"‘õö Á—¯HqÓøç6 å.Ü-œ#*p¶8}˜¢Ù’~#4ÜW-H»ž±Zãüyß™îf¬’ë›SÑSŽ“ñªr:ZŨBDé¬Lm#ÚÙpIGêDwußÀŸ¾³¦ýkZV-•C B3V+F+HÃ#)I½¹ŠÖ4³9Wž!pp46r)hºA(‡82ž3FÙ&%ÑMǬd>~DæÄsÒn@¬•±pøI9t›-:ÐÍ$x VL¢Ž‘2x#¿qEê~|©g âsâiA• =%ø³Yv…0sNÈbð÷•ÀG²†9RoéLIÌážÔ>ˆáüÜ4®œ[ç"‹èpjºY{D³º”„WÃÄÈšªëÌÒôJ(§§³ž1Ý\D@ëY>ò¹Ý€ÒuFÊ$PmÈ0-ˆE¤À$W#*¦NÄ&BA’ª’L-éûAQÖ2`M ¢úP<^¯„S#*|¶ì&/F-9å‹É½DÇ8ÔCµ¼¦›#)lb@¤_¶«–ÝùÄLþrs¡IÓ{:Êe¢«^ -Jñ„Yivkdñá¾Æ5u+ègbGŠ‰T&|cé’Øip¬cêäØA8âN“›%@Æô‰+Ç”xûvñK¿dí Ùï:q"[Þ§e‹Â’U×à ú:ŒŠ|O2]‡Þ²&‰TÂ3Àl†[æïQS\O}W-S+¢ÔôôLšî‚5û)¡ò6¿«áÜìøh¹»8‡ãpyaéex½»$HÄnd‘lN!™ Í‚fU˜‚’"…ÙB…©N"BQ‰„Ìdliy(và?˜;g-3èøÑñ%LÇ ÜžÖev\õøõvRóYV/sëùidtÖL“&0âÓúºeN-Œª˜™Xû<FR£›AÙTæºî÷‘Êø¤…µãÕ¶Îé+ìy}¿¹ ë tË®ÊòvÖs™®Ám@ #4Zè„D¾Ä¤È¬²À§úÊë†,Ek‡š‘=¼;ˆá.Jè]C ÔÍW£PV^!x7…à¹Ó¼ Bój¬ÊžÉXTR…Þà—–ÂƒéÍඬ•åDØøçÖ}Y­N:Ãbëo#*èê8ÏÎm˜Ìµ;¯]HçµkĶëÅ–{J‡2mãýí%+­Š¼He‡#*á¹&ÈæêùN#4qmÒrµ]ä¹|µ{÷÷ðè^™Œz¼ØácöôéãÇ2¯ÛiToÂ9àӶ͵è•4 oF5°F—êL#4~‡ jµu8ª•ÜÃÊפñՔÓÕ!”Ëì¯úJùë2ƒRR¬qia{ÙBfïöõ|ï ÿQø%ƒ#ï~ÆÜÕrÕì­ký•C¢µ̸ܵ#*£ó ì½“×jµ@: l[$Ðæ;I¹}o‚VúÍ“ý–¤ç¨¥I['MjW¹Ç^‹?„ïnv£?1$~­fÆåò¢¬ÒÅ0¤£ÿ(×#*@-Ы9™d–kïÂÝÓÎ%×ý{VÊéQM­DSídSªIüqÜ ‡I™¢à¼ŽÅ$f©ä|9Ãœ²³©ÜLwºC–Ôù¤Ï‘¤­7ĸ‡ÚŸ¾ZW/„[ºÄÀ«ÒˇäæÆb€c}›á›íµ9*®¢…(emèX5•…:!2Ö^îXÒCmîƒüPð%q¤Sö¥Mâuj #)¦Ðó½¶WÞÐ(žÄµ¦#*[ˆ,“QbG)Áƒt)±ù5N`Ë/hÏÌÿÝ#*ù€¤6 Ù$Wl¸w#)ÜÎMA£7ÅN?Ó®(¹ù— ½ô.‹|¹6^†M½(Lt©¾íÔ}*·w.Ù󖤓Þ!!´®Á´åàö?öuˆH™^VnT•Ñ°Ú¨Þ4<³•…”¶­Áf…vî*ïÈæïÏW}ï­·„æ­Ð¯é×#È@®øáÙs.S»¦¼(o1ùF(Ud-{3t;£ÎÏ3Zx€bpC#*SdK`Þ£~½åö~6mˆÊÉemQ'Y?séØž\Ûh7iÔm¢)V5:ðº\¨Ý•î?hƒ"¡J&tmûZÄÏÅÊëCw’;à›2~-$CÚ0F֙ƉEK[Àˆãp$˜íVð‚–;¯sñ!âþ#4%§Ù6­«é#)ú¿IFx\·ƒžõŒÍÿ¬\>è-†°© ©†Ôðbؼ…leþ¥6Êׯ4jJJØ| #*¾‰º~ó·W/?{ñòÍ×—l~òNõõ×i™*ú‘F·qˆWüt·¤7\)o]dÍ•¨ÄºÖn¤7IªkÌ_1¬] ´søƒ#4 ›#)+cÙÊÖ#)#´søÓ·þÕ‹aôÇ·ºdnqÍ#*€º‚ì"+ºùXŒ„Šxg-Þ5B“8&šøûÉ‚Ú¨}Eq4t»éâa¾œNÕ3úm­lk_°*¥©¼+E®·‰·&q•$ŒÂ ©±±d=ÎÒ— çÙP¢rŠãaæÖ¥Àjþ!.#4S´Ýš<°kô·†ïnàW>‘œÌ+ë>BX5«¸uª¸HÖsò·­•Ü6*¹Hní(6#*î°!þÒõî”ÖïNA #ï¹~º¯ˆj ååÞRº¶1Ô#)wøìëú ,ëZ”îyv“Å­cœ¢£wQSE0qþp«U#4û¸K&-LØØйwmŽŠ¬(,@öHW~ý}õâþ2š¤â㼞ýŸ5wýÄÿy|p؈ÿóä—ø?ÿöy‰Ö^p æCâãÅ¹Í ÐZþ±U Fô!ë@#*æÃQ|ø¼è|ûìóôùéÉç/¿H_~‘¸n>;Ž‘7ëUâKŠî#€qBÆà×ÆwÁNLtTvó¨›Ï»¨“{©·ÐU¨«»Âß÷Yiáàb‚Å.&QKÃûâ?¯¸4´š¢Œõùëî²$­ñ\€”_£C¦Iu¡°µÒÌu¿Òó`\º6ïä†;帔ß~µX+SÅ%rÑm¨ðiÛ3å¨HÇš¢•B&‘6duÅ"ª©Ìù‹P›cB=¦u#dÍŽ $rQ¤Ëh帒[.Þm"ÐPy‘±ZÂw«Lì«{ïB#4RlÖõðG~JN_7ÇOÙR#¤êòµkµ\¿÷X.a›¾#)ÿ7AÜšk'i\ÃbÍ#)r ÷­)—é5¾ÚP*!Ã*ÄÙ³ë"-eþ•Þ¦ù‚®†³¸|‘¸“Àƒâ–•rÔýp –ŒwzÐz{úÚ¥†êåÛmRñK=¼¤Ù‹—bH¿¡¥å!e1wx´xcÓÌHÒ ,ÔÐ/Dr ÕÎÈ]s5(Áõ.bÝ–ŒwvÑé7oë]ÔV‘º6±Lq»»ÿN™¿u ½;+п3U´d$—•ÒDí; k§#EÂGÈ#*H[c–M=lY®`?Õ`Åðƒ—·Æ”á¶Ú¼—gžƒ6bväìÄY+™m¸Éí•]1Öuni¸5úm1-eÏŸ=ÿò8}ñòM£œÓl/òÉEÛQŒýSÕ€„Sõ2+² "8±ƒá˜ep®Ÿt8ÄÓ™€z ^pnn('®ð´±a™ˆo±Æm²f*ÑŽ^1Ä·¸Ìàì àŽ#)é#*éú&Š:©ƒ#œ¶WÙJcârfó;ŸñÔŽ¶ÕzØ„ž‹¦‚£–hzPöóÏ^BÊbÁç4$ÇÁm²Ãx[£´ò2 àDalùþÍÙ7ükªfX¶LÛ”$VqäïEI¢)R"ª».rQJ’.1Ъ“3q.þ£’:p=H½Và}ßfÌÇNᆭê³"ëÞæËî¶ÏÙ*J¨‡7pJ¡m*œFˆZ²ÝÛîþž0»“Èq hTû¼à×zH«öþo‰F×Þéwx¤Br#)'X¢3MÒÖDMp]ùžuý#_ê!÷lØ.Çv= ŸV¾ôÃ÷ÙJ½3%†R“Ä6÷†ì‘.!i·g“Ü;9…mèùWéË“ôÍ7'B‰ÕƒCºYè¾H÷’ZO¡+Nã ¯Q $öÆ`]­ž¾6 È]C–{# ãqO„7º&Û€0w! Yî0í ÷BX²·!ÌÂuKB{vŽ›ú×oŽ?ù'Ý[êk„=ßbëÚ¢þÙòI{Áͮك‡Æg/Oà(^‡šÓ«ƒ6›;iÏÖ¬T²·…eÅ×JÁoþÆøüˆŒ ›á Å&ëÐ>ÜC‹s'íÙšhIöMhAQ¤‹8 ¼<} ç°exn‚Hô<-cHvk){\oqK[û\®b9É»Iwµ³z7'6ÞvŠwó`ÇL·/ÿ¤Ç´å6ÅáóM#*'àãŠ>Æ[íÛ‡îÙÒ•¸8‘õáÒ`-Õ,Ã\¥¶K£åcÛâñ»ÈRpPr×¥ Ͼù†@—94dŸ§È5ãÕ=)ŽŠ`¬¾sìæÛ’M2Qƒ1f&Û˜dn1Ÿî_D¸j4ÌÐ…ñâšš%Ä5%„WêS®SÖª¨nÍ— •QÛuÜ­"m5Àøò…¼Vÿʈ \ûB!‚ˆ†ñ“²;˜¢šË-uºÕ,¯'dp;˜Kôn½€¢µT1ê§ÜLdVU¡-TBáöi“0 ™?$Þ›ëQÀq!oÃÀxsØr2dŽŽÓ÷[1H§ûÐáª!G „‹îø‘½¦Ú€<бè8­ãæ÷ød¶ Õføï?(:õŽßjȨQ΃Cò| ‘ð¢ŽæŽAñ5Ê@ÙûÁ”.oËÐÌǦt9vD™ǵ®¹’Z†ÖÜÙ¶rƒŠéÅq–iLO1ƒUÏò=o´à7´B!ÖÁ”¹õ·#)_·ÁN ¤×ø»5,€oÁ¿?FÖNªþ•}ƒã;Éc¯¬#4,¬pη*1é±E`…Z’ÐÕZoòɶWztüDãkm'á,#*ÕLJfÂ6?²ë›Ëä$GïºWµ­´añ¯$Ä8d5#)ÌŽúåM ­ ýq¢BÇmr}C~c“blŸêî£ÆB#|£7Zž')öÈ]€Ž±±LÆNð@'`søÇž]fds7Ý}6ój#:Àž1Ú&y™Rh#4<1º£æcg´\ØF:ƒãX¸~¶]Æá#)ôm˜&׊ÈÑò¸èVÔÂbÄâ^MkqÍ„jfˆRŽT‹ĦÑôMÉóPè䋼ÓjŒæ湺B¬GuÕ ô<­·îÍ€RĘvÀ{ßd,³E‚ä¨çzÌé°ºX½´5o ë}²JÔülúÜÚŠ7âN'#n<>„R㮘Mæ“$8èý®÷»ßñl°‚·Ã>0KGr §NÒ#*r7D.t¼žQÒ¼½íѱ…Z}:Šé ÀF‘®$”85ÉÁŽ#* >_Î!øTäMîÖàVZ^Ñqz‘YWYr°IPå°*Iª¢¶:ÕO>¤ÎY~w•T«” <âÎ̯¥£¡"‰µU Ã'º5¡8‹“ó¾ÄìΛvÌšß5óPõ [Ùjûײ¬=ŠwÏ#Ý°kÓ‘75ÔŽ(”;Áz›E~Y fµfë<„ùRâæM|1¾¨Òƒ2”hÒ@!cTÚ{ƒ*FL€Æ«=8{‹i,Œ‹JB <~|Ó(›ìܱñ#4#?¢Šc²f:[0Ȧxâ îê6¨¹pM #4“#*žEÞ*‡#$±B$Ú#^pp¾×ëC®40ý„j±¢“±ý<ÏkR,p“t$bj.±nªØ0Ì6¯'¬xýìí—]¶#™(°=r}¶…Ó¥˜Êzw“F¨œ‡Ž–)ûþ6õ¼—E­eëç’ ³…Ç &®-éår[Óá7eiÊÏ?(nÍX¢_–RZ=Ånï9Èú†û¦n‘OúÒùx³©ä6…“Žã1¹z_~uüçôù7oÞŸ¼M¿9;~;Óîg¨êÕéóg¯Ò¯¯}yrìÕÕÚ›`ÁÆiåFLN’Å—ü°[ד¤|°£ iâªÉÊÚ½ÓH6ÚeàkÌ…ôà‘>ÑYø×å$3Ö‘oDû”@J`S§)Œ¸#)á}¸¡>\s_&j#4[h+“Ö;;¢ÙqŠ‚7êÕ·IÑ20qº{‚¡²#)7³[†“&KÛIAFL™0ÁŠG—IØ/C‚X.Äi—kˆ^^t”³³¡PL<#*o#*ùè2o¢ý]*àØÁÔÎYlÞñPÒ’£1(õP4t)ƒƒ«bvŒ®$œÓxÒjgß|jëײFÖ28îûÕëlÍa¹4AG‰ˆ¯ZÝyúÒUŸ©Ëš5×°1[ ¢Žgc»åê$Îk8Ï6nnߣÖ{¸ˆßGžçc<6>JÈ»¬ÙóÉ^n×ß¾ì2±¼ÚIèÞxTÑ.±ü)ÏÏ`לGWÙ*¼²®4r¾¥‹[–a­‰ì c³u™Ýé>ÌI‹c…ìǦåÉ#)Iú4s-|"zCÙŒ(CåkTŽ7FePͨõ¦Ê§ÌPÞ n.dTƒ;#¡ˆAŠ»å¢^Éwç#*Pý— b'KæÏN¼¤·Ø5Æ—­`Óàî ßÁ1­{p'ͦa_ ˜N]…@(Ð #*ØãΈ ”iÉ«\÷JÓ²>y*êÆý®Áœ”pGlPÓ#*LÖ†c—*c½ÖÃvè%ž EþÏ]µ¶>…--.à¤Ùç4V¯/“#)ã¬a‚¨8ªœ®âkãŒØ•iK¸Á#q%«“®o …qr²ñë9¡§N@[ž~Ÿ…ìÝ;0ËIç)—e+Ù¦¤DuËÍ4k›"G¤ºÑ.^ì´Noæê’1$#)ñÄû~°ú–…¶~…Eúµe=ð±ÆŸÛ.6,Hãìß‹Å3¢õ؃7â™WR†Ô² ü¢² Iç™õÈ8‘›¿Ä8Àéab˜ùÒôeZ'ê'8ñxµ Ï)}vDZ$`¤€úJŸáH²”^f–!,íqer2Ë©MB9á¦Ö0åÕƒ?¿zuúm`d|ÐRx#)Vý"/³O¬©Äº°´o‡Ç +¥Hae©ÓÇé8’îrl>ÃÖ` ']:ÐRÓЦû ë„D«‘k#3ýz:±ºüškƒ*œÑÓùûo­ÿO¶7?KðŸ»õÿŸ<~ü¤¦ÿÿèÉá/ñþôÿoKÑþoSõgÑâwãÇ¢^~‡"Ââß_?ø5þô~ý#)vìÐ[JoÿžÿñL~> /½áûrr9‡ßΞ??Ó_Éð¾,agí•Ã!e/ßÏõW2|6©¾Ê²4˜~9©ôWk€G[CïâûBýTÍ~u)?’~ýöD5ÈÜ›ŒJ|ù¾üH9FðXÚ'Í#*ìê”Îvz{q–ž!€G÷+sØ"Ñm#)z]‰§á€¯SŠŒoRŠ¬÷ýåÛ¯ìxŸÀóõ*ùn•¬¬Žï»w@¡>tµ~>ä>ÍVÖæ#*éôZí1IQ{ÃáÒÆw ðz“`rãA•PÑú„2ë<_'׎ú1àqÞ뻸=@ãänÊï1ÅMØ…„wïvÅEÈuüe§üM°s]ó2#)Œ²ë›å:Ö¾•ËŸ­Íwáë¬_ŠE-sUVÌ™*½ŽåÊÙ¹+v{p)˜‰h_ýQ'G¹¼ÀE‹~gØ_ôœ§†w`¡)¨ÄÜר¿ô¡0­D‘32NýlFdnø*¤Ì–”<è·»ãw œõëÎðl¶¶w0iÀ«A; hkºD׌ŠÓh¦Ï¡“¶Nà P#€›Ùwë³ô‰f:ïcBNv>@±¯ÕE¼ÇøQ£•»‰TFêô…”&;[iZNóªLÓ$Ï c,%Ô¢…ç@é|˜wRyZã— ÚÉŠ$ˆ>è 3$ü#ñ?èÙXȈ«a1fVŒ6F¶ ­;%ž)U¥Š!HHÛBs‚ÐE•%¿21›aNR¢a [!,­¶`Pk&&±Øm)¥ÈU+½öëŠ%kš+g†Á[(…L§_ú¨8<S3ü¢×ÍmuŒÙ%áÆx_¢qf•ÛxmÌŒ®˜¼Ìë±ìƬE·\#)ûQ¬  ¤ùfI˜©T=4Þ5ƒ"°^T¬37ì¬%ƒ0Å¥ëŠFZë¹Y[\7`±F#*B½D(ý®Ì;¢9«ËÙŠˆè#4ÜÚX¥E´ÊÓÅ`R”ä†8±¾#4{Iól>Ù_=bÂÔ¿ËOQç(YÎ'CŠOfΟ˜Oέ=g+«ÂxJåšBºð²‚f?4È Ef”¤h6ÍPºGnJ䙕@¹¾]m —z0ý*õ3ÏÆ÷b½;DÞíÂþú—Á¤hNÚ#)ø7m%N€-:b±ø¤àmkÂZZÇM±SÇ’t÷JåR]'YfÂÄ›áQŠ;yiEóo(ª[Ž»ÔœIH¥ÃfuH›Z‘#)QX&xG]¶€ì)…µaP„d:™g(óÄ_(i|ÎÄ»:WýÅfL,)4ò3ÅîWêœÑr¶àm0Pü;ìcl5OÑ®#)×Í™×7WÒ\ijjE²Ùú&WÝúk]-eX[IÇn¬^Ýáy•ÆI^mW±±G°dt·ÊÞĵ£¬‹Û‰´#*ÕnmFy¯y´sÖUŽ;ë,ßš±yIѦ‚ÑŽ…Ê­ÜèÖx•Žmô42%â*+þ©iAÁ gÎYhxsTª5ër<ž¬lÁëd6X…û6\U¯ ÏùHí×ý$‘öÂõ‘@ºÊ&—W.#4BH{”>K$¸‘ø6õ 5„Y8fH=!nžÞœš=÷“ßùè䢮9“30„Èö}®;E6%¤Y᪊9ÓÈíIÇÍLsˆ…ÐW 9ÇÎC÷¢ãž³F#Ú¹zö.¶ë‹VÃKÇäÒñùS ᪓å>Y×’o2/­óÑâ³£>Ç9t‘é© änYÅaP*ò8ôQSSèLäÁ0Q8÷zëü èâËt¢C€[ÇÔÃjE¦²ŽýC‹4_Ïa 4¾¥ …ßm“-ÿ´5\ºîü°1Àözªc^øODõHxk„â2c6¼¢Ü÷57kÛ yÁ#*ßN(]IÍškF3mµá½”ë#)’xC¢«EŒ8ÉŽY,ÍþÖæç³µX­”_Hµ+±+i#0üsÏÌŸsì%»ÙßWý|üïWÓÅgÓ ×û½ÌPX÷ÿPϯ]Í~—¾ ýŽµ+k$ûš‰IjI(®™ ´-Ãă)C,þƒžœ½´ÑBÊ¡›bÜ¥.ä„a(ù)äÕî5ALJ¬^í)#*Eö{CéO!I\Eòù¨AíN™C¯ -ÛTDnªÚ«ãàÃGŽïÀÝÉžÄë9DZí?X²Rü QX½Ý5[l°ç¼€¹Ó¹É××a¬=‰Ò}œº½Ó2$£ÙŽªØ%M ¹a³î:Äm~w 6ô|ÜRÍF°GV3úØ®‘hk5•èÛ:iÓÖF9ýD­#fêŽ^²Ý€I»¦o¿¶£zìM“EÈ…Zûm}Ç5¨Üº!¿]ó ]ò£Éx,Öâ²²÷ˆØpÖ¹×ñSqà#/>€³°‹F¾YPƒ²£8vRi¼ÃÁûŸ­K€#ÁËUrø„´‘ˆÒé¤#)«$¹afˆŸIGÓ1z„ìx^ˆö‹Pî‘ý`éu¸k™ˆáºÍ:qd×O;éRÏA$c] t•ïaå‚\ÑÙòbÃÊ'¥˜²¤ãÞtÄä:ñ…ά¹ÇÍe#*äÏF ËÀå[Ç¡b ÜŠ}Ñ¥âÂF…@Ï!ÔšÞQ'ܵó¶u;Ɉ}`™˜¬%#*wÛü^ƒ¶–PS+žPƸOo±XëP'¢ÌAþ±³Pöx6R÷Ī¯…Ó]¤Êlä™ô7ª5ñÚNÿËi~ÑЭ!²ªóÏÖê «Ôr?€Órê; §äÕ^×Òõ޳Ш_èbÛ:0æÇ›!&œ¨Fÿ^mí¦?Œ™‚$ñáªÇ\TZ}c“d£dmqßøÚÕö+uqè^"–îiì~Äƺå>S¡ÿÌËjËÙ1|›šÂËdˆÃÚ“™±l‡Ç›+—MÇΪ‡ã·a<TúZ†¬z>ífýOO*W—”"›?ThH‡f]YžT<§@â­M=]K‘òÕ˜€/IëÛ?q5l²“aåeÐÅê“Ä:#)ÁþB´‘ëØÿãˆ~#)h#*ñw£!•ï‡fƒ¦4úÛ¾ø ÚÔÙ‚¤G C½–#4_Óx{M§N”ÿ©m¯aßhÝÚ¾©WÝÒU÷îŠz%Ž ¨©¥®wê(ÌI’CWRd•-ŽÃqâ5=ÿðÙ{7þçAš¢ð(Mƒþ®èÔ« Ì8˜þ¹y^7Èš:×vyî©gÓd‚«ùÅp)E¾$ËeL±8$ÆÑZq‹¥/ë>°ïÑXoØ¡ùï”ØùáÜ[º¤‘›ÚÓò¶7CEÈÿœq¼cª#4'ô#)ßž¬*#*Ln¼{rPU‡Ÿ1áÕ]»$Œqî_¨îѧɾT]ˆó£ë¾ZìXË|–OvÐl¹=\¹1]A¸«QF­>à YL®§#Ÿõ¸Ç¶»ºÕÙN1ü ÒÖA%ßwOýÒíô½OÉæÒÓæÝydô´)¶_Ò¶[;·càtÓcœ›ÊÎÇÆ5Ÿ¬> ßÑ”™8qr±3L„–¼ÞºBì?×ÇHìT̹6xjR—ñøÂ#4„°âÜVσK›ÑNë-Ò2a´$ŽN£ÏJë|—k2Ïå "ú‘'U+s‹è$/&ÃëiFÎÆÔXø#4ïÝ'óËÞ+H #«Lõ(Ô8$où߯ÿ-ÑH0$éÏãÿýã'OÖèï>yú´îÿýéÓG¿èÿ›è“¿w5¢Š/€q~ú8FìÁ´Ã[侦%Üi:­²yx•£Ö¬æö@#)ï+SÉâÒyßÕÉÆàÞr`×ãÕbRd£Ä~ïù_:ëvoÞjüÌ¡ÑúŒ¨†@$ß6«Š\|¢#)qN:C¨Þ‚.‰c­¥!d$Ù#*äÍV“Š"º¡ó—øú-ªâ!þí'ÒC¢ˆÄß»xúH¤·#)#4EçÆÌ ýíæ-¸OtP]'Ίˆ'¾$4¡sìkøŠävÔëxòƒÂ&¶ô²gŽ#)GóÎ!jLÏPG#*-<j^õ0ãu¢Ñÿ&"¸"ó­yv“–E/ãËpœcêÉtº¸T£O8™8!¤ú“‘LÈÞÙË/¾zùêUí®˜ra >×"¯‡eRxÊHC£áƒ©‘ç&Æp?å(qV@4J1E'VMHïÃØaÏ?Vî[«ZH©…uìš(®.ž=C8oǹª|¤¤ò•´™<2Ì°,NTªC?»Á»y°«~” d®&ÉìUªãt#4ï£o}âM“_|—Ø ,Ùt~³.ÆëC{>^@#)CÂ.¾ëÉŒoýŽ˜úéãé²D‰ ÕëuŠªëVê"£—è, X.hMrhžÿëÎÿñdµ¸=ü™,À6ÛíÂÉ_?ÿ÷Ÿürþÿï>ÿÉÎ+MÇK ¥—¦jëÅ.*QÕ¹K%tÐ(þɘƒ°0b… …˜Ñ›k›Q}h¼÷“ϯù¢‰ÞZ¬ yI†éb'}œ?Ò%zª»cdÓÑÊýÈ•!jç ×}Kei/e ×ýɹÕækàrYÝj×*ŠüA #åÈ oõ*vµ)}Øf¬ÄÛžÑö3>¡(ˆüëíÒ‰m<È£%{ADÒDÔ˜#&TЕ!RíEolQU̥̬•‰˜˜Ô£\‚$J¿Û†]ûwêίúÚ'ÒÐvůDryY'¼ÛÅ¡óF%x a‹#4èŠxµÄí¥õ3ÒwnæØÖ£Ç9^tå¡óAµ7ˆÙX< ¤`m³C,ÕŸñª5!IÙk–âüf9Ÿgû#ÜÜ[ÁÌUFÖ»ÀË#„fßzô5rÀ«c ÿÉFøÛapLÎxÔ¤66^C*!‹b¤ ÷ËÇ$§O´œö·£_âÈÝãügÈÏd#)¾ùüôä|«Ùüøà—óÿ—ó_Ïx>6aì…sŠ2¹È†š£¿Šgb°xR„˜üïâILìÕO!T`k9þÉói FWbqE[Ðù~ÿ“G–?¸[±ÕŠF‹BxϹ|‚†q˜O§y8.uGÙ_õƒS`°œVd„êõzÊNú°õüÔÞÿ~¿IÎ5}Ä_Ùâ¨Å‰€¸`ˆôÝM;f£'‘ 2ÉͿ꯽FÔ¼fž± ›ÿ:ýì,`’P<Ú‰1ú‡äý$8tˆ dÇþW´9ɶo¤ï3üërâPP½B¹°Éeó£/.Oìë[zJ0µsöò‹ôäå«$‡T-QÒÁx¯ÉãÃýÎéÇOž$÷¨Säè4¦HÎÙ7Àä#* ö‚>}šŒVɾHçób”Á\$uŠcâ¥k ]E&R¾f¦¨ß#*«^{ ¹*„Žp.‡(¿“Ö#4Õ˜£ë9{ÝÆÖT¥SÛ ’ZŸíl©öUðÙAv-`ãé€J2B£lZ+g›ÔúµnÔÄHfò±úº¯ŒŽQÓdX”ĺͪ#4ø±>3O„i±”ømfn{fî@ŠRäõì=ü#)hø‹¶ÚìØ£îlUéå¤c|ï%#)$/ò$jÉһŊî°Ö 5¬¦dkÏ.(ãà#4–N»q=gMö÷-~’Æ?Æ(‚r‚f"ÈÄtOä&ÛÒ«÷É4U>Ëó¶‰c/è©v#*?¢—ó“²k Õm„X˜U NƉ^ç|½mž'“Óý”ømr¶·/YÕÖßiÁsÓz®­fÛ5Å ¯‹¶¶*D‹íˆíh]_Ž¢.ê#)XPÑ'Îd8²š±Þ˜¯ë}¸~Xl§ÕTL+©“[ ZÃc˜ÉB°µWî°¤Ò¼ ü·¶m?3¢²$}ÍJÇMFcÉ¡K<=ëZs9OH`,!1L ÿܱѹÎ$°;Ü,Ú+ª¢9©6ÞõÛl‰b>prÕu1'#*KA­º£ê`‰qþ‡-Åt‚B"å :êª`ŽId3Ûàqoø=wŸwª¦\ a3£ » ¼ÅfC\…‘ ÕäI¤~£üˆ~†ÿTxâxXpâøy/q÷®W:;ÆÆ^ûƒLÓgÜC|X§ 8ò¢d’Û&í±õˆ«\”t=•±ú¶™%@°†Q…YQ8|¥16f"cö5Ì=rHÈsx"uØ9ù :mì&—è¤1²ˆg]8Þ8…ØÙÌÌÓôäôåÉ—Ço^¾ý^ß¼8=yõgìO§»(ûœÿ³—'ÏÞp†ÝÖ o^|ûÆ’ñ#LäökÔÓc¾M{yªöÄìXÛ£±Ž‚qôNý²71&£òä¿WÍ­Óߌæ¿b8³äù›ãg2CÞ¾ùæä9?~û'Ëþ<ú×ÌI0s‡º]ÛèÔÙ4ëÖ³ö¾®êÄhQ;sWQ­c>#)ûÚÌ×@þ¦â¶åçÚVxKYÎ'«„;2-)…Ÿ;ÒW”ÄÏ(°q¯ûN`]€w9Å]U“8[4—êIÜÑÙâšw D°JÃþÁ¿z_úýUž_/5qzŒ/‡“ “âB¼4nVõ3â;ŒoÃÒQinqxm´#)ѹ™lÖ뉫"'{D[­DÎÔÚÀy}̇ÀÜloowÞÈ–q•uáÓ#)j›ÌÓ.úŽÊÊl^±ÿÖ|Ü Ï”‡tŽˆ€é–G’‚KDÜítŽP•À~ê`Žg Y#*¥õÜ-=ÚJD|¥ìl­‘Ö¨c¢Õnp‘Þ.Ï>{þâøó/¾|ù__½úúäôõÿysöö›?~û§?ÿwà~!Gö˜¦ï`5B'Ãerø”|L/Ç W®Þ¶¹)|sˆÎÿ#)a°“ Å £éßbžMö¾ÈªWùåd8˜¾À|g®|VƒKé‹Ûè¨,rŒ~ÉO>¤õŠÁÍùã“#øo÷°ofÍ­€=M­)P_:œÌ«P{HØFýŽáLŒIú¯K’í£m"ŸwÍn{uš\Yböšo`u@*m=û&ô·w|rz|òÖìVYDZh6¾Q¢Ž<&6µCÊêÆLW3xŠ¦˜†AÂ#)H#*×Õh–F†ª–‹)¥ª#JvÓ,DÍJÞ—ËL§›–“O°k¥z½ÝäðÉÓÂG{“è|=Ÿôk«ØXØfEG–2iÐ#4ÃÚð©UwÂ#*IzSíE2Q«]ñÿUæS °Ë‡t5¤µºê6ˆH#*t£#*3p1¸Ì6Lÿç\óó×at{r—‰Vè®y0\쌂ýd:¯ý>6„ì‡Og‘#TKøð¶1p C(ÔØäj|ŒkÀº,­Þ^ÞHü 0.àxtyøкݮAC˜ümx e×Īi™$uT#4Ø£</¥ÁùCtÓßmâÉ»ï&4ÙñŒ"J°¥2*…þaT)·Å–‡³¿Püô{/T~2Åë­jÔÔ™Á€âËêj#*Á›Ú’4›bœè´dá<” E{Z8ú´b{Dk#4ëd(^Î#*‡a…¿ð<€é þ8÷nH0Þî©5y5èƒU¥XFåcü?)ÿkFÕ&‘h±º2Z'@G¨}GÀÓÍIÓ¼#^þÌ–ÌWk^ˆ®¯Ïþ|ööøk {Ô#4 qvüÀ·æáÍ]ò´gÁÕÚ±ïms†É%Mçâ¶ûý¤¼{÷ŸÝ_ˆ¢“z½§˜‰ùI¤1ýùŸÿÑ®¦þç:BàDCäAÄiTŽÆ#ƒ£.þÃMI©mij@gF7_ýh5nï\Øç¬/âÍ×{åb^ÂqÉå„£‘pAI9ÍÀ8O¢lþÞ˜g©õžp\™½†0õp¨'´ëf³Eu+=õQ`þØ ÞðÙÇ"ú.æx#4ˆÀiÈeý)=ý#4CvÐûØS¡âíG`»”‡¨$©Ø¸®Õ«F8RT'µºÂIgHÇЄÁ©8¢]¿ÎNÎE˜ñ²{á6l‘–"þ¥Ãɘ NLŸinßqf½&—щýŽSäÆJ <cnéH‰/&}=¼Éñ)­,–¹Öë²Ê&©ÂÞ_—9Ûð4™sø)¦5ÇKEœÿe°÷ý³½ÿÞßû„$D*ÓÉîJ¤Â%§—¨Ð©]Òqyå—ïÞ•?¼ ~ØÖãò*Ãh6åp°0ñXׇpu‚ ÖÍë‘…#4WŠP§XµB#4ùawL,)œ*K Lx+Kz ¿N 0Ù\ÉF¾Øî#4診#*k"Jq=O¼IzùÍC‘ºÑ¿@au5‘‹V‡ãØ“#)Uµú)YÝ¡g”Œ”øPø“£R§Ed3Ë}§A»GA°9βà›Ho %u³=f#¼JDµ±[-ÂMvnWI0ÏTàÀ²Õ߇Xœ®d`$íj‰œî”A|;#*o¹˜‰Üï"ƒá'û\òƒç\ÛÊqÚ0/û>ýO¹'h}ƒ„ÏÒ|•‘eÆ`5›¯p§FŸÑs³^d—¬oé.­b;Dò*ú!|÷›w¿‰~€¿ Ïÿòc7z÷㶣;š¾oQ8—9,Ž^Lñc8ÓMeÖ»,òå"<ð\Z#)#*ç>ô>ÿ&hz»âŠÈÄ]d„ZòÑþz¼âç¶Tßéé ¢*Mˆ±y‘l¥e•—Ãòb2ϪPîhùb±Ñ BL[0 ÷ò@æ ß^†rñ+ÝKþAÒÊu¬,pŠËs6ó]Ñr.s ¥P UBöï2qiCž8£ðÝàý€ë #¾ö¦À«²ÍÙm «)»„±§_9lÈÕmˆ.–(¡Ñ_†@·tÿä2#*ÚêCÌÇá[`6ó›²ë»7‘ë0-OÏzPóÒÏðåë½oüz¯{Ë•ÍCÝ}¶œŸžA÷žåÓA1)ýZËå</'6è¾Þ4¿áÃG*Yàûb莪idaÔñ†^IW–gr#*§“@ˆÑg›W.Tí#)3•]|7Úý#*›È­‘Äd0¸ÑëiS³zdo^íu+Ûj¡žžàç7á:õ£lZ#*œl{5­bQ*dT{ø‡’¸ÿdó+T#4äý¨L8/]XÜÊ[!å#4Î#4 g3KF“÷è½™¿JÉøÑS–rÏ&sØ`WˆœÊÅO÷Y[ƒ>ì#4ôÙdXä’öà Û{JcS.§Ιc Ü–2}0}7 vF#øñ’ H8ŠõœWÁ¥·dÅÁ·^jìÈ;WvÊÞ£1ÆRçŒÚF@¤ú¹éj󰬆2èŽÐžÔ;aç)Æé0_Î)f¬j³y`Í­‚ró;W’étÀ·£Jùû""ø œ+ œ+É» ì=ˆÞÁ–M’’#*<Â’„vtCN`xY[è1Vi<ÍÆU\ ¯º8MŒ`³*/N$ÉhxŽ9û e½CÃJ»ohB£æBn‘-¹@lùæn°ƒŠú¹Åöö×ëÜàNª5Gsk4AWô‚• Ýy!HÙߤ²#*‚r ú¤4f騇„fPgÔµq£ÃËŠ¶a¡=†Z¥õ!¡ ÿÏ2+n© ÚöY>®nEöîÝ×´¶àõÝ;Ùþß½{¾,ÐñÃù8{÷îÙbÑ},Ô»w;h]mï8áË7pubq×XJF/òåY˜$·O‡‘‘…°²ÆÃ@`é1JA €¢u± ìéã‹ oß-×Rõ&ðÖôº<°é{Ü€¶Ç>Ÿùå#)Ø+¤…ÃbÔ¹À–8Áh‰)Ò®tŒÚMé ô°É{¸%z‹|áØZ¾DsÓýØÇžhk4)ˆ ¬£–ò]]'–ë wW ‹“s6+ÑÀÑq°7 bQŽ‘ª"×IR›‘3‹é<è—¯c²ån¤^,Çåäû,ÙÌê^#)±œצ{êæÜm‘01C9²51GÄ$¥Y+ApBßmDÛ´"Ì „ooâó×'t=uNh#4,É%Ð<ë›Òacqo6tl‰|ø÷ÃycöÛ–ŒÖ¾–-ö2¨Ù/õ“¦£èÕZâ[YÛÅw-wé¯y ³N‘=ÁÃ0ÐÍŽÚšKµfª {‹iǺ¾ÃrÛ9aÂh0M+IžÐmØO'€\©¯#¢s íÀ†5-¡b&–嶇”[À‘ʵ”ñÍ ‚£5Öñ8œ?]¼õkÌJc¶®ÈÙM{‰wäáU~#Ò0ÜÀ’½ƒ˜85xh²ç˜ÃðçjBr3",µž‘}YÜÀžD™û{ÊÑÒãÁ7ók sæÛ›å¥Zð¡bç‡ý:*„d—ËbapgÄå÷GÎý!ÈPÂÆån±ø8÷²µNŒ¥Œîpw­b gˆ­¸‰†\¨7»– #øbð_Oü -·–e‹ï ÁX ]!ÖÐÀ)}3#)ù®>÷n$þ•oQŽœ.±wfÔ0oKá3}ãL_3‰ÉwîšYìŠw Ëýû¥d?4æÃÔ=¤Ây µÁYbÜ^Ëý§ÓÎØ9Ðã&sx 22 x<sò€çæŒ(LºÌ2»÷H#Ãd•Š9Òf-zn±¤¥å¸•Y IÝå¶ÖömGøJºÌ¹ß<ßn™ÚÝ͵kš˜¿Û€ÇLÒk‘“qØÐo;ÜÿxlÜ(ê#*l$áŽP7A©îSÌ#*`÷óièQض%ê´ÜÝ~ûìóôä4}ýæøóÓ7_QSáPè@µ·<:YŠ»é>cô‹•÷öߧDýLà›í¿>~úh¿îÿåðãÃ_ì¿ÿMü¿UÙliq¾¨ƒ¢äpàE«ï«"Ž.î&4.xÎ38Q =b=qD:h€‚Öó~šˆ—CøˆŽ õ»¾c½:}þyÆ<{ˆóN™^,'S`ÒÜÍKM¡Î”*ÊB«çõšRÛ†ÕŠNÁ›tÉä´2¢LÍVÕM¦Ûá#4Z7& @7ËSt“?Ò«lºH¹W$X…ìç z¸ÁйáN;¡úí€vÿñøÍÙËÓ“ØIzsüÇ—˜;Böù….@n&£ê*Á1¡‹/Hš¥Ã|ZZ›Chcÿé«ß\ïMzHwo¤5ÄË0ý%SWVe•òBEN”¹ö®»`ë(ÆägƒCbцI6»˜\.óeé|l´nõzê5R]öñ¦‘¸{8}E«ÇXä@‡Äq±§£/ŠÉ¼J—åàRIÓ46΋=¶”§B(Š*f³ÅÙ)ïlT"lFŠÉpJQ•u*ÐL—[#)#*A6-{P®Ë™ñï™x6Ñ»dK•àv#h• f]+T`£#)6ŠÒ¹Àé'rC¡(]¢ïž¥X[Ê!ê8(ëw„Œë$u5J˜e ›8E9py¡—›«%ÐÚ7sãcÉ ùåPk+„ºJ~2}ÄJÞC~l¬‘÷¦qJn]·÷ŠÓêë~bŠÁ·ïà 2#4Ã×¢èA9©$}Fjb$˜¯#ÿ*èÂrg—9@BN1 å‹ ¿œ~S€ÚMý–p’ ÈLÀ({õЮr®›m¿{.ÝÚït¾ tùÒ#*³Õ`¶€aëöðÔèÒÆÚÝûîqÔÙ);#)hïxgºD:ØtôsÛÃ8ëÌ¢¦ÎÜ}mñ `,Q›Ç¯€"FvŸ_#)ÆòE-ÎfïyàJSj”¼Œ¾Ë/J¾žÄ'Ö¸?Ë°As\{ù4/ÇÐÉéóÓW§oÈ…ô[0ÏaMƒe•æNÁ+ðüÕK[Vâ~ Z6‹«ìm]Á(ôçÇZüÀ+~›Ñuô"$Ùw°·GéAŒÊ@ÂãK¨¿„Þã)@&À æJ¸ ÁÙs•!P N#êJrÉnðÎó‡Ø¼¨{.pŽºøÞâáU>Ý; sWÐ$G¬¾#¬°Ÿ)}f”ð-¦0Ö°Ê+Åf0ÃËAÔ¢D#*Œé4›v1#ø¨ð¯ þu–-¾>3ü}Ó\ºoÔ#4tç@-€±#¯n¸w}}#)ÇV÷j€>-¢@«zOUÁi}‘c¬®ÍyÝX!ç›T·Ýiöš³÷þOJƒðóÞéÚý¾©pï{8;L¿™®'Úr”],//Qã˜#4tÃjP^£u m]”qßá'«†¶i(ôƃHër^ë­¢ÊÒªXjæä=ûæ5°“ggé—ǯ^[È£ •ÿAˆ¤q½‡î¾Ü y»¼ÊoXß»3 =༥íùåm•Ö7Þ=È•Úˆ‹BÌ¥d;kßjÎqŽQîÌäì'—UàÀ†åÔ""Õ‡Ôl]Þ”G“‚ QU†#4Õ7´/HÕRGEuTùâî:Êb¸©„ÑVÃÞ<ß#Â|2ß+–ó uꕵµÔ4ÏÉ-<ìú)¼«Òfþƒ•®ëK·Òfþƒ•j÷Jy’NVxéF"Ò:~Æ ®#(âyù§ r.ü"J;²³¹õ#4cFu‰i¢Q¢"ÖƒÏ6²[#*ùƳ5Ýݑ؇8$u-»ÜuçÃÁôaÐÖÿÚTݬô{܇&“š®^¦S^¹üÅÙtwŠ~°ã—kx`Ç1¨šT¬o²4ù­µ°ÊN9}ãrò¶yçùŒÖ=)©»#*¹k º¨»k+ZÐ6+þ˜ÖÒ9è=½wžt{‹£®èBÿìî- i2‚}î,Ú»ÈnÔë5»Œ}Ý|ÞáqÖ5nDð`ë]öºÛ\þ æßÃí;ú÷¬ÊwöféfZÓ{¸ L+ÌËæ6P6$;T#4f,Ev™­Úžg@­÷†ñƒ‡€æ·|ÛÛ*°N1«ôv€Çgo_¼dtc/¼tçΚåüƒ¦›d~hŠÝÙ[‚rжJQ´·nJ¹Æš·éØý#4½mÂi¦Ó†-}a˜,YKKpö.Ž·(Û§÷hRVd;³‡B† žÁ~þ~#)ü³7_œ²·¸\¢ö:Ïr#—wMI‹ÝÒù3IDÄÐXé®Ë-RëS‚ÖÅûz(PÆOä$N¾ùú³ã7ééçéë7§Ïá¬:}Óâ#)oüVñAT»®«™ÿÃyƒDi¢•eÔƒ³ç鉔žž¼:|¼"†Ywñ’a+(²‘D랟ž|þ×B@"ï”íÑ·qt{ù¢¦ n¢ŽÎµç¤‰üì³ðn6J¡4P —á9õY…:÷P)üê¦7.–A_¢‹îkûÄBÂ7ýRÐêÍÉs±¡gBR†Á_ÎÑ$5‹Ña¿ Wjû#)“›“‰¿(‹K¯Ÿì>v¿Â«cdƒiþÔ® †ßÀZD(”%:Ù}®M»Y·F_Ȩë41µD©Êb²µ2oÒ ËÂÊ›8«Hr]\oºä^‡:Ò÷¬)2ñ;Òƒb*½öªI5Í’D@û±ã)G#Ô›h$NªÉ÷¢•HM!}“áÍÈ#4HuyÜ°Î~Sjw:X·Wh=I²š6ÕE1\ø†r#)$^øéÆž¶–®Ê‡ Çn!’]ì—”ÖSÓ#ïÄÚŠµ×Þ Ù$kß#4åÀ$Ýä(qª&òæcC˜©ÑÅ°·(¸¶ìõ#45d£‹p²îøxôbP¤¢pHLèrxùÈŠòôàºjœøÓÈ5"ùו#YIp&š»B{žø'´ølN!“S3_Äh’ ¼ ÖV.ÂaâÝ°l«H£ä›6-–>U”C2ÆVMŸ¼¸Lµ>›²ø"åõ‰®u#)œ½—2-75"Ùsâ“0E#4sB£´8çqª7ß"g&¨ñž‹š3mÜÏŠ¬FjbÅŠ©Ô÷lþË>NHUë“OyÑP÷¸Q4êû •qºŽ±Òìn­}N}F×Y"mK´™ò.‚W?ñÓäÀq“šFaSR‘ŠwËäo$»<:Áåщ1öTAy3ö‡lŽJ)§†üùä*§ôšxµ»bœ·>·<ýV›cÔMýt¿^ÑyPPD@¼5x¹›¹`F»Íµmqî¬m ³9Ù=ÒxvŒ×¯—Õ]UJ ¾bHîX*­¿;мþµÅ•…-#4T:l,tþ'ë°Àñ,«~®øâÿ|üø铺þÇ“Ã'¿èü;è óÅ-ºðÏËÍêhi‰ž©ý_Â_G~žÿå×IÿÁï£wÝä]7ìÁÓoÐ:£÷µªg˜É½Æ'³ºb怯íΘM€³KÕ]/£‡ÉT;Œõ’ÆK!蔲îTy­+a?$|A.Áj=ؾŸîõÆÇN$yß7¾Á¦Ë—¿NØ^¡—Õ !—’x—Ðf¯æ‘‰È«”<›Ž6ú¿T™ç㓦x÷Έ'&Þáq“CõÓ]šØ»#*ËQξýn¾ÍäûùöjÕoï„«¸áyY•Rv?ºÃG¶Ž“·eBs'¡CFÉœÍ+/Ä´iÙª£*!‰3à÷Þóþ½œÒ×(;ÔÓZïñø¹m%2КÕø8‘hY¦Ítg"¯ÏžB#*ò@yFvþs´k§¡u|÷û01(¬ââ`+oôØßÑ#*¦ò¶âžÏAñ¤í¶{”¡w>;ÇçÙ#*ºŒ±»_deöèz6Ž£ñ›«C'hwu1µAägYq™8ú‚«¿/X3ÎÎvúnÚh+€Êdy‘Ò0‰dÀ€]xxôFY¶À‡#ß8ÂjsÈm5ø:1SºáȤôœiŠ#*}ÝK‹RŒ8ÉáÇÀL¡#*h Í1Œœ©¾QPÞ—ñmB#°s#4qGóë{]#4÷RRß5à2c"²q)úË¢'ǘôÓoóÉ. ÄóÉW3ÎoÔÙ#4éÄú%ԵǢîwîft—áxë_ãýñ'À}>ì°+S§sïR¨&ªU^«Wå½ì'ÀÏé(Mݲû!X:µœOþú¯é)³°!›Î‡•È¨»\‘þx=kM*Ì‚v÷%»sèð|Ç=Ñ£cø`¶Ù€=D»Ép¹@ ¸à­8qÄeàM+¾nm nÁHjøŠÍµÕ³[@'·ÒVuåääé'ÞÐøôêZo¾—2“-Ú7X— O[êG¯AkKÚyM²Ô¡Oé9~“ñ¬¸œ#)zŽL2 +W!ÒœHG”Ë9†m„sìZćèõV¦#*úšMº;å»9êD¢‡*Áóë>;˜bv]=ÿ›ø•²Ý‹k]2EJ¿¥ëõÜ”ab§W ÕZ› ߺ0fì^™žÞ…—HÙj8Å­­ËD|uä8¼ £~’ÁÚ/Åë _HM+DÓoR#)("Œ¸Ì.B}T#uê"`ƒÒ!#4òbré·Îo®KêÒí­z{Êuî>Ó ”Ѥö¾{ŽÈ%„bœIUs,có’ƒHB¡«éZfý–rÿûìÞÊëŸ+üãòŸ'ûO÷ëñŸ=yôôùÏ¿‰ýOÁ?Æ ÈD—o“±íÉ…Äðçäômú曓d¿óõ˳3@09è<óììËãÉaçøOÏ_¿}yz’<ê<vòüø$?îœ}õòõkxúmçì›çx…žü®óìì«ôÕ³·Ço’½Ê~}œìv#)8=)#)zyÜy~úõë—¯ŽÓ·Ç_¿Æb)ÔøêUˆo”qX•äq{5éÂK˜«Ël.¯F—¨³u1A"$ô੃7’+“©JáwÎ$!Ù¡¬Kg 3L@g¡FÒå¿ïüÚ÷èS׺ "4VÙPïeȾoB¬3î*i#~FY@ƒMj´öäôçn¯ë»|µj¡IW€0Ѥ]iÝùjåð«às­b4Î=TH˜BÚ˜èòuøáühï ßÝížÓ ?c>¼G×GÏý4Aãä£ÚƒdÒ;Z Ç4X¾:>;1‰ß~cLÉ5ǺÁƒßàaPÆ?>{sÖ=¾ÙÀšÒ”¤§icÅQ¯œ\òeIô³Îi ©œ®Ãì&(ù-E’ËqЂ#*Ó$¤ªYà+*T¨Nö9ø§aƒ‡c‰îB÷)e¬Q$¥j bÈíØ…ÔË¡`…ÃlƤþ­Tؤhö~2%/{òŽçmP¿}FŒðJ#*…•{ýŒÑvè:*Ù79áÄÊ$7¢×#W³,JÄ×+‡ÒdïžN›#*ɦTR'‡É ß$è¡ILÆæ.çh¢°XSvçÈËfI}Vá‘d! U¯M4óMóDÆœ#4²Ý(l¸ä”0m|uYïTéP#*<D½ƒºbyF—ØGww!áÃKø –y‰<¾vpÜ“útäÙËmDÅûQ¯*p^„øGÞèX ¦7ƒÛG)Y=µ¾ˆ‰ÎoŽOЩ窂yJñzàóºƒ`™Ï` øÒ“ÛN‰ÔÚÙBÖT÷ ­ä&C§thVäæuQLò”¢²â›{¯r5(©ã³+À3ú BC»Å•nÖÔŧTŠQûðç!Ù~ÓˆëÊ5%B#4ÔC—šê“ë›s™u¢µZ!7ú'n±„<iÙëdlsŬÅrRLãœ4ÓH½bá†NM3s4”j3é„5[3õ)ep ˆìÞ ’u0.ïÆ'kAÜOÖ ¡'…aÎà(IüááÓ…LuY²øÊÉšGõ3ù™å <aѹøƒö) /t’ç¾opQâWë/A@VE+~3ø’UrŸìãM#)e\ŠÖ“9Æãf1”C7¬kôU »ÛV¬’UO*‡I™ãQpÎí5·)߶:ÏØ%+´ÂíR|zWéãv°í@ ¶wÊí`gÕq¯©ÄD™²vãÆws¼yìšIÀÛG¼ç í©8¨.1t*Úÿû*rá8#*ƒâ’|*²M<{X×ÚÐ]Rlñ9t:Óñty€”ë;ʆÂR v¿{8‡ÈÇßZÀ–€)}+ÇÕ<æy©ž•"SÒøZy ¿v¬#*9RHèÔŸ¤¹[;ó»¾aehL"+Z¨. $ ñàwk7î7ZäkÞF;7[k“Õs‘i±$Hõü¶¦ qm¤1ÁdTÍ‹õªOdr&îóqvÀ–÷Ûƒßv’LJœåa¶O%*Ý‘X¢Ç¤¢ÄµzÓŽÜí»Òa ~‡:ÊÖjiv«Bõä"N¤ yï#4cNMÊ•®ëAÎ;œæ%æ5$SSwËô ^GÝ?ìݽOÑ9¢÷úÞìm£#*Îp÷<øC° ¥ûF·xk<™¦Si«ÕÏK.úÙ­2äæ}ßý‘q­ÕÕS#š®‰0ìÃ"Ú ÈÄ’÷ådÄÖím§¿`è(Y$z\»!§Œï@K2À\Lgåebâ*#…"¡½—bÅH&j7bP¡sõ…0‰F»søGÞ_s ã÷;ôóz~kïÝÊõílº·L"…qö<þð‘~áèr´ü†ƒ¹ºfÐ'³EÛ˜·š¶aë§ù%°°È|z!¥ ;K-®ÉZ’<r&µ¹Oî)8uO¯C塺ËLàçÄ&û#+Ÿqµw¶î‡( ØK +‘ö†ËØ°4 wØúuîT#44î8ËŠbü#*öá"Ì‚# @…ÞDtÿ›RÖGÆ8Ž†ð{¿‡?Fm©ÃmƒA¿‡øû£,wxÄþhêµÏ$z#*\¿‰'§o¾~ö#4/±%àmý8ZièJaY„Þå?—ìÉN”ö$/un{E÷½f¼ï7Jë·B“›¼Ì*±TWåÕ`cûñÏá}kdyW6PP¶=öûœ­ :Eb…©9[‘ê½ÑfaN¨Ýq'JßkòKw@¶êNð +pÂ)ü𻩻Sþ νññ%!‹O§ Ñ¿$þÒ½ ßÇÔí>áÇÐw¯ðÊ:qƒúÆ)[$q!’ƒC#4Ÿ‰þí1…Ný1à~¾³³3=¤¿ýîÎNiþOxÍc"ä®oUGÃÈ8:Ý Mº›#) ï„î)wdîpƒ®oxÞ”:s(êÌ ¼BBÀi0™Weƒ€çP—T/K¢ØI"~ÖKaiD# ݉ª¦ÈäŒÓ¯$T‰'å„a_HŠQ1„'S€6œïæè––wpŸ1TÉ™©zZUT¸¹ÃÛöÞ‹]$î6Ý4¶‹ûâ‡b¨ØoßB1IÄÖIÛrŽn;‚>wϪ‰OÓÊž‹n¬2L†5ôÞ̀çŠúˆP™Ã”†m©„sœ|õ²øRç,‡$qÎb%+üCV€¤t*€Öqo¡_ ñt#4ŸÈÙ©ÈÐ11´é®õ»©* V#)5Ñ—k ·‹ÔlR–è­„m  æ=€éQ 4DF[‘#*èË&›JF¤äÄü$ƒ:°Š&Ñ üãûÁt2Ò>c}mo}¨£Ho¸§ªDö~Pà¾×0Æ›Èä᧾ݖà[M/´¡äS:rʃtè=†˜Ö#)¬FMOîÒvœËŽIåAšþÿì½{CG²7üþk}#4…7œÑ˜Aì8YÎŽ³Æ OÛÇìîV¯PÐm5ˆÝÍwëÚ]=¹gO¼Y£™ž¾_ª«««~¥Š9¤pË1„GÈçª@åN&:·qxiS£ëKK´†Ô˜íRv§˜†¶DPŠº÷ÎPEwQ`|âXKý¶ÇuFaNj3dg¦^É–‘¯I¼ÝlÑko¾TËñ;ýñ µLM=ÚKÎe¢Q×@Úe|F±²¾²üAêúЪæ³]85Èã®I×­HDf‚UlÃübþ³²²<BÕÈ¢/#*ZÀQ¨Å;e†Áù±AeüO¶Ê]Š[#*«sšHµc§EOò¦à]ÓÍÒ׃ñ™¨vlùVSÃu¶„|f´G÷,>ŸªÙ\Õƒ.=‚ÝIòPÒ‰_ß/Æcù(!ï˜Sæ@^¨(”±+Õùmþp-QÕü¥ç—•œ&ñ{wÄ·ó¢~ë F¾l߻ܪè¶X±9ÐèÑÉødþO"øHí£õL˜Z¶h­¹FüçÎß5fC£#\.ýrWZê#):+›?’› tYS jøbšê¥l  mzh£<oÓÖÒ?Ç^‚Õ‚üœÊÊZ“¼7CV3äž+´ Ô(Û*¥ð[ÔÝ—oº¥`–¾0©¾Üa,æ¥!¤{¡4Iµ‘²P3,N>jyŒª¯å¹!.çå+Ž<ì6 Ÿ¼,ŒK·I#*@ß5c„±'A+'ûm‚È÷Qק¥Ù¢»8r\t²åt8è#*.ejL5­*£1e¹Ž‹;³)ȱ°'Þg.‡ a¾ý#4a¶—_ƒùW¼„A3WÒÏeNí×Q"ÜäAlùã–íqÑ.R%`·vÜ Zõø¹åù5§¬ä.¼5ÚE·)ˆî4—Ìè“wmØKåÞ}3™¿GɆm…­zšôr6SÊt–]S1¡v…eƒ•fc‚ݦÉæh‘Ïq0vCä³ênbH“Ï¢MA’£8›½KôÐÜqG+ÏZ]²õqO|”jeï]W˜ë¿{”HR#*¬\a—`*!]…¨«èjG¯)ÝF-u¼W%»cÄâR/éèkljZª*­N쯟\ Ž”ˆÓú8ÕO•`î(œ}³C`rOÿäZô'™Ž!§UåÚ«J¯zALÇAæß-aºP!ûÝ”aåà×7ØJå€Û(‰ä£Â1—Ï”›ÛwWøg·yQ¼`ãÓi¸ÈkïVªˆŠå1“i¾~¾CZà%÷åçîá#).F7#)ÇÐÔó3Nc—Ù >p4xÙ ya¸ƒö V 3’ öäÊŒºCªXj#<€…òw;ý´åñòÔ^Ý„·!€5!m`aý2øÓuz¶(€uªêÿàÚö:‰ÐäpØ1Ö˜©f„}ví9“jú[¦nõh‘¬ œtsôÔ¬±VýÆ4!amÀ.#*¹ðíP0Zª#)æ©›š;8VCÒ4£“85_ûØ(Na?€¤pEBFˆ¬Lj`JLÐÝ}UÚ‘qsKíŘš'Çz\Æ(áj”ÀT˜&83¢EnSZ+cšj6-`$˜ÙˆUžÕýêpƒeRõ} ±q,©ÝÈ*êú²@Uƒ©O”g©–ô½ËÁ°Orœ<•HÕËË_bÁå£c$×ó«-tÚ#)¿$#ní£¤¤§4ëÞøÁh¢ÄqÜn˜p·‰Ña~Щ˜¤³ÿl.Æâ0¢OE¢·wWÁðw¥ÆÞ9S«GÛ™sÝo°e¬¯Š#K]pÓ…}<z©ÂØ[’#cÌÐÈ^¶ÊÝ&aõx^®ŸÁ©wæÁ)ñœ’žÒGQre˜;žÁbvTÓf·Z«¶æ3ØÔ‹ÓyêÐM¢3™ºr»CHaîì!¤¸Wå]Ê‘ìá‡,Cë*s7ÕÑiÁˆi›ëÍ ™­<aV'I½Cc¯ëÑ›s0íjJFquG‹UI8s>ånBÒÜÍ ”Óƒ­óFû5ø€÷Êdîš9íÙ’02„Å#*ºguAÂ#>—ÇÛª+NB ½íUqÎtMh“=j–i–ïV„ñiNDäõ«à1 †ÑÿvCÑ”êNE:ÞÜŽ’h9Âq Fù\´!ó—`= ¸û‹¹à¯úüHÉ&Ï4iH#4ÿÈl÷7:ø¶˜n€ÄbFºKÞŒ‹9µ¨™ïèÕ¬"Ï_·Ý-­«m2fåÞ/äÍÁFãW’îÜ•t[¯•Ã´ò´ÕPY9n¶Õ´JÉmâ8—Ö Œ­Øƒ£¤D¶uýâÖïî–T|œwOi.ã0Vx@XÑN,¬”7Œ¯w2PSi¨#)ôhž/Ê#*soDí—RÇ*\òÄa6©ä«Sk}ð€z ¤²ö=òvÉX܈/°ˆÂóQ#)~NñS€^65@C¸1­ñ„!Üæ/êvø#41˜×øWÉš*’ÉYy:›L³Ùü¶å Ø!HPN/Cî f:õð:Q¼º”gÉ~«¦Îeºl—”)HÉçw|yja ¼­¼‰ãGyÔ]H_D@’°Ìws‰Ÿ™¾n§¶ Œ}<8=å»=LôƒO4ØØN\ÂGórÊ4% ¾Kô'V:`óúô'41w’ù¶‹ùƒÄ„·Fö|Ú-W¢K°¸¬ôåìTë†=Óÿ¸ƒ2@|>ƒçâñAöµey%t êiìÆØ/\]¼š™CÆñÝÙâZ6þÏ°Z=ZP=â4PE£ÕKú=ïuºß;ŽÎ£S„:ƒþèXg­/ÞýŒÏOn6âáËžÿÅÀ£>ÿô±2C[û6)gÑßZ‡ï÷þuôÕQ|òçöã/>¦˜.0CADÌ :s —ÏON8÷þd8Ä‚?>ù˜òÅY>Ç÷ÚJá3î‡Ï€íäÇX!Ø”1«µY.µP‘ŒE—ó™ÂM³E0Ð4].Rzv0¨AǪNd·¥µ×Tw"¸qØÂD£VH¬….Ä|»Æx #1‚вÖóµFA· “J¶!_T6&ÔDœ‹:Å;c.ŠÆ–3ku¸'}g׷иËØ÷Q¯5ÒdÑBÛ°½trq#*vñ&³B4¨ap¾L]\ê‘^iuMRÔ !¬üeŽ¿³›–M§)¾H½‰J¡^ âÐ_¢“1ìk©<ÎÔ4‚Éé,!1’PŠ)T#)RÞwñ"žrW)ÅZk®U¨#4 ½iÜtû ÏꔽQ·p#*`i¬ªlÕ¿HÜ}°¯ƒ+QžÇp»*EsC Ø9ÈclõqB©mob„èž=5šžòpýq¯<´I&¥C‚é>ŠMnvLaŸ8$©{¤tcQHê”Ê]?¼¹èèx÷É©BßÏñÎ#)á/œÅ¼”Š@iù¨bT±dÖ¸ZŸ%Íõ<F·™4©cW]»/4ïl9E’LDÝч^¢Ãû§èw MSÐ5'¤¬­IY˜KÑ­JZ¡Ú¬§âVY8a0Ž/Bß\¥‰…±Ö¦Åkë: ÌÞ& •¾¶¾ÎU\[oE *2œÌE_¿ÇÆ·8ÅGÝš^Z˜°N›ABé¡) ñº [ÓS\g6¿Á$ÌÉen°b(­Ì&6•µÝíbS8Ÿ=?É7²©QTû}Þ:þÛÇMhöødvr~r}ú/Ú7ⵚmOêá6>…QòûÁ(‹ŒdÔ£ý/Ý4 ÌQ0XïH{+¨5œT(è´€ [€c&Ih¡q#4Ÿ½IäÇuøXµƒƒÂ#*Û€»G¹Ýd­ã‚™ƒò^Øð؇Eß‘.ªX>ªJEHä(æ=i»§P…Ý®¶xKdzùn_ðð¥ÉKõ^W±ÙuÆøn·«Øî¼ßUnxßñVo\«÷¼{¦­Þõ*¥}ïþ_¸óy¾'ØñÂ#*ÏgõŽW·åéƶ(‘üew¿ãÓ¸´ýÙv—6@?_«v@.1I´Tjš‹P`ë#4Uƒ˜nB§è@pfø=š¦ÃάçÚ}@Î7wNúÝæ. Û"~o0>>¦^öD¢KÛEdô¡)O£T#*NÙûmRÏúîÓk¸®~³…lîµÝÂ_·á6<ÞÔ#*LIæÕ9Ž!ºâx€‡w"ý­èQü|«)‡' {^öÿ¬7CEqoé0RÕ:NÁªeßøÎ`ìŒ/-º×cÇ”ÜÎ#)€e™ÈWÖFÚgÿ|‰º!Ÿ €ˆŸgÅËX#*Π Ižõ©$§ èk­ =¾ÀRµþ#4v¤:[Ñ,É9Cò¥%®)4bÔÆÝ0jÅaÞ÷zE¼€û ¦Š»IWÿÊy™üd6Ïúî;ñ=H×êiš…y4ϼd˜›…`SUžÍµ(I뤪B>Ú^$ *TH8‡E4™Ý²ÑdÚco=4qØEjIPKâqZÓ’(J‹]E‰S À¦¢ÏâzÁ¢]ü R°Cæh—ý0³Ò.#WRfÑ.ýÀ^=ïâßäÇâúÄÐ@9c!˜¬¹báï¡Ç·èQxzÿ¯ßÝ·Þ0O ‡4X¹»è9‰Žc$BÓ1`:X?î3²ùærƒÞu´äZÃE‡Žµñ±ŸË Xgõ¿&ÑãËEw·h›G,ŒÌ!nÂ`;_Ûë½ ¶Ôî*LtùSóÝ~.iÔ4HR2-…•Äü¾ìæÉ@ÍýÀa6êN/Q°»êŽ`¼ùÛxIá_ÃùDè¡ù‚s,À ÝÁÜÊåFÍú%”gÚ YÅÏS-HŽJ½¿/#4…+ÈfNÑØç+‡ºå<@ÌBÖƒ‹öºcäš0[ý!{Xh ë\;•ëY6Ì ëÂâƒøŠ•€IþoÀÿ”;Þ_ôÿ/ÛŸ}¶Uôÿ²½½ýÿó÷€ÿéP$TÈŒSHuøÕD†T^qõNY\ŠvÕ«ÙA¶ª›Šl |K|©Î^‡Õ`2[ÚkIHaT40´Ê–q™£Ì–‰6ÍjõrîÐaô²‡&‚ÇÛ °„Þ¼3?k¡ÞE¶ìuF!>Þ9#*ë¼Q‘Š>@Ü]>t°*"뎱±0:%|øÓ¼ïð­ÒtÀ¤MÌ#KÞ¥ylmO”‡–,½Yñ&¥ÁeÆó>hN᳎e`8¯´&§ƒø¿f[ãH VuÆ+Í—sÔö)”!Ãw‹öªæ5¯"üƒz¥§¢ëž•û‰” ýV,„+b8}RœýOŽÜþGèÿÎö ùEúŸ?Ðÿßý¿ÌºÓ¿ÈgV#àç¿/²E¦¸Ïÿ…/É;•£·†h‹P U£¤ÿUJÚPµ³ò÷0ÓG•¹òi$ŒÚ¢¿±àNCê#;Sw‰#)0–ÊKP*¿þ5S,à)àÜžqž©,º©§ Aàç„É¥U}Â8Ð’1©'S“8®GئÓs…„¶ÝøêÅ»ôÓFØ#*)_u0Œ¯ˆ] r\±cx¶>ŸÇ÷vôå#³sÓúr… ‡¶•U=‹¸ÊÆ‚’Ó¡;Û‡§Õ·u¯ß‘ïQAÃ|œ\TÜcq£Í³"$‹(fenù¼ä]»ˆ„=Á<œßòÎTæG$þú}+_Œ`Däì{‰ª¡xÎ9¢§ê=>Ÿvo`ÓñÝY¸†“ÃT)þq g—ʯ Îæ/»pÚ·¶-o4sÇÌ@ÍY [%É°-Ø=ù|2µÌYøU]zbÍZ®¢¤üg€ó‚”y6jë‰1nÔä;YÌÛJ\–¦'9è#4#4ä:ä #*ýð¡P-þñã *¼>/KVžݟþ¬Á““ödZ×gáÞì#4µx`®þ¡› èì#)êëBÄ®™m•>XƒÍÒäÁŒÚkŽuzJï––'=J…»3˜PÙp¥ oHwa v1)â1ŠÓ°Ÿ²î¾j<#­ÀñIC:ï=ÚNòù¦V¿.Â`ŒâÝa6ÏB!uXn¢[±)9-†ä+âJ«ž© ­ù ìQw¬Œ“™ÁY>ýBˆàñÍæ·a¢YvMB±:Ýàpaéj’i¯#4­¨ðêW¾õ5_ìÚÝZI|1&9‰½™)v|…`ɉ;lip\CÆwg8JÉÛwôs;CÃŽoá°IFJcÉÉj›¥»ei(¥Í"€ R{Yɵ®hIz’bÖ×í£tM,ÕÜLiÜe¾èA/ýµ"]nŽÕ<Ò@UØRêFœL¤ãAߢàAÑi‡6k$kÖö°­ç'sÆo]gôZÑóŽõŠWg™xiXÉɸé,£-&šø4Q';ã§Á<o>.à<þ‚@I°\-±Úp8z)n#¡AYÁ¦ÊØOá]mdξ±Ÿ"nËcX3JËÅðO>®)Â/f½v‚›Ðfâ:™±£hê© `2RøìuÙ—Ec›:ö`ên÷‹dUåÇË8ˆ`ûÁ2ƒÅ¼mÖ5#úålr•á!‘E7®ÍÉØ Ã}}J÷ò,§AzØò48ÖëHØ/ðWp¨x‡½Ñ±î}ãѪ¦\lÓ;¢Ó-EØHŒÂ¨û¿ªi²tªZÔiC^ºFP ?J"ÏúìÀPÚüȃ‰‹Âî#H½C&º?òtÒ ÕMÎâ‚âzWºõvÁ*ZV«Ÿ›k#*s,öaR>_\Íœ#*O =ÓvÚñ±±¿R4ÓJ7M]™\¹Ùéì®Èðã?Fr gf·ÌÅãNƒ´´v©Ú6MâÊØàÜgú•‡ìîYx9ègàÙq”Ê!oEÝÙUÎ#4ƒü2ë‡3î™g·Åø|–eÿÈDÐY V’¢ÕƒZE†<¡(‚5× •äÅ¡ÖøGe·ly§ã±O«<Ò.kæÝ’æLp©Ú;[¢°C>¹Iföç2y#*ºÝÍZÎAYKþÂQ#4Ém#CÌ{"'¹ž‰"…”‘”Ù…K ;2js•™é]jS­Þ1¬xéI~È]Te2u$;H#)‰‘µîU' ëV5¿r0‡î ›õ¨Ã²‰¢Î#*rU8ãíÚˆ7ÓíoWïËÓlÇ{‡Ì1Ôðøì¹âNuüŸ4±ÊŸþt\Tžèî—}Tí}{€‡».Øð]àx"SþDOuñ7/ž-+–!ÐV ¹ÐÚhÿn¸}OÐÍ\Ÿú~. D\Wc¥Èß“ üNK]ÌùŒýɬsÙEyÜÌ“_#*¦åìųbX¬U³Ž„ˆ„êº:+…½+¯°²ÅyæV#4r"ˆcDCx¨•yî›]>Ú1 Š%ó5m¬åô€˜­öeP˜gÔw#ÿ׿GíÚ(Ä!›µ ¢Ã®/\<ßnZìÕÌÂpÔõÕ£ªŽ-žøÂBî‘¥t.M‰ÀËAq¾k§qm†ây·ì¤¶Ž™-ÐCJ\ÄReï»ÆË1ì¨B”ðPdÎI!ÀéWÇL«»LvÜD rrØ€NlæòËç©“~ê”Ö~Ädó”ûž»v«ö6G¡‡6CµÛ-k’تVUÌøûb!‡Þ·ÛX5WWLÕ•‚'QHˆrò+ØvIšSØdÙ¾º†0z>Ûªî ^õÑs¢Þß”áà¬4w†å¡u6°n×ÀXÎE’H> sè­Q}P«È«žÅ¾ß±éŽSSí¡©pfrœ¬´¦pP2‹R#Øsö"uIkW\«ë®BËŨʼn¯b×câŽqžn R¶ Ùv($l#*DµóuMµ¾*(¯aé¸mn°¯§ëx£²Jø¥Øõ™j¹ã%E¾-Û»•r1‡<Ô»í#*”x1îYjo˯ž_x¾Ó?ÒÞ³dÒ1rÜàeBjèéG„mg‹‹ÕKàéhÖRAY=mô¬ªÍßsþWœ0ÛŠ¨ŒÜ׃I#M±ñÄþ 8Ä«WÛO\£Ÿp~*šßÀg+\ I·×{À‚(Ì~i±LDÊ+dòi_„‚ǧn]Èëv˜Ÿ´‚Ñ@#*Ö™f#*I6\ö’…Ÿ±ZĶSJÒS«gCrÉÔˆèÙŸ©)zÞ¬Ô,ƒ#FÕ*¬(qÍÍ—µ¦ÁÉ +”’Œ¸bÈd¾€Ýÿóá?]ÿw¨ L×_Gìý¯OwÊú_;Ÿ>û ÿõ{Ðÿš }Nè5ä6¯WG²šHò£µßLúYãëý¿|¿ÿþNKéÖ=7žmm5þüâ•®í´·ÚÛÛkö~ÿûìþá³ógçg[xº½õ‡í³§xöììÙΧçÛŸf½';çÝÏ>Òýü,ë­5^|yîl5^~ùêàõ~µ¡ìé w5Ì6×óÍõ>üýDÜæíé°;ÇCq¢%AÜxñîÝ›ßBzyˆZ¿H¢ÆÑÛwi¼rÔxûÝQŠî‘£ÆŸ÷Þ¼;êpá7yo6˜B°¸Áèfh_”T!¹>Bz}Ä®—G¹ÞîèË­7RàÉ0sÁÀï^À᤿f|}~xôkµûïߧ›Û/ß}#*[¦º`‡M…„(肬?‘ª ÷F‚ú²Ž›½ûUNª¦]mô9j#4+ÄX¶4yãQo¾L…f…¡mr!.©½AË|¸†×ŠÝË1|…_xI¿Â+üNáÉ&ê%‘4$°±·PŠ84ƒ\]³ñ~+`ÐâF“] ]fM©?÷=Þ#*“SvTdNnŸósçCÝÕŠúÚÕNÎfxVkmQï4p¤ÂNçVWy?×…DÍI¹Uˆl7æĽUxW÷¼NðÕ''¹²*j]}C4‰âôc›‘ªÃ&j˜'P]CnèT¼”#4†š—L§kÕ'Š*¢Rßïâ¸Ç¤…H­HzÝI„³“€@§-ÖS— ÙÇb³Z³~hСˆ^;†Ü¬¢¢KúO˜]ñž=Ÿë3ZVÊã=þè-šÈ)¥Ç*&‘1z?,éeIT“ì>¾&Üi€dx§ÒáÄ-þÑÛëá>¨ïøᤫi0ƒHæxçyZí¹˜œŒ=~WËç—º’C;øÐ~îe„F Êcëûj ×ÆDm±Ê mÍL“„ùo,§‡•¨«•óH´pvBÇÖh¯­“ ù¹žÉÎUÎûÀ^̳‚¼q–¡kЬu¬îСå˜{Kw šz\©S'þÏ:šŽ-Ñ@·<%ÛF;×ÌñªiYÓ^U!˜«Åã¯/ÖdV¬†Þ„9!§‹j„ãn­ù¯AùAÑÐK¼¡°#*0b¼†á‹¬d‡I~r»±#²!˜®ƒ­\>u‰üù·s/œ×X×ØjÀêP³çû¾œ:û©†{à<ˆŠŽšð“°.aô~b9¯óê»7©<oDhƒöTç÷LÍç½Û2OëȘÉÆK®û#41[Ôè즂ËÄ:%V<%ÄfGî–@Ñ(Ý„rÎ8Œ"6ã#*#4;k¦ ‰2ŠV4û.r#ëÀôúOЈ‚„Iè«!‰0j$¡¥øA{5g}=ké”›Æ~å®”Ö-¦)e“TŽBmïBºªÎ•Þ#Ö²ëÜU½kÁÙ…ëíXÉÏ­BŸ¹eTèõG `K:ÚÝŽZ†'å ç ¦_AVEµ.·À½þJp;RÏ®½™45SV؃Éh•:O•¶j…ÙW6´åýœ¦Ìª9S5ij۶Π¬z¤*ȆôCG¡Søºþ;l\HĶžÃf›ÍHMó«ïIXr„BYh%V›:³{oßêdž¨5zšÆ #4Yÿ|4Gb–1r=ï°p¨ìì}û²ó#4½J9´'Œš¢§ltyÈC‹ó8#ððÙ#):há7¥Xq×F&{ŒÜ_ÿOì6¯nRÄu¡C’îïåf;Ž(_œÉ]‘VÆÛácA‘8M+ZbCW„tª5eñnÏÍ;»—Ö Î¡óúxbâë‡ÓÔ׬ýîàݾKg‡êdø¡:Y0ØNyÆ´Vƒä´Œ#4®èI¬ïñÖi¼ê öŽ9ÂÔ£ä`]Râá©;»àÃ#*6#)½ocû|íËë)‚¬?õG’ñKzJç÷f¦_DwÉrz…'cSŽöS1†'Ù¨ÈT̪Lˆa…1ŸU”°Ô|oø’dW+Ø'b{7ý°ÐÂúÂçÔ¬2–º§À?’ÛA€…Fv0êg¸9wº°„Š¢“8T¶@/h¼,ëÏ–ªâÂk ¡>¨Ò½hvóf¶jíSŽ1Ñ<y1ËXLNææ1ZÁëÑ]#)O*zkçû#*.P‡›×Ò&%r½½Š7 7X¹Bu°lÂb@{™CË‹8uš£Ã™ª“uGp¨„ÙÍ«ŸÛÑný(ÍêÔ4¾˜æ`·Ã¿_¦9lÍaÙÔËðPÛ¬FMsð“mNѳ JªðÚJýméð߃lî&8½y9œfæ+ÃÏE ‹ÿâߎXÎjˆe°ÜMשuxcõFoÕE}†º]v›øþ¥ð*ªû¢{Å{Áãm*-‡R^Í6eù¥åá(úºPt¦È…œöß¿¿;§"15 uYZfþEf#*T€©fÖgc(G,ä6¤c· ÜeBy±sÜ»ô»^ñ“#´ÎWY4 d9Xǵ÷\Š¼P$í¢6žâÔ 5÷á#º#4[—«ðJ âªÄ¡xÏ:V¾Ú#*CtìÞÆ›‰WoF xŹSqäy÷þàÍQçÕ‹ƒ×ß½ßï¼~û•¢Š ìMjâî힌×ó“14D*™Èò„“ݹ†Á­)LÖR]/<­ñi5±[5iCGÕk®åí#44ŠLÕÚejê0YÕ\öq÷1÷6ñœéµ¢о™#*P¢:§Jˆ_ ÿõ|ˆj’K•1µ 3v ’Mø­½Ö 8ì¶ÃÛL£î.u€Ü–²™Eåûz¬¿.‘˜ÇÄh†*gfÈÁj²Å8„ŽpqBΠɆ#)"Bò¿î¿~ýöÏî®$ÖkÍQ>Q«ï´b;•ÝEÛ׌¹›Âíw#GÀ®D”Cé2 ʆå‰T‹ÒeY¿¢L*o¹ls M×ã¬óÃ"Ÿ#XH+ JPÁM'Іù<Ý#4Òêýk!ÿÇÑfäVB@¾IýŠ¸¾ét6C·½AyÇë(YƒSíîÚ:¤j1B–(¾œ¦‘^Çè˜>xÄL§mÆf|\d7§9C™×f¡*§îG4'WDnË­¥hråPÑY"…ÑügǦFbÊ'Yûéì(‚"„q΂;Yè‡üË#4;–ÕU·.ÅýÍUü|›¶a\ @'i´(¥Š•<y .x0\ë^k^y\;½SëäÓ¬7èé¢J4î‚ù¬;VÌ.Þ9äÅ€¢„À#;Tî‚Z#™ ¹Iý„ŽYy·»è·o89sáeLgý%×íÍ3uÿÈ߯ñWüÞžÞºË<×7´ýc0eQ¢ Ýþ÷`ŠÛ)Ù^QíòÔº6h;%•æµîk+=Ë <lø'È R¸«ïc¨mûqcÏÇ•Î~ÝÝ îÿt]'#4—ý Ž”ÃΧʜ…ý4KÏÊE9a°«ä,9w& œ«“ï«…úÄgzžž—û»8.çqƒ® D.O'37ñDðO7£¥[3Y;ªùa39Ƨª%Ä<Ü.À·ñì%ån«¤#)â8-CÕ¥Á½„Xáô´Nþ=Y ûÍPŽSÙ`¹ú]Tì)ÞÊJ RK¢¨z>oMp'EWQÔ½€’ûÝÝ?u:è}Ìß%¸Äl2È¿b#)R~sÚ9òꆗ/¾áO"×ëž<gºpN·é .ŽÑÓ4ú¡{ÝôfŸ_o"HL¡øÇÏÂ#*ôÞ¸ŒÓ;<(ƒ<ž:Ý m®i9éSHOJ= ÚÖÞÁ0Cò5QõŸ‹|Ù0%øë”N‡)O§C9¶…«Ìbá؃DÈõCHÎqè}9¸rWöåQî«;uˆ0¦9ÜÒ(¥ÍƒÓœßì)£²ãUÌ`K]]9ŽFÕnŽ°è6#4#5„©hDÏèë¦ì ÝôørÝõyJ¡-Ž#*l“ÉZüf£Xߥ‘´½YOnøCFÔÔ¢¶ZƒÔ-«úÛÿ“úß{ú+ÁÞ¡ÿýé“gÏžô¿Ÿ|¶õéýï߉þ7”´'¨ ž_.€¥JРS°@%bï)\Wƒ~JÖÉF⩱+ÊIy“ñnÉ„ç«lÌÒ¨„åE‡ÙœÑ/ñü“¼%Ñ0}#_QFÝ{±÷õ~çåÁû4ê='’Ãï^½:øK±ª2·ƒ7‡G/^¿Na†Öøî¾nÒûá‹ï÷_v^½?Æq"úè#ãn|‚šóì{CHýMçA<b-pœØ{õq¨Qïü‚z9ïÞAþ·oööÓ-~}ýâ¿ÿ#4èwïß½Ý{‹UQÞª¾LTo8@ÊEÚ²Ϊ¨«[‚üâE‘hæÄ°ðSDàFý4â×úÎÀŽ<íPçe¥k[&éB¥kf)´?±Y᳨6¼WÙ¤÷(ñûÙT·?E8È»O ÞòUTï°A”Ž] ðWr^s_£ø ‹è†|s–ºAsê‹ÄSÛ"]HT4¼u_¼@Ç'/kñIÛ7Á]¥»¨Ž2¾–;2¯¥ŒÓ„¹YkÂtþ“PšÓÙ]Ìí"óz"%zû™0/d‰¶'ò‹>ý ú§GÂ5ã` Ý¸˜!ŒÅYwVŠh?:¨hGgÔ×»Œvš¨¨6Ê>ý¤Ó^M›lû‘Û½F.ÝËG+Š ‹eÞëܲ»¢»ÈŠ$¥ñJøB‰°[ô\/SÆÜÔÎ*ý2C·6c”¹˜J„®»Í½¦f²¾»Ù0ÒDš¡âú©jØ#g+ôÞM+c;r¯ùFЬÞ6ò°é*¤7–/ú¡¢“ém#)d\}æg <±•ÈŽà m6¦ƒ¬o•Úi9ú k•:ÃEo„Óí«³Ûú#*£€v°‰²êRO.UãèZs#*vW¸Ö<Ìò9[8£Ü‹UUX=~üÉc”aÙÝ2a]ÕŠ—º©DlEÕ¨IF¯o#)‡¦Ñt~»‹ú×Z#Ú„¤Q`Fª%jöÒ¸ü#-H'ªY/‘''ptüDüŽ¯SÇ?´ÝSkiô3=LŽRñm* <ÇŠ¡»9·›ËÍý8»©_ ;“Å ½2ÅöÔ'±(E^áø ¤'W¨»†Ìõ™#4ž’º¾ý(ZWëÚ™Q“¼HGZ¡6¹Ýžc[W|Ö½6þçiA§?ŸõªºZéb‰_#)*Sˆ?ê^eféÚULÔ]a¾w˜]ýT `Kg‘½‰T¢[óȲCd¥PŽºÒ¼FÓôínsŒè0üûÿ`ñ®%µ­r"–/ò>IPÍÛUDî`ä\fás+.^‡©T²¢íAíÞœòˆ¹Yà>x«“¾ç Eû‹žÇëFdËYs[k‡ÙâEV«—ôsÒþòõwûA#)_†ÅÕ°ÑŠa6ì¼É¬39G¬êo㽦¯«×Y÷ú¾Cô®ë ÄV‰•«Ó¯÷Ñð\k0Ùtú–ÌÁêHf™}p{WÂÛc›×1¯ì=h•d½J™#4n‹×•ÿöÄ+=Þ*ã) I¸š]èüóó Ù¹¦dßœœ£7£¤9%¬¾€vx;òV`X-o æ#)ÐÓxü˜ÆþÙù¸‚e·¬‘6‡-•í`÷»ónp]¹%Ñì,ò=Ø*ö`²ÿö•ñWdÕËi v›þŠ‰?ñÉ漞7[#ÞOâ(Á"ƒ‹5'l%³J>¾Naˆ¡þH­.Ÿ­# V8ÔH9û5Ì[[è#4}¯;Z&b…rÛXùž:² ëøŒ"ƒ^ä× Ö‘8È%²äeà½RïXwr®[®ÓŒÖuL|R¬FAü“‹ n<ï~ò¬[=®+‡u鲿My G÷‚•=ijžôopÚoDíùhA¿Òè†ç¿#‰dÝÒ'ˆHuœäîÂãÌ¢¡q¦ƒ¼s3?Ù…jTtÜŒM!ùrë,}yºôÍz ‰i"V1±%\T>ÝçùL©&Æ‹ja ç±Û>#*¯#T=·OΓ€wœ¸að{ÄÀyGÀC•@ZШU¿·8Ÿ#*æêõlÒõŘ-¦óPá&ïÔg+t“¦L»ñ°Dý> #*ÇÀõʪ#*蛲ŠøÞ=%—Ur|$¡8²&‰˜;Käðvýù*‚…C㶗ð@/èJ›Å@óC}'¾Úvò¦Ê‹Ö8D@›¸5Êx-6Êmß#B€¬¼ÍÛ^qKBê•Í*FÑ©ëLW^rÝz~¹ºâ4ˆçä#4HV±ÁþîŽÝaÇCq1t%ù,2+q·Z<‡¾ÇïÂ.Œ!ö#)/S§ Žhïî £L¹;|îm:XÈU0i…G$Êh·Î$Öµ<·^|lʬ:vµÀ6Ïo‘˜ŸW·‘:ÏLå@VƆ·#4­Íý\‚˜-D«qL¢¥ºóWílœv†÷PÛÃXµgA/¶«sÇ#4ÁrºÄ ÆŽ®Ù¿!L;õ²mçñ€ˆÒê8d QÓr-ÀßãÍýU¿9x¹õ—¤d6è£ïú8ÞÀW^µe93Ù,‹¸—U¹KÀŒE™©³½á"CÝNÍ­w°äuÓ#|2ŒÜ=Eb×Eb§Õ'ÍS²$ÆœðZØÚK6a—ÚrÂ1@]jâØœÍûe¶D1^œH¢¢Ô)ÄÅg·$ ,DIÙmQ%8ôÃJŽv_8Àsózõ…9}º(«"ˆéôE›%Fó‹@û Ò¯‰öea拉;fSGwïRF¢ÅÞe¿UÚa˶R#)“hs–fçvýeBˆµ¨Õ»v‰sÍ^œg¢Jå˜@ôqfS>±gõf“yòˆì±šÔbpïrvDZŠý0í¥­í­­öc‰?¡üÃÌÓµãõõõ~ÿøs#4ùúúNþ—Ã;ü[[o(ƒžÙù<=Ï×[…ÆM{Ü>œa,™F˜ÿ;E{Œâ…!.jaIhÓ4Ìf£µâMl7–ÅO”e¼±ó_03ó¼#$þñ3Õ)ÍÓÏH#)#*§ ´…Ñrn77<ÞÜ&}§YÚŠÒè1EÛˆžG±h÷büX4¨E Ñôp¬S­Hšp¥ü’"§»ŒÒ>¢]vå(ˆí#*2#4êÃØ^Z¯Ð" ÎÁ-!{ˆ‰0&òW‘ÃMYÖÅÈ,îÌ £®È#4™)MŒ#42Ù¡ Œ1WH·/Šu­H’¥Ç˜àÔ)ÕZY¦Vý¡…jº Tœ’|#*"çÄâm‘!mîê„È”\yv¯à¤Çåû±ÓFÁÙ…¹«Î…¿ÓŽSQÄÒô¡»×a›Üî8¦œUùZ–1ÇXÅK%T2¯ŠCX¡l±A$o³àO¾Géoì0œ1ËB§›Í(°Y1Å^.KÜœH£/×Ê~D¦M xÂnŒÓ>\„è¿Ë†¥ËaE®h‡#4‡ŽÌ/ô&N+£)K¿ÐË]W¤ßRWÞaœ¤ÑÔã*C.1:ûr8Áì´Qð«¦ÃkÆÖ`ñÀ¹Þ):d62]ñêiV½CºbveÌ›Ý!!Õ"­ÊaG‰"¬]TßíÊÐEx¬SáB–VÛÈǃ+dçDUz‰¹ž—L ½/4qßrV:vÖHí”w»ïÈÉ@]ð´ø±…« +>Q€C®¿µ¿Tó-5²$/Äß’©Eq«X-ÃiÑh„ˆÖCÏEÛø¢ZÅmI¢m㘄™ÇF²Æ­,‘mž£ÁÚ6uu¦Ÿ$MŸ(]Õù…—ÄLªÎ1½ÉW#¯=šFÏ¥X±·“:Œ¸?´zó‹S‡"4JÓ ‰Dò¤Ê@4KÄDâÖU÷Ù¸à]IS%‹Œ¨Är845Éw­ÛÇý÷>“.ðKK(Q>š¶·ÆêÁU^¸{ˆ“Tɘ¥¨0ÁîØϤ]ýÖé¡dúT´ÉÿÈþ ‚y`ÑaÙ¶…a>lÙíá4sɨãZÁù\ÏÉö#)®sm8Fá\ó–½#*žÂMfNDò7¼Í"õ=/ww—[ ž6zcsS{_-S´r `UÕBâ•k±÷ç—HÂ|Ÿ¼ôP^Yt³…WÌ}ØpÑ©àø‹8J (oªk *(TÕWÄ‹22U\¤QSšºb"ðSÜ[NƒŽp%xÜ#*¸ª(ûæ'È ¹¸k àyyþYo\á©Wö¤rë+jgB²®œW–£m|8þ(è]ã–¡¢MUcñÀUWw»Îü–#)[KÕ¦ÌÞ1,ûpHË(‰RÇ`ÛZ198Qñfˆu_Ó‚ ßªuXRå…HÀGŽ$¶Z•„D%6™l“¸^G÷#?ºŽÎ–G"éÜ5)}®þDò󪫣¨ÜÖ—'ƒlN†°”‚ÈÇ¡.NÇà凙.pœ½ e×u1~%WDFœí—À¾8•ÔÖ6}9>U•Òºe­c½ÌòyBïþt/'(üÄç jë<ë¬Ëò4Ò|°À(qo“”rs¥À¶š¬)«6FA²èSq8ÂøúœE/Úû¦Ý=u7#ð¬Âaù]NÆEØà®m-#*7øUÚdþwææ·£á`|Ujî¯ÖÔû7ÓW-â`|Ã,~N£ÿ¤‡z©+¬~ì#œeçn¢‘IŠww³ÅŠq¯|µé¬K<›¥£©NX|}ü˜)¦³¿ü“•: óÏhèq·”·©¢ç9¯3ïåo#*ßsǾå†2Q†F!:MƒÀ} |An ü)LË•óŒÉ¬0wë¢E;oe¶™r+ÁÐóÔnÊÙBô<Ö»òìæñMoÞ>{úTbÑäÑHøBÖÉ av¢Šå2y×C#)êÁ5<ô® î€#*Ž²¶–$4}}£9Ь |¥©_„0&­…jvZ¨ûÆßôƒ6±+ZîïlIˆ+šû£BÄP+:õQsÙ-âÆ=Ö©úOOn0qþyß•`¶&]#4U3N÷‡àö¹¼‘8Ý·äî=ŠíþBe uU™żG™løƒZ^Žé¼&#)k¨µ‚ÀÅ žðeÕNó|C|éåXAC®á‰Ô]i{d$¹×~NýØvȨ⚠z€¹8ªsÜ^©„ µ™Oè`+êÉv͸‚R^æ§Ä…Kœœzç®È·q¨~$ †vÛ}æ Všô×ý®fž« bK•,ø!R¿‰³z#*˜"Â#)mö± ša-÷ÀálQ1Ú%5òŽê.û9YçþÒõ–Ü¡S¯†^,«:ƒ:À´BàräTn¥@˜Rϸ¤¸2+'ªûiÍt°YnúH6-ùUÜ‚ïW»ZS¶±ÃnÛº*O±ŒÕú»ôǽ°¢!Gx5eoœ7í C½0ò@\è 4˜÷ŽEí)+¾7¢ì=˜küªòqB BAŠéà7ó¹×â°Ù \Õµô•TŽz¨h.&ß|æÁĨ‰íÖ û³ÁµLôãíÓöA¦§¨8gSk~„1TSpzëo‘Áž_8Í“UcÁ I¿çñóOÿàà=!€UùrTxF˜““/NNœ<zžº #*xÃyIæ¼m,}§¥¥ê|=,;0õFy‹Ci¦Ž:dÃãíG\Eùð o®´"=’̽T•'G¨¬£_ªàÇåÆAÖ‰Ù3¼1éÊIn¯ß*&~é²M–¦÷)èŠIÅ8X<´‹Þ·¹‹¾£Šìü:í£›‡ñ•‘‡÷ÅCƈل¥ªˆH-=e½G‰ò1,Ô÷Ý##.®êè’4™z3!zþqú-EPéØ{61FX@sý³5ú2ÅÄžj¿éÍqˆ¦jÜRE$ùMÜ´ ÍK,嬰fÂÏo&ó÷x]h•mä°Ø\Ÿíjæ„‚Éë˜bk‰ìuÂççìG]T0ܘÔ ž#*46,¾HŽPø]PóÊçÛNiZ×î¸@È¿vñ•ïV¨·QWz„ú0;ÏSÈ̽óÔâùà° ä+¾„Ž#4*&“µR©²7¥‰6U®C† ÁGÚ;qpÕ¬ÈY(͵qwQÚäVÇUì]sbývnû°sðíÛ—û-;m‘EÞ×8Æ$ºî2Ž#VH"Zº¹x#4_S¬7º(8˜ÛDœ+æ&F`¸_±ñ!ÌÜŒ×ÅŽ7³†%w5ç¤_™Ûiã®Ïôj§KÆ>·;àtä@.Õwó;[°ƒÕ›ÐÑ:T5#4ØlóŒ£&ŽŸm•±ê;º&c>ß;g]Æ kêM;÷3·mÈfØ%gs›µièÑhûÃ]§¥=Îyždø;#4FÑòeIWE¶b`Šú.,E9¡÷"Á=˜Vñ|â×°L¦²Vli‘­¤‹?±^wÕ «!Q쪭gÌì®}÷¶ñ@b¸Ùä.!ÏR•{¥€ dm’ù(¥Ÿöþ›·ûoŽ<¬p)¸uˆ4Xÿ†Ò…Æq‘¹)K›|2bz€¶J+β¦Ë#ë7QÝxv˃›××M_ )Å‘3â¶èúÏ·wK%Zd@é¸f‹jØDð> H0ÜYû\àžéÏ(lva”W,-ûÓ–Kyœ²ëÔÕ%TÜË#4NcQc™FÆ‘iôÒr2¦×ü6Ÿg#T£Âé{àÓ„ß¡Fxe©üw:I´úa¦Ò#)þnrùº»wŸÚK¾oý–‘zïDÕ‡Oªy€Çà*Lߢ_Í#4¾Þ.=äc°%;óЈŒÓo¥ÑÆhöxX#4VUâ`cˆ´Ù«9ŽÝ)Ñ|(AÐ[¡ÔL”h*Ô¼“wÌÁ½kª6™Í8@£_U°w™Ì:¢‰Ý:kp*ârä Äÿ#)´ì#*Ó¨†š›Ñ$ºÃBàëc±«FXõ&aka#4âÉy#)œ¢ÞåC#4/p¦¾Bç:e<®HÁ‘}æ :¼#)^!_1ÿ‘·+ˆ¿Lv¿0ÖÿÄBx@C­Ž^IŸÇ¸H´êvÖY:/›—–£Èž<Bþ=8¼ˆÞV>™Í3™ìU<dÓ€¨“X,ö#4ÉœQL:<¦X妪qr ‰)¢«l\o5tÌQOE<È^J•m!eòHƒÑ/Œ‚'³ÐÑ;*•F¦ü#¦“½ñÈf±› }wÜ™"½3DzÂy%ÃîY6L5²ÎþÃy6]1û=(ê’`—táŸM7Ïn7ñ·yÞÍ/ÑU:5½@Çyna`¤ûlg¦+w2"­%,/#4­1®¶«ÍfÕ½è£]<æÙlì ¢¨-¬ÁÈË–]ôgÁ4ÔöÍM®Í¨;·{Iw:]ãQµÙ*º#4— ^Ý©”åÖAµ–ñƒÖ¹YX ˜ª©P;ý ¤ú—%T1WgêØ¢êô#Â-·¦ì€Æ¯q9^Á&û" .C=Ò-W¦ƒÊÑUËóøóü*ÜÄŽ+ÅÀ²Ë¦Š\ý€n¼ÛöK4¹¥ö䬕埜ƒQÔœý &D2.cåÔ+Ê1›ò½ŠÐ)ã¸Dx³$ü-ÅX¶Ç8Ül>G™ÏœÌ7!*9#)ò·CZ/µÒæå:v8ô©'¯ˆ\c Æ»‘wÎäz¢¡éµÇûÂxBn‰ÿ*惞’$#,»>#Š(9ukaÛd*#49Ql!B]Çæy+ô 2Ó©Ž¥Gko|^#4i€Û“)Öó]t­Â,s4H*GÞjÈ€™N3’_Ýõ‘ú%,#4P,(Œ}XÝ7_¿r?¦^å;¿KÚ¾¶á•†Ú)âgÙÑöÇ×uÞ{à®ämŒ~CfíWÀæÝþ×¾ÿy{ç³þó§Ow>à?ÿNðŸgY2Ÿ]D(xƒ®mf€æî8GôQà ¯doÞþõÍžjÙ±®£÷+ê É‘À ^’ûÂæiøŽêLÒéÄêÙB|ÇiÙíðp6½-Éš¬‡%¡;¹°$ KB¯uµ%‘;:ét:Úxýö+ñ;]é–ÚF/­nÞÃó\œ7×[½í8_oýžðÛÛ¡@8äÝ ½éë·ß½_•·ùŽ™½»þíîú!$Ä<‰&bG;'Dé?£ï÷£]ÜŽ“èË·¯_F»ÑÉrûìxkû?·Q¥òý¾#*zBa|#)‘Ð';$¾•4ì †½;xó ùC§Ïæö÷þúÂgöLòÿ« ù CĹ•&Å Á§¡_ì|ziÂÏÏ͇a”üØp–ñit2£/ß°Ý$àæ‹ñ#)嵊jþXfåsåo1ì8‹î›¹+[ 7Ãá)M·#*ÊfÅDÄ»÷òBˆõî‰ì«A&ì³è#ãVåÎÎÒ”8Úÿ­gôÖcEÌþbt¦²1ŒG®;(0‰²Q·§r1©·ô9·ÔgyÌÙ¦Ñõ|{k O‹n®ÓT;M!ôw€¤àWZܨ;y8»Å` >ßjQY{ÒëtÒµµµÆ£÷‰Å?h1óßÍ ?¿Dn»wÙ)óv£ñh—3Üe4#*è¼@;7‘špÌmâQã¢*È.dŒ¤u¤Nhõ†2GJ}b]$¹o4<½!¢Sädfˆb‘úykr†Â[¯* =wm¯øºt+!›ë#sµRSnܘ!ºÛ…åCgQëäf#Þm¶Úãö’ö·*@ÇÇ°×@µ„Z¶_Ñ«¯¹#UxÄs.Œß.Gt÷¼”=·&m鵑¦ø žŽX®×f×Ùp<yžj o^½#*´äø”2J¹©ê` ³Êù·$rF|.omnjȪ D”mI*R‚IôÒ¶†Ö£R#*ÆlNfÑãH߬ï;½•Ú±™)on[áGA¼ºa8$,Ô¯9TG##*æ®''³~pßä•MXéSŽ'ow˜ºqÿcôÒ_ãpL¦©-ΓբèáÎ4âx–•¡ ôâl#)‡<i«¿zU? #4XBÊKé¢jNÃFÈ%ð'#4îuV^pÅhOû˜.7¢4’)Œiû2“ãEþÌš“1C –šÏ3O62ïýÚ9™èD&O¶#Îs<~F…Jó`pnq8Ы©C<—»å¥jÀv"̬\ðª¸#4:ÏÕ}2Çm[¿Ò!“D`?®çùº,H?ï¾ãì“3â#)Š)Hªi¹¨rÁ%#*⺂ ÅúW?_ðpX¹2Û¥%)kÚ#*ž'¬RI[CšêF>$«žUM g©„–'I@h­C\¡z:–ÚÆ#4/ßÅ$#*f0J$ÍÝóVÄa|éXÇ?[E1˜ö¶Ó€¨ö¶Cu™Þv#)yƒñ Ȫ~wØÿþí{šnK%ÛÀ Ë©K’4Ÿ’yæ;»-ɦ$œ¹ShäN””!°Åw3±ºxÔ ؽ¸è öë|q»øɬõÅG'ãø_À%yrÜúæ_íÇ_´Fÿºü×0ŽqgJüþ·ºÖ½¼ H¿®B`*¿kº7ßt<ThàN´Õ€P”fwqÊ6sqÌ<_ä+¼s䕼W°£·+l1:¬%oÎÆó#)Þû4ÙÉÂä¢fƇ"û&ŒÚ2y7GµžÄÙW^oŽú­½+¯Þª0¹°Pv7Ù‡ìÙâÜ\4;äPÇ“Ä=“H^$€D-¢fó•ú hëý„|ÃÌ©Ê,vZ2(3Õfø“â·6ëÅǺ#)!’Üt»ÎÀ®dÅ{øsßÑeN¡ë‚°›OŠ±‚°†3FBϾïÀ»Cœ+ÝÍ]XP¯É‰¸º.Ä‘ÅüÔ};u/0ÃÉï—ýá,µìUÌahâ¦aËÓêX2íöûBà[݇¾r̲òÍšr| ÎÑû—û_~÷·,RØ:C˜*<"‡U4Rh™\fKAK¾µ|ÂÒ3òHª.TÍÁUü3ÏÀý«ïåÞ3m){3½©öÌêú(--ãV#4EVõp¬m®îbüPב–Œd3߯£l¤}KË€ÝD'¤øüùö2‘ÄešŸÎœ}›&³[©ÌÝcBý¤iaY‰^&Sñ¿iAH›RüðSzò|–¹Ê?ÆO°wÃùj¡X¶{É ˆkÁ¬‚¥•]Ǿ–Å J2lr´iä»ó(bŸèÈ9#í—[.üTãDÆ?1ïœvÓá<œc ÊïB¦?>ì~@äÿä*õ“_ÉäjùÿÖÓ­­í‚üÿéöÓgäÿÿ«åÿµB~ò½(nM¤¶>käÐþ9œ†„ô×p3 ÓâôÖ”ýNÞ뎓~‡ÍÊÛ½¹bTQ;šXaqI>wÏrê‡Ñ´NS‘V)ZŒÑ<:>þçË›ðçÕë_ÒÓÁ›½ÎáÑ.ü¼{qô5‡ußïu^íÂ_~=úê^áïÖ9媷ñV CÞu/³n¨ MZê×/á°µ‹¶}jîµ}Šª{|7º¢f6É–M¹ÊI½ª:‰$óµí|½ÿâåþ{|Æò\^¤XܵÜÛÚy#*Œ:'Ä'ßê×o¾áüÈYj˜ï_y=‚CçðèõÁ—o_¼—\9@ã¹Wƒ9èëBr“8Húµ$Å„îùñ M_¼yyðÞ÷A~ “´¥]Á[‡‹ ÉÃÈsŒlæ,Ƨ}éOn•´¢vŽíþ#)ÿ¾€7XÆ"í“YHâ|æóIŽx©@4ÎG|ÄAq<lÁ‡G·‡qšFÓ A@¢ÉÙlLh^¢Á×^ï·‰µ§+xbjX±¸¿ÄÅ«¶Œâ!RÞ¾1¡°­÷ÃÅ¡?jFYÔdÅ‹»:gS\¢ÇÆÂÞ»*7LœãÏiªEloh„ úó™,–ÜX! ÎI}WDÁâ¸W+£`NNýÐÞæ"ë >ƒ2^mˆ¡lõ]»Â,G$E¡mœ\u† c%Å¡‹©ö±;ÿöÖHfN=ãUŽBvéñªŒNr(?ýD©6±Úêy#A_’ƒ…^éaa#)äònÅÄŒ±×' ¼”7ᬭuͪŒ}ÓæERœ´æãøƒÛõþßÿßý*€;øÿ­O·?+òÿOž|ðÿþ»áÿÅ÷9ÅgïÐøýåkV žÝY ˜ƒ³Â\+ê΄b;Çza,Jª¬#ÆF·+iôâ=J&(‚;s>ì^ä-ø@|cäA©(n•ò‰ÂÒãhÖË£ÓÆ¿÷ú¿èþ*J€w¯ÿ'ÅõÿéÖö‡õÿ{Ðÿ ÎÝÝ|TlïÎî½Î#˜Ép ¹èõ¢SYð‡nÁÓº=äÓ,ÜÍÄÜ$X=óÙ1†ÿ¨”(‰P>ŠþM9©`ý'ì^õ¦w­ÿ§ÛÏ#4ëÿÓ'Ï>ìÿ¿;ù#4ˆh³ âÙ°¯Ú.S=šÒRTH#*¢±  7ÌQ­‰dP$Éò6ĉú^}A-Æ)üû†‚õ6È'ã_ž¸cýo?ýl§¸þ·>Èÿ§ë…ÈßËöYÂIÓõž²å/ß¾Aq+=8Ùðáû½#)ÜìÇææ‚açÇ`$(‘…‚XXö%°øô§·=ú{+g‘³ÁE‡+ˆP/»yç26û‘/ä5|…HFÊwûtöù¨1Ñ‚ˆhMVÈö"ô ÙÖ'öÀKµo»#Ùåedå€÷(ç§C©æ• ÍÔs"µš0†%á7ßôS+Î%¿l©Î*‡$[Ób'|)ñ€³¡KÜ"IÀ0úQB†°ÿïxÔ»›þ«BÞ/¼ÜÅÿmV¼ÿýôé³ôÿ7ýÿ zý¿oý÷GýÿùÏγ­¢üçégO?¬ÿ߃ü§`ïYù$ý‡ Ša¯”#*Áw´>õwàgØw""¼ý¦[jJÔõ;]H‡º›Ž x¹›ÿæe6œF§,!F­DÌ¿µö²¹Ç7¥³æõZœ¦›ÛÂ@Ý•Ÿh?Fz%è³D@qºì{ùíËæõvÛg+#*ë¢ûõ~6ÏzsˆÙÓ#4°%´ñhàZlºâŒ&cwwà£ëªëT«Ïí—ž×Ñ#4¦ï&ù`‰¢°ë¶S° nU£wXASͲᤇžƒÇ›ˆD:L§ƒ²ÎÕõ°CV¨kn°œŽ‹¹\´99GCJ#4bÕéÝi|‚½”“±: hˆÕÙÀܬ#4ˆæ¥ª©‹Oy¼Þº\ŒžÆ2oïµÄsØQl&A]EÕ½zþî`¯0#)æëëÍüxã¾$ö7û)]öÚ­â#)&ýe _Ÿk“JáÜÉ?ãÐyeÞé°;GíÎ4e/Ñ=×€_SÁ#4ˆì¢ÚiGñóòô§•Œ‹äÏbrãöå‹é”ð´Ñh^ô{U#43~‡ó éQ\¾J²>Bi²ê +Òb¹@’®˜ÏLci ÒmA9[\‹¿½9Øÿ¯»Ãî¯À#)¬Þÿw*ä¿OŸ}úÿÿ]ìÿ³¬JDp+‰¢x±BL‚%äÆ!Ð.V%¥´{‰’‚‚Òݜ˙pYôB9ú€H×¾ñúÅÞZ¿ï÷ß¼}#ïDi×NKÒ£²@dœ8ˆ²Ú^E8ôHõ‡ò 3Ö¯ƒ˜Š‹~F#4Hœ§b9w½| eç]';g ©&âé(P—+ã4V÷ T•eÖCM°ïä 4†¾PáýÁ¬S†ÔaŸ!ÖL˜Ü}8€2Û_Œ¦~6Í;Nje •ó;ã’Ë ÞU÷"Ë-²–]¥¢F"jEÙlËäº%ìo Å F6…T¥å¦îU&Ñní¹#4ùH$3Íí W%Zä™Æ'*ÎÂ&iN óÓXÇ»,Z Ú–ºVx‰è«·_þŸý½#'¨\XgÜðâl­4bì<­ó>H½)1NeNÒ!ÌÑVä&v”pÜRÍÈ« æ,‚VµGm¼—#ìÂNTßeÔU­QÇàÝ knáL7º}Niœóy…>Iªó3N>*ñÀY5Ð9íÖg¯;&Ÿ^fŠ~’ ’¾º¨ÀsUë4È‹ƒïß`èœãf¼š°´£4póËqlÖ™Wõ vSøèë÷À—¦pÅ–˜AÇXÇw\blÂx<ir}Ð#*´ð™ê6ÏÍI5¢§ˆ©qa‚©$ÛQÚ̆C[FÞ>êÉù *Í&ôâZÓ/Ž^\74ëJפG¬¢x]©¢Â4jo_–òp‰ *Ç—n²ÙÊÈ‘ëÂœ ¬º|P¹ëîtÖO¶¡‚Âõ @z¿Ðiü€’0 .èBÖ·m$„Q 5gïæ«®‘~mú¥Çmè\à¨ØñÍç(Ñï<Óª¨ àgM1Fqþð§Mª†›CÅDvÁãy6ƒÁ˜iõ²énìWmlÜé”LvDdAtëêLgƒk r÷ÚP5²n”AͦWÅjÓ*T#*¶æTG$ ¬0`Òh»½…ðÞŠÖzÑað—$zñî@yC4ÒäŸmU0K×Úkj¾,©Ð<]ÛZ‡‚¦6k[íµ#*ŶÙFÂFô9m¬µ·Ö<“d") _¹š“ÑHÚánš[Eû7$øIp£Ì„zT¤qáàã¾|qôâýÛ·GhõBg×Oˆ#)ØŒ`° U¹ÈÁIpäü¶µß½ØûæÅWû6±¨õWÔÃ|¡š¼Ù{ýÝË}ªÈz¾Iö-¥:$åéTÙWgˆ6¾¨é.ù*®Q¹€\ÑBêŸV¯5‰eXÉp¿E6S`;z]¤J~V·Ò˜8K¨K6f$#)öÕ†hÙaúøù–#)qÓ{~mO'âݳ¶¼Ýeã*öl¬ôS"‡œ–Âô‡ÔqN%Ðp›ttxP´ÉÙ{v¡4ál¦“êôÝ#*¬‰Âä]c[È ÙuxÄ:`S¢@¯Ã[¥Ý&Mmm`•ã¯)›sè2µ$ºçh—­fN‚èX g*‡ÝëÆ.‰Ž÷li«Æw÷š™›†.7bîñ}º»ò –Ë3­Ï×,``ÜJ0luþÛA^äÒ^´_še¸ÆÅp¼¸†Ž"Ð惿 ÿŒgp|s#*ÉƧa²šmlÊ9Ù±9eí7×½¥®Ï=ú©è"óZ¹"þœ:UöMx€ÑØƼéÚê#*Sý¡’ÿ¼(ÈšßãÉö¿¦;,ìÚ³ÍÑUÀò'¡/×uù(Á>ñ€E„l³ÇI·s¼*õøDLtoŽ¹¢¬¸²–u[VXŒi~¦Çšža©8å&í|q~>X¶bà(Ú—koóðÇ~-ìZxø’Ëhö¹l<˜Wí¤Ià·Ü–Ä]ƒ}Ÿª·|Õã–·d:|-Ž¥!.»ŠVÀ§‡4Á±a\ X{äâÜï&¤ÂšC¹¾x¦¸»º¥ƒN#*·_6‘uÃÖhñqèĉ#gå˜;’hüb‡‘ã’è@¤•®¾úµB˜¹AÙÚXl©âMú[½`#4 ÉRÌ _ùÄxj(ôa1¨Íw‘‹6Õè\/8m>a3êDOµ¶©Õ *ôàHìyÏK¡œ2䋶¾ð•¸#)wú<Þõú„3¾ŽjGñéFÔî!dꃛlíud¬œdCµ<ýVèqâÚ¹¯a9ýÛõuAï Ø=>2÷?Œ•ñçø"XˆV?Á¤ ­ºÀšIˆ×n‚¹O¥tt•jõ êZ.G„¼!:1PwDf˺3Númù)Æ¿À‹ÆêZ£Å¥\ç‹)Œä1âß,c·<áë©ÎŽQ~ÑŠöÐ÷ŠÒ0Êz®çÜæó”]ÝÖtb¾¹mÒ…<OmZÆ>Ãïå˜4 ª¦vì?t>™4'èØeœe}®ñÚz8ˆ¶’¶ÚîÖGOþiÆÙØS¨Õ  —YÊsÍ䶶’Ï“­89›‹w™ª°Ky -²óíÁ([iSWÅ©MÜùòý‹7{_cRÚŠXΪ’£šD¦üãÝSÏTXQ¼T7E¢sƒSoJS·Oã$iY\+^zÛG#4*nIT…ÙUõ?ñkîæÈúyÀ^øúÅ÷û¹'!h¨«‹‚¦ÿTU´«ìÍØ”é̼^‡|GÀG½dI"L››=Úך$ÝÍ£C1ç}…€|—êGÝù0뢃{% %ïHÅ|ð#)uEïü¢õø±æ×õKÛë{‚eà5=!¢ú³ž•h‚+FV5¹/X£D¡8¹Êá.(4`ö÷j–¾ÈÝÛb<ø{áò#*vŒ½Hôä¥q-øÅúÁOEõ°lø’§ø™Ê¦Tì²ÆcœSÚ‘n³éL>½#*»VÄ%P“îb8'¢• ØLZ1j#`Ú¿}ñÞ¾o‘yû>JP‹(ŽØëšê L<9áîBµûê-­5ö”*—Æ8ÊñïÝþ«×é]´ûE•€îÒÿýìIÑÿ˧Ϟ}°ÿþÝÙ1þ[ô[µrŽº:pG‰¼5̉p¡Ú#4Š¡kî$–nOF¶ô×þËtI§%¾Q~y¼4ǧíÝS„#4&X§|<8‡VÊílKña¡š¤¸cë{usñ‰¸õùí4Å øE#)f‘#*‰zËe³76{Í^¯¹ û­í¡ÖbIì¤3p×Ü–#4Š7¶ÁyÔ‹$:ÂýÓÁ×¼Ãþj2+ä%¶\+8÷üa«ùªù#4þbà+ Å¨Øy¯X¯~}É}†æ`o$µ±è«WþáwbH oÉшި'éÏâïœw1³›ÁpHæݽ½›JTŽê,)+ìXÂÄ–$QOÅÅA•–P2‹ƒ}îÞ'NDî´y®nØcŠN&/U%#4!” ­ DUF‡ãˆû†G¬ ´æ–®õšªY°öE´N˜Ð2™©î<aʺÉ|u“`3 #4nž¦ð—_]-O ×D•Íˆ7#4wIËƲÛz@>ƒÓ–].VÏ#*¬o *¤8PfŸ!ƒéÝ•ÏŽ»3›ß+³ù½2ã³@~gv¯.ÃïÿpPÂvøÛÚÿ}¶ý¬„ÿðlëƒþïï`ÿïtÎ8;ÝÙÉ.†dž²ñ<ðWÅ2¨Š°×&5áJtFu]¥)¬ ²gûL¡eWh#*cYNÍ)ð=ØhÝí0ãã|ϺxŠÅýŽ:WóÉ_q/¹Êné€{Ï_LæYŸŽ»ü¸I™¸/ËÑÐ|„7÷}vÞû|g§ŸáwtÖ’Ã rÔ¥œ"GR.Ñ[Y•v,p* rEÔë3¼à«“r¼~»÷â5j@X#*=2ð÷þV#HÂèÑ«ò&W TÑ»wNïÞï¿:ø Òòî ;Åeö§`¤‰) ØGáÉbƒ ©´±3‹¬6öámÇ„wÎ]ïXXKÌ<ØðŠ"T>õ=êÅ:Y{8–†#)Õ¢&xãYPjÁ0¼¹ˆ4BÝ%-}ôò—#)õ‰‘XëMCæA0©–R4’ojz瀚ܗ—VæC#4Ç*ù+•8xsôzïÅÞ×ûéq8p’IA§4N¨à„2Â+¾ £woq¸¶x8âF#42¦)HXuZ›F7ÈEì¼Üõâ»×G¬2ƒ&iÉÁEsCoTußgýŸßÏ››½&€Ì¤NÒç a·øö¦å[èPYÒ¢BVF·¬%íleI-•9¦çS_ûMv[@®55šKh®­çkjU]7èC5ñC\¡Ý­&ӷǾ*ª™0pÚ&¯‰{à§ÆµÐ¿®úu°§W'¾•úhª„ƒªc{»òúÃU{AVIN¦“jr2üfÄJ®Ð‘“P¿6JŠðâÝ»7/¾Ý‡#4+õªÒ´¬_߇VÝ9n­$þGòüÄ¢›'©Þ”„ Fôø–$ç“Þü²9™¢¢Ý‘nÞd1C˜>¹qq£ÞlÐEs·o‚%åŽrâ}Æ»ãþõPÈ™m¤ƒÏÈDI;Ú(ãÝ0:ÞìnþãÅæwþÔ>݈ô–³ Å!ÌÊ;=ÒÄi ~•BW®¦Š«ÎK¯ü6¢6ÎZ>ÌÖ,CˆP‡;<riíâÂë†hÖŒÂðpª]«!^µÛí©1s‡,-*qŽN&ø´Ñólº¡yè{ôz¯óíþáዯö##*”Ù¿AÕmx=2»ü»¥µO…Õ#)¼¦ê]Âê)Ìv#4‹˜m¿…£’…àa×ÜìE„|ã&k´°Ñ#4Aæ5ù\hhÔ›xª5õÙô$°`3ØHß~õêÛ#}ä¡÷C<%ÎH)TmvHúÞ¾}Ù¸m@_h»gò¢_hÿÖ¢¥"Å.ÚGùâϯ#)õá‚êÃíŒJ÷õŽæŽ²Ù…·q.⿾ÛÿÚ™î†ÅL³ÙP#4ÁXrmuŠ÷UÄ+‘ x'`0Èm²!ô¤+Që¼IuŽ`ÎͳÙø±LëÀÕÑÁ¸J®ôflÃ#4]‹3Y©öÞšTû׿üÅ›6ã=UKô¾Øµ*ï9ýôüåÿÎûŸQ~ÝûÍí¿Ÿ=ÝÙ*á¶ýáþçwaÿ=É“ü¥;‰ó<X5Dàjü}·‹ Rj/8º‡€¦Ž†HI/é-—IwÖ#)FL''¼¨}FQÔèö†‹A³Û›®³~Þìö·áÔcóÁ ?¨å†îÕóÛ:ÚkvóË4Ï.Ñ”°y6˜çè©ð<›¡ÞóáäfÑìua€²y£×6{ÙlÞíèwÐ6{ƒÅ²…bsÈUzó!dýá?PÎòÛׇ÷ÀA×½¼L\ªß›ÝN瘡`~€ý'ýÏç—WÍ~wB¥öÏ.2`FáïÞ›ýÞ`ÔE×ñ}ˆðäSùé7øw!ï H—#*»·Ð¯ÍþeoÚƒ¢éÐöègÌo9ìy-_ €Ãkö…‚¤"0˦ÍsÜOûÃ!< šç}øûcÖ¿íëøyÑÇÞ†¿Sè¢æÅ°»X^ 4Å9 ?#lKãbìú“›&=@ó/éç15§:ViÐAbø ýͽÈ.áã`DSx¦8XëÆU6g8WùöÖ6fy ¿‹œ|¸ŸõFsùéÓïTÞ§0™S 9üä1‚|#ž:£‹Ñ‹ÁÒBñæhÔkŽ&gùí~§3üGßÿ>阼£¼KÕå½QŽ'³,kŒò~7‡ù`tAQÆs”“DçĈ_÷þ·7ù¤‡–£!¤›/ñ_Ô€¹Â5cMÇ<ñÆÓéœÒxÞ§AÅß³ÞFð÷E6»mNúg=HŒ?Ð#*üíM1`ØG&"‡‡Œ^³n¯G?‹9¿÷ÏèïðþB'c #4$òg[ôp£Ð˜äÓùUsÚaçOû—Mø0ÇÇ‹ Э9ð°ø8C‰ØÍ -y›<#§ð)Ÿô·/‹†üö›Ÿäd%3ëæÜ|x€ºàå#)‡­’°æl#)ó·¿³ÕœM{ãþŒ~ò§ø3›ÃÏ|Ô˜Í%æ:§K-ïug}Ì,ïÍ`M\gúpÓÌ3(-Ïx±À|AÓ/?ï5s˜´Øêüòºš™_oèã ?»ZL›ùxÄ‘ºÑ÷ šÓäóBØäÝs(ëºGSW†u~¹_A¦@­ÏÏ=vî}“7³!þMƈ¶ƒuÂÜQùt{«IÄb±„=#)zéÏ·ü·ß¼î€z4T[çúüßœe´&›Í›ì -¬š7ƒ.Õã7“ ßÇ£þ¥î¡‡)JÒða>5à—§y3ìwq#4ÝŒܱ7*!ßéÐtýÂt¦_H1—A\vñôÞ»l.aRÁÂn#)}wgv<áýW <=nEËgOQ9mÔ‡ß8÷ÏŸ¡”þâÛ KŸéG¾v8n!M§2ælDŠo#ÂiéC)—NX*‡…©]˜MJ‚žëea«àûõS›ß&`4˜ÂÞø`B:çÓRàu9¤-¿|J÷ò¦{µ†k8è#*ÃúáégXèÅ š4BÝ';¦[æÝñ`1r½|Z§*¬Ñ˜«b Þ†ÃÑý £M&ëŸa Õ>KèÆ}‚¶·Ú[ =ý¡½µæÝÈöµ¦ VzËW$1¤ ˜ÀšŒîÎ}<¡6‡ÝÜF ²+hÎLz–sTzÐB Â`xËÚ®MS"pˆ×ƒÙdŒ÷t¹/UDk@ù7åH£håÐ4‘ŽêzÔá~\ku8ÃŽö©z"n[|pŽŽNIê‚B­wxýöðû½ÎÑ‹÷_íÆ“Ùñ€4YÉ(Q)¯õÒ<ܨX;„ö“€§ÒsW³ÜĪhV)+׺җ°Y¢W~H#)hØj1Oì·rBHk™1hã½#Z&£˜Æ®Ãè‚wT›g‘˜$[•ÿúÅÿµó⻣·/÷ö÷Žð.ôjȾؔ!Ê6*Cõ_öÿº; W]ºËQñ+ÁÍ€`£p#4_µAbÅ{~êõÇëTCÚæÒ«½¦J~àË ïЕ‡È(mmÚäa;Þ½xýzÿ¥ëñÔTUŒ2eŸƒGÍIûØŸ;õìn“{#)™²õYs“M"…¶3°Þ e}Ø#4ËsÝM±p&KnX©-9k¯º©­bgýPm£íáØZ»ßoa‚ÐNÇDªëÇ¥ª‚AÖåqÃyW2ÅÄ„#æõÀ‚´g²¼šQ²Íã.J4¥$ fK6–³œža•»gàÖÝsoºhØ„<„p~Ìóػ҅j—oÒ¨û8Àx#4ÅŽ&ßv´×[ÅaNxjW®Ù?ª‘–¤0µumÓ9ÄŸ\÷Ò IysB»\þT—Ÿ·W¢Þ Ô½ñ|#Ý^a­DŘg0×PzOÎà@@Id)‚Cú& Æy+[ï·!E´ä»l4lmmíOYïrÒœœŸ7`Š7¼!¥—×_¦pʆó$Ýz®ç#*Š‹ðéú:þ¬¯s&[_—'ý€Y¬¯Ãßõõÿ¤_I¯·¸ŸO“W¢cG à†—çŸìïÒ†ðÉ÷ò»%Ú$kÅøˆ.¢RÌw¹˜jØK)¼ƒ ²‹Ï„·°ˆzQ…Žíá]:Ónò*+böò‹reÒuå%W^„Ÿ1Ž?%”Sš¿½iEÿ)ÊUÙi_KŽ¶’ºQk•Ž?ß=5YâÓim¾8T6Oil)ϧUyÂö#4ª€º%¦j‰É2ö–0ì…Zw…Vq-vžÄtí;¾N‘àežðeÚ^LûH ]w“xŸ×,¨¡ŒÃ?Ÿ±°ž Jð²^óv`ËeZ¾•3ÆÒØÚu«Mì½&ÅÝñ5³.Ã<cèilx±ËåÆqô ãÄ&Ø^øç/¼¿Ãshßx€§N ØÆ#*«‹Š×½–Üé ÊëÅE6óx²üÎ6b-¶è.™Äê^@¡™/Fý#4žv/²/ÌEü>ýEbÞ̪wøzúÚÜ|Þ<ï†8ÖóZj‹Zë-Âtª¨pU‚Q¸ÁµTŒèq©àf cÑ•øæ5nUýÌúî-76ç™f¯%ÐŒ·ß¬Ú,`ͽµ¾ƒÙtJè˼Aßc¹ñ’3Oîà€=wNL£/{½"¦ï_ÉÑâͲ‹öÛi6î¤~ýÍþ_;¤«ÐùöÅÞ×oö“èðí«£?¿x¿ròçÉͳ§Ovpó:9ùvЛMòÉù¹xo¿I瓓×ßäf(@åš~¡*Ý«Uˆ„R~ù‹R#4Ùõ`Rµ]‹*ýl™n5(h;Ðbê_Û=èeaëöÇ‹¶ŽËI(‹XT÷ƒÄôÖ´E ¸VÄ£¸Ê⽃þ ¥•¬d³laôÕûÉdþr0«ë1ƒKtÿ<ÆL¼Ø>­2„&‚Ì—£a¨ÑÒÏ›qN7> ‘î®N"ÃËq|§¬L®"w‚H,õ©8/ë¡B3䨢*¨ø²“è5nÐBŽw.'5»hÅ&õYŒr‚²KîU¦ôNXýÚYïª$9¹±×߯_2† ‘UÐw* j¦\ÔxžÍÆ.ÑßZ'ý“þ'mú‰[ûËiüÅÇŒÜZÈË»Šä™VäsZÑ÷{l–å(x'¤}?ÈÝáá|ÑLHpAƒ±ÎËôä/Ú b̪#€­ËO"q\zÍJ,W­²6~Åþ’õ¹k;Òhi£ýJÒhëidU‰Jó,Ñ{DÊ^ia‰#4˜7¨§IOA• gÙ,=Nºó}…±mV÷ò²#)K¯JsÏ-“ [e6h.JwnD4\OTzãÖ|A6JºªàŽ=ó¼ò¯œžSHåWa)ž¨>‰²R“Ûߨ“JõžÅJ]½ùÒ“Þtáx8º‰ð<k"“ê0Äθ òÐwâÊùæ aé°à,Ô4´‘Â@­FªîÃt‘’ÈBPCtH§Äì*œúGóC]ŽÚ}à®qr‡ynP­°Â$¼Ø±‘Óp-ZŸÄ&–dA{Ûª¤Ð÷nhÄþ*tˆšn÷µÖ&iÓÃêJ ÀÂäqi¥Ü6)vqSœ^ç:í`;—Yg'=nòUýsñ~£(¨Y6­*ƒvF`%ì:²knS³Wù;Üu»ýEv8ú1 9?Ÿ~ßcsMä›?½šÿEkv¿ÊTm:‰Wñå?a繯­8+·¢„Zke—uU³»Ø}øp›=2‰¤ÙK„á]ª×̆ŽHšp¤F£^ÏØÈU™ËŒ`åu˜Í÷Ç×(#)nÊÉóÿù£^tÈZR|ùŽjW´Y²Î¿§iq£áªc¶ÖmTÑ'ц”q¿zšI’SŽÍÈÃïžjÙyyÑÛ+½pÍ»ê`Ëðt¦/‚ÓB¹S%UŒ+T÷Åb9º3tÚJ>Fà—%²Ð{$<Ž‹ii:Lס\xVvòñîîæö©¢;z“G&Û¢,çgV¿Á¢Î{õÉ¿GÓN ÷ÈÃÒgÐO$ÒÀþÊ1·';¦ÉZyÒ X]wÖFp+„Þ~bÉiÆ—´Ø¸#~¡ª×Õ»²(FNಠNV9)òªÜ-Ö¯q>ÑÞk‘'ÜWI…Лs´xˆ¦;ÈrtÓIL: -W¾z]àR9-ÞrBÅ÷öIpRÝelyåö±PxáÇå³ÏjI‡K™DP¡•RY‡ðˆÛI“ŠH´Ú'+£‘:Q´ábóݸpžõEH¿Eõ¹wçÃÁbø¨òÄE?[_DØö»Ë)ćW.Hœ¢m‡¯áùÍõO¯ä–¿%ŽÙ” ïl'8µQ9¢È£%ÞF!™òíʲÛ±Öpõ¢u35$9²<Âæˆ4Ê,S¿NyµlD~C^½P§—pôzÐZ-îË?i¹'¯"õ[µ•H¥ê —fr¯¹Îoà'[q,vT4ÅÈñø,lá…9Ö.NøŽI$gM5w¶¶?Su ¯þ¾̲¼ùŽtò›;íg‘5ºžÎ.:J•äÎaVÞñuÜ+²N…ù­¯kfo÷äD‚šÖät䟀ÛÒ>-;‰üA#hLä˜ålF{eB7ÚhqŠ Ç˜DèÚ©¿è‘6×c´zfÝr9›,ý†'ìÒÈßÈÌ—·æ;X#*zºâÎÔŽ®Û²>ݶe¶·ÅÁ¥RãóÉñÖéŸheàdŠw€rbƒÚå“aÖQC#4#ïÎf)¶„põò$â@/ˆvGgýns¹»<V+X:n|oP]qmec„õÁõ4›)f+…Õ$“((ˆÚâ5#* |+ÂnÆÁ¹jTäÿ#*tOU® ²å ºAÛzŒ Ø„XÑÿÚßúU,ÙIøz¡úô°BdÀ„ÊIµ[׎ZÀy/Æ‹Ð;ë^¯J±w<ï:¹CðÆÚÉÉ!*Džœ|¿·V+¬ý¥Ë*-Ú½µŸx&~Çk÷>_?¿kw‹aìm4xyA‡ŸqëÞ<+/¸ëêÍ ¸uÆeÙIqE¹›8¾L²Ùyg ?-³Úkïôî{ñ@UQ7zZ³R¢8y'`ŠxªèA¢£ÌmÎïyBb’R[Ë*yŠgEBŠ=î:uÔùÛô õÿüîðå7ôûù–;ÃâÂGÂ=òt®¢Ïh·ÀÌIÝ/Óâ{Ñ÷@ÎS&ó¨nýÃm'þÍ$Ãh“pr¢P¸9<nlü†ÂàÚòÿ—È‹‡ú#4qh Ÿ¿ë\*ÑUVêŒF¬˜v±4ÚÿöÙӣΛGßïG!a÷±ŒO'ÝÞî-}æ{K——(ûÙý@9ö½v5“}iÏ®ÜÙ4Æ6þ „ñ4jÂP G¡ªh”ÏGÜ÷;÷Ñ€„Ôþ&U³|ÈtpC÷“:ßã¯8Õ,Æ¿Í`Œº?LfÞã aû›s8å‡pŠ¶âNñ¨“Oä?wøâ·Þƒy–ÿö€/÷áÿ•¿{x$VpùÈÈKIE[tÅÖPE|‹°R…º«ï»_¤:”³ÐÓ#‚ALÏ‹Aÿ.²§Uº8ƒÒ%Ã[(ª»égqŸoôaK­¢âÞ#4ëÒA~ˆé&iÔ©üvƒ¬Õµä&ëö“OojSX”òg³Â]áºWÒΑ);¥†,fÃ4B‡ÝO>AADÏÚÔ|Ü>ÉÆ›‹ü ‹QþÉ|2ô>y²óùÓÏ?ð¯ (ì®úñ*E5#ǧ©¢Œ ÷áÿ?ÜÞÞÚ{ûíÄi:„ `ËhÓ©mÒ¦—êzšy'cÍ¢løا=ݘEíöÉÁËý“ïÿ<‹J'Ig5£~v÷÷Ë"£­‰M?8oÍ"¨1‰›këa+×kŠ_‹Z?Bë·J+6zAÖXhx]4Û¬Øõ¬õLÙŠŽ.³&mžMSºÉæd¬æÐ9{ùg¡ì»yøÍwÍ(j7ÏÐ{ë¼ÙŸd¹ çf#´³8Ëš"TÍúM(b}Ö† °­ÇD¶Wh¦¶˜Z<I«1‡ëÕ\Œ‡ª*BZvZ?‹¢AÞ¤EõÛÍÃ,ÛEIl¼^첤Ô׉[:ñ/Áɱd•M¿U—L•ÕþÓ[†³kõ‚vš8®0pô˜ú½¹m¶Èú"‘”ÂÁVÉ ]ñs#*×YŽª­•¿‡5-/]1q”:{`˜'“ì0É$´oLA½2ko^¼ÎÙ¬Ë÷5ÞQ’ÑÖ 'ôíA±75vzŒw«ëy{ØÖ5~Tx½q•yˆf6ƒÜu–d['9 ÈæyMv‰pö‡CÕ~­¸g€¤ê¡wŽƒœz#4ÒQßG¢tøBÖeHŒ”/Çø3i²+f§KÃñŽ5Ωµw}G¢ÉBŽ³îŒNç6ch÷­É×Ä<5¡Ò š1‡“›lf?¢Ó¾ÅY+:iÃÛÇXPqpYíÚ‚ŸìFÉ&’¦Ö“a¿#õ±už@˜«¯sêQ‡ãSVÌÓ_©™û¢@¦VRçÒ(²rߪ|+K ?‡EÞ–#“ªB<½pXÏrÞÇ`ÌÆœ˜ökV'¢Lxg¤-Èý±dNVÖ=×*#*ö³ýÌ€7žØ9‡KJ/%83£êKÎl>cŸ)a.ÀÙ"“Šö8¯eêy64KÕcã3$KØé®…Rgô­\Ydš%ª=²foθÍâ$)Ô©¢LŸåöP¾n©š·Šô±Ëq¸FŠRšãhñL”¶º÷ð«ý„– ·PåBf¸æKùaX×çF)|§~¡ðTB:Úê[Ö(C¶6—˜¶ÞA2»k¸^tÛ¤gcì3¿a܇Î`¥#)å­”½Â-Æ}ZI]r‹#*Q½ŽÆº™‹å-rnBÑüÕƒéŸ L¯Û0­û¨Êœ)NÑé$ÚißIë;Ñ™—`äT- <a)åáal6Ø“A¶JlÓ)HD¥Óò &®ˆãèðENÝ&§SX_ש_K>þŠØ=SÁÖäU´R'ⶕ}„IBc‘ö|E‡­#)Øí.æfÜZ²‘XÜÝëžCÝeØ#4Ö#cŽú¥+e #*!éùÐå²2¸×A¸§B·ŠöÿÁ×t¢éät¢ ¾û.Ãß° ÁHùÞ¼íM6£þ Ä¯Ð;&«B>$‘ðCuí#)Øqo!ë]늢hc.>ÛIåÐéâ%dú„yÚC O_,šn5Û/÷:{ï¾c#©ë¶QÀÁ¤8L5o bŸJ1Dõ„ƒï»ƒ×ûï –ú´ šÄz®ä¼6Äó_•æxwó‰¸ó\#*â°+@Mb&bшMðå}콎2äÊ…ýåàõÁ›o8øÌ„}ù\Ȧ"—rœCˆ§¨¢Œ.°bêíøhº‚¡‰½Û‹›Á8*‚q`o6Ù©?›ßLfWpšF`DN&zx‘3S3!IB“ÃO¿´0ðî^"#*ïAã,¿}ñæàLÙ´eF•ôHÉǵúÁþ<žÌl 2ýb<+Äà™DÙÞ¾'#4¡ïýå/‘Á¥#)Z¢})°%b0CÞh#4&ÑF~{Žã¤½.d<TF,‡§#)ÊKHIÍY¨›ö ŸçƒóAFîù<%¼óÊá÷ºÀà@~äžw5DÚð曎ÅHzÍ|ØS -FùE#4ìWó¦Ë““±þ%QŒÜ„OM=®…Eq©{LBä%õ31_¼g˜‚䨰ª¾g••¥Ò_¼ r€Ë&´òÄRô>õu*ô=˜Ï5 ûßE•…Ë—ÉQEöÿ?{ïÞÖÆ‘ô#*ÿ#*ŸbÂ.×hÌ ƒ;÷²g `‡] <€û•õèÒ#)Z„¤ÕHX<Ž¿û[§î®žƒo²{Û{mŒ¦Õçîêêª_i|vnL¢}ý07× Ô #4Ãñ á挚º¸@FÌãhƒåq½ QUÚç}šJnûª:oLëÖÞ(<OìN¥WÎ#¾¦ßÖGãÔ÷uħU7fuf©©4,…ÖѬU‰›uyqrÎ+#*3—”äz¤È#4™]ï¾rJÿ¸øüåYŽPwô´c}]Û‰•¤zýz¡t¸\*îî=ß?Ü;%OwÉÇí#*§';­ç„•BŸg/Îà2£½ÂÃç4/yçðÂwYÊÞE-ÏUèmÞ;^d·/¦w›~.ýSP]Íç;asÍq¼®I`¨úÇÇ8¸/ö¥/¶O$R;€mÇ~½~í>ÇG¯Î¶¸Ø-ÆÎÉYë嫃³}öÿ¾·ËYª"¡J° 4çhíÌ%B Ðî}„~|q!H@5êÞ_¥¨I"ªšPÄ ö³\Ð'ÊÝo¤¯2#4|ÿÊe ÀŠ,å{òü…aRÊÒFwÈŸ*ib«VÂ)ªÃ-!“Ü ²ia‰pp:Ä„:Û;9„ô&•#*a5µw3ÊG™^Øylúæ!ÿ6¦+5quå\É“*òÆÝ®Ÿ>ˆ9ø-íî'.ü!|Q}þ¦}ÔBö†G¬ç³¼“×gç`ŒvRÿ#*F{kFæÙQ†|¦ùîŠèƈøðâ&M_¿Ü=[¹ÕqƒäŠÙB{I‚P|2=gÉcÞë '4WÖbó…]ÊWí#4‘ÈÛ¦' …û€6ª™[âÒŽg7Qˆ-ͨ\Ð…gÝEîáCHóÓM.´ÔA}Ñ26dL‰âƨ{î<vÙNÒ.±<‡Z\ž—Ë3Åq!kuÊ]®åÖP…Ì-$¹ßž€W¸<îcè;ÉòjÆŠBj;WÝã«Û-þ0^šç­ ·nÚƒÞE*^+V€>Smœ·Z…¡zeÀ ´æ&=­8‘I]µÇpå`–w8nuÓNBj6Þx'“¦„P¤røMžÛÆÝ#wm$â¼bØbÈÈ#*»hßôúwئ•”»}4ѵP!T`ß?Ü>Þo=ß~¹ðÝ^­#41—Øc¼þ¿_Ó9;¶†N¸•Î{N,R nïÓ‹äÔ[¢Ñƒ‡\ÅébÜ)N³´4rÔ¾Dw"ˆÄgr™V¦ÃXÅÞtöW¡+ýiÿtt¸×Ú>>Kü”gšþÁzx$NÂðp"u^ÇXúöhô¹ÿÓ0›Px3×üOË\ä£\û?ÎŽŽ¥é_qý'øÿêuþî¿îóÿ¾ñÝwyÿïß>è¯þ¿¾#)ÿ_ÀMÝëp«=Ž/;<wåý:vœ,¸Ó)‘a5BH‚–ʈ=,’Ê뼑Ô%|z'†Ô‰~¾Ñ쑺×Ç"VÉ{üií7´±üå#n`0.z°)iö}ïBEžzrë<=¿ûÝýÿm|÷í·›Eÿß}]ÿ_†ÿ¿2w,µ®þЯ{Ççîï<½@ç5¾¿?tœÎpýÃòI¸ 'òBYs¥è#*:¤ #)›GÎw,)Χƒnß}ª;¡DJ–]òîJô¢þùýöÉÎO»û'­“W?¾A_¸”ˆy°ÄóžîßB8#±škjˆ4¬·zNaŸ¶ùÓÜ8©ŸsïõÙGdÆÔÑGô&uN<—Ïä„H:šü®Ã­8'ráyY‘Š™ˆ‚6•§±%ã›Þ#)aØŸ F+ý%û2áâ—ú2&B’sC¥Ãºky%d•õ …‰×á:N)¼ÕPËÞ íþPÑmüÈÏ`+ÀrP®#)ut5ªU‚cØÑ”ç0÷ø…ïããÔ;Ƙ@ﶢËrà¡®AÉd:ê§pÿÕz‹Ô¢'¢…ë5X³l¯>ä(Žš#€¯&ç£7#4}„kMæg‘}¡à´òt¿¾w™½jPѽ,€3]šÒM§Üd—pÅ„ï?Hݯ+ÜMWÙT¸tÞáÄDÅú¾S°Ö¸êø|QID*)82]`ŠÆ,(ÈÓ&0:ó.B3ó… ôƒÎÃÎÚš{ý²ôÍ$öǽt¾È,X©¯Do”Ôv‡ÓI#*¦¿†õt#4 Ä#+e<>gV qd`Ù@â¦WÇ"êŠj*Åó2;9ç³bkkçèðùþ‹Æ긮b˜f£mÕ¨1‚ÊÁšj(Òßöἶÿ%Þàq”¯ºãBVŒàpëH1k‰Ê°¼äS}oU•<O«TF×ÇÞR¥ ÃúB£Â‚ Ì©EùŽ¾‰¼#4­ÒM"Ù‡ìŽïö„¦,S 7Ò´ ZBs‚¾äŒšr^#)Ô’ãÆo«(gÏI¿fÆL%1O¤–¦T[%‘GŒÒBwvvÙ‡»Wnî„!Ñ~¸æeÜ= ó’,§ö¢vOÚ>ÙÛE²lœI‰h±Ò/Èÿÿ& ×I|Ì$8fs‹Ôûé€ØѳM•q³™$+£Qg%ŸïÑVÓë;óòaN©æ¥ÈM>èýÓÜpÜ›#¶O^´\ë¡!eG¨Œ¤V¬kÎ)™“©¨mègõ*•õ&©]Õ4\5âùçQe¿$Õõá,%ÕÑ µ1+Sz†°R“°.ô›Ö¨e›ÈR‹Î«\…¢…'”NnOóûw]äOäÄ ÞÂlþ•öÑMbóþ?%u®ËšµPÐPÎqjïŒuýÇùú{$ùÿ7{5#)&d|.Œ¦°óÜe$.ÏY)u`&)IØqW´˜ÛcÉ:ãÄ›ÐÞPèšÂÜâ#)¡º‘±'†>€¿?Ò"ø¬ïÃ×éɾíˆäߺöúÀQÂÅü“¢ûžu,}ÝÌÕœïPvΩñôy:J;½ à`ì:“áø. “$´/“› {ûË(]¯C›uVî^ÔÕÂXÓTUÂÄûuh÷Ñ:šÇÕ(ScÜW ³ÔÕšø¹J¢ÿõ’iOþ³wpùù@÷È67¾}œ“ÿ<Ù€?_å?ÿ›å?ÿ.¡/ÍáùbßÒ„ |)aµÈ—éÜ+ôå*yb_'î÷oo`§&_ÚFÍê“ÿ9Bâ¯ÿû2öÿYÿxÿ{´ñ¨ ÿ²¹ùuÿÿÂ÷ÿßûaþÞ÷àIZ¸ÙÂߊ'?LᎀÒ}3«²1ÇzÊVX”‚í:>B®í÷¹ºú;;œ•e}jN}¶!´|Üu£ƒ«•”×w­v#+=®÷]€ËzPPµé|µQ›òÄýÒ×Ç$ÿ1YŽ°1’ë~úR}¹}ò½tVRú—2œØP$~>žôE#*´D“2,Ñ>#*×/Ž÷wÂreSˆ}ãaHÿélt1í÷KuMÅÐ6~„–¨äißÏ;à”®â#4óîëiÿõ¿éþÇŠ¹Ÿ›˜þ?~úèñ·ùûߣÇ_Ïÿ/äý?§e*#)îÍ?>vÓXTÐüjž€Ö\ŒË5Prw™Lp¹‚€Ï’´Úý^;K³¸ÓBC§ñ®†"ˆ…Ãlÿâ;E¶#)Ïrúæôlï%:ª&Ödž†##)9ž~‹Ê«òa;í~.ÖÁôêtIý¼}r*°7‚´G–•"“ª$ØžBk#*e>?ù—£“°Ñ–RßÂhÕîììîÓ‚¢rÔ/õ ˜Í>½ˆ×¯MN›·´”nY»œ%ŸÖ¼C-R­ò&]óf’oª‹aÒhÕ3Àüµfp¡e“(Ôªó†'*Lšn«TU=H]ÑRÑ/VÓ„ÿgTrRQɉ®¤1ÏPÅ&ÁgïýB Ÿ¹ãŠô?¶ÍíÌ5wûÔöðßü]ùJ~©÷ù.?Yð»îšÇátBÏ’«Ýú0\­Yëq>ÚE@Wgñ¡Ÿ?,™ø“…(ÿ‚¤«d#*ÄHÞ…¶'“qï|:Iýg!?kÒÀ?MûBƒ_¥}1¢ÎVSžvzƒ~F/(ð‡˜ô,MÔ¯bwàLVÊÍ‚·4‰†“Gl¤fy ZŒÄGŠÚLJ”EÔŒµú¡ ÁÖÂtè)ë³}žA´@¹ìNµß­ûFš÷ØRHŠíÈ9_ƺ76ÐäèO'v”X#4ð¥"‚¯È‚uëfãNuB‘%´©x½†¼µÈ«£GšÒb#)=åv®z}˜[µ|}©Ò¨~sŽÔ¢|#4!·zBK¬æâý+âz‹CíÁ,[ÔB¢ ¨UÙŒ¡UîÁyh¦›7U+´ülmâF3ŠÖ#4j ‘U*ätÔ¡Y‚m]ê¼y¿ëÖ"_B“#*™hÕ •Ó“"Myë´æFþcggØŽ“ðÍÞÁÁÑ/p3~—ö.¯&ÉcDšÎ&hÆà`«›aW—£ïž<aõ¼2~$7V0Ö·#4ëÈøžŒyœ—fZ6HÇíÉp\g˜Ì¯Þ¾Ö`DáY`+Ys¢‚ šwâ2‡€Æ-^ýhµ¨Z-øE0K­µÐÜÿ)OD=’Ý 3-–[ =!:™¥ýÚ‚#²Æ”‚7ÖkÅ"i/®…b÷l£`²æZ‡·ƒégøßY¾í˜Hiî™ÕéìÉ”1>Yãˤ°ÍÚz¸†”ÙðM#)þüüG§w«ô<ëÚ=ÊõLÕj ­È‚¢² FÏ’GÎO¯%!e¦<›f¸“eÜŒþ^ƒþÎÒÑšd]%¸Òæc­£ô,-„Þê1ÀAÓû<7”ä*}–²T§-{üà:~ðàúÑQK²)Bm9sZÚ@ê^>“Åap@ÆÀ3eT†–Cf0º¹¨EZ%n¢*wsá¹q÷_žiĽ#*¶l$Eƒ¶Iˆ¹bÄhOXé {ài#GÔÚµª¬Å¡”!nsX­ eJªÆLW Í-QGÔö%†næËù ¾u„ð­SµQêE§ä7]må±›Ëf 9eáj~^H Î÷¨Ô‘]zsžvñÖ˜ž!­Vìj‰½ëOfyÖÔ¨q`îÂÝZI?p2b7£ÈOÝ×í¸ÄæWÓ$2záë<Æ ek5û+-c=þ¨ýbk«fáóù39—”u¹Ë“SÃÙ>AÝaºù'‹Ð?üù=ü•³0:8þ‰õôÛoéLÃÐ^Nj>MØ?’ÐN¼nÞÛÎ2Òº "DíÍð6­î„#4_#4$o€-û¼SÐ!.ðèý,Få¤0Æ¢£e©Ÿgr_Åñ¯ƒlO¥•h ;ƒtm }öÙ,Ã8#—Yh‡%—¥]š%zI-›u‚ùyA,›*–¸š"F²—eÓs#4«éèƬ{Sg‰áË’™Þ\ÌÞb†çÿÄk‰NrRA«çßdˆ3Z—¶Ôâ £b,#ʧ­ç¸¦º=WŒsRá¼#4¶&sî\^W”Ó{•ü¶7´D ì> @…­üV3æå—‹§ÀبgyÉe˜ôÖ8í¨»°9`ñ<<Hô-B’—Çá=OO#)éí;wWB.{‚u8g`çš(%Þ£é[ÖHž¥|½èŠi"M#4ÌQ¹«†]uïl2(Îó÷úÀ@ówh ]~áâMjh˜´Òn>ß¹±™3ë\ôB«0MåH+tYAoÛ+: &¹ÕË55Yó¥0ô ãrÑ,õY6Z7‚‰T%00ëýŽl²ø¢&» ½,¬ðSçÊÚ¬Yðt#çÄ6¢ü,®ûGz§NH—4H½VM!šé³87º±»ê£€jÂbvp¥Ö[Õ÷c…E`O™ëI~òMa¾“HÇŒOqÄÈ{ÐGšÓ5ÈzÄ»S' ßÏ——*yn9&­NíØMDzB‹¥L+r&íÛ#)˜ ,ïóû‹ì©¨ÇðJ#^rõ|Îít{­ ª“›xʵոÞ*gÂœ–u±Qàc‚±£!ÙªaUMJšõfE  .±¢é^º ˜M²{]Áþç]OI®/ݺ±Ø»»¦¹^š&z’¯\3{A†ŽßË£ÆïÜu„Ôøx€âP·2šeÌ=ª·Z#*(0’¨³’2Ü»ÙlçƒÓ¨Q#4÷Y$‰ÃÐÛÅ ©=Ä= —`¦¦çûÔ?7‚¯‚^*qãNØû£>&áßÒ£µÍ­f³©›ŽXôeî+wEÆ"2÷y6½½+]ù¶“‰ù"´¨´ ‚ámX Ñ”ÓÌ z g±êÒvçP*œF§v'W|uÒ¤3|kl¹íÇItJö.óµvçÉïê92•å°j±˜Â(º?o´% ¡òíÏ,ü{gh5K•—U8òYÓ>º-Ï9—2c¾ŒÞî‡ þsjrmkr]Z“²ªTð¸ívÍüÕhp]jÓ‚…•ÊZU¬”téTdAí%’.p}þ’œÃøñŽm:–.NÙµ¾:M.K/N[Þ^>qëvË“P–uÊÌ:yQ·›5+ӱ¬#4}•?$åoÂ$sr{TÊþ«÷6:sï[;ÿæþÏöm›‚³PA̽Ï3ê“ð^E&®Ð4ÙõtsvµÐyI~€þàŠ·4×ezemaŒœ¨Á™Ó“á³ ~)l=(Ð?ÿî0³9¯úìns4¢ÃÅ+"£HKý:³GL N w5k‘ ©Ì¢¦=ö˜¾-#)iêQ›'ä[ÃŽ1,+MÃKåðævˆ®‚æ ÑùO,J”{´$™¾Š®³ܬޒG -– ù;·Â2øÈœ"U—D誤≙S” ¨‘IÝ3—Aú\åÜx¨X¡Û|$=[\DÆÇ…¾´½l8* u5ÊÈG¹«œâcc—3Æå+D‹dž­“Bwl—õʺ*Oÿ<Q´<#3—Z‘KÛµ mÒ½/©°4¬C¥ôK–’cŠÇ’r]-C›—ßæ ÿüž'Þîþɇб0™˜¦Kœ_ç–˜f¼ˆ$gJlÅt¼Ô>‡´ŽI}´h½Ý#*¦7¾‡æZcsý/Í·o»~݈jzÓ ˆÞoÄ>üðçð¾í´›ßWå}ó^yÄ=4H$¿éúÓŸQÃu/`÷cßTáh˜õfx *ÛX„5¨…YoÚõaèÁê’Ø9ÏEÙ§=ª•¸M¦Dø͹eîËFéÐA‘s£L[†#ûmÃÆð6@+Û=ž…ioúz'K‡;'§îBóqº,éä‰Êãn‡_wí;/#4f)ï–‹m~CÙ³9`vKœ{íIï¼å@Z°­Ÿ«Ä²ÉÆßYžeîÞÙg:Œzl½#ÓQ¿#*›ºIã3´ü^u#&ù-–Oj§[[""ܬYÂyºÛ¡} X» 2:IŠát?Z^䨸5ž }ßæ}ÿÿ}æH–4´™S¢vk%ÂùGß"Ác~CË åùEVrî™ïóZ%#*¶!‹=UŠ›öU;O = þcÿøxo·4Ý`ØJÇcÆh@Q¡î²Ã鹈ÉËKK (J˜¹Z#*m56‹Û}ÛÛëaj>4ªWÖ™¿õSßUoüîøÇ®ö›Úd3öNýûkDp5¢—Asàã+3yì#4ÉînØþ¥²ëåË+†f¤)ägäÒäÑÇ”@ù«èÏëºÉ£xò8§Û7/ùcšÝẸàÃ-¤§ü^ži.³tß›aîÑpi$¯é®>áë¤a3Lõ"Q´Ê»ÝŽyu/ƾ6ÂuÓ>ȬnÌlæÖù»:+>‚ÔtŒ;•GD¬Å@ìF™bÝΛíC|›¡ˆ.i„uô=ÞdmƒëôîÝpÜu#4ÌE„§<CP°¦—ÈUhñ õûÌW­± ±Sb¯N¥#4 Fïå“ÅQ“Ù¥7¨x.1†lJ']à^O\ž¯é!M ³ÂèŸf~s'¶¹¨B|¡–NdO÷#4¥ÁØ>ýGë`û Ýzyá¸ï·^îyõšÐ5}òR3gµJ`BÜkî\<6ãœøW‰œ6a©›BÆ©Y?cj“%!õ±.=£í<ñµ¢…ô|‘¹ï|ù9±q¡e“ÿ„–M>GË„>êfÉ{é®­†3<%ϬôWœ¾#4³h]À†Æ×kØŒ¥R6›#Ûåéµ_Zë#)¶P×/Ûþó­–NÑm€#)Å•øŒ÷:R¨pjŪ¡#*㣔º²Yx“´¾Ö°"”æZÞ¸j«TE  }?K|zÅ8úœŒFi¦ mÖý×o÷öѽnQ'̉;G¢kTJÍö¸ÄGâ;/÷UEÇ^^:ØŸÖ#*%j‡”;s©!³p}Ð=ï®BKRµ#¯äT~•Êú9×·¡æè~Ý&žJö 4ƒÃ¥ËAÓ¾ô³–­¥­7Ü¡^ÎÝjKwH#* †kª><ÿ§‘ †ÕÕèD4â=©Lª5DÙµ€„-b#4ó)–0h“[–\õ¼îÆ\µ Ô-ó4ù<MÝÉ°¥,˜€»ûGZ¬R£~An¯æÇ$îKø­D+jÑBDì¢ÕuD+¨RŠýÝ<·‡cÅR7,„åÖçÿ”Y«äLžÓós1#*÷Ä‚šß&À»Wëj4•ú¡q7å«Ñútæ ðU‚¶ÙQ š{!i”š©‘悱|Z*xèk@Þ¦Õåðì%†Eû£¼‰‘Š2ìú`8¾¡Êyü;¶#žE‘vICe“™ÊWëüßÙþÐÎn~üÿï¾}’ÇÿyúÝ·_íÿ¿üù¥#*ïë0çYùË–¬öf~ßvrzœÊþãuŽÜØÐÆs^Ÿ‰¤ð tt/l‹°áÙí#4¼Ûi¨a…¶Os¸=*¦ê£×r›uò—>ÚȘ–Æÿ0ž›á¤ûŒûÀ=ëÿñ·6rëÿé·]ÿ_Âú÷Á?ÊÀÊÀAŠ¾@ÐÊÄ’IÔ2Ìá–õaþ=Ÿ=~„·^òꇗkkÈÅ!4#ü‚k±ñ#*ß% ÛK€I›¨vo†á³~džz´€ù›Î ©XåïuFºƒOà ÀŽ¦Ü÷fªÈªÏav±ù³ú¾L‹¥4YÈEH‹‹µ¤’&~ Nâm7²‚ïù°#*ĤÈn§‘c¦(ôÎ<ÊÑ0Ëzxý²û yìÖD¶>áXÇ7l]›–™ã ¾”~Õ&-—/´ÄkA9nŽÐ>j0¹ù}FWõUK:dÎ-Mù—_Ùîv}èfü’}\o»a´"ì»-·‡˜æ´ÄM¥BíC{< `OËXPKA#4åÛóJ±:j;ʃC®ÚŸêÀ9:VšÍeVyLÚY:"„ˆšÊ–"K`è{Ilu¿l‘cš×˜uØ|¯_[Œ#i£Q!𠹉 E‚â2‹_ìD&¦T? Zö&9³Òh”©´šJjbgiÐô€|#<Mô»8wK'¦™a-ìn÷ï±­p¾ó f8¢ig‰­Ýº§#”©¡5õ)%Ã妅´©ÖM*Äâ¦Ú’DP`¸qÅà ¯õè_%€I4V³f¸Zh5cz¯—êŠÖ¼,d3/Ó$8°‹¥N³/þÎãÿúÓö€ÿº¹¹ùÝWü×/ÿÕ¿Ý•"²i\8_F ³V‰gák¡,$ë„#4»Ès¨M‘¤¹"/Ùå*!äŒÀ)E¼ÚÞÝ?!×â~ÏPãKŒmJ,e?^ÓnâÙ¬Ð#ècŠW:€*í|Ö³`}XûvcÔίÊÇû‡ÿ¾ÜJ'²ñ$ÿêÇ÷¿ÿóß±ûßÿ½ù]ÿ{óÉ×ûÿ³ÿë­Žr÷9ŒS 8‹Iê,10)K-Á—ÿ&ÅÔõÒ‘¤Óº‚øHÑ[ž¤#WA>òêȃØ©}ŸBÕûúΕì äo ÿâ÷Ž5ñà1‰@i-Lø–ÿÂ`¾%?)ñŽ‡ˆÂ!#45ÅÃ/ê\ÈF¢†mj¦+üÌ:íAbG¸ŽŸ¦ýæÔ©sŒt,ÑêZqí,Vº®²•¬VÔÚ#)˜o˜^º¿m€[6:ßÜ~ºöÃ¥4¡ò“ŸWåTù$—ä,΢2†z§NgLÅAN.ksk~ ãÀ*Cf8h¸ÄÖ°Á$.Ó~"]°¯GïàùBÀÏ*ú_èþ·ñ$ÿ{òø»¯þ¿¿ û_…ÿ§Ùìý?ÍfîÚ2›Uº€By7»#)A¡`…¨Ù¬Ê#*”8Çý8?PPµÏä Š^%ž  bŽ'(ˆ-sÁ_½C|áûÿE§…×ï¼ÿ?~ôx£°ÿ?úêÿïKyÿ…+GëdïÅÞëdee¥öÃÖÿýµ®<k¾Íü5‚ ä×?ÁßH€ßfkôöÝZ+ú¡ñýJجÕ×~ˆj?$•ðY3˜ž£H” sfk¿Âúõ æÚþáÙÉþáéþNôomET<”DD_í–…àW@÷ø}|r´³·ûêd/ú#*åŒST ×F±¶ƒbÜ'»Ùi–ê¶Á.A©¶ö’BfaÆíAk7€t\c=L£5Û‚zô&­–ÁKg¤/§ìia¶ø“á¥Õ7+z7HÌ.…Žµn:Ê©Ò.Mf6¸D#*QzXƒ|BZ/¿ •™Óa„ãŠ4U!/?ò`€A¥B;cìY¨7z±Å{dj°oŒ‘vÇjàÞÔùåk“ )7”;'7Öj^n¨ëœÜØ’òÜ,*¨aåb,Q3A ¦—Ý\ÏQo¿k÷&°èبû‡Q¶t+¥‹©œ„òÖ†³cêM`Z ºR}ù…ùµ@;¤Æ°ß>Æar#ÌΤ‚½›d¾š)ëiï¨öÏ1M4îQ“wÇßV³•Õ™RØ÷€ó#)TôܳԱŠ:,¬ßN<øM¢nÆ­Òøë†La´ŒòÀ–a–”Àà`ºAN#*Ú’² ×JWK2P¤²@4³£mžÂ¥åŽª bëWɯœÙÀÿáé<Å=ßÌ?8ŸÿÛ¾ïi^ÿïéWÿÏ_ÿ7Ìâ쪟Îâì.[@ã7öü{åP¹ªéA<‡ÅG¬¸r¯Î!.€þ°s-Úm“+äBp<€@àFNwNöÏZg{/ÑÚYBèÉÕw_d•š³é¹X€Ä¶°sÓ#*H£1ô)‚þ#*§P“Á•]Hñ)@C‹à²{¾µü'Nßá+Œƒp½=¾ÌÂf°@Ä2ŽCûèñ2Û6A€+³Þi÷ûXV 8üèúc•¼yŒ¡JWi¿Ÿ(#J‹Þ4¢e¨n=!hŽ–‘9-B»jº}`Žò‡Î­ëôŽDP–÷tá±{‡è¢Gtî<#4Îo°Þ”ÊLªüß`êy+ço†r8­rÒÊ:ãÞhb``(mo#)³pŒ¾Ö¤‚‘¯‘Ï^Vchû¡“ôÅ3)[ãÈyÕÎ\ 6ý¿k¶M"ázÁMO°AYi)‡#*mO1šü0Ä9ß Zb^/­YÌÄWð[† ˜ÕÜÐЋÂÅ×L‰ÅXI·ˆ²–ÊIÌ‚"D÷R5Ž)9Tˆ*5ô£ž=k@ƒ×̇„3â"-`ô¤år*+L§=©d¢ûý#)!¡`àÍé-ˆÕ€O‡í;iÉuÊ‚:‚ÜùÁbHÙÞÕjé65§4Af~ÿ{¸vßFгŒœý\Ñš "MÜkÄ/=9Y€²ZX¬·n©Þ&·¥éÆu3q‘¢»»v›_pmQGKÒ[†¥ÀLyü[³}Þì*ÇR)‹vB‡äabî]{œ­t±aTn‰UMî²9Ê;©°½`4Ožb"_°ô¢}@´ùˆ¬®j.>šÁ‡ðü”å,@ïbqP[#)v—º›kÄ] j¯g=mz[\˜“$çXsÁÕ½‡ :*,ÕΤd¹ZÇVT#*2®:$f‹G¯NkL+Ñ#ÃPV3#½¬EÆ ai2¸pd¼dܧ•Ÿ$Ö¾Á'³ûæ`íçO¶OÞ´,M• ,ÚŽÚÜdUL‡ß‰`—plF1Ÿ·8Ì! ¢¡–¶B¸þNû‘-M¦#,F¹ÍY™NP±|…¢|»ì©ÎoͲ)Ù|³l/cÒ€,MŸ2.•O¦^È,%V ´*µIE$|”¶A†uý–h§M¶›Ó hÞc?¯6ÀÂ8#*†ì× ”ö¿äÜk¯VT]ñì“/U&N4Ã)VÖ„* UñêròêÐVÅóxE{v7,än@ÎC/·î5Z¾N±6MtOWvúi{ܺh³vn‰UDò®îfn46›NÓ÷_‡‹¦•õ.gcÚ>§)Â¥4PïÂ[´ÚiŸm¡7ºÅn±ÔôN9K;I•/:‰GÎβÛ8±y¹½¢„ŠÞ)¨!æºÅÔ„n¡ÂÁpšUk`¤z©¬¿4í°Í¦¬r膗,ëÑM;ñŸŽÙÔoˆ÷L‹îÎeç·0¶DÉ]WW߇|Q#*·ø–—v¦\jqˆÚ–Åpµ3?‚I|Ėu…ØÑ[ðÏU6Þô“ª\ qZ ʲ…;y7¶ô¢¦²Çª‘8Í"07/‘óiěԭpø³ôÙ&/x#4ë#*.†µð ]£ñm›€r±à Ü£Úƒ–8ÚHYN‡Qf.×ǼG7æ¢;MÕ3;ס٤›ŽÇ%d÷÷0u´*"Ëní|i_ZªqV!%¤G‡Óv‡°¶µÈ=”l œ&I­jÌb¢Æ³G$ö ³:œÔÛM{c.Î0‹åûCá°æspé¢7€›sZ²ãöBösa¶g#uÐ;ó¼æqœk óˆ‚Ï1…¥:¾«Á.iܲj‡Þé2¨8²ûšc£Ñ¸7@[3iCO ¸¾ÐnJhÏ4NÚýKÉkàOY ]­ä²w“ý[x¼8ÙÛÃ’#4dÁäªEáÜ_í>\톫5*eHÇôÛ`›×`ÜËÇŽ‹Ò¢ûŽE%ª(3 aÃEE­ÐÝ*µ(Ù? OövóUÅxWÕ­dEM9¶zu¥Y´‘|ÔØέ†®ÅMvÉ—'qa)ïz™}6 yµl­f„ª9D0­A#4÷ $ g#)U-$qk(ÈÙ($K)ax‘„–SÂCŸí]j>Ý€nTjfè[¢1L æ>Ú B€3ÄšŒ§©³ê£3HÌúö`êÃd#4pŸ $/Yí9ö0*+þ§”ÙJŠrü_iYÄ]­3wµxyχãNp.U&JqáX Ú—mÿJgÞ»IMUJ8¹Ò:ÙKŽW|M˜¦MË;™ŠÏ W§)I1¿×Q¨ dž¥³öÍο[d²rÛî_ŽÆk}ìz×qݱ +jÅ´p:€)˜ÄåÍ@…¯[eÑþÝ!AŒ¼GVÞ9 0ZŽno”‹ÜÐ×WÄ|ÿCØ€wŸßhþûߣǟô7¾Úÿ|AïÀõ« ‚˜·rpÐ ^à!уÄóžï})¤vÑ#^wšä÷§îlŸž#4èÚß·ÞfcÄ®8=zu²ƒÊZIøàÁÃuBêXþûö‰#*Û‰›µ .]†Ë£éy¿× X®C˜÷ËKˆ"øs;ìuƒèïÚ)íïfÐ_ÞF˜ri‡MD{çeÆ¥†Quà7/'WÁ÷Á&§Z:½Ë&é#*B:Ô‰¡êj+/åq rLir%ú«NŠ¯„ß}Ga˜ÝgR8”I@åÖ¡·Q&Œ…"Ê?%:è³ ¨Q’Ãáä9ªì‘#) ÙåtN•Ê³”TlÓÖ‹«3˜öû¢Ól`šË–±ŸÝkê‚ø‰üHYìm„¯oè,YL‘Bþ³=&Í¡0Œi( ]94„üU‡Ïq§ÛÓOÈѺa$Ì’÷L #AÌ*0’˜ËCà@ýðÄ!åਗGHÂîÍo^ÀSÂU×½žähH© /ª³šúÖo®á_ëÇS2ðÜuôê ý™H…vH)h°X´ü5ÇŒ¦ur)]ìw†,tÏyB¢¨\Ï‘ÿÕ0µ9/ê¼ `´wä_Ú¹¡Í#[bWyè³wêmÛ±ù#4ð•@Y‘ý»ö‘i[ÍÚãèò0s¨šüºäÜV">,¾/I!¦äÍ‹!ѵÃ~cÍᬩmØÍ‹xf.éL&’Û´ÿFà–F(špýnÒ¨èC‰Î‚"j/w[¹£^OJýÐÅ·¡Æ {ƒ'žóõiæ\q ÆqIR×Mëm:ûÈ^cÜÊٌۮ÷ÌKRdÝdóªrX·æÚÜh~¢ÿÜqƒk1~Ë^绉ķ³ûBÞë×ÑyÉödàw°5æ§ä"ê]ÝDêWÈxsnǪ£xÂ"½+9õåñŽDø™vûTIÑ„+#)¯B‚¨’ùT9Oª<&Ñ(ê¹£°o퉥_ës[ŠI’I/úUÕÕ¯$’sª,ÒÒ{36æ2d#4+ÞÙy›$ÞÓ°î®ñ=Uì”…8 œ þ#4Ä/ ×óÞç8Xê\£%øCÈN~b )×M{лH•<Œ™`Ë< boñДPÍbHP9Á‹šSä?SÂ|VCR©MwN>ûô¬*µÀi)©ƒ,çËÔœaYþc<Ÿû·8@ ÓµXˆä¸âI˜Ï7aTÚ›†R¾'çú4™¼#*r˜˜¿ƒùN3.´LãuÐõ—­›é+:è*=#)ʤD_1ˆ§¶ïM]ë2¥v :̬“\‡ÙU•ë3åhÒ$qdMHÙœrþ9×3¶¦g&²oË©¡ËÂ(3¿å¯]ÖV&¼¾£» •ÔžsË|Fò­fø¸ŠŸ&’È‹Ø9ÙCeWÛÅ%[·;ƒr¡"åΫè¾mÔnk’ß¿(†ÄÛtœ›˜útÔÅg>ጥ×ßQ RôŒ@ïÝ-¸““› ó:-–=øJ4àò¿6 Õá+ˆaôæVXüúß#*ƒÄÔª#)㙲‰¥–ýk:„½íŽ!µg…„bÎaZç6×Úßsj.üå!…ÀLFL ;¡?88,™ýÂßËG—á÷H_½NE$úYPŸCõö`ÒºìÏk,GŠÙ!‹Ó#¼mb“ôº5íÛ ¥0M¥–g…(RãrW¿åœ´À¤#4ã­RáÇŒ.ì…ýñàÕ^~\&„3Ëù!ЋaÚ ¼ ß,Cà¡6W+…ƒfðiÊåwò™Œq¸5í©hºQó­#4ø…;B«瞾󢌢ê%ßÙµŸr¸àß'¤[ËÚÃøQùÄÞÜmzÚómã­#Aͽ¦—ŸÁš¨áf®[Iª?ÝK¦Ìžj•²re­‚ߓ☙z°—FZ6»u+ò8OêV¤¢ž8¥«åPÏb®²Ý¹"Z¹›ZwØ©öð>žöÍmB¸RÉb›\-3cÂtˆ;iã¼»–ÈAÞ֨ݹn_¦INV’¤”YóòÖ•ÁS¸Sº”+É¡7ì—2•IÙrØ86±Ö>öV³-¯­?ƒßÌFxÿN ²Å\h¾ŠEÕ<«]Dš‡øÊŸ§šÿvå*†å–Îå¨KMÝåt´ÄIeie‘µDëJ»Ð2Úî2·p)nÖy×p“«Ai¸ºÎÛøÈ#¿²Âi¼hÖþog¬jh}æàn,›’?±™Wþy{÷h‡6#•°®Ý£ª1Î)8ú™µøO:¹$•ZŒög±é¹,»,ÌGWTÑ-S>åJÔ”šåût]«#*k°?¼Ä“‰4æÞuc±xÁÉRjü¯i¸ìÊ­Y™Uw¢ÚœÃ(·Ÿ[“¢ßm£öLK°Î-·ÅR ÁŠüÍ2c½Ô{ÄŒ´~:z¹§¹"#*¾ê#*Ïå’_–#ÑŒC„ƒ‹šk6§–ºÙ„ÂÛ”QP|¤Í™s³«†{Ûa ¤Íà#4ƒwD>ÙW€­;±uüYI˵0ϯ«ËÖ´'#*]l]uøâŽUîeÁ8%Æ.Mó›6áæS“ì‰<:À)a?äi±%GË”©é{6Ê/8Äp ¾ï4~!¦®!#4rßä«ï`êÐ\Ç1Šùyñ]ûbÝ„ °M®’ùŽÉl/nUí´kÅ´ù·4¿nÖŒ¬œœŸØ Ò¨o&ã4­©ŠÆ‚ÑyùIQÅE˾’±·*4#*Ræ‡ù(.¾Å[IzAïÛ¬“µÆBÄ›¢ÉkÔÓñ|ñ­án>RÛ8gÝ›W<|`k]A¦þÆ ¯ñ$ôžˆ¯Â¤2ì•NiŠ>"Ü¥çB7»,ÜC´À€GNé‹3xÐÔ‹Ì¢¦YT¶¶CXk„¼êG#4[Þ¹bœmçEã¢7†#ªvÙéÄÁåÚZÔë‘Z¾–žÝÏò³tØHzʃ«oFJAêœp² î¶ýÓð&MŠTáÒ#*[O¼8g£8YKS¯…ÅO¬ÔoÚ°Ÿàj&¡åÇѪ×þÄ]]NN·Øµ¶;L3¹âAk'Ãà¡d&è3vê>)4_$…kQ#*FöW]˜‹õ+*pÐÙíém4o—ç^S?²‡ÊË~ðÏÛ›z-þÚí÷%‡¸4Üðw#4 Ç#*3†Í9Ô#*Q„SÙb&Þ˜ÅwúMíçÓÖIìŸG¶yâû1I XPçY7ôÜ»äžÀ,Üm »ý‹° ”W¯®*t+ïØ…Ö`×_‹5S`È`¸bv@,a?mÿ¼×úûá~ë'rx ‰noèÝØ:7–!Žå=ô<“k&²YþÒÂPOô$¶ V<˜óA[îBÅ8ž#* ^Ø\ôm³Uø®:ìŽQ¸*}ðU1´\ÿQ}~ø×{ñßKðÿ=yòUÿóKÃgYóÈ°#4›)DØ[{,ËÕIÊ XwPÆÛ!_jVöMÞ6Õ¶ÓAND6 oÉÞ»VéàÅžl§ÓeU€ÉêÐMÀÌ <-®S…P ©]s³<,lY³™6a¢“4ƒ¿­£Iô·Ž®¯½{¬3ؽûJ(¯°HëŽj΃%Ó„ 9/¾*1ÐÎCà®29ô]€Ëz &]¥Ó˜ê:åö)‡ýÒׯb¡pÕ!îÇîœ|½Ž"ïâXß–¢œWh4t?Û;9LB¡ÍçsÒl:öÁŒL)F½ÎãGØÍ»Çû;Ü%î×É_p¤ reÀÇjVφa1ïDòšjZ#4“#4íû‹³<h±‚!Ϊ`ˆ¿#*ÿ÷á¿?nÝÏÊÜwþ?ÝÈÛ<ÝxòÿíKÁÿ­„mC«Îå®v⪖^vñ”ê¢Ý[Øïvý>>K»s=–vÿh¥ÝßÓ[i÷w÷Uºûç©T£7¸Ž¹ÏYéîb®Jw«•îþánJw?““Òîos?Ú]Àùhw1×£»éx4̯¹ð¿Ðí¨þ·DZòy%#)óÏ8ýŸîÿO67¾žÿÿûïÿ­ÖÅ5XZ-sòÓS^[R¦++ÑqÊ@±eìÂx Ç#4ëU róULGO\gži¨‡-+º5 ˆ~Ù~ÞÚ9:|¾ÿ¢õl#4¼‚®Âe¸ÍþcïÍiŠõ:½ ÑÙŠ¼”CO÷[{/ÏÞ´ŽOŽ^œl¿$‹ÏÞ`ÂÖœø£=¾ìÄAç#4fëƒÖª³†&ŸÆý5°¿oÿj_\6þ*V/·wNŽZgG-”-3Õj‘›úV+܇õ1„½8|E!èZ¿ŸÓôÇÓ]#43Âh ?L'&xNLèÑ(˜`„Ç1á(Àد÷øÍ~íÙ½=Å_öà³7îÑçöþkøjóGkçÍ‹_ö‰dçî!ë0ôåé›Ó\Ø+HSù„¯§ßÂ7åI#)üP­½ÃŸ÷OŽ_îžÁå~§utÚzÝúyïätÿè°õ#4=Ùû?¯öOö¸A˜—ϸüÓÑáæ]$çÿ9|MAÿpëp¤Ý+ØïÁ|çîlwúáÀZ;ǯhÈfÿó´õô[JÇ?‰Hû¦[ ì=†ßÆmIÔkÓ÷Mo”Ñ7þàaµÇ#4¢_L»?ºjSýâ0ôb Ää7…O®¦7çJ¿8íø†ÓodèGLPÈhø.¸\ùÍá%a°¼nSž³ü“[òô®¹%ðƒ[òø/œŒ~Ù0Ä!Wü}E_ä’ëÆ?Ãøƒ’¬‘“ PÐK;)"ëgÒg!ÎâÑAZ,~X àú{3ûþÀ‰©q¢&(N¢c­Eã# ú¹Ž‰â#+©a†o߆ôÔñ]ƒàÀ„G¨Äûö­KˆbéÌàŸá¿\ÎKÿr’ú»«p5£6¶ y)£ïL9ƒ‹-Y 5ÅÌò죻Šµ{Ú£!\Þ¶ûF›-g¶šµÈJSqþˆRÛüÓ*æu¬š‚žeq!¸>3TôrÎ0 9³ÆÖ#TnâÏG[MV{…”_¢›gúùp?Ôê³C‚L½%ªx(mNÃx8±ÈL²ÇtÈTy»ÌMÉ#*,±è$C’ÈŠÄÑ+’»PËšç¸, o²ÛNH ‚TûÝ0Z´úp=aimIåû‹uÂh ã, I¸ö.jzÕÐܧ_¡GaS4g,–{ð å²ѽeS2;rÅ#4øv%Ç–ôçg+qW¸QV .mÕ+*²žMºI®vŽÀ~±¶†ÛÀŒºdFåzyVAz-Œä®SsÎq¸~mü;êuä{O¾S©‰7ge³WZÑv¨«‚Ã}1nߤï†ãëpË­)ëv5T«¦ªwž»#4鬬ùOËÜ/ß Æ¤Z‰M7!'¡kÕ‰µ¤•¢ë}„Z‚LZ=ND'Öýsbjñ®EI®ÒLOçg³6QYÎÍͲV›§ÓnóÍz”¼‘Ê1”ËhžQlN ³Ê\Q_=ÓÆ&;ª9ø3ª|¦hbÿ†æ"þ£á?—0:3=Ëêz>Eøí®biáÐk| Ai‚P_–í¾Š.¨YI4$ÜËî2¼ÆÊ¿ùp)ÔD:hWÝ5u¨#§‡Uð/)ãàüéXì«LÙŠŽ[øjÀ çÝ#)y127šéP²¹$‡Ú—âvâS) iù¦wýn+gº‚gãñ?^ð]Εë;]_®óO|‡Ú¤Ðrý®Á%4“"M`9€kOÂrÒJLȼär­¢µZx3ìÂDçTX%ó›„ MÙTëgä˜ÄJ+µ;“þ]#)l"Š¶*‹ŒWéÖI)ÁÍ4›ˆ–—Ó’váRwÝ}M¡>ÄÁ|ÍÄ躎 Lž%4š˜£šrS&X¡“æ–¶:6¥0}•¹©gZu~`!ypyš®W†×¶_Œ~biå0;§êw)¾ …t<öºSJX¡EÓ’2,Òé¬AUÙKRªæÇs]èE5“’JG,GBÇ4ñIÜ\ÃU~~a O•¬V,Y‰¤?ºÒ¾Y†?vÉ!Zæßq´pk*_Zo·±Þ­¿‘Ò\Yqç  Ý?”u͘ëwôø„[‘l[G64q-²d]‡hMøˆoJ#*Ü»ŒèŠÕâi¤ótÅÊQ:ÁÈ°µv`¡¸"¦¢¨6ÙîKo…ñ¦2““T™ãM‡×í#)%—;£1‚7¼â(Ä+«Y²¹²ª¨G~Íð¹€FFœ³èºa©¬ÍdsÑõ‡šÜ¤ÅÞ@,SN¿nÓ¯KúÄÔzÎfgíi<}£k:)'&«Ý”V ck¨rÅù¥Þ´%Õ™‘U Fm|v©˜#*N,ûã\˜(±¤Sf›6'ÛZ­±Î?æJÌ° 8{hÎj8†‹ž™Þ læ¹ÌXPï?ðs#*:¥žm0—öŒ£LnÍ”J]7¥ÂðÑÖ„@äD#4¦žúŠç`èq¡/ÛqøU²°³/îo(^È@.Œ€Ø°u˜ó™‰(áÈÑOL‚qËÕfkþþȵ4-UU½%'¦}´dL/cEÉ~ºHØjk¬[ìoLÎÞƒÚýâüÄjãô´®Ý–NÇ%bÄŒ §d¸åT䄈œ­@yjáŒ#*¬CÞLÍ-2µù‰©„¸¤Øònò…ƒüG¤mvgÇ/º,*y³ {¤<¸¶î¨^ÑgÝØüÚ¾´[¦‡ép‡ðq#/붇ìaFéäec|mGûžeçÙ³½vmé†Ù‰Ã7{G¿„¦&XþÞ…`‡mZŒy:N·ÈP%r–XgW©}Àægd|.ðØÛ¯Þ,!¬d6í 15lnä[–ß½†±Y}êúXöFäTO›ñÅ‘e…t %判ÔïÖ1·u%NRÙmAö`’lÜ!°…‘T™1’Œl ¥v9rˆkò–%&Þ@—´ºˆfÂ¥ÞžÌëøuLKŸsêÍ6“òa|M Ö`6qBZdÊ|Y•¢–‚1}J’gohÿô}’¬¬æ›Tv=Ô Ù…•0LîFr8ÅáE/…á0ÓaWó·a¶è±_F_ùéÛ胘ŠÑ#4`ÿ|r„Ú÷™ÜLìow]€ýÄ¿+@€ºpvÓqï–|$ðf- l~«°àßYìðz´mb`âQãU×Y)2eg¿flÆÈCÕ™ÍD R 1JLëlYµØ_µí ³¶¦ô‹œ!e˜W¯ñ‰í”Òª¤ä÷ úêNK»c\WPk#4`Ÿöü7=JøA8ù%©Œ$Ü!ùžråPoIõpnúÕ¢L&#4—¶8š¡L}d¨Š‘"®¤`ïwdÁg«ç¶€¤Q¬nìªT¸UÏÏÙt›p.q‘›p‘ųPéà¹í‰÷¥z'\«ÕJºû±DÃÑ(V+4^º‡ÆAw·3‘= ߣc\»åjÎÞ¼ÔMå©3õÀFø'Q¾_Íž!Š„2´MÇ,‡,°’ðÜåõâݵ½ŸåÒ4?åJ-ô#4Wg;}¦{díCdÌ®fõ+`Í$,#*°¦ÉÍ@.­îpÒº2ÀQHþkl­ÓóqŠ&½îIáZ{=œdÔ×@±¹\-í±}Å.D¸¶fjÚWÛ"j),,µèŠ¥²r™B`î…^;/Y …ÙÄ/Ë9–‰b«Ý&¶8…TÜӛфœ0¹ó2qÓ…Eõ”O™<ýÏ+té³é'ô;Ê‘?­¿!ç¸=¾³Ž”šŸ* £Ì®P1²·øĪɻ`¾†Lò“ë(Ù½Z„¾$ËåÜ–Ù5™l‚æÇ6‰Ù ¥MB—¹pÈË;Cq»ƒ—+Þ0ð,lÄ\°µU¬NÒÂKCñL3ÞÛ#4Úíš"WÚÄjÉpÆDMÛVBK¼©àº‹­/k¾IK®£r§™ lšg3ÚBUxñµR v@†®õÌkyS³Û$úPû$±t™@¨ZàÝ)á¯h¾•m5#4|¢!úsÍ\¶NÉÒÓÓ;; TšÑæ\s”<ëM#4W##45çC³$._'¼Œà•Ä @‘³2¡ÅÞµk‰m¿I@Et¹ÓÕ\@£­ÂÔ‡Ë÷SƦT á*x4ïlÜ‹¯@ŠÂ}t¶ãu†RPšRÚÃqyE/kI¥“ò‰+a¶ib#i4žôøH#ÆæN¸¤É{Drp“.UÍïF²ҀùÉŠqCчJ¿O;¨øò]Hv®ú¯XeÆp¥Bæ*ìürß+†¯”Ã+jôT“¸[øpBùcÓLù<8²h? œ„+«ÙJ¸êÊ¡8—ŸS¡O7—„- øU×S™$ãäžç×ú‚Þ™Ñ)Ë]1ïI\èݪîœßm¿½æ¥]“ëÇhÁ—•Ä«ƒn2n©‹<ŠÑ Š¨,4¿sex1þ´qÝW‘:?‹æðë¶K¦ÐÔ/*aTúÅ}/ÇJ|—n<‹˜ê ¥‚‘»ÏÑÒ!î“ß¡H£‡ú翅祭»à¿ˆ{Ž(ýš”¸7š`Rr=вbûYr]ï£v®õ‘ Åa½t½¶øÈ-ˆË¡ 'Uœ}ß'öfáô§ ¹#4•¤n5SF©¨»hD¦|ºl›´9#4Ÿ!Å.‘UÛ¦©£ÙµÍ{D©©N#)iUÁß"%g(*ËÆÎsm^æǺÊ1ì8çnb^ZµCyÅKà!}ÚªFDœïä:¿·-Z‚‡÷5¿[B‰ÞÁûaÅI`˜Ye‚È ûÞ"jÞ ì¶`ç8Ù>yÓ åÝ7Å0ú#=gßåJýòúH¡„«fáÄ`’O½0úÏ8ý>ÿo@W”Ö×¼R$x»M›–Þ<,} ØÑä·LçüÜDÅWÊÙ¬°]—¿hïйª@´s?ÍE)¢c˳?&ïBéaÔxk¹ÉÜÒ`ö¬µsôM€NŒÜM&üuê—¦h@MÃâƒ~¨êuY]¯{ë#ËVÚIi•`“Bï¦&¼šm0ÌDaöQìoÕ0t6+úÂYð¦ánªéÝ–§‘fE 9Ò€©¾ÉòRŽ°í±Ûy1ÅF.ë,^¾s¡ýa›ñ™¹¨ƒ&¡Æqtߎm2X#4I¶jZQŽóö  µ0K–\/Ÿ*+_çÚSº‘Álo ÊYDÖfÀC™%˜f¾™¬‰—xp-(14¤™aØžâäÑóYÍ#)+ÈOúOôBÿ5JD0¦/¡Q辦j®‰ôÑ)Í¿£ôÍ[ Ÿglåµ  ×fÉ-Л#*N\£Æ¤¤îÀ&‹ò¸·?H]á+ÈI \½‘ª¢¹ܸ - ù`©dÙNöÖpÖÀ#4mÚšûï*ª¯¯º¦âzÄKXˆÀ¿à–M¿a7‰ªµZqFºBHå"'dà^#4"+a_NÛã.þ˜ GÖÝ7Íxk–÷‰#esŸ0§ÊE)PÛ0//¡•6—Oÿb36¶ Uµò®£†NuP+jN#k°ø €Ûs̨<tQŽœK¤a­¿PÚ^‡œqúv¿FÒƒË4 n ‹Êá#4N rÀô®ÑçiЇkÐ7Áƒ‡oI™Y«ùý©w àûÿÄí3Pþ¶[bû+Š¼Üb^83f¹ò¾rC¨ü…áƒ6®f\ãUWü²VãqBptþQ}^¹|}çù‹Öóýƒ½Ó¸á;Ùq0O)ã W©– ËvÛT~‹Ô~©#Í&õÁ«‹½D‹`Î/›×Ž_ãSë¹Ü:>ÙCËœ2çÜ´â”ËÞ*xdÉ¿Bäfÿö »Ü(‚ñ9ïûç¤)e›ÙR;nÅçÉ5Î÷IÑL¾Þ#)F»™œ—‘ðG¥Ó&„ÄNÊüYh®K’P@i$Whg\¸*ažc¢É NE·@V3úÇÉÅzð:Æ#4_7c¡)‡CÿHïœï+&eþi*ë#4/%©i©Þ#4VV°òv°âÖ‚¾@tÎœuGÐ1™Ä„;ÇÇbŠÔŽDwIÂb2Uš‡v÷YŠ³FX¥æ€ô攨Œ­î)ò`wn;æ¯#4¿[=ä'ƒr|?—Ãu#4;a¾×ÒQ+(¿‹)(N;ø²c¬þ{öW§‡RbÅh"À¸¡Ý—hœG6²xámÞVÒ3ýµ·í8 þWÞ,@ÜßlÄ$)àwQ‚rIk‘’I,†Pê|}uÓI:¾Á¥>!1Ÿ(ÑÃ-ñ!à<;ìt„!ƒÊõ\-lµöÏöZÀ*Œž%mK‰á–—ö] °æQY=Ðq mœ`jâ/_í´Zaôý1:Šºã#4åÝÛ>Rei}§S o¡K8D_FÎÃ^gÔBT¡ûª™§AÑéßµ5#*[?Ÿ˜try› 1:ô! jÃAÿ.ØÁŒQÐñ\]—`°ÒË­`g'´ßþO€˜¯~â Á°R×t´IgÁ´½ä?T™¹è½‘°d"³oø…GD›CÕ@Rl– UÐÈ“jìêωúDz‡WÃÆfÓ>â'ë‹-]³”…5þù´‹òBïvÀ¢ËàÚi´•íÅÍõï¨þ=ÌžÃØ1rd,°mùHm†B.O£×ô°Ûôë#ÒÑÝ>>>ØÃÑå[…•Ÿ0¨¢@c_ß$0„³yÙHÙ3Z¿’iïà¹Íãgùqÿðù˳$†#\öKúeÿð𠳑‡‚,® c„žy¤a=*u_›fÿåñÁþ»û'¹–Øp·¥ò·WB> ÆIt l·Ï©ÝM»³> «&§ªÎÎ'bËÁÙ;¶Î{ƒ‹›I-?,Qå”C” û'B ²åçlH‚[äÆ60ãV®YDˆ)¡1kÂeñ‡Ð©ÓK¥ñÀ5Õ|AÁaÔ4OÑ=>8Ð`-¹n÷צ×s;;Æ 4©AREk²†ý»ÙŒÊWÝÕ#4â°›ö?‡ã’¡ £ªùÉ›±ì#*ŠpµêÀvv›ö1&÷*P]ŒlBŠ¾^îp?SKøñöÙÎO{?Cµ 7´ùÐuŽe™õ <‹Ï“üK™ú~ Ûñ ¬CP!ÅDû°ÚxeÿÇ—Áëƒ`çáÎÛµ·kõÁϵŽ¿§~ö¶û z[§oìrú^‰#eóاÉ8­Ëy^»ác?ªg)B"@²•Ä%®A;ðÄ‚vÊœ¤¬£˜Ðï:!RÒX´<g쨊<pT;ô9¾,ª¸‘×;†Ñª˜Ï|ÙXþüÙQÙta=kWíŒÞÙÒ8ä‰Fšl´ªTT6éå²`¨‰€˜37¨‰jv‘Ö™,.ph}Âekíê¥ 5ý¨9rÉS>aÆ°÷mµl2íö†õ?üú6[‹~¨AàG­ƒSò×Nôkí—áøúôj8‚Ѓ!E?`¢¹³5ÌMÈÂ|tÖ±z.–OÅš‰3y#)J§ ^ÛYk¦ÝÔùÀÕÒ}À1g€1ÈÇ+gtÖ˜(V<•½ŽßàÝ ÁfÖÛÙ:×%4þ<;—“R××­VoЛˆ Oý’¸d“ÖËÓ˜Y¹Fû†žz0·ÚwÇ ‹x”žÍwÆ;[ȯ?yuØz¹Wâ¤Øó|ºÿ¢u¸ Á{—~D^ ±§]“BÌhqz°3R–5Ò¿;C¸ÚÍ&µÉpÔ²þŒÕ¢•>â.ä¢Ejì»;¦·ñögAA4T“/‚J%¤t†Ÿ°Ï]Ò`áã5ý–ˆ›iÒã—eœ+”˜eSj¶¶Â/Tš‡5áY\!|"¯Y{=2¹npÒfŒ5Á#)Q-Î.I4&mÁÚ/Åz7*Nq(2ÇBpQª!¨4€šwaSkCg6—We£W%îc{K~CGôQQÄ„#*ºÝï›4EBóªUåþI¦Û¦8#)eÆnš¹ÕéE±%–è/ÛA#‚ø”èW¨jõ‡k¥¡‘C"·äDƒ,2ê­¢ôˆ‹2I¨N‡Gg-XuÚƒµ´MZAŸ¹ú}Â{ªH”_}ªß0ÕÓW;;{§§•Tmsód0„™’/Á©×ÞGÇÌETÝ:/Nöö½íßõ`¹JžÖ¾Óó~?QŸ|µ›SÃþÉÂU¼ã_GVL«ÙGq‘vGÕè¨äR—©bÜ£AÁgȨ=®#*Ïÿ™ŠÅ_áôP:¡×i:²hfb¦n\IJà_ÐÐ\=sŸ·Ç¨î Æ…x;Š²°/HÙtij.÷ßGüz!#Ch¬”5²Ã£¥ßoqG›m€¶Ë›‘«'Èo+(]åÑ@ft;ä7þš¡2µño#”7l¢Y9ˆ[TTBêG²Ö=†ÌhÂ%@’>$ý¶'J1™ìåtM¥Ûô¦Å5Ôåè!õ(V{½ì½®6Ñtmkm&Ä6›ÉLã¸c…s¯`¾~ïL­˜ó’¥¦oÑè—‘Ö ïTQ(Rç:ÄÊ‘^Àñ:Ò‚XGàXüºFîØ-—€{îÍ…jÉ#4a¿C%g¹*a“ ŠÐZØs'£—rÂ`e5XŠÁùG^ÜÇÃî´>JÇ»~ÜÃ,Nû8Ë Þ·õ†ñÏáy&“:·É J‚«„#*¨~#)äð£~ÞCVN!|Ø=›¶1Ö±ñžV‹Ê¦ˆ™–u˜ŒŒQ7®_ô§ìÞ"·!†ëÏÌÙ†û u lP[ã™sÄzÆs¨Â´¢ã,Æ=¿E›«SaõP2fuIiÕli jꆱhÏžìíÊYÁC»’˜~L–£íA@Õ1ÞPÅX1°s•çEöŸ<ÄL”ÑNOxŒØÑê §ƒ nƒÅ>%½> i  ÄXŸºbs¬‰®1hSà–h9çÎUV16ÊÕ«^öÈôTNºT½9„Y ¯C}’U¶°ä¸§Øj®€r`¡ð Áïˆa#)qŒhÕã=\Ú¶ð`åu0á#4׶šO"4G½K¹ö“š¾ÍÉ••DŸ}«u¤l"ë ïºH ©y‡ûÎN©;9âšLSÐWËÒLÝ$¤·kò®®Ö 5ÅùûSú£È;óÏwéúž]f"#4²Ü0ð°Ï+ÚÇØÖÅüøƒíÝ¥ VhýÂÌ÷ÿñopþ¹€ÿ¯Ç›9ÿß>yôô«ÿ/Íÿ§¸ã -}ŽPÔÁ“³˜¤Î/&¥UPÑì]~/ÿMŠa4›†õÎh„ˆ´ý;CõúMÏ­FÕà#4ZÇ›J%œj` µåExصy¢FÉ—ÅȶN’S#*ºÀÅØØÑú τʸfn&sã¡)M#üšÍ|Á²cÀ'áŸßþø!øóûí“t¹…ñÛè—àoy”ÚºñÜÚ?ÜÁŸ”Ñ9òÜ’ŸBš½ƒ~øó{øk‚hg† øë6}®#*z¹D;·*ÀìîŸÒ¾?›À5 ÂêR™Áµ:±Ó£ŽŸ® €¯¹î0þL±T+W”*Z·¦^Åí©RQ÷Ó3'¦·îïOàÅ–“öHj¿#*]ûáRšP#4ùÉÏ«rª|’Kòˆì%=(–‡¡€„ÌèÙîصüœ#49í`Ða[s£B,ƒËÀï±^Ä­¨©eÌ ªYöÕQègôÿÕ=Ÿfÿà¾óóQÞÿ×·OŸ~õÿõEžÿq™pßM.8óŒ£.¹ð×òßüXûH…S›JæãÛ#)Å¢Sz#ǹ;Ì3%¥#*)o?{t6ä …ÒÊmžŠ²Bh¬Ff³Ñ—Uö2 ¡lR5ʪŠvv^»1fžE—`åŠpUB/¥ÚrR5…DlÒ©ï2>ÜV¨Èš¡©`Á0½³i.JH'ßâÈᚦ1‘—ß#4‘ê³µKS#4¶-f®èŸ:+þ·ð• y‚HÈ°€÷ÇW§-:Š_´ÎŽŽPßûùþë„»`nÊ—G»{ ö‘œH…J”š!ÿxðj/ôÎFbSÓQ(éC°¾.#4î%±RcLD·Ý²$XUL ùĚЙ| T&»Jû}~ß¹Ïë·uy€­]—Ö®s—3FE¾ðð«ßîÿêóŸ7ÿÏÎÌ?ÿ¿Åÿòþ?}ûÝ×óÿKðÿ=Ìâì.+ãÄm'¹ð<ÄÞ8õ$6Äøó¸{»÷„ø|Â]ìùät>ǼZ®žAØ¿ vFýi†ÿ-cñãA°²³¼_f.¸8#*{Ýàø®µ?èMzí~ïÿ¥ì²ó¯.ê9>¨«ˆÒ ½{܃.¿_‚ ÊA(Dù5‰L˜­‡ä‰îžž±wR{,»ŸV#4’ û¶±ÙŒûñH<†~ŠDÒ»û§g¯ÎöN[û/D „ñéö²É”^o —xŽ‘:(c2|ò¥ožÉ-†K¼—[rÐ £;až$ù d¦Úï“oŒÄg˜tTÃüæì§#¾ýF|ÅÅhlNENŒ’7‘¢»pÔìA~©xZ&õCaeýÒrLšOêø(×6Ê£?HCN9T v™¾å›oS'‘ÆÇ7Q,ÛgB(2çQ!þÓ0gO.&£0g†Òè¤Fö}BœC¼:;Â{öxÓÖÁ´àñ#fyþ¦e~v Íd¶²=ñÑé_¼!Ž¢³+¿_Ý­„NN'–§žB7;ݼ§Øì ;D“aR {cE<pç]7)ÐÇiŸ}ÌNƽÎubô~|x¡ß\vy)eö™Çovò¾5FwÆ:F¥:*¦êT wîè®+ϾÙô<›|Um…P‰WšÑkœXO®ˆD­@Ô輋íÈÏQ~úô#*y¤îëÂñU¦´D¡éö »iØàÃ#íŸÈ(v‰0‰.þjl­?nr[†çÿL´ÍµµÕVÚè¤÷®Ó†UŠ:ó*Z]§ÿCØϫT •fÜ *§`Ö­ûÔÖC]îVˆrJöžå÷Dˆã{!0÷@ìCø¯d²˜I´Àj0DPW2|‚‘¿ ¨LZ¥X¾VDÕèî^H«Þµæ‘»•; §¶™›eÜ•“Y½ßž:W<\QT¦ÏyÓM…ùlµÚ¥I¸Þ cä â*˜¢8WÁ| ôbSc°ÍB5ð(tûcß•'#i{ëèøì?©Ÿ5—+,,CÚ—¸ Ü[³‡:UŠHe\g2¨ *×Q>ï%ž¤­b j6ùŒ§`µ&+š;~³÷úÌÊä8‰Z¡O{ÊpZ­3Ø¡ç#44°9Û;9tLyÈ(ÆÜ´;Üœb5Ê«B.ªJéV„牮‚öƒQØیƅ¨lC¯õΧ“ÔW%ðø[;eñ݉eîŸj°ã²ÑE`Ð&÷b'ÖŒÑÉSÛ!$üÝB³ÑçöÓ›sRíÒÓƒ>×Ä{ùãÞîâSRç| ÿk¼hq‰ö3æ[PfËË$à-­¹.)e+ ²æÔ±‹óÂæó.fËK""d_ï’&²Á¶]¡²é#4lµ‰©ñS®ŒÆÈÖãnm5‹¢•U䀆Y˺1T¸ƒvÎwÓ~ÀiáËí£Ó׭ݽャ7¨ÉÛ:Û>y±wÆ”Ø v”錣ŠnÀrW4¨B% µb^0†«1×#4.™i¯µ¨Á4í“bÝt0Í°¶Ìý/XáÁZï¢ áÊví>¨ºµöcÝgÖÝ%ObWí=1:ZVðédÆkÒ#)rJ°ôpn…j‘RÌÈý^TŪṓ$+á#4¡ÿ !&}EñD…+¡Š‚¯¨šrz‹:ÑÎq6j½¬Û»4:¤åùHÿ,²Ì¤Þ¹ÃÌåP«0õ³>ª}A_a)Ú×[f")Š)À_`@DRÆø›¡£Ìš§2à?§'†"'c¢l³È¼$h››4Õ¥ ÕAà„1Á%ŒÃ8§Ü&“ÔTÝSs‹Jš/Çnyãg“Ï×t8i?²á¦Ùæ"ŸKç%W´²¡²õuÆC¸÷[1½ Zbfœå”ÛR*ƒ¾jµRÚÃÈP9EaôàÖ…€Z’‚ú`±t8MªRj;-±>0Š¦¡/\ øVèq¡€,h²àQ€">F§¥ä!q‚Dx˜’žðîWg¥n\3ç­ ÓÀôl–ì ¹5¨ ':ì눇Š3ÝN#4ÒˆTã‘d-ØÒ^Ž+Ó™Æ"{À†l½è8JX^·=\ƒ“«ñpzy”‹Æ³å¾Ë#4î$éßØq¢²Õ»Å9c`)˽|toxsé÷ì]ð'õˆ0H¹>¡ýšzEæU–eÕ ´[Kÿ¶õ."²ÀÓ®8Y£x¥¬.6ž•ˆÍƒ¥‹ëà!,h!¸âÃ-+¯ÏÆpÖÊ}ôrÊ[ü"¨%ïæ¢7†Òk—N\®­Å{ö ØÌVºmÚ¦å€/Máþþc«P&Ú%CŒ»óÞ q--Š¸G#)· {B ™q| ãKïêÁéQ`æë™áŸãƒ`ÿpÑߎßàÈÞáö{­ÓŸ¶Oövƒ*¦IŠ!¸k|œ›Õ2—( ¥Š—2ôÿ £"¤$Ú¯‡áŠvasÛtÌåɘ´›´ _a…ÏÝ€ØÅáˆð…ÍTsúµõ[¢Ü…‹ L𨾂=ÇGÒÀ£4a¯÷³ø.BoLøjðÿ€_¼§)ÚƧ§ž.,¬'zºXo±wΕÕ#*¤b¡±DòGóˆËwe@è,©æê^¯3dKœšÏšv]ÈÑ’pZ3þµ9†p,¿NðŠ0˜Þ$a]êUœ¼2ª"jl=jFeê#*ãÇš­Á}ú.#*<ì«™ Y…âL¨„­#à#4^Íntê&k^H­¹9¨ÌJl#*EçvZ/GÎKÞ§QlI'F½-[ZëìVš~t9°)ÎiðÙî*ɪý~cöhã;|õfìBEïºiA#4m0ðïHŽûy'ýœã5˜ø(Rt–ŠsL<ävvíÞž¤‡hâ›-Uè…«Ò†¾£˜„ …n‹ÅS6â³j'‰=¡b²Vd"n"¯˜Â±e/ß<wçÙ{,™9æ7*v¤BQ¼µ‰ã†ï/€'°Ò¯­qÃË(FÎÕõÕ–ÄÆeE{öYGl6ù¼ã…w…FË0^èXam)Wײq¢¤×jîbÔ]?¡ßuŒ»µÌE#4?ØDè'Þ7þÒœši³™=Æí~’æTý¤b˜cfKJëAM€ÎŠ=¡W¨»óaIÙã6Î;qX“mÙÖÔœ÷ÍØÆI¬…7á¼ø¶ç‹[BÜœ@•éUËodfÎç"-®Ž9 ÑÝŸ€5¾ÃµÃßFÊyŠ°¸ð”¦‡H®PW*o(¥G=ŠºM¾¨2ô¼™;bßvÎw¿‰ÛB~CZÍ)“ªž(.*6·.*ÚÊíË6”HÀëvLäþÈÀŠ/ÐîãƒÒfc𧴸ßZ6„ ç:úcº0O'Vö¨˜jSa ógæ§BPýõûv•®{E‡©þ1/¶tPPgqÝaÕ® ³}D¯ÙVg1 WåõÞ"`ÿ¿BàЫ¶©äëú› ö®7xüè÷ï&][¯›T‰`Ô ,ÙL¨ËÞé$N*ÐNÈ1ÆÝ©0åuêŸþ„3=8<: ž½:Üå^±@½¬E½0ÎDÙÉYRÅ×g; „úi\¼W½}¹vcS©7óÂÆ Æ7§Û^» ¸ÌÎÁSÌÞ'a–á5†à(9ìTjÓÈ'l“Qß—%v^®ûIB˜Z[¥#槤pýb0\GÙg²Þî÷ÚˆAà\Vå&Þ£:¯©‘pôó«$f†Ÿ\)•Áj™ŽZ¹Én;+Ö¹žS+Äp+#4Í—§?ïH7äzè>M¾Io(^4RåÊzÖÏlÒ ¤Åb½ð $¬­c9#*¹ùµ²«ö8íš ïG ú#*sYØÞÊ…þ»vi1äCi÷‡àÇñð:5;«‰ –û‡àE:É]Ãwß” ädN$¼éỳ}Aß$jžï}ˆ#ãÉtDþ)XneAø^u^¡6 0¯NõöíÀÇÝ‘'A‚D膭€_SgEÈ;kTW.i ¥H¥™)Ê(ú‰Y„^ K##'åÒ^ç1}”$OâÞ,WÞÎËt6J;¸p?Á½vJ—>æ?Ø·Nƒ½šÐ#E lDì¾6½¯GMÉŽjÄ.øÛfä®5,Q:«Jz–pt”;)‰“5¸/‹£€ò ¦Ãèóø ¥å;²Õ#4#eHoT#*ô#á°ˆËsÚ×?7I¿TŽf ×?nù†XS¬ðÞéYL£\JV+½ŒW|mì.Ÿn{ÜÅdÃ$Ëcâú‘›×ªß_§Êã@,¬VÇVÂêzœ,¬¬¿v¿ÞˇŠ;i¹eçªîqŸ¹îVHÓ£pa_ˆ×}ÛŸ‡%í´ž’I‡è£%O2ø“¯„Šš€yJzšœÞD¬Ù<7¦¨ÔÊ`;é]ô:Éf|ú óþ,µ0³Ï4„¦3ÍFœ q&©áÀ@Å-9Y?)LĶ´’ýÉMʇ'±ÙÍæy1í÷ݦuÓá{›Õc£¥äo‹ö„"è"ïf!çƒQÂ]QŠÛgjlÞ˜/_vØhÑ"‚gI@î_Ñ8RÅ#4#4“» @áp¬ W¼¿‰\™=ô41 †ý®9­¥pl«¼¼ìì/v_Á­älïå1‚¯j£¸~µ³ 3£æo‹ï˦ŒÄšÙú â l®1¼ù BÔU;lŒ”;Þ#*Lp´,ÁQátp#*<4¶®©à‡¸ÂÑovŽ^ñzìˆf;½6”›è/áÁ®ò›×C¦A“Y<è!TñÂ~Í.]†Ãt@i Y¦\49Y“T>HºfÍûÑÊ#*Š—yCYðíÑöD¨ËŸÓðŸS»Ê÷W*{MfŽdשüpÎAΦ‘¥*AG›ô¹Êäï?v–ñ>³ôgàÉÁô¦öà:rpúÎe0hä¡Ó'Ö$j•\Ô5{#)Pç^Yökr/ õHÞ‡Pp‹^É Îá–—;#*q6ÓÛ„TÇl÷Æï?Ä]%&JoKиþ#4ºÃ”ìû½ìâŽúS4Õ+×£¦ Œ˜ã‚9Nq”jçžÿÍ–’ƒB4ü#)œ#4P.yìD›~²rð”6‡S9y{`Í+b0ã¼5_)¶é=šTFW,iÜÓ&)#*5'áFånbˆohø#4!&¸ô=ØRU/·¤‘P%r"c¿På? ×$l'™SÛ¿Ö±Ô¼tCN'{¨Øà,º®Èv#)þÊÇ#4ü"&mÒ¾¬Epîn;«ÞNIÓg²Ô« Äç~$ð;£ÈÛ[%iÑJ$©UÊZ¸¾NÃŽb‡l’p§´;|\Ñ_ë÷nKà{°ŠWi”„bÅl„Üçw“Ýe˜n#)Sµ#†Š5Oá1#4»LlKr7Ã9uºº#*?­nH聯‘Ω«ÜðsTNÖWPøÕœÀ&úu›fi ¬¿à³4ß¡§.[qMÎ\•ÚÓÉ°²>f¡PeDŸaEJ•ƒõ¼7hsç)V¡ëHÃÆÝ®Â[²s ¢}ËŒŒ#*àâö•dɉƒ½Ó:~t[8ëhôŽ‚5TµÑ¡·7…¢ù¶û¨®#*\ NVDµBã7W1U­lˆw¡z÷5dm½¾¢`|Åÿ`ü¯bæýÎøOž|—Çÿz²ùô+þçÿáƒo˜«£{C¯¦‚â³6s SÀ: ÇXfÄÂøBPõLú|zAF07íYBúd/|ž^öÍ`ã½ï!šn^ ij4¼”‘Y#4:/$Ó~)^(W³#*"´Õc1R7í÷n’]Œsz)Oß+Á”AÙŒ‡#*q½&v.Xƒ·oC‰4Díó—›Ó[V¹†÷V×RK\’ØÚ*èª#4Õ5©Š­É€MBä«ãD´…†/Æp눚’î’±b$ÖOL]’-”è•Âí•Ìk6óÃ|æu›/Rgq>êw»OÞ´Óvëƒ|üæ&?(©µªN¡ó5PÅ¿ÁÅ|Cn_·òDÌåZfÌú¦Ñp3–^%sJO¢0ð•ô9ué,k:E|ˆ7 i-ÒÚÒ®4Š~˜`Š{ƒ²7™ƒÛ¶6Û´‰ó¥TVÚ_×#4¡ß­Æÿýks-Z‰TzÞ\¼ô47½Áy˼Œ~ ÒoÕêJ3Ñ ´—£ñ“æZR«ëBÄ!¯ùD{rÝÆ|›MÇ$æ÷ ÜëÈó«‡l(N¥¦ƒ.¹!6kÒcò‹n&&T ùùºiÃh-¬³µ„`^…AO-0ó"•»wí.¾’h3éåÚ#)©Œm#)õŒ.¿-awX7ypA…!ä.ꄶ!æYDž\#*\Éò¶?×ÄQ[­ÃøðTO)ÝŠ›–Ùô¼ÂäB¥¾Ø$d¯mµM¶©áÙ‚ž'P¯'ñg#* ÆésY¬z­„“g8짲tK:IéóµÔ ¼šÂ É:àȤb•Ô)¶–/ȺLò©˜M*_-?•­¥¦ XùLF9?ïäÇÀô†d2Žªpu–·ƒ¢¤ôodwm•ËìÖLBEøUÕð5–˜ñê“MÄã9ñ‡¼õ’40¸iÝ£è8†pÔ³¾FÃQm#²ó‘&­4v¼’Žs…‘~YZf §\²²"ÚÕ96Œaj–>&3Hn™ùje¼nÁ¢C »ŽÍƾU8‹¼hÏaX~ɦ7H¸¸X‹}ÜVÍþº¼t9žö®{úà “C¾s«Œ#)=PÁ¡‚X„#*¡#î_Ï}‰7lŽ ßËÒ!„¿ÍIHy²˜ÂþsîÜÞýïòñÿðdóÛþó“Ç_ï_ þsοùpˆÛãPÝK&1/0Žíl–”g]®áA‡nÄ–jçõëÐîI—E¹ÓÍâËNÇ€™9«FÑ5XÇlF{äp ¶ e5œŸü ³ÁßÖ?#*êw­æzÄ0¾ Xzo¾Ê(ù­‹G2çõ†ƒ­¿†$\ß_Íè•Áyk€À] dôè»#)—õ@o•N;"P)O\zj“>³Ér„½é"]„rT q?vï` %Ÿô¦x?«J´s0àüIÿðs‹ñÁNº8Þßá~rZ‘:ž• 9EüÕoV³z6 ‹&B@WÐR™”Pi爼ÜÞùñÕáîÁR,˜&ðƒ4JФôK«+p:#4›^+½ü®™Eœ"蟺ÐÏÍkà_{=`H]¬bf—÷8JäÃòNƒÈn¿O‘°°K¢¤+ö_Û™Fž~‡ÓÉ:爫‡”Y¡ïJ:ÃD*%¼ëø6±Î» ê#*W´¾swùN”¯°ùU=SÒ1¹–!Õø*¥\“¯ª¶íËtý¼¥¤é\Ñ-a0¥ê-êãׇLA†\³Fèýš÷ˆ£û\†S»B¡ÂaR¥ï†ãk¦-þP0¯deÕš¸9àm$tV ²ûPu¯µ{³Š.ó#47ÈH2jçãI%v©áßt6B=§°´Õ»M«ê·XìT ;Tm×åæׯÜ5†0¿Ï³®3‡iU§Ã9ì2g›?ÿ¦f-2´j¬tq£gûÈÎ*€^|¸f›D>ÏNŒoå…ÀZt/(?²8žš{yeî%Ï}èˆb+­2?Ä"92ȼ`|ªôI‘žbpÑ% Ùr}[ü¯zÿƒÑËþ#*7Àù÷¿Í§Oóïß~½ÿ}1øÿW¨~›}©Ò3нÿ9Ç@@à#þûÞ‚€ë"SRÝýþ‡ÙMßhê%+›õÛ ÉÊ«³çëÿ³òóåï¿Ù=Ú9{s¼ŒPù+8}sz¶÷2XÁfA?ô‡vÿj˜Mž’1íöÈ|¸{¶›=<Ã98žÜ@ÎzwÒ]zLÆ–»Qÿ †"ʳå¥ï¯Ó»g;Ï$–ü˜Q ÎîFé÷1âYâölûøøàû‡ò‘Ëö"ìC#O)2Ÿq‡@“»Áù]ðKû¢ŠÄiïr@½™Ïþü/Ÿéðèl/Ÿîì§ýÓ#)þ¿¼Ø;Ü;Ù>ÛÛ#*žïìÅÁ¾<ÚÝþ¦ªü=«Ò“'üÇ…j\Þïrï}ÿúök=[ÌO¼aóédÀHá;_«›ŽúÃ;”p¶`S@ ,Oj±ÉªÀhB2sFÕP”ɽ´Ø§m5 Ö \q¢uúqª‹V×jîB¼z‹FƘÅ)óÁ%ØÜrÛìöÆòCæˆ^‰¯½q‚8•‚—MìÍî)i§!5ó¤Ó; p¸ƒò©áÎp0a×»áËvçè”®H”ÁåY<ª¢b-¥zXR ÚÙbåšÔ„°‚¬Ö~ðû‰¡±õ4M®ŸñÛ2㪤úus-Ä ^è„m¬1ˆÓHZMU¹GðŒ5Ê‚®¬º›üƒB“!¾j*ÃÆ:a>–-/V+f½wÕº`ô³©Esú¬cÇP»ž v ©ÍEG46£Ñ´OªPm¬\‰ç0îA»+´"ЛñB9ׯÇÃmèï^‡4ñ2|}¸š=4•{HU{ÈæöË‹#)ÊK™9§#4›qç#4˜vÑp9úîÉy#),QÔžßm` Ù–¤"EZg#y~?YŒox[òþæÏy!Lt?‰}ûÃ]Ë’w´¢ÃÛv¿×Í%&{#4‹ûœ£?†œ`ƒM³§Î[Á‰<ngò~ýÉcí™Qævñ¢gyéŧæ×ØHôݳ›C˜Ï5XhJSÔSzéÄ?ÔªÙRT¤²ëéØ.un@Û½™˜†BÑíGÉ”Äq„^ÌLz^zøâ´úØク½ÿÇþqëåÞçßþˆ ø_¶"GW§†…nó£oÚþܯÒùÂãFS¶=›¼Žo°él’¼#*cnU6›öÞ8„ž”Dðëƒ!×êLf¹µ%á\„Ûyz5›ƒ'J¡>õé¨ -Péª6Ciš¸ù^+íê¤|Î$´kìmMø)Ø<E›Ù¯M–U¥M‰–²çÔÄOhn!ŸçøùíÆÇïˆô9´‚è{àþ« ÷É«rPµù™¢|Eš‡7¶6§«²Ü²,F¿ |V÷@Z›Lÿ{ÜÆI€m5ÚTOeŽÀ_«xçDteÅ#*#ñvŸùÐî¨2Ná…¼ÇSŠçÎ$ïS¤à¯‡ïð0Gwj9×$Ù¸sŸk’ÈU÷ê9•sNßÅÓx¡¶…mW™>†Pq˜·Et骦pµGÕbчá1OZö²÷ÈÉ$€ÿêxIjOjH|TÒ‰ïÆ=ØÐH)ù?DþwÑOg€ÿïGßmü÷Õÿ÷—"ÿ+7 ‘ŸøîS¡Ã¸¤^—݃yêm½ ö¶\Ã’òvœ÷z’÷ƒ „”Kàãv˜ ïG¨^&¾¢——€Û¥ÏÒòÒ»n‚÷°LZdëJººr(Ìff«RW®ÙÌ]³¤"³™rG5›-“3Ø+ºé&F_Õ É¬[3à9õü`ïuͦ“‘  hÇKmuávAQï` ${í6áü[fÈÁ!­ÖËÓ7§ìy’iͬò0\+²tDúÃV%Ð’PÕã0ã8Pá^÷ý"ÀÞÀ=ûV›®B4ù[{×E§G¹ÜõãM{é$AȉϿÚ=Ø©9¿¿°ƒ—HJP´,s².\y«s….Xí#4'JQýWæL,ÇL(4îÃ):NÜT™^Ž¿4k0…&Î<áíAéøÏpšñõW§{øÆùóöÉi#„yŠŒ^M¥ÊÎfeIöÎí#µ)ªŽVŠ²ñÉx"úKc«2=^yûö«Þ66ÖÿRo®½} {ÎÛ·t椳ôÏ+±G#4­ý·4æ‰aìêéëÓÝ¿áýOPßZÏÉÜsþ?~ô8¯ÿùôÑæ×óÿK·ÿ#×ßÕGÿEgù¢ã°߇¤}n5ÂK85&ã6îâ½ ÒæŠí«‡{ù—':#*Ü`§³ùIþÙ¾mÏO!¦ü^"n÷|ÊÍ´PjÛ öÌEžŽì«MrߣÎòÒh˜e½s¸ÚŒ‡|¢ú‡ÜºøtcÝ°õv¦[Z½œzÕ±!(DŽ"0;B´“¬V‘Þ°ióµØ%s<jŸÛÝ®._uTmA¨E»µ…d€…œ…ûÐIÅïX n®…q¡þqÛFf %<¼"ÒjuÔžs+mqQ¸j*ß|¬_ƒµÕ± AÍ#Ø”‡s ¬Ë-z¦‰#42ÊÈCƒtýÕÝ"#)H™FÞ=ßQ#)ù†´E¦ñ¦°;¡žöôÑËãýƒ½“Ö󣓳“íäãðUU2ÔdêI”aêÂíó#)ˆ €›vÞK›Ÿo„%Ê!•gtéT5sŽÁéÚ}Q«#4aµ=`ŸãKùipY9Jè;U‘*UÉKÐ*[—”ë&¥Ã!æ˜Ñ%H axQè ÄÚ@ìÁkú@À:Ê—³YgÄÁ²j§cn¡"âÛì«ÞØÂÿeÓA§ó{ëm<Ú|ú]AÿëÉæWþïK±ÿ1£Fý[,ƒ²N§T}¸Ó)1#4;¹äîì„7«ˆ—ÕAˆ,ñŒt?– œA«cãØN§n£¦ Ã:üTÂr •a­Ng›ÔÑ&#4о… vþö¾¼¯+Yûoô)ÚJH«¡%/IˆÙæ#*p&s…Ò?¡4h³ZÂb‚ïgk;[wKàÄÉÜ{ã™uŸ>ûR§Nª§\#¡ÝŒÙQèçXíÚ†G»hw´ËÉÕc˜qˆetÄÙý'íŽj[´È®È±)škQä\?Aëgt¹7ê6áTâhÏgîª òkQ¬ M‘¶(r­‰æÙÝ'àÁå1O«<3µ´Îw3Wm¼ù­ñ/ïÿÄýÎÄÈ}fàýï'Ï62úßO7¿èÿßÞÿ'·£aýêË}Œ¿¥žð:[]YoɱB.ñÊ\Øl‚”?¶g {¡¿¹E»·ä!ÑH¿ÂÉM4#ôG£›à}7†£3Tx¢Û}¬"]ò, ‚DsKk~71qÌJ¢Ö¤Ô+ˆrï &=7>òx%<»‡/Qž¢Ú—}]2KtÚž„Ì‹ä©ÎϹEãƒ\‚úKÒãú^½?I”œÉS§(ÍL»-Ì|ÇÅy®‘ܘ)†ÂºëšH}õ-¿q:gc­c40ŒiB*?ÝV½³îwXrÄè£#4³d.X驪RŽ% Ýí[ãÐ/•"Âç:s/µîÝÙ3„OècuhÏ‚ô!!Ϙ“Ë#4v–'IuŸåo0+þrc#Pvk:jGÆxé:¼A¯­ýâ€ôíãÑn‚í#*Ê…ѵʒÀs¯x8­<fV›b#ЗM®­†0„ÀZx˜Œe{úú3ñãö–¿ “| øÕ‹aÒŽ¢#*D¨*z%4iôúí$i\¶!χé•oà??(ÇÅ¢‘M‘¼K#)À-,‘íÁ.Ašâ$õ=o¹U!QÖÆêM…èRi„3s]›q¹—K]” ëÁ)Íë,u¢¤{’n˜¿ßñn‡SèQ`°_'øHþµ¡‹)NHîÕSó{m¢:^-( ìGSæž~œµöÈÌ#)§^+Þ)J×=*"!¬W,0!&„%SŠ'.à#*Ø8ª±¡æ ɪçÏKoQ·5l&k´öq‹xqÕ½"xy5‰ –_Y¦=üÐgr‹§âÔ»ÒÁÍL ñj27ez%ÞäβàØ’0ýIˆÑ½š˜%w¼Âcx"íσCSp`‘×.«7£"d2ÃöhQYÜ#ô’-;Ó:QxñŒ1 ‰h)£É8_T™ð\ˆIg'V.›UJÒ‡…ÆWFãvÓž”¯…I­2•Û-y/›ek•É¶ä“0 TåÈ÷×L²Ö=CÚÔ|ü‹£¹+˜È#)¤1¬j˜à\5nÚ**¬˜ð¬¹åy3(¸ÏËÛžÒb\s×íaô°+êf —8ý®.èÝnÏxBÞ^Ÿ=fþàøºI2½ ”%ÈÐÚîø£Þ ácå#4O‹–úzjM‹Jþ.©ÉQ/$%ñ¨F4ìxÀj´=´ŒÚ¶½W<GlëdÛ+á:æ-ü#4ÕGJ÷0`Ýt¶©äsÏcB}&;/~&. º6Ž†üf¤ã¸ekþ;ýxI+g¹aCíá4ñ†ãVïhÔ6FØ̾¦t…eÝRý­ùeë#)bu|ÔÉ°U#)ó‹l¨#*Ö+b‚b¦0¯4f ºÉ£ ðªø©âI#QTGúXÞ°×BÞOëãV¡¿»¬ öŸ ã±ÓÊu¸²rý!P~/$÷£±EŒ¦ƒ±uýAÀ,ŠÊ®R`b&ä¦ÙUg´xp_ŽÊåôÛ«îŒ÷!(û–#4U§6«‡âÆB”˜à§°”,èˆ[ÉØ\á!‡?DÒàÜ gÍÝ£:›;U®.{ËlG¢…µ ŒÜé«LP)°m‹Ú‘  ŽÐ¦º"\ó•M‹_©jÙ(;•‹û]ÌÖvÍ–‡i Aâù“C¯5D^Z#>kÖ4u¿êzQq¿¡4]ú°k¡É—%Þgr “ÁbÕÊ<¥GÍÄC±Bì‘ VAvTÍ|TféMdwùvªß˜µàå*Ú|ŠÎ½3D;#4v€šŒ æXxÃ<¬h{%qÒCÂÏ.®Ïñôv…ãë.7'3Tâ#B¤ÔØY”§ô:ç¯ØewMìÂÜEš«‡Aëqz{è%Ø%˜ƒ#)¯Õ\¶áœ#)lžÉÔ[“êrØ`í¾c#)¹WÈ6êWîRݛԕØ؃ÒyÜo¹‹Y¤ƒÒKÑÌGH͆=Ðü¡z-M6ÂɦMà$D»P¡m”Â7ÃÉF–t#Ñ7ð$ŠžÒ;íá²ã i"fM`“#·–Qª¾Ì´A‰±"F×Ɉ£íï(™Šû5>ä[äÄn‚Äõ(ÒP–‡^‹C1¶öÞ¬ì˜C‘cP±ÁÆLÕj“Ø…Ö/,ðî 6[½õÔ6^š+êÙÃô£jNcHzѸèÝz}àvÄWÍØyI›g%{’?(eû3Hw4¤£ÑMRBÞ«hKW Ôlh.Qw‡cË>Gf˜¡ HŒ¤ÁHHÓlü¡1Üø  e¬³‡xM­Ô±YöLµÔõyôNÌ°bóMNlVì~^ìÁÌX©ÍÞ+#*†^2m^ñZ ˜#“¦Ü3(_gø`²ü{ÎL–4‰“¾q÷RgD‹¦;#)Â,z6sD\)šeMœl£œïò)7­Jæ4’Û#*ly ;°e¯ÙÕ²ÛH›È’ç´®¿¸%†SÙÅ/¸~T»ƒÑäiÍÜ I`C°îŠ¥áü8·ÊLâlC€Ø£_8e¹K"P¯Ñoæ#*P„bÅ…ÂÈdáË=dž\j{ØEÉ>'>ê¨ÛŒä†ÒqBN…à—PsÅ0ÉC–•„P4Ƀ"çÇ"Õ—ó`"‹2“L63åõ¹ØŽe¾Ê‡œt*‰ŽAxéÎâ¦rmuM/Q!=òY ‰Ž T@«å/:aÑ´aÐ+°'-‘ùÏ€¼l‘@(íJzÍ#4˜ºï§m‹7•ÉͽåK<ã-U¬|çrýÀ4XÂ8NzÀUDZ%)5‚ME Ç+FLN“I×ÆqÉîW‡ [ûº/,åähç©Ç<¥2ç„Søßÿ]þÚ?÷ãÿ®?~œ¶ÿzòìé—û¿/ø¿ŸŠÿkiùäjöÔ°7DŸº­á“ þÛÌÇþÝýû¹4p~“úÊí æïÃõs: r¬ßOÕÊÉâüþ¡(¿Ÿã×Ü\ˆñ»á÷Ä÷u‡è3aûÚ­NcûÎé‘L‡ü6dßOÂõM·}N cú~Ú#4È ùþÇ°|?’¯ÝWBò}ŽïçAñµ«öÙP|aø>Á×áýŸ‰àk—’Eðµ¿æ!øÚß#ø¦s"ßtàC|èZ^ÎÓµÌoåçÐÄœ‡ßûEGó¯§ÿÙo='À¶ôGŸõxÏùoã1œùRö¿ëë›_Îüä“çÇÂéÙÉÑák Ì|÷ÆBÖÓŸª{1lb'§/骑\µ“ØLg1転²ªø‰c1§åû*™ ÖËö%Gž®#}C˜)„¶ ÛS% )=ÕÔ·zm½EÉJˆû“.ûŽ¹R:æuÓÕ]™Rã Y•Trª.ù›TNãýÓ½ý“R2©ñûYüöh¯Z·µLöDövHF)˜›8å@#!‡q©dU:äç¤ûïvThºÀ®TZÝËvBŠB©¶DNjV#4°îÜ–J·†Í8¶nÝ…ô‡ˆ¾lW¿Ÿþw›£æŸÿ´þí·ßfðŸž}±ÿûKÐÿ”zûQ`x9›}º8§ó=þÀ|Œã?ÈXw¡#°.Jïcý©Bÿ£¼w¸ëÿCw0n'¶ÿwXùûßÍ/þþÊø/xºÈÓƒÖó]@;b¼%›£\ò+ã¦ð‚ã¦a5VÜðâ_ˆÊa¼#4ŠwmpÒìž(q}ä¯u†ti%i£°kÜœƒº‹‹«) ÍêܼB#*0¬“Lcl,ð”¤%Т4ò,—°%'qTãdõÂ/mÇ9µ_z±õKÍ;ŸÔWJ_Ý-oòÜí@WÝu;þ¹Cîòotï "ðW,¥î¸ÏïXL}Gòê»Ñ¸qÙo¨œ*+/‚ódåëàΧÂÎ?¬Ê—ýݣû—ûgowŽïvßœܽ9{{p÷êèðìîmõôtçuõlçåAõn쿼;©¾Þ†øŸw{÷^ýœ)ÁÞ²²ÿúð褺»sZ½ƒ··ïÎöö«#4hF_ÜÁêyRQAÊ1yÚç­ë4—Œ{i5B(â£èÜðÎÆv™‘ö³=.5 TÈ7Ñ0J ¥)4Èÿˆ¢i#`ž íפ„qôØy³*»Ù8Íш"Ù£žN€<>ÁájÕZè.ívZÍã2›\^‹“ãMe®—Ì·P=>‚P²@[ñéøO9¾u4à1£ä"Êväý+­Îž<øßÌå×Öþá.>R°¹þÚ’G”W8¾Âƒ ¥{6|…‡¾¥}yð®*ˆ¹Ž â¥I™YvŸÃaŒ^1Ž #*þl¨Èé’ÆegÂôÄ…óy[Ъo©ArH4š‘ßOnš¾Ar¥“]a“(µJ$¡LÝT°[iˆ]"I4Ò6Pf2äÝ"ôO-¯œ[\¹ë9>Lÿc0%lé?Õþ{ýéãÇ›ûï'_ô?þ*ò¿E€G¬-Šef(ae¡C§ Ü¥Æ!j…”[¿1h%!PèêÏÕÝøøèúϱa…DEMÈ%—¯q·Œ P‰ö¬Ý¤B“Ê„åÕé6ç'•T(I¥F7`&iÓFòÂô*i{ÉèêEtmJŠ÷ °7Qg¶Œý‰»%k¢ðE¯íµ“† ô@œ™LæÆ…ØLŠ$¶dKÖ#_esš·œdßâÆÛONì¼%NaØkÍ‹î±Åö üzwWãß@&4Uz¬3.ºÅݱ<’XU Î¤ îOŒéövÎvNŽŽÎööO>Є•’½>|çñ­èµ†Í)2zèìk仺ž›ÊåÅå°£¸vg-&‚ßi£ç—ÜN\øX€:PD§.ºéNtˆ²½±³û#ðÎ ¸))òÕ9m9Ú¥†·nºkï§ýù‘F-žÚÇ{¯DJ8LÿÓæ¸ g”¹Qa!/³Œfس'ÀG |ÁG‹¹UèY°ÑBøq§¥€‘¡óY º$nOæf¾£Úi‰ÞÕÍ°ÐUª$¾xJF7Ì{šx m"ðé—û‡øˆœ5¾ZK)2uñ­`q«+üp"?}c­4É/Q4íA…vŽ‘u»F¨œ• 9Ôþ¨×žh4#)²ÎY/,}¸‚å& ˆƒUáós´ W¬’R6†¯Ft¸ Åô©#ZÅ„ ¨z‡HåÀÞW”«³Êt„ú·e£õe%Z>hÓ¬%ýA. Ⱥƒ\‰”Lÿ9i°º×üáƃPøf­ž-£©luœ~Q>#4ˆ<ŒÃØnŸg5c¦šW'ÀvºX±A;†óOŠ*S£º“)-äN£ÛCy&*¸÷ºjJY˜üµ—¼\¨È}†'aÂ#)§½Nmƒ^Þª9zET…“"¨z@p¦Öˆ'ÂÜœ¼"Ña¢O¸}C'Öiу-«âí T^v‘Þ²C6a¥,zp@ò.ÚÞe÷¦ŽNÐZ¨X.s2(û¸=k`ß›ðèë7Go«EA¼ô®ÉF}D–2"PB§ø#4H½hbñÑ‹D¹‚ˆy-§t~eˆ&"[Á9quÛ¸šür?B}#*ÐõcpͼnÂÖ(n«ñʯhNßghM‡H°ûÃD“ÈÌeÜÙm+ÔÐû׬dǘö岿ª<#4MÐ×OÓA#4åf.'Z¢ÜRwzQûç_ŸÿZªýò±¾œôCØðC+³@œcé†e»;Ö•ŽTy™®²‰Ìõ•ßpþ뵚›þýßƳ§ÿ/OŸ~ûåü÷×ÔÿoŒÃÖ§ßõáÔ]๢æc¥ô¿‡”ýùe!=µ B{Êõéàâ¶1e§´¥"[puÝ{»çÝlVŠA•7Òxä­6: ¢Ágs&¬KÑÖB¶ïýܦ¸š’{JÝ­ê¢e_¥Ú£njõ$‚GzO£tî+;ÙþánÊFÀQÌÄwGõ^â(k#)ŸM#)´mÀžc€¥;¦ÚXÀ(Ô¶´Ö꣆¿÷¦º³W=‘ë–V—³—4ñ‡îä*æS&&}ƒ¼Á›Žê¥7{'ØÜtY¢[º—.xÜF–7ž20ÛíÂxúõ{/xièôe+áY7ƾÐÒïÙQW_ Hÿ˜éúÿHþó¯ûèÿ·³þ¿‘ÿýuè¿+ò#$C%÷˃„v¯‚h§ÐFv#4Åäü^ÜÃû7›\_J 9rŸ [ÖSå¤içô´úöåÁ~_Nª§GïNv«äy\²@•{AgI06©ÍYFÐGÛñfŽ§M¼¿k'I,¨˜¶Wͦ¥hʽ·ÁÐzÑB”Åœ§2žÑ½:UH°–ü#4Vˆol${u…7sìcUyöW+ÿH}/,Á”C¼ª”CE 7ÝhmÕmjñÁgAå­?ûhy¤Ê€ªÑíû$ßï-4!TµSa-?»ªä@ü…‘¦Ï)Þ>Gþ›¥o¡›©ª‰tô¶´5`èsÊÕ˜­_ªT#4\Û 3Öù§ŒÒ>tù"A n›£©¨³è=ŽcU‡GÔgØ_ÿÊ‚ªØ‘_ÿʬ%(Y⨢ò”ßKôMž“¥gÜ•#r‰¼õ×fó¶ûçè7ú¨µ[÷ñV]<¦Ã¿ ³’ò<F7•cZ¼¬·]©>Љë¥ÂœÈÃf°VåéB:\Tßbä†û§Ê¸ÝiZ··Äu† Ùu[#*Y§©Å[Bî?#=´¾ig϶“f¢ú‰©˜å²½™0¢ Ó#*†^ -1#){#)#*÷•óv=ÔøµÚ#!ÊG¡ÔLd ¸1ÞúÓp*|ÔOí¤y+óÁ³†f€™>äCÇ¥À”^3êë;} *{Õ—ï^èN‰b¤ÒË{uz¯×]¥ÝS}“?ˆvr,òRGßpj®ú•~‹#)†%×I-=%¿2âHyõQŸ˜gœðÚëÞBâc2ܺˆ?‘.d]É›.±ÐõQ£ùPÞpл¥.‚É»ï}ZŹÂ# ¢ ¿ç$&k¾)•µŸêH;Z?Ü7]áý¾™¨fœš€Ãfjú#*›ÙÉ7lºSïh×™xÃæç]þä˜õ{ÀäÀÆýÁ“ã~‚½ƒ¤e#)Y·ÕÐ÷y«ÿY=88ú‡ïè)½Ýe½$â'øI++÷ˆI†‰ÄÀVSÒÌ$†£a©"‘òÞ†ÅÀ›¥Æf¿ÅÜÜ#)oÉ¢¼ÃØÕ)„ '´ÞmPøyc«®ñ#á¸ú%©¨ë8ò©×8,ÊÑáÿ,í.Î]}¥®}?†GYƦUšLœQÈ)æšN&f.§ïæ`Z7Iˆ~ë[¶šèøjƒ> ,_0`€‰7ô/ñG„DÈñoʃ1Þ")‚þpRUÄÕzê»"ËTSl±?U• T_³x‰*l[%'"îy×Cîm#)^E Û\†b˪ˆYó¡|8© Ó…j>w׸»ÑÙdñÄVl'ö½öÄN†ì1ª!L-¤<¹e¥ìNÜ?ŽßV- *Qê"#*²®3<º²ŸAÞ)éKEuÈK€.c­É¤^Y’þÒ;·\¸¾\äÊbtÒöÙ…@÷øÿXßÜÌè¡Hè‹üç/&ÿÉhýç cƒ„„ó…BàìíUI…ì+Rp÷â·§»ñOÕ“ÂW¬ÁN¾#4«?œy1ñʨÄUjõzìL$(|…Û]Ntø€Šñ+KDDð#)7Ãn+ð~õ„–}ÿƒG*0…·;û‡¿£ZÜüßY­#4ÖGoæø#)¼D3ô€¿{++ðrõ.,qTüöƒ§Ÿo~ÐÔùQIgxQä}Ùr#*CK‡K¢ÉP‡J¹œDX€ÞYð+ùq—OÈ#)M”S‘窾7ÿ¢ OøDÄeøSÜVÇ,E1¸Â_Ÿ„I˜„"#)x½\³‰a_sÓøïtYŽ e Â>× -‹ÔÔ#@Í_¿¡”6]È^‹è­DçS}²¤*¢ä•Ê!û#)µ‚$Æéà$Ö3UR›ýwYöÖå~(²>§h»:~NbáȤSÂö,ÐÙØ•PÙ#){é‡p#4— C úëܬ°…ˆ y0i,[Zw,öméÓF¹2#*~aÉ=hÿü3;—áϳ™¯=XšrßkûòZÝbSÜÙ’·Çe°VÂô¹ªÜl]UýöѦÅÐ#*äq`–og8Œ'?„#4:•<~áŃú«¬Úu¤C:Žú¨õºZÃRàO;盛p¨eþç8æGòn¤^üzf øƒÀ² È)K‡çøO–œôAU|6‘tÍ×÷×j·zäKUßîìžù:µÆ·×IóƳÓ1Q6C\·¥ÜÙ¾-^wúIU°ƒQíÁâ[·\šR²– ZI!ü‹|ë9ÏôVJð§ë*ÍcïÈ3¥~7{©á„{:kS'–ôÀÎB:ºEÆi´L‰™Œ[Ʊ2Šú8µ‡»€rW|°sòº¿:Ùyý¶zx†³õ+QôõžOÝdÒª\mž#* †Ò°Ó‰'·yß™=(M˜Xv€jJ~â\{³óS5¦¾Ú?¨šÙ†«t:I¥UuQ£üý3“PÀ„÷}Ó"[QSóÒ%þ ³Ûè’(ì7RDPUBU£&ÉT¶@€J/÷_½=ƒ‰7’I§›ùþàéΰÆäÅX0úÕY“j3¯å½‡+>zõê´Š•;;ž=ñ Ös§åF«ëf~ÖF8«0S°>{’u¥a–áÙU™e’ÀËÀ¤Æ ×bõpoçÐYŒ…ä#4ãÒ²KšÝnÜï×ê^œêúìÉæ“ïCüýöÙSü}V}ò„~¿¶ÁïOãï·ßÓ¯÷ñ‡LnÝ®ÎíÙ÷Ov1öÓ'O9—§Ïv%WÎý{ɽJ¹cn˜ÊÛ)/hC×Þžt»uoՔحã²7Ui_4[°õYuùîû=ªyõq•~¿{ú=ý~ÿt—êòÝ÷»Oøý»LË$;«£v7w©£v¿ýî©d󄳡äð^ÝÄßïè×ng–Ó6S#45δ[‡7&ãÚð "Ç2œËq{DîÖ‘óo `.çË(÷ôµèƲ_œM"ב#*]I%òÇ~#)ó”@_|T5”73$AÖA÷ì¬×®ö Z¢µ”2†D#F…ÜÓëN&= 8ÚdõrÎy˜Ïéí郲ºè^ú9ÈÍå#*ë$’ÓIYY{îq$'¥s(ÉÞ>ç•æXjcO›K–—µÆS†¶¦xl1‘p«OKÞ Éî-Z¥H”" »Úôr+že[í¯LÀ"Ÿ³=¬žåÂJ¿pxiu5#*Ôï‹Lî?‡ÿã8ùü*`‹å›7à9%ÿ[òEÿ÷¯cÿNÆfû¢Ñ¼ž¯FoóÔÁl…®N3ì ‚&òYø„&ùô`E¯²Å\Õ²4â. }qÕiæ"a±må¢Ó'#*:ÔiÚ×O¯îøþ«£“3û(éR@ÅŠøßDŠ'”eLÿcÿðñ¦°ê˜qŽZ/¾É Ôª¾*Þ{-“힉aT}]Xð5yÙR À»‚ÈÀ_÷u°M¾¦°É;Øi;Œ„"yxÔ€Ô*w.DµÕ4£5M:^¬ñÖ×ðpµ6D×yuþÄZÅRéD£æ¬Ã×ö|ÆAÎ`c¯ñ³ê¿¹Ø×þZ–‘©óºËö”#)EÍ€·;‡û¯Mp!ˆöšŠé¢f§¦\#4uZ/Á#4F7ù1çç—ñÅ‹Êx˜Di|^£b6Ȳ6#4šîàd¥rÏNÅðW¥@ëN9'>tf‚K¾xfYS‰°¶qqrP<nÛ`<ãâùÅþ`Òî_TVÎ/~âHçÉJéÅñó~ã_Ãñöyk%8¯Ð{w ïE‚½ *Ií©ÎÜ5Ý„iÝ&÷[Q§iŽ›üŽ¶½á%ù €‰Ây52ƒM`~”«IB4¸h¡P¿1i^E¦1¤ä#c…@ŽFׄ⧌%ü&¹rõÐfbÜGéõšÊ£‚ø:¢” CÞÇSò§êÉéþÑaTº†?v”_ñû'p¾~A~G‰ÉF( ›èPᶄl<Ÿ„ØÕ<+ÙØCv#)<wØ–K2cwßE<:KŒbBÔô´ðàDŠTâóHf$åQØÛÓŸvãÝ£·Çû@šUE- ¢DQ½Ñé#*“’´Ã'þ„ë݈¥ªm•׃‚Ö“š7ý%w+²tÊRÉKn–z‹œucÙ!wN|7#æI@ÓàÛéõ.·Zm@= þª“¨†âOX~Ïž Šm¿¿AXòÛýgO&NH·ñxfß=£×ýIcТ^n·1”òź”€]„¨ –ØA4Ĉ®_*•Ê‹Ê‹ó#4ÿú+ ¡r{iBò»¬aÿ±}[rßüXýg|p´»s€Òñ7°Õ†þéÑ«3àïªççÿ~xöäñ&*wŸ3:ßU#*ç篘¢ûFÂutªçš€ŸµB ëS ­ÁF\¨1xß°k(µs+WLûX9»ú!å2§¤ 8ß_“>Äay²äd…—^ƒiQ½¸¡‹~ý(#4Y@Ô¯rf©RÓ’ë°HOY±¤§à½.¬ êÛgO΀w<Ûÿ©ê»šZ&?9îQsÇÍéyXõÏÏýU—¸ªmêˆÑƒs#4Ä•)PZR×qþ}Úß2Íš•¬ìCÿx<lM›X¶o»IµGJyÀ³CÂÂÄïn kŠG3_øD¨@líó×Sñ» ]˜œ”EÐÿÖ¥{•×?Íuàù4Êz›‘‘·²ü´)a¼Ûþ–°‡ò Û£ôÿÊ!æBq<µõ­M¼uQYã|<•¢©Âk;H€D¬Ó¢*#*™¬²ÙŒ\o¦Fi·ê3¼­9;V«ÖåËÒð_sæ “î¸cM˜ÝÌdß'–šÊ·1f»U¢7«‚•ëö-l®„Ò×1l–œ.Ã&¹ŠÈY9Õä¹nÈ+ÌÌÜÛL,HÍý93¾Ù¹T]]èukú9Ù:óRUÚxôiLÚ›$W–*‰ðƒÐ-]ZTŠ3 H燂7$(÷t’³e(ª„žÕÓÏŠ£ÄçæhZp˜cÍ-o¿?&I±C&C’8x#*ýmÚG -èøì×+³ÛÌôè„ FvÁ Ær…fØdY.7M\¤$›æá¡Ö À`ÜLh«œ‹^êDŘ°öˆ*ÐqÌ#*;êu›ÌFJèß³<â+cªòr‹ˆÃ²“O ³ b±ø·vójè#*;¬GOðˆ^€ïŽ#4è‡Þ+.'Eo9)P\âÅ——ñgy™ƒT²åeyR0‹åeø»¼üýJ*(x¹Äý#½… )É5G¯ùðF² 8ÔW·†H×~’ß]?TM2ªFV;[mÄ°Á9Íx¯X„ƒš¤dô^['Ýoz®Œ†£Ò:D Ò@­¦'h"Âѳ ±æ/ë­ Èíå ²¤'NºbÂGy‰!!iì`ŒÚÓ-Z¬¦4¢æ²°~0×A™ìTïKŽv%MTUª}·U·²Ä#}}n¾8xvžÒØLžOòò„ìDªÑ-#4­ª…V–Aú,K}W+T<p™—æ¬ÓÀg8©ˆÌ°QÂswL¼Ò~8H#áÓ4©cÈTW2Ï #4×è5qiA0Gòéækð<uÑ„ôwPê†=s¸„èJZ\jb/’a¬!* ù±µŒü$4æÝ ‹•yi‰3ʨ€;!ªñecýËËöØ@”ò»8ÆN&Aþ°IIìZè.]s¾#ºÛ ëìT¥Ü<‰Gl9E&ëgf`·Ø—=Qöm…Æ­sÈ1´ƒ9uÉËx:Š*°ŠA¶h¯„Ñp GeØ„Z]˜þ[npØdŸÞ”£ç6'•ñá­X—š3§ê$bÓ’ûWž\”§YAÆCTŠ¥¨ËÖı˜ÔLf¦‚°KëJÍ#*§âΓ+r-™°Úä¡Þi-1ÛXá9™mA$7PUÃ#)ñ‡Ñ4"‚_Õ@~U°©pd­ªsT­QÜ5škÒÍJáG*ìœÆݦ‚œ>Ž‹µmþMˆu¥¡›Ú SMÒïYãÚ9zsù½o*¯Z¦zÀ­µò¹1F«:Ci.7Aq€¢]Ñ4/ÂÑM¢f_BÞ¨ÓWùì‹ça™*+„ÿÎÉ ƒ?!3Ã:O•«e¤S±O9¢¨1I‹ÀX†¼ßäuœnDï“ÆM[+춚›pþ¹R6ˆb” ॠ¼¨Û;/oµƒ±TX/1‘®ø¶`XÐÑø6ù¦kú3‚ÍÿÈÁVØKß–…:ídrÉæÁ9¤Îó÷éÜëɾ]‰!cÁ´a¢”ÄYK)#÷äøY‡ôUTÊ ‚ H#*¶£‡qê¶Õb;„ÛѬ‘êaŽ`ü1ŽTšOVÏH&ˆ6Ÿ+ én%Ìð'iÖó`ÑÜ›™½Øè×^#)_‰ ²(Ê&(¡ìÕpÊô«Ý­\1»=@Ô?;ÝI!BÔ¢zÕ­ò£óß9™—õEšË£œ”H?›%Ý~#4$“î²úÜKËœKƒ·g~nqÎù¿=ËÉßf(Ÿ‰àØLZ–X›#*`3ü1ú4cELûp:hU<Z#{®lCYi¶› ã„f’­y(8:¾mÞi:x/Œå_­tk]÷{C®˜kÖ’†y°#*Àaóbc¨›Éô )Ð(:•èUTð]‚ð(«.ŸSè:oÈy™{jÜ2u:ûÍAô#4‚HÿPWŽ ddæ yŒ¹½ž‹ A9„:O3Ÿu¦["pêh¨†÷•¬ióoEeµ+B#2Ÿ2Å "vn]CzÝI¶ARº‚bH2 ”r£d«åŸ2¦_ú3Àœšñýˆ=…•êyèw”ÿkßÕâ¸g=˜#)$¤ÛÁkúÌÈÿ¸mÜ?ùSÝÎ÷Ê‘3€B..%õA‘­Ö#)F:^<eHþ<àH*ö<|ý]a|H§ùAá¾9¦Êp#)VöŽÌÖLLí#*ÊÿKöߊgjþ™þ?Yœñÿ Ñ¿èþåü¿ÝÏ稄: ‘#S_i.4µH'úÕ§3¿UcGä÷-¡z°÷Cî7o/!~ÇÀzjÀqBõ¡Ña謗“ ÒéLeê”]N™LÿÂC³ir쎻V"|ãð«‘É ^‡Igã'ëýr0M¡ÿjÜ4L°46UÍÎ6î£ëé³î½¤„ûÉ™õ}bt¿Òº©Òù0_nF¥%7ÛÐ|­éjÖõáÝ÷Ô¹+7ïyú]Ââ³móp[’3`úâ8$˜#4xÆ׃Ý÷Ý[ ôïN«å¢³à›0 •õƒ¢Ü¡ÚB×±òþæ×¼°¾ê‡™š0 °äÊ(;ͳ¤]{%ãm%Àû1}ìÖ‚8s²¿J“mwY9ša›šÑ2ky©@¶B5æ¤"6}‚a?l;–;J&O–»ú×䧿¢xø{è»Ý]ŸÝÎY:"Áˆwwm©©y»Ra­Ýó íqõÜÒ¦±zjz#*ÏŒÄ#?××CvºæÎF5­br3Ôè‰X¿¯ÀŽ7„4ûŒ[Óþ…r#)Ḩšf²ÇäT)ß›€3Òª–~Núö-¨r³¬â×d{ÏpÝzÃŽÕ Þ*ÀtO™n`Тbz¹ª…Dæ×™D² ”‡Yˆ‚—ø…ÿSüßûÉÓ?#)z1ÿ÷øÙ·ÿßO¾àÿÿðâ¸3EÑ@+ÞPÜɃÚ%x_¢¸³~¯’4f*"é°ç7Bå#4Ú´•rDr›4˜¼áЂìeûôQíÝW$†äêâÇMñ`Aˆ»ŠKÇ_cÅüO¸™u=˜Û˜G¡ëëŽåÚåÝàŽÓ$ííØEAú4ã'ŽluáíÑnüv‘Ê°Š•+^¨\]ùõBõç³ø6Uˆò~Ü”€wûø>íÊëßÏžâ{“S{Zað‚Ê.Dá»Ø÷³)Ók;äüËØ•k×°¤-›+ùq” £?lòäú=huJÀ£8°º°Üä6çBš›ZŠ¨k·”àŽuaÆ&ðIdtv!;§?Æ;gxé"#*À=ëD¦Â¥àSjEÜ1[$«¸“®HÎöcíÜX±ƒ¯Ù€½6JZ#Ü‘þh8Ä,SüÀ,XõY+-Ò_k\Ãyj‚ˆkœ‰¹ó¾ûuT%ѼPW%U³@ò$¬a¶~/]iQ˜þ"â²Rßýd‰›§ƒî{´¨Âõ£L³Ê]_É‹ÝR-ËžÝöû-`ÇKð9¯/G¤xË-¦CýPh4<'‡ÊdÜ)ë¬kìäÚž»­vÏÆÅÎ6ª')¬3õÂ1²K#*#)¡²Ê©sõr°¨8˜3Ô¢Æý:.‰!‚¿·Ä¤õÕ…þ˜ ø©)nÓëüF"q‚ûW#4Ù-\ÖØñãƇ¸Õ%t ¥Œ§ÝV)µR/ó–#*dÓ1È*£â-f«#4ÌÆP_”Z4š<7•Éú¦ÙŒZµ­òRª7jZ#4\ÛÒ•1c+TÐX…‹çÔ'ââ%ÿ—Ù#4ÛšßvzZÈAàGÚ=$På5cA5©oR‰«rc@uàH*‰9‡Ùe»½bEJ¥çÕq{ÙBcrLNnûªi}‡COÝÞ὞:N¸ê¢BrÇ9È‹nöües¯’¦¸.±•!u×yÃB5×[†ºÆ)¨RÙ}mCi5ƒ$–4ó|¦ÿý,>xw¼ŒBöÊ“D<Ÿ§}œs¾?¿=¶¨ärI¹{4Mq7ž»Aë\L;¼ÖΆV›‚´ ‰FµG¡…#*‹ ?Q›5iD>…O/¹’ºÒ •ÉcqjYh‚c TÆù“Ê;PÊ5RÕhNðLΊ$¢ü¬k¡r¡…¿i­´"¼“¯x²Œ›öö¬våqS¯Cg"CôÊr‹8«e&¼-ítÃA #×E³³Â3üh”™ª™x3Ž'?îê’xEÈwŒ‰n1—°Hp–“:ªIººQwá€Lç½ÛwúnÚÍë;©'~´˜¤Þ:hA%#Î…H|‹ªÉÓ%1u±¬1’íòi÷)O`’©[9gÿÊ÷XBj*]e¼¾l|4Þ¬ÛçW&#4:·q”»ýÅWƒ¼È  Ñ#*Æ*·Éºê}?yúPdO4ÌðèvÕuRã–Ä[<pØÞeÔVÊ”Dzï‚‚…‹wÉ™ôØ,od.¸˜ð¼œèuWâô¡µþ(ºìvs†Íd¨é ×RßÁJÆ#*†ãÏû`šH™îÐE:ĵoÏóÆXßN¿ï[lQÆ›õºž:šû±ôGf¨Š,Œ`<JG¦4[• º¤Ktàä^˜$›ïûØ3—@ÁÐ@¸¡ˆhw§<¹Ð)-ÄúÂ|…7Rè#mÏfÂN6 K¶Iº\BV_“" aƒT¬èLpšfNMw½tuzp;ÇbüPÕºŠËÈí;B6´TGÞ÷¥Ù3K!] ª™ìRzˆëØÔ<ÅL;Y®S&Ž°*;nÚ#KWA}ßߤ=Ojo¶½¥¥ë(w¯8Ð[Y=î65¯ÝØä*Z`@QÉ(iœ#ÿn·1Eð|3cøáecq;ìy“û¨UˆOkû¾Zn¥Ô6¨TKƒ¢•ýUÊnc«žb}­XT“¹N1¬Ó,ù©NïÇ?{*òl_#*‡i.ÆR–!pV Œr<PÌsÂåB×1_šbh—.gð±x ‡A‡—R ,®ãð‡ükì¢ÛKH34Œ/4 Ï÷,óþQòI«O+ÓSºa@Ê“Í#6“ÁÄÊ6GÈ„ƒHiH³°­Jè©À?4>ƒ„Ø+;adÚƒ&ú&wÞ¨:PþËù–€¨T«ãÞGˆ“(5, *ßNÇJâiqù&J=\^¾d’`42 BÒ} û;ôÇ~€MÃ<eK?%:#4Ou⃋QôžÆ"äÕñ_¢ëR1gçA+"#*ÅÔþ¢}Ћu§ã±nÐJ-#*ªŠãíDz”©#4}–ƒ€åè„fýÌž*3å.fø ó–ÎR½êäe÷øX “¶EI}1èI[ò¨wœÍ)ùŽ‘™þàJsúðJ¿Ûß5'ÊùëJŽª¸?<êAu甎¬Ö«é.õ}_+²eÚ •CÜR$ ÅHLÿ| ‡ÀšÿçÙörò|üåk"¤ÉKÀÒóä (öž5ŸY±ÄŸ?Ú;ÚEÏ@¥íçðGéºGÅÊzqû|ðü½šÇð²œ@Àšò|#*SúËPYÅ4fàïïÞÕ–p€+i¹#)Ï+õÚk!J>ñC¯{‘Ä­î8ÿlx 0™þ*°º:\¤AÏõ'<˜à—±ã51!ˆ®Î­.Ë2cµèèç'£h™¨õ~þY”õµ²§>ÇÊ­?#4±Œ^7¼µåµº-ïv8E°]xÙmÔŒÄlæuºãdBÆ‚ˆÒYxÙß¾½Ëî‰aÄïÍÖ(îaò–¦ âzÂ6½{tRõà÷û{ˆ#€¯ßíûSƒ]Ã/wŽ÷«>ÿîâo2iEÍÕÕ#*ijß$j=/xׯ“…1A‡ž¶áÉûû„Q‰UÓ=ÚÇÒùú ¹\|ÚYðºÃó±Ò#*b)Ì ¤è#)‹h‘Là,J߉fMrüjT| lSF&ýäõ´dZ’®³Ì#*cÛKêOp" YÝÆÞh˜¡ùûT­Pn5n·/’‰®~ïdñìXÇ¢Ï?(Ç%‡ï¼G#°¯^éˆÈ{Ððxf¹©ì@ø»÷¡Í%¡ƒ$M‚Þ×_A»_žîÁš·›“Þí ÿÓÆìÓë—3“àì¦|ºGG·á½5RlÏiË~â¹± ?ßO”«ž²Örè¯"Ïö#*iÿD©kaéýúCÛ^@pèS˜]¼Ÿ@¦éÏŒ®‚Ÿ•Ç-š{”ŽÎý”Èe¡oŒËbH°•#)+¡jŠ6Ut=‚d'>9::“Ò$ãüx/÷}Ä‘[\,åÀ@êTsz¯gkÄŸ³%!ïDµ%!)-i•J9&­ñ“OzT–Yãns‡T¨ÛŠux6ä•Œ'AÜ8ídgãa¯7i7¯ÖæZ¥É YrÅG·DÁ©ñ«€·HF~ËÉš¿ Iøžî#½¤:EbJ€¢d`¾åjÅ£ý%ðy°@üuú'ã÷ýk:À¾ÇãG™V?ëß¹‚¦ È0 ÊÞ òI™{%¿`kÅp1u°Ìù¨*ˆ•øÑ ºÀ~Šñ# v½êJ6è‘] Ç«oº‰M<ßh#*ڨΌè„Vd h~s”mÕßúj ‡‚j+z@$…1YlðÈ¡Ø®]ÝûINñpPó_ÿ"Ô¤)üýl÷ÍÌïêÎI„ƒ_f»Œê‹\uòdñ€Qç¹còÇ‚úòe+`é"S÷·;?V# ¾o{'èj ]²PÖÊè,~sÄn1N#‹Ú­sKM5T§v¦¯Îî A]ÕõP­O½¯Àk <ZG*)<ztؽk#8Ekôph§Îdéä-ÉO˜39c(P½z4f|:ÅXé¦Ôüi·)„žPÃO Ö¶$½#*éÁð )D¿€ Óž´yªÕ˜Hæ'Æ…W\k™±4µÀqT ê!ŸÏ"Qøª¼<"(ÉEÝ9ò«5Ìò€àGØlÃÆ9ñÞÁÈ{›8î@§=ÞåtÌyÑ°EŸÈí8’:P·J¹|Aâ=²ô(*oxÜÖ—'ò%Ýñ“«nâöv7‘ìÑÏ“/§(Ž ž–àì4&Ël?p&A¨&©úÐ$x{´›Š§=‰5nªX'»éX½q»×n$j{R¯_IÒ‰Xʮ҈Ì]’ð-»@ñT`r6JGΙpØŽ8¸<”#)s›ÁÔÆû¦+ù’|DxàBcr=͹!dºo—cCl— bÛ§søù¼ç{ÄÎNæ{æåïÆ»|>ÇX,‰É€ Ê_N9TèáÙÎÁfíÆÝ6¿ú)eŸ@GþœÚý¥Ây<ûž#*¤#¯H¡)Ïßa~k)ˆ‡Œ%ç¨ÇöD–>*$@‰zm5j–ŽŸW$'øÑ#)Æ°¢šm1wÎŽ-žÀ­‚0›$°#*ÔØ”f¨[SŸ€Þ-l 9æÅæ¸ìÔñB€ ‚-[–‹éµþ$ó‹ÑSBØr±š=,²æûu£’4¢øl[¬î@–n»í^«4â^¹&k¤›91–—SkMuá»:¤Ç“zôZnÐÔ·ö ¶¾„!Ÿná•G‘²DcN½{Îá­Âj[åÌÍ ÇRiYCî×U?öWe¼9IÈQr´(÷Öœ.0S.7¡Â¨6™õð4©~ÔS’oÜÍ>†dö!¾¸Uâèk}ƒÄºÚ9gf#JœG¸T‘sΪʾ&[ŸBÞTwö€uh‚½˜æúêèd·#4ôxçŒ9—¬57þÏ"”no­ögoq&ot}YfQ£ ÷·bIAâfç²Ô˜àf7‰!>G×0²þzeÃÿ×f+ÀÃØ ê!Õ—çBÔ­Laº …»”i&¯÷×GΤá¯À“¶? Çׇ¨ßqWýŠó帻w ¯Û<€Ú83ÓÝÐÉ'„|2À³²îíÜåÉY¯NvÞVÿqtò£Y:Ó…ñiÝê4¦†ïcù ½Úu ý×'Õê¡t“¥U¹0Zq¡rþ–~ÓŠŸÛ¯þ›v£ã.v{–V¦sÖHíuÝ0Ós÷9[ëÞþ@z„'þ_™#4Òæžî„"Ô8°ëBÚˬîU=ÀâÅåd‹þ[Ó s‹:"rÂ_ëðayÁ©N<ØrÄc?¾Žw_í¿Žµ¤Ìn·; ¬ø™5š×ËvÔ#*ct(W.7I ï•ËÌ7ˆ žw#*µ_Bhžøªˆ©«Ò>€³wFùƒ­Œ†ÃŒUÃæpŒÐcšA!múÄ pqÔJQ1 ü`ñ³:ܤH¬¥òã¯âW'‡ï*Ù˜cJ-XF×h6§|5¾$È«\)Ž±W)SæëLc6JŠ‡»¿>o§ªaD”ê™®q†7Ôñ¥Évç»×xùo© eŽƒIÖõ¶=Tœsv°òF+;\‹G#5sÆÃy#"ãQjbÌ«ôh9Ãå—ÿÑ Ëevzí¯êÑãá;ÉÞ’Û[¿ü{]ç¶Xå“+wµÊT$¥€icUÙtŽIYY¹%2S”šaĉÍÙÌqóTXÊ÷êB©àŸáÈ”uF™Ëo¹ü™ÎÌ©ÂdNÌÏ`ŽÅåäÜp)EÒÄ€°}@´eäu^  d›·++¿êíö)Š»’¯Q#ÊDüPhý—¾¥7¨AM±"°œ—û1'@¥E™;vs%kÁ­u¾½õJË@Õ÷(#)7î,èH¾å É#4Ö²&Ý&¹À±â(yzèyÓ])*Ø°R·ÀÆÈÈ=²rJ\êêÃÚsÍò˜ÔÚæVÝ¢Ei…;ÅP)a#*Ù««øtæXNPÊá/ßæB¸öüh“Ä´,Ä´A'€È§»Ìx<‹±Ðç—,íÌFûm².$¡…‹xÎr\/§käøî‘oéD¸ã§ÍñÝJú«]ö8áãù ÕUµ|ŸëÔ#*òGº®=RtÍk×½9ìõàìã©ÈxÉÍÅ$’¹¯5~Sý‘[¨3×Ú¸\Ȭ‹Y5zNâå6v/#Ô¡Ø%¡·ÌyÂwà3QtÚoÀl5ààEP‚¿Óÿ'Ï|v€{ðŸ67?Kûÿ„°/öÿÿ÷íÿ]cóû¼{2œ`ËžF¾¥™ zÛlÊ­5A2¼ „ác¼ ” ñfVâØA5ŒfÔšM;Ž{£Š*éMºkßQI#4Ÿ*MÊjSÔ_#)‚ßl:÷J Lír|]á»;@³íY»9E²ÜlÒ,ç4ùA g ½ÊöäHuF•îþp ~Øòz²8=ÙEg—¾¼*Gše(Ù‹fΊSÓ×)Ì[Fý"£‰Ñ‹§[®ñëYÓ¥*—›åž”h;2-H ñªã¹.OuÌŒóR_}H¹'…—ååæüq’ó±áϺ²¼ëñtì°æhä°'=v—3jê„À Y¡Ž£=ŽB; ;ø ¾âÿ*üŸNó€ÿ¹oÿÿöÛõ§iüŸÇ7¾ìÿµýŸapç¬@ÆÙ÷"´m§ô#)öA€­ßV‘Âÿ´srZC#)î:!@Ô|qí Û”ìDð¤oBø||Ì`ÎÏÊ<®G #ébñ¬Êe«Ú¨y¶ý@ŸXa{ÕãÕa,æ?¡œ‰]ŽÂívS:vÊμÂ?ï×é™àxIoG'üí)£ŸÎúczãŸÎúwüöX½ÂTù-fi¦²J3ÜNØ"‡ƒäÆ@#4pV¿ú„îoѵ¦ …#ó°…ê!ø^y{´—ùŽa¡ÿîø¸zBqù»úuzúžù†i?ÖlÈïîïŸíìÿ×ÎÙþÑ¡Ç5«kwÊM7C¹LØ6![Ð~.…ØÂö¿h)éMU½ÅÝÖ¬ä$4Žgmæ¨>eë wšº’Qb Yè†Ôxmª›ú uK Cb*3£N¾í_À8FF¯ÈxIÖ8?OõŽ¹Õ«9ÖVñ«]èù£wgVÌc~$£¤Œâ+a†?æÛ(j‚‚FT$j­\üdçÊÁêà×b®‘á¤?Š„:jìbõ·'à´!珞²ð³lâ0#4ÛÅÑ“e·k+mÜŸ;’66T2ÅIßi’Å}¼#4a¡|9;í ©…$׎Ö#L›t”OŸœèxw8ÉÁáRRWü¹ø^)@­Ú½4ˬ€~æ"…uµ×e‘“„QjþלÖ\·o©5jäØžÛàG5ˆVךÌ3Ç™LÑ¿iE‚Zaì/¦–d”"â£\fI8ÆM$mN$W<¼¦`¹Œj2Tj’ `ý!M…íîaM¥ˆ÷6U[¬Z#*UX#L#*èÈÄ€…X7Nø‘bI#ð9ÝŠ%Z+©OÚÖô#N¬ü~¼f¨DˆêÛ·†„×®¥¨FЈF纸+@Bmµ„|¸34u JϸV#*ΩžuC:Éæ‰äI®´Õ •„ ™êýQöÙ\àœé5ú­†7Ûš²=”(j…\ßÓÀe Ðô”‚ôC© Úú´W$æÊŒ»³ŠÞAÎN¨Y=ÞŠ´å£6+~e„(s6¸µ}Ò§añÉÛ“«'VˆŠ©_ìØ*\ÂÞ¤s°Ò;©%­¤<ØÓ»)rèâZûrÿpoÿD W\Ò½G÷@&:«®ÚÑ‘¹-åøÄAÎ8n©Ñ æßÍ~á>I:)2âv ö@g·9ýqÿ8~[Õ{ž¼;„0ÛÜDð²fm–5v%lö[qsîîzý¡æ'Wí^Ø|‹©ÃÄ÷¡bLZ°æ Š¼´ÇÀʾ”L/䶺r¼\•Í-¿i?rðªvy\½D;!’êQ ^CZ›°å¡­´¿ õPuàE™®[ÚÆ%É0” Ê9ep¢AEhs–7x$W6#*µj‡aR3‰˜P|&†Y °†…Ï%ÿ¹üþ?€ÿ¼¾ùìñzVþóô‹üç¯çÿc¾Gú^Fòó›®…`Âkéy®AÿE#4Ê{ ’sÓ)÷û§J1ȱú"Çn¾y#*imÇ–bÑ…ˆ8cÙwð6‚­æé£>ía$ú\e„,dÝN¼W}ùŽ>ÿƒ4sá£[H„žÇ)/º;õ1/â¼¼Ø}ÊC2³cÎËb’›s^nZ×Få‡wññ0Ñ]¯tóÑèè~·&NÞé ©õTHä;ßýU)ÌRSÉd€>XJ{Dµ§•Ô!³#*å!wܶõƒÆEˆ~ž¬ zP¿ñ¯áxû¼µœWè½;÷b#)&t(^ ÛLrVY6ׇ<7…¸¥š€šð¦)Ž;iO*¡$P%šw9Ò4ŠLýJ¼µ)ÖÌgÚÈÔ‰…¾fi°B*¯ûèki›Ý]G”ŒÕ•èP›Z•b•®k>u‹_ñ{÷ݪ!µ˜wƒ}äÞ…uò.È °C²sõÏ»9söÿFÒÿìÿO62÷?O7¾Üÿüåîð<’Ýô+| R‘ŒóQë„õ°k>~Á$ ØÔxwNõÙwçômž8_¼sš>%CˆuD†ƒ£sÓ‘à-Þ…T †ø¥áOÂNjgÒÿM”­«¶/`}Vuº#)ÿ\yG #)¯î‰ßÚ­v1¿cÑ‘jÄgnSµÅ‡nL@§î¼ãözŽ;‚M¥YòW¿ÿ¿ë3o÷ù|¶™¦ÿOŸ>[ÿBÿ¿œÿþðóŸLøŇÀš¯â¡«Äo¿¶1÷D¨Î'÷ å,çœ#*UÚÏx@üŸv8\tðûM'Ä…‡¿ßvL\xümgÅLÄÏ}`ÌwjÌDÊ=:æfEçÇÜ/ÙCdz†>à$ùúðœ$_qÂbßöÿ—#*9:¢r½Aµ}Zɺ5-ä¼Êyø‰#*ÛOn` Ä1tânûÁóõß\¹kr4€ŒfL=¥)¨B{Vû³A[®¼¶äÆ›¾Šå~ ô4â8ooê+PDÛ¨‹¥"½öôÒ5] FÈ7Ýd¯¤@„„ý ¡kál^º¾¼&dŸG‘¿îÏ?©ëޣú¼½Ý?<:I…3·ûæ úSõ#)?<à8¯ˆÿï<Ó»¤;œwºZ2†Õ‡q2»á?UmÖáÿZjzÿ©üßæfFÿóé“o¿øükê~g\GËêSw¥)ëb¶ }›-"Ëý;8tM§?Ñ:3ÉdH†°lLS%C&þ’&òGìPè¦Òʱ#)¨´gmŸ¿æš mª|žc@*¦´~£Y.(paa·¨šyoq¼#*zödÒ°(ï=8ÚG¾ïs²ÿÄO›÷«Ùä&­#4nµÃP. `¶a‰À­;½A©8º^ “ÍbðƒÙyÖáùcá#,`tUÌYcp9ä ¤ˆ †`!M]Rº¨¥ÑB:¥"Åårì‚ ¤%ST^Ý39¦k¿1'×ÂÇö’Y¼´Ä¶–¥Bb¹ÃìK‡"€¡iÞ¶¼–ºÕ˜µ8¡0!´bI™ÉGuƒJË×ùËoÈæ²1ihH>:à‰˜ïÉÎÉ?ÎOãã|1ÃøŸbÿñ‡0#)‹÷ÿMø_ÆþóÙÓ/òÿ¿ˆü'çÉ|zù$/Åóü!»Žá<ñêdçõÛêáYä{ò?¡xDÏ*´#*‡’ìWßÎbÓäq|rôúdç­÷vgÿÐäQ=ÜÃ$–¤©yTGìk"«É·ƒ´uÐ-KÈW»÷ÚB¾²m!_¡-ä«]Njl!UÙy¶yb§­$ÓÌgÈnq„ÎB ÇÎ\G®NÚ¼ÒVð³Ì+v wŽ1¦«y1–ÊKRÞd#´>‹Í<P–ÇÙâÇ«ÐÅÐtNŠÎÑ“àùbY#4…­éH‹Crc>,že—s_̽l¼4W¡ŽÈi‡Û)^Bq#*Ö:™Ç<t€ÉЬG§i´!}û§dˆ”¥Ý"H%ПSÅf¦v¤.(¿ŽÅèE¡ÂñXÞF³îë[JÁÐþ’JER'6…P,UÿLªåùÅè¯uÕ3߯Ûyd«GÕ²º8uéGÀ<Úá¹5ïš~‚9wµËº î+^/ ÎŽÖÐ+µ452cÑ­/[þ„ʯç-ØÜež^¸þ¢>r…ßnu2ÖÜvŽeÎ!/§_ô ï¦Be™OB÷ßkâF°OÃé¤Ì)BMÒRÃBÝâ:n³(CM2b$—rc:–y%¼ùÝ’á/º#4ÈôZªù—ÕsêªZ4¯ÎËvù‚°™ƒ9ý0‡¤Å­i¿Ó ,M?l|#r×—#*ßñ\àjåƃ Ûæ•ã+>r q »{ã#>È/}‘_œóèÌAyŸè+3A,¤/VâxPƒå•ï1Þ'ÐÔWÀA•?´½A»®g¨zžªåÜ £#*e²€´G3F«Gø“ëæÅÙ |<á.'x¾õô!ÖC1Ë%*c8&ÂçÖŽànPC*jAw`aW)kGè´ˆ4®—\àr0L»úΤ“F¥SÞ¶ÂkÄÏåØç“=!8®¬ŠYÀ.~–s3Ðœè±S̹ۡÄÄ*¤nè$×¢QÉëÝÝxïdÿ§êI K«j_ñø¿ì»7ÈéC¼ã£ÓýŸå,®þ|æD<?]=’¤b!Mbìq;R¹Ñœmº›ÏY¼tº&mq´9#ˆ*è™60î–#)|;ûB;Ë{bªir7ÅW#4‚9Ý,'“jP6mkGFsˆÝu/͵üê¥ù'k…ª1%/G’’œ`ù–¯bèÜ<”%>[?¹ŽSæ‰{lž‹ÍÏÃ<þms‡µdïYµY=g•þv'!#4~/oÎThgUF#4šyqL¼<ÜÊ®jÀËõÑ¥Wf§ÑíAeÖ¥¹±ã£--¶¹ãç•p=šµ8@øªëå‘ øG³‚q»h¶ÀýׇG'Õ½¨6†ÕÕ\®ø!>5Ç“Z£üïò­—¿?¯ÔWÎ+Cùò5ÿž|?w/úÝ=쟞mq‡GðT/0’1#*rä&(Aί·!Ì­3žH-¦°€oòóu{<h÷Ô[£uÓuÕ[?¹#4ó3™é@z>Èã°×b–8(È d«!Æ¿l6W ?OòºÊ¤N Ý˜d"²#*|L÷Æq÷r0·õª×X¶Ùü…ütOÑЉùd‚KÑìZœ+”4¡ÒºƒF/–UUw©EZ@òÒµˆ¥ ZLßB«m‹ïY…ÓãÝj|t|æ’ô_ʵƒ“é?ÿ]G|Éãù±NꢣèÔ`2¼ÆKfàƒÇ!=£i¸Ôƒ¹-w#)(NÀÈǼsB#4tlm­ùFp#)6>cDì¥ÂÕÔÅ©ÉÃ%HΦ=Ò‘¦üIDµf¨j…ÜšOœš‡bó;‰&ˆé(¦ŸÃæf‹qät­XB±ŒèR5»³³•[تô–ö ©ê4ö}nÈÔ™d‡:²Av”‹ÒAÀ¿k4Lº3µopI®º@¾ñ&<¦~CûÜŠèFÐ’”KÉ7Z³ÏYv–­ï¢E2o¿ojÏx4i´ZTñEÇŠõOŸ1r¢àQƒ³˜l©ë•lÇ‹¼ÃÀëöd"@äÌFN“n_,R-Œ¹ûå<›Ÿ,è¦Ãb"æõˆ#*aG?âÍÙ¨•„ »÷úöj–ÄÕ#*Ø<µíù©©Ñiu'¨¥€Z79U?‡ª§Ut‚ w1¼öJËIà/ûžxÿà)çàÀš}ÅžÏ?½ÉÈ«`ªh4—EŠV¸ÏÌÅ]$ggJ G\!N·f¹x/dddM ƒ‚‚ß9|b­]²¯FßVT Ôù!ÿÉt·Ð.!Ç`2Û”žUÙÚÂ?å-k=äœéï\¨C¯‘xm³s–® ©ÝµCetL[‡Œ†Éìç.0rm›EÅÉЮp4:RB…éæDÞtuŒ˜îÓ÷R@ŒËce«,À*Ò9Àî½;#‰ÿîÑ^5*‹ç¾yH¦cˆ…Yv†Ã Òdâ/‚P¬/9rÄ S@9N¨R èúÕ[.±|õ#*ãdÛã !·°Á9QRHD@Ò#)Éq.Hd#)EÏÉ’yù™Òs_þ‘*ý7¡Bè¶*KZPr<¬:7F%_¥3ú†ð49É'—*‰R<Áˆt“Ïr@‚ýPF „”õÆM¡ÆŠžsûz²ª‡?¥ñ´×ŽRy‡@×aÍ£æGwPiú!¹×ãÄÛqŒ 5Žƒä£H7åãÌ4I¢é èrG™ävv~&¥#äQIU TR”ö“ã]• nÁñ/â6%寉\ðÑù8Ö.Ÿûª<GžÁ$ib`‘$iÅ°HàYE9#²“¨iØš†M«¼6MK OÁ|iä"r,Õ JÁêt•^”ò§8ÆC2Ž}î5K¬š÷¹%’Ù©ëyüH6SÅ%üî¬IÈ–q•i{EQ7‚­tr¯¤xžâ<kQü¦a}t‰<›DÖ¢&@w?ÝæHX2lP­n1@óh_z#*†ðã#y·_³Ô/Ê™>Óz?Óq^옣»T7Jwöïä8ÜN¹Ô =ý·ÜD©}P\VÝ©,›3@M_ô:ÒËò¹fíyÆ1va”e_Uùš}bt 'ü]aÔ¸DË:qÎþ,Rõn‰ñ*…8TøŽ{®§ lYúD bµûKÉ‘Ä¿ñNiý‘ÎÏ#4vø) è'þ;³>ñÏû¤?ŠðyÞTî4K|k¯Í#Èæí1K´È#*‘úiUŠf£×ó „jƒ)ðûW0^-X<çT°°ãÃÝþD3ë@0KùY?:®¾=þþ‡ó&Mþi€›C¦3ªÚ¶wkùàã#ËÐIKUÔh¸#vÞöÛ‰„Žt+¹*¹Ò”zÛ÷dj™!D‰0™å!ŸòúÓ„ð½éˆâщ#)6Ý)g’/#*NåøNîS|ÁéVkr²ÍO­ß”%õÑ/Ä…ÀÿŒþߤ=ûóíÿ7Ÿ|ûmÖþÿÉýÿ¿„þß0 ˜€Ú`ÐáÁð­áZíOW„§‹îÅtÐuÜ(ýós„DAUžm8“A”༆!XÅíÚ/çµóz}%8¯ûh÷ö–7wÉÈY%ôF•Y0iá0Z¦Pô5³ -A>â.YÒ—ð“æJMÕé@§64d›ö h¡ž”|¬¹rd…_åØ,Æ#*u|êV.Žóñ;¸Òj_LUR°åÁ΂»Çr‚L抓ÊN—k<jŒa£HaUbÄUã"³ÓÝR~Ñ°›*—ZúÜéÚ×ûuN¥šîf­ªÉ3Q;Ú¹rg؃6F:ÓÃŽJ¶(¹‚»uÆ]&’g°Ý’“°É  @õüŒZ„Q=B—?~ÐýM&·°ASNœ‰Cg%Ï›‘StìCNïNøDt,¯Ô{5èu‘™]Ý–xºþú&ìOf"t›ÉMÎ;^)w襨;¸ë%#4G_k”ÎkjæŸ×ƒ¿Zë2ÿ¨Ã%NLh@ÊdÔ‡ÐðU&Úeo˜$ä×(õüüoƒöù~«R0´äìâtHipb cÆ.ÔG®)Lf“xyVý(øIƒUœžì¾Ú?¨BÍéæQ+EšQF2lÆ1 ¶–ªrÊÄ™£¸Õ•Ž½²RX¢HýÆu›Ý‚¡›àýÃ=®”~¹·^NÖ©šNàÔÎê÷ÅU|}ptzºs²_½·Vn–­šI¥ë÷#)„I›©>>9z{|FÇ?³ê\ I!sB*Œ›€d:eZHŽ#47;nLg.°Š¢ã|ËÞø NzÕþÖÐüÅ".+éª#)s*éìs6€¥Ì#)%æÿ…€"¸Bmá' áBMÔåTü$¸ÂÔ|!ás(,ÔŽA†—Çp|À  Ä[¬ŽÐÁéÎÉì”YlóÜ}×Úx ‚Y“v{ÀO©íX µ\!–Ï/ÀLŽþÚ[?ˆÒíA<ù!cŒÜwÞ÷§½Iˆ;ÎÊ.\9J>õâÜQÛ{…F¨6YËC#*ÍÁÓqëx:7gØåpÊåú˜µ\Kë²4~9v#)ù$I[f[S[ÍÓ s«Å¢+ÃS¤X‹Ûñœ#*]_“ìx¤6Â'žI±=í?‰72µ˜ŽpFö¢3ÅhíB]9ÁNAídý–‘f›–‚òAÁÓ…XC´hÅÚýÍ-KV-¡suÛÝkÚHÚE(¥ãYÓžM+V.AÈ­®C¨œiŸWŒÃß.ÙøÛ–»sÉd^³ qçdÕ(yÝ@°«nÓIˆÄ¨Â Ρ~ ÝÌÅ™¢ä([ÃK• Ò¿F¹ßš£Å¹ü/²¼Œµ€—b˜"|¹äÐÁ,Tj^£sM¬n_EëÖjêV–\ÎÉ& s¦‹–±˜)]z–ìL¥äî 3Ì܉è±Ä¯9XÔöI6¼¼l£o‹Î°°h,)êA‰JejsŠ%9úÑ…žÞã~:‹Í~#)•P‰ øÞœDꋵ ¨ûb¾AG±›5½¨:mî1¾ÎÆ„Lv¶h³Õ9:¸ó.FäêIjôz¥¦£I­õQt+‡$<¢®¦4ÞÀ#I*Lù;Š#)ùq~õ5ß?<~wvêo¹]Ú¾<=›÷ñc*SáRMŸâL­m•ŸÔM<gÂúÔ‘¨E=ðRí ù¢UŸ z¿Ø”µØÉ™õV!¿“ÐGDez(Û;¿¿slAˆåjFæºúed%f š‰nÏs®ˆ•Åþ–‚°ú&>S€©ó/¦þjÃÓ#*´Òæ¸1¸l—6BdhTŠ`u#ÐnÝ;Û¹DÞüG/¼*©oüS&©›Züo»Tnjð:Vøï1}L4CÆoñJ±ÒP vb {5l¤‰:AS]HDÇ' CˆHW&ANqRRq猿5T=ÎÐ>u‘#)E Ù?ª4R7Âl›Gw8M’üâ¶#)—Ê¢%}ï0èâèªLU’GÅ9ÚÛKi2u›f\Fé±Hïû¼ÛŠN)k» L#õJ#4e#3¡1Á#$üSšMîVµAìÁE5%¥¶^þ¾Î±ÍÌ1§xkúŒ›$ÏM×ÖžhžÅ‘Tõ0„.¥Ur-ŒubþqæéäÁÿª#*×ze7Ý´‚„+†Ú’Ï<Ï,‹ïŽŒúýn’@Ó¨#*`éœa%š³µbÏÂfêfJsŸÆTÏ{Wx¤zNœqš‚h;=A€QžæÉ]»6# xyG¸z°jÒj+&\Ü+HK®Ì SfŠ;J̈WëÝœÜÅõüžgÉ’8ÈOzŒÖ׿9õÏÕ‡&æ±ûÐz#)=±(')Ñxx…Ž› qE“Œd³q O¸€I§l©9ÇWDv|Šõ’4ã4‰{#*ëê°yq5=´Cˆõ¶˜ûÐ!fws‚,²¥(ˆÍ ¬ó‚Û7ÜÕÛÜ×2í¼["fÉÈá VåÊ› =Q+ôUJ•ŠÎcº¬H×e«àsv¶{F&¯çq¤Z’aà\²ºðܤɭ›†{Ì‘¨Îc,xS²hóþ‘E’eý»R]Æ⺊ñ΢TSoâcÍPf}€vëVWçYÓ/.?älú÷³ñù\<,Ï…Œú.$w }¦¦È|€'¡±|›ÂÍ„ØJþ’#ɼ;¢-ä'kç×(\À¨Õù¤2ýÃŒZxoI³ö'$¤³µ©æ½Å´nº£Ä½²€Ñ÷~Ú?fðw|°süˆj6#4á=.OŽïà¼"#å«NƒGi•_·Šou–¿÷JU`ï•[ƒß_<|Ú\Ð|(q“ÛÏOŸ¯x£†Çˆ©f³ž½….»çv’™3 .^/¨‡¡˜&2Q#4¶MôÉ…È-#` eF“NæÓUñ͉ÔýÑDI\Õ!'õ•åß¹—e‘[7Nà‡nDGILଯà&kѵ¶vŠ¯b#=@/¬¶XxF‹AêÜnyC0y3‰p^Äö»sˆØì²sèÆ^ÌWà[&#y–&RQ8)ÜŒTåbãjU½êËA ÈV•P*‡æ†&’«mËTg™ý¶ÂMtn:i®E2/ywUÎw•Ovå Ós£?î†#4¤ƒ7Tª»³žÆ‹27ËaNþ¨ñŸ¿Z>‹²WqîÍì"²ì¹3jÔÇÙ±´G™²ÑN;•óO'ÐñnG› ÕpÊÔsH}Šò ¶l"7Qͺ¡#*íÛZÍ›‡z}˜'ó•$Z¸t#*WÂVp† }Ísj*¡¿r—@«‘9)­fãIº“±HœôëÖB®+cô•kîñÔ1¿›#)ŸSšéš‘6z©M¢t+2 Ì•ÊHߥäõ¨¾ZQ)œ+.›9ßÀyªÛòtñ¢¤Õ_­#4´SÛ‰wÙ«ÞM~a^wẛnrÕÙÍ_éÝŽ4V¼Ôrq“ÜõC| šÉ˜«½¼U”(×Â^E•9{T0,¹–ÜêÜ_´ZÀ÷–}}Êé’\jµùðþ°(o$&“"<<˜î¨a0‘#40­9]ň*i1#*ŒðmÞ(ÙÄ##4äz¦%/²x²‡/ÇňüMŒ*d¬Är“OÕƒ¿©F5òËÇ8H…Œÿ—Vó?áÿëéÓ´þï“g_ôÿ2øß®s—Æ8lýO.­fÄ¿qãÙjŠÏ=Ü Ñ†7kd¬ý{¸-RîŠW1ˆ¢òFʶ·È†:í–c,G§La[“ ûý¡8 pjî"¦1>£`¹í)¤N„•6ñËCAÛC8ĺƒGz7#)ŸŒ~·g H¬Tû‡».¨èžƒ¦‡ïY ½=¸©ã;è›{ø&?g¡8…{+=tïMug¯z‚D<ƶë›~‰[1ªxÄWíÚºùå"r7¥#ÞìP#9°L×Xæ½N!ZMퟡ7lÀm圀–~ÏŒ£úÁ¥ÿkÒâÐØ]zÀpýúìqÆþãÛõÇ_èÿ_Ãþcž'Èðˆ#)’-A¤âwáCkw‹a¾™HZÖÄb¥î I,½kéÎ1u Ia=±))+1u'±¹f¡œÞ•¨¸Ž¡¤J‚{\=9¨þ|æ+ùGÒò&~ÕàB*¶mQ8ϵ9›Í3Råú3UÛ…å,‘¦Î’éÅhke)­L#*»è@«Â: zSWÌ•PN",Ô.¯¨?Š”˜Î`BoHøôÝËãã^y0„ñœ ñ ’xeüé7FºìÝÙþÁi|öÏãêÛc-äÜž'æ´^^ùYüQìA퀋µèºè}$Râ5´²d‰jÜÒ7â40Ž_´¨\ š"iËš’ãùYëw×ØfcÚ÷°6s$ñ—19ä†áQö$BSZ8)ìB|ìMÛZÊ(k¶2”µKñ¶u50О7ä„iq`yµV,·‹¸ºpçö΋Ë7­óbè}ýËOŠ#ls΃oˆ­‘ª².¾\†EAÃ"ÌPê*äÉ°"[;šLG0I±;¡¼PÒ˱¬X)ÛáËs3v¡Žù¹dò” tÎAË}R­¢°ÿÏêÁÁÑ?Œõ9JògHØšªÕÃÏĨô[f-â#) «Šè°Ø¦”¢Ö³£OÍ_­ˆFD=ÎÃÏäëÌ·»w.ìœ(cTM¬/ÕüüÆãjµoÚ=M']9 ÍNÕzN`hÚ´›äÁÔvºÒVú,ØL*‰yÁRbëð4ôËoyƒÁûõ¶/3'dr^ô—“ºäÔ¹DšR‚_;¼ÎtJÄøÉ¢$?•…{Ç`—#éhe#4Óê¨ì`#*ïIº7´eø7ÐÿÃqOëAsŠH•êÍÍüu9ù¸VM¨Ø5Ž¤>µgD¦?úËèÎM…î®4ï`é Ú¶;w¸œê#—¼¹hÀ­Ól^ÙJ÷Z­±ØU"8ͼ۫.HƒØ®Ð×vNª*Ùî=5§#)È¿h¦‹NïÙ\dT¬Ž–FeÁûQä mæ6+—Êb«ZݱuMCNŽOvßìíŸP»"5‡tu’î„n?Úhg™d*VêŸâÉÜ_ÍÜêÑtbnAò+!ð!ò£ {* àÅñœWÆœËj+á[9ô„f—è”+r¶š«voù§£v³Û¹õ½I{<#)¦‚)Š$—`‘xØ\T®îÜyënÉÔn"ÞÔ£:zt“Ôëy˜ÂK(^·Éæ¨é*ýÙç¿&,Ä6^°þ™þžl<y¼žöÿóíú³/ç¿¿ˆÿ^LádÜh¶/Íë¼!Ùþ;Aæòy¾²bdŠEÑ~àQÇ#ÞÝÙ}SO÷ÿ«mÐ!Àr^ðñÑ1©ãøe¿#)‹wÊžf{Ý~wm<]/\ãÆE2ì¡û3æ#)ñf¸Õ·b±·N€õ§Ní#*›Þš„ÂNLê•P—yï&ì8σټê`îbè$2ÈK¢õöXs¿Ÿ'm|¿Dš5n ’èW”÷·üGP<Åí÷ò‚\è–ÿÍ7üÈáßDðLé–wGO|‡Á3#4ÿ…Ÿ8ü ¿èN$+~áäðŒ2Ï<ÿ·~DËvB¾t‚kÞù¤¾Rz±õÕÝòV oÝм»ngÀ?w¸ Ý!Ï~l üU¶îbµÎŽæî¦}„H5#*•Se%8¯|M·ŒÓ¼»sZ½CûÛw°-ÃpX³~£i׫ø‹ hÇõó+EŠÒ™RUWQ âv\_©•ïâsEâá éÚ·ÿrž¬` ü¤ªEɽ”5<üo¼r>`£a§ÒMàØ“ãµµÊÊ‹¯ïÖÎWà÷|eíî܇ž=?¯ÜÕ~l଴rîß­°")ë½£³ƒƒTÏ঻ÕJþ‹þj#¼ :øÅËÌwG¥bT^{ä—‚çÛÅpìõßçw¿Ôê¿Â6^/4¯`–$M˜€ëþÖ:L2ë[˜ þÖw¡ò{˜ŽþÖ|èÀÏ0¥ð³ú0{6‡Ðrˆ²ýâÖãï?ß½ü®_8:Žü#¿°¿G®»ÎüÂéÙ l¾~a÷Í<4ýÂdxÓ‘=ªA¢¾‡;<:Fà…‘ú8.‹ëµÙÏu4оj϶a;;åW¨ç¾`àûi£·±]›¾ë ‚ÂÁÊ ƒ›WñvIu!ôêjàßá‡ÁÆöyk5¨UÛ”'”µ¾][-×a0Zœc§7lL °óŠ³¤T›jå¼Bq¬´VÚà…N½‘JýËÄÔ+NêÍüÔ›nêas²½¾BU¬o«Zb»7u»¡›`d^Kµ_Šççõ;h9Ïß^%ø¾¼µ¼u÷üyt·½ÝAàÿðz÷|ùî9„cð~X=_…?Ñ]¹|WÞ¾+CÈJt·¸[†¿ÛwQt÷Í7wßÀø?ü¿Dw[Ûw¢»¯¾º«—΃ó_Ï?"$Åóíóí—ó•óÕo¢­G_ý.¯—!ð¿Ï+u?$L&cMÛ+ëN¤&µ"6y9Ù^NyŽ0GpD¦‰®ßÔtד+Ô3)¨bÐßhⱸ݊`ª¸¼E“–HÐ(x›ú…äº;á³Ü=À~Õ+õIòõÅÞ™|TúŒ"Í7G@ßó§ðfMTIŽpƒYñÖ¼e »«^þ>îmoã¯÷<ò¶á?xŽ"ï’ìo¼; ù7ð€”:„­‡Ô3Âä¶OŠ#4íÁ´ªim`ÁQÓÃö5Ö¡6­G3iLkÚl#Æ[Rºiôâ#*”Å›ôwH(ç"\hDë«A‹Π7µ ¡!<E0‰ I³™ŸæB§ÙÄãpÄeRO¶ —©›QcùBD@ºªBWíв#4-Û¡+*tÅ]S¡kvè/*ô;þã`¬i#Š.ëã¢Âáƒl¢œþÎN§ã蔊Qœ¼¾±ò¢Ý™3ûÆÎìÉÄàÜð#)ïd÷(RQ ab?r[ñ‹Š9s«ø‹ë¹ÓÏÝ,ž;ßœOÛö§m÷““åv*K•gãùs»¶U†íí Kb#4,”ZfM£³ºgwK™TT™Ø*Çá<ýv4¹õPPCÒUI‡bTÞPOŠ°)Pw)ŠŽŽEëï*Uòd:˜ h}Dþ‹ºüÃöÝçhÅ(•ÿ™<»ÚœQg»¤s|ƒÉ ™—9[1?ÐEŠ±vÊØžúͪ¢ÑªdÔ•£$•×=cÒhó€Œò9jfbs0A :*Œƒˆ€ýÛcêôÚÆV·Ø؇ڻº±UתC7zI[h¼jàj阼̗$«('ª*ͦk~yÃ1#*„ ”Jë<=8Oœ§Œ¨2ÁÖÙ¼þûÁyý·ÊÄä!½Ÿ×ùJÉm8b'J=VMR ªÌ"à£,!äM(å›Ä`YQÖí(\EÕXPµôÔ4øÍk3ÀÅ—Ó—A&K3Ãjõ‡,Ø03ã¬iëN¹éµ½þg¬í‡¬[iKGºŸ$üþÕŽÊÔ2yÙpþê·Êɉf‰ÙnÎ]<î°säÈ^ê8(‡› ·ÌZ Ï#¨¯ª ú¦ž.<\›ôxåõ,Äy}CüÕÍf};â§ú笪éMøðxn?Ñ×ti›!¥¹Ù¼§¼ ¤ ª÷Ǻü¼žh*Z,Ëô…Å[¶h¨Õa¯fM"4Ž³ª#)#0“L©ûï¶JK¦#*(‚† Æ7#*[ .UÅ"t%Fo¢‘b%¥ÉF8Ù$¡Ò†#) !¬î±íGÇÄFM6åxå#*xPÞ‹8‘NŒY’˜€0?ü$-}r“ÃW»¡ÔXwoÍ-ØÆ<BÉíðZCq¡xÝöej(åƀ礴ÖtïÞ7jõU(|£îŒ‘ôôʯ“ð¢@[D¼‘àåѹ•³6ªÐ¥¢œ¢Š4c[ížgh"‘ Ù¤MÎMk»â¹Éæ#*ˆÄI"š@9:ßö÷õ  ‰'f.ãÀ¢¶nesë–‰óùj¦?/Ú„¹s‘ Û‰ö7bs$îx85KÄt T–=O#¼ˆÚ3”çNPØ6ª8XËÐKtoôÄNLfCôžéo0á²åš¯ëõwmŒãô,œÓ§gX$3wÚb=oWu- {«OFLCúí `ÝE?R2(Ù}±1§TÙa3¶#wúæ36j“(yd:‡ë³tIÈu“+„êô—…üÏ›ý¸!u¹'3?X–Î=U }È!4úª}ših˜Á™ÃÚX{å‚e`-+;cÃÐRq¸S%¥ $¢A¼¬œ4$,ЦÃM‘ª¯ÊÍ€|ápjE#õ9È93Y™†N¦ä02›ñ|†–"ÔÌt@úÖˆÜ[£Ì¥Œ`îé0;î}}›3ïm+¦b_ï¡`ýFõja¦ì#4ZåÒTè™x‚>¢#›DЧ9óó_4?™6¨)ªV’PŒåÎKjÅW6ßü¯Õ#*;3Ú¤%‡Õº»÷;_6êH`TYÓð:‰pˆkú[ÍMV¯ë™#)m×cƒpÃü`6Yÿ²GÚ#*N©‰×r§é˜˜¾¥úÀ´e#Â8µòFÝZ¿«{>©¸4.qIÕ'Ê0xõVܨÚ3 ~Õlr<qAGæeÆOè€8þi'Þ9y}Çf)-Ý4bê–ši9ZèµÎViê3âØ‹æHv{Ô¹£I9™à)Ëj££2 ²ŸT£´9p#)/%NN†£á¨äD¥ÚAŸÛVôÒŽ!ƒÌœÂ/O›'êËfÝ¡¼yìÎ\= n±÷ ‘oìûÑä¹6ž›ƒV#iG>®æ‚§÷s¬S‹gÛôòÖNÞʧê,—7ÂÈ9¼ÑÜ©l×v~euóÌˆÍ `‹žåþ òX3êîå@¼ÁMãó£ê¨Â궹‡˜Z=xˆðI°–<9[M†TÌ´1i‹,I ç#$Ȳׂµ¬YìEEQ,~³NŸ–µ<›.I‚G°ï1â¶Í•‹öID•§ýb&ò1¾W~Ð%"”Dð¯Ò#4,w¬96HË<³—윀&ÀˆôDhK&#aÀ„¿Av¢ öi^ýŠÇæbõAbî#%¢\RYãƒË“PzÖëŒrYg;³ãÙ ‹aôîáR¦Ýb–w–¾ÁàJ[µÌ©™GŠzóùjF°«x&¨T*Z •©š.ÿéO(zÑY„CÔk#:Ι#*é»ßÔ6¯´™íz«#4ªÉb‘àÓuŒèÛhºx¹\ã¾ EtY·”.Y bè1Rjã“<nÂZ­’ Î{:ßk%ÿŒ þ1¬cQ É襔ž—^lUV‚mR‡b ú˜ŠJHJ\þšZö#“¥MØX̘g}³½a)„C8žÔñgc‹ömÚŠR´gÞþSóQuLëNÚ¬˜‰üù `A]Ù“äD;u¥™e…-,Š6DÊ/\ ±aÀP[}ì}Å#åSC`%"í¹ÏŒ•׶­ï#*ð{šK¯ô0`T‚OAe,ÏÛ¾uíƒÐÊ…ßÖNƒeú,Šž«œÍÝÝ“ F‰ŠIÞ#*o0…Ã(æ#;죈´x,ľqKÆ´Ñ ómJ/‹ý-k–Cœ(zÂœ.Ä{Œ,?wNåª=ku/Ö«µ¥aÄÍ­z¸ñÌša™´à›•nB™”Ö#4VaÈ”¿i—°nãÄ=7Ã#*%÷R ¶»º¾[«Ýº[ˆ^’ð)TÕâˆáw¶±Ž²ùW·Ï¬EUkÖ‰ÿíÛÿßÞ³ö¶qc»_£_1WÙ‘ê‘jgû#)ŒN4u“ Í±Ó[@k di«Ö«£G,,òß—çEÎp$¥›{[#*`k†<$_‡äy8eþ}Zš&ã™Eìw;ÖÊ©f ›2 ‹6”ixEépQö_@r7Î…éTL´Û±ªl&C4Í"6X·u:ÁiRîBÖΖ p•ƒ\´Ë,’Âu"(»»#‡.úzm™Fn.‹UÞеe²1ž¡S]ƒ”§JvJFjFˆ(ŸË³Ë„V<, ú5É­˜n J3@7buÊI(÷r<=Ö°PeÁ1JFª¥›ÝN¬S5'¬ƒÆR(ó1¸ê†·/âv¹¶å›ÉûîBq#*§$¥ëFó#)Bå(S.įe± Ab7¸ž®yGÁÌš&Q=fV˜®—ÑQ÷BÎ!uïÝ(5¦tŠóÙ"Ý°óÞÔšÍPVù÷Ù(Îb¶xx\ˆï“)ÔÖ¦wj .“MÏüàÍe£ø ôéö:­ß´½*“@ô Ã6-Z³«_r²6 ´È2Ô>Íœ6&ª´â=V²#4ˆ¤@E¼â0…a´öÜ=6úuÍ|»oÃÑæ 'µv Á‚a.>Y@K#4Ï#)Q‡®#4°˜‚ÉÃÁ­Jàзofµñã^;¡¼Ñ#)(I²)±þÔ \/ò¥3º ùPÂÈjäà&f¾¡2KÖDÜÿz&]0#*+½.ﺬe‘a0Ú,Újbsgj6G7.VØ*I¼CmnóMÚò1 ¬?ºg@k×3z¿ú:Kva'oÑ2a‰™ŒFã¡iX¥¥Ä¹Z—-8–`#)‚g³ë–­üÕxè<ñü'sG˜E1ÀwbKÉjd=$¥‚j6m;uÁ],é‚®ù®C×Ãב,EþÌçÖp-68›`J%·&(v4mîè/ ´“Él+³Ýžö¾µT¯· \£ä$lj¸#)2Âæ Eê󟬛ÚS{3¥ÅÔ\sªRu¨¶=‡l‚60h¦^W øñ›Z7IîÊ3Œ0á^a?ƒ¶nþ ³_¡åŠ”ê!Õ°s‰W%6Ή`¢g&iÏ=eÄÙð”Ø´7'VÜaÜá'{®Ý-HÕvèQ`{7å^ŠÅ‰*+¨è¡c6pB\òÀðžeó´b¤[ ¶#)¬%k3°)xÈ`€sÊ2÷Û$èqÕ–ÜQ£»X]WÌ;à‘˜Á|ŽQ ¼m#í0'UgââÝ–‹hë×h¯…þö•ðòÒPÒzª]ÄÝ]hP)•Âª¼~#ZïgD aÝXÁ#4Ž(T,Ï)-=1ЫôQŸŽáá®Ý¯±1Åv€Û Ó*1A§"–ô¾j·^.B¸ˆ•ù<ÍdŒæM½®f<ž´1n­Sëc€¼^dìB7Œ¢±îR¶Í¥Áö#*#”Lþ¡¸èûå<ñ‡#*-”k$Ü®6Šø¡aò"ºî›L‡ÖêSðë2gnÊ`cvçHý/ÆÌ:’PW¿X*VˬRØ ‚DÓãS2‘µF`Û¢Mxà´äÙÙ”iIw&rXÁ¬™?K#4‰xüîì{3¤ÈŠ&H™•¶#4¤Í ~_¯Ö¹×Š)5Ô†4ñÔÎÄ]*,¸…[õÚ©ÊÑÞSx7Ÿ¦<ü´=E×óå¾f\¹k/íGÎÞ1ù{ªäÞé8]ËîAd¨Z­µ¿d„cTôS9Dlöx•Çn3ʪ7v)Å”p:ÌÚ:~DÐ}¡BÂa#)ÜŸºK²‡*HüÄn~Oc¹aÆïE¨ºkw0Œh•"¨4)øà‘¬Á¥‹-„†;~ ?y¢i$UÖRfŸ §éï‚”.°'o)>0a. BERÁ³¼obÀÚiùØp®4guŽ «MÌã›´ÈÙãÜÔ¸WîC^ÑÕ­'2R•B#bìºã'F¦„%E•H<ÔqŒJÆDVbûôp{L´OSàÈïˆó>8ð´*›Gç ÒÖ©'oiP¥‰Ïiìö¹‡Ð%äD×·vPxH®>é8’#)ð՜éð$ËZ6I xÒeV-åë7+D䈴ý[:t™Áˆú‹(·‡Æ©f•GZ#4ÏÁ GË,õèå8×ÄzÞø#4ÝÚÈ] •O=¿ÔVsÓú$^²1îT†Óm;³ÿB± ^Û‘êf:ïNQ?b;sÑb5¸ò5ÍÄü»»kÂ*ה⚧Q|ßG….n”%q¦LÇj€üQ¯„½o’|Ž*æ¤b¶@ݹ|{w‘MeD`EÈ;ç¹Ó9p芖øBœÌS{äi jcY¿Â†qnU±*ï$Û”œâ9<ýÛ_äñí?›×ŸÞ#)èvû/¾<ùâ«ŠýÏì?ÿUìòˆ9/¡†ì¿<1\¹áÏ4 Jv`Ä<(M“ ,Ûl¸7“Ûöô#*Zs Ö˜å>¨ý|JaVŠbqcx'güÒžùšeëzt§®Þ}G’NÕ”Œ·jJµg*Ö+ÃZ[š:­=€)㳧“RÖ4úDå¼¾ru¥Ä]®s6púr­hp›i<·p§¦ÀUar:ý˜½Á£™A¶Í#4iç˜3ÓâBd:…èQY åy©=—tŸ‚Yì§g/_<~sþìñÙë7gß?ÿ9%ZùÞ|1>#*¹ØúkÀö)•-¦OKxú6PÑOV/c'å0ýռiÕ£¢YžÞ¸M„©”3^ J|àGZc2<I›È°E'Åw²í=7å÷[èÔ¤ŒïGœß4Ã<°ÓÓ¼T”“±ÃÏßî¦Àðäwù cOå`Âñ¤Ýð¶ôú®çÞ ãøEøÆT¨ùÏ© ¹_.‰oa¼à“ËîûÂpç­A›(ò L‘«Ùp=üý rR%T4D“íÚ¹ ‹,ðê-A¢1Ê@—æNƒßŽú¼1DŠ'ðt†lÞk§Kʼ4YºÀ]S%B*kÈ’N#)ÿ%Ãî”~“˜POéÂ&„ßœ°ÛƧ¦ôiJÔŸf=Ó'ªbÑ”®JLßåx—\ˆŸÊÛ‡MQO|À MéÛ(×~@¡ð¹ØÄÇ&¢/?N’ýw6§m> f¹qUCZÚxíi‰ä5«¥–׺–l~#;úíHé7º#j]ãÌ:îz„¬âR]ÁUÃÈú½mœÜÚ¦@«½²â¦æ–Ä@”¨i=Ãçº'u©x•bK ûcÈ1|Ž&7JÅöê8[åRØÁ_Ú¥*˜-¦â´ú⇳—o_œgç¯Þ¾yr–†—r‡ÃPkî„—ûÔ`Ëõ[¾[f!îjVdÃÜ°EÞò‹bKºnYôÀ<ð¹IÓ‘àâñ›§g©ÍW»3eƒ¯V¸ˆ1’ñHÕ—Ïl+³XNJnçÙP­ÌŽ#)(–—µZç覛ØÖQƒ¶•¦‚7Ów:×øæOø&ßüyß„â›?ýw:9Ãz«@§³æŒ½ÅÀ{Ð6ë5gífh?>°ü%Ö!!*A—¤:uáppÁ¬Ò*Åê_e²¦(<Qðí`—xõúâù«—çi±96Îв̋NßÑG.ýx1Ìš¨n§Ø]žujíýkDÀ„±J8#*c2õèÜÊôÿëç/˜þ¯Y‹Mm–f›yyp“Oú ›˜‰2{p™,¥¥k;µbãÅ«'Šp8z¯D§Cï§=ïÓZ–#˜~Mv“Añ&xü6ïò 9jHË«MIÄϞ͋bDÒìèä€}µ·îÑd†šÍ®0‚óîæ}+ËÒ.×Ý/7µo¿­±<jPP¹Á#¼ÒB/é•1}XÑíRƒ¬R«îîH¥i°3Zݹ`´t²[AZO^½x#*R‹çOž½x|¾¥ ßNAiQùSžžK;ò€Š:8+tXá¥#Áïû uZ0\’sÕlïìdj´1÷ä„*ìN ßÿœ=q8é¹Tµ} ÿ„qá½Ã¶q#Þ½›Œãý˜ʵ]­Kuöß^“müG¹ÿËqxj „8a^ÔÂ5¿ùŸN'zÄßÌ>ýa3b¦ÀDR÷Âaðš‚£è›G ýð(#*Ó‚_‰î£3ƒÙKC¾Gæ›`aXk}4#*nü~Â#)Gä‡Å…¯&ü9e\ø9•HØQè7Ÿ{è™õ|[“î"»¬ñL%ÚWP$o˜pí¢ïmà /Q!Œ`iXQ²­,"Áè„K´…Ñn²Wô 2R\ •2Íåò#*õUJyðûßQO^ú´Ø2Œ5TÝ,j›£×jvx$_xÍ#5ÄwŒq&¯CÒ?35ƒ»‹m·ÈÛq벪Åþ§Ç?>ÿîñ… Ÿ½z{ñú­Ã.©ÆìI&xa¤20”×¼­«ñPª¡áÜj´È¸¡ÔÑJyzy”|»ã‰W#*yÛè }±ŽŠ´ä£Ëá¸c€»OÈ'+£[äï@‚¶I`NÄ~[!™øU&†™ã a…A#)N—ÛÄØ/oˆ¡§[Ð{•@'…8G6-qI”ÄoçftÁ‚X^NI"y}ÈÃó$]=ô«xÔƒ$â ~ß/¦Úeû#4ÊÍ÷(U—é7&¥€fpLÅùÙÅÅó—OÏ©­¾{þ¦<¡köÙÕ 0-‹©E­Å#*ÖিΣ«<ǹÍÔ%ꯖ³‰!$tÅM…Çh‹h¨7gœjYìÌ‹jÉ×r–Z¼ RÌ&©Ïò³Ò¯l¯ÖŒP0‰·ôFÖwPV«9Š¦S¥$ÛF[#4°J6"42F)òl>[,Áò@«n`×TM„<Þΰ´lÔì‹IÔ¹–m^xúýýïQš>˜åtXl:&»·Ç4™,g ±±½°òÞÒs´÷N7ä¬|nßÆeeÝ$µ§ óÞoΈÿûHîû#*HKc‰õlöc¾c‹½õjÈ[›…“ÇiÔ^ïe°áß`D¯Aº7+‘¯ö–oË5œÚŽÙêÔ5Ò•!Æ8÷ŽaGV2U!UÖîûÓÑÎ+ÌRá\Å#4­H>f˜|üŸÌ9P¾›-x^3à{Îh íÏgÚ•»§éï/r$û—”Ÿ³¼¸4m‡!K™Á²>᲌EÂíY#*˜™¯Pª#*ãÔÊ€í¾½}Oº’·ï{ñàý0¾°ef>qF„¨_W#8›MYì¡ûí«‹gt-ÈÜÉbuew¹­=kˆ·‡¥OÆ.ï sè¿ùt0ÊY[µt‡X&KùŽÑÒ#Á<f"sn¢°u‘)*9ÉK>ûìö}›û8+N[!”iôd¾=º4lè#4”Â2c4TP3ÐÀX r»àbµIÅòˆ§ÖĹˆ•#c²`Çå1èÎåËùJ{Âe»Y³›;¾¬´¸ÉÇãP¦]G±ioÞ²£ßRïÊûƒî |éNnNa¦„Ÿ¦Ð“ºByq…î3ðœYL(vœ:°¡5 M¿5í!ìÁGUR<Ä‚ V 9s-û«/Éhló]Ë©;Aï«•kÿ` r,.Ùóòo]݃?çÆ~«§×v=rrЦ.òbnZ&WþaY>"¨Á´Äðí$HéhOTb½Äç§i 4#)m¶¢ŸíÌX2h"ñB6AK¤=FvÛ.+°‰ˆ•;ÇJ:ÀÉðª^†7”t’Ah›HÂ!®EQœm&sFÞ’À“Øô¤‚ °÷÷œ”MBdÐ=6[E!ºô‰ð†+­f½µé-«¸wãÛ¡æw'ñ^–Õ d_ŽíJ¤Œ¤jL¹çÂ6–üM*>qk¸úV’Üb¾+RßCeF2èñsâúx›''G9¶Î»¢äÒ²Ú$â²²²ÿïu˜g»àçÒøÄpqéVÆâ 3Øãÿvxþ?Èßww´ü÷ñƒã¯¿(ûÿ<9>9Èÿ©å¿=Qmè}V¸z#)¤NúÅ>2Øþj‚ý×Íîw¼,z H/6PGGY®-á-¾¤µãÉÏ?Ûõ öc&2coî-“•^ê höòñ‹³”sPx #4xj&hômñYÛEÚ¼c†K̾Ç}#*}æ¾ãÎ#)|ŽÏbwiO¾°3„~ëíWŠ 9ý&¬”%Ù\1CüúõëÇϲó‹4î<7»=de#4üŽa5Å€± pIäÀó‹#4U!߸ ÿ'˜ŒD’¼ŠB$!þ yÆÇo~8{#A• ç!Ü›ª#4Ù_Ë1ÕØÅi¿Ô1ÓȦ_€WpH}ýúù“¸š¿#4Í#E˜ÿùÝüz5v…! +Ê|Ü7[öY\Íq‰9ÚtË@º~¼“{¡~ï1ýÂ~º¤DAÄxÖf¨xáÛà›=ö­|X=ÿ4ë?ê>/>3a¤ÿïã㓯OÊëÿW†%8¬ÿæõÿ0ôþ Ç?ìLûË“/ÿÈñÿà'_Uøÿ/¿þò0þÿ#4úŸ‹M¾§ávÎó%êuZ]ÏóA1šÃ!)‚~»‡‰Ý$/áëÍj:Í‹„Õ?YY”•Dù>¥aJíNfÃÕ8_ôbe7‰®\¨ä†}ë*ßu^v€°ÉõQ½®„‰ã7?ÚÖÍ#)ØwêdbáÇ@B˜üõ£,ulÝÌ»d3±ðãG)M½T‘1f|Ì›t7‘ø[A „b— wÃÕ›.³“Ã8¶!ßþø‡Ôo36á—æ°%â°ý,(,£< кƒÙ|êÝa^ŒÖy0#*HG™çÈP‚oõ¦ýa¿A¯sÀÖ]öñ½q¸‹ÿ…>(I½ºŽŠEˆ&ey(å4×ÂpðJš¡ÔE–…Ò:ù›ô¸=§û’ìóÑÚ&äèB­Îí•£#)ñîhÈ=^à0òƒh74²d™»3Ÿê ½¤CT' #)%¸}‚B#)w¬u‰2\ã–"Q„Ü%3#){à¬n‚¯Óµé"¬Ÿxïc”ü7  .ò`94èËðPDè¾~þúŒD™S.À$È‹¢>›™âgó|êݬòåënó&«éh#)j™mt=À&I^ã„im²TL£ÎQ›®2æ]ºFð%ªˆ˜XüïMïÒ& ˆE -¶Âse²×‚¦Z:Q¤R¨Ô"I!§R¸ÉNU¬øŠÉy á~äºHê^±ó Üürf–¦_X!Ò3Â0?£äÖˆE:HP"jêÌðNŒÂµ›ÑÕ&jb¿Ň«#*Y—Á‹§fì 7ÛÛlÑWWRªÞÉeÃtÍ®• ¹ââ~¡‹ƒ1mà=€qm®-<j‹~Ó˜ÉÝ"xÅG%[žhL6€´B,Uïd7ÇÔÂ|¬Å¬_#)×ÏθDx· š=Ä )\êö^º,FùZ#*s”î#4L=Ú—t#)˜íEiX‰úEù´X¢¶ªÊ½£æä7©;^Üäºe`,Mú%•hφQ ö7qÂm·?!…T©¼ì¤üꊗËtgÖ´>í#)Üäƒ[<¦Ú•!œg©Ü#)‹%ÜLùAuåa;¦,õVá¹EÄáÒ’x\CnùW“Côj@„5ÑPs›…zU–„Ïú ÑPÔ”Ó@1Ž:·¡ÅH¸Ã~’Æ>dQ×}¸WÜ4¬ÔU*òEª?d`ƒ.!#*¬Û|CÚà<·šo²ÌĦOžàq()Õ€•róGÞäI=”¡}mÌ%ÈJe™e)¿51[ÚµÂx  nCISº÷çóñÌV¡x4_ÏÆÃŒøB µB'Êœ9‹Á9 «ÍPÖš<|9°-Ömùx˜ê6ÅþŽÙ¯Ög·–ÛAC”ã¡#*"Ždîy§¦º:`‡?ËN·¥õW·‚L>7UnMù”œyæI ˜º#41æË|°üHPFX~ÓÉ‹ZlbAÀžg„#4ISŸ¸(}·*@~MZ¯—(#4áôʃR¦†ÝšçÅrÓr¹%Ž«oÛ‚Å ® ±_u–żü¢),XôÕxXW´ˆÇí]4ååMa^Ñ{ÍêæößåÙÉ®©§Ì°—ïƒ]ùæÓ!æ#4®Á¼ÎBû@7é»…÷Vr@b™Ž&?ö”MûѺ_´ãD”4v#*Pê*Ÿ!̈pYÎæ!<L0ဠX<u—OP<eĤX-ƒdX-±xmÜã­&7¨mt hÜ“ÕsÜ7«à#*ȶºžaƒêgÎWw"XS@½AŽKº²õîB(I‡ÏXÖÛò¿"üžVÅÁ%ŠzØ`˜ß“’hœ­IÑp–“¨~~gŠ‹úÓ#*êD·VfÖ4I‡Å+Ë°/“™a¥j¤ ÄŒ,Øj#*Ì#4øɶ9î@¯XÉ>¦\¸n¯Cµ¶^êî®RpKñ¬ˆ©l–ÿóÙˆÁ#)ïT•›‘=iÐä”MÔ® 1¤…’ÂÖÀ:ôá6ÎÜ7YR6ØCSÛMáW$#;¢Ð{o¶#ï"†‰Z*ã ÄEÜ&*:é~M@cRÁ¦ê]Ù ¬2v .MìÅâ%`gÞZ¦SŽP±Ð)û×àÀŒ½7%ªÚÒ!ÎæÆJÉ~mµÑ÷*çŽ]’súÆô9rú”©?ðý^CžY8Ÿí 'IHÒõ;Ë¡êI"«ú#*Âõå @&ŸŠŽ¼g¶6çiÔÜÃü׋,Ø›àdþ1ý_ãÖó¸ÃÜl°áDk˜D௣?Èñ,Æ#)â` óù\#4$%—¶“9Ø”ç×Kq/"q¤Œ““e~º-‚D'¼Ó‡^4zñjØoÊTuþ…œMÝP‹lBÍÁæY®~A”Ø#·ùtøx…›˜$¶ÝÍ÷mT5\ùXàDõSköˆÇSá]µžÁ‚0)¿é’ì|O^ºZRgµÖ#Ü ’f‘Ãi³#Ñ"|2Ü2¶b”2´²Å^–|¯U“ˆg…[§ß *4](¤BÀ¦c’qÇ£TAŠžSƒèˆúT¡x¥„cUj”z¦$…~cêÒ‹YþŠm)aýààɯ B$=I|)ÃëÝÝOu<ôÅÈÎÔX6#)ÇÃZéÜ, UëŠÖ—~tXè ïéÙQ~'ëjÇËï`fÍÜt纟7WŠÕš#*ÔÌR£ÎM·”¾Ý­<,WF ú µ>q #)„ݸ0~º$CRäÖåH¯>f€š¾å)h>÷§pG€Ê< X`­ZX#*dvÞgÎY6šbmÎwdǺ6¾ófT* x¬W&ÙÀ¬âUÈ5¬ ·ä |±ll6]•"ìˆzþJy„$'S²%÷ TyLaµÕ%žŒ/x` ÄiÙcJe¡P“'`±ÔFø6hÍ †8#¸ƒ¦ò Ö˸;/#4åÎŽ$¼¡ëhª¯ª#** ·u×ñW. ´SaõNy[,ÕÅÓÃ{¤ùÒ€=))Ñ™ÓÚ·>ÂÊZV\¡ŒåóÑ ¥3Ò4J©Ši”#4Ñ~ÑÚ¸9$Ë»Î*dŸÜg—G¥£mçÓÀ;M~]Í–9j£‰AN¶ÇéJ$ØvðôöÙãŸÎ2Ï`çškO°NâÖgÿZIŠšzI´C´Z•Z˜¬Â±½¥2k#)ܯS††2¥íNùNЭŠîK«IÓ™*õ#à”»ºóstÇnè¿UaHÃY´©å´ŽBÜX€O7p{¨]¹Àãéªz1žf)Õ]1Âá#)È#*’c4½žµâÏ"Ô9'ç[¤$g1|5‹Çs€Š#÷.~ÖßT³Æ½c(kñæ2³›wë_l³•°@…¢^ªÞ°›HÿÅ“çÀì,ãÓò¦0±S+ï)k!`pÝ(ð/ùÀ°—c]~~ çòÏé½M{€,Ê-èïælúäèâøöÒîô½•@ìÄšL0KÞ0ÿÖ<}㳩“ÒÏAôóðžÃsxÏá9<‡çðžÃsxÏá9<‡çðžÃsxÏá9<‡çðžÃsxÏá9<‡çðžOôü~._k#)¨#)
-#<==
diff --git a/poky/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch b/poky/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch
index 20838813d..3368f7ddd 100644
--- a/poky/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch
+++ b/poky/meta/recipes-graphics/freetype/freetype/use-right-libtool.patch
@@ -11,4 +11,4 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
+++ freetype-2.6/builds/unix/unix-cc.in 2016-01-07 19:21:50.213112131 +0000
@@ -19,1 +18,1 @@
-LIBTOOL := $(FT_LIBTOOL_DIR)/libtool
-+LIBTOOL := $(FT_LIBTOOL_DIR)/@LIBTOOL@
++LIBTOOL := $(FT_LIBTOOL_DIR)/@LIBTOOL@ --tag CC
diff --git a/poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb b/poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb
deleted file mode 100644
index 200f43c21..000000000
--- a/poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Freetype font rendering library"
-DESCRIPTION = "FreeType is a software font engine that is designed to be small, efficient, \
-highly customizable, and portable while capable of producing high-quality output (glyph \
-images). It can be used in graphics libraries, display servers, font conversion tools, text \
-image generation tools, and many other products as well."
-HOMEPAGE = "http://www.freetype.org/"
-BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype"
-SECTION = "libs"
-
-LICENSE = "FreeType | GPLv2+"
-LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=4af6221506f202774ef74f64932878a1 \
- file://docs/FTL.TXT;md5=9f37b4e6afa3fef9dba8932b16bd3f97 \
- file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \
- file://use-right-libtool.patch \
- "
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/freetype/files/freetype2/"
-UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)"
-
-SRC_URI[md5sum] = "a717e6925b61b9dda946322ecd278a42"
-SRC_URI[sha256sum] = "fccc62928c65192fff6c98847233b28eb7ce05f12d2fea3f6cc90e8b4e5fbe06"
-
-inherit autotools pkgconfig multilib_header
-
-# Adapt autotools to work with the minimal autoconf usage in freetype
-AUTOTOOLS_SCRIPT_PATH = "${S}/builds/unix"
-CONFIGURE_SCRIPT = "${S}/configure"
-EXTRA_AUTORECONF += "--exclude=autoheader --exclude=automake"
-
-PACKAGECONFIG ??= "zlib"
-
-PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
-# harfbuzz results in a circular dependency so enabling is non-trivial
-PACKAGECONFIG[harfbuzz] = "--with-harfbuzz,--without-harfbuzz,harfbuzz"
-PACKAGECONFIG[pixmap] = "--with-png,--without-png,libpng"
-PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-PACKAGECONFIG[freetypeconfig] = "--enable-freetype-config=yes,--enable-freetype-config=no,"
-
-EXTRA_OECONF = "CC_BUILD='${BUILD_CC}'"
-
-TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64"
-
-do_install_append() {
- oe_multilib_header freetype2/freetype/config/ftconfig.h
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/freetype/freetype_2.10.1.bb b/poky/meta/recipes-graphics/freetype/freetype_2.10.1.bb
new file mode 100644
index 000000000..b179a0ed4
--- /dev/null
+++ b/poky/meta/recipes-graphics/freetype/freetype_2.10.1.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Freetype font rendering library"
+DESCRIPTION = "FreeType is a software font engine that is designed to be small, efficient, \
+highly customizable, and portable while capable of producing high-quality output (glyph \
+images). It can be used in graphics libraries, display servers, font conversion tools, text \
+image generation tools, and many other products as well."
+HOMEPAGE = "http://www.freetype.org/"
+BUGTRACKER = "https://savannah.nongnu.org/bugs/?group=freetype"
+SECTION = "libs"
+
+LICENSE = "FreeType | GPLv2+"
+LIC_FILES_CHKSUM = "file://docs/LICENSE.TXT;md5=4af6221506f202774ef74f64932878a1 \
+ file://docs/FTL.TXT;md5=9f37b4e6afa3fef9dba8932b16bd3f97 \
+ file://docs/GPLv2.TXT;md5=8ef380476f642c20ebf40fecb0add2ec"
+
+SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BP}.tar.xz \
+ file://use-right-libtool.patch \
+ "
+SRC_URI[md5sum] = "bd42e75127f8431923679480efb5ba8f"
+SRC_URI[sha256sum] = "16dbfa488a21fe827dc27eaf708f42f7aa3bb997d745d31a19781628c36ba26f"
+
+UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)"
+
+inherit autotools pkgconfig multilib_header
+
+# Adapt autotools to work with the minimal autoconf usage in freetype
+AUTOTOOLS_SCRIPT_PATH = "${S}/builds/unix"
+CONFIGURE_SCRIPT = "${S}/configure"
+EXTRA_AUTORECONF += "--exclude=autoheader --exclude=automake"
+
+PACKAGECONFIG ??= "zlib"
+
+PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
+# harfbuzz results in a circular dependency so enabling is non-trivial
+PACKAGECONFIG[harfbuzz] = "--with-harfbuzz,--without-harfbuzz,harfbuzz"
+PACKAGECONFIG[pixmap] = "--with-png,--without-png,libpng"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+PACKAGECONFIG[freetypeconfig] = "--enable-freetype-config=yes,--enable-freetype-config=no,"
+
+EXTRA_OECONF = "CC_BUILD='${BUILD_CC}'"
+
+TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64"
+
+do_install_append() {
+ oe_multilib_header freetype2/freetype/config/ftconfig.h
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb
deleted file mode 100644
index 4691d16df..000000000
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.4.0.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "Text shaping library"
-DESCRIPTION = "HarfBuzz is an OpenType text shaping engine."
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz"
-BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e021dd6dda6ff1e6b1044002fc662b9b \
- file://src/hb-ucdn/COPYING;md5=994ba0f1295f15b4bda4999a5bbeddef \
-"
-
-DEPENDS = "glib-2.0 cairo fontconfig freetype"
-
-SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.bz2"
-SRC_URI[md5sum] = "49f111f9b52ae3d9b31c1a3631a320bd"
-SRC_URI[sha256sum] = "b470eff9dd5b596edf078596b46a1f83c179449f051a469430afc15869db336f"
-
-inherit autotools pkgconfig lib_package gtk-doc
-
-PACKAGECONFIG ??= "icu"
-PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu"
-
-EXTRA_OECONF = " \
- --with-cairo \
- --with-fontconfig \
- --with-freetype \
- --with-glib \
- --without-graphite2 \
-"
-
-PACKAGES =+ "${PN}-icu ${PN}-icu-dev"
-
-LEAD_SONAME = "libharfbuzz.so"
-
-FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*"
-FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \
- ${libdir}/libharfbuzz-icu.so \
- ${libdir}/pkgconfig/harfbuzz-icu.pc \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb
new file mode 100644
index 000000000..b0f565b9b
--- /dev/null
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_2.6.1.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Text shaping library"
+DESCRIPTION = "HarfBuzz is an OpenType text shaping engine."
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/HarfBuzz"
+BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=HarfBuzz"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e11f5c3149cdec4bb309babb020b32b9 \
+ file://src/hb-ucd.cc;beginline=1;endline=15;md5=29d4dcb6410429195df67efe3382d8bc"
+
+DEPENDS = "glib-2.0 cairo fontconfig freetype"
+
+SRC_URI = "http://www.freedesktop.org/software/harfbuzz/release/${BP}.tar.xz"
+SRC_URI[md5sum] = "89b758a2eb14d56a94406cf914b62388"
+SRC_URI[sha256sum] = "c651fb3faaa338aeb280726837c2384064cdc17ef40539228d88a1260960844f"
+
+inherit autotools pkgconfig lib_package gtk-doc
+
+PACKAGECONFIG ??= "icu"
+PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu"
+PACKAGECONFIG[graphite] = "--with-graphite2,--without-graphite2,graphite2"
+
+EXTRA_OECONF = " \
+ --with-cairo \
+ --with-fontconfig \
+ --with-freetype \
+ --with-glib \
+"
+
+PACKAGES =+ "${PN}-icu ${PN}-icu-dev"
+
+LEAD_SONAME = "libharfbuzz.so"
+
+FILES_${PN}-icu = "${libdir}/libharfbuzz-icu.so.*"
+FILES_${PN}-icu-dev = "${libdir}/libharfbuzz-icu.la \
+ ${libdir}/libharfbuzz-icu.so \
+ ${libdir}/pkgconfig/harfbuzz-icu.pc \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/images/core-image-clutter.bb b/poky/meta/recipes-graphics/images/core-image-clutter.bb
index b0f25cf1b..a59446102 100644
--- a/poky/meta/recipes-graphics/images/core-image-clutter.bb
+++ b/poky/meta/recipes-graphics/images/core-image-clutter.bb
@@ -11,3 +11,5 @@ IMAGE_INSTALL = "\
"
inherit core-image
+
+QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}'
diff --git a/poky/meta/recipes-graphics/images/core-image-x11.bb b/poky/meta/recipes-graphics/images/core-image-x11.bb
index 8455bb8ca..cd5374949 100644
--- a/poky/meta/recipes-graphics/images/core-image-x11.bb
+++ b/poky/meta/recipes-graphics/images/core-image-x11.bb
@@ -7,3 +7,5 @@ LICENSE = "MIT"
inherit core-image distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
+
+QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}'
diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb
deleted file mode 100644
index e1df754b7..000000000
--- a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.2.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "Hardware accelerated JPEG compression/decompression library"
-DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression"
-HOMEPAGE = "http://libjpeg-turbo.org/"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \
- file://jpeglib.h;endline=16;md5=7ea97dc83b0f59052ee837e61ef0e08f \
- file://djpeg.c;endline=11;md5=c59e19811c006cb38f82d6477134d314 \
-"
-DEPENDS_append_x86-64_class-target = " nasm-native"
-DEPENDS_append_x86_class-target = " nasm-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
- file://0001-libjpeg-turbo-fix-package_qa-error.patch \
- "
-
-SRC_URI[md5sum] = "79f76fbfb0c6109631332762d10e16d2"
-SRC_URI[sha256sum] = "acb8599fe5399af114287ee5907aea4456f8f2c1cc96d26c28aebfdf5ee82fed"
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
-UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
-
-PE= "1"
-
-# Drop-in replacement for jpeg
-PROVIDES = "jpeg"
-RPROVIDES_${PN} += "jpeg"
-RREPLACES_${PN} += "jpeg"
-RCONFLICTS_${PN} += "jpeg"
-
-inherit cmake pkgconfig
-
-# Add nasm-native dependency consistently for all build arches is hard
-EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False"
-EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_SIMD=False"
-
-# Work around missing x32 ABI support
-EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}"
-
-# Work around missing non-floating point ABI support in MIPS
-EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
-
-# Provide a workaround if Altivec unit is not present in PPC
-EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
-EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
-
-DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
-
-PACKAGES =+ "jpeg-tools libturbojpeg"
-
-DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
-FILES_jpeg-tools = "${bindir}/*"
-
-DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
-FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb
new file mode 100644
index 000000000..1cf854de6
--- /dev/null
+++ b/poky/meta/recipes-graphics/jpeg/libjpeg-turbo_2.0.3.bb
@@ -0,0 +1,57 @@
+SUMMARY = "Hardware accelerated JPEG compression/decompression library"
+DESCRIPTION = "libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX, SSE2, NEON) to accelerate baseline JPEG compression and decompression"
+HOMEPAGE = "http://libjpeg-turbo.org/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://cdjpeg.h;endline=13;md5=8184bcc7c4ac7b9edc6a7bc00f231d0b \
+ file://jpeglib.h;endline=16;md5=7ea97dc83b0f59052ee837e61ef0e08f \
+ file://djpeg.c;endline=11;md5=c59e19811c006cb38f82d6477134d314 \
+"
+DEPENDS_append_x86-64_class-target = " nasm-native"
+DEPENDS_append_x86_class-target = " nasm-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+ file://0001-libjpeg-turbo-fix-package_qa-error.patch \
+ "
+
+SRC_URI[md5sum] = "bd07fddf26f9def7bab02739eb655116"
+SRC_URI[sha256sum] = "4246de500544d4ee408ee57048aa4aadc6f165fc17f141da87669f20ed3241b7"
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/libjpeg-turbo/files/"
+UPSTREAM_CHECK_REGEX = "/libjpeg-turbo/files/(?P<pver>(\d+[\.\-_]*)+)/"
+
+PE= "1"
+
+# Drop-in replacement for jpeg
+PROVIDES = "jpeg"
+RPROVIDES_${PN} += "jpeg"
+RREPLACES_${PN} += "jpeg"
+RCONFLICTS_${PN} += "jpeg"
+
+inherit cmake pkgconfig
+
+# Add nasm-native dependency consistently for all build arches is hard
+EXTRA_OECMAKE_append_class-native = " -DWITH_SIMD=False"
+EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_SIMD=False"
+
+# Work around missing x32 ABI support
+EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-DWITH_SIMD=False", "", d)}"
+
+# Work around missing non-floating point ABI support in MIPS
+EXTRA_OECMAKE_append_class-target = " ${@bb.utils.contains("MIPSPKGSFX_FPU", "-nf", "-DWITH_SIMD=False", "", d)}"
+
+# Provide a workaround if Altivec unit is not present in PPC
+EXTRA_OECMAKE_append_class-target_powerpc = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
+EXTRA_OECMAKE_append_class-target_powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "", "-DWITH_SIMD=False", d)}"
+
+DEBUG_OPTIMIZATION_append_armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+DEBUG_OPTIMIZATION_append_armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
+
+PACKAGES =+ "jpeg-tools libturbojpeg"
+
+DESCRIPTION_jpeg-tools = "The jpeg-tools package includes client programs to access libjpeg functionality. These tools allow for the compression, decompression, transformation and display of JPEG files and benchmarking of the libjpeg library."
+FILES_jpeg-tools = "${bindir}/*"
+
+DESCRIPTION_libturbojpeg = "A SIMD-accelerated JPEG codec which provides only TurboJPEG APIs"
+FILES_libturbojpeg = "${libdir}/libturbojpeg.so.*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch b/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch
index 611e54159..a7a08f14e 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch
+++ b/poky/meta/recipes-graphics/kmscube/kmscube/detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch
@@ -1,7 +1,7 @@
-From 761bf993ca55095f46380c0238583791c1797295 Mon Sep 17 00:00:00 2001
+From a91c588b5a4122506e7fe949c37d530621bdd997 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org>
Date: Tue, 11 Jul 2017 14:50:37 -0500
-Subject: [PATCH kmscube] Detect gst_bo_map/_unmap and use it (or avoid it)
+Subject: [PATCH] Detect gst_bo_map/_unmap and use it (or avoid it)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -18,6 +18,7 @@ Cc: Rob Clark <robdclark@gmail.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Upstream-Status: Submitted [https://lists.freedesktop.org/archives/mesa-dev/2017-July/163020.html]
+Signed-off-by: Zoltan Kuscsik <zoltan.kuscsik@solution57.com>
---
Makefile.am | 5 ++++-
configure.ac | 3 +++
@@ -26,7 +27,7 @@ Upstream-Status: Submitted [https://lists.freedesktop.org/archives/mesa-dev/2017
4 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/Makefile.am b/Makefile.am
-index a36087d..ab4adbf 100644
+index ba064e4..3a0a50b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -43,7 +43,6 @@ kmscube_SOURCES = \
@@ -37,16 +38,16 @@ index a36087d..ab4adbf 100644
drm-atomic.c \
drm-common.c \
drm-common.h \
-@@ -59,3 +58,7 @@ kmscube_LDADD += $(GST_LIBS)
- kmscube_CFLAGS += $(GST_CFLAGS)
- kmscube_SOURCES += cube-video.c gst-decoder.c
- endif
+@@ -68,3 +67,7 @@ texturator_SOURCES = \
+ drm-common.c \
+ drm-legacy.c \
+ texturator.c
+
+if ENABLE_GBM_MAP
+kmscube_SOURCES += cube-tex.c
+endif
diff --git a/configure.ac b/configure.ac
-index 8397f7b..c7f1f4d 100644
+index 6be6541..3d20121 100644
--- a/configure.ac
+++ b/configure.ac
@@ -49,5 +49,8 @@ if test "x$HAVE_GST" = "xyes"; then
@@ -59,7 +60,7 @@ index 8397f7b..c7f1f4d 100644
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
diff --git a/gst-decoder.c b/gst-decoder.c
-index 2d6d581..b84980e 100644
+index 5431014..0aa7a55 100644
--- a/gst-decoder.c
+++ b/gst-decoder.c
@@ -332,6 +332,7 @@ set_last_frame(struct decoder *dec, EGLImage frame, GstSample *samp)
@@ -96,10 +97,10 @@ index 2d6d581..b84980e 100644
if (dmabuf_fd < 0) {
GST_ERROR("could not obtain DMABUF FD");
diff --git a/kmscube.c b/kmscube.c
-index 3a2c4dd..276dc55 100644
+index 81803be..e93da67 100644
--- a/kmscube.c
+++ b/kmscube.c
-@@ -148,7 +148,11 @@ int main(int argc, char *argv[])
+@@ -166,7 +166,11 @@ int main(int argc, char *argv[])
else if (mode == VIDEO)
egl = init_cube_video(gbm, video, samples);
else
@@ -112,5 +113,5 @@ index 3a2c4dd..276dc55 100644
if (!egl) {
printf("failed to initialize EGL\n");
--
-2.7.4
+2.22.0
diff --git a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
index 513148f9e..2b6837fef 100644
--- a/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
+++ b/poky/meta/recipes-graphics/kmscube/kmscube_git.bb
@@ -6,8 +6,8 @@ DEPENDS = "virtual/libgles2 virtual/egl libdrm"
LIC_FILES_CHKSUM = "file://kmscube.c;beginline=1;endline=23;md5=8b309d4ee67b7315ff7381270dd631fb"
-SRCREV = "485b385e966a63cecc143765d112d267b299ffe5"
-SRC_URI = "git://anongit.freedesktop.org/mesa/kmscube;branch=master;protocol=git \
+SRCREV = "f632b23a528ed6b4e1fddd774db005c30ab65568"
+SRC_URI = "git://gitlab.freedesktop.org/mesa/kmscube;branch=master;protocol=https \
file://detect-gst_bo_map-_unmap-and-use-it-or-avoid-it.patch"
UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
index dd706a960..825453ab2 100644
--- a/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
+++ b/poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.3.bb
@@ -18,13 +18,13 @@ REQUIRED_DISTRO_FEATURES_class-native = ""
REQUIRED_DISTRO_FEATURES_class-nativesdk = ""
PACKAGECONFIG[egl] = "-Degl=yes, -Degl=no, virtual/egl"
-PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no, virtual/libx11 virtual/libgl"
+PACKAGECONFIG[x11] = "-Dglx=yes, -Dglx=no -Dx11=false, virtual/libx11 virtual/libgl"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} egl"
EXTRA_OEMESON += "-Dtests=false"
-PACKAGECONFIG_class-native = "egl"
-PACKAGECONFIG_class-nativesdk = "egl"
+PACKAGECONFIG_class-native = "egl x11"
+PACKAGECONFIG_class-nativesdk = "egl x11"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch b/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch
index 29076bf6c..8ca52ebde 100644
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2/more-gen-depends.patch
@@ -1,3 +1,8 @@
+From e0f4b6d18ce6f025c78773e909b9c395ad833c7a Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Mon, 29 Jul 2019 08:38:32 +0800
+Subject: [PATCH] configure: fix dependencies
+
Many source files include e.g. wayland-protocols.h which should be found in the
sysroot but SDL wants to build its own headers from the XML definitions.
@@ -14,34 +19,42 @@ the primary objects.
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@intel.com>
+[Moved to configure.ac]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/configure.in b/data/poky-tmp/master/work/corei7-64-poky-linux/libsdl2/2.0.8-r0/SDL2-2.0.8/configure.in
-index 1c7e79338..ba07a4a4e 100644
---- a/configure.in
-+++ b/data/poky-tmp/master/work/corei7-64-poky-linux/libsdl2/2.0.8-r0/SDL2-2.0.8/configure.in
-@@ -4011,7 +4011,7 @@ DEPENDS=`echo $SOURCES | tr ' ' '\n'`
+diff --git a/configure.ac b/configure.ac
+index 9e782c6..997915a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4061,7 +4061,7 @@ DEPENDS=`echo $SOURCES | tr ' ' '\n'`
for EXT in asm cc m c S; do
OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.'$EXT',$(objects)/\1.lo,g'`
DEPENDS=`echo "$DEPENDS" | sed "s,^\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.$EXT\\$,\\\\
--\\$(objects)/\\2.lo: \\1/\\2.$EXT\\\\
-+\\$(objects)/\\2.lo: \\1/\\2.$EXT \\$(GEN_OBJECTS)\\\\
+-\\$(objects)/\\2.lo: \\1/\\2.$EXT \\$(objects)/.created\\\\
++\\$(objects)/\\2.lo: \\1/\\2.$EXT \\$(objects)/.created \\$(GEN_OBJECTS)\\\\
\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
done
-@@ -4028,14 +4028,14 @@ SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES`
+@@ -4078,14 +4078,14 @@ SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES`
SDLMAIN_DEPENDS=`echo $SDLMAIN_SOURCES`
SDLMAIN_OBJECTS=`echo "$SDLMAIN_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
SDLMAIN_DEPENDS=`echo "$SDLMAIN_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\
--\\$(objects)/\\2.lo: \\1/\\2.c\\\\
-+\\$(objects)/\\2.lo: \\1/\\2.c \\$(GEN_OBJECTS)\\\\
+-\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created\\\\
++\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created \\$(GEN_OBJECTS)\\\\
\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
SDLTEST_OBJECTS=`echo $SDLTEST_SOURCES`
SDLTEST_DEPENDS=`echo $SDLTEST_SOURCES`
SDLTEST_OBJECTS=`echo "$SDLTEST_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
SDLTEST_DEPENDS=`echo "$SDLTEST_DEPENDS" | sed "s,\\([[^ ]]*\\)/\\([[^ ]]*\\)\\.c,\\\\
--\\$(objects)/\\2.lo: \\1/\\2.c\\\\
-+\\$(objects)/\\2.lo: \\1/\\2.c\\\\ \\$(GEN_OBJECTS)\\\\
+-\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created\\\\
++\\$(objects)/\\2.lo: \\1/\\2.c \\$(objects)/.created \\$(GEN_OBJECTS)\\\\
\\$(RUN_CMD_CC)\\$(LIBTOOL) --tag=CC --mode=compile \\$(CC) \\$(CFLAGS) \\$(EXTRA_CFLAGS) $DEPENDENCY_TRACKING_OPTIONS -c \\$< -o \\$@,g"`
# Set runtime shared library paths as needed
+--
+2.7.4
+
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.10.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.10.bb
new file mode 100644
index 000000000..3a0654b86
--- /dev/null
+++ b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.10.bb
@@ -0,0 +1,74 @@
+SUMMARY = "Simple DirectMedia Layer"
+DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \
+library designed to provide low level access to audio, keyboard, mouse, \
+joystick, 3D hardware via OpenGL, and 2D video framebuffer."
+HOMEPAGE = "http://www.libsdl.org"
+BUGTRACKER = "http://bugzilla.libsdl.org/"
+
+SECTION = "libs"
+
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=504a9454ceb89fd75a2583473b11409e"
+
+PROVIDES = "virtual/libsdl2"
+
+SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
+ file://more-gen-depends.patch \
+"
+
+S = "${WORKDIR}/SDL2-${PV}"
+
+SRC_URI[md5sum] = "5a2114f2a6f348bdab5bf52b994811db"
+SRC_URI[sha256sum] = "b4656c13a1f0d0023ae2f4a9cf08ec92fffb464e0f24238337784159b8b91d57"
+
+inherit autotools lib_package binconfig-disabled pkgconfig
+
+BINCONFIG = "${bindir}/sdl2-config"
+
+CVE_PRODUCT = "simple_directmedia_layer sdl"
+
+EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \
+ --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
+ --disable-video-dummy \
+ --enable-pthreads \
+ --enable-sdl-dlopen \
+ --disable-rpath \
+ --disable-sndio \
+ "
+
+# opengl packageconfig factored out to make it easy for distros
+# and BSP layers to pick either (desktop) opengl, gles2, or no GL
+PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
+
+PACKAGECONFIG_class-native = "x11"
+PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG ??= " \
+ ${PACKAGECONFIG_GL} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \
+"
+PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib,"
+PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb"
+PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2"
+PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
+PACKAGECONFIG[kmsdrm] = "--enable-video-kmsdrm,--disable-video-kmsdrm,libdrm virtual/libgbm"
+PACKAGECONFIG[opengl] = "--enable-video-opengl,--disable-video-opengl,virtual/libgl"
+PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
+PACKAGECONFIG[tslib] = "--enable-input-tslib,--disable-input-tslib,tslib"
+PACKAGECONFIG[wayland] = "--enable-video-wayland,--disable-video-wayland,wayland-native wayland wayland-protocols libxkbcommon"
+PACKAGECONFIG[x11] = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender"
+
+EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
+
+do_configure_prepend() {
+ # Remove old libtool macros.
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+ for i in ${MACROS}; do
+ rm -f ${S}/acinclude/$i
+ done
+ export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
+}
+
+FILES_${PN}-dev += "${libdir}/cmake"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb b/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb
deleted file mode 100644
index a0a0b1509..000000000
--- a/poky/meta/recipes-graphics/libsdl2/libsdl2_2.0.9.bb
+++ /dev/null
@@ -1,74 +0,0 @@
-SUMMARY = "Simple DirectMedia Layer"
-DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \
-library designed to provide low level access to audio, keyboard, mouse, \
-joystick, 3D hardware via OpenGL, and 2D video framebuffer."
-HOMEPAGE = "http://www.libsdl.org"
-BUGTRACKER = "http://bugzilla.libsdl.org/"
-
-SECTION = "libs"
-
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=02ee26814dd044bd7838ae24e05b880f"
-
-PROVIDES = "virtual/libsdl2"
-
-SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
- file://more-gen-depends.patch \
-"
-
-S = "${WORKDIR}/SDL2-${PV}"
-
-SRC_URI[md5sum] = "f2ecfba915c54f7200f504d8b48a5dfe"
-SRC_URI[sha256sum] = "255186dc676ecd0c1dbf10ec8a2cc5d6869b5079d8a38194c2aecdff54b324b1"
-
-inherit autotools lib_package binconfig-disabled pkgconfig
-
-BINCONFIG = "${bindir}/sdl2-config"
-
-CVE_PRODUCT = "simple_directmedia_layer sdl"
-
-EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \
- --disable-diskaudio --disable-nas --disable-esd-shared --disable-esdtest \
- --disable-video-dummy \
- --enable-pthreads \
- --enable-sdl-dlopen \
- --disable-rpath \
- --disable-sndio \
- "
-
-# opengl packageconfig factored out to make it easy for distros
-# and BSP layers to pick either (desktop) opengl, gles2, or no GL
-PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
-
-PACKAGECONFIG_class-native = "x11"
-PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG ??= " \
- ${PACKAGECONFIG_GL} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \
-"
-PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib,"
-PACKAGECONFIG[directfb] = "--enable-video-directfb,--disable-video-directfb,directfb"
-PACKAGECONFIG[gles2] = "--enable-video-opengles,--disable-video-opengles,virtual/libgles2"
-PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
-PACKAGECONFIG[kmsdrm] = "--enable-video-kmsdrm,--disable-video-kmsdrm,libdrm virtual/libgbm"
-PACKAGECONFIG[opengl] = "--enable-video-opengl,--disable-video-opengl,virtual/libgl"
-PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
-PACKAGECONFIG[tslib] = "--enable-input-tslib,--disable-input-tslib,tslib"
-PACKAGECONFIG[wayland] = "--enable-video-wayland,--disable-video-wayland,wayland-native wayland wayland-protocols libxkbcommon"
-PACKAGECONFIG[x11] = "--enable-video-x11,--disable-video-x11,virtual/libx11 libxext libxrandr libxrender"
-
-EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
-
-do_configure_prepend() {
- # Remove old libtool macros.
- MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
- for i in ${MACROS}; do
- rm -f ${S}/acinclude/$i
- done
- export SYSROOT=$PKG_CONFIG_SYSROOT_DIR
-}
-
-FILES_${PN}-dev += "${libdir}/cmake"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.4.0.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.4.0.bb
deleted file mode 100644
index 7b764314b..000000000
--- a/poky/meta/recipes-graphics/libva/libva-utils_2.4.0.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "libva-utils is a collection of utilities from libva project"
-
-DESCRIPTION = "libva-utils is a collection of utilities \
-and examples to exercise VA-API in accordance with the libva \
-project.VA-API is an open-source library and API specification, \
-which provides access to graphics hardware acceleration capabilities \
-for video processing. It consists of a main library and driver-specific \
-acceleration backends for each supported hardware vendor"
-
-HOMEPAGE = "https://01.org/linuxmedia/vaapi"
-BUGTRACKER = "https://github.com/intel/libva-utils/issues"
-
-SECTION = "x11"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
-
-SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2 \
- file://0001-Build-sfcsample-only-when-X11-backend-is-enabled.patch \
- "
-
-SRC_URI[md5sum] = "f5374c4c32ce136e50aea0267887aed5"
-SRC_URI[sha256sum] = "5b7d1954b40fcb2c0544be20125c71a0852049715ab85a3e8aba60434a40c6b3"
-
-UPSTREAM_CHECK_URI = "https://github.com/intel/libva-utils/releases"
-
-DEPENDS = "libva"
-
-inherit autotools pkgconfig distro_features_check
-
-# depends on libva which requires opengl
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
diff --git a/poky/meta/recipes-graphics/libva/libva-utils_2.5.0.bb b/poky/meta/recipes-graphics/libva/libva-utils_2.5.0.bb
new file mode 100644
index 000000000..fc013d75c
--- /dev/null
+++ b/poky/meta/recipes-graphics/libva/libva-utils_2.5.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "libva-utils is a collection of utilities from libva project"
+
+DESCRIPTION = "libva-utils is a collection of utilities \
+and examples to exercise VA-API in accordance with the libva \
+project.VA-API is an open-source library and API specification, \
+which provides access to graphics hardware acceleration capabilities \
+for video processing. It consists of a main library and driver-specific \
+acceleration backends for each supported hardware vendor"
+
+HOMEPAGE = "https://01.org/linuxmedia/vaapi"
+BUGTRACKER = "https://github.com/intel/libva-utils/issues"
+
+SECTION = "x11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
+
+SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2 \
+ file://0001-Build-sfcsample-only-when-X11-backend-is-enabled.patch \
+ "
+
+SRC_URI[md5sum] = "c1fada26c286654859eff33b2562cb79"
+SRC_URI[sha256sum] = "9238c9d5110d60f935683390b8383fdac3507346384cd5f117a23c6db1d72a17"
+
+UPSTREAM_CHECK_URI = "https://github.com/intel/libva-utils/releases"
+
+DEPENDS = "libva"
+
+inherit autotools pkgconfig distro_features_check
+
+# depends on libva which requires opengl
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
diff --git a/poky/meta/recipes-graphics/libva/libva_2.4.1.bb b/poky/meta/recipes-graphics/libva/libva_2.4.1.bb
deleted file mode 100644
index 525721f0a..000000000
--- a/poky/meta/recipes-graphics/libva/libva_2.4.1.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Video Acceleration (VA) API for Linux"
-DESCRIPTION = "Video Acceleration API (VA API) is a library (libVA) \
-and API specification which enables and provides access to graphics \
-hardware (GPU) acceleration for video processing on Linux and UNIX \
-based operating systems. Accelerated processing includes video \
-decoding, video encoding, subpicture blending and rendering. The \
-specification was originally designed by Intel for its GMA (Graphics \
-Media Accelerator) series of GPU hardware, the API is however not \
-limited to GPUs or Intel specific hardware, as other hardware and \
-manufacturers can also freely use this API for hardware accelerated \
-video decoding."
-
-HOMEPAGE = "https://01.org/linuxmedia/vaapi"
-BUGTRACKER = "https://github.com/intel/libva/issues"
-
-SECTION = "x11"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
-
-SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2"
-
-SRC_URI[md5sum] = "5b5ace9de3f07cb7b8f4d19b6979adf0"
-SRC_URI[sha256sum] = "e9e053908591b121793eaa5d8aa37675b4cd3af4b12f1f377dff4767f39cee70"
-
-UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
-
-DEPENDS = "libdrm virtual/mesa"
-
-inherit autotools pkgconfig distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-EXTRA_OECONF = "ac_cv_prog_WAYLAND_SCANNER=wayland-scanner"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
-
-PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland"
-
-RDEPENDS_${PN}-x11 =+ "${PN}"
-RDEPENDS_${PN}-glx =+ "${PN}-x11"
-
-FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}"
-FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}"
-FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}"
diff --git a/poky/meta/recipes-graphics/libva/libva_2.5.0.bb b/poky/meta/recipes-graphics/libva/libva_2.5.0.bb
new file mode 100644
index 000000000..e75648b2b
--- /dev/null
+++ b/poky/meta/recipes-graphics/libva/libva_2.5.0.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Video Acceleration (VA) API for Linux"
+DESCRIPTION = "Video Acceleration API (VA API) is a library (libVA) \
+and API specification which enables and provides access to graphics \
+hardware (GPU) acceleration for video processing on Linux and UNIX \
+based operating systems. Accelerated processing includes video \
+decoding, video encoding, subpicture blending and rendering. The \
+specification was originally designed by Intel for its GMA (Graphics \
+Media Accelerator) series of GPU hardware, the API is however not \
+limited to GPUs or Intel specific hardware, as other hardware and \
+manufacturers can also freely use this API for hardware accelerated \
+video decoding."
+
+HOMEPAGE = "https://01.org/linuxmedia/vaapi"
+BUGTRACKER = "https://github.com/intel/libva/issues"
+
+SECTION = "x11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
+
+SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2"
+
+SRC_URI[md5sum] = "3688212fb7a87947070f3729e91ff7cf"
+SRC_URI[sha256sum] = "3aa89cd369a506ac4dbe5de7c0ef5da4f3d220bf986403f02fa1f6f702af6878"
+
+UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
+
+DEPENDS = "libdrm virtual/mesa"
+
+inherit autotools pkgconfig distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+EXTRA_OECONF = "ac_cv_prog_WAYLAND_SCANNER=wayland-scanner"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
+
+PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland"
+
+RDEPENDS_${PN}-x11 =+ "${PN}"
+RDEPENDS_${PN}-glx =+ "${PN}-x11"
+
+FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}"
+FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}"
+FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}"
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 0064dc643..9fba5da4b 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 da6b9188f29942684d4262f0c6264d09bb6fe7de Mon Sep 17 00:00:00 2001
+From ea966884e39aae9571c038fab55f3c1663d17850 Mon Sep 17 00:00:00 2001
From: Fabio Berton <fabio.berton@ossystems.com.br>
Date: Wed, 12 Jun 2019 13:40:20 -0300
-Subject: [PATCH 1/3] meson.build: check for all linux host_os combinations
+Subject: [PATCH] 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
@@ -13,41 +13,30 @@ Upstream-Status: Pending
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
- meson.build | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
-index 8ab8a550f56..e11880f2902 100644
+index 567a81afd6f..b33b430aed4 100644
--- a/meson.build
+++ b/meson.build
-@@ -34,6 +34,8 @@ cpp = meson.get_compiler('cpp')
-
- null_dep = dependency('', required : false)
-
-+system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly'].contains(host_machine.system()) or host_machine.system().startswith('linux')
-+
- # 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++.
-@@ -107,8 +109,6 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
+@@ -107,7 +107,7 @@ 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())
--
+-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux'].contains(host_machine.system())
++system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly'].contains(host_machine.system()) or host_machine.system().startswith('linux')
+
dri_drivers = get_option('dri-drivers')
if dri_drivers.contains('auto')
- if system_has_kms_drm
-@@ -836,7 +836,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));',
+@@ -845,7 +845,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));',
endif
# TODO: this is very incomplete
--if ['linux', 'cygwin', 'gnu'].contains(host_machine.system())
-+if ['cygwin', 'gnu'].contains(host_machine.system()) or host_machine.system().startswith('linux')
+-if ['linux', 'cygwin', 'gnu', 'gnu/kfreebsd'].contains(host_machine.system())
++if ['cygwin', 'gnu', 'gnu/kfreebsd'].contains(host_machine.system()) or host_machine.system().startswith('linux')
pre_args += '-D_GNU_SOURCE'
endif
---
-2.22.0
-
diff --git a/poky/meta/recipes-graphics/mesa/files/0002-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 81454aaa2..641bacf1d 100644
--- a/poky/meta/recipes-graphics/mesa/files/0002-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,7 +1,7 @@
-From d31718999797ffc4dd177d14760ef7b8fd95ac2f Mon Sep 17 00:00:00 2001
+From cee8e48c5344124e5d84307cb0c48ee0c9b3e684 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
+Subject: [PATCH] meson.build: make TLS GLX optional again
Organization: O.S. Systems Software LTDA.
This was optional with autotools, and needs to be disabled
@@ -11,16 +11,17 @@ Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
meson.build | 4 +++-
meson_options.txt | 7 +++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
-index e11880f2902..7a07974ba61 100644
+index b33b430aed4..0e50bb26c0a 100644
--- a/meson.build
+++ b/meson.build
-@@ -362,7 +362,9 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless)
+@@ -369,7 +369,9 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless or with_plat
endif
endif
@@ -49,6 +50,3 @@ index 1f72faabee8..fcd49efea27 100644
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
index 0f254a1d9..3458c1919 100644
--- 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
@@ -1,20 +1,21 @@
-From 417ff3a03313aa003244990ed5c0188c421e6181 Mon Sep 17 00:00:00 2001
+From f1482e88c2295b9c7288f5b273335a8e18039de8 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
+Subject: [PATCH] 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>
+Signed-off-by: Otavio Salvador <otavio@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
+index 0e50bb26c0a..de065c290d6 100644
--- a/meson.build
+++ b/meson.build
@@ -137,7 +137,7 @@ with_dri_r200 = dri_drivers.contains('r200')
@@ -43,6 +44,3 @@ index fcd49efea27..0529200b3bb 100644
option(
'dri-drivers',
type : 'array',
---
-2.22.0
-
diff --git a/poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb b/poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb
deleted file mode 100644
index eeb898fd3..000000000
--- a/poky/meta/recipes-graphics/mesa/libglu_9.0.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "The OpenGL utility toolkit"
-DESCRIPTION = "GLU is a utility toolkit used with OpenGL implementations"
-
-HOMEPAGE = "http://mesa3d.org"
-BUGTRACKER = "https://bugs.freedesktop.org"
-SECTION = "x11"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://include/GL/glu.h;endline=29;md5=6b79c570f644363b356456e7d44471d9 \
- file://src/libtess/tess.c;endline=29;md5=6b79c570f644363b356456e7d44471d9"
-
-# Epoch as this used to be part of mesa
-PE = "2"
-PR = "0"
-
-SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.bz2"
-
-SRC_URI[md5sum] = "be9249132ff49275461cf92039083030"
-SRC_URI[sha256sum] = "1f7ad0d379a722fcbd303aa5650c6d7d5544fde83196b42a73d1193568a4df12"
-
-S = "${WORKDIR}/glu-${PV}"
-
-DEPENDS = "virtual/libgl"
-
-inherit autotools pkgconfig distro_features_check
-
-# Requires libGL.so which is provided by mesa when x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-# Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty
-RDEPENDS_${PN}-dev = ""
diff --git a/poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb b/poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb
new file mode 100644
index 000000000..068fb19e2
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/libglu_9.0.1.bb
@@ -0,0 +1,30 @@
+SUMMARY = "The OpenGL utility toolkit"
+DESCRIPTION = "GLU is a utility toolkit used with OpenGL implementations"
+
+HOMEPAGE = "http://mesa3d.org"
+BUGTRACKER = "https://bugs.freedesktop.org"
+SECTION = "x11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://include/GL/glu.h;endline=29;md5=6b79c570f644363b356456e7d44471d9 \
+ file://src/libtess/tess.c;endline=29;md5=6b79c570f644363b356456e7d44471d9"
+
+# Epoch as this used to be part of mesa
+PE = "2"
+PR = "0"
+
+SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "5599a0e0a97335e10239d9165aced60d"
+SRC_URI[sha256sum] = "f6f484cfcd51e489afe88031afdea1e173aa652697e4c19ddbcb8260579a10f7"
+
+S = "${WORKDIR}/glu-${PV}"
+
+DEPENDS = "virtual/libgl"
+
+inherit autotools pkgconfig distro_features_check
+
+# Requires libGL.so which is provided by mesa when x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+# Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty
+RDEPENDS_${PN}-dev = ""
diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.6.bb
index d4b1c1c45..d4b1c1c45 100644
--- a/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb
+++ b/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.6.bb
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 3ecfb8506..9e5808ee2 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -26,6 +26,11 @@ PROVIDES = " \
inherit meson pkgconfig python3native gettext distro_features_check
+# Unset these to stop python trying to report the target Python setup
+_PYTHON_SYSCONFIGDATA_NAME[unexport] = "1"
+STAGING_INCDIR[unexport] = "1"
+STAGING_LIBDIR[unexport] = "1"
+
BBCLASSEXTEND = "native nativesdk"
ANY_OF_DISTRO_FEATURES_class-target = "opengl vulkan"
@@ -36,6 +41,10 @@ PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)} \
export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm${MESA_LLVM_RELEASE}/llvm-config"
export YOCTO_ALTERNATE_MULTILIB_NAME = "${base_libdir}"
+export LLVM_CONFIG = "${STAGING_BINDIR_NATIVE}/llvm-config${MESA_LLVM_RELEASE}"
+export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}"
+
+MESA_LLVM_RELEASE ?= "${LLVMVERSION}"
EXTRA_OEMESON = " \
-Dshared-glapi=true \
@@ -50,8 +59,8 @@ PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland v
${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \
glx-tls \
"
-PACKAGECONFIG_class-native ?= "gbm dri egl opengl"
-PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl"
+PACKAGECONFIG_class-native ?= "gbm dri egl opengl glx-tls"
+PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl glx-tls"
PACKAGECONFIG_remove_libc-musl = "glx-tls"
@@ -89,11 +98,20 @@ PACKAGECONFIG[gles] = "-Dgles1=true -Dgles2=true, -Dgles1=false -Dgles2=false"
PACKAGECONFIG[egl] = "-Degl=true, -Degl=false"
PACKAGECONFIG[etnaviv] = ""
+PACKAGECONFIG[freedreno] = ""
PACKAGECONFIG[kmsro] = ""
+PACKAGECONFIG[vc4] = ""
+PACKAGECONFIG[v3d] = ""
GALLIUMDRIVERS = "swrast"
+# gallium swrast was found to crash Xorg on startup in x32 qemu
+GALLIUMDRIVERS_x86-x32 = ""
+
GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
+GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'kmsro', ',kmsro', '', d)}"
+GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
+GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
# radeonsi requires LLVM
GALLIUMDRIVERS_LLVM33 = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',radeonsi', '', d)}"
@@ -107,12 +125,16 @@ GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600',
GALLIUMDRIVERS_append = ",virgl"
PACKAGECONFIG[gallium] = "-Dgallium-drivers=${GALLIUMDRIVERS}, -Dgallium-drivers=''"
-MESA_LLVM_RELEASE ?= "8.0.0"
PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true, -Dllvm=false, llvm${MESA_LLVM_RELEASE} llvm-native \
${@'elfutils' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}"
-export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}"
PACKAGECONFIG[xa] = "-Dgallium-xa=true, -Dgallium-xa=false"
+PACKAGECONFIG[lima] = ""
+GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
+
+PACKAGECONFIG[panfrost] = ""
+GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
+
OSMESA = "${@bb.utils.contains('PACKAGECONFIG', 'gallium', 'gallium', 'classic', d)}"
PACKAGECONFIG[osmesa] = "-Dosmesa=${OSMESA},-Dosmesa=none"
diff --git a/poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb b/poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb
deleted file mode 100644
index 05c315349..000000000
--- a/poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-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://0002-meson.build-make-TLS-GLX-optional-again.patch \
- file://0003-Allow-enable-DRI-without-DRI-drivers.patch \
- "
-
-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
-do_install_append() {
- if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
- sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
- fi
-}
diff --git a/poky/meta/recipes-graphics/mesa/mesa_19.1.6.bb b/poky/meta/recipes-graphics/mesa/mesa_19.1.6.bb
new file mode 100644
index 000000000..19221e9e2
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/mesa_19.1.6.bb
@@ -0,0 +1,20 @@
+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://0002-meson.build-make-TLS-GLX-optional-again.patch \
+ file://0003-Allow-enable-DRI-without-DRI-drivers.patch \
+ "
+
+SRC_URI[md5sum] = "7dbb40b8d10e89bee0a5bfc85350647b"
+SRC_URI[sha256sum] = "2a369b7b48545c6486e7e44913ad022daca097c8bd937bf30dcf3f17a94d3496"
+
+UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
+
+#because we cannot rely on the fact that all apps will use pkgconfig,
+#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
+do_install_append() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
+ sed -i -e 's/^#if defined(MESA_EGL_NO_X11_HEADERS)$/#if defined(MESA_EGL_NO_X11_HEADERS) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
+ fi
+}
diff --git a/poky/meta/recipes-graphics/pango/pango/0001-Skip-thai-break-tests-without-libthai.patch b/poky/meta/recipes-graphics/pango/pango/0001-Skip-thai-break-tests-without-libthai.patch
new file mode 100644
index 000000000..3f9ebff33
--- /dev/null
+++ b/poky/meta/recipes-graphics/pango/pango/0001-Skip-thai-break-tests-without-libthai.patch
@@ -0,0 +1,36 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 12beb39925b5a4574a7cfd86073b59bceb49f791 Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Wed, 4 Sep 2019 15:51:06 -0400
+Subject: [PATCH] Skip thai break tests without libthai
+
+If we don't have libthai, these tests fail.
+
+Closes: https://gitlab.gnome.org/GNOME/pango/issues/420
+---
+ tests/meson.build | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/tests/meson.build b/tests/meson.build
+index 4c22c12c..c617331f 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -89,9 +89,12 @@ test_breaks_data = [
+ 'breaks/one',
+ 'breaks/two',
+ 'breaks/three',
+- 'breaks/four',
+ ]
+
++if thai_dep.found()
++ test_breaks_data += [ 'breaks/four', ]
++endif
++
+ test_items_data = [
+ 'itemize/one',
+ ]
+--
+2.20.1
+
diff --git a/poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch b/poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch
deleted file mode 100644
index faaa96133..000000000
--- a/poky/meta/recipes-graphics/pango/pango/insensitive-diff.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Do case-insensitive diffs as the test is sensitive as to whether 0x0 is printed
-as (null) or (NULL).
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/pango/merge_requests/44]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/tests/markup-parse.c b/tests/markup-parse.c
-index 633f3e89..36d2c776 100644
---- a/tests/markup-parse.c
-+++ b/tests/markup-parse.c
-@@ -217,7 +217,7 @@ diff_with_file (const char *file1,
- GString *string,
- GError **error)
- {
-- const char *command[] = { "diff", "-u", file1, NULL, NULL };
-+ const char *command[] = { "diff", "-u", "-i", file1, NULL, NULL };
- char *diff, *tmpfile;
- int fd;
-
-@@ -237,7 +237,7 @@ diff_with_file (const char *file1,
- goto done;
- }
- close (fd);
-- command[3] = tmpfile;
-+ command[4] = tmpfile;
-
- /* run diff command */
- g_spawn_sync (NULL, (char **)command, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &diff, NULL, NULL, error);
diff --git a/poky/meta/recipes-graphics/pango/pango_1.42.4.bb b/poky/meta/recipes-graphics/pango/pango_1.42.4.bb
deleted file mode 100644
index 58e1f41be..000000000
--- a/poky/meta/recipes-graphics/pango/pango_1.42.4.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Framework for layout and rendering of internationalized text"
-DESCRIPTION = "Pango is a library for laying out and rendering of text, \
-with an emphasis on internationalization. Pango can be used anywhere \
-that text layout is needed, though most of the work on Pango so far has \
-been done in the context of the GTK+ widget toolkit. Pango forms the \
-core of text and font handling for GTK+-2.x."
-HOMEPAGE = "http://www.pango.org/"
-BUGTRACKER = "http://bugzilla.gnome.org"
-SECTION = "libs"
-LICENSE = "LGPLv2.0+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection
-
-SRC_URI += "file://run-ptest \
- file://insensitive-diff.patch"
-
-SRC_URI[archive.md5sum] = "deb171a31a3ad76342d5195a1b5bbc7c"
-SRC_URI[archive.sha256sum] = "1d2b74cd63e8bd41961f2f8d952355aa0f9be6002b52c8aa7699d9f5da597c9d"
-
-DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[x11] = ",,virtual/libx11 libxft"
-
-GTKDOC_MESON_OPTION = "enable_docs"
-GIR_MESON_OPTION = 'gir'
-
-LEAD_SONAME = "libpango-1.0*"
-LIBV = "1.8.0"
-
-FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}"
-FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
-
-RDEPENDS_${PN}-ptest += "liberation-fonts cantarell-fonts"
-
-RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \
- pango-module-basic-fc pango-module-arabic-lang"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_install_append () {
- if [ "${PTEST_ENABLED}" != "1" ]; then
- rm -rf ${D}${libexecdir}/installed-tests ${D}${datadir}/installed-tests
- rmdir --ignore-fail-on-non-empty ${D}${libexecdir} ${D}${datadir}
- fi
-}
diff --git a/poky/meta/recipes-graphics/pango/pango_1.44.6.bb b/poky/meta/recipes-graphics/pango/pango_1.44.6.bb
new file mode 100644
index 000000000..da7f2156d
--- /dev/null
+++ b/poky/meta/recipes-graphics/pango/pango_1.44.6.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Framework for layout and rendering of internationalized text"
+DESCRIPTION = "Pango is a library for laying out and rendering of text, \
+with an emphasis on internationalization. Pango can be used anywhere \
+that text layout is needed, though most of the work on Pango so far has \
+been done in the context of the GTK+ widget toolkit. Pango forms the \
+core of text and font handling for GTK+-2.x."
+HOMEPAGE = "http://www.pango.org/"
+BUGTRACKER = "http://bugzilla.gnome.org"
+SECTION = "libs"
+LICENSE = "LGPLv2.0+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gtk-doc ptest-gnome upstream-version-is-even gobject-introspection
+
+SRC_URI += "file://run-ptest \
+ file://0001-Skip-thai-break-tests-without-libthai.patch"
+SRC_URI[archive.md5sum] = "db0a3243ba33e02aaa775412f8e5f412"
+SRC_URI[archive.sha256sum] = "3e1e41ba838737e200611ff001e3b304c2ca4cdbba63d200a20db0b0ddc0f86c"
+
+DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
+
+PACKAGECONFIG[x11] = ",,virtual/libx11 libxft"
+PACKAGECONFIG[tests] = "-Dinstall-tests=true, -Dinstall-tests=false"
+PACKAGECONFIG[thai] = ",,libthai"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+GIR_MESON_OPTION = 'introspection'
+
+LEAD_SONAME = "libpango-1.0*"
+LIBV = "1.8.0"
+
+FILES_${PN} = "${bindir}/* ${libdir}/libpango*${SOLIBS}"
+FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
+
+RDEPENDS_${PN}-ptest += "cantarell-fonts"
+RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-en-us"
+
+RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \
+ pango-module-basic-fc pango-module-arabic-lang"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index 4350823f6..d489f82b1 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -2,13 +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://gitlab.freedesktop.org/mesa/piglit;protocol=https \
+SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https \
file://0001-cmake-install-bash-completions-in-the-right-place.patch \
file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "4294b15e3b84a96f24d1286b73d5832eea267bbf"
+SRCREV = "0d1a47a4c10d4dd7225bd6510f8191684b31235e"
# (when PV goes above 1.0 remove the trailing r)
PV = "1.0+gitr${SRCPV}"
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch
deleted file mode 100644
index aa8d81484..000000000
--- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-Makefile.am-explicitly-link-with-libdrm.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From d61f7073b8ce159d21811b291c22b273b040c330 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 12 Feb 2019 12:04:52 +0100
-Subject: [PATCH] Makefile.am: explicitly link with libdrm
-
-Otherwise, a failure happens with gold linker:
-
-../src/.libs/libvirglrenderer.so: error: undefined reference to 'drmPrimeHandleToFD'
-
-https://errors.yoctoproject.org/Errors/Details/222046/
-
-Upstream-Status: Accepted [https://gitlab.freedesktop.org/virgl/virglrenderer/merge_requests/153]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- src/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 9a0a44e..9b668c8 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -1,5 +1,6 @@
- SUBDIRS := gallium/auxiliary
- AM_LDFLAGS = -lm \
-+ $(LIBDRM_LIBS) \
- $(GBM_LIBS) \
- $(EPOXY_LIBS) \
- $(X11_LIBS) \
---
-2.17.1
-
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch
new file mode 100644
index 000000000..a0ac3aefd
--- /dev/null
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch
@@ -0,0 +1,36 @@
+From 3d30df8d8ccb919733b5339b2a82474305b83998 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Aug 2019 01:19:48 +0000
+Subject: [PATCH] gallium: Expand libc check to be platform OS check
+
+endianness on musl based systems can also be detected in same way as
+glibc, therefore check for __linux__ define instead of __GLIBC__
+
+Fixes build on musl/mips
+
+| ../../../../git/src/gallium/include/pipe/p_config.h:171:2: error: #error Unknown Endianness
+| #error Unknown Endianness
+| ^~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/gallium/include/pipe/p_config.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h
+index d603681..71cdf49 100644
+--- a/src/gallium/include/pipe/p_config.h
++++ b/src/gallium/include/pipe/p_config.h
+@@ -130,7 +130,7 @@
+ * Endian detection.
+ */
+
+-#ifdef __GLIBC__
++#ifdef __linux__
+ #include <endian.h>
+
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
+--
+2.17.1
+
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch b/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch
deleted file mode 100644
index 2b4ffa932..000000000
--- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer/0001-vtest-add-missing-includes.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 05c5c5f43fbffb3317bd9da27d414890d2ef493c Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 18 Jan 2019 13:47:23 +0100
-Subject: [PATCH] vtest: add missing includes
-
-This fixes build failures with musl C library
-
-Upstream-Status: Accepted [https://gitlab.freedesktop.org/virgl/virglrenderer/merge_requests/125]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- vtest/util.c | 1 +
- vtest/vtest_server.c | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/vtest/util.c b/vtest/util.c
-index 0d3c78f..c605253 100644
---- a/vtest/util.c
-+++ b/vtest/util.c
-@@ -26,6 +26,7 @@
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
-+#include <sys/select.h>
-
- int vtest_wait_for_fd_read(int fd)
- {
-diff --git a/vtest/vtest_server.c b/vtest/vtest_server.c
-index bc6c95f..010721f 100644
---- a/vtest/vtest_server.c
-+++ b/vtest/vtest_server.c
-@@ -31,6 +31,7 @@
- #include <netinet/in.h>
- #include <sys/un.h>
- #include <fcntl.h>
-+#include <string.h>
-
- #include "util.h"
- #include "vtest.h"
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb
deleted file mode 100644
index 225a0b8b0..000000000
--- a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.7.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "VirGL virtual OpenGL renderer"
-HOMEPAGE = "https://virgil3d.github.io/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
-
-DEPENDS = "libdrm mesa libepoxy"
-SRCREV = "402c228861c9893f64cffbbcb4cb23044b8c721c"
-SRC_URI = "git://anongit.freedesktop.org/virglrenderer \
- file://0001-vtest-add-missing-includes.patch \
- file://0001-Makefile.am-explicitly-link-with-libdrm.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig distro_features_check
-
-BBCLASSEXTEND = "native nativesdk"
-
-REQUIRED_DISTRO_FEATURES = "opengl"
-REQUIRED_DISTRO_FEATURES_class-native = ""
-REQUIRED_DISTRO_FEATURES_class-nativesdk = ""
diff --git a/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.0.bb b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.0.bb
new file mode 100644
index 000000000..d2b11c103
--- /dev/null
+++ b/poky/meta/recipes-graphics/virglrenderer/virglrenderer_0.8.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "VirGL virtual OpenGL renderer"
+HOMEPAGE = "https://virgil3d.github.io/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c81c08eeefd9418fca8f88309a76db10"
+
+DEPENDS = "libdrm mesa libepoxy"
+SRCREV = "48cc96c9aebb9d0164830a157efc8916f08f00c0"
+SRC_URI = "git://anongit.freedesktop.org/virglrenderer \
+ file://0001-gallium-Expand-libc-check-to-be-platform-OS-check.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig distro_features_check
+
+BBCLASSEXTEND = "native nativesdk"
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+REQUIRED_DISTRO_FEATURES_class-native = ""
+REQUIRED_DISTRO_FEATURES_class-nativesdk = ""
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb
index bf30c980c..d2041d7d4 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-demos_git.bb
@@ -21,7 +21,7 @@ S = "${WORKDIR}/git"
REQUIRED_DISTRO_FEATURES = 'vulkan'
inherit cmake distro_features_check
-DEPENDS = "vulkan assimp"
+DEPENDS = "vulkan-loader assimp"
do_install_append () {
# Remove assets that have uncertain licenses
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.1.108.bb b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.1.108.bb
new file mode 100644
index 000000000..284c19d79
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-headers_1.1.108.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Vulkan Header files and API registry"
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=sdk-${PV}"
+
+SRCREV = "097a1045098213919fd56442f52c716fc78eeb27"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+FILES_${PN} += "${datadir}/vulkan"
+
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.1.108.bb b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.1.108.bb
new file mode 100644
index 000000000..2fd6c4448
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-loader_1.1.108.bb
@@ -0,0 +1,37 @@
+SUMMARY = "3D graphics and compute API common loader"
+DESCRIPTION = "Vulkan is a new generation graphics and compute API \
+that provides efficient access to modern GPUs. These packages \
+provide only the common vendor-agnostic library loader, headers and \
+the vulkaninfo utility."
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-${PV}"
+SRCREV = "ecb0b1e69fb2f4d3cae262e6da24c170ce62ae13"
+
+S = "${WORKDIR}/git"
+
+REQUIRED_DISTRO_FEATURES = "vulkan"
+
+inherit cmake distro_features_check
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
+
+DEPENDS += "vulkan-headers"
+
+EXTRA_OECMAKE = "\
+ -DBUILD_TESTS=OFF \
+ -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
+ "
+
+# must choose x11 or wayland or both
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+
+PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
+PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
+
+RRECOMMENDS_${PN} = "mesa-vulkan-drivers"
+
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.1.108.bb b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.1.108.bb
new file mode 100644
index 000000000..26cdee3c1
--- /dev/null
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-tools_1.1.108.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Vulkan Utilities and Tools"
+HOMEPAGE = "https://www.khronos.org/vulkan/"
+BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-${PV}"
+SRCREV = "3ccd7f6ebae3e1919adf837718c04feb6c2acc61"
+
+S = "${WORKDIR}/git"
+
+inherit cmake distro_features_check
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
+REQUIRED_DISTRO_FEATURES = "vulkan"
+
+DEPENDS += "vulkan-headers vulkan-loader"
+
+EXTRA_OECMAKE = "\
+ -DBUILD_TESTS=OFF \
+ -DBUILD_CUBE=OFF \
+ -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
+ "
+
+# must choose x11 or wayland or both
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+
+PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
+PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
+
+UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch b/poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch
deleted file mode 100644
index b0b9fc4e4..000000000
--- a/poky/meta/recipes-graphics/vulkan/vulkan/demos-Don-t-build-tri-or-cube.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 9b13be109bc66f4d4a1ad53ce5c92c7c495e41d7 Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Tue, 24 Jul 2018 17:40:52 +0300
-Subject: [PATCH] commit f63cbe944107b5cd8f150ceaaec43b26099d5688
-
-Author: Adam Jackson <ajax@redhat.com>
-Date: Tue Feb 16 10:05:25 2016 -0500
-
-demos: Don't build tri or cube
-
-There are more interesting demos, all we really want here is vulkaninfo.
-This helps because we don't need to pre-build glslang/llvm/lunarglass
-just to get the loader and layers.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- demos/CMakeLists.txt | 88 ----------------------------------------------------
- 1 file changed, 88 deletions(-)
-
-diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt
-index 4f32679..26e4cdf 100644
---- a/demos/CMakeLists.txt
-+++ b/demos/CMakeLists.txt
-@@ -93,42 +93,6 @@ elseif(UNIX)
- else()
- endif()
-
--if(WIN32)
-- # For Windows, since 32-bit and 64-bit items can co-exist, we build each in its own build directory.
-- # 32-bit target data goes in build32, and 64-bit target data goes into build. So, include/link the
-- # appropriate data at build time.
-- if (CMAKE_CL_64)
-- set (BUILDTGT_DIR build)
-- else ()
-- set (BUILDTGT_DIR build32)
-- endif()
--
-- # Use static MSVCRT libraries
-- foreach(configuration in CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO
-- CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO)
-- if(${configuration} MATCHES "/MD")
-- string(REGEX REPLACE "/MD" "/MT" ${configuration} "${${configuration}}")
-- endif()
-- endforeach()
--
-- file(COPY cube.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos)
-- file(COPY vulkaninfo.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos)
--endif()
--
--add_custom_command(
-- COMMENT "Compiling cube demo vertex shader"
-- OUTPUT cube.vert.inc
-- COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.vert.inc ${PROJECT_SOURCE_DIR}/demos/cube.vert
-- MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/demos/cube.vert
-- DEPENDS ${PROJECT_SOURCE_DIR}/demos/cube.vert ${GLSLANG_VALIDATOR}
--)
--add_custom_command(
-- COMMENT "Compiling cube demo fragment shader"
-- OUTPUT cube.frag.inc
-- COMMAND ${GLSLANG_VALIDATOR} -V -x -o ${CMAKE_CURRENT_BINARY_DIR}/cube.frag.inc ${PROJECT_SOURCE_DIR}/demos/cube.frag
-- MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/demos/cube.frag
-- DEPENDS ${PROJECT_SOURCE_DIR}/demos/cube.frag ${GLSLANG_VALIDATOR}
--)
-
- include_directories(${CMAKE_CURRENT_BINARY_DIR})
-
-@@ -172,55 +136,3 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
- install(TARGETS ${API_LOWERCASE}info DESTINATION ${CMAKE_INSTALL_BINDIR})
- endif()
- endif()
--
--######################################################################################
--# cube
--
--if(APPLE)
-- include(macOS/cube/cube.cmake)
--elseif(NOT WIN32)
-- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(cube cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc)
-- target_link_libraries(cube ${LIBRARIES})
-- endif()
--else()
-- if (CMAKE_CL_64)
-- set (LIB_DIR "Win64")
-- else()
-- set (LIB_DIR "Win32")
-- endif()
--
-- add_executable(cube WIN32 cube.c ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc)
-- target_link_libraries(cube ${LIBRARIES})
--endif()
--
--######################################################################################
--# cubepp
--
--if(APPLE)
-- include(macOS/cubepp/cubepp.cmake)
--elseif(NOT WIN32)
-- if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR})
-- add_executable(cubepp cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc)
-- target_link_libraries(cubepp ${LIBRARIES})
-- endif()
--else()
-- if (CMAKE_CL_64)
-- set (LIB_DIR "Win64")
-- else()
-- set (LIB_DIR "Win32")
-- endif()
--
-- add_executable(cubepp WIN32 cube.cpp ${PROJECT_SOURCE_DIR}/demos/cube.vert ${PROJECT_SOURCE_DIR}/demos/cube.frag cube.vert.inc cube.frag.inc)
-- target_link_libraries(cubepp ${LIBRARIES})
--endif()
--
--######################################################################################
--# smoke
--
--if ((${CMAKE_SYSTEM_PROCESSOR} STREQUAL ${CMAKE_HOST_SYSTEM_PROCESSOR}))
-- if ((DEMOS_WSI_SELECTION STREQUAL "XCB") OR (DEMOS_WSI_SELECTION STREQUAL "WAYLAND") OR WIN32 OR
-- (CMAKE_SYSTEM_NAME STREQUAL "Android") OR (CMAKE_SYSTEM_NAME STREQUAL "Darwin"))
-- add_subdirectory(smoke)
-- endif()
--endif()
---
-2.4.0
-
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb b/poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb
deleted file mode 100644
index 02e4330cf..000000000
--- a/poky/meta/recipes-graphics/vulkan/vulkan_1.1.73.0.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "3D graphics and compute API common loader"
-DESCRIPTION = "Vulkan is a new generation graphics and compute API \
-that provides efficient access to modern GPUs. These packages \
-provide only the common vendor-agnostic library loader, headers and \
-the vulkaninfo utility."
-HOMEPAGE = "https://www.khronos.org/vulkan/"
-BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader"
-SECTION = "libs"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=99c647ca3d4f6a4b9d8628f757aad156 \
- file://loader/loader.c;endline=25;md5=151b392f46568aaedb4ad22b246237ec"
-SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;nobranch=1 \
- file://demos-Don-t-build-tri-or-cube.patch \
- "
-SRCREV = "5998d6f444a85e6381b7a089ebf3f9e86482a31d"
-UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-REQUIRED_DISTRO_FEATURES = "vulkan"
-
-inherit cmake python3native lib_package distro_features_check
-ANY_OF_DISTRO_FEATURES = "x11 wayland"
-
-EXTRA_OECMAKE = "-DBUILD_WSI_MIR_SUPPORT=OFF \
- -DBUILD_LAYERS=OFF \
- -DBUILD_TESTS=OFF"
-
-# must choose x11 or wayland or both
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '' ,d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '' ,d)}"
-PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DDEMOS_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DDEMOS_WSI_SELECTION=WAYLAND, libxcb libx11 libxrandr"
-PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
-
-RRECOMMENDS_${PN} = "mesa-vulkan-drivers"
-INSANE_SKIP_${PN}-dev += "dev-elf"
-
-# Can't be built with ccache
-CCACHE_DISABLE = "1"
diff --git a/poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch b/poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch
deleted file mode 100644
index a0c826ed9..000000000
--- a/poky/meta/recipes-graphics/waffle/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 3b9b8f5f6d1b99af43e95ec0868404e552a85b73 Mon Sep 17 00:00:00 2001
-From: Emil Velikov <emil.l.velikov@gmail.com>
-Date: Thu, 19 Mar 2015 22:26:11 +0000
-Subject: [PATCH] third_party/threads: Use PTHREAD_MUTEX_RECURSIVE by default
-
-PTHREAD_MUTEX_RECURSIVE_NP was used for compatibility with old glibc.
-Although due to the_GNU_SOURCES define the portable,
-PTHREAD_MUTEX_RECURSIVE will be available for Linuxes since at least
-1998. Simplify things giving us compatibility with musl which
-apparently does not provide the non-portable define.
-
-Inspired by almost identical commit in mesa aead7fe2e2b(c11/threads: Use
-PTHREAD_MUTEX_RECURSIVE by default) by Felix Janda.
-
-Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
-Reviewed-by: Chad Versace <chad.versace@intel.com>
----
-Upstream-Status: Backport
-
- third_party/threads/threads_posix.c | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
-diff --git a/third_party/threads/threads_posix.c b/third_party/threads/threads_posix.c
-index 5835e43..e122bf9 100644
---- a/third_party/threads/threads_posix.c
-+++ b/third_party/threads/threads_posix.c
-@@ -26,6 +26,9 @@
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-+
-+#define _GNU_SOURCE
-+
- #include <stdlib.h>
- #ifndef assert
- #include <assert.h>
-@@ -150,13 +153,8 @@ int mtx_init(mtx_t *mtx, int type)
- && type != (mtx_try|mtx_recursive))
- return thrd_error;
- pthread_mutexattr_init(&attr);
-- if ((type & mtx_recursive) != 0) {
--#if defined(__linux__) || defined(__linux)
-- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
--#else
-+ if ((type & mtx_recursive) != 0)
- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
--#endif
-- }
- pthread_mutex_init(mtx, &attr);
- pthread_mutexattr_destroy(&attr);
- return thrd_success;
---
-2.5.2
-
diff --git a/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb b/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb
deleted file mode 100644
index 31572f25f..000000000
--- a/poky/meta/recipes-graphics/waffle/waffle_1.5.2.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "cross-platform C library to defer selection of GL API and of window system"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \
- file://include/waffle/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf"
-
-SRC_URI = "http://waffle-gl.org/files/release/${BPN}-${PV}/${BPN}-${PV}.tar.xz \
- file://0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch \
- "
-SRC_URI[md5sum] = "c669c91bf2f7e13a5d781c3dbb30fd8c"
-SRC_URI[sha256sum] = "d2c096cf654bf0061323a4b9231a1ef5b749a1e5c7c5bfe067e964219c2a851c"
-
-UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html"
-
-inherit cmake distro_features_check lib_package
-
-# This should be overridden per-machine to reflect the capabilities of the GL
-# stack.
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
- gbm"
-
-# virtual/libgl requires opengl in DISTRO_FEATURES.
-REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}"
-
-# I say virtual/libgl, actually wants gl.pc
-PACKAGECONFIG[glx] = "-Dwaffle_has_glx=1,-Dwaffle_has_glx=0,virtual/${MLPREFIX}libgl libx11"
-
-# I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland
-# DISTRO_FEATURE.
-PACKAGECONFIG[wayland] = "-Dwaffle_has_wayland=1,-Dwaffle_has_wayland=0,virtual/${MLPREFIX}libgl wayland"
-
-# I say virtual/libgl, actually wants gbm.pc egl.pc
-PACKAGECONFIG[gbm] = "-Dwaffle_has_gbm=1,-Dwaffle_has_gbm=0,virtual/${MLPREFIX}libgl udev"
-
-# I say virtual/libgl, actually wants egl.pc
-PACKAGECONFIG[x11-egl] = "-Dwaffle_has_x11_egl=1,-Dwaffle_has_x11_egl=0,virtual/${MLPREFIX}libgl libxcb"
diff --git a/poky/meta/recipes-graphics/waffle/waffle_1.6.0.bb b/poky/meta/recipes-graphics/waffle/waffle_1.6.0.bb
new file mode 100644
index 000000000..8a1d5748f
--- /dev/null
+++ b/poky/meta/recipes-graphics/waffle/waffle_1.6.0.bb
@@ -0,0 +1,37 @@
+SUMMARY = "cross-platform C library to defer selection of GL API and of window system"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \
+ file://include/waffle/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf"
+
+SRC_URI = "http://waffle-gl.org/files/release/${BPN}-${PV}/${BPN}-${PV}.tar.xz"
+SRC_URI[md5sum] = "61bfc1a478e840825f33ddb4057115e7"
+SRC_URI[sha256sum] = "d9c899f710c50cfdd00f5f4cdfeaef0687d8497362239bdde93bed6c909c81d7"
+
+UPSTREAM_CHECK_URI = "http://www.waffle-gl.org/releases.html"
+
+inherit meson distro_features_check lib_package bash-completion
+
+# This should be overridden per-machine to reflect the capabilities of the GL
+# stack.
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
+ surfaceless-egl gbm"
+
+# virtual/libgl requires opengl in DISTRO_FEATURES.
+REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('DEPENDS', 'virtual/${MLPREFIX}libgl', 'opengl', '', d)}"
+
+# I say virtual/libgl, actually wants gl.pc
+PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/${MLPREFIX}libgl libx11"
+
+# I say virtual/libgl, actually wants wayland-egl.pc, egl.pc, and the wayland
+# DISTRO_FEATURE.
+PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}libgl wayland"
+
+# I say virtual/libgl, actually wants gbm.pc egl.pc
+PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}libgl udev"
+
+# I say virtual/libgl, actually wants egl.pc
+PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}libgl libxcb"
+PACKAGECONFIG[surfaceless-egl] = "-Dsurfaceless_egl=enabled,-Dsurfaceless_egl=disabled,virtual/${MLPREFIX}libgl"
+
+# TODO: optionally build manpages and examples
diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.13.2.bb b/poky/meta/recipes-graphics/wayland/libinput_1.13.2.bb
deleted file mode 100644
index 049674c09..000000000
--- a/poky/meta/recipes-graphics/wayland/libinput_1.13.2.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Library to handle input devices in Wayland compositors"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/"
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63"
-
-DEPENDS = "libevdev udev mtdev"
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz"
-SRC_URI[md5sum] = "8b745894f5d1b2e883bfc686aebadcfe"
-SRC_URI[sha256sum] = "1d9fa0698348dea46f75321d98788f8ac7181c069b70c4d10736910a12bb6a6d"
-
-UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
-
-inherit meson pkgconfig lib_package
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom"
-PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3"
-
-UDEVDIR = "`pkg-config --variable=udevdir udev`"
-
-EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} -Ddocumentation=false -Dtests=false"
-
-# package name changed in 1.8.1 upgrade: make sure package upgrades work
-RPROVIDES_${PN} = "libinput"
-RREPLACES_${PN} = "libinput"
-RCONFLICTS_${PN} = "libinput"
diff --git a/poky/meta/recipes-graphics/wayland/libinput_1.14.1.bb b/poky/meta/recipes-graphics/wayland/libinput_1.14.1.bb
new file mode 100644
index 000000000..38bc8d2c3
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/libinput_1.14.1.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Library to handle input devices in Wayland compositors"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63"
+
+DEPENDS = "libevdev udev mtdev"
+
+SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz"
+SRC_URI[md5sum] = "da29a704dc6f7ea2d5aac754db046340"
+SRC_URI[sha256sum] = "e333a3242835c019ca37d2cef8b51a87d3138eb47444119c0153dc7a8656ee70"
+
+UPSTREAM_CHECK_REGEX = "libinput-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
+
+inherit meson pkgconfig lib_package
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom"
+PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3"
+
+UDEVDIR = "`pkg-config --variable=udevdir udev`"
+
+EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \
+ -Ddocumentation=false \
+ -Dtests=false \
+ -Dzshcompletiondir=no"
+
+# package name changed in 1.8.1 upgrade: make sure package upgrades work
+RPROVIDES_${PN} = "libinput"
+RREPLACES_${PN} = "libinput"
+RCONFLICTS_${PN} = "libinput"
diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb
deleted file mode 100644
index ca8f06c55..000000000
--- a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.17.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Collection of additional Wayland protocols"
-DESCRIPTION = "Wayland protocols that add functionality not \
-available in the Wayland core protocol. Such protocols either add \
-completely new functionality, or extend the functionality of some other \
-protocol either in Wayland core, or some other protocol in \
-wayland-protocols."
-HOMEPAGE = "http://wayland.freedesktop.org"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
- file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
-
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
- "
-SRC_URI[md5sum] = "55ddd5fdb02b73b9de9559aaec267315"
-SRC_URI[sha256sum] = "df1319cf9705643aea9fd16f9056f4e5b2471bd10c0cc3713d4a4cdc23d6812f"
-
-UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
-
-inherit allarch autotools pkgconfig
-
-PACKAGES = "${PN}"
-FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
diff --git a/poky/meta/recipes-graphics/wayland/wayland-protocols_1.18.bb b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.18.bb
new file mode 100644
index 000000000..c8bec66a4
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/wayland-protocols_1.18.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Collection of additional Wayland protocols"
+DESCRIPTION = "Wayland protocols that add functionality not \
+available in the Wayland core protocol. Such protocols either add \
+completely new functionality, or extend the functionality of some other \
+protocol either in Wayland core, or some other protocol in \
+wayland-protocols."
+HOMEPAGE = "http://wayland.freedesktop.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
+ file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
+
+SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+ "
+SRC_URI[md5sum] = "af38f22d8e233c2f2e00ddc8dcc94694"
+SRC_URI[sha256sum] = "3d73b7e7661763dc09d7d9107678400101ecff2b5b1e531674abfa81e04874b3"
+
+UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+
+inherit allarch autotools pkgconfig
+
+PACKAGES = "${PN}"
+FILES_${PN} += "${datadir}/pkgconfig/wayland-protocols.pc"
diff --git a/poky/meta/recipes-graphics/wayland/weston-conf.bb b/poky/meta/recipes-graphics/wayland/weston-conf.bb
deleted file mode 100644
index f52200c46..000000000
--- a/poky/meta/recipes-graphics/wayland/weston-conf.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Weston, a Wayland compositor, configuration files"
-HOMEPAGE = "http://wayland.freedesktop.org"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-CONFFILES_${PN} = "${sysconfdir}/xdg/weston/weston.ini"
-
-FILES_${PN} = "${sysconfdir}/xdg/weston/weston.ini"
-
-PACKAGES = "${PN}"
-
-do_configure[noexec] = '1'
-do_compile[noexec] = '1'
-
-do_install() {
- :
-}
-
-do_install_qemux86() {
- mkdir -p ${D}/${sysconfdir}/xdg/weston
- cat << EOF > ${D}/${sysconfdir}/xdg/weston/weston.ini
-[core]
-backend=fbdev-backend.so
-EOF
-}
-
-do_install_qemux86-64() {
- mkdir -p ${D}/${sysconfdir}/xdg/weston
- cat << EOF > ${D}/${sysconfdir}/xdg/weston/weston.ini
-[core]
-backend=fbdev-backend.so
-EOF
-}
diff --git a/poky/meta/recipes-graphics/wayland/weston-init.bb b/poky/meta/recipes-graphics/wayland/weston-init.bb
index 22ba5f3fb..8b6689717 100644
--- a/poky/meta/recipes-graphics/wayland/weston-init.bb
+++ b/poky/meta/recipes-graphics/wayland/weston-init.bb
@@ -2,23 +2,35 @@ SUMMARY = "Startup script and systemd unit file for the Weston Wayland composito
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
SRC_URI = "file://init \
- file://weston.service \
+ file://weston.ini \
+ file://weston@.service \
+ file://71-weston-drm.rules \
file://weston-start"
S = "${WORKDIR}"
do_install() {
install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
- install -Dm0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
-
+ install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
+
+ # Install Weston systemd service and accompanying udev rule
+ install -D -p -m0644 ${WORKDIR}/weston@.service ${D}${systemd_system_unitdir}/weston@.service
+ sed -i -e s:/etc:${sysconfdir}:g \
+ -e s:/usr/bin:${bindir}:g \
+ -e s:/var:${localstatedir}:g \
+ ${D}${systemd_unitdir}/system/weston@.service
+ install -D -p -m0644 ${WORKDIR}/71-weston-drm.rules \
+ ${D}${sysconfdir}/udev/rules.d/71-weston-drm.rules
# Install weston-start script
install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start
sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start
sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
}
-inherit allarch update-rc.d distro_features_check systemd
+inherit update-rc.d distro_features_check systemd
# rdepends on weston which depends on virtual/egl
REQUIRED_DISTRO_FEATURES = "opengl"
@@ -28,4 +40,10 @@ RDEPENDS_${PN} = "weston kbd"
INITSCRIPT_NAME = "weston"
INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
-SYSTEMD_SERVICE_${PN} = "weston.service"
+FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${systemd_system_unitdir}/weston@.service"
+
+CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini"
+
+SYSTEMD_SERVICE_${PN} = "weston@%i.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules b/poky/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules
new file mode 100644
index 000000000..1a1b8bbda
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/weston-init/71-weston-drm.rules
@@ -0,0 +1,2 @@
+ACTION=="add", SUBSYSTEM=="graphics", KERNEL=="fb0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="weston@root.service"
+ACTION=="add", SUBSYSTEM=="drm", KERNEL=="card0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="weston@root.service"
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/qemux86-64/weston.ini b/poky/meta/recipes-graphics/wayland/weston-init/qemux86-64/weston.ini
new file mode 100644
index 000000000..17ebd7fda
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/weston-init/qemux86-64/weston.ini
@@ -0,0 +1,2 @@
+[core]
+backend=fbdev-backend.so
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/qemux86/weston.ini b/poky/meta/recipes-graphics/wayland/weston-init/qemux86/weston.ini
new file mode 100644
index 000000000..17ebd7fda
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/weston-init/qemux86/weston.ini
@@ -0,0 +1,2 @@
+[core]
+backend=fbdev-backend.so
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston.ini b/poky/meta/recipes-graphics/wayland/weston-init/weston.ini
new file mode 100644
index 000000000..1eecf48bc
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/weston-init/weston.ini
@@ -0,0 +1,74 @@
+# configuration file for Weston
+
+#[core]
+#modules=xwayland.so,cms-colord.so
+#shell=desktop-shell.so
+#gbm-format=xrgb2101010
+
+#[shell]
+#background-image=/usr/share/backgrounds/gnome/Aqua.jpg
+#background-color=0xff002244
+#background-type=tile
+#clock-format=minutes
+#panel-color=0x90ff0000
+#locking=true
+#animation=zoom
+#startup-animation=fade
+#binding-modifier=ctrl
+#num-workspaces=6
+#cursor-theme=whiteglass
+#cursor-size=24
+
+#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png
+#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg
+#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg
+#animation=fade
+
+#[launcher]
+#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
+#path=/usr/bin/gnome-terminal
+
+#[launcher]
+#icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png
+#path=/usr/bin/weston-terminal
+
+#[launcher]
+#icon=/usr/share/icons/hicolor/24x24/apps/google-chrome.png
+#path=/usr/bin/google-chrome
+
+#[launcher]
+#icon=/usr/share/icons/gnome/24x24/apps/arts.png
+#path=/build/weston-0lEgCh/weston-1.11.0/weston-flower
+
+#[input-method]
+#path=/usr/lib/weston/weston-keyboard
+
+#[output]
+#name=LVDS1
+#mode=1680x1050
+#transform=90
+#icc_profile=/usr/share/color/icc/colord/Bluish.icc
+
+#[output]
+#name=VGA1
+#mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
+#transform=flipped
+
+#[output]
+#name=X1
+#mode=1024x768
+#transform=flipped-90
+
+#[libinput]
+#enable_tap=true
+
+#[touchpad]
+#constant_accel_factor = 50
+#min_accel_factor = 0.16
+#max_accel_factor = 1.0
+
+#[screen-share]
+#command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize
+
+#[xwayland]
+#path=/usr/bin/Xwayland
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston.service b/poky/meta/recipes-graphics/wayland/weston-init/weston.service
deleted file mode 100644
index 18f72626e..000000000
--- a/poky/meta/recipes-graphics/wayland/weston-init/weston.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Weston Wayland Compositor
-RequiresMountsFor=/run
-
-[Service]
-User=root
-PAMName=login
-EnvironmentFile=-/etc/default/weston
-ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/weston@.service b/poky/meta/recipes-graphics/wayland/weston-init/weston@.service
new file mode 100644
index 000000000..9ecf2ab06
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/weston-init/weston@.service
@@ -0,0 +1,37 @@
+[Unit]
+Description=Weston Wayland Compositor (on tty7)
+RequiresMountsFor=/run
+Conflicts=getty@tty7.service plymouth-quit.service
+After=systemd-user-sessions.service getty@tty7.service plymouth-quit-wait.service
+
+[Service]
+User=%i
+PermissionsStartOnly=true
+
+# Log us in via PAM so we get our XDG & co. environment and
+# are treated as logged in so we can use the tty:
+PAMName=login
+
+# Grab tty7
+UtmpIdentifier=tty7
+TTYPath=/dev/tty7
+TTYReset=yes
+TTYVHangup=yes
+TTYVTDisallocate=yes
+
+# stderr to journal so our logging doesn't get thrown into /dev/null
+StandardOutput=tty
+StandardInput=tty
+StandardError=journal
+
+EnvironmentFile=-/etc/default/weston
+
+# Weston does not successfully change VT, nor does systemd place us on
+# the VT it just activated for us. Switch manually:
+ExecStartPre=/usr/bin/chvt 7
+ExecStart=/usr/bin/weston --log=${XDG_RUNTIME_DIR}/weston.log $OPTARGS
+
+IgnoreSIGPIPE=no
+
+#[Install]
+#Alias=multi-user.target.wants/weston.service
diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch
deleted file mode 100644
index 0eb3d95a6..000000000
--- a/poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From c4677e155736062e75687f1a655732c8902e912b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 29 May 2015 20:56:00 -0700
-Subject: [PATCH] make error() portable
-
-error() is not posix but gnu extension so may not be available on all
-kind of systemsi e.g. musl.
-
-Upstream-Status: Submitted
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- configure.ac | 2 ++
- libweston/weston-error.h | 20 ++++++++++++++++++++
- libweston/weston-launch.c | 2 +-
- 3 files changed, 23 insertions(+), 1 deletion(-)
- create mode 100644 libweston/weston-error.h
-
-diff --git a/configure.ac b/configure.ac
-index c05ad01..6da6e04 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -126,6 +126,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[],
- [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile weston")],
- [[#include <time.h>]])
-
-+AC_CHECK_HEADERS([error.h])
-+
- AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate])
-
- # check for libdrm as a build-time dependency only
-diff --git a/libweston/weston-error.h b/libweston/weston-error.h
-new file mode 100644
-index 0000000..2089d02
---- /dev/null
-+++ b/libweston/weston-error.h
-@@ -0,0 +1,20 @@
-+#ifndef _WESTON_ERROR_H
-+#define _WESTON_ERROR_H
-+
-+#if defined(HAVE_ERROR_H)
-+#include <error.h>
-+#else
-+#include <err.h>
-+#include <string.h>
-+#define _weston_error(S, E, F, ...) do { \
-+ if (E) \
-+ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \
-+ else \
-+ err(S, F, ##__VA_ARGS__); \
-+} while(0)
-+
-+#define error _weston_error
-+#endif
-+
-+#endif
-+
-diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
-index bf73e0d..9064439 100644
---- a/libweston/weston-launch.c
-+++ b/libweston/weston-launch.c
-@@ -33,7 +33,6 @@
- #include <poll.h>
- #include <errno.h>
-
--#include <error.h>
- #include <getopt.h>
-
- #include <sys/types.h>
-@@ -59,6 +58,7 @@
- #endif
-
- #include "weston-launch.h"
-+#include "weston-error.h"
-
- #define DRM_MAJOR 226
-
diff --git a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
index a2f61bfdd..e50845b17 100644
--- a/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
+++ b/poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
@@ -1,4 +1,4 @@
-From 7d2fea61a95e9498b5a19c8cffcb2ab5631d5685 Mon Sep 17 00:00:00 2001
+From 682b7d79a7b81ec8e38760381104b24ad549e8c0 Mon Sep 17 00:00:00 2001
From: Tom Hochstein <tom.hochstein@nxp.com>
Date: Wed, 22 Feb 2017 15:53:30 +0200
Subject: [PATCH] weston-launch: Provide a default version that doesn't require
@@ -15,46 +15,48 @@ Upstream-Status: Pending
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
-
+Signed-off-by: Ming Liu <ming.liu@toradex.com>
---
- configure.ac | 9 +++++++--
- libweston/weston-launch.c | 20 ++++++++++++++++++++
- 2 files changed, 27 insertions(+), 2 deletions(-)
+ libweston/meson.build | 16 ++++++++++++----
+ libweston/weston-launch.c | 21 +++++++++++++++++++++
+ meson_options.txt | 7 +++++++
+ 3 files changed, 40 insertions(+), 4 deletions(-)
-diff --git a/configure.ac b/configure.ac
-index 6da6e04..681f7c8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -515,13 +515,17 @@ AC_ARG_ENABLE(resize-optimization,
- AS_IF([test "x$enable_resize_optimization" = "xyes"],
- [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
-
-+AC_ARG_WITH(pam,
-+ AS_HELP_STRING([--with-pam], [Use PAM]),
-+ [use_pam=$withval], [use_pam=yes])
- AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes)
- AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch = xyes)
--if test x$enable_weston_launch = xyes; then
-+if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then
- WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no])
- if test x$have_pam = xno; then
-- AC_ERROR([weston-launch requires pam])
-+ AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found])
- fi
-+ AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available])
- fi
-
- AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes")
-@@ -767,6 +771,7 @@ AC_MSG_RESULT([
- Enable developer documentation ${enable_devdocs}
-
- weston-launch utility ${enable_weston_launch}
-+ PAM support ${use_pam}
- systemd-login support ${have_systemd_login}
- systemd notify support ${enable_systemd_notify}
-
+diff --git a/libweston/meson.build b/libweston/meson.build
+index d8d3fc0..326683f 100644
+--- a/libweston/meson.build
++++ b/libweston/meson.build
+@@ -199,16 +199,24 @@ dep_vertex_clipping = declare_dependency(
+ )
+
+ if get_option('weston-launch')
+- dep_pam = cc.find_library('pam')
++ deps_weston_launch = [systemd_dep, dep_libdrm]
+
+- if not cc.has_function('pam_open_session', dependencies: dep_pam)
+- error('pam_open_session not found for weston-launch')
++ if get_option('pam')
++ dep_pam = cc.find_library('pam')
++ if not cc.has_function('pam_open_session', dependencies: dep_pam)
++ error('pam_open_session not found for weston-launch')
++ endif
++
++ if dep_pam.found()
++ deps_weston_launch += dep_pam
++ config_h.set('HAVE_PAM', '1')
++ endif
+ endif
+
+ executable(
+ 'weston-launch',
+ 'weston-launch.c',
+- dependencies: [dep_pam, systemd_dep, dep_libdrm],
++ dependencies: deps_weston_launch,
+ include_directories: include_directories('..'),
+ install: true
+ )
diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
-index 9064439..c6abe92 100644
+index 4962bd6..fc531c5 100644
--- a/libweston/weston-launch.c
+++ b/libweston/weston-launch.c
@@ -51,7 +51,9 @@
@@ -67,7 +69,7 @@ index 9064439..c6abe92 100644
#ifdef HAVE_SYSTEMD_LOGIN
#include <systemd/sd-login.h>
-@@ -101,8 +103,10 @@ drmSetMaster(int drm_fd)
+@@ -100,8 +102,10 @@ drmSetMaster(int drm_fd)
#endif
struct weston_launch {
@@ -78,7 +80,7 @@ index 9064439..c6abe92 100644
int tty;
int ttynr;
int sock[2];
-@@ -191,6 +195,7 @@ weston_launch_allowed(struct weston_launch *wl)
+@@ -192,6 +196,7 @@ weston_launch_allowed(struct weston_launch *wl)
return false;
}
@@ -86,7 +88,7 @@ index 9064439..c6abe92 100644
static int
pam_conversation_fn(int msg_count,
const struct pam_message **messages,
-@@ -231,6 +236,7 @@ setup_pam(struct weston_launch *wl)
+@@ -232,6 +237,7 @@ setup_pam(struct weston_launch *wl)
return 0;
}
@@ -94,7 +96,7 @@ index 9064439..c6abe92 100644
static int
setup_launcher_socket(struct weston_launch *wl)
-@@ -424,6 +430,7 @@ quit(struct weston_launch *wl, int status)
+@@ -431,6 +437,7 @@ quit(struct weston_launch *wl, int status)
close(wl->signalfd);
close(wl->sock[0]);
@@ -102,7 +104,7 @@ index 9064439..c6abe92 100644
if (wl->new_user) {
err = pam_close_session(wl->ph, 0);
if (err)
-@@ -431,6 +438,7 @@ quit(struct weston_launch *wl, int status)
+@@ -438,6 +445,7 @@ quit(struct weston_launch *wl, int status)
err, pam_strerror(wl->ph, err));
pam_end(wl->ph, err);
}
@@ -110,7 +112,7 @@ index 9064439..c6abe92 100644
if (ioctl(wl->tty, KDSKBMUTE, 0) &&
ioctl(wl->tty, KDSKBMODE, wl->kb_mode))
-@@ -610,6 +618,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
+@@ -660,6 +668,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
setenv("HOME", wl->pw->pw_dir, 1);
setenv("SHELL", wl->pw->pw_shell, 1);
@@ -118,7 +120,7 @@ index 9064439..c6abe92 100644
env = pam_getenvlist(wl->ph);
if (env) {
for (i = 0; env[i]; ++i) {
-@@ -618,6 +627,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
+@@ -668,6 +677,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
}
free(env);
}
@@ -126,7 +128,7 @@ index 9064439..c6abe92 100644
/*
* We open a new session, so it makes sense
-@@ -685,8 +695,10 @@ static void
+@@ -739,8 +749,10 @@ static void
help(const char *name)
{
fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name);
@@ -137,7 +139,7 @@ index 9064439..c6abe92 100644
fprintf(stderr, " -t, --tty Start session on alternative tty,\n"
" e.g. -t /dev/tty4, requires -u option.\n");
fprintf(stderr, " -v, --verbose Be verbose\n");
-@@ -700,7 +712,9 @@ main(int argc, char *argv[])
+@@ -754,7 +766,9 @@ main(int argc, char *argv[])
int i, c;
char *tty = NULL;
struct option opts[] = {
@@ -147,21 +149,24 @@ index 9064439..c6abe92 100644
{ "tty", required_argument, NULL, 't' },
{ "verbose", no_argument, NULL, 'v' },
{ "help", no_argument, NULL, 'h' },
-@@ -712,9 +726,13 @@ main(int argc, char *argv[])
+@@ -766,11 +780,16 @@ main(int argc, char *argv[])
while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) {
switch (c) {
case 'u':
+#ifdef HAVE_PAM
wl.new_user = optarg;
- if (getuid() != 0)
- error(1, 0, "Permission denied. -u allowed for root only");
+ if (getuid() != 0) {
+ fprintf(stderr, "weston: Permission denied. -u allowed for root only\n");
+ exit(EXIT_FAILURE);
+ }
+#else
-+ error(1, 0, "-u is unsupported in this weston-launch build");
++ fprintf(stderr, "weston: -u is unsupported in this weston-launch build\n");
++ exit(EXIT_FAILURE);
+#endif
break;
case 't':
tty = optarg;
-@@ -755,8 +773,10 @@ main(int argc, char *argv[])
+@@ -822,8 +841,10 @@ main(int argc, char *argv[])
if (setup_tty(&wl, tty) < 0)
exit(EXIT_FAILURE);
@@ -172,3 +177,24 @@ index 9064439..c6abe92 100644
if (setup_launcher_socket(&wl) < 0)
exit(EXIT_FAILURE);
+diff --git a/meson_options.txt b/meson_options.txt
+index d5bf1d5..254eb2b 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -73,6 +73,13 @@ option(
+ )
+
+ option(
++ 'pam',
++ type: 'boolean',
++ value: true,
++ description: 'Define if PAM is available'
++)
++
++option(
+ 'xwayland',
+ type: 'boolean',
+ value: true,
+--
+2.7.4
+
diff --git a/poky/meta/recipes-graphics/wayland/weston_6.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_6.0.0.bb
deleted file mode 100644
index fa08dac91..000000000
--- a/poky/meta/recipes-graphics/wayland/weston_6.0.0.bb
+++ /dev/null
@@ -1,109 +0,0 @@
-SUMMARY = "Weston, a Wayland compositor"
-DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
-HOMEPAGE = "http://wayland.freedesktop.org"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
- file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a"
-
-SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
- file://weston.png \
- file://weston.desktop \
- file://0001-make-error-portable.patch \
- file://xwayland.weston-start \
- file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
-"
-SRC_URI[md5sum] = "7c634e262f8a464a076c97fd50ad36b3"
-SRC_URI[sha256sum] = "546323a90607b3bd7f48809ea9d76e64cd09718102f2deca6d95aa59a882e612"
-
-UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
-
-inherit autotools pkgconfig useradd distro_features_check
-# depends on virtual/egl
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
-DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
-
-WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
-
-EXTRA_OECONF = "--enable-setuid-install \
- --disable-rdp-compositor \
- --enable-autotools \
- "
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \
- clients launch"
-#
-# Compositor choices
-#
-# Weston on KMS
-PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa virtual/libgbm mtdev"
-# Weston on Wayland (nested Weston)
-PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa"
-# Weston on X11
-PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo"
-# Headless Weston
-PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compositor"
-# Weston on framebuffer
-PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev"
-# weston-launch
-PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,drm"
-# VA-API desktop recorder
-PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva"
-# Weston with EGL support
-PACKAGECONFIG[egl] = "--enable-egl --enable-simple-egl-clients,--disable-egl --disable-simple-egl-clients,virtual/egl"
-# Weston with cairo glesv2 support
-PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo"
-# Weston with lcms support
-PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms"
-# Weston with webp support
-PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
-# Weston with systemd-login support
-PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus"
-# Weston with Xwayland support (requires X11 and Wayland)
-PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland"
-# colord CMS support
-PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
-# Clients support
-PACKAGECONFIG[clients] = "--enable-clients --enable-simple-clients --enable-demo-clients-install,--disable-clients --disable-simple-clients"
-# Weston with PAM support
-PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
-
-do_install_append() {
- # Weston doesn't need the .la files to load modules, so wipe them
- rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la
-
- # If X11, ship a desktop file to launch it
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
- install -d ${D}${datadir}/applications
- install ${WORKDIR}/weston.desktop ${D}${datadir}/applications
-
- install -d ${D}${datadir}/icons/hicolor/48x48/apps
- install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
- fi
-
- if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
- install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
- fi
-}
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
- libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
-
-FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}"
-
-FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
-SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
-
-FILES_${PN}-examples = "${bindir}/*"
-
-FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
-RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland"
-
-RDEPENDS_${PN} += "xkeyboard-config"
-RRECOMMENDS_${PN} = "weston-conf liberation-fonts"
-RRECOMMENDS_${PN}-dev += "wayland-protocols"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system weston-launch"
diff --git a/poky/meta/recipes-graphics/wayland/weston_7.0.0.bb b/poky/meta/recipes-graphics/wayland/weston_7.0.0.bb
new file mode 100644
index 000000000..d21275414
--- /dev/null
+++ b/poky/meta/recipes-graphics/wayland/weston_7.0.0.bb
@@ -0,0 +1,111 @@
+SUMMARY = "Weston, a Wayland compositor"
+DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
+HOMEPAGE = "http://wayland.freedesktop.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
+ file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a"
+
+SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
+ file://weston.png \
+ file://weston.desktop \
+ file://xwayland.weston-start \
+ file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
+"
+SRC_URI[md5sum] = "cbfda483bc2501d0831af3f33c707850"
+SRC_URI[sha256sum] = "a00a6d207b6a45f95f4401c604772a307c3767e5e2beecf3d879110c43909a64"
+
+UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
+
+inherit meson pkgconfig useradd distro_features_check
+# depends on virtual/egl
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
+DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native"
+
+WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
+
+EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \
+ ${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
+ clients launch"
+#
+# Compositor choices
+#
+# Weston on KMS
+PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/egl virtual/libgles2 virtual/libgbm mtdev"
+# Weston on Wayland (nested Weston)
+PACKAGECONFIG[wayland] = "-Dbackend-wayland=true,-Dbackend-wayland=false,virtual/egl virtual/libgles2"
+# Weston on X11
+PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libxcb libxcb libxcursor cairo"
+# Headless Weston
+PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
+# Weston on framebuffer
+PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev"
+# weston-launch
+PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm"
+# VA-API desktop recorder
+PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
+# Weston with EGL support
+PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl"
+# Weston with lcms support
+PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms"
+# Weston with webp support
+PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp"
+# Weston with systemd-login support
+PACKAGECONFIG[systemd] = "-Dsystemd=true -Dlauncher-logind=true,-Dsystemd=false -Dlauncher-logind=false,systemd dbus"
+# Weston with Xwayland support (requires X11 and Wayland)
+PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false"
+# colord CMS support
+PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-colord=false,colord"
+# Clients support
+PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
+# Virtual remote output with GStreamer on DRM backend
+PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer-1.0"
+# Weston with PAM support
+PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam"
+
+do_install_append() {
+ # Weston doesn't need the .la files to load modules, so wipe them
+ rm -f ${D}/${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.la
+
+ # If X11, ship a desktop file to launch it
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then
+ install -d ${D}${datadir}/applications
+ install ${WORKDIR}/weston.desktop ${D}${datadir}/applications
+
+ install -d ${D}${datadir}/icons/hicolor/48x48/apps
+ install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then
+ install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
+ fi
+
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then
+ chmod u+s ${D}${bindir}/weston-launch
+ fi
+}
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \
+ libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
+
+FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}"
+
+FILES_libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
+SUMMARY_libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
+
+FILES_${PN}-examples = "${bindir}/*"
+
+FILES_${PN}-xwayland = "${libdir}/libweston-${WESTON_MAJOR_VERSION}/xwayland.so"
+RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland"
+
+RDEPENDS_${PN} += "xkeyboard-config"
+RRECOMMENDS_${PN} = "weston-init liberation-fonts"
+RRECOMMENDS_${PN}-dev += "wayland-protocols"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system weston-launch"
diff --git a/poky/meta/recipes-graphics/xorg-app/xauth_1.0.10.bb b/poky/meta/recipes-graphics/xorg-app/xauth_1.0.10.bb
deleted file mode 100644
index 0e90ffd67..000000000
--- a/poky/meta/recipes-graphics/xorg-app/xauth_1.0.10.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require xorg-app-common.inc
-SUMMARY = "X authority utilities"
-DESCRIPTION = "X application to edit and display the authorization \
-information used in connecting to the X server."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
-
-DEPENDS += "libxau libxext libxmu"
-PE = "1"
-
-SRC_URI[md5sum] = "f3f76cb10f69b571c43893ea6a634aa4"
-SRC_URI[sha256sum] = "5afe42ce3cdf4f60520d1658d2b17face45c74050f39af45dccdc95e73fafc4d"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-app/xauth_1.1.bb b/poky/meta/recipes-graphics/xorg-app/xauth_1.1.bb
new file mode 100644
index 000000000..24ad9606e
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-app/xauth_1.1.bb
@@ -0,0 +1,15 @@
+require xorg-app-common.inc
+SUMMARY = "X authority utilities"
+DESCRIPTION = "X application to edit and display the authorization \
+information used in connecting to the X server."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
+
+DEPENDS += "libxau libxext libxmu"
+PE = "1"
+
+SRC_URI[md5sum] = "e50587c1bb832aafd1a19d91a0890a0b"
+SRC_URI[sha256sum] = "6d1dd1b79dd185107c5b0fdd22d1d791ad749ad6e288d0cdf80964c4ffa7530c"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb b/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb
index af04bb6e3..2d10b7acc 100644
--- a/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb
+++ b/poky/meta/recipes-graphics/xorg-app/xdpyinfo_1.3.2.bb
@@ -9,7 +9,7 @@ clients and the server, and the different types of screens and visuals \
that are available."
LIC_FILES_CHKSUM = "file://COPYING;md5=f3d09e6b9e203a1af489e16c708f4fb3"
-DEPENDS += "libxtst libxext libxxf86vm libxxf86dga libxxf86misc libxi libxrender libxinerama libdmx libxau libxcomposite"
+DEPENDS += "libxtst libxext libxxf86vm libxi libxrender libxinerama libdmx libxau libxcomposite"
PE = "1"
SRC_URI += "file://disable-xkb.patch"
diff --git a/poky/meta/recipes-graphics/xorg-app/xinput_1.6.2.bb b/poky/meta/recipes-graphics/xorg-app/xinput_1.6.2.bb
deleted file mode 100644
index 25cd047bc..000000000
--- a/poky/meta/recipes-graphics/xorg-app/xinput_1.6.2.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require xorg-app-common.inc
-
-SUMMARY = "Runtime configuration and test of XInput devices"
-
-DESCRIPTION = "Xinput is an utility for configuring and testing XInput devices"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=881525f89f99cad39c9832bcb72e6fa5"
-
-DEPENDS += " libxi libxrandr libxinerama"
-
-SRC_URI[md5sum] = "6a889412eff2e3c1c6bb19146f6fe84c"
-SRC_URI[sha256sum] = "3694d29b4180952fbf13c6d4e59541310cbb11eef5bf888ff3d8b7f4e3aee5c4"
diff --git a/poky/meta/recipes-graphics/xorg-app/xinput_1.6.3.bb b/poky/meta/recipes-graphics/xorg-app/xinput_1.6.3.bb
new file mode 100644
index 000000000..ff1f1c914
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-app/xinput_1.6.3.bb
@@ -0,0 +1,12 @@
+require xorg-app-common.inc
+
+SUMMARY = "Runtime configuration and test of XInput devices"
+
+DESCRIPTION = "Xinput is an utility for configuring and testing XInput devices"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=881525f89f99cad39c9832bcb72e6fa5"
+
+DEPENDS += " libxi libxrandr libxinerama"
+
+SRC_URI[md5sum] = "ac6b7432726008b2f50eba82b0e2dbe4"
+SRC_URI[sha256sum] = "35a281dd3b9b22ea85e39869bb7670ba78955d5fec17c6ef7165d61e5aeb66ed"
diff --git a/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb b/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb
deleted file mode 100644
index ea6897948..000000000
--- a/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require xorg-app-common.inc
-
-SUMMARY = "XRandR: X Resize, Rotate and Reflect extension command"
-
-DESCRIPTION = "Xrandr is used to set the size, orientation and/or \
-reflection of the outputs for a screen. It can also set the screen \
-size."
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fe1608bdb33cf8c62a4438f7d34679b3"
-DEPENDS += "libxrandr libxrender"
-PE = "1"
-
-SRC_URI[md5sum] = "ebffac98021b8f1dc71da0c1918e9b57"
-SRC_URI[sha256sum] = "c1cfd4e1d4d708c031d60801e527abc9b6d34b85f2ffa2cadd21f75ff38151cd"
diff --git a/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb b/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb
new file mode 100644
index 000000000..6583ea237
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-app/xrandr_1.5.1.bb
@@ -0,0 +1,17 @@
+require xorg-app-common.inc
+
+SUMMARY = "XRandR: X Resize, Rotate and Reflect extension command"
+
+DESCRIPTION = "Xrandr is used to set the size, orientation and/or \
+reflection of the outputs for a screen. It can also set the screen \
+size."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fe1608bdb33cf8c62a4438f7d34679b3"
+DEPENDS += "libxrandr libxrender"
+PE = "1"
+
+SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "fe40f7a4fd39dd3a02248d3e0b1972e4"
+SRC_URI[sha256sum] = "7bc76daf9d72f8aff885efad04ce06b90488a1a169d118dea8a2b661832e8762"
diff --git a/poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb b/poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb
index 5748837fd..e21120e78 100644
--- a/poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb
+++ b/poky/meta/recipes-graphics/xorg-app/xset_1.2.4.bb
@@ -7,7 +7,7 @@ preference options of the display."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=bea81cc9827cdf1af0e12c2b8228cf8d"
-DEPENDS += "libxext libxxf86misc libxmu libxau"
+DEPENDS += "libxext libxmu libxau"
PE = "1"
SRC_URI += "file://disable-xkb.patch"
diff --git a/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.4.bb b/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.4.bb
deleted file mode 100644
index 1fb90dd24..000000000
--- a/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.4.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require xorg-app-common.inc
-
-SUMMARY = "Window information utility for X"
-
-DESCRIPTION = "Xwininfo is a utility for displaying information about \
-windows. Information may include window position, size, color depth, \
-and a number of other items."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=78976cd3115f6faf615accc4e094d90e"
-DEPENDS += "libxext libxmu gettext-native"
-
-PE = "0"
-
-SRC_URI[md5sum] = "9a505b91ae7160bbdec360968d060c83"
-SRC_URI[sha256sum] = "839498aa46b496492a5c65cd42cd2e86e0da88149b0672e90cb91648f8cd5b01"
diff --git a/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.5.bb b/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.5.bb
new file mode 100644
index 000000000..ec9f08268
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-app/xwininfo_1.1.5.bb
@@ -0,0 +1,15 @@
+require xorg-app-common.inc
+
+SUMMARY = "Window information utility for X"
+
+DESCRIPTION = "Xwininfo is a utility for displaying information about \
+windows. Information may include window position, size, color depth, \
+and a number of other items."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=78976cd3115f6faf615accc4e094d90e"
+DEPENDS += "libxext libxmu gettext-native"
+
+PE = "0"
+
+SRC_URI[md5sum] = "26d46f7ef0588d3392da3ad5802be420"
+SRC_URI[sha256sum] = "7a405441dfc476666c744f5fcd1bc8a75abf8b5b1d85db7b88b370982365080e"
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb
deleted file mode 100644
index 19123e06c..000000000
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.28.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-driver-input.inc
-
-SUMMARY = "Generic input driver for the X.Org server based on libinput"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0"
-
-DEPENDS += "libinput"
-
-SRC_URI[md5sum] = "b7548bc1d7e82d189205794ff86307af"
-SRC_URI[sha256sum] = "b8b346962c6b62b8069928c29c0db83b6f544863bf2fc6830f324de841de2820"
-
-FILES_${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.29.0.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.29.0.bb
new file mode 100644
index 000000000..f87083e57
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-driver/xf86-input-libinput_0.29.0.bb
@@ -0,0 +1,11 @@
+require xorg-driver-input.inc
+
+SUMMARY = "Generic input driver for the X.Org server based on libinput"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5e6b20ea2ef94a998145f0ea3f788ee0"
+
+DEPENDS += "libinput"
+
+SRC_URI[md5sum] = "d600e8e2e30747b8ce49ec5294ff0ab6"
+SRC_URI[sha256sum] = "c28b56a21754b972db31798e6a4cf4dc9d69208d08f8fe41701a94def5e94bee"
+
+FILES_${PN} += "${datadir}/X11/xorg.conf.d"
diff --git a/poky/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch b/poky/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch
index f330c185a..ec7c7d80c 100644
--- a/poky/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch
+++ b/poky/meta/recipes-graphics/xorg-font/encodings/nocompiler.patch
@@ -1,23 +1,32 @@
+From b08c43a0842076e0a94e88ad6456a9326cd7ffc9 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Tue, 17 May 2011 23:03:02 +0000
+Subject: [PATCH] Improve handling of 'all' architecture recipes and their
+
Upstream-Status: Inappropriate [configuration]
XORG_DEFAULT_OPTIONS pulls in the following dependency chains:
XORG_CWARNFLAGS -> AC_PROG_CC_C99
XORG_STRICT_OPTION -> AC_PROG_CC_C99, XORG_CWARNFLAGS
-XORG_MANPAGE_SECTIONS -> AC_CANONICAL_HOST -> Checks host
+XORG_MANPAGE_SECTIONS -> AC_CANONICAL_HOST -> Checks host
each of which triggers the use of the host compiler. As an "all"
architecture package, it shouldn't need a compiler (and doesn't).
RP 17/5/2011
-Index: encodings-1.0.4/configure.ac
-===================================================================
---- encodings-1.0.4.orig/configure.ac 2011-05-17 23:36:19.505095876 +0100
-+++ encodings-1.0.4/configure.ac 2011-05-17 23:54:14.935096128 +0100
-@@ -4,12 +4,12 @@
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 622c27b..5ee84ed 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,12 +3,12 @@ AC_INIT([encodings], [1.0.5],
+ [https://gitlab.freedesktop.org/xorg/font/encodings/issues])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
- AM_MAINTAINER_MODE
-# Require xorg-macros: XORG_DEFAULT_OPTIONS
m4_ifndef([XORG_MACROS_VERSION],
diff --git a/poky/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb b/poky/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb
deleted file mode 100644
index 36766f2f4..000000000
--- a/poky/meta/recipes-graphics/xorg-font/encodings_1.0.4.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "The Xorg font encoding files"
-
-DESCRIPTION = "The encodings that map to specific characters for a \
-number of Xorg and common fonts."
-
-require xorg-font-common.inc
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9da93f2daf2d5572faa2bfaf0dbd9e76"
-PE = "1"
-PR = "${INC_PR}.1"
-
-DEPENDS = "mkfontscale-native mkfontdir-native font-util-native"
-RDEPENDS_${PN} = ""
-
-SRC_URI += "file://nocompiler.patch"
-
-inherit allarch
-
-EXTRA_OECONF += "--with-encodingsdir=${datadir}/fonts/X11/encodings"
-
-SRC_URI[md5sum] = "0f2d6546d514c5cc4ecf78a60657a5c1"
-SRC_URI[sha256sum] = "ced6312988a45d23812c2ac708b4595f63fd7a49c4dcd9f66bdcd50d1057d539"
diff --git a/poky/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb b/poky/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb
new file mode 100644
index 000000000..a39609b5d
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-font/encodings_1.0.5.bb
@@ -0,0 +1,21 @@
+SUMMARY = "The Xorg font encoding files"
+
+DESCRIPTION = "The encodings that map to specific characters for a \
+number of Xorg and common fonts."
+
+require xorg-font-common.inc
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9da93f2daf2d5572faa2bfaf0dbd9e76"
+PE = "1"
+PR = "${INC_PR}.1"
+
+DEPENDS = "mkfontscale-native mkfontdir-native font-util-native"
+RDEPENDS_${PN} = ""
+
+SRC_URI += "file://nocompiler.patch"
+SRC_URI[md5sum] = "bbae4f247b88ccde0e85ed6a403da22a"
+SRC_URI[sha256sum] = "bd96e16143a044b19e87f217cf6a3763a70c561d1076aad6f6d862ec41774a31"
+
+inherit allarch
+
+EXTRA_OECONF += "--with-encodingsdir=${datadir}/fonts/X11/encodings"
diff --git a/poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb b/poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb
deleted file mode 100644
index 1289c1686..000000000
--- a/poky/meta/recipes-graphics/xorg-font/font-util_1.3.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "X.Org font package creation/installation utilities"
-
-require xorg-font-common.inc
-
-#Unicode is MIT
-LICENSE = "BSD & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5df208ec65eb84ce5bb8d82d8f3b9675 \
- file://ucs2any.c;endline=28;md5=8357dc567fc628bd12696f15b2a33bcb \
- file://bdftruncate.c;endline=26;md5=4f82ffc101a1b165eae9c6998abff937 \
- file://map-ISO8859-1;beginline=9;endline=23;md5=1cecb984063248f29ffe5c46f5c04f34"
-
-DEPENDS = "encodings util-macros"
-DEPENDS_class-native = "util-macros-native"
-RDEPENDS_${PN} = "mkfontdir mkfontscale encodings"
-RDEPENDS_${PN}_class-native = ""
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "23756dab809f9ec5011bb27fb2c3c7d6"
-SRC_URI[sha256sum] = "aa7ebdb0715106dd255082f2310dbaa2cd7e225957c2a77d719720c7cc92b921"
-
-SYSROOT_DIRS_BLACKLIST_remove = "${datadir}/fonts"
diff --git a/poky/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb b/poky/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb
new file mode 100644
index 000000000..ebe7a603f
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-font/font-util_1.3.2.bb
@@ -0,0 +1,22 @@
+SUMMARY = "X.Org font package creation/installation utilities"
+
+require xorg-font-common.inc
+
+#Unicode is MIT
+LICENSE = "BSD & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5df208ec65eb84ce5bb8d82d8f3b9675 \
+ file://ucs2any.c;endline=28;md5=8357dc567fc628bd12696f15b2a33bcb \
+ file://bdftruncate.c;endline=26;md5=4f82ffc101a1b165eae9c6998abff937 \
+ file://map-ISO8859-1;beginline=9;endline=23;md5=1cecb984063248f29ffe5c46f5c04f34"
+
+DEPENDS = "encodings util-macros"
+DEPENDS_class-native = "util-macros-native"
+RDEPENDS_${PN} = "mkfontdir mkfontscale encodings"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "3d6adb76fdd072db8c8fae41b40855e8"
+SRC_URI[sha256sum] = "3ad880444123ac06a7238546fa38a2a6ad7f7e0cc3614de7e103863616522282"
+
+SYSROOT_DIRS_BLACKLIST_remove = "${datadir}/fonts"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libice/CVE-2017-2626.patch b/poky/meta/recipes-graphics/xorg-lib/libice/CVE-2017-2626.patch
deleted file mode 100644
index 20c6dda2e..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libice/CVE-2017-2626.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-From ff5e59f32255913bb1cdf51441b98c9107ae165b Mon Sep 17 00:00:00 2001
-From: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-Date: Tue, 4 Apr 2017 19:12:53 +0200
-Subject: Use getentropy() if arc4random_buf() is not available
-
-This allows to fix CVE-2017-2626 on Linux platforms without pulling in
-libbsd.
-The libc getentropy() is available since glibc 2.25 but also on OpenBSD.
-For Linux, we need at least a v3.17 kernel. If the recommended
-arc4random_buf() function is not available, emulate it by first trying
-to use getentropy() on a supported glibc and kernel. If the call fails,
-fall back to the current (partly vulnerable) code.
-
-Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
-Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-Upstream-Status: Backport[https://cgit.freedesktop.org/xorg/lib/libICE
- /commit/?id=ff5e59f32255913bb1cdf51441b98c9107ae165b]
-
-CVE: CVE-2017-2626
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- configure.ac | 2 +-
- src/iceauth.c | 65 ++++++++++++++++++++++++++++++++++++++++++-----------------
- 2 files changed, 47 insertions(+), 20 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 458882a..c971ab6 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -38,7 +38,7 @@ AC_DEFINE(ICE_t, 1, [Xtrans transport type])
-
- # Checks for library functions.
- AC_CHECK_LIB([bsd], [arc4random_buf])
--AC_CHECK_FUNCS([asprintf arc4random_buf])
-+AC_CHECK_FUNCS([asprintf arc4random_buf getentropy])
-
- # Allow checking code with lint, sparse, etc.
- XORG_WITH_LINT
-diff --git a/src/iceauth.c b/src/iceauth.c
-index ed31683..de4785b 100644
---- a/src/iceauth.c
-+++ b/src/iceauth.c
-@@ -44,31 +44,19 @@ Author: Ralph Mor, X Consortium
-
- static int was_called_state;
-
--/*
-- * MIT-MAGIC-COOKIE-1 is a sample authentication method implemented by
-- * the SI. It is not part of standard ICElib.
-- */
-+#ifndef HAVE_ARC4RANDOM_BUF
-
--
--char *
--IceGenerateMagicCookie (
-+static void
-+emulate_getrandom_buf (
-+ char *auth,
- int len
- )
- {
-- char *auth;
--#ifndef HAVE_ARC4RANDOM_BUF
- long ldata[2];
- int seed;
- int value;
- int i;
--#endif
-
-- if ((auth = malloc (len + 1)) == NULL)
-- return (NULL);
--
--#ifdef HAVE_ARC4RANDOM_BUF
-- arc4random_buf(auth, len);
--#else
- #ifdef ITIMER_REAL
- {
- struct timeval now;
-@@ -76,13 +64,13 @@ IceGenerateMagicCookie (
- ldata[0] = now.tv_sec;
- ldata[1] = now.tv_usec;
- }
--#else
-+#else /* ITIMER_REAL */
- {
- long time ();
- ldata[0] = time ((long *) 0);
- ldata[1] = getpid ();
- }
--#endif
-+#endif /* ITIMER_REAL */
- seed = (ldata[0]) + (ldata[1] << 16);
- srand (seed);
- for (i = 0; i < len; i++)
-@@ -90,7 +78,46 @@ IceGenerateMagicCookie (
- value = rand ();
- auth[i] = value & 0xff;
- }
--#endif
-+}
-+
-+static void
-+arc4random_buf (
-+ char *auth,
-+ int len
-+)
-+{
-+ int ret;
-+
-+#if HAVE_GETENTROPY
-+ /* weak emulation of arc4random through the entropy libc */
-+ ret = getentropy (auth, len);
-+ if (ret == 0)
-+ return;
-+#endif /* HAVE_GETENTROPY */
-+
-+ emulate_getrandom_buf (auth, len);
-+}
-+
-+#endif /* !defined(HAVE_ARC4RANDOM_BUF) */
-+
-+/*
-+ * MIT-MAGIC-COOKIE-1 is a sample authentication method implemented by
-+ * the SI. It is not part of standard ICElib.
-+ */
-+
-+
-+char *
-+IceGenerateMagicCookie (
-+ int len
-+)
-+{
-+ char *auth;
-+
-+ if ((auth = malloc (len + 1)) == NULL)
-+ return (NULL);
-+
-+ arc4random_buf (auth, len);
-+
- auth[len] = '\0';
- return (auth);
- }
---
-cgit v1.1
-
diff --git a/poky/meta/recipes-graphics/xorg-lib/libice_1.0.10.bb b/poky/meta/recipes-graphics/xorg-lib/libice_1.0.10.bb
new file mode 100644
index 000000000..6a6316f32
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libice_1.0.10.bb
@@ -0,0 +1,28 @@
+SUMMARY = "ICE: Inter-Client Exchange library"
+
+DESCRIPTION = "The Inter-Client Exchange (ICE) protocol provides a \
+generic framework for building protocols on top of reliable, byte-stream \
+transport connections. It provides basic mechanisms for setting up and \
+shutting down connections, for performing authentication, for \
+negotiating versions, and for reporting errors. "
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d162b1b3c6fa812da9d804dcf8584a93"
+
+DEPENDS += "xorgproto xtrans"
+PROVIDES = "ice"
+
+PE = "1"
+
+XORG_PN = "libICE"
+
+BBCLASSEXTEND = "native nativesdk"
+
+SRC_URI[md5sum] = "76d77499ee7120a56566891ca2c0dbcf"
+SRC_URI[sha256sum] = "6f86dce12cf4bcaf5c37dddd8b1b64ed2ddf1ef7b218f22b9942595fb747c348"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb b/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb
deleted file mode 100644
index c1b19138f..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libice_1.0.9.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "ICE: Inter-Client Exchange library"
-
-DESCRIPTION = "The Inter-Client Exchange (ICE) protocol provides a \
-generic framework for building protocols on top of reliable, byte-stream \
-transport connections. It provides basic mechanisms for setting up and \
-shutting down connections, for performing authentication, for \
-negotiating versions, and for reporting errors. "
-
-require xorg-lib-common.inc
-
-LICENSE = "MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d162b1b3c6fa812da9d804dcf8584a93"
-
-DEPENDS += "xorgproto xtrans"
-PROVIDES = "ice"
-
-PE = "1"
-
-XORG_PN = "libICE"
-
-BBCLASSEXTEND = "native nativesdk"
-
-SRC_URI[md5sum] = "addfb1e897ca8079531669c7c7711726"
-SRC_URI[sha256sum] = "8f7032f2c1c64352b5423f6b48a8ebdc339cc63064af34d66a6c9aa79759e202"
-
-SRC_URI += "file://CVE-2017-2626.patch"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[arc4] = "ac_cv_lib_bsd_arc4random_buf=yes,ac_cv_lib_bsd_arc4random_buf=no,libbsd"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libpciaccess/0004-Don-t-include-sys-io.h-on-arm.patch b/poky/meta/recipes-graphics/xorg-lib/libpciaccess/0004-Don-t-include-sys-io.h-on-arm.patch
deleted file mode 100644
index f53285824..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libpciaccess/0004-Don-t-include-sys-io.h-on-arm.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b6df5202306bd71158b482f25ca2e6919645d4dd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 4 Jun 2015 20:55:06 -0700
-Subject: [PATCH 4/4] Don't include sys/io.h on arm
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/linux_sysfs.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/linux_sysfs.c b/src/linux_sysfs.c
-index 3f95e53..1e3aad3 100644
---- a/src/linux_sysfs.c
-+++ b/src/linux_sysfs.c
-@@ -50,7 +50,7 @@
- #include <dirent.h>
- #include <errno.h>
-
--#if defined(__i386__) || defined(__x86_64__) || defined(__arm__)
-+#if defined(__i386__) || defined(__x86_64__)
- #include <sys/io.h>
- #else
- #define inb(x) -1
---
-2.1.4
-
diff --git a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.bb b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.bb
deleted file mode 100644
index d030c31bd..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.14.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Generic PCI access library for X"
-
-DESCRIPTION = "libpciaccess provides functionality for X to access the \
-PCI bus and devices in a platform-independent way."
-
-require xorg-lib-common.inc
-
-SRC_URI += "\
- file://0004-Don-t-include-sys-io.h-on-arm.patch \
-"
-
-SRC_URI[md5sum] = "8f436e151d5106a9cfaa71857a066d33"
-SRC_URI[sha256sum] = "3df543e12afd41fea8eac817e48cbfde5aed8817b81670a4e9e493bb2f5bf2a4"
-
-LICENSE = "MIT & MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=277aada5222b9a22fbf3471ff3687068"
-
-REQUIRED_DISTRO_FEATURES = ""
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb
new file mode 100644
index 000000000..b58cb80dc
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libpciaccess_0.16.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Generic PCI access library for X"
+
+DESCRIPTION = "libpciaccess provides functionality for X to access the \
+PCI bus and devices in a platform-independent way."
+
+require xorg-lib-common.inc
+
+SRC_URI += "\
+"
+
+SRC_URI[md5sum] = "b34e2cbdd6aa8f9cc3fa613fd401a6d6"
+SRC_URI[sha256sum] = "214c9d0d884fdd7375ec8da8dcb91a8d3169f263294c9a90c575bf1938b9f489"
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=277aada5222b9a22fbf3471ff3687068"
+
+REQUIRED_DISTRO_FEATURES = ""
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch
new file mode 100644
index 000000000..46a53a17f
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data/0001-Drop-x11-dependencies.patch
@@ -0,0 +1,86 @@
+From e1f9b0b531c6ddb11a85c0664051e2e4efc589fb Mon Sep 17 00:00:00 2001
+From: Ming Liu <ming.liu@toradex.com>
+Date: Sun, 5 May 2019 11:55:14 +0200
+Subject: [PATCH] Drop x11 dependencies
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Ming Liu <ming.liu@toradex.com>
+---
+ configure.ac | 44 --------------------------------------------
+ 1 file changed, 44 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a5fd706..b42488c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -76,27 +76,8 @@ fi
+ AC_SUBST([EXEEXT_FOR_BUILD])
+
+ # Checks for pkg-config packages
+-
+-# Always required
+-X11_REQUIRES='xproto >= 7.0.17 xextproto xtrans xcb >= 1.11.1'
+-X11_EXTRA_DEPS="xcb >= 1.11.1"
+-
+ PKG_PROG_PKG_CONFIG()
+
+-AC_SUBST(X11_EXTRA_DEPS)
+-
+-# Issue an error if xtrans.m4 was not found and XTRANS_CONNECTION_FLAGS macro
+-# was not expanded, since libX11 with no transport types is rather useless.
+-#
+-# If you're seeing an error here, be sure you installed the lib/xtrans module
+-# first and if it's not in the default location, that you set the ACLOCAL
+-# environment variable to find it, such as:
+-# ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
+-m4_pattern_forbid([^XTRANS_CONNECTION_FLAGS$])
+-
+-# Transport selection macro from xtrans.m4
+-XTRANS_CONNECTION_FLAGS
+-
+ # Check for dlopen
+ AC_MSG_CHECKING([if run-time linking is supported])
+ AC_SEARCH_LIBS(dlopen,[dl svld])
+@@ -237,30 +218,6 @@ AC_SUBST(XTHREAD_CFLAGS)
+
+ AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], )
+
+-#
+-# Find keysymdef.h
+-#
+-AC_MSG_CHECKING([keysym definitions])
+-AC_ARG_WITH([keysymdefdir],
+- [AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h (defaults to xproto include dir)])],
+- [KEYSYMDEFDIR=$withval],
+- [KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11])
+-
+-if test ! -d "$KEYSYMDEFDIR"; then
+- AC_MSG_ERROR([$KEYSYMDEFDIR doesn't exist or isn't a directory])
+-fi
+-
+-FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
+-for i in $FILES; do
+- if test -f "$KEYSYMDEFDIR/$i"; then
+- KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
+- elif test "x$i" = "xkeysymdef.h"; then
+- AC_MSG_ERROR([Cannot find keysymdef.h])
+- fi
+-done
+-AC_MSG_RESULT([$KEYSYMDEFS])
+-AC_SUBST(KEYSYMDEFS)
+-
+ AC_ARG_ENABLE(xcms,
+ AS_HELP_STRING([--disable-xcms],
+ [Disable Xlib support for CMS *EXPERIMENTAL*]),
+@@ -340,7 +297,6 @@ X11_LIBDIR="${libdir}/X11"
+ AX_DEFINE_DIR(X11_LIBDIR, X11_LIBDIR, [Location of libX11 library data])
+ AC_SUBST(X11_LIBDIR)
+
+-PKG_CHECK_MODULES(X11, [$X11_REQUIRES])
+ X11_CFLAGS="$X11_CFLAGS $XTHREAD_CFLAGS"
+
+ #
+--
+2.7.4
+
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
new file mode 100644
index 000000000..cabb84e68
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Xlib: Compose data files for libx11"
+DESCRIPTION = "This package provides the compose data files for libx11."
+
+python () {
+ if bb.utils.contains('DISTRO_FEATURES', 'x11', True, False, d):
+ raise bb.parse.SkipRecipe("libx11-compose-data is incompatible with x11 distro feature, use libx11 instead.")
+}
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT & MIT-style & BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7"
+
+SRC_URI[md5sum] = "c5fa5a86a20e3591bed6c046498d4b8f"
+SRC_URI[sha256sum] = "b289a845c189e251e0e884cc0f9269bbe97c238df3741e854ec4c17c21e473d5"
+
+SRC_URI += "file://0001-Drop-x11-dependencies.patch"
+
+XORG_PN = "libX11"
+
+EXTRA_OECONF += "--disable-xkb"
+
+PACKAGES = "${PN}"
+
+FILES_${PN} = "${datadir}/X11/locale ${libdir}/X11/locale"
+
+do_compile() {
+ oe_runmake -C nls
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} -C nls install
+}
+
+REQUIRED_DISTRO_FEATURES = ""
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb b/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb
deleted file mode 100644
index 9c773a09d..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libx11-diet_1.6.7.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require libx11.inc
-
-DESCRIPTION += " Support for XCMS and XLOCALE is disabled in \
-this version."
-
-SRC_URI += "file://X18NCMSstubs.patch \
- file://fix-disable-xlocale.patch \
- file://fix-utf8-wrong-define.patch \
- "
-
-RPROVIDES_${PN}-dev = "libx11-dev"
-RPROVIDES_${PN}-locale = "libx11-locale"
-
-EXTRA_OECONF += "--disable-xlocale"
-
-PACKAGECONFIG ??= ""
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11.inc b/poky/meta/recipes-graphics/xorg-lib/libx11.inc
index ea2ebfb8b..cce0cb992 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libx11.inc
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11.inc
@@ -10,8 +10,12 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:"
PE = "1"
-SRC_URI[md5sum] = "034fdd6cc5393974d88aec6f5bc96162"
-SRC_URI[sha256sum] = "910e9e30efba4ad3672ca277741c2728aebffa7bc526f04dcfa74df2e52a1348"
+SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \
+ file://no-host-libtool.patch \
+ file://no-host-x.patch"
+
+SRC_URI[md5sum] = "c5fa5a86a20e3591bed6c046498d4b8f"
+SRC_URI[sha256sum] = "b289a845c189e251e0e884cc0f9269bbe97c238df3741e854ec4c17c21e473d5"
PROVIDES = "virtual/libx11"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch
deleted file mode 100644
index c1172147a..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libx11/X18NCMSstubs.patch
+++ /dev/null
@@ -1,536 +0,0 @@
-From 62005ad019d6afb81da100b3113292a16472d241 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 10 Sep 2018 09:08:27 +0800
-Subject: [PATCH] Stub out x18n
-
-Update patch to version 1.6.6
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-Upstream-Status: Inappropriate [configuration]
----
- src/Makefile.am | 5 +-
- src/X18NCMSstubs.c | 426 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/imConv.c | 5 +-
- src/locking.c | 4 +
- 4 files changed, 438 insertions(+), 2 deletions(-)
- create mode 100644 src/X18NCMSstubs.c
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index f8c476d..cdbcbbd 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -336,13 +336,16 @@ if THRSTUBS
- libX11_la_SOURCES+=UIThrStubs.c
- endif
-
-+libX11_la_SOURCES+=X18NCMSstubs.c
-+
- x11datadir = @X11_DATADIR@
- x11data_DATA = XErrorDB
-
- EXTRA_DIST = \
- $(x11data_DATA) \
- os2Stubs.c \
-- UIThrStubs.c
-+ UIThrStubs.c \
-+ X18NCMSstubs.c
-
- libX11_xcb_la_SOURCES = x11_xcb.c Xxcbint.h
- libX11_xcb_la_LDFLAGS = -version-number 1:0:0 -no-undefined
-diff --git a/src/X18NCMSstubs.c b/src/X18NCMSstubs.c
-new file mode 100644
-index 0000000..429cb31
---- /dev/null
-+++ b/src/X18NCMSstubs.c
-@@ -0,0 +1,426 @@
-+ /* - Provides stubs and dummy funcs needed when Xcms and XLocale stuff removed
-+ *
-+ * Copyright © 2003 Matthew Allum
-+ *
-+ * Permission to use, copy, modify, distribute, and sell this software and its
-+ * documentation for any purpose is hereby granted without fee, provided that
-+ * the above copyright notice appear in all copies and that both that
-+ * copyright notice and this permission notice appear in supporting
-+ * documentation, and that the name of Matthew Allum not be used in
-+ * advertising or publicity pertaining to distribution of the software without
-+ * specific, written prior permission. Keith Packard and Compaq makes no
-+ * representations about the suitability of this software for any purpose. It
-+ * is provided "as is" without express or implied warranty.
-+ *
-+ * MATTHEW ALLUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
-+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
-+ * IN NO EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-+ * PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+#include <stdlib.h>
-+#include "Xlibint.h"
-+#include "Xlcint.h"
-+#include <X11/Xlocale.h>
-+#include <X11/Xos.h>
-+#ifdef WIN32
-+#undef close
-+#endif
-+#include <X11/Xutil.h>
-+#include "XlcPubI.h"
-+
-+#include "Xcmsint.h" /* for XcmsCCC type */
-+#include "XlcPubI.h" /* for XLCd type */
-+#include "config.h"
-+
-+#if ! XLOCALE
-+
-+Bool
-+XSupportsLocale()
-+{
-+ return False;
-+}
-+
-+char *
-+XSetLocaleModifiers(
-+ const char *modifiers)
-+{
-+ return NULL;
-+}
-+
-+XLCd
-+_XOpenLC(
-+ char *name)
-+{
-+ return NULL;
-+}
-+
-+XLCd
-+_XlcCurrentLC()
-+{
-+ return NULL;
-+}
-+
-+void
-+_XlcVaToArgList(
-+ va_list var,
-+ int count,
-+ XlcArgList *args_ret)
-+{
-+ return;
-+}
-+
-+void
-+_XlcCountVaList(
-+ va_list var,
-+ int *count_ret)
-+{
-+ return;
-+}
-+
-+void
-+_XCloseLC(
-+ XLCd lcd)
-+{
-+ return;
-+}
-+
-+int
-+_XlcConvert(
-+ XlcConv conv,
-+ XPointer *from,
-+ int *from_left,
-+ XPointer *to,
-+ int *to_left,
-+ XPointer *args,
-+ int num_args)
-+{
-+ return 0;
-+}
-+
-+/* XIM Stubs */
-+
-+XPointer
-+_XimGetLocaleCode ( _Xconst char* encoding_name )
-+{
-+ return NULL;
-+}
-+
-+int
-+_XimGetCharCode (
-+ XPointer ucs_conv,
-+ KeySym keysym,
-+ unsigned char* buf,
-+ int nbytes)
-+{
-+ return 0;
-+}
-+
-+/* Xrm Stubs */
-+
-+XrmMethods
-+_XrmInitParseInfo(
-+ XPointer *state)
-+{
-+ return (XrmMethods) NULL;
-+}
-+
-+/* Xwc Stubs */
-+
-+int
-+XwcTextExtents(
-+ XFontSet font_set,
-+ _Xconst wchar_t *text,
-+ int text_len,
-+ XRectangle *overall_ink_extents,
-+ XRectangle *overall_logical_extents)
-+{
-+ return 0;
-+}
-+
-+void
-+XwcDrawString(Display *display,
-+ Drawable d,
-+ XFontSet font_set,
-+ GC gc,
-+ int x, int y,
-+ _Xconst wchar_t *string,
-+ int num_wchars)
-+{
-+ ;
-+}
-+
-+void
-+XwcDrawText(
-+ Display *dpy,
-+ Drawable d,
-+ GC gc,
-+ int x,
-+ int y,
-+ XwcTextItem *text_items,
-+ int nitems)
-+{
-+ ;
-+}
-+
-+void
-+XwcDrawImageString(
-+ Display *dpy,
-+ Drawable d,
-+ XFontSet font_set,
-+ GC gc,
-+ int x,
-+ int y,
-+ _Xconst wchar_t *text,
-+ int text_len)
-+{
-+ ;
-+}
-+
-+int
-+XwcTextEscapement(
-+ XFontSet font_set,
-+ _Xconst wchar_t *text,
-+ int text_len)
-+{
-+ return 0;
-+}
-+
-+Status
-+XwcTextPerCharExtents(
-+ XFontSet font_set,
-+ _Xconst wchar_t *text,
-+ int text_len,
-+ XRectangle *ink_extents_buffer,
-+ XRectangle *logical_extents_buffer,
-+ int buffer_size,
-+ int *num_chars,
-+ XRectangle *max_ink_extents,
-+ XRectangle *max_logical_extents)
-+{
-+ return(XcmsFailure);
-+}
-+
-+int
-+XwcTextPropertyToTextList(
-+ Display *dpy,
-+ const XTextProperty *text_prop,
-+ wchar_t ***list_ret,
-+ int *count_ret)
-+{
-+ return 0;
-+}
-+
-+int
-+XwcTextListToTextProperty(
-+ Display *dpy,
-+ wchar_t **list,
-+ int count,
-+ XICCEncodingStyle style,
-+ XTextProperty *text_prop)
-+{
-+ return 0;
-+}
-+
-+void
-+XwcFreeStringList(wchar_t **list)
-+{
-+ return;
-+}
-+
-+
-+void XmbSetWMProperties ( /* Actually from mbWMProps.c */
-+ Display *dpy,
-+ Window w,
-+ _Xconst char *windowName,
-+ _Xconst char *iconName,
-+ char **argv,
-+ int argc,
-+ XSizeHints *sizeHints,
-+ XWMHints *wmHints,
-+ XClassHint *classHints)
-+{
-+ return;
-+}
-+
-+int
-+XmbTextPropertyToTextList(
-+ Display *dpy,
-+ const XTextProperty *text_prop,
-+ char ***list_ret,
-+ int *count_ret)
-+{
-+ return XLocaleNotSupported;
-+}
-+
-+int
-+XmbTextListToTextProperty(
-+ Display *dpy,
-+ char **list,
-+ int count,
-+ XICCEncodingStyle style,
-+ XTextProperty *text_prop)
-+{
-+ return XLocaleNotSupported;
-+}
-+
-+int
-+XmbTextExtents(
-+ XFontSet font_set,
-+ _Xconst char *text,
-+ int text_len,
-+ XRectangle *overall_ink_extents,
-+ XRectangle *overall_logical_extents)
-+{
-+ return 0;
-+}
-+
-+void
-+XmbDrawText(
-+ Display *dpy,
-+ Drawable d,
-+ GC gc,
-+ int x,
-+ int y,
-+ XmbTextItem *text_items,
-+ int nitems)
-+{
-+ ;
-+}
-+
-+void
-+XmbDrawString(
-+ Display *dpy,
-+ Drawable d,
-+ XFontSet font_set,
-+ GC gc,
-+ int x,
-+ int y,
-+ _Xconst char *text,
-+ int text_len)
-+{
-+ ;
-+}
-+
-+void
-+XmbDrawImageString(
-+ Display *dpy,
-+ Drawable d,
-+ XFontSet font_set,
-+ GC gc,
-+ int x,
-+ int y,
-+ _Xconst char *text,
-+ int text_len)
-+{
-+ ;
-+}
-+
-+int
-+XmbTextEscapement(
-+ XFontSet font_set,
-+ _Xconst char *text,
-+ int text_len)
-+{
-+ return 0;
-+}
-+
-+Status
-+XmbTextPerCharExtents(
-+ XFontSet font_set,
-+ _Xconst char *text,
-+ int text_len,
-+ XRectangle *ink_extents_buffer,
-+ XRectangle *logical_extents_buffer,
-+ int buffer_size,
-+ int *num_chars,
-+ XRectangle *max_ink_extents,
-+ XRectangle *max_logical_extents)
-+{
-+ return 0;
-+}
-+
-+unsigned int
-+KeySymToUcs4(KeySym keysym)
-+{
-+ return 0;
-+}
-+
-+#endif
-+
-+#if ! XCMS
-+
-+XcmsCCC
-+XcmsCCCOfColormap(dpy, cmap)
-+ Display *dpy;
-+ Colormap cmap;
-+{
-+ return NULL;
-+}
-+
-+Status
-+_XcmsResolveColorString (
-+ XcmsCCC ccc,
-+ const char **color_string,
-+ XcmsColor *pColor_exact_return,
-+ XcmsColorFormat result_format)
-+{
-+ return(XcmsFailure);
-+}
-+
-+void
-+_XcmsUnresolveColor(
-+ XcmsCCC ccc,
-+ XcmsColor *pColor)
-+{
-+ return;
-+}
-+
-+void
-+_XUnresolveColor(
-+ XcmsCCC ccc,
-+ XColor *pXColor)
-+{
-+ return;
-+}
-+
-+XcmsCmapRec *
-+_XcmsAddCmapRec(dpy, cmap, windowID, visual)
-+ Display *dpy;
-+ Colormap cmap;
-+ Window windowID;
-+ Visual *visual;
-+{
-+ return NULL;
-+}
-+
-+void
-+_XcmsRGB_to_XColor(
-+ XcmsColor *pColors,
-+ XColor *pXColors,
-+ unsigned int nColors)
-+{
-+ return;
-+}
-+
-+XcmsCmapRec *
-+_XcmsCopyCmapRecAndFree(
-+ Display *dpy,
-+ Colormap src_cmap,
-+ Colormap copy_cmap)
-+{
-+ return NULL;
-+}
-+
-+void
-+_XcmsDeleteCmapRec(
-+ Display *dpy,
-+ Colormap cmap)
-+{
-+ return;
-+}
-+
-+#endif
-diff --git a/src/imConv.c b/src/imConv.c
-index c3c1974..04ecc81 100644
---- a/src/imConv.c
-+++ b/src/imConv.c
-@@ -80,6 +80,7 @@ static const struct SubstRec SubstTable[] = {
- * from UCS char to specified charset char.
- * This converter is needed for _XimGetCharCode subroutine.
- */
-+#ifdef XLOCALE
- XPointer
- _XimGetLocaleCode (
- _Xconst char* encoding_name)
-@@ -93,7 +94,7 @@ _XimGetLocaleCode (
- }
- return cvt;
- }
--
-+#endif
- /*
- * Returns the locale dependent representation of a keysym.
- * The locale's encoding is passed in form of pointer to UCS convertor.
-@@ -105,6 +105,7 @@ _XimGetLocaleCode (
- * locale
- */
- /*ARGSUSED*/
-+#ifdef XLOCALE
- int
- _XimGetCharCode (
- XPointer ucs_conv,
-@@ -133,6 +134,7 @@ _XimGetCharCode (
- buf[count]= '\0';
- return count;
- }
-+#endif
-
- #ifdef XKB
- static int lookup_string(
-diff --git a/src/locking.c b/src/locking.c
-index 9f4fe06..e6967ee 100644
---- a/src/locking.c
-+++ b/src/locking.c
-@@ -65,7 +65,9 @@ in this Software without prior written authorization from The Open Group.
- #define NUM_FREE_CVLS 4
-
- /* in lcWrap.c */
-+#ifdef XLOCALE
- extern LockInfoPtr _Xi18n_lock;
-+#endif
-
- #ifdef WIN32
- static DWORD _X_TlsIndex = (DWORD)-1;
-@@ -597,9 +599,11 @@ Status XInitThreads(void)
- _Xglobal_lock = &global_lock;
- xmutex_init(_Xglobal_lock->lock);
- xmutex_set_name(_Xglobal_lock->lock, "Xlib global");
-+#ifdef XLOCALE
- _Xi18n_lock = &i18n_lock;
- xmutex_init(_Xi18n_lock->lock);
- xmutex_set_name(_Xi18n_lock->lock, "Xlib i18n");
-+#endif
- _XLockMutex_fn = _XLockMutex;
- _XUnlockMutex_fn = _XUnlockMutex;
- _XCreateMutex_fn = _XCreateMutex;
---
-2.7.4
-
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch
deleted file mode 100644
index 09cf74fff..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-disable-xlocale.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 5c1693028ef12ab767d7cdbc349c27efa1ada87a Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 10 Sep 2018 09:13:38 +0800
-Subject: [PATCH] Fix build when xlocale disabled
-
-Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
-
-Update patch to version 1.6.6
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-Upstream-Status: Pending
----
- src/Font.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/Font.c b/src/Font.c
-index a73f9b1..8f4d210 100644
---- a/src/Font.c
-+++ b/src/Font.c
-@@ -675,7 +675,11 @@ int _XF86LoadQueryLocaleFont(
- }
- if (l - 2 - (p - charset) < 0)
- return 0;
-+#ifdef XLOCALE
- if (_XlcNCompareISOLatin1(name + l - 2 - (p - charset), charset, p - charset))
-+#else
-+ if (strncasecmp(name + l - 2 - (p - charset), charset, p - charset))
-+#endif
- return 0;
- if (strlen(p + 1) + l - 1 >= sizeof(buf) - 1)
- return 0;
---
-2.7.4
-
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch
deleted file mode 100644
index 0b57e0b06..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libx11/fix-utf8-wrong-define.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 046703373055c7029c19d171e415ff3caaa87372 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 10 Sep 2018 09:16:33 +0800
-Subject: [PATCH] Disable unicode
-
-Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
-
-Update patch to version 1.6.6
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-Upstream-Status: Pending
----
- include/X11/Xlib.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/X11/Xlib.h b/include/X11/Xlib.h
-index 84403f7..56be654 100644
---- a/include/X11/Xlib.h
-+++ b/include/X11/Xlib.h
-@@ -67,7 +67,7 @@ _Xmblen(
-
- /* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
- November 2000. Its presence is indicated through the following macro. */
--#define X_HAVE_UTF8_STRING 1
-+#undef X_HAVE_UTF8_STRING
-
- /* The Xlib structs are full of implicit padding to properly align members.
- We can't clean that up without breaking ABI, so tell clang not to bother
---
-2.7.4
-
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-libtool.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-libtool.patch
new file mode 100644
index 000000000..56d9983b1
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-libtool.patch
@@ -0,0 +1,45 @@
+Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/lib/libx11/merge_requests/22]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From edc7680ed5a03cedb5facf14693823455e12c29c Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 6 Aug 2019 14:53:43 +0100
+Subject: [PATCH libX11] src/util/Makefile: explicitly reset LINK to not use
+ libtool
+
+Simply looking at libtool redefines LINK globally to use libtool, which when
+you're trying to cross-compile to Windows can cause complications.
+
+As in src/util/ we're simply building a small binary for the build host, reset
+LINK to the automake default so that the traditional compile/link steps occur
+without libtool.
+
+Also remove -all-static from LDFLAGS as that is a libtool-specific argument
+intended to solve this problem.
+
+Closes: #100
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ src/util/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/util/Makefile.am b/src/util/Makefile.am
+index 37314370..b7236530 100644
+--- a/src/util/Makefile.am
++++ b/src/util/Makefile.am
+@@ -7,10 +7,11 @@ AM_CFLAGS = \
+ AM_CPPFLAGS = \
+ -I$(top_srcdir)/include
+
++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+ CC = @CC_FOR_BUILD@
+ CPPFLAGS = @CPPFLAGS_FOR_BUILD@
+ CFLAGS = @CFLAGS_FOR_BUILD@
+-LDFLAGS = @LDFLAGS_FOR_BUILD@ -all-static
++LDFLAGS = @LDFLAGS_FOR_BUILD@
+ LIBS =
+ EXEEXT = @EXEEXT_FOR_BUILD@
+
+--
+2.20.1
+
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-x.patch b/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-x.patch
new file mode 100644
index 000000000..803f8b408
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11/no-host-x.patch
@@ -0,0 +1,40 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From cf2ef27831173c5ed6f98be3c39caff18fd4e7f1 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Mon, 17 Jun 2019 13:36:08 -0400
+Subject: [PATCH 1/2] makekeys: Detach ourselves from X headers entirely
+
+Subsequent to a121b7b0c210efe10bf93453b29050282324c906 we are no longer
+building makekeys with enough -I/foo/bar to find the X11 headers, so if
+they're not in a system include path, things fail. Since this utility is
+only needed at build time, there's no real reason to demand the X
+headers be installed for both the build and target machines if cross-
+compiling, we can just assume a vaguely ANSI environment instead.
+
+Tested-by: Niclas Zeising <zeising@daemonic.se>
+Reviewed-by: Keith Packard <keithp@keithp.com>
+Reviewed-by: Matt Turner <mattst88@gmail.com>
+---
+ src/util/makekeys.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/util/makekeys.c b/src/util/makekeys.c
+index bcb5b7d5..07563315 100644
+--- a/src/util/makekeys.c
++++ b/src/util/makekeys.c
+@@ -35,8 +35,10 @@ from The Open Group.
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <stdint.h>
++#include <inttypes.h>
+
+-#include "../Xresinternal.h"
++typedef uint32_t Signature;
+
+ #define KTNUM 4000
+
+--
+2.20.1
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb
deleted file mode 100644
index 6141f571c..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.7.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require libx11.inc
-
-SRC_URI += "file://disable_tests.patch \
- file://Fix-hanging-issue-in-_XReply.patch \
- "
-
-inherit gettext
-
-do_configure_append () {
- sed -i -e "/X11_CFLAGS/d" ${B}/src/util/Makefile
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.8.bb b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.8.bb
new file mode 100644
index 000000000..0d27bc2bc
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libx11_1.6.8.bb
@@ -0,0 +1,7 @@
+require libx11.inc
+
+SRC_URI += "file://disable_tests.patch"
+
+inherit gettext
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb
new file mode 100644
index 000000000..5a08e0736
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.10.bb
@@ -0,0 +1,23 @@
+require xorg-lib-common.inc
+
+SUMMARY = "XI: X Input extension library"
+
+DESCRIPTION = "libxi is an extension to the X11 protocol to support \
+input devices other than the core X keyboard and pointer. It allows \
+client programs to select input from these devices independently from \
+each other and independently from the core devices."
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=17b064789fab936a1c58c4e13d965b0f \
+ file://src/XIGetDevFocus.c;endline=23;md5=cdfb0d435a33ec57ea0d1e8e395b729f"
+
+DEPENDS += "libxext xorgproto libxfixes"
+
+PE = "1"
+
+XORG_PN = "libXi"
+
+SRC_URI[md5sum] = "62c4af0839072024b4b1c8cbe84216c7"
+SRC_URI[sha256sum] = "36a30d8f6383a72e7ce060298b4b181fd298bc3a135c8e201b7ca847f5f81061"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb b/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb
deleted file mode 100644
index ab49cdba3..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxi_1.7.9.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-require xorg-lib-common.inc
-
-SUMMARY = "XI: X Input extension library"
-
-DESCRIPTION = "libxi is an extension to the X11 protocol to support \
-input devices other than the core X keyboard and pointer. It allows \
-client programs to select input from these devices independently from \
-each other and independently from the core devices."
-
-LICENSE = "MIT & MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=17b064789fab936a1c58c4e13d965b0f \
- file://src/XIGetDevFocus.c;endline=23;md5=cdfb0d435a33ec57ea0d1e8e395b729f"
-
-DEPENDS += "libxext xorgproto libxfixes"
-
-PE = "1"
-
-XORG_PN = "libXi"
-
-SRC_URI[md5sum] = "1f0f2719c020655a60aee334ddd26d67"
-SRC_URI[sha256sum] = "c2e6b8ff84f9448386c1b5510a5cf5a16d788f76db018194dacdc200180faf45"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb
index 8fcae12ce..0608fd5af 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_0.8.4.bb
@@ -20,3 +20,7 @@ EXTRA_OECONF = "--disable-docs"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxcb xkeyboard-config,"
+
+# Fix a following runtime error:
+# xkbcommon: ERROR: couldn't find a Compose file for locale "C"
+RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch b/poky/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch
deleted file mode 100644
index 1a691a3d5..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxt/0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From b0c0e6d90bd99a699701c9542640adb218f5d536 Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Mon, 10 Jul 2017 16:51:13 +0300
-Subject: [PATCH] libXt: util: don't link makestrs with target cflags
-
-The line: AM_CFLAGS = $(XT_CFLAGS)
-in util/Makefile.am is wrong because it adds target cflags to the
-compilation of makestrs, which is built for the build machine, which
-leads to build failures when cross-compiling.
-
-Upstream-Status: Pending
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- util/Makefile.am | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/util/Makefile.am b/util/Makefile.am
-index 800b35b..f2dd1f9 100644
---- a/util/Makefile.am
-+++ b/util/Makefile.am
-@@ -11,7 +11,6 @@ EXTRA_DIST = \
- StrDefs.ht \
- string.list
-
--AM_CFLAGS = $(XT_CFLAGS)
- makestrs_SOURCES = makestrs.c
-
-
---
-2.4.0
-
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch b/poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch
index ffc2c15d7..ff8c675db 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch
+++ b/poky/meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch
@@ -1,3 +1,8 @@
+From f069b0a430fe96f3ece2106d34375008833599d3 Mon Sep 17 00:00:00 2001
+From: Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: Fri, 2 Dec 2011 12:20:05 -0800
+Subject: [PATCH] libxt: fix compilatoin with x32 toolchain
+
Upstream-Status: Pending
This fixes compilation with x32 toolchain.
@@ -5,10 +10,15 @@ This fixes compilation with x32 toolchain.
Received this patch from H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/1
+---
+ include/X11/Xtos.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
---- libXt-1.1.1/include/X11/Xtos.h.x32 2011-02-08 07:56:40.000000000 -0800
-+++ libXt-1.1.1/include/X11/Xtos.h 2011-11-30 17:19:27.473349770 -0800
-@@ -62,7 +62,7 @@ SOFTWARE.
+diff --git a/include/X11/Xtos.h b/include/X11/Xtos.h
+index 64b2da8..44f52c2 100644
+--- a/include/X11/Xtos.h
++++ b/include/X11/Xtos.h
+@@ -59,7 +59,7 @@ SOFTWARE.
defined(__sparc64__) || \
defined(__s390x__) || \
(defined(__hppa__) && defined(__LP64__)) || \
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb b/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb
deleted file mode 100644
index 23d9db41c..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxt_1.1.5.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Xt: X Toolkit Intrinsics library"
-
-DESCRIPTION = "The Intrinsics are a programming library tailored to the \
-special requirements of user interface construction within a network \
-window system, specifically the X Window System. The Intrinsics and a \
-widget set make up an X Toolkit. The Intrinsics provide the base \
-mechanism necessary to build a wide variety of interoperating widget \
-sets and application environments. The Intrinsics are a layer on top of \
-Xlib, the C Library X Interface. They extend the fundamental \
-abstractions provided by the X Window System while still remaining \
-independent of any particular user interface policy or style."
-
-require xorg-lib-common.inc
-
-LICENSE = "MIT & MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6565b1e0094ea1caae0971cc4035f343"
-
-
-DEPENDS += "util-linux libxcb libsm virtual/libx11 xorgproto libxdmcp"
-PROVIDES = "xt"
-
-PE = "1"
-
-XORG_PN = "libXt"
-
-SRC_URI += "file://libxt_fix_for_x32.patch \
- file://0001-libXt-util-don-t-link-makestrs-with-target-cflags.patch \
- "
-
-BBCLASSEXTEND = "native nativesdk"
-
-EXTRA_OECONF += "--disable-xkb"
-
-SRC_URI[md5sum] = "8f5b5576fbabba29a05f3ca2226f74d3"
-SRC_URI[sha256sum] = "46eeb6be780211fdd98c5109286618f6707712235fdd19df4ce1e6954f349f1a"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxt_1.2.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxt_1.2.0.bb
new file mode 100644
index 000000000..42df43505
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-lib/libxt_1.2.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Xt: X Toolkit Intrinsics library"
+
+DESCRIPTION = "The Intrinsics are a programming library tailored to the \
+special requirements of user interface construction within a network \
+window system, specifically the X Window System. The Intrinsics and a \
+widget set make up an X Toolkit. The Intrinsics provide the base \
+mechanism necessary to build a wide variety of interoperating widget \
+sets and application environments. The Intrinsics are a layer on top of \
+Xlib, the C Library X Interface. They extend the fundamental \
+abstractions provided by the X Window System while still remaining \
+independent of any particular user interface policy or style."
+
+require xorg-lib-common.inc
+
+LICENSE = "MIT & MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING;md5=73d55cea4d27ca1a09a5d23378b3ecf8"
+
+DEPENDS += "util-linux libxcb libsm virtual/libx11 xorgproto libxdmcp"
+PROVIDES = "xt"
+
+PE = "1"
+
+XORG_PN = "libXt"
+
+SRC_URI += "file://libxt_fix_for_x32.patch \
+ "
+SRC_URI[md5sum] = "a9019421d3ee8b4937b6afd9025f018a"
+SRC_URI[sha256sum] = "b31df531dabed9f4611fc8980bc51d7782967e2aff44c4105251a1acb5a77831"
+
+BBCLASSEXTEND = "native nativesdk"
+
+EXTRA_OECONF += "--disable-xkb"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb
deleted file mode 100644
index e1cb34565..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxxf86dga_1.1.5.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require xorg-lib-common.inc
-
-SUMMARY = "XFree86-DGA: XFree86 Direct Graphics Access extension library"
-
-DESCRIPTION = "libXxf86dga provides the XFree86-DGA extension, which \
-allows direct graphics access to a framebuffer-like region, and also \
-allows relative mouse reporting, et al. It is mainly used by games and \
-emulators for games."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=abb99ac125f84f424a4278153988e32f"
-
-DEPENDS += "libxext"
-
-PE = "1"
-
-SRC_URI[md5sum] = "0ddeafc13b33086357cfa96fae41ee8e"
-SRC_URI[sha256sum] = "2b98bc5f506c6140d4eddd3990842d30f5dae733b64f198a504f07461bdb7203"
-
-XORG_PN = "libXxf86dga"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb b/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb
deleted file mode 100644
index 45b0673e7..000000000
--- a/poky/meta/recipes-graphics/xorg-lib/libxxf86misc_1.0.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "XFree86-Misc: XFree86 miscellaneous extension library"
-
-DESCRIPTION = "The XFree86-Misc extension, provides a means to access \
-input device configuration settings specific to the XFree86/Xorg DDX."
-
-require xorg-lib-common.inc
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=27c91ecc435bd3d2bfad868914c94b45"
-
-DEPENDS += "libxext"
-PROVIDES = "xxf86misc"
-
-PE = "1"
-
-XORG_PN = "libXxf86misc"
-
-SRC_URI[md5sum] = "37ad70f8b53b94b550f9290be97fbe2d"
-SRC_URI[sha256sum] = "a89c03e2b0f16239d67a2031b9003f31b5a686106bbdb3c797fb88ae472af380"
diff --git a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb
index a6b2cc0ee..02156ad75 100644
--- a/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.27.bb
@@ -13,12 +13,11 @@ LICENSE = "MIT & MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2"
-
SRC_URI[md5sum] = "316753e35d3906d042c74230612eab9f"
SRC_URI[sha256sum] = "690daec8fea63526c07620c90e6f3f10aae34e94b6db6e30906173480721901f"
SECTION = "x11/libs"
-DEPENDS = "intltool-native util-macros libxslt-native"
+DEPENDS = "util-macros libxslt-native"
EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps"
diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch b/poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch
deleted file mode 100644
index 48296f784..000000000
--- a/poky/meta/recipes-graphics/xorg-proto/xorgproto/0001-Remove-libdir-specification.patch
+++ /dev/null
@@ -1,468 +0,0 @@
-Upstream-Status: Submitted
-
-https://cgit.freedesktop.org/xorg/proto/xorgproto/commit/?id=91c1c8e1490c970379efb16784003426faec806e
-
-From 6feb974e0deb3355908c30e07293d82a3f6996ed Mon Sep 17 00:00:00 2001
-From: Jeremy Puhlman <jpuhlman@mvista.com>
-Date: Mon, 11 Jun 2018 16:42:43 +0000
-Subject: [PATCH] Remove libdir specification.
-
-Currently the pc files define libdir, however they are installed into
-/usr/share, which means they should be architecture agnostic. In a
-multilib system, xorg-proto built for each multilib abi, the value of
-libdir is going to be different. These should either be installed in
-<libdir>/pkgconfig or they shouldn't define libdir, espeically since
-they don't actually use the definition. This specifically causes an
-issue when trying to install both abis at the same time, since they are
-not binary identical, something like rpm will complain that they
-
----
- applewmproto.pc.in | 1 -
- bigreqsproto.pc.in | 1 -
- compositeproto.pc.in | 1 -
- damageproto.pc.in | 1 -
- dmxproto.pc.in | 1 -
- dri2proto.pc.in | 1 -
- dri3proto.pc.in | 1 -
- evieproto.pc.in | 1 -
- fixesproto.pc.in | 1 -
- fontcacheproto.pc.in | 1 -
- fontsproto.pc.in | 1 -
- glproto.pc.in | 1 -
- inputproto.pc.in | 1 -
- kbproto.pc.in | 1 -
- lg3dproto.pc.in | 1 -
- presentproto.pc.in | 1 -
- printproto.pc.in | 1 -
- randrproto.pc.in | 1 -
- recordproto.pc.in | 1 -
- renderproto.pc.in | 1 -
- resourceproto.pc.in | 1 -
- scrnsaverproto.pc.in | 1 -
- trapproto.pc.in | 1 -
- videoproto.pc.in | 1 -
- windowswmproto.pc.in | 1 -
- xcalibrateproto.pc.in | 1 -
- xcmiscproto.pc.in | 1 -
- xextproto.pc.in | 1 -
- xf86bigfontproto.pc.in | 1 -
- xf86dgaproto.pc.in | 1 -
- xf86driproto.pc.in | 1 -
- xf86miscproto.pc.in | 1 -
- xf86rushproto.pc.in | 1 -
- xf86vidmodeproto.pc.in | 1 -
- xineramaproto.pc.in | 1 -
- xproto.pc.in | 1 -
- xproxymngproto.pc.in | 1 -
- 37 files changed, 37 deletions(-)
-
-diff --git a/applewmproto.pc.in b/applewmproto.pc.in
-index 17841ac..3227b21 100644
---- a/applewmproto.pc.in
-+++ b/applewmproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: AppleWMProto
-diff --git a/bigreqsproto.pc.in b/bigreqsproto.pc.in
-index 94577ed..e21bb59 100644
---- a/bigreqsproto.pc.in
-+++ b/bigreqsproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: BigReqsProto
-diff --git a/compositeproto.pc.in b/compositeproto.pc.in
-index da429c7..b0dada1 100644
---- a/compositeproto.pc.in
-+++ b/compositeproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: CompositeExt
-diff --git a/damageproto.pc.in b/damageproto.pc.in
-index 6fd9ef1..bfd5244 100644
---- a/damageproto.pc.in
-+++ b/damageproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: DamageProto
-diff --git a/dmxproto.pc.in b/dmxproto.pc.in
-index e82ee7d..d140e1c 100644
---- a/dmxproto.pc.in
-+++ b/dmxproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: DMXProto
-diff --git a/dri2proto.pc.in b/dri2proto.pc.in
-index cb5b171..fa9d24d 100644
---- a/dri2proto.pc.in
-+++ b/dri2proto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: DRI2Proto
-diff --git a/dri3proto.pc.in b/dri3proto.pc.in
-index e42d60e..20da358 100644
---- a/dri3proto.pc.in
-+++ b/dri3proto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: DRI3Proto
-diff --git a/evieproto.pc.in b/evieproto.pc.in
-index 64e0ec4..fd5442b 100644
---- a/evieproto.pc.in
-+++ b/evieproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: EvIEExt
-diff --git a/fixesproto.pc.in b/fixesproto.pc.in
-index f8258e2..c7fcb81 100644
---- a/fixesproto.pc.in
-+++ b/fixesproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: FixesProto
-diff --git a/fontcacheproto.pc.in b/fontcacheproto.pc.in
-index eb4238b..8ffffe9 100644
---- a/fontcacheproto.pc.in
-+++ b/fontcacheproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: FontcacheProto
-diff --git a/fontsproto.pc.in b/fontsproto.pc.in
-index 9d22354..ebb61a4 100644
---- a/fontsproto.pc.in
-+++ b/fontsproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: FontsProto
-diff --git a/glproto.pc.in b/glproto.pc.in
-index b951db5..e97bfc9 100644
---- a/glproto.pc.in
-+++ b/glproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: GLProto
-diff --git a/inputproto.pc.in b/inputproto.pc.in
-index 1eb6619..270b95c 100644
---- a/inputproto.pc.in
-+++ b/inputproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: InputProto
-diff --git a/kbproto.pc.in b/kbproto.pc.in
-index bdd39f1..32a172d 100644
---- a/kbproto.pc.in
-+++ b/kbproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: KBProto
-diff --git a/lg3dproto.pc.in b/lg3dproto.pc.in
-index 3930ad7..43fba29 100644
---- a/lg3dproto.pc.in
-+++ b/lg3dproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: Lg3dProto
-diff --git a/presentproto.pc.in b/presentproto.pc.in
-index 6ec4b7d..55b84dc 100644
---- a/presentproto.pc.in
-+++ b/presentproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: PresentProto
-diff --git a/printproto.pc.in b/printproto.pc.in
-index 8a2e2d6..a2da66d 100644
---- a/printproto.pc.in
-+++ b/printproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: PrintProto
-diff --git a/randrproto.pc.in b/randrproto.pc.in
-index 5a5edb2..6d60cbb 100644
---- a/randrproto.pc.in
-+++ b/randrproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: RandrProto
-diff --git a/recordproto.pc.in b/recordproto.pc.in
-index 0ff4c0b..a87aa82 100644
---- a/recordproto.pc.in
-+++ b/recordproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: RecordProto
-diff --git a/renderproto.pc.in b/renderproto.pc.in
-index e6028ac..34b15e0 100644
---- a/renderproto.pc.in
-+++ b/renderproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: RenderProto
-diff --git a/resourceproto.pc.in b/resourceproto.pc.in
-index a409db9..f927cbb 100644
---- a/resourceproto.pc.in
-+++ b/resourceproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: ResourceProto
-diff --git a/scrnsaverproto.pc.in b/scrnsaverproto.pc.in
-index 6556a2c..fd9d368 100644
---- a/scrnsaverproto.pc.in
-+++ b/scrnsaverproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: ScrnSaverProto
-diff --git a/trapproto.pc.in b/trapproto.pc.in
-index 8cb0aa8..8a220b9 100644
---- a/trapproto.pc.in
-+++ b/trapproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: TrapProto
-diff --git a/videoproto.pc.in b/videoproto.pc.in
-index 14b907a..5c22f7a 100644
---- a/videoproto.pc.in
-+++ b/videoproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: VideoProto
-diff --git a/windowswmproto.pc.in b/windowswmproto.pc.in
-index 0a2ec0b..ec56e82 100644
---- a/windowswmproto.pc.in
-+++ b/windowswmproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: WindowsWMProto
-diff --git a/xcalibrateproto.pc.in b/xcalibrateproto.pc.in
-index 40b6fd0..f1ea5de 100644
---- a/xcalibrateproto.pc.in
-+++ b/xcalibrateproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XCalibrate
-diff --git a/xcmiscproto.pc.in b/xcmiscproto.pc.in
-index 0dfbf21..b72bbc6 100644
---- a/xcmiscproto.pc.in
-+++ b/xcmiscproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XCMiscProto
-diff --git a/xextproto.pc.in b/xextproto.pc.in
-index f66eeae..9419c91 100644
---- a/xextproto.pc.in
-+++ b/xextproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XExtProto
-diff --git a/xf86bigfontproto.pc.in b/xf86bigfontproto.pc.in
-index 18c5647..4a67be6 100644
---- a/xf86bigfontproto.pc.in
-+++ b/xf86bigfontproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XF86BigFontProto
-diff --git a/xf86dgaproto.pc.in b/xf86dgaproto.pc.in
-index 5c5f8b1..e029cd4 100644
---- a/xf86dgaproto.pc.in
-+++ b/xf86dgaproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XF86DGAProto
-diff --git a/xf86driproto.pc.in b/xf86driproto.pc.in
-index 93df292..c8faf14 100644
---- a/xf86driproto.pc.in
-+++ b/xf86driproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XF86DRIProto
-diff --git a/xf86miscproto.pc.in b/xf86miscproto.pc.in
-index af73fa3..05d5d9e 100644
---- a/xf86miscproto.pc.in
-+++ b/xf86miscproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XF86MiscProto
-diff --git a/xf86rushproto.pc.in b/xf86rushproto.pc.in
-index fc5f63b..1c7ff1b 100644
---- a/xf86rushproto.pc.in
-+++ b/xf86rushproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XF86RushProto
-diff --git a/xf86vidmodeproto.pc.in b/xf86vidmodeproto.pc.in
-index fcb74f2..ef062b3 100644
---- a/xf86vidmodeproto.pc.in
-+++ b/xf86vidmodeproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XF86VidModeProto
-diff --git a/xineramaproto.pc.in b/xineramaproto.pc.in
-index 1ffd37d..9172f1e 100644
---- a/xineramaproto.pc.in
-+++ b/xineramaproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XineramaProto
-diff --git a/xproto.pc.in b/xproto.pc.in
-index 8ff2d3d..899316a 100644
---- a/xproto.pc.in
-+++ b/xproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
- includex11dir=@includedir@/X11
-
-diff --git a/xproxymngproto.pc.in b/xproxymngproto.pc.in
-index 5c6fad6..1a81e28 100644
---- a/xproxymngproto.pc.in
-+++ b/xproxymngproto.pc.in
-@@ -1,6 +1,5 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
--libdir=@libdir@
- includedir=@includedir@
-
- Name: XProxyManagementProtocol
---
-2.11.1
-
diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb
deleted file mode 100644
index cec6e8755..000000000
--- a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2018.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require xorg-proto-common.inc
-
-SUMMARY = "XCalibrate: Touchscreen calibration headers"
-
-DESCRIPTION = "This package provides the headers and specification documents defining \
-the core protocol and (many) extensions for the X Window System"
-
-LICENSE = "MIT-style"
-LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=b9e051107d5628966739a0b2e9b32676"
-
-SRC_URI += "file://0001-Remove-libdir-specification.patch"
-
-SRC_URI[md5sum] = "81557ca47ee66a4e54590fcdadd28114"
-SRC_URI[sha256sum] = "fee885e0512899ea5280c593fdb2735beb1693ad170c22ebcc844470eec415a0"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-proto/xorgproto_2019.1.bb b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2019.1.bb
new file mode 100644
index 000000000..2c7ce2a56
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-proto/xorgproto_2019.1.bb
@@ -0,0 +1,14 @@
+require xorg-proto-common.inc
+
+SUMMARY = "XCalibrate: Touchscreen calibration headers"
+
+DESCRIPTION = "This package provides the headers and specification documents defining \
+the core protocol and (many) extensions for the X Window System"
+
+LICENSE = "MIT-style"
+LIC_FILES_CHKSUM = "file://COPYING-x11proto;md5=b9e051107d5628966739a0b2e9b32676"
+
+SRC_URI[md5sum] = "802ccb9e977ba3cf94ba798ddb2898a4"
+SRC_URI[sha256sum] = "a6daaa7a6cbc8e374032d83ff7f47d41be98f1e0f4475d66a4da3aa766a0d49b"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
index 615ad6d9b..44315f59d 100644
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg.inc
@@ -27,9 +27,8 @@ inherit autotools pkgconfig
inherit distro_features_check
REQUIRED_DISTRO_FEATURES = "x11"
-PROTO_DEPS = "xorgproto"
LIB_DEPS = "pixman libxfont2 xtrans libxau libxext libxdmcp libdrm libxkbfile libpciaccess"
-DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} font-util"
+DEPENDS = "xorgproto ${LIB_DEPS} font-util"
# Split out some modules and extensions from the main package
# These aren't needed for basic operations and only take up space:
@@ -121,25 +120,26 @@ EXTRA_OECONF += "--with-fop=no \
"
OPENGL_PKGCONFIGS = "dri glx glamor dri3 xshmfence"
-PACKAGECONFIG ??= "dri2 udev ${XORG_CRYPTO} \
+PACKAGECONFIG ??= "dga dri2 udev ${XORG_CRYPTO} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'xwayland', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-logind', '', d)} \
"
PACKAGECONFIG[udev] = "--enable-config-udev,--disable-config-udev,udev"
-PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,xorgproto virtual/mesa"
-PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2,xorgproto"
+PACKAGECONFIG[dga] = "--enable-dga,--disable-dga"
+PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,virtual/mesa"
+PACKAGECONFIG[dri2] = "--enable-dri2,--disable-dri2"
# DRI3 requires xshmfence to also be enabled
-PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3,xorgproto"
-PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,xorgproto virtual/libgl virtual/libx11"
+PACKAGECONFIG[dri3] = "--enable-dri3,--disable-dri3"
+PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,virtual/libgl virtual/libx11"
PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor,libepoxy virtual/libgbm,libegl"
PACKAGECONFIG[unwind] = "--enable-libunwind,--disable-libunwind,libunwind"
PACKAGECONFIG[xshmfence] = "--enable-xshmfence,--disable-xshmfence,libxshmfence"
PACKAGECONFIG[xmlto] = "--with-xmlto, --without-xmlto, xmlto-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
PACKAGECONFIG[systemd-logind] = "--enable-systemd-logind=yes,--enable-systemd-logind=no,dbus,"
PACKAGECONFIG[systemd] = "--with-systemd-daemon,--without-systemd-daemon,systemd"
-PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,xorgproto"
+PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama"
PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,wayland wayland-native wayland-protocols libepoxy"
# Xorg requires a SHA1 implementation, pick one
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch
new file mode 100644
index 000000000..da9a4f2b2
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch
@@ -0,0 +1,63 @@
+From 2ba9510721b7a76cb7fe507449fa0ac997a4cce3 Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Mon, 1 Jul 2019 13:20:39 +0200
+Subject: [PATCH] compiler.h: Do not include sys/io.h on ARM with glibc
+
+<sys/io.h> on ARM hasn't worked for a long, long time, so it was removed
+it from glibc upstream.
+
+Remove the include to avoid a compilation failure on ARM with glibc.
+
+Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
+Closes: https://gitlab.freedesktop.org/xorg/xserver/issues/840
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/commit/fe4cd0e7f5c58fa94db36326aadc1bd4e6d73eba]
+---
+ hw/xfree86/common/compiler.h | 30 ------------------------------
+ 1 file changed, 30 deletions(-)
+
+diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
+index 7144c6a..2b2008b 100644
+--- a/hw/xfree86/common/compiler.h
++++ b/hw/xfree86/common/compiler.h
+@@ -758,36 +758,6 @@ inl(unsigned short port)
+ return xf86ReadMmio32Le((void *) ioBase, port);
+ }
+
+-#elif defined(__arm__) && defined(__linux__)
+-
+-/* for Linux on ARM, we use the LIBC inx/outx routines */
+-/* note that the appropriate setup via "ioperm" needs to be done */
+-/* *before* any inx/outx is done. */
+-
+-#include <sys/io.h>
+-
+-static __inline__ void
+-xf_outb(unsigned short port, unsigned char val)
+-{
+- outb(val, port);
+-}
+-
+-static __inline__ void
+-xf_outw(unsigned short port, unsigned short val)
+-{
+- outw(val, port);
+-}
+-
+-static __inline__ void
+-xf_outl(unsigned short port, unsigned int val)
+-{
+- outl(val, port);
+-}
+-
+-#define outb xf_outb
+-#define outw xf_outw
+-#define outl xf_outl
+-
+ #elif defined(__nds32__)
+
+ /*
+--
+2.22.0
+
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch
deleted file mode 100644
index 4be441fb7..000000000
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/musl-arm-inb-outb.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-inb/outb family for arm is only implemented on glibc
-so assumption across linux is wrong
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-Index: xorg-server-1.18.0/hw/xfree86/common/compiler.h
-===================================================================
---- xorg-server-1.18.0.orig/hw/xfree86/common/compiler.h
-+++ xorg-server-1.18.0/hw/xfree86/common/compiler.h
-@@ -758,7 +758,7 @@ inl(unsigned short port)
- return xf86ReadMmio32Le((void *) ioBase, port);
- }
-
--#elif defined(__arm__) && defined(__linux__)
-+#elif defined(__arm__) && defined(__GLIBC__)
-
- /* for Linux on ARM, we use the LIBC inx/outx routines */
- /* note that the appropriate setup via "ioperm" needs to be done */
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch
new file mode 100644
index 000000000..be198ece4
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg/sdksyms-no-build-path.patch
@@ -0,0 +1,50 @@
+Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/xserver/merge_requests/253]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From ca832598d38ba55a001088b57d73c6d7261dc9a7 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Thu, 1 Aug 2019 15:24:51 +0100
+Subject: [PATCH] sdksyms.sh: don't embed the build path
+
+This script generates a header that has a comment containing the build path for
+no real reason. As this source can end up deployed on targets in debug packages
+this means there is both potentially sensitive information leakage about the
+build environment, and a source of change for reproducible builds.
+---
+ hw/xfree86/sdksyms.sh | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
+index 39e33711d..bdf47a71a 100755
+--- a/hw/xfree86/sdksyms.sh
++++ b/hw/xfree86/sdksyms.sh
+@@ -302,13 +302,16 @@ LC_ALL=C
+ export LC_ALL
+ ${CPP:-cpp} "$@" sdksyms.c > /dev/null || exit $?
+ ${CPP:-cpp} "$@" sdksyms.c | ${AWK:-awk} -v topdir=$topdir '
++function basename(file) {
++ sub(".*/", "", file)
++ return file
++}
+ BEGIN {
+ sdk = 0;
+ print("/*");
+ print(" * These symbols are referenced to ensure they");
+ print(" * will be available in the X Server binary.");
+ print(" */");
+- printf("/* topdir=%s */\n", topdir);
+ print("_X_HIDDEN void *xorg_symbols[] = {");
+
+ printf("sdksyms.c:") > "sdksyms.dep";
+@@ -337,7 +340,7 @@ BEGIN {
+ # remove quotes
+ gsub(/"/, "", $3);
+ line = $2;
+- header = $3;
++ header = basename($3);
+ if (! headers[$3]) {
+ printf(" \\\n %s", $3) >> "sdksyms.dep";
+ headers[$3] = 1;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb
deleted file mode 100644
index ad99d6bec..000000000
--- a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.4.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-require xserver-xorg.inc
-
-SRC_URI += "file://musl-arm-inb-outb.patch \
- file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \
- file://pkgconfig.patch \
- file://0001-test-xtest-Initialize-array-with-braces.patch \
- "
-SRC_URI[md5sum] = "c4841cc24b79420205d082fe82e0a650"
-SRC_URI[sha256sum] = "fe0fd493ebe93bfc56bede382fa204458ff5f636ea54d413a5d1bd58e19166ee"
-
-# These extensions are now integrated into the server, so declare the migration
-# path for in-place upgrades.
-
-RREPLACES_${PN} = "${PN}-extension-dri \
- ${PN}-extension-dri2 \
- ${PN}-extension-record \
- ${PN}-extension-extmod \
- ${PN}-extension-dbe \
- "
-RPROVIDES_${PN} = "${PN}-extension-dri \
- ${PN}-extension-dri2 \
- ${PN}-extension-record \
- ${PN}-extension-extmod \
- ${PN}-extension-dbe \
- "
-RCONFLICTS_${PN} = "${PN}-extension-dri \
- ${PN}-extension-dri2 \
- ${PN}-extension-record \
- ${PN}-extension-extmod \
- ${PN}-extension-dbe \
- "
diff --git a/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.5.bb b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.5.bb
new file mode 100644
index 000000000..3de6d22e5
--- /dev/null
+++ b/poky/meta/recipes-graphics/xorg-xserver/xserver-xorg_1.20.5.bb
@@ -0,0 +1,32 @@
+require xserver-xorg.inc
+
+SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \
+ file://pkgconfig.patch \
+ file://0001-test-xtest-Initialize-array-with-braces.patch \
+ file://0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch \
+ file://sdksyms-no-build-path.patch \
+ "
+SRC_URI[md5sum] = "c9fc7e21e11286dbedd22c00df652130"
+SRC_URI[sha256sum] = "a81d8243f37e75a03d4f8c55f96d0bc25802be6ec45c3bfa5cb614c6d01bac9d"
+
+# These extensions are now integrated into the server, so declare the migration
+# path for in-place upgrades.
+
+RREPLACES_${PN} = "${PN}-extension-dri \
+ ${PN}-extension-dri2 \
+ ${PN}-extension-record \
+ ${PN}-extension-extmod \
+ ${PN}-extension-dbe \
+ "
+RPROVIDES_${PN} = "${PN}-extension-dri \
+ ${PN}-extension-dri2 \
+ ${PN}-extension-record \
+ ${PN}-extension-extmod \
+ ${PN}-extension-dbe \
+ "
+RCONFLICTS_${PN} = "${PN}-extension-dri \
+ ${PN}-extension-dri2 \
+ ${PN}-extension-record \
+ ${PN}-extension-extmod \
+ ${PN}-extension-dbe \
+ "
diff --git a/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb b/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb
deleted file mode 100644
index a9c131706..000000000
--- a/poky/meta/recipes-kernel/dtc/dtc_1.5.0.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require dtc.inc
-
-LIC_FILES_CHKSUM = "file://GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://libfdt/libfdt.h;beginline=3;endline=52;md5=fb360963151f8ec2d6c06b055bcbb68c"
-
-SRCREV = "d37f6b20107e952064e3f77e9d6915a9c09d10a6"
-
-S = "${WORKDIR}/git"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb b/poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb
new file mode 100644
index 000000000..9df8a06d4
--- /dev/null
+++ b/poky/meta/recipes-kernel/dtc/dtc_1.5.1.bb
@@ -0,0 +1,10 @@
+require dtc.inc
+
+LIC_FILES_CHKSUM = "file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://libfdt/libfdt.h;beginline=4;endline=7;md5=05bb357cfb75cae7d2b01d2ee8d76407"
+
+SRCREV = "60e0db3d65a1218b0d5a29474e769f28a18e3ca6"
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
index 5c1d7f691..8ca7193c8 100644
--- a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
+++ b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
@@ -1,10 +1,10 @@
SUMMARY = "Tools for managing Yocto Project style branched kernels"
LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=a6c2fa8aef1bda400e2828845ba0d06c"
+LIC_FILES_CHKSUM = "file://git/tools/kgit;beginline=5;endline=9;md5=9c30e971d435e249624278c3e343e501"
DEPENDS = "git-native"
-SRCREV = "af1a779f662c81da521e4d602f3c6446547d12a2"
+SRCREV = "bb6df0ef2365689cd3df6f76a8838cddae0d9343"
PR = "r12"
PV = "0.2+git${SRCPV}"
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools/0006-kexec-arm-undefine-__NR_kexec_file_load-for-arm.patch b/poky/meta/recipes-kernel/kexec/kexec-tools/0006-kexec-arm-undefine-__NR_kexec_file_load-for-arm.patch
new file mode 100644
index 000000000..6811dfa59
--- /dev/null
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools/0006-kexec-arm-undefine-__NR_kexec_file_load-for-arm.patch
@@ -0,0 +1,40 @@
+From b54816eff272324320c490d62dc36b27d2838732 Mon Sep 17 00:00:00 2001
+From: Quanyang Wang <quanyang.wang@windriver.com>
+Date: Mon, 16 Sep 2019 10:49:05 +0800
+Subject: [PATCH] kexec/arm: undefine __NR_kexec_file_load for arm
+
+In the kernel upstream commit 4ab65ba7a5cb
+("ARM: add kexec_file_load system call number"),
+__NR_kexec_file_load for arm has been defined to be 401.
+This results that even if kexec_file_load isn't implemented
+for arm but the function is_kexec_file_load_implemented()
+will still return true. So undef __NR_kexec_file_load for
+arm architecture.
+
+Upstream-Status: Backport
+[https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/commit/kexec/kexec-syscall.h?id=b54816eff272324320c490d62dc36b27d2838732]
+
+Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
+Signed-off-by: Simon Horman <horms@verge.net.au>
+---
+ kexec/kexec-syscall.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
+index dac1c1f..92d51d3 100644
+--- a/kexec/kexec-syscall.h
++++ b/kexec/kexec-syscall.h
+@@ -56,6 +56,10 @@
+ #endif
+ #endif /*ifndef __NR_kexec_load*/
+
++#ifdef __arm__
++#undef __NR_kexec_file_load
++#endif
++
+ #ifndef __NR_kexec_file_load
+
+ #ifdef __x86_64__
+--
+2.17.1
+
diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
index 343989907..c3f74359f 100644
--- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
+++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.19.bb
@@ -18,6 +18,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/kexec/kexec-tools-${PV}.tar.gz
file://0003-kexec-ARM-Fix-add_buffer_phys_virt-align-issue.patch \
file://0004-x86_64-Add-support-to-build-kexec-tools-with-x32-ABI.patch \
file://0005-Disable-PIE-during-link.patch \
+ file://0006-kexec-arm-undefine-__NR_kexec_file_load-for-arm.patch \
"
SRC_URI[md5sum] = "052458f0a35c2a3b0d2302caa3318e9f"
diff --git a/poky/meta/recipes-kernel/kmod/kmod.inc b/poky/meta/recipes-kernel/kmod/kmod.inc
index e68860f6b..334453838 100644
--- a/poky/meta/recipes-kernel/kmod/kmod.inc
+++ b/poky/meta/recipes-kernel/kmod/kmod.inc
@@ -20,6 +20,7 @@ PV = "26"
SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git \
file://depmod-search.conf \
+ file://0001-build-Stop-using-dolt.patch \
file://avoid_parallel_tests.patch \
"
@@ -28,14 +29,8 @@ S = "${WORKDIR}/git"
EXTRA_AUTORECONF += "--install --symlink"
EXTRA_OECONF +=" --enable-tools --with-zlib"
-CACHED_CONFIGUREVARS += "ac_cv_path_DOLT_BASH='/usr/bin/env bash'"
-
PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
PACKAGECONFIG[logging] = " --enable-logging,--disable-logging"
PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, libxslt-native xmlto-native"
GTKDOC_DOCDIR = "${S}/libkmod/docs"
-
-do_configure_append () {
- sed -i 's#}libtool#}${TARGET_SYS}-libtool#' ${B}/doltlibtool
-}
diff --git a/poky/meta/recipes-kernel/kmod/kmod/0001-build-Stop-using-dolt.patch b/poky/meta/recipes-kernel/kmod/kmod/0001-build-Stop-using-dolt.patch
new file mode 100644
index 000000000..c915ad5e8
--- /dev/null
+++ b/poky/meta/recipes-kernel/kmod/kmod/0001-build-Stop-using-dolt.patch
@@ -0,0 +1,28 @@
+From f8b8d7b330433511d19a936ddfc7b7d1af5490b5 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <bunk@kernel.org>
+Date: Wed, 20 Feb 2019 14:22:04 +0200
+Subject: build: Stop using dolt
+
+This does regress "make -12" from 0.7s to 0.9s on my
+Coffee Lake machine, but even on slower hardware this
+will not amount to a noticable slowdown.
+
+On the other hand using dolt can create problems for
+people doing cross-compilation, e.g. Yocto has two
+hacks just for dolt in kmod:
+https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/kmod/kmod.inc?id=a17abae00785c76cfffe5381a22fb2c86b982e82
+
+Signed-off-by: Adrian Bunk <bunk@kernel.org>
+Upstream-Status: Backport
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -17,7 +17,6 @@ AM_MAINTAINER_MODE([enable])
+ AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules tar-pax no-dist-gzip dist-xz subdir-objects color-tests parallel-tests])
+ AM_SILENT_RULES([yes])
+ LT_INIT([disable-static pic-only])
+-DOLT
+
+ AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])])
+ AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by kmod])])
+
diff --git a/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch b/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch
index 990c338fa..04a820481 100644
--- a/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch
+++ b/poky/meta/recipes-kernel/kmod/kmod/avoid_parallel_tests.patch
@@ -20,7 +20,7 @@ diff --git a/configure.ac b/configure.ac
index ee72283..60980c0 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -14,7 +14,7 @@ AC_USE_SYSTEM_EXTENSIONS
+@@ -14,8 +14,8 @@ AC_USE_SYSTEM_EXTENSIONS
AC_SYS_LARGEFILE
AC_PREFIX_DEFAULT([/usr])
AM_MAINTAINER_MODE([enable])
@@ -28,4 +28,5 @@ index ee72283..60980c0 100644
+AM_INIT_AUTOMAKE([check-news foreign 1.11 silent-rules tar-pax no-dist-gzip dist-xz subdir-objects color-tests serial-tests])
AM_SILENT_RULES([yes])
LT_INIT([disable-static pic-only])
- DOLT
+
+ AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])])
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190815.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190815.bb
new file mode 100644
index 000000000..518638806
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20190815.bb
@@ -0,0 +1,939 @@
+SUMMARY = "Firmware files for use with Linux kernel"
+SECTION = "kernel"
+
+LICENSE = "\
+ Firmware-Abilis \
+ & Firmware-adsp_sst \
+ & Firmware-agere \
+ & Firmware-amdgpu \
+ & Firmware-amd-ucode \
+ & Firmware-amlogic_vdec \
+ & Firmware-atheros_firmware \
+ & Firmware-atmel \
+ & Firmware-broadcom_bcm43xx \
+ & Firmware-ca0132 \
+ & Firmware-cavium \
+ & Firmware-chelsio_firmware \
+ & Firmware-cw1200 \
+ & Firmware-cypress \
+ & Firmware-dib0700 \
+ & Firmware-e100 \
+ & Firmware-ene_firmware \
+ & Firmware-fw_sst_0f28 \
+ & Firmware-go7007 \
+ & Firmware-GPLv2 \
+ & Firmware-hfi1_firmware \
+ & Firmware-i2400m \
+ & Firmware-i915 \
+ & Firmware-ibt_firmware \
+ & Firmware-it913x \
+ & Firmware-iwlwifi_firmware \
+ & Firmware-IntcSST2 \
+ & Firmware-kaweth \
+ & Firmware-Marvell \
+ & Firmware-moxa \
+ & Firmware-myri10ge_firmware \
+ & Firmware-netronome \
+ & Firmware-nvidia \
+ & Firmware-OLPC \
+ & Firmware-ath9k-htc \
+ & Firmware-phanfw \
+ & Firmware-qat \
+ & Firmware-qcom \
+ & Firmware-qla1280 \
+ & Firmware-qla2xxx \
+ & Firmware-qualcommAthos_ar3k \
+ & Firmware-qualcommAthos_ath10k \
+ & Firmware-r8a779x_usb3 \
+ & Firmware-radeon \
+ & Firmware-ralink_a_mediatek_company_firmware \
+ & Firmware-ralink-firmware \
+ & Firmware-rtlwifi_firmware \
+ & Firmware-imx-sdma_firmware \
+ & Firmware-siano \
+ & Firmware-tda7706-firmware \
+ & Firmware-ti-connectivity \
+ & Firmware-ti-keystone \
+ & Firmware-ueagle-atm4-firmware \
+ & Firmware-via_vt6656 \
+ & Firmware-wl1251 \
+ & Firmware-xc4000 \
+ & Firmware-xc5000 \
+ & Firmware-xc5000c \
+ & 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://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=28b6ed8bd04ba105af6e4dcd6e997772 \
+ 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=37a01e379219d1e06dbccfa90a8fc0ad \
+ "
+
+# These are not common licenses, set NO_GENERIC_LICENSE for them
+# so that the license files will be copied from fetched source
+NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENCE.Abilis"
+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"
+NO_GENERIC_LICENSE[Firmware-ca0132] = "LICENCE.ca0132"
+NO_GENERIC_LICENSE[Firmware-cadence] = "LICENCE.cadence"
+NO_GENERIC_LICENSE[Firmware-cavium] = "LICENCE.cavium"
+NO_GENERIC_LICENSE[Firmware-chelsio_firmware] = "LICENCE.chelsio_firmware"
+NO_GENERIC_LICENSE[Firmware-cw1200] = "LICENCE.cw1200"
+NO_GENERIC_LICENSE[Firmware-cypress] = "LICENCE.cypress"
+NO_GENERIC_LICENSE[Firmware-dib0700] = "LICENSE.dib0700"
+NO_GENERIC_LICENSE[Firmware-e100] = "LICENCE.e100"
+NO_GENERIC_LICENSE[Firmware-ene_firmware] = "LICENCE.ene_firmware"
+NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28"
+NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007"
+NO_GENERIC_LICENSE[Firmware-GPLv2] = "GPL-2"
+NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware"
+NO_GENERIC_LICENSE[Firmware-i2400m] = "LICENCE.i2400m"
+NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915"
+NO_GENERIC_LICENSE[Firmware-ibt_firmware] = "LICENCE.ibt_firmware"
+NO_GENERIC_LICENSE[Firmware-IntcSST2] = "LICENCE.IntcSST2"
+NO_GENERIC_LICENSE[Firmware-it913x] = "LICENCE.it913x"
+NO_GENERIC_LICENSE[Firmware-iwlwifi_firmware] = "LICENCE.iwlwifi_firmware"
+NO_GENERIC_LICENSE[Firmware-kaweth] = "LICENCE.kaweth"
+NO_GENERIC_LICENSE[Firmware-Marvell] = "LICENCE.Marvell"
+NO_GENERIC_LICENSE[Firmware-mediatek] = "LICENCE.mediatek"
+NO_GENERIC_LICENSE[Firmware-moxa] = "LICENCE.moxa"
+NO_GENERIC_LICENSE[Firmware-myri10ge_firmware] = "LICENCE.myri10ge_firmware"
+NO_GENERIC_LICENSE[Firmware-netronome] = "LICENCE.Netronome"
+NO_GENERIC_LICENSE[Firmware-nvidia] = "LICENCE.nvidia"
+NO_GENERIC_LICENSE[Firmware-OLPC] = "LICENCE.OLPC"
+NO_GENERIC_LICENSE[Firmware-ath9k-htc] = "LICENCE.open-ath9k-htc-firmware"
+NO_GENERIC_LICENSE[Firmware-phanfw] = "LICENCE.phanfw"
+NO_GENERIC_LICENSE[Firmware-qat] = "LICENCE.qat_firmware"
+NO_GENERIC_LICENSE[Firmware-qcom] = "LICENSE.qcom"
+NO_GENERIC_LICENSE[Firmware-qla1280] = "LICENCE.qla1280"
+NO_GENERIC_LICENSE[Firmware-qla2xxx] = "LICENCE.qla2xxx"
+NO_GENERIC_LICENSE[Firmware-qualcommAthos_ar3k] = "LICENSE.QualcommAtheros_ar3k"
+NO_GENERIC_LICENSE[Firmware-qualcommAthos_ath10k] = "LICENSE.QualcommAtheros_ath10k"
+NO_GENERIC_LICENSE[Firmware-r8a779x_usb3] = "LICENCE.r8a779x_usb3"
+NO_GENERIC_LICENSE[Firmware-radeon] = "LICENSE.radeon"
+NO_GENERIC_LICENSE[Firmware-ralink_a_mediatek_company_firmware] = "LICENCE.ralink_a_mediatek_company_firmware"
+NO_GENERIC_LICENSE[Firmware-ralink-firmware] = "LICENCE.ralink-firmware.txt"
+NO_GENERIC_LICENSE[Firmware-rtlwifi_firmware] = "LICENCE.rtlwifi_firmware.txt"
+NO_GENERIC_LICENSE[Firmware-siano] = "LICENCE.siano"
+NO_GENERIC_LICENSE[Firmware-imx-sdma_firmware] = "LICENSE.sdma_firmware"
+NO_GENERIC_LICENSE[Firmware-tda7706-firmware] = "LICENCE.tda7706-firmware.txt"
+NO_GENERIC_LICENSE[Firmware-ti-connectivity] = "LICENCE.ti-connectivity"
+NO_GENERIC_LICENSE[Firmware-ti-keystone] = "LICENCE.ti-keystone"
+NO_GENERIC_LICENSE[Firmware-ueagle-atm4-firmware] = "LICENCE.ueagle-atm4-firmware"
+NO_GENERIC_LICENSE[Firmware-via_vt6656] = "LICENCE.via_vt6656"
+NO_GENERIC_LICENSE[Firmware-wl1251] = "LICENCE.wl1251"
+NO_GENERIC_LICENSE[Firmware-xc4000] = "LICENCE.xc4000"
+NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000"
+NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c"
+NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
+
+PE = "1"
+
+SRCREV = "07b925b450bfb4cf3e141c612ec5b104658cd020"
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"
+
+UPSTREAM_CHECK_COMMITS = "1"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+CLEANBROKEN = "1"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/
+ cp -r * ${D}${nonarch_base_libdir}/firmware/
+
+ # Avoid Makefile to be deployed
+ rm ${D}${nonarch_base_libdir}/firmware/Makefile
+
+ # Remove unbuild firmware which needs cmake and bash
+ rm ${D}${nonarch_base_libdir}/firmware/carl9170fw -rf
+
+ # Remove pointless bash script
+ rm ${D}${nonarch_base_libdir}/firmware/configure
+
+ # Remove python script used to check the WHENCE file
+ rm ${D}${nonarch_base_libdir}/firmware/check_whence.py
+
+ # Libertas sd8686
+ ln -sf libertas/sd8686_v9.bin ${D}${nonarch_base_libdir}/firmware/sd8686.bin
+ ln -sf libertas/sd8686_v9_helper.bin ${D}${nonarch_base_libdir}/firmware/sd8686_helper.bin
+
+ # fixup wl12xx location, after 2.6.37 the kernel searches a different location for it
+ ( cd ${D}${nonarch_base_libdir}/firmware ; ln -sf ti-connectivity/* . )
+}
+
+
+PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \
+ ${PN}-mt7601u-license ${PN}-mt7601u \
+ ${PN}-radeon-license ${PN}-radeon \
+ ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \
+ ${PN}-sd8686 ${PN}-sd8688 ${PN}-sd8787 ${PN}-sd8797 ${PN}-sd8801 ${PN}-sd8887 ${PN}-sd8897 \
+ ${PN}-usb8997 \
+ ${PN}-ti-connectivity-license ${PN}-wlcommon ${PN}-wl12xx ${PN}-wl18xx \
+ ${PN}-vt6656-license ${PN}-vt6656 \
+ ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \
+ ${PN}-rtl8168 \
+ ${PN}-cypress-license \
+ ${PN}-broadcom-license \
+ ${PN}-bcm-0bb4-0306 \
+ ${PN}-bcm43143 \
+ ${PN}-bcm43236b \
+ ${PN}-bcm43241b0 \
+ ${PN}-bcm43241b4 \
+ ${PN}-bcm43241b5 \
+ ${PN}-bcm43242a \
+ ${PN}-bcm4329 \
+ ${PN}-bcm4329-fullmac \
+ ${PN}-bcm4330 \
+ ${PN}-bcm4334 \
+ ${PN}-bcm43340 \
+ ${PN}-bcm4335 \
+ ${PN}-bcm43362 \
+ ${PN}-bcm4339 \
+ ${PN}-bcm43430 \
+ ${PN}-bcm43430a0 \
+ ${PN}-bcm43455 \
+ ${PN}-bcm4350 \
+ ${PN}-bcm4350c2 \
+ ${PN}-bcm4354 \
+ ${PN}-bcm4356 \
+ ${PN}-bcm4356-pcie \
+ ${PN}-bcm43569 \
+ ${PN}-bcm43570 \
+ ${PN}-bcm4358 \
+ ${PN}-bcm43602 \
+ ${PN}-bcm4366b \
+ ${PN}-bcm4371 \
+ ${PN}-bcm4373 \
+ ${PN}-bcm43xx \
+ ${PN}-bcm43xx-hdr \
+ ${PN}-atheros-license ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k \
+ ${PN}-gplv2-license ${PN}-carl9170 \
+ ${PN}-ar3k-license ${PN}-ar3k ${PN}-ath10k-license ${PN}-ath10k ${PN}-qca \
+ \
+ ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \
+ \
+ ${PN}-iwlwifi-license ${PN}-iwlwifi \
+ ${PN}-iwlwifi-135-6 \
+ ${PN}-iwlwifi-3160-7 ${PN}-iwlwifi-3160-8 ${PN}-iwlwifi-3160-9 \
+ ${PN}-iwlwifi-3160-10 ${PN}-iwlwifi-3160-12 ${PN}-iwlwifi-3160-13 \
+ ${PN}-iwlwifi-3160-16 ${PN}-iwlwifi-3160-17 \
+ ${PN}-iwlwifi-6000-4 ${PN}-iwlwifi-6000g2a-5 ${PN}-iwlwifi-6000g2a-6 \
+ ${PN}-iwlwifi-6000g2b-5 ${PN}-iwlwifi-6000g2b-6 \
+ ${PN}-iwlwifi-6050-4 ${PN}-iwlwifi-6050-5 \
+ ${PN}-iwlwifi-7260 \
+ ${PN}-iwlwifi-7265 \
+ ${PN}-iwlwifi-7265d ${PN}-iwlwifi-8000c ${PN}-iwlwifi-8265 \
+ ${PN}-iwlwifi-9000 \
+ ${PN}-iwlwifi-misc \
+ ${PN}-ibt-license ${PN}-ibt ${PN}-ibt-misc \
+ ${PN}-ibt-11-5 ${PN}-ibt-12-16 ${PN}-ibt-hw-37-7 ${PN}-ibt-hw-37-8 \
+ ${PN}-ibt-17 \
+ ${PN}-i915-license ${PN}-i915 \
+ ${PN}-adsp-sst-license ${PN}-adsp-sst \
+ ${PN}-bnx2-mips \
+ ${PN}-liquidio \
+ ${PN}-netronome-license ${PN}-netronome \
+ ${PN}-qat ${PN}-qat-license \
+ ${PN}-qcom-license \
+ ${PN}-qcom-venus-1.8 ${PN}-qcom-venus-4.2 \
+ ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a530 \
+ ${PN}-whence-license \
+ ${PN}-license \
+ "
+
+# For atheros
+LICENSE_${PN}-ar9170 = "Firmware-atheros_firmware"
+LICENSE_${PN}-ath6k = "Firmware-atheros_firmware"
+LICENSE_${PN}-ath9k = "Firmware-atheros_firmware"
+LICENSE_${PN}-atheros-license = "Firmware-atheros_firmware"
+
+FILES_${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware"
+FILES_${PN}-ar9170 = " \
+ ${nonarch_base_libdir}/firmware/ar9170*.fw \
+"
+FILES_${PN}-ath6k = " \
+ ${nonarch_base_libdir}/firmware/ath6k \
+"
+FILES_${PN}-ath9k = " \
+ ${nonarch_base_libdir}/firmware/ar9271.fw \
+ ${nonarch_base_libdir}/firmware/ar7010*.fw \
+ ${nonarch_base_libdir}/firmware/htc_9271.fw \
+ ${nonarch_base_libdir}/firmware/htc_7010.fw \
+ ${nonarch_base_libdir}/firmware/ath9k_htc/htc_7010-1.4.0.fw \
+ ${nonarch_base_libdir}/firmware/ath9k_htc/htc_9271-1.4.0.fw \
+"
+
+RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license"
+RDEPENDS_${PN}-ath6k += "${PN}-atheros-license"
+RDEPENDS_${PN}-ath9k += "${PN}-atheros-license"
+
+# For carl9170
+LICENSE_${PN}-carl9170 = "Firmware-GPLv2"
+LICENSE_${PN}-gplv2-license = "Firmware-GPLv2"
+
+FILES_${PN}-gplv2-license = "${nonarch_base_libdir}/firmware/GPL-2"
+FILES_${PN}-carl9170 = " \
+ ${nonarch_base_libdir}/firmware/carl9170*.fw \
+"
+
+RDEPENDS_${PN}-carl9170 += "${PN}-gplv2-license"
+
+# For QualCommAthos
+LICENSE_${PN}-ar3k = "Firmware-qualcommAthos_ar3k"
+LICENSE_${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k"
+LICENSE_${PN}-ath10k = "Firmware-qualcommAthos_ath10k"
+LICENSE_${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k"
+LICENSE_${PN}-qca = "Firmware-qualcommAthos_ath10k"
+
+FILES_${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k"
+FILES_${PN}-ar3k = " \
+ ${nonarch_base_libdir}/firmware/ar3k \
+"
+
+FILES_${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k"
+FILES_${PN}-ath10k = " \
+ ${nonarch_base_libdir}/firmware/ath10k \
+"
+
+FILES_${PN}-qca = " \
+ ${nonarch_base_libdir}/firmware/qca \
+"
+
+RDEPENDS_${PN}-ar3k += "${PN}-ar3k-license"
+RDEPENDS_${PN}-ath10k += "${PN}-ath10k-license"
+RDEPENDS_${PN}-qca += "${PN}-ath10k-license"
+
+# For ralink
+LICENSE_${PN}-ralink = "Firmware-ralink-firmware"
+LICENSE_${PN}-ralink-license = "Firmware-ralink-firmware"
+
+FILES_${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt"
+FILES_${PN}-ralink = " \
+ ${nonarch_base_libdir}/firmware/rt*.bin \
+"
+
+RDEPENDS_${PN}-ralink += "${PN}-ralink-license"
+
+# For mediatek MT7601U
+LICENSE_${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware"
+LICENSE_${PN}-mt7601u-license = "Firmware-ralink_a_mediatek_company_firmware"
+
+FILES_${PN}-mt7601u-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware"
+FILES_${PN}-mt7601u = " \
+ ${nonarch_base_libdir}/firmware/mt7601u.bin \
+"
+
+RDEPENDS_${PN}-mt7601u += "${PN}-mt7601u-license"
+
+# For radeon
+LICENSE_${PN}-radeon = "Firmware-radeon"
+LICENSE_${PN}-radeon-license = "Firmware-radeon"
+
+FILES_${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon"
+FILES_${PN}-radeon = " \
+ ${nonarch_base_libdir}/firmware/radeon \
+"
+
+RDEPENDS_${PN}-radeon += "${PN}-radeon-license"
+
+# For marvell
+LICENSE_${PN}-pcie8897 = "Firmware-Marvell"
+LICENSE_${PN}-pcie8997 = "Firmware-Marvell"
+LICENSE_${PN}-sd8686 = "Firmware-Marvell"
+LICENSE_${PN}-sd8688 = "Firmware-Marvell"
+LICENSE_${PN}-sd8787 = "Firmware-Marvell"
+LICENSE_${PN}-sd8797 = "Firmware-Marvell"
+LICENSE_${PN}-sd8801 = "Firmware-Marvell"
+LICENSE_${PN}-sd8887 = "Firmware-Marvell"
+LICENSE_${PN}-sd8897 = "Firmware-Marvell"
+LICENSE_${PN}-usb8997 = "Firmware-Marvell"
+LICENSE_${PN}-marvell-license = "Firmware-Marvell"
+
+FILES_${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell"
+FILES_${PN}-pcie8897 = " \
+ ${nonarch_base_libdir}/firmware/mrvl/pcie8897_uapsta.bin \
+"
+FILES_${PN}-pcie8997 = " \
+ ${nonarch_base_libdir}/firmware/mrvl/pcie8997_wlan_v4.bin \
+ ${nonarch_base_libdir}/firmware/mrvl/pcieuart8997_combo_v4.bin \
+ ${nonarch_base_libdir}/firmware/mrvl/pcieusb8997_combo_v4.bin \
+"
+FILES_${PN}-sd8686 = " \
+ ${nonarch_base_libdir}/firmware/libertas/sd8686_v9* \
+ ${nonarch_base_libdir}/firmware/sd8686* \
+"
+FILES_${PN}-sd8688 = " \
+ ${nonarch_base_libdir}/firmware/libertas/sd8688* \
+ ${nonarch_base_libdir}/firmware/mrvl/sd8688* \
+"
+FILES_${PN}-sd8787 = " \
+ ${nonarch_base_libdir}/firmware/mrvl/sd8787_uapsta.bin \
+"
+FILES_${PN}-sd8797 = " \
+ ${nonarch_base_libdir}/firmware/mrvl/sd8797_uapsta.bin \
+"
+FILES_${PN}-sd8801 = " \
+ ${nonarch_base_libdir}/firmware/mrvl/sd8801_uapsta.bin \
+"
+FILES_${PN}-sd8887 = " \
+ ${nonarch_base_libdir}/firmware/mrvl/sd8887_uapsta.bin \
+"
+FILES_${PN}-sd8897 = " \
+ ${nonarch_base_libdir}/firmware/mrvl/sd8897_uapsta.bin \
+"
+FILES_${PN}-usb8997 = " \
+ ${nonarch_base_libdir}/firmware/mrvl/usbusb8997_combo_v4.bin \
+"
+
+RDEPENDS_${PN}-sd8686 += "${PN}-marvell-license"
+RDEPENDS_${PN}-sd8688 += "${PN}-marvell-license"
+RDEPENDS_${PN}-sd8787 += "${PN}-marvell-license"
+RDEPENDS_${PN}-sd8797 += "${PN}-marvell-license"
+RDEPENDS_${PN}-sd8801 += "${PN}-marvell-license"
+RDEPENDS_${PN}-sd8887 += "${PN}-marvell-license"
+RDEPENDS_${PN}-sd8897 += "${PN}-marvell-license"
+RDEPENDS_${PN}-usb8997 += "${PN}-marvell-license"
+
+# For netronome
+LICENSE_${PN}-netronome = "Firmware-netronome"
+
+FILES_${PN}-netronome-license = " \
+ ${nonarch_base_libdir}/firmware/LICENCE.Netronome \
+"
+FILES_${PN}-netronome = " \
+ ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0081*.nffw \
+ ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \
+ ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \
+ ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0099*.nffw \
+"
+
+RDEPENDS_${PN}-netronome += "${PN}-netronome-license"
+
+# For rtl
+LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware"
+LICENSE_${PN}-rtl8192cu = "Firmware-rtlwifi_firmware"
+LICENSE_${PN}-rtl8192ce = "Firmware-rtlwifi_firmware"
+LICENSE_${PN}-rtl8192su = "Firmware-rtlwifi_firmware"
+LICENSE_${PN}-rtl8723 = "Firmware-rtlwifi_firmware"
+LICENSE_${PN}-rtl8821 = "Firmware-rtlwifi_firmware"
+LICENSE_${PN}-rtl-license = "Firmware-rtlwifi_firmware"
+LICENSE_${PN}-rtl8168 = "WHENCE"
+
+FILES_${PN}-rtl-license = " \
+ ${nonarch_base_libdir}/firmware/LICENCE.rtlwifi_firmware.txt \
+"
+FILES_${PN}-rtl8188 = " \
+ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8188*.bin \
+"
+FILES_${PN}-rtl8192cu = " \
+ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cufw*.bin \
+"
+FILES_${PN}-rtl8192ce = " \
+ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cfw*.bin \
+"
+FILES_${PN}-rtl8192su = " \
+ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8712u.bin \
+"
+FILES_${PN}-rtl8723 = " \
+ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8723*.bin \
+"
+FILES_${PN}-rtl8821 = " \
+ ${nonarch_base_libdir}/firmware/rtlwifi/rtl8821*.bin \
+"
+FILES_${PN}-rtl8168 = " \
+ ${nonarch_base_libdir}/firmware/rtl_nic/rtl8168*.fw \
+"
+
+RDEPENDS_${PN}-rtl8188 += "${PN}-rtl-license"
+RDEPENDS_${PN}-rtl8192ce += "${PN}-rtl-license"
+RDEPENDS_${PN}-rtl8192cu += "${PN}-rtl-license"
+RDEPENDS_${PN}-rtl8192su = "${PN}-rtl-license"
+RDEPENDS_${PN}-rtl8723 += "${PN}-rtl-license"
+RDEPENDS_${PN}-rtl8821 += "${PN}-rtl-license"
+RDEPENDS_${PN}-rtl8168 += "${PN}-whence-license"
+
+# For ti-connectivity
+LICENSE_${PN}-wlcommon = "Firmware-ti-connectivity"
+LICENSE_${PN}-wl12xx = "Firmware-ti-connectivity"
+LICENSE_${PN}-wl18xx = "Firmware-ti-connectivity"
+LICENSE_${PN}-ti-connectivity-license = "Firmware-ti-connectivity"
+
+FILES_${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity"
+FILES_${PN}-wlcommon = " \
+ ${nonarch_base_libdir}/firmware/TI* \
+ ${nonarch_base_libdir}/firmware/ti-connectivity/TI* \
+"
+FILES_${PN}-wl12xx = " \
+ ${nonarch_base_libdir}/firmware/wl12* \
+ ${nonarch_base_libdir}/firmware/ti-connectivity/wl12* \
+"
+FILES_${PN}-wl18xx = " \
+ ${nonarch_base_libdir}/firmware/wl18* \
+ ${nonarch_base_libdir}/firmware/ti-connectivity/wl18* \
+"
+
+RDEPENDS_${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
+RDEPENDS_${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
+
+# For vt6656
+LICENSE_${PN}-vt6656 = "Firmware-via_vt6656"
+LICENSE_${PN}-vt6656-license = "Firmware-via_vt6656"
+
+FILES_${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656"
+FILES_${PN}-vt6656 = " \
+ ${nonarch_base_libdir}/firmware/vntwusb.fw \
+"
+
+RDEPENDS_${PN}-vt6656 = "${PN}-vt6656-license"
+
+# For broadcom
+
+# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e " \${PN}-$pkg \\"; done | sort -u
+
+LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx"
+FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx"
+
+# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES_\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES
+
+FILES_${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw"
+FILES_${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw"
+FILES_${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin"
+FILES_${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin"
+FILES_${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin"
+FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.bin"
+FILES_${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin"
+FILES_${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin"
+FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin"
+FILES_${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin"
+FILES_${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin"
+FILES_${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin"
+FILES_${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin"
+FILES_${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \
+ ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \
+"
+FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.bin"
+FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.bin"
+FILES_${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin"
+FILES_${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin"
+FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.bin"
+FILES_${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin"
+FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin"
+FILES_${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin"
+FILES_${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \
+ ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \
+"
+FILES_${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin"
+FILES_${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin"
+
+# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE_\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done
+# Currently 1st one and last 6 have cypress LICENSE
+
+LICENSE_${PN}-bcm43xx = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43xx += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43xx-hdr += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4329-fullmac += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43236b = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43236b += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4329 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4330 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4330 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4334 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4334 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4335 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4335 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4339 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4339 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43241b0 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43241b4 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43241b5 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43242a = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43242a += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43143 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43143 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43430a0 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4350c2 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4350 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4350 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4356 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4356 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43569 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43569 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43570 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43570 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4358 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4358 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm43602 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm43602 += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4366b = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4366b += "${PN}-broadcom-license"
+LICENSE_${PN}-bcm4371 = "Firmware-broadcom_bcm43xx"
+RDEPENDS_${PN}-bcm4371 += "${PN}-broadcom-license"
+
+# For broadcom cypress
+
+LICENSE_${PN}-cypress-license = "Firmware-cypress"
+FILES_${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress"
+
+FILES_${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd"
+FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.bin"
+FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.bin"
+FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.bin"
+FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin"
+FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.bin"
+FILES_${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \
+ ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \
+"
+
+LICENSE_${PN}-bcm-0bb4-0306 = "Firmware-cypress"
+RDEPENDS_${PN}-bcm-0bb4-0306 += "${PN}-cypress-license"
+LICENSE_${PN}-bcm43340 = "Firmware-cypress"
+RDEPENDS_${PN}-bcm43340 += "${PN}-cypress-license"
+LICENSE_${PN}-bcm43362 = "Firmware-cypress"
+RDEPENDS_${PN}-bcm43362 += "${PN}-cypress-license"
+LICENSE_${PN}-bcm43430 = "Firmware-cypress"
+RDEPENDS_${PN}-bcm43430 += "${PN}-cypress-license"
+LICENSE_${PN}-bcm4354 = "Firmware-cypress"
+RDEPENDS_${PN}-bcm4354 += "${PN}-cypress-license"
+LICENSE_${PN}-bcm4356-pcie = "Firmware-cypress"
+RDEPENDS_${PN}-bcm4356-pcie += "${PN}-cypress-license"
+LICENSE_${PN}-bcm4373 = "Firmware-cypress"
+RDEPENDS_${PN}-bcm4373 += "${PN}-cypress-license"
+
+# For Broadcom bnx2-mips
+#
+# which is a separate case to the other Broadcom firmwares since its
+# license is contained in the shared WHENCE file.
+
+LICENSE_${PN}-bnx2-mips = "WHENCE"
+LICENSE_${PN}-whence-license = "WHENCE"
+
+FILES_${PN}-bnx2-mips = "${nonarch_base_libdir}/firmware/bnx2/bnx2-mips-09-6.2.1b.fw"
+FILES_${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE"
+
+RDEPENDS_${PN}-bnx2-mips += "${PN}-whence-license"
+
+# For imx-sdma
+LICENSE_${PN}-imx-sdma-imx6q = "Firmware-imx-sdma_firmware"
+LICENSE_${PN}-imx-sdma-imx7d = "Firmware-imx-sdma_firmware"
+LICENSE_${PN}-imx-sdma-license = "Firmware-imx-sdma_firmware"
+
+FILES_${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin"
+
+RPROVIDES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
+RREPLACES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
+RCONFLICTS_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
+
+FILES_${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin"
+
+FILES_${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware"
+
+RDEPENDS_${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license"
+RDEPENDS_${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license"
+
+# For iwlwifi
+LICENSE_${PN}-iwlwifi = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-135-6 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-3160-7 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-3160-8 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-3160-9 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-3160-10 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-3160-12 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-3160-13 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-3160-16 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-3160-17 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-6000-4 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-6050-4 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-6050-5 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-7260 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-7265 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-7265d = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-8000c = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-8265 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-9000 = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware"
+LICENSE_${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware"
+
+
+FILES_${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware"
+FILES_${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode"
+FILES_${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode"
+FILES_${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode"
+FILES_${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode"
+FILES_${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode"
+FILES_${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode"
+FILES_${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode"
+FILES_${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode"
+FILES_${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode"
+FILES_${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode"
+FILES_${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode"
+FILES_${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode"
+FILES_${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode"
+FILES_${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode"
+FILES_${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode"
+FILES_${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode"
+FILES_${PN}-iwlwifi-7260 = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode"
+FILES_${PN}-iwlwifi-7265 = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode"
+FILES_${PN}-iwlwifi-7265d = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode"
+FILES_${PN}-iwlwifi-8000c = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode"
+FILES_${PN}-iwlwifi-8265 = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode"
+FILES_${PN}-iwlwifi-9000 = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode"
+FILES_${PN}-iwlwifi-misc = "${nonarch_base_libdir}/firmware/iwlwifi-*.ucode"
+
+RDEPENDS_${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-3160-7 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-3160-8 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-3160-9 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-3160-10 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-3160-12 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-3160-13 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-3160-16 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-3160-17 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-6000-4 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-6050-4 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-6050-5 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-7265d = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-8000c = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-8265 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-9000 = "${PN}-iwlwifi-license"
+RDEPENDS_${PN}-iwlwifi-misc = "${PN}-iwlwifi-license"
+
+# -iwlwifi-misc is a "catch all" package that includes all the iwlwifi
+# firmwares that are not already included in other -iwlwifi- packages.
+# -iwlwifi is a virtual package that depends upon all iwlwifi packages.
+# These are distinct in order to allow the -misc firmwares to be installed
+# without pulling in every other iwlwifi package.
+ALLOW_EMPTY_${PN}-iwlwifi = "1"
+ALLOW_EMPTY_${PN}-iwlwifi-misc = "1"
+
+# Handle package updating for the newly merged iwlwifi groupings
+RPROVIDES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
+RREPLACES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
+RCONFLICTS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
+
+RPROVIDES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
+RREPLACES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
+RCONFLICTS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
+
+# For ibt
+LICENSE_${PN}-ibt-license = "Firmware-ibt_firmware"
+LICENSE_${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware"
+LICENSE_${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware"
+LICENSE_${PN}-ibt-11-5 = "Firmware-ibt_firmware"
+LICENSE_${PN}-ibt-12-16 = "Firmware-ibt_firmware"
+LICENSE_${PN}-ibt-17 = "Firmware-ibt_firmware"
+LICENSE_${PN}-ibt-misc = "Firmware-ibt_firmware"
+
+FILES_${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware"
+FILES_${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq"
+FILES_${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq"
+FILES_${PN}-ibt-11-5 = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc"
+FILES_${PN}-ibt-12-16 = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc"
+FILES_${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc"
+FILES_${PN}-ibt-misc = "${nonarch_base_libdir}/firmware/ibt-*"
+
+RDEPENDS_${PN}-ibt-hw-37-7 = "${PN}-ibt-license"
+RDEPENDS_${PN}-ibt-hw-37.8 = "${PN}-ibt-license"
+RDEPENDS_${PN}-ibt-11-5 = "${PN}-ibt-license"
+RDEPENDS_${PN}-ibt-12-16 = "${PN}-ibt-license"
+RDEPENDS_${PN}-ibt-17 = "${PN}-ibt-license"
+RDEPENDS_${PN}-ibt-misc = "${PN}-ibt-license"
+
+ALLOW_EMPTY_${PN}-ibt= "1"
+ALLOW_EMPTY_${PN}-ibt-misc = "1"
+
+LICENSE_${PN}-i915 = "Firmware-i915"
+LICENSE_${PN}-i915-license = "Firmware-i915"
+FILES_${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915"
+FILES_${PN}-i915 = "${nonarch_base_libdir}/firmware/i915"
+RDEPENDS_${PN}-i915 = "${PN}-i915-license"
+
+FILES_${PN}-adsp-sst-license = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst"
+LICENSE_${PN}-adsp-sst = "Firmware-adsp_sst"
+LICENSE_${PN}-adsp-sst-license = "Firmware-adsp_sst"
+FILES_${PN}-adsp-sst = "${nonarch_base_libdir}/firmware/intel/dsp_fw*"
+RDEPENDS_${PN}-adsp-sst = "${PN}-adsp-sst-license"
+
+# For QAT
+LICENSE_${PN}-qat = "Firmware-qat"
+LICENSE_${PN}-qat-license = "Firmware-qat"
+FILES_${PN}-qat-license = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware"
+FILES_${PN}-qat = "${nonarch_base_libdir}/firmware/qat*.bin"
+RDEPENDS_${PN}-qat = "${PN}-qat-license"
+
+# For QCOM VPU/GPU
+LICENSE_${PN}-qcom-license = "Firmware-qcom"
+FILES_${PN}-qcom-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt"
+FILES_${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*"
+FILES_${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*"
+FILES_${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw"
+FILES_${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*"
+RDEPENDS_${PN}-qcom-venus-1.8 = "${PN}-qcom-license"
+RDEPENDS_${PN}-qcom-venus-4.2 = "${PN}-qcom-license"
+RDEPENDS_${PN}-qcom-adreno-a3xx = "${PN}-qcom-license"
+RDEPENDS_${PN}-qcom-adreno-a530 = "${PN}-qcom-license"
+
+FILES_${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio"
+
+# For other firmwares
+# Maybe split out to separate packages when needed.
+LICENSE_${PN} = "\
+ Firmware-Abilis \
+ & Firmware-agere \
+ & Firmware-amdgpu \
+ & Firmware-amd-ucode \
+ & Firmware-atmel \
+ & Firmware-ca0132 \
+ & Firmware-cavium \
+ & Firmware-chelsio_firmware \
+ & Firmware-cw1200 \
+ & Firmware-dib0700 \
+ & Firmware-e100 \
+ & Firmware-ene_firmware \
+ & Firmware-fw_sst_0f28 \
+ & Firmware-go7007 \
+ & Firmware-hfi1_firmware \
+ & Firmware-i2400m \
+ & Firmware-ibt_firmware \
+ & Firmware-it913x \
+ & Firmware-IntcSST2 \
+ & Firmware-kaweth \
+ & Firmware-moxa \
+ & Firmware-myri10ge_firmware \
+ & Firmware-nvidia \
+ & Firmware-OLPC \
+ & Firmware-ath9k-htc \
+ & Firmware-phanfw \
+ & Firmware-qat \
+ & Firmware-qcom \
+ & Firmware-qla1280 \
+ & Firmware-qla2xxx \
+ & Firmware-r8a779x_usb3 \
+ & Firmware-radeon \
+ & Firmware-ralink_a_mediatek_company_firmware \
+ & Firmware-ralink-firmware \
+ & Firmware-imx-sdma_firmware \
+ & Firmware-siano \
+ & Firmware-tda7706-firmware \
+ & Firmware-ti-connectivity \
+ & Firmware-ti-keystone \
+ & Firmware-ueagle-atm4-firmware \
+ & Firmware-wl1251 \
+ & Firmware-xc4000 \
+ & Firmware-xc5000 \
+ & Firmware-xc5000c \
+ & WHENCE \
+"
+
+FILES_${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*"
+FILES_${PN} += "${nonarch_base_libdir}/firmware/*"
+RDEPENDS_${PN} += "${PN}-license"
+RDEPENDS_${PN} += "${PN}-whence-license"
+
+# Make linux-firmware depend on all of the split-out packages.
+# Make linux-firmware-iwlwifi depend on all of the split-out iwlwifi packages.
+# Make linux-firmware-ibt depend on all of the split-out ibt packages.
+python populate_packages_prepend () {
+ firmware_pkgs = oe.utils.packages_filter_out_system(d)
+ d.appendVar('RRECOMMENDS_linux-firmware', ' ' + ' '.join(firmware_pkgs))
+
+ iwlwifi_pkgs = filter(lambda x: x.find('-iwlwifi-') != -1, firmware_pkgs)
+ d.appendVar('RRECOMMENDS_linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs))
+
+ ibt_pkgs = filter(lambda x: x.find('-ibt-') != -1, firmware_pkgs)
+ d.appendVar('RRECOMMENDS_linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs))
+}
+
+# Firmware files are generally not ran on the CPU, so they can be
+# allarch despite being architecture specific
+INSANE_SKIP = "arch"
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
deleted file mode 100644
index 8b6ad96db..000000000
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
+++ /dev/null
@@ -1,939 +0,0 @@
-SUMMARY = "Firmware files for use with Linux kernel"
-SECTION = "kernel"
-
-LICENSE = "\
- Firmware-Abilis \
- & Firmware-adsp_sst \
- & Firmware-agere \
- & Firmware-amdgpu \
- & Firmware-amd-ucode \
- & Firmware-amlogic_vdec \
- & Firmware-atheros_firmware \
- & Firmware-atmel \
- & Firmware-broadcom_bcm43xx \
- & Firmware-ca0132 \
- & Firmware-cavium \
- & Firmware-chelsio_firmware \
- & Firmware-cw1200 \
- & Firmware-cypress \
- & Firmware-dib0700 \
- & Firmware-e100 \
- & Firmware-ene_firmware \
- & Firmware-fw_sst_0f28 \
- & Firmware-go7007 \
- & Firmware-GPLv2 \
- & Firmware-hfi1_firmware \
- & Firmware-i2400m \
- & Firmware-i915 \
- & Firmware-ibt_firmware \
- & Firmware-it913x \
- & Firmware-iwlwifi_firmware \
- & Firmware-IntcSST2 \
- & Firmware-kaweth \
- & Firmware-Marvell \
- & Firmware-moxa \
- & Firmware-myri10ge_firmware \
- & Firmware-netronome \
- & Firmware-nvidia \
- & Firmware-OLPC \
- & Firmware-ath9k-htc \
- & Firmware-phanfw \
- & Firmware-qat \
- & Firmware-qcom \
- & Firmware-qla1280 \
- & Firmware-qla2xxx \
- & Firmware-qualcommAthos_ar3k \
- & Firmware-qualcommAthos_ath10k \
- & Firmware-r8a779x_usb3 \
- & Firmware-radeon \
- & Firmware-ralink_a_mediatek_company_firmware \
- & Firmware-ralink-firmware \
- & Firmware-rtlwifi_firmware \
- & Firmware-imx-sdma_firmware \
- & Firmware-siano \
- & Firmware-tda7706-firmware \
- & Firmware-ti-connectivity \
- & Firmware-ti-keystone \
- & Firmware-ueagle-atm4-firmware \
- & Firmware-via_vt6656 \
- & Firmware-wl1251 \
- & Firmware-xc4000 \
- & Firmware-xc5000 \
- & Firmware-xc5000c \
- & 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://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
-NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENCE.Abilis"
-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"
-NO_GENERIC_LICENSE[Firmware-ca0132] = "LICENCE.ca0132"
-NO_GENERIC_LICENSE[Firmware-cadence] = "LICENCE.cadence"
-NO_GENERIC_LICENSE[Firmware-cavium] = "LICENCE.cavium"
-NO_GENERIC_LICENSE[Firmware-chelsio_firmware] = "LICENCE.chelsio_firmware"
-NO_GENERIC_LICENSE[Firmware-cw1200] = "LICENCE.cw1200"
-NO_GENERIC_LICENSE[Firmware-cypress] = "LICENCE.cypress"
-NO_GENERIC_LICENSE[Firmware-dib0700] = "LICENSE.dib0700"
-NO_GENERIC_LICENSE[Firmware-e100] = "LICENCE.e100"
-NO_GENERIC_LICENSE[Firmware-ene_firmware] = "LICENCE.ene_firmware"
-NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28"
-NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007"
-NO_GENERIC_LICENSE[Firmware-GPLv2] = "GPL-2"
-NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware"
-NO_GENERIC_LICENSE[Firmware-i2400m] = "LICENCE.i2400m"
-NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915"
-NO_GENERIC_LICENSE[Firmware-ibt_firmware] = "LICENCE.ibt_firmware"
-NO_GENERIC_LICENSE[Firmware-IntcSST2] = "LICENCE.IntcSST2"
-NO_GENERIC_LICENSE[Firmware-it913x] = "LICENCE.it913x"
-NO_GENERIC_LICENSE[Firmware-iwlwifi_firmware] = "LICENCE.iwlwifi_firmware"
-NO_GENERIC_LICENSE[Firmware-kaweth] = "LICENCE.kaweth"
-NO_GENERIC_LICENSE[Firmware-Marvell] = "LICENCE.Marvell"
-NO_GENERIC_LICENSE[Firmware-mediatek] = "LICENCE.mediatek"
-NO_GENERIC_LICENSE[Firmware-moxa] = "LICENCE.moxa"
-NO_GENERIC_LICENSE[Firmware-myri10ge_firmware] = "LICENCE.myri10ge_firmware"
-NO_GENERIC_LICENSE[Firmware-netronome] = "LICENCE.Netronome"
-NO_GENERIC_LICENSE[Firmware-nvidia] = "LICENCE.nvidia"
-NO_GENERIC_LICENSE[Firmware-OLPC] = "LICENCE.OLPC"
-NO_GENERIC_LICENSE[Firmware-ath9k-htc] = "LICENCE.open-ath9k-htc-firmware"
-NO_GENERIC_LICENSE[Firmware-phanfw] = "LICENCE.phanfw"
-NO_GENERIC_LICENSE[Firmware-qat] = "LICENCE.qat_firmware"
-NO_GENERIC_LICENSE[Firmware-qcom] = "LICENSE.qcom"
-NO_GENERIC_LICENSE[Firmware-qla1280] = "LICENCE.qla1280"
-NO_GENERIC_LICENSE[Firmware-qla2xxx] = "LICENCE.qla2xxx"
-NO_GENERIC_LICENSE[Firmware-qualcommAthos_ar3k] = "LICENSE.QualcommAtheros_ar3k"
-NO_GENERIC_LICENSE[Firmware-qualcommAthos_ath10k] = "LICENSE.QualcommAtheros_ath10k"
-NO_GENERIC_LICENSE[Firmware-r8a779x_usb3] = "LICENCE.r8a779x_usb3"
-NO_GENERIC_LICENSE[Firmware-radeon] = "LICENSE.radeon"
-NO_GENERIC_LICENSE[Firmware-ralink_a_mediatek_company_firmware] = "LICENCE.ralink_a_mediatek_company_firmware"
-NO_GENERIC_LICENSE[Firmware-ralink-firmware] = "LICENCE.ralink-firmware.txt"
-NO_GENERIC_LICENSE[Firmware-rtlwifi_firmware] = "LICENCE.rtlwifi_firmware.txt"
-NO_GENERIC_LICENSE[Firmware-siano] = "LICENCE.siano"
-NO_GENERIC_LICENSE[Firmware-imx-sdma_firmware] = "LICENSE.sdma_firmware"
-NO_GENERIC_LICENSE[Firmware-tda7706-firmware] = "LICENCE.tda7706-firmware.txt"
-NO_GENERIC_LICENSE[Firmware-ti-connectivity] = "LICENCE.ti-connectivity"
-NO_GENERIC_LICENSE[Firmware-ti-keystone] = "LICENCE.ti-keystone"
-NO_GENERIC_LICENSE[Firmware-ueagle-atm4-firmware] = "LICENCE.ueagle-atm4-firmware"
-NO_GENERIC_LICENSE[Firmware-via_vt6656] = "LICENCE.via_vt6656"
-NO_GENERIC_LICENSE[Firmware-wl1251] = "LICENCE.wl1251"
-NO_GENERIC_LICENSE[Firmware-xc4000] = "LICENCE.xc4000"
-NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000"
-NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c"
-NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
-
-SRCREV = "711d3297bac870af42088a467459a0634c1970ca"
-PE = "1"
-PV = "0.0+git${SRCPV}"
-
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"
-
-UPSTREAM_CHECK_COMMITS = "1"
-
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-CLEANBROKEN = "1"
-
-do_compile() {
- :
-}
-
-do_install() {
- install -d ${D}${nonarch_base_libdir}/firmware/
- cp -r * ${D}${nonarch_base_libdir}/firmware/
-
- # Avoid Makefile to be deployed
- rm ${D}${nonarch_base_libdir}/firmware/Makefile
-
- # Remove unbuild firmware which needs cmake and bash
- rm ${D}${nonarch_base_libdir}/firmware/carl9170fw -rf
-
- # Remove pointless bash script
- rm ${D}${nonarch_base_libdir}/firmware/configure
-
- # Remove python script used to check the WHENCE file
- rm ${D}${nonarch_base_libdir}/firmware/check_whence.py
-
- # Libertas sd8686
- ln -sf libertas/sd8686_v9.bin ${D}${nonarch_base_libdir}/firmware/sd8686.bin
- ln -sf libertas/sd8686_v9_helper.bin ${D}${nonarch_base_libdir}/firmware/sd8686_helper.bin
-
- # fixup wl12xx location, after 2.6.37 the kernel searches a different location for it
- ( cd ${D}${nonarch_base_libdir}/firmware ; ln -sf ti-connectivity/* . )
-}
-
-
-PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \
- ${PN}-mt7601u-license ${PN}-mt7601u \
- ${PN}-radeon-license ${PN}-radeon \
- ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \
- ${PN}-sd8686 ${PN}-sd8688 ${PN}-sd8787 ${PN}-sd8797 ${PN}-sd8801 ${PN}-sd8887 ${PN}-sd8897 \
- ${PN}-usb8997 \
- ${PN}-ti-connectivity-license ${PN}-wlcommon ${PN}-wl12xx ${PN}-wl18xx \
- ${PN}-vt6656-license ${PN}-vt6656 \
- ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \
- ${PN}-rtl8168 \
- ${PN}-cypress-license \
- ${PN}-broadcom-license \
- ${PN}-bcm-0bb4-0306 \
- ${PN}-bcm43143 \
- ${PN}-bcm43236b \
- ${PN}-bcm43241b0 \
- ${PN}-bcm43241b4 \
- ${PN}-bcm43241b5 \
- ${PN}-bcm43242a \
- ${PN}-bcm4329 \
- ${PN}-bcm4329-fullmac \
- ${PN}-bcm4330 \
- ${PN}-bcm4334 \
- ${PN}-bcm43340 \
- ${PN}-bcm4335 \
- ${PN}-bcm43362 \
- ${PN}-bcm4339 \
- ${PN}-bcm43430 \
- ${PN}-bcm43430a0 \
- ${PN}-bcm43455 \
- ${PN}-bcm4350 \
- ${PN}-bcm4350c2 \
- ${PN}-bcm4354 \
- ${PN}-bcm4356 \
- ${PN}-bcm4356-pcie \
- ${PN}-bcm43569 \
- ${PN}-bcm43570 \
- ${PN}-bcm4358 \
- ${PN}-bcm43602 \
- ${PN}-bcm4366b \
- ${PN}-bcm4371 \
- ${PN}-bcm4373 \
- ${PN}-bcm43xx \
- ${PN}-bcm43xx-hdr \
- ${PN}-atheros-license ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k \
- ${PN}-gplv2-license ${PN}-carl9170 \
- ${PN}-ar3k-license ${PN}-ar3k ${PN}-ath10k-license ${PN}-ath10k ${PN}-qca \
- \
- ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \
- \
- ${PN}-iwlwifi-license ${PN}-iwlwifi \
- ${PN}-iwlwifi-135-6 \
- ${PN}-iwlwifi-3160-7 ${PN}-iwlwifi-3160-8 ${PN}-iwlwifi-3160-9 \
- ${PN}-iwlwifi-3160-10 ${PN}-iwlwifi-3160-12 ${PN}-iwlwifi-3160-13 \
- ${PN}-iwlwifi-3160-16 ${PN}-iwlwifi-3160-17 \
- ${PN}-iwlwifi-6000-4 ${PN}-iwlwifi-6000g2a-5 ${PN}-iwlwifi-6000g2a-6 \
- ${PN}-iwlwifi-6000g2b-5 ${PN}-iwlwifi-6000g2b-6 \
- ${PN}-iwlwifi-6050-4 ${PN}-iwlwifi-6050-5 \
- ${PN}-iwlwifi-7260 \
- ${PN}-iwlwifi-7265 \
- ${PN}-iwlwifi-7265d ${PN}-iwlwifi-8000c ${PN}-iwlwifi-8265 \
- ${PN}-iwlwifi-9000 \
- ${PN}-iwlwifi-misc \
- ${PN}-ibt-license ${PN}-ibt ${PN}-ibt-misc \
- ${PN}-ibt-11-5 ${PN}-ibt-12-16 ${PN}-ibt-hw-37-7 ${PN}-ibt-hw-37-8 \
- ${PN}-ibt-17 \
- ${PN}-i915-license ${PN}-i915 \
- ${PN}-adsp-sst-license ${PN}-adsp-sst \
- ${PN}-bnx2-mips \
- ${PN}-liquidio \
- ${PN}-netronome-license ${PN}-netronome \
- ${PN}-qat ${PN}-qat-license \
- ${PN}-qcom-license \
- ${PN}-qcom-venus-1.8 ${PN}-qcom-venus-4.2 \
- ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a530 \
- ${PN}-whence-license \
- ${PN}-license \
- "
-
-# For atheros
-LICENSE_${PN}-ar9170 = "Firmware-atheros_firmware"
-LICENSE_${PN}-ath6k = "Firmware-atheros_firmware"
-LICENSE_${PN}-ath9k = "Firmware-atheros_firmware"
-LICENSE_${PN}-atheros-license = "Firmware-atheros_firmware"
-
-FILES_${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware"
-FILES_${PN}-ar9170 = " \
- ${nonarch_base_libdir}/firmware/ar9170*.fw \
-"
-FILES_${PN}-ath6k = " \
- ${nonarch_base_libdir}/firmware/ath6k \
-"
-FILES_${PN}-ath9k = " \
- ${nonarch_base_libdir}/firmware/ar9271.fw \
- ${nonarch_base_libdir}/firmware/ar7010*.fw \
- ${nonarch_base_libdir}/firmware/htc_9271.fw \
- ${nonarch_base_libdir}/firmware/htc_7010.fw \
- ${nonarch_base_libdir}/firmware/ath9k_htc/htc_7010-1.4.0.fw \
- ${nonarch_base_libdir}/firmware/ath9k_htc/htc_9271-1.4.0.fw \
-"
-
-RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license"
-RDEPENDS_${PN}-ath6k += "${PN}-atheros-license"
-RDEPENDS_${PN}-ath9k += "${PN}-atheros-license"
-
-# For carl9170
-LICENSE_${PN}-carl9170 = "Firmware-GPLv2"
-LICENSE_${PN}-gplv2-license = "Firmware-GPLv2"
-
-FILES_${PN}-gplv2-license = "${nonarch_base_libdir}/firmware/GPL-2"
-FILES_${PN}-carl9170 = " \
- ${nonarch_base_libdir}/firmware/carl9170*.fw \
-"
-
-RDEPENDS_${PN}-carl9170 += "${PN}-gplv2-license"
-
-# For QualCommAthos
-LICENSE_${PN}-ar3k = "Firmware-qualcommAthos_ar3k"
-LICENSE_${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k"
-LICENSE_${PN}-ath10k = "Firmware-qualcommAthos_ath10k"
-LICENSE_${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k"
-LICENSE_${PN}-qca = "Firmware-qualcommAthos_ath10k"
-
-FILES_${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k"
-FILES_${PN}-ar3k = " \
- ${nonarch_base_libdir}/firmware/ar3k \
-"
-
-FILES_${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k"
-FILES_${PN}-ath10k = " \
- ${nonarch_base_libdir}/firmware/ath10k \
-"
-
-FILES_${PN}-qca = " \
- ${nonarch_base_libdir}/firmware/qca \
-"
-
-RDEPENDS_${PN}-ar3k += "${PN}-ar3k-license"
-RDEPENDS_${PN}-ath10k += "${PN}-ath10k-license"
-RDEPENDS_${PN}-qca += "${PN}-ath10k-license"
-
-# For ralink
-LICENSE_${PN}-ralink = "Firmware-ralink-firmware"
-LICENSE_${PN}-ralink-license = "Firmware-ralink-firmware"
-
-FILES_${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt"
-FILES_${PN}-ralink = " \
- ${nonarch_base_libdir}/firmware/rt*.bin \
-"
-
-RDEPENDS_${PN}-ralink += "${PN}-ralink-license"
-
-# For mediatek MT7601U
-LICENSE_${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware"
-LICENSE_${PN}-mt7601u-license = "Firmware-ralink_a_mediatek_company_firmware"
-
-FILES_${PN}-mt7601u-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware"
-FILES_${PN}-mt7601u = " \
- ${nonarch_base_libdir}/firmware/mt7601u.bin \
-"
-
-RDEPENDS_${PN}-mt7601u += "${PN}-mt7601u-license"
-
-# For radeon
-LICENSE_${PN}-radeon = "Firmware-radeon"
-LICENSE_${PN}-radeon-license = "Firmware-radeon"
-
-FILES_${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon"
-FILES_${PN}-radeon = " \
- ${nonarch_base_libdir}/firmware/radeon \
-"
-
-RDEPENDS_${PN}-radeon += "${PN}-radeon-license"
-
-# For marvell
-LICENSE_${PN}-pcie8897 = "Firmware-Marvell"
-LICENSE_${PN}-pcie8997 = "Firmware-Marvell"
-LICENSE_${PN}-sd8686 = "Firmware-Marvell"
-LICENSE_${PN}-sd8688 = "Firmware-Marvell"
-LICENSE_${PN}-sd8787 = "Firmware-Marvell"
-LICENSE_${PN}-sd8797 = "Firmware-Marvell"
-LICENSE_${PN}-sd8801 = "Firmware-Marvell"
-LICENSE_${PN}-sd8887 = "Firmware-Marvell"
-LICENSE_${PN}-sd8897 = "Firmware-Marvell"
-LICENSE_${PN}-usb8997 = "Firmware-Marvell"
-LICENSE_${PN}-marvell-license = "Firmware-Marvell"
-
-FILES_${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell"
-FILES_${PN}-pcie8897 = " \
- ${nonarch_base_libdir}/firmware/mrvl/pcie8897_uapsta.bin \
-"
-FILES_${PN}-pcie8997 = " \
- ${nonarch_base_libdir}/firmware/mrvl/pcie8997_wlan_v4.bin \
- ${nonarch_base_libdir}/firmware/mrvl/pcieuart8997_combo_v4.bin \
- ${nonarch_base_libdir}/firmware/mrvl/pcieusb8997_combo_v4.bin \
-"
-FILES_${PN}-sd8686 = " \
- ${nonarch_base_libdir}/firmware/libertas/sd8686_v9* \
- ${nonarch_base_libdir}/firmware/sd8686* \
-"
-FILES_${PN}-sd8688 = " \
- ${nonarch_base_libdir}/firmware/libertas/sd8688* \
- ${nonarch_base_libdir}/firmware/mrvl/sd8688* \
-"
-FILES_${PN}-sd8787 = " \
- ${nonarch_base_libdir}/firmware/mrvl/sd8787_uapsta.bin \
-"
-FILES_${PN}-sd8797 = " \
- ${nonarch_base_libdir}/firmware/mrvl/sd8797_uapsta.bin \
-"
-FILES_${PN}-sd8801 = " \
- ${nonarch_base_libdir}/firmware/mrvl/sd8801_uapsta.bin \
-"
-FILES_${PN}-sd8887 = " \
- ${nonarch_base_libdir}/firmware/mrvl/sd8887_uapsta.bin \
-"
-FILES_${PN}-sd8897 = " \
- ${nonarch_base_libdir}/firmware/mrvl/sd8897_uapsta.bin \
-"
-FILES_${PN}-usb8997 = " \
- ${nonarch_base_libdir}/firmware/mrvl/usbusb8997_combo_v4.bin \
-"
-
-RDEPENDS_${PN}-sd8686 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8688 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8787 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8797 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8801 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8887 += "${PN}-marvell-license"
-RDEPENDS_${PN}-sd8897 += "${PN}-marvell-license"
-RDEPENDS_${PN}-usb8997 += "${PN}-marvell-license"
-
-# For netronome
-LICENSE_${PN}-netronome = "Firmware-netronome"
-
-FILES_${PN}-netronome-license = " \
- ${nonarch_base_libdir}/firmware/LICENCE.Netronome \
-"
-FILES_${PN}-netronome = " \
- ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0081*.nffw \
- ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \
- ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \
- ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0099*.nffw \
-"
-
-RDEPENDS_${PN}-netronome += "${PN}-netronome-license"
-
-# For rtl
-LICENSE_${PN}-rtl8188 = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8192cu = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8192ce = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8192su = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8723 = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8821 = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl-license = "Firmware-rtlwifi_firmware"
-LICENSE_${PN}-rtl8168 = "WHENCE"
-
-FILES_${PN}-rtl-license = " \
- ${nonarch_base_libdir}/firmware/LICENCE.rtlwifi_firmware.txt \
-"
-FILES_${PN}-rtl8188 = " \
- ${nonarch_base_libdir}/firmware/rtlwifi/rtl8188*.bin \
-"
-FILES_${PN}-rtl8192cu = " \
- ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cufw*.bin \
-"
-FILES_${PN}-rtl8192ce = " \
- ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cfw*.bin \
-"
-FILES_${PN}-rtl8192su = " \
- ${nonarch_base_libdir}/firmware/rtlwifi/rtl8712u.bin \
-"
-FILES_${PN}-rtl8723 = " \
- ${nonarch_base_libdir}/firmware/rtlwifi/rtl8723*.bin \
-"
-FILES_${PN}-rtl8821 = " \
- ${nonarch_base_libdir}/firmware/rtlwifi/rtl8821*.bin \
-"
-FILES_${PN}-rtl8168 = " \
- ${nonarch_base_libdir}/firmware/rtl_nic/rtl8168*.fw \
-"
-
-RDEPENDS_${PN}-rtl8188 += "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8192ce += "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8192cu += "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8192su = "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8723 += "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8821 += "${PN}-rtl-license"
-RDEPENDS_${PN}-rtl8168 += "${PN}-whence-license"
-
-# For ti-connectivity
-LICENSE_${PN}-wlcommon = "Firmware-ti-connectivity"
-LICENSE_${PN}-wl12xx = "Firmware-ti-connectivity"
-LICENSE_${PN}-wl18xx = "Firmware-ti-connectivity"
-LICENSE_${PN}-ti-connectivity-license = "Firmware-ti-connectivity"
-
-FILES_${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity"
-FILES_${PN}-wlcommon = " \
- ${nonarch_base_libdir}/firmware/TI* \
- ${nonarch_base_libdir}/firmware/ti-connectivity/TI* \
-"
-FILES_${PN}-wl12xx = " \
- ${nonarch_base_libdir}/firmware/wl12* \
- ${nonarch_base_libdir}/firmware/ti-connectivity/wl12* \
-"
-FILES_${PN}-wl18xx = " \
- ${nonarch_base_libdir}/firmware/wl18* \
- ${nonarch_base_libdir}/firmware/ti-connectivity/wl18* \
-"
-
-RDEPENDS_${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
-RDEPENDS_${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
-
-# For vt6656
-LICENSE_${PN}-vt6656 = "Firmware-via_vt6656"
-LICENSE_${PN}-vt6656-license = "Firmware-via_vt6656"
-
-FILES_${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656"
-FILES_${PN}-vt6656 = " \
- ${nonarch_base_libdir}/firmware/vntwusb.fw \
-"
-
-RDEPENDS_${PN}-vt6656 = "${PN}-vt6656-license"
-
-# For broadcom
-
-# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e " \${PN}-$pkg \\"; done | sort -u
-
-LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx"
-FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx"
-
-# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES_\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES
-
-FILES_${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw"
-FILES_${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw"
-FILES_${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin"
-FILES_${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin"
-FILES_${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin"
-FILES_${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.bin"
-FILES_${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin"
-FILES_${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin"
-FILES_${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin"
-FILES_${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin"
-FILES_${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin"
-FILES_${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin"
-FILES_${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin"
-FILES_${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \
- ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \
-"
-FILES_${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.bin"
-FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.bin"
-FILES_${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin"
-FILES_${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin"
-FILES_${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.bin"
-FILES_${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin"
-FILES_${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin"
-FILES_${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin"
-FILES_${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \
- ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \
-"
-FILES_${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin"
-FILES_${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin"
-
-# for i in `grep brcm WHENCE | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE_\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done
-# Currently 1st one and last 6 have cypress LICENSE
-
-LICENSE_${PN}-bcm43xx = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43xx += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43xx-hdr += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4329-fullmac += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43236b = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43236b += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4329 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4330 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4330 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4334 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4334 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4335 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4335 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4339 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4339 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43241b0 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43241b4 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43241b5 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43242a = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43242a += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43143 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43143 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43430a0 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4350c2 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4350 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4350 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4356 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4356 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43569 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43569 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43570 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43570 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4358 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4358 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm43602 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm43602 += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4366b = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4366b += "${PN}-broadcom-license"
-LICENSE_${PN}-bcm4371 = "Firmware-broadcom_bcm43xx"
-RDEPENDS_${PN}-bcm4371 += "${PN}-broadcom-license"
-
-# For broadcom cypress
-
-LICENSE_${PN}-cypress-license = "Firmware-cypress"
-FILES_${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress"
-
-FILES_${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd"
-FILES_${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.bin"
-FILES_${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.bin"
-FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.bin"
-FILES_${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin"
-FILES_${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.bin"
-FILES_${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \
- ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \
-"
-
-LICENSE_${PN}-bcm-0bb4-0306 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm-0bb4-0306 += "${PN}-cypress-license"
-LICENSE_${PN}-bcm43340 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm43340 += "${PN}-cypress-license"
-LICENSE_${PN}-bcm43362 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm43362 += "${PN}-cypress-license"
-LICENSE_${PN}-bcm43430 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm43430 += "${PN}-cypress-license"
-LICENSE_${PN}-bcm4354 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm4354 += "${PN}-cypress-license"
-LICENSE_${PN}-bcm4356-pcie = "Firmware-cypress"
-RDEPENDS_${PN}-bcm4356-pcie += "${PN}-cypress-license"
-LICENSE_${PN}-bcm4373 = "Firmware-cypress"
-RDEPENDS_${PN}-bcm4373 += "${PN}-cypress-license"
-
-# For Broadcom bnx2-mips
-#
-# which is a separate case to the other Broadcom firmwares since its
-# license is contained in the shared WHENCE file.
-
-LICENSE_${PN}-bnx2-mips = "WHENCE"
-LICENSE_${PN}-whence-license = "WHENCE"
-
-FILES_${PN}-bnx2-mips = "${nonarch_base_libdir}/firmware/bnx2/bnx2-mips-09-6.2.1b.fw"
-FILES_${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE"
-
-RDEPENDS_${PN}-bnx2-mips += "${PN}-whence-license"
-
-# For imx-sdma
-LICENSE_${PN}-imx-sdma-imx6q = "Firmware-imx-sdma_firmware"
-LICENSE_${PN}-imx-sdma-imx7d = "Firmware-imx-sdma_firmware"
-LICENSE_${PN}-imx-sdma-license = "Firmware-imx-sdma_firmware"
-
-FILES_${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin"
-
-RPROVIDES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
-RREPLACES_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
-RCONFLICTS_${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
-
-FILES_${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin"
-
-FILES_${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware"
-
-RDEPENDS_${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license"
-RDEPENDS_${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license"
-
-# For iwlwifi
-LICENSE_${PN}-iwlwifi = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-135-6 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-7 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-8 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-9 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-10 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-12 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-13 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-16 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-3160-17 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6000-4 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6050-4 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-6050-5 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-7260 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-7265 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-7265d = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-8000c = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-8265 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-9000 = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-misc = "Firmware-iwlwifi_firmware"
-LICENSE_${PN}-iwlwifi-license = "Firmware-iwlwifi_firmware"
-
-
-FILES_${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware"
-FILES_${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode"
-FILES_${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode"
-FILES_${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode"
-FILES_${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode"
-FILES_${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode"
-FILES_${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode"
-FILES_${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode"
-FILES_${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode"
-FILES_${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode"
-FILES_${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode"
-FILES_${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode"
-FILES_${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode"
-FILES_${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode"
-FILES_${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode"
-FILES_${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode"
-FILES_${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode"
-FILES_${PN}-iwlwifi-7260 = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode"
-FILES_${PN}-iwlwifi-7265 = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode"
-FILES_${PN}-iwlwifi-7265d = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode"
-FILES_${PN}-iwlwifi-8000c = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode"
-FILES_${PN}-iwlwifi-8265 = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode"
-FILES_${PN}-iwlwifi-9000 = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode"
-FILES_${PN}-iwlwifi-misc = "${nonarch_base_libdir}/firmware/iwlwifi-*.ucode"
-
-RDEPENDS_${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-7 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-8 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-9 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-10 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-12 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-13 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-16 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-3160-17 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6000-4 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6050-4 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-6050-5 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-7265d = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-8000c = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-8265 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-9000 = "${PN}-iwlwifi-license"
-RDEPENDS_${PN}-iwlwifi-misc = "${PN}-iwlwifi-license"
-
-# -iwlwifi-misc is a "catch all" package that includes all the iwlwifi
-# firmwares that are not already included in other -iwlwifi- packages.
-# -iwlwifi is a virtual package that depends upon all iwlwifi packages.
-# These are distinct in order to allow the -misc firmwares to be installed
-# without pulling in every other iwlwifi package.
-ALLOW_EMPTY_${PN}-iwlwifi = "1"
-ALLOW_EMPTY_${PN}-iwlwifi-misc = "1"
-
-# Handle package updating for the newly merged iwlwifi groupings
-RPROVIDES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
-RREPLACES_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
-RCONFLICTS_${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
-
-RPROVIDES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
-RREPLACES_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
-RCONFLICTS_${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
-
-# For ibt
-LICENSE_${PN}-ibt-license = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-11-5 = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-12-16 = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-17 = "Firmware-ibt_firmware"
-LICENSE_${PN}-ibt-misc = "Firmware-ibt_firmware"
-
-FILES_${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware"
-FILES_${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq"
-FILES_${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq"
-FILES_${PN}-ibt-11-5 = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc"
-FILES_${PN}-ibt-12-16 = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc"
-FILES_${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc"
-FILES_${PN}-ibt-misc = "${nonarch_base_libdir}/firmware/ibt-*"
-
-RDEPENDS_${PN}-ibt-hw-37-7 = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-hw-37.8 = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-11-5 = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-12-16 = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-17 = "${PN}-ibt-license"
-RDEPENDS_${PN}-ibt-misc = "${PN}-ibt-license"
-
-ALLOW_EMPTY_${PN}-ibt= "1"
-ALLOW_EMPTY_${PN}-ibt-misc = "1"
-
-LICENSE_${PN}-i915 = "Firmware-i915"
-LICENSE_${PN}-i915-license = "Firmware-i915"
-FILES_${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915"
-FILES_${PN}-i915 = "${nonarch_base_libdir}/firmware/i915"
-RDEPENDS_${PN}-i915 = "${PN}-i915-license"
-
-FILES_${PN}-adsp-sst-license = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst"
-LICENSE_${PN}-adsp-sst = "Firmware-adsp_sst"
-LICENSE_${PN}-adsp-sst-license = "Firmware-adsp_sst"
-FILES_${PN}-adsp-sst = "${nonarch_base_libdir}/firmware/intel/dsp_fw*"
-RDEPENDS_${PN}-adsp-sst = "${PN}-adsp-sst-license"
-
-# For QAT
-LICENSE_${PN}-qat = "Firmware-qat"
-LICENSE_${PN}-qat-license = "Firmware-qat"
-FILES_${PN}-qat-license = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware"
-FILES_${PN}-qat = "${nonarch_base_libdir}/firmware/qat*.bin"
-RDEPENDS_${PN}-qat = "${PN}-qat-license"
-
-# For QCOM VPU/GPU
-LICENSE_${PN}-qcom-license = "Firmware-qcom"
-FILES_${PN}-qcom-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt"
-FILES_${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*"
-FILES_${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*"
-FILES_${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw"
-FILES_${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*"
-RDEPENDS_${PN}-qcom-venus-1.8 = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-venus-4.2 = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-adreno-a3xx = "${PN}-qcom-license"
-RDEPENDS_${PN}-qcom-adreno-a530 = "${PN}-qcom-license"
-
-FILES_${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio"
-
-# For other firmwares
-# Maybe split out to separate packages when needed.
-LICENSE_${PN} = "\
- Firmware-Abilis \
- & Firmware-agere \
- & Firmware-amdgpu \
- & Firmware-amd-ucode \
- & Firmware-atmel \
- & Firmware-ca0132 \
- & Firmware-cavium \
- & Firmware-chelsio_firmware \
- & Firmware-cw1200 \
- & Firmware-dib0700 \
- & Firmware-e100 \
- & Firmware-ene_firmware \
- & Firmware-fw_sst_0f28 \
- & Firmware-go7007 \
- & Firmware-hfi1_firmware \
- & Firmware-i2400m \
- & Firmware-ibt_firmware \
- & Firmware-it913x \
- & Firmware-IntcSST2 \
- & Firmware-kaweth \
- & Firmware-moxa \
- & Firmware-myri10ge_firmware \
- & Firmware-nvidia \
- & Firmware-OLPC \
- & Firmware-ath9k-htc \
- & Firmware-phanfw \
- & Firmware-qat \
- & Firmware-qcom \
- & Firmware-qla1280 \
- & Firmware-qla2xxx \
- & Firmware-r8a779x_usb3 \
- & Firmware-radeon \
- & Firmware-ralink_a_mediatek_company_firmware \
- & Firmware-ralink-firmware \
- & Firmware-imx-sdma_firmware \
- & Firmware-siano \
- & Firmware-tda7706-firmware \
- & Firmware-ti-connectivity \
- & Firmware-ti-keystone \
- & Firmware-ueagle-atm4-firmware \
- & Firmware-wl1251 \
- & Firmware-xc4000 \
- & Firmware-xc5000 \
- & Firmware-xc5000c \
- & WHENCE \
-"
-
-FILES_${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*"
-FILES_${PN} += "${nonarch_base_libdir}/firmware/*"
-RDEPENDS_${PN} += "${PN}-license"
-RDEPENDS_${PN} += "${PN}-whence-license"
-
-# Make linux-firmware depend on all of the split-out packages.
-# Make linux-firmware-iwlwifi depend on all of the split-out iwlwifi packages.
-# Make linux-firmware-ibt depend on all of the split-out ibt packages.
-python populate_packages_prepend () {
- firmware_pkgs = oe.utils.packages_filter_out_system(d)
- d.appendVar('RRECOMMENDS_linux-firmware', ' ' + ' '.join(firmware_pkgs))
-
- iwlwifi_pkgs = filter(lambda x: x.find('-iwlwifi-') != -1, firmware_pkgs)
- d.appendVar('RRECOMMENDS_linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs))
-
- ibt_pkgs = filter(lambda x: x.find('-ibt-') != -1, firmware_pkgs)
- d.appendVar('RRECOMMENDS_linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs))
-}
-
-# Firmware files are generally not ran on the CPU, so they can be
-# allarch despite being architecture specific
-INSANE_SKIP = "arch"
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
deleted file mode 100644
index e76120c5b..000000000
--- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-require linux-libc-headers.inc
-
-SRC_URI_append_libc-musl = "\
- file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \
- file://0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch \
- file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
- file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
- file://0001-if_ether-move-muslc-ethhdr-protection-to-uapi-file.patch \
- file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \
- "
-
-SRC_URI_append = "\
- file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \
- file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \
-"
-
-SRC_URI[md5sum] = "7381ce8aac80a01448e065ce795c19c0"
-SRC_URI[sha256sum] = "437b141a6499159f5a7282d5eb4b2be055f8e862ccce44d7464e8759c31a2e43"
diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb
new file mode 100644
index 000000000..9d18df76c
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.2.bb
@@ -0,0 +1,18 @@
+require linux-libc-headers.inc
+
+SRC_URI_append_libc-musl = "\
+ file://0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch \
+ file://0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch \
+ file://0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch \
+ file://0001-libc-compat.h-musl-_does_-define-IFF_LOWER_UP-DORMAN.patch \
+ file://0001-if_ether-move-muslc-ethhdr-protection-to-uapi-file.patch \
+ file://0001-include-linux-stddef.h-in-swab.h-uapi-header.patch \
+ "
+
+SRC_URI_append = "\
+ file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \
+ file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \
+"
+
+SRC_URI[md5sum] = "ddf994de00d7b18395886dd9b30b9262"
+SRC_URI[sha256sum] = "54ad66f672e1a831b574f5e704e8a05f1e6180a8245d4bdd811208a6cb0ac1e7"
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index 5ec592973..b68d945a8 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -65,7 +65,6 @@ do_install() {
)
# then drop all but the needed Makefiles/Kconfig files
- rm -rf $kerneldir/build/Documentation
rm -rf $kerneldir/build/scripts
rm -rf $kerneldir/build/include
@@ -142,7 +141,7 @@ do_install() {
# arch/arm64/include/asm/opcodes.h references arch/arm
cp -a --parents arch/arm/include/asm/opcodes.h $kerneldir/build/
- cp -a --parents arch/arm64/kernel/vdso/gettimeofday.S $kerneldir/build/
+ cp -a --parents arch/arm64/kernel/vdso/*gettimeofday.* $kerneldir/build/
cp -a --parents arch/arm64/kernel/vdso/sigreturn.S $kerneldir/build/
cp -a --parents arch/arm64/kernel/vdso/note.S $kerneldir/build/
cp -a --parents arch/arm64/kernel/vdso/gen_vdso_offsets.sh $kerneldir/build/
@@ -180,6 +179,8 @@ do_install() {
cp -a include $kerneldir/build
+ cp -a --parents lib/vdso/* $kerneldir/build/ 2>/dev/null || :
+
cp -a --parents tools/include/tools/le_byteshift.h $kerneldir/build/
cp -a --parents tools/include/tools/be_byteshift.h $kerneldir/build/
@@ -205,11 +206,12 @@ do_install() {
cp -a --parents arch/x86/purgatory/sha256.c $kerneldir/build/ 2>/dev/null || :
cp -a --parents arch/x86/purgatory/stack.S $kerneldir/build/
- cp -a --parents arch/x86/purgatory/string.c $kerneldir/build/
+ cp -a --parents arch/x86/purgatory/string.c $kerneldir/build/ 2>/dev/null || :
cp -a --parents arch/x86/purgatory/setup-x86_64.S $kerneldir/build/
cp -a --parents arch/x86/purgatory/entry64.S $kerneldir/build/
cp -a --parents arch/x86/boot/string.h $kerneldir/build/
cp -a --parents arch/x86/boot/string.c $kerneldir/build/
+ cp -a --parents arch/x86/boot/compressed/string.c $kerneldir/build/ 2>/dev/null || :
cp -a --parents arch/x86/boot/ctype.h $kerneldir/build/
fi
@@ -240,6 +242,15 @@ do_install() {
# Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
cp $kerneldir/build/.config $kerneldir/build/include/config/auto.conf
+ # make the scripts python3 safe. We won't be running these, and if they are
+ # left as /usr/bin/python rootfs assembly will fail, since we only have python3
+ # in the RDEPENDS (and the python3 package does not include /usr/bin/python)
+ for ss in $(find $kerneldir/build/scripts -type f -name '*'); do
+ sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "$ss"
+ sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "$ss"
+ sed -i 's,/usr/bin/python,/usr/bin/env python3,' "$ss"
+ done
+
chown -R root:root ${D}
}
@@ -249,7 +260,7 @@ do_install[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
FILES_${PN} = "${KERNEL_BUILD_ROOT} ${KERNEL_SRC_PATH}"
FILES_${PN}-dbg += "${KERNEL_BUILD_ROOT}*/build/scripts/*/.debug/*"
-RDEPENDS_${PN} = "bc python flex bison ${TCLIBC}-utils"
+RDEPENDS_${PN} = "bc python3 flex bison ${TCLIBC}-utils"
# 4.15+ needs these next two RDEPENDS
RDEPENDS_${PN} += "openssl-dev util-linux"
# and x86 needs a bit more for 4.15+
diff --git a/poky/meta/recipes-kernel/linux/linux-dtb.inc b/poky/meta/recipes-kernel/linux/linux-dtb.inc
deleted file mode 100644
index f1912775c..000000000
--- a/poky/meta/recipes-kernel/linux/linux-dtb.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-python() {
- bb.warn("You are using the linux-dtb.inc which is deprecated. You can safely remove it as the Device Tree support is automatically enabled when KERNEL_DEVICETREE is set.")
-}
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index 8c83620d3..163f28056 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.2-rc+"
+LINUX_VERSION ?= "5.3-rc+"
LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
PV = "${LINUX_VERSION}+git${SRCPV}"
@@ -39,14 +39,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
-COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64)"
+COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64)"
KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.scc"
KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc"
KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}"
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 a4facfeb6..1edcd7eda 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 ?= "4dbcaca4c9ff89e866d2b5d01df005f317c618a4"
-SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1"
+SRCREV_machine ?= "02f0c38dd20819c0e9d279e3b1e95280101ea8ab"
+SRCREV_meta ?= "a7cb57afb9fb9787079c28a1028d797632105e56"
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.44"
+LINUX_VERSION ?= "4.19.72"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
@@ -38,7 +38,7 @@ KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.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
deleted file mode 100644
index 8bd9d7446..000000000
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-KBRANCH ?= "v5.0/standard/preempt-rt/base"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-# Skip processing of this recipe if it is not explicitly specified as the
-# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
-# to build multiple virtual/kernel providers, e.g. as dependency of
-# core-image-rt-sdk, core-image-rt.
-python () {
- if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
- raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
-}
-
-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.19"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "2"
-
-LINUX_KERNEL_TYPE = "preempt-rt"
-
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
-
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
-
-# Functionality flags
-KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
-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.2.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb
new file mode 100644
index 000000000..6ab1f8d3e
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.2.bb
@@ -0,0 +1,44 @@
+KBRANCH ?= "v5.2/standard/preempt-rt/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# Skip processing of this recipe if it is not explicitly specified as the
+# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
+# to build multiple virtual/kernel providers, e.g. as dependency of
+# core-image-rt-sdk, core-image-rt.
+python () {
+ if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
+ raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
+}
+
+SRCREV_machine ?= "04d5cfbbd09ba202134f97f8818372c7c9c81fe7"
+SRCREV_meta ?= "56f5bc749e5a8e40b55a3819288ac277813ec5ef"
+
+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.2;destsuffix=${KMETA}"
+
+LINUX_VERSION ?= "5.2.17"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+LINUX_KERNEL_TYPE = "preempt-rt"
+
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
+
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
+KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.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 e668854fa..446bce3a8 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.44"
+LINUX_VERSION ?= "4.19.72"
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 ?= "a3cd9d732b27e78f94634924b7232b6280dae002"
-SRCREV_machine ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c"
-SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1"
+SRCREV_machine_qemuarm ?= "283b870cef5f79a6f07465828a51f27a6aed4c50"
+SRCREV_machine ?= "2d7c98a6748a64ca36fd1d2e60c517b16326df61"
+SRCREV_meta ?= "a7cb57afb9fb9787079c28a1028d797632105e56"
PV = "${LINUX_VERSION}+git${SRCPV}"
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
deleted file mode 100644
index 226a90c7f..000000000
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-KBRANCH ?= "v5.0/standard/tiny/base"
-KBRANCH_qemuarm ?= "v5.0/standard/tiny/arm-versatile-926ejs"
-
-LINUX_KERNEL_TYPE = "tiny"
-KCONFIG_MODE = "--allnoconfig"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-LINUX_VERSION ?= "5.0.19"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "2"
-
-SRCREV_machine_qemuarm ?= "fabee455f397ba8054f35a3ad5f2250bbad93bef"
-SRCREV_machine ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458"
-SRCREV_meta ?= "31de88e51d100f2c3eefb7acb7390b0144bcfc69"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-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}"
-
-COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
-
-# Functionality flags
-KERNEL_FEATURES = ""
-
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb
new file mode 100644
index 000000000..e6eb78198
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.2.bb
@@ -0,0 +1,32 @@
+KBRANCH ?= "v5.2/standard/tiny/base"
+KBRANCH_qemuarm ?= "v5.2/standard/tiny/arm-versatile-926ejs"
+
+LINUX_KERNEL_TYPE = "tiny"
+KCONFIG_MODE = "--allnoconfig"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+LINUX_VERSION ?= "5.2.17"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+SRCREV_machine_qemuarm ?= "e31887832108a1dfac19601459a84a2fa38207f7"
+SRCREV_machine ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_meta ?= "56f5bc749e5a8e40b55a3819288ac277813ec5ef"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+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.2;destsuffix=${KMETA}"
+
+COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
+
+# Functionality flags
+KERNEL_FEATURES = ""
+
+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 014d6894e..96debc42d 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 ?= "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"
+SRCREV_machine_qemuarm ?= "b0be447bc9053d07f3438999778bd077679ae756"
+SRCREV_machine_qemuarm64 ?= "2d7c98a6748a64ca36fd1d2e60c517b16326df61"
+SRCREV_machine_qemumips ?= "3c8b21d0a335b5f418682969448574dfd0011f02"
+SRCREV_machine_qemuppc ?= "2d7c98a6748a64ca36fd1d2e60c517b16326df61"
+SRCREV_machine_qemux86 ?= "2d7c98a6748a64ca36fd1d2e60c517b16326df61"
+SRCREV_machine_qemux86-64 ?= "2d7c98a6748a64ca36fd1d2e60c517b16326df61"
+SRCREV_machine_qemumips64 ?= "2854797711fee4061fb760c2b6e0e3d3135195ab"
+SRCREV_machine ?= "2d7c98a6748a64ca36fd1d2e60c517b16326df61"
+SRCREV_meta ?= "a7cb57afb9fb9787079c28a1028d797632105e56"
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.44"
+LINUX_VERSION ?= "4.19.72"
DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
DEPENDS += "openssl-native util-linux-native"
@@ -43,7 +43,7 @@ COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemum
# Functionality flags
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
-KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.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)}"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
deleted file mode 100644
index 7456141c5..000000000
--- a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-KBRANCH ?= "v5.0/standard/base"
-
-require recipes-kernel/linux/linux-yocto.inc
-
-# board specific branches
-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 ?= "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"
-
-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-5.0;destsuffix=${KMETA}"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-LINUX_VERSION ?= "5.0.19"
-
-DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
-DEPENDS += "openssl-native util-linux-native"
-
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-KMETA = "kernel-meta"
-KCONF_BSP_AUDIT_LEVEL = "2"
-
-KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
-
-COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
-
-# Functionality flags
-KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
-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("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.2.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.2.bb
new file mode 100644
index 000000000..49b14b618
--- /dev/null
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.2.bb
@@ -0,0 +1,54 @@
+KBRANCH ?= "v5.2/standard/base"
+
+require recipes-kernel/linux/linux-yocto.inc
+
+# board specific branches
+KBRANCH_qemuarm ?= "v5.2/standard/arm-versatile-926ejs"
+KBRANCH_qemuarm64 ?= "v5.2/standard/qemuarm64"
+KBRANCH_qemumips ?= "v5.2/standard/mti-malta32"
+KBRANCH_qemuppc ?= "v5.2/standard/qemuppc"
+KBRANCH_qemuriscv64 ?= "v5.2/standard/base"
+KBRANCH_qemux86 ?= "v5.2/standard/base"
+KBRANCH_qemux86-64 ?= "v5.2/standard/base"
+KBRANCH_qemumips64 ?= "v5.2/standard/mti-malta64"
+
+SRCREV_machine_qemuarm ?= "d956bb318771761069228fc70fea722ceabecb75"
+SRCREV_machine_qemuarm64 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_machine_qemumips ?= "9e95334637a4a85b19bea120f9027ff0028d7069"
+SRCREV_machine_qemuppc ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_machine_qemuriscv64 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_machine_qemux86 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_machine_qemux86-64 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_machine_qemumips64 ?= "29a8d126f60d1b9e9cf0985b38da2033ebde25db"
+SRCREV_machine ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
+SRCREV_meta ?= "56f5bc749e5a8e40b55a3819288ac277813ec5ef"
+
+# remap qemuarm to qemuarma15 for the 5.2 kernel
+# KMACHINE_qemuarm ?= "qemuarma15"
+
+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-5.2;destsuffix=${KMETA}"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+LINUX_VERSION ?= "5.2.17"
+
+DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
+DEPENDS += "openssl-native util-linux-native"
+
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+KMETA = "kernel-meta"
+KCONF_BSP_AUDIT_LEVEL = "2"
+
+KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
+
+COMPATIBLE_MACHINE = "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
+KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
+KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc features/drm-bochs/drm-bochs.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/babeltrace_1.5.6.bb b/poky/meta/recipes-kernel/lttng/babeltrace_1.5.6.bb
deleted file mode 100644
index f5c31c446..000000000
--- a/poky/meta/recipes-kernel/lttng/babeltrace_1.5.6.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Babeltrace - Trace Format Babel Tower"
-DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log."
-HOMEPAGE = "http://www.efficios.com/babeltrace/"
-BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace"
-LICENSE = "MIT & GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa"
-
-DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
-
-SRC_URI = "git://git.linuxfoundation.org/diamon/babeltrace.git;branch=stable-1.5"
-SRCREV = "4f10a4adabee5ca61c27ba399b3438505e0cd6de"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)$"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-debug-info"
-
-ASNEEDED = ""
diff --git a/poky/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb b/poky/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb
new file mode 100644
index 000000000..05ef6d099
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/babeltrace_1.5.7.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Babeltrace - Trace Format Babel Tower"
+DESCRIPTION = "Babeltrace provides trace read and write libraries in host side, as well as a trace converter, which used to convert LTTng 2.0 traces into human-readable log."
+HOMEPAGE = "http://www.efficios.com/babeltrace/"
+BUGTRACKER = "https://bugs.lttng.org/projects/babeltrace"
+LICENSE = "MIT & GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=76ba15dd76a248e1dd526bca0e2125fa"
+
+DEPENDS = "glib-2.0 util-linux popt bison-native flex-native"
+
+SRC_URI = "git://git.linuxfoundation.org/diamon/babeltrace.git;branch=stable-1.5"
+SRCREV = "d4014aeef4b89a4aaab1af42d7b0d143d62da0ff"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)$"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-debug-info"
+
+ASNEEDED = ""
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb
deleted file mode 100644
index 6e2d65549..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SECTION = "devel"
-SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
-DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
-LICENSE = "LGPLv2.1 & GPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3 \
- file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \
- file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad \
- "
-
-inherit module
-
-COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux'
-
-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] = "07c0b1ea4c1dd9d3edba8dc980fd93dd"
-SRC_URI[sha256sum] = "e0d031005eef337c62de530a3b5b3e8fb1c732846eefcb23b8978edd2091f6e4"
-
-export INSTALL_MOD_DIR="kernel/lttng-modules"
-
-EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
-
-do_install_append() {
- # Delete empty directories to avoid QA failures if no modules were built
- find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
-}
-
-python do_package_prepend() {
- if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
- 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-modules_2.10.11.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.11.bb
new file mode 100644
index 000000000..789a3be85
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.11.bb
@@ -0,0 +1,46 @@
+SECTION = "devel"
+SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
+DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
+LICENSE = "LGPLv2.1 & GPLv2 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3 \
+ file://gpl-2.0.txt;md5=751419260aa954499f7abaabaa882bbe \
+ file://lgpl-2.1.txt;md5=243b725d71bb5df4a1e5920b344b86ad \
+ "
+
+inherit module
+
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux'
+
+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] = "c618fb646514dfc1bf910cfd7cda4256"
+SRC_URI[sha256sum] = "7f91e39b2e8e46d8bbba2b4c8c1614f1fb380611cd1a1fccc1d1859be26112f1"
+
+export INSTALL_MOD_DIR="kernel/lttng-modules"
+
+EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"
+
+do_install_append() {
+ # Delete empty directories to avoid QA failures if no modules were built
+ find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
+}
+
+python do_package_prepend() {
+ if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
+ 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"
+SRCREV_FORMAT ?= "lttng_git"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch
new file mode 100644
index 000000000..c494cee60
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-check-for-gettid-API-during-configure.patch
@@ -0,0 +1,55 @@
+From 69c62f5f3cc424b7dd0c8e4097743b39a9c48306 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Jul 2019 08:48:13 -0700
+Subject: [lttng-tools][PATCH] check for gettid API during configure
+
+Add support for gettid() provided by glibc 2.30+
+
+Since version 2.30 glibc provides gettid and it causes conflicts with
+locally defined gettid(). Use the local definition of
+gettid only if system gettid is not available.
+
+https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;hb=HEAD<Paste>
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ src/common/compat/tid.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7b99f5c..e4bd82c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -190,7 +190,7 @@ AC_CHECK_HEADERS([ \
+ # Basic functions check
+ AC_CHECK_FUNCS([ \
+ atexit bzero clock_gettime dup2 fdatasync fls ftruncate \
+- gethostbyname gethostname getpagesize localtime_r memchr memset \
++ gethostbyname gethostname getpagesize gettid localtime_r memchr memset \
+ mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \
+ strncasecmp strndup strnlen strpbrk strrchr strstr strtol strtoul \
+ strtoull dirfd gethostbyname2 getipnodebyname epoll_create1 \
+diff --git a/src/common/compat/tid.h b/src/common/compat/tid.h
+index 40f562f..aa07a85 100644
+--- a/src/common/compat/tid.h
++++ b/src/common/compat/tid.h
+@@ -25,6 +25,7 @@
+ #ifndef LTTNG_TID_H
+ #define LTTNG_TID_H
+
++#if !HAVE_GETTID
+ #ifdef __linux__
+ #include <syscall.h>
+ #endif
+@@ -47,5 +48,5 @@ static inline pid_t gettid(void)
+ return getpid();
+ }
+ #endif
+-
++#endif /* HAVE_GETTID */
+ #endif /* LTTNG_TID_H */
+--
+2.22.0
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb
index 469ad111c..aa6d19d0f 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.7.bb
@@ -34,6 +34,7 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \
file://lttng-sessiond.service \
file://0001-Skip-when-testapp-is-not-present.patch \
file://0002-Fix-check-for-lttng-modules-presence-before-testing.patch \
+ file://0001-check-for-gettid-API-during-configure.patch \
"
SRC_URI[md5sum] = "e7804d10e4cade381e241601f6047373"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch
new file mode 100644
index 000000000..c2028d0e1
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch
@@ -0,0 +1,31 @@
+From f79dac30af9adda12996da7f6aa6667d3b580537 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Thu, 26 Sep 2019 17:54:00 +0800
+Subject: [PATCH] python-lttngust/Makefile.am: Add --install-lib to setup.py
+
+Otherwise it may install to /usr/lib, but should be /usr/lib64 when cross
+building.
+
+Upstream-Status: Submitted [https://github.com/lttng/lttng-ust/pull/59]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ python-lttngust/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/python-lttngust/Makefile.am b/python-lttngust/Makefile.am
+index 6c0d20d..38b51b8 100644
+--- a/python-lttngust/Makefile.am
++++ b/python-lttngust/Makefile.am
+@@ -9,7 +9,7 @@ install-exec-local:
+ if [ "$(DESTDIR)" != "" ]; then \
+ opts="$$opts --root=$(DESTDIR)"; \
+ fi; \
+- $(PYTHON) setup.py install $$opts;
++ $(PYTHON) setup.py install $$opts --install-lib=$(pythondir);
+
+ clean-local:
+ rm -rf $(builddir)/build
+--
+2.7.4
+
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb
deleted file mode 100644
index a8eebb223..000000000
--- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.4.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "Linux Trace Toolkit Userspace Tracer 2.x"
-DESCRIPTION = "The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes."
-HOMEPAGE = "http://lttng.org/ust"
-BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust"
-
-LICENSE = "LGPLv2.1+ & MIT & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \
- file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \
- file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44"
-
-PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
- am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
- PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
-"
-
-inherit autotools lib_package manpages python3native
-
-DEPENDS = "liburcu util-linux"
-RDEPENDS_${PN}-bin = "python3-core"
-
-# For backwards compatibility after rename
-RPROVIDES_${PN} = "lttng2-ust"
-RREPLACES_${PN} = "lttng2-ust"
-RCONFLICTS_${PN} = "lttng2-ust"
-
-PE = "2"
-
-SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \
- file://lttng-ust-doc-examples-disable.patch \
- "
-
-SRC_URI[md5sum] = "19916ff0dec23c90f985586a8cbd1fd2"
-SRC_URI[sha256sum] = "75d5b4bb205c444a343e1297e14cd3a2503fc645a26710531cbd319c72c1a967"
-
-CVE_PRODUCT = "ust"
-
-PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
-PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3"
-
-FILES_${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a"
-FILES_${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la"
-
-do_install_append() {
- # Patch python tools to use Python 3; they should be source compatible, but
- # still refer to Python 2 in the shebang
- sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp
-}
diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb
new file mode 100644
index 000000000..cfaad30b6
--- /dev/null
+++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.10.5.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Linux Trace Toolkit Userspace Tracer 2.x"
+DESCRIPTION = "The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes."
+HOMEPAGE = "http://lttng.org/ust"
+BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust"
+
+LICENSE = "LGPLv2.1+ & MIT & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \
+ file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \
+ file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44"
+
+PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \
+ am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \
+ PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \
+"
+
+inherit autotools lib_package manpages python3native
+
+DEPENDS = "liburcu util-linux"
+RDEPENDS_${PN}-bin = "python3-core"
+
+# For backwards compatibility after rename
+RPROVIDES_${PN} = "lttng2-ust"
+RREPLACES_${PN} = "lttng2-ust"
+RCONFLICTS_${PN} = "lttng2-ust"
+
+PE = "2"
+
+SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \
+ file://lttng-ust-doc-examples-disable.patch \
+ file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \
+ "
+
+SRC_URI[md5sum] = "f0c86a9fa7dcfd0205fb42584a310b1c"
+SRC_URI[sha256sum] = "06f9ed9b2198855b1c7fcbf15fe57297ee259409ffa1b3bad87321412d98bc35"
+
+CVE_PRODUCT = "ust"
+
+PACKAGECONFIG[manpages] = "--enable-man-pages, --disable-man-pages, asciidoc-native xmlto-native libxslt-native"
+PACKAGECONFIG[python3-agent] = "--enable-python-agent ${PYTHON_OPTION}, --disable-python-agent, python3, python3"
+
+FILES_${PN} += " ${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_${PN}-staticdev += " ${PYTHON_SITEPACKAGES_DIR}/*.a"
+FILES_${PN}-dev += " ${PYTHON_SITEPACKAGES_DIR}/*.la"
+
+do_install_append() {
+ # Patch python tools to use Python 3; they should be source compatible, but
+ # still refer to Python 2 in the shebang
+ sed -i -e '1s,#!.*python.*,#!${bindir}/python3,' ${D}${bindir}/lttng-gen-tp
+}
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index 4e603f1a3..8201c0cb6 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -13,7 +13,7 @@ PR = "r9"
PACKAGECONFIG ??= "scripting tui libunwind"
PACKAGECONFIG[dwarf] = ",NO_DWARF=1"
-PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python"
+PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python3"
# gui support was added with kernel 3.6.35
# since 3.10 libnewt was replaced by slang
# to cover a wide range of kernel we add both dependencies
@@ -44,8 +44,8 @@ PROVIDES = "virtual/perf"
inherit linux-kernel-base kernel-arch manpages
# needed for building the tools/perf Python bindings
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'pythonnative', '', d)}
-inherit python-dir
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'python3native', '', d)}
+inherit python3-dir
export PYTHON_SITEPACKAGES_DIR
#kernel 3.1+ supports WERROR to disable warnings as errors
@@ -94,6 +94,7 @@ EXTRA_OEMAKE += "\
'sharedir=${@os.path.relpath(datadir, prefix)}' \
'mandir=${@os.path.relpath(mandir, prefix)}' \
'infodir=${@os.path.relpath(infodir, prefix)}' \
+ ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \
"
# During do_configure, we might run a 'make clean'. That often breaks
@@ -132,7 +133,7 @@ do_install() {
oe_runmake install
# we are checking for this make target to be compatible with older perf versions
if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then
- oe_runmake DESTDIR=${D} install-python_ext
+ oe_runmake DESTDIR=${D} install-python_ext
fi
}
@@ -232,13 +233,19 @@ do_configure_prepend () {
fi
# use /usr/bin/env instead of version specific python
- for s in `find ${S}/tools/perf/scripts/python/ -name '*.py'`; do
- sed -i 's,/usr/bin/python2,/usr/bin/env python,' "${s}"
+ for s in `find ${S}/tools/perf/ -name '*.py'`; do
+ sed -i 's,/usr/bin/python,/usr/bin/env python3,' "${s}"
+ sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "${s}"
+ sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "${s}"
done
# unistd.h can be out of sync between libc-headers and the captured version in the perf source
# so we copy it from the sysroot unistd.h to the perf unistd.h
install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h
+ install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h
+
+ # bits.h can have the same issue as unistd.h, so we make the tools variant take precedence
+ [ -e ${S}/tools/include/linux/bits.h ] && install -D -m0644 ${S}/tools/include/linux/bits.h ${S}/include/linux/bits.h
}
python do_package_prepend() {
@@ -252,9 +259,9 @@ PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python"
RDEPENDS_${PN} += "elfutils bash"
RDEPENDS_${PN}-archive =+ "bash"
-RDEPENDS_${PN}-python =+ "bash python python-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}"
+RDEPENDS_${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python3', '', d)}"
RDEPENDS_${PN}-perl =+ "bash perl perl-modules"
-RDEPENDS_${PN}-tests =+ "python"
+RDEPENDS_${PN}-tests =+ "python3"
RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG', 'scripting', '${PN}-perl ${PN}-python', '',d)}"
RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}"
diff --git a/poky/meta/recipes-kernel/powertop/powertop/0001-wakeup_xxx.h-include-limits.h.patch b/poky/meta/recipes-kernel/powertop/powertop/0001-wakeup_xxx.h-include-limits.h.patch
new file mode 100644
index 000000000..7bfca8abf
--- /dev/null
+++ b/poky/meta/recipes-kernel/powertop/powertop/0001-wakeup_xxx.h-include-limits.h.patch
@@ -0,0 +1,55 @@
+From 4c24fdd8e0a42359df7308155b2d43c28a5e02fd Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Mon, 20 May 2019 20:25:00 +0200
+Subject: [PATCH] wakeup_xxx.h: include limits.h
+
+limits.h must be included to define PATH_MAX otherwise build will fail
+on:
+
+In file included from wakeup/wakeup_ethernet.cpp:45:0:
+wakeup/wakeup_ethernet.h:35:16: error: 'PATH_MAX' was not declared in this scope
+ char eth_path[PATH_MAX];
+
+In file included from wakeup/wakeup_usb.cpp:45:0:
+wakeup/wakeup_usb.h:35:16: error: 'PATH_MAX' was not declared in this scope
+ char usb_path[PATH_MAX];
+
+Fixes:
+ - http://autobuild.buildroot.org/results/a0b3337cf4a827e6566f8b15b6bb180f0dcef7a3
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+Upstream-Status: Submitted [https://lists.01.org/pipermail/powertop/2019-May/002052.html]
+---
+ src/wakeup/wakeup_ethernet.h | 1 +
+ src/wakeup/wakeup_usb.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/wakeup/wakeup_ethernet.h b/src/wakeup/wakeup_ethernet.h
+index 682bf95..e0fa628 100644
+--- a/src/wakeup/wakeup_ethernet.h
++++ b/src/wakeup/wakeup_ethernet.h
+@@ -25,6 +25,7 @@
+ #ifndef _INCLUDE_GUARD_ETHERNET_WAKEUP_H
+ #define _INCLUDE_GUARD_ETHERNET_WAKEUP_H
+
++#include <limits.h>
+ #include <vector>
+
+ #include "wakeup.h"
+diff --git a/src/wakeup/wakeup_usb.h b/src/wakeup/wakeup_usb.h
+index f7a1f7e..15898e3 100644
+--- a/src/wakeup/wakeup_usb.h
++++ b/src/wakeup/wakeup_usb.h
+@@ -25,6 +25,7 @@
+ #ifndef _INCLUDE_GUARD_USB_WAKEUP_H
+ #define _INCLUDE_GUARD_USB_WAKEUP_H
+
++#include <limits.h>
+ #include <vector>
+
+ #include "wakeup.h"
+--
+2.20.1
+
diff --git a/poky/meta/recipes-kernel/powertop/powertop_2.10.bb b/poky/meta/recipes-kernel/powertop/powertop_2.10.bb
index d943ba9f6..5be8d2311 100644
--- a/poky/meta/recipes-kernel/powertop/powertop_2.10.bb
+++ b/poky/meta/recipes-kernel/powertop/powertop_2.10.bb
@@ -7,6 +7,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
SRC_URI = "http://01.org/sites/default/files/downloads/powertop-v${PV}.tar.gz \
+ file://0001-wakeup_xxx.h-include-limits.h.patch \
"
SRC_URI[md5sum] = "a69bd55901cf919cc564187402ea2c9c"
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/configure-allow-to-disable-libvirt.patch b/poky/meta/recipes-kernel/systemtap/systemtap/configure-allow-to-disable-libvirt.patch
deleted file mode 100644
index b4f2fbc06..000000000
--- a/poky/meta/recipes-kernel/systemtap/systemtap/configure-allow-to-disable-libvirt.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5eb10d90af9178edb65e6091ae939d1b5b19bb78 Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Tue, 23 Sep 2014 04:47:10 -0400
-Subject: [PATCH] systemtap: allow to disable libvirt
-
-Upstream-Status: Pending
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- configure.ac | 13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a631ae7..cb4885b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -525,10 +525,15 @@ dnl Check for the libvirt and libxml2 devel packages
-
- dnl We require libvirt >= 1.0.2 because stapvirt relies on the
- dnl virDomainOpenChannel function, which was implemented in 1.0.2.
--PKG_CHECK_MODULES([libvirt], [libvirt >= 1.0.2], [
-- have_libvirt=yes
-- AC_DEFINE([HAVE_LIBVIRT],[1],[Define to 1 if libvirt development libraries are installed])
-- ], [have_libvirt=no])
-+AC_ARG_ENABLE([libvirt],
-+ AS_HELP_STRING([--disable-libvirt], [Do not use libvirt even if present]))
-+
-+if test "$enable_libvirt" != no; then
-+ PKG_CHECK_MODULES([libvirt], [libvirt >= 1.0.2], [
-+ have_libvirt=yes
-+ AC_DEFINE([HAVE_LIBVIRT],[1],[Define to 1 if libvirt development libraries are installed])
-+ ], [have_libvirt=no])
-+fi
- AM_CONDITIONAL([HAVE_LIBVIRT], [test "${have_libvirt}" = "yes"])
- PKG_CHECK_MODULES([libxml2], [libxml-2.0], [
- have_libxml2=yes
---
-1.7.9.5
-
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch b/poky/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch
deleted file mode 100644
index 9313a5aba..000000000
--- a/poky/meta/recipes-kernel/systemtap/systemtap/monitor-option.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 93fc4744fedf6fc593ee656968da97f7b1862ada Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 4 Oct 2016 16:37:53 +0100
-Subject: [PATCH 4/6] systemtap: rationalise dependencies
-
-Add an option to explicitly disable the monitor (and therefore the dependency on
-json-c and ncurses).
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
----
- configure.ac | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -766,13 +766,16 @@ dnl We want either (or both) python prob
- AM_CONDITIONAL([HAVE_PYTHON_PROBES],
- [test "x$have_python2_support" = "xyes" -o "x$have_python3_support" = "xyes"])
-
-+AC_ARG_ENABLE([monitor], AS_HELP_STRING([--disable-monitor],[Disable monitor]))
-+if test "$enable_monitor" != "no"; then
- dnl Check for presence of json-c and ncurses for use in monitor mode
- PKG_CHECK_MODULES([jsonc], [json-c >= 0.11], [have_jsonc=yes], [have_jsonc=no])
- PKG_CHECK_MODULES([ncurses], [ncurses], [have_ncurses=yes], [have_ncurses=no])
--AM_CONDITIONAL([HAVE_MONITOR_LIBS], [test "${have_jsonc}" == "yes" -a "${have_ncurses}" == "yes"])
- if test "${have_jsonc}" == "yes" -a "${have_ncurses}" == yes; then
- AC_DEFINE([HAVE_MONITOR_LIBS],[1],[Define to 1 if json-c and ncurses libraries are installed])
- fi
-+fi
-+AM_CONDITIONAL([HAVE_MONITOR_LIBS], [test "${have_jsonc}" == "yes" -a "${have_ncurses}" == "yes" -a "$enable_monitor" != "no"])
-
- AC_CACHE_CHECK([for assembler .section "?" flags support], stap_cv_sectionq, [
- old_CFLAGS="$CFLAGS"
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch b/poky/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch
deleted file mode 100644
index 2c860b19e..000000000
--- a/poky/meta/recipes-kernel/systemtap/systemtap/no-msgfmt-check.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 43f1b04449bb1cf7e0092263f1c2a25f3fca08ef Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 8 Nov 2016 23:07:41 +0000
-Subject: [PATCH 5/6] systemtap: remove explicit msgfmt check
-
-There is no need to explicitly check that msgfmt was found as the gettext macros
-handle this for us if NLS is enabled.
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
----
- configure.ac | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 2ea9b3cbf..95417f59c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -36,10 +36,6 @@ AC_CHECK_FUNCS(openat)
- AM_GNU_GETTEXT(external)
- AM_GNU_GETTEXT_VERSION([0.19.4])
-
--if test "x$GMSGFMT" = "x:"; then
-- AC_MSG_ERROR([missing gnu /usr/bin/msgfmt])
--fi
--
- # We want the 'PYTHON' varible to be python version 2. We also want
- # our custom 'PYTHON3' varible to be python version 3.
- #
---
-2.11.0
-
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/x32_abi_time.patch b/poky/meta/recipes-kernel/systemtap/systemtap/x32_abi_time.patch
deleted file mode 100644
index 28a7eae40..000000000
--- a/poky/meta/recipes-kernel/systemtap/systemtap/x32_abi_time.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Fix time_t print because in x32 ABI is long long int instead of long int.
-
-Upstream-Status: Pending
-
-Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-
-diff --git a/cache.cxx b/cache.cxx
-index 3546b30..19c77ca 100644
---- a/cache.cxx
-+++ b/cache.cxx
-@@ -294,7 +294,11 @@ clean_cache(systemtap_session& s)
- {
- //interval not passed, don't continue
- if (s.verbose > 1)
-+#if defined(__x86_64__) && defined (__ILP32__)
-+ clog << _F("Cache cleaning skipped, interval not reached %lld s / %lu s.",
-+#else
- clog << _F("Cache cleaning skipped, interval not reached %lu s / %lu s.",
-+#endif
- (current_time.tv_sec-sb.st_mtime), cache_clean_interval) << endl;
- return;
- }
-@@ -302,7 +306,11 @@ clean_cache(systemtap_session& s)
- {
- //interval reached, continue
- if (s.verbose > 1)
-+#if defined(__x86_64__) && defined (__ILP32__)
-+ clog << _F("Cleaning cache, interval reached %lld s > %lu s.",
-+#else
- clog << _F("Cleaning cache, interval reached %lu s > %lu s.",
-+#endif
- (current_time.tv_sec-sb.st_mtime), cache_clean_interval) << endl;
- }
-
diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
index c5348b320..abb2b3743 100644
--- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -1,13 +1,9 @@
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-SRCREV = "984d6d1696ed06626b07cb65ab55d6ae0ece1131"
-PV = "4.1"
+SRCREV = "57c9aca9f1ff32a6add10e02ecd33b7314fad499"
+PV = "4.1+git${SRCPV}"
SRC_URI = "git://sourceware.org/git/systemtap.git \
- file://configure-allow-to-disable-libvirt.patch \
- file://x32_abi_time.patch \
- file://monitor-option.patch \
- file://no-msgfmt-check.patch \
file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \
file://0001-Install-python-modules-to-correct-library-dir.patch \
file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \
diff --git a/poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.7.bb b/poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.7.bb
index e1b50fac5..c1f4acdb0 100644
--- a/poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.7.bb
+++ b/poky/meta/recipes-multimedia/alsa/alsa-tools_1.1.7.bb
@@ -22,7 +22,6 @@ CLEANBROKEN = "1"
# Remember on upgrades to check that no new tools have been added.
PACKAGECONFIG ??= "as10k1 hdajacksensetest hda-verb hdsploader ld10k1 mixartloader pcxhrloader \
sb16_csp seq--sbiload sscape_ctl us428control usx2yloader vxloader \
- ${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK2DISTROFEATURES}', 'echomixer envy24control rmedigicontrol', '', d)} \
${@bb.utils.contains_any('DISTRO_FEATURES', '${GTK3DISTROFEATURES}', 'hdajackretask', '', d)} \
"
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb
deleted file mode 100644
index 147388d9b..000000000
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb
+++ /dev/null
@@ -1,158 +0,0 @@
-SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
-DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \
- mux, demux, stream, filter and play pretty much anything that humans and machines \
- have created. It supports the most obscure ancient formats up to the cutting edge."
-HOMEPAGE = "https://www.ffmpeg.org/"
-SECTION = "libs"
-
-LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libpostproc = "GPLv2+"
-LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_FLAGS = "commercial"
-
-LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
- file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
- file://mips64_cpu_detection.patch \
- "
-SRC_URI[md5sum] = "dcc20dd2682ea01c678b7b8324339d43"
-SRC_URI[sha256sum] = "0c3020452880581a8face91595b239198078645e7d7184273b8bcc7758beb63d"
-
-# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
-
-# Should be API compatible with libav (which was a fork of ffmpeg)
-# libpostproc was previously packaged from a separate recipe
-PROVIDES = "libav libpostproc"
-
-DEPENDS = "alsa-lib zlib libogg nasm-native"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
- bzlib gpl lzma theora x264 \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv', '', d)}"
-
-# libraries to build in addition to avutil
-PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice"
-PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter"
-PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec"
-PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat"
-PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample"
-PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale"
-PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc"
-PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample"
-
-# features to support
-PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
-PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
-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"
-PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
-PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora"
-PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
-PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
-PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
-PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
-PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
-
-# Check codecs that require --enable-nonfree
-USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
-
-def cpu(d):
- for arg in (d.getVar('TUNE_CCARGS') or '').split():
- if arg.startswith('-mcpu='):
- return arg[6:]
- return 'generic'
-
-EXTRA_OECONF = " \
- --disable-stripping \
- --enable-pic \
- --enable-shared \
- --enable-pthreads \
- --disable-libxcb \
- --disable-libxcb-shm \
- --disable-libxcb-xfixes \
- --disable-libxcb-shape \
- ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
- \
- --cross-prefix=${TARGET_PREFIX} \
- \
- --ld="${CCLD}" \
- --cc="${CC}" \
- --cxx="${CXX}" \
- --arch=${TARGET_ARCH} \
- --target-os="linux" \
- --enable-cross-compile \
- --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
- --extra-ldflags="${TARGET_LDFLAGS}" \
- --sysroot="${STAGING_DIR_TARGET}" \
- --enable-hardcoded-tables \
- ${EXTRA_FFCONF} \
- --libdir=${libdir} \
- --shlibdir=${libdir} \
- --datadir=${datadir}/ffmpeg \
- ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \
- --cpu=${@cpu(d)} \
- --pkg-config=pkg-config \
-"
-
-EXTRA_OECONF_append_linux-gnux32 = " --disable-asm"
-# gold crashes on x86, another solution is to --disable-asm but thats more hacky
-# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
-
-LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-
-do_configure() {
- ${S}/configure ${EXTRA_OECONF}
-}
-
-PACKAGES =+ "libavcodec \
- libavdevice \
- libavfilter \
- libavformat \
- libavresample \
- libavutil \
- libpostproc \
- libswresample \
- libswscale"
-
-FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}"
-FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}"
-FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}"
-FILES_libavformat = "${libdir}/libavformat${SOLIBS}"
-FILES_libavresample = "${libdir}/libavresample${SOLIBS}"
-FILES_libavutil = "${libdir}/libavutil${SOLIBS}"
-FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}"
-FILES_libswresample = "${libdir}/libswresample${SOLIBS}"
-FILES_libswscale = "${libdir}/libswscale${SOLIBS}"
-
-# ffmpeg disables PIC on some platforms (e.g. x86-32)
-INSANE_SKIP_${MLPREFIX}libavcodec = "textrel"
-INSANE_SKIP_${MLPREFIX}libavdevice = "textrel"
-INSANE_SKIP_${MLPREFIX}libavfilter = "textrel"
-INSANE_SKIP_${MLPREFIX}libavformat = "textrel"
-INSANE_SKIP_${MLPREFIX}libavutil = "textrel"
-INSANE_SKIP_${MLPREFIX}libavresample = "textrel"
-INSANE_SKIP_${MLPREFIX}libswscale = "textrel"
-INSANE_SKIP_${MLPREFIX}libswresample = "textrel"
-INSANE_SKIP_${MLPREFIX}libpostproc = "textrel"
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.1.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.1.bb
new file mode 100644
index 000000000..ec306afaa
--- /dev/null
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.2.1.bb
@@ -0,0 +1,158 @@
+SUMMARY = "A complete, cross-platform solution to record, convert and stream audio and video."
+DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encode, transcode, \
+ mux, demux, stream, filter and play pretty much anything that humans and machines \
+ have created. It supports the most obscure ancient formats up to the cutting edge."
+HOMEPAGE = "https://www.ffmpeg.org/"
+SECTION = "libs"
+
+LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT"
+LICENSE_${PN} = "GPLv2+"
+LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libpostproc = "GPLv2+"
+LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE_FLAGS = "commercial"
+
+LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \
+ file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
+ file://mips64_cpu_detection.patch \
+ "
+SRC_URI[md5sum] = "67da904cf9fddeeb10a1308fc0dc39de"
+SRC_URI[sha256sum] = "cec7c87e9b60d174509e263ac4011b522385fd0775292e1670ecc1180c9bb6d4"
+
+# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
+# Should be API compatible with libav (which was a fork of ffmpeg)
+# libpostproc was previously packaged from a separate recipe
+PROVIDES = "libav libpostproc"
+
+DEPENDS = "nasm-native"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
+ alsa bzlib gpl lzma theora x264 zlib \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}"
+
+# libraries to build in addition to avutil
+PACKAGECONFIG[avdevice] = "--enable-avdevice,--disable-avdevice"
+PACKAGECONFIG[avfilter] = "--enable-avfilter,--disable-avfilter"
+PACKAGECONFIG[avcodec] = "--enable-avcodec,--disable-avcodec"
+PACKAGECONFIG[avformat] = "--enable-avformat,--disable-avformat"
+PACKAGECONFIG[swresample] = "--enable-swresample,--disable-swresample"
+PACKAGECONFIG[swscale] = "--enable-swscale,--disable-swscale"
+PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc"
+PACKAGECONFIG[avresample] = "--enable-avresample,--disable-avresample"
+
+# features to support
+PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
+PACKAGECONFIG[bzlib] = "--enable-bzlib,--disable-bzlib,bzip2"
+PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
+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"
+PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
+PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
+PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
+PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb"
+PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
+PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
+
+# Check codecs that require --enable-nonfree
+USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
+
+def cpu(d):
+ for arg in (d.getVar('TUNE_CCARGS') or '').split():
+ if arg.startswith('-mcpu='):
+ return arg[6:]
+ return 'generic'
+
+EXTRA_OECONF = " \
+ --disable-stripping \
+ --enable-pic \
+ --enable-shared \
+ --enable-pthreads \
+ ${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
+ \
+ --cross-prefix=${TARGET_PREFIX} \
+ \
+ --ld="${CCLD}" \
+ --cc="${CC}" \
+ --cxx="${CXX}" \
+ --arch=${TARGET_ARCH} \
+ --target-os="linux" \
+ --enable-cross-compile \
+ --extra-cflags="${TARGET_CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
+ --extra-ldflags="${TARGET_LDFLAGS}" \
+ --sysroot="${STAGING_DIR_TARGET}" \
+ ${EXTRA_FFCONF} \
+ --libdir=${libdir} \
+ --shlibdir=${libdir} \
+ --datadir=${datadir}/ffmpeg \
+ ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \
+ --cpu=${@cpu(d)} \
+ --pkg-config=pkg-config \
+"
+
+EXTRA_OECONF_append_linux-gnux32 = " --disable-asm"
+# gold crashes on x86, another solution is to --disable-asm but thats more hacky
+# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
+
+LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+EXTRA_OEMAKE = "V=1"
+
+do_configure() {
+ ${S}/configure ${EXTRA_OECONF}
+}
+
+PACKAGES =+ "libavcodec \
+ libavdevice \
+ libavfilter \
+ libavformat \
+ libavresample \
+ libavutil \
+ libpostproc \
+ libswresample \
+ libswscale"
+
+FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}"
+FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}"
+FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}"
+FILES_libavformat = "${libdir}/libavformat${SOLIBS}"
+FILES_libavresample = "${libdir}/libavresample${SOLIBS}"
+FILES_libavutil = "${libdir}/libavutil${SOLIBS}"
+FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}"
+FILES_libswresample = "${libdir}/libswresample${SOLIBS}"
+FILES_libswscale = "${libdir}/libswscale${SOLIBS}"
+
+# ffmpeg disables PIC on some platforms (e.g. x86-32)
+INSANE_SKIP_${MLPREFIX}libavcodec = "textrel"
+INSANE_SKIP_${MLPREFIX}libavdevice = "textrel"
+INSANE_SKIP_${MLPREFIX}libavfilter = "textrel"
+INSANE_SKIP_${MLPREFIX}libavformat = "textrel"
+INSANE_SKIP_${MLPREFIX}libavutil = "textrel"
+INSANE_SKIP_${MLPREFIX}libavresample = "textrel"
+INSANE_SKIP_${MLPREFIX}libswscale = "textrel"
+INSANE_SKIP_${MLPREFIX}libswresample = "textrel"
+INSANE_SKIP_${MLPREFIX}libpostproc = "textrel"
diff --git a/poky/meta/recipes-multimedia/flac/flac/CVE-2017-6888.patch b/poky/meta/recipes-multimedia/flac/flac/CVE-2017-6888.patch
deleted file mode 100644
index f01791680..000000000
--- a/poky/meta/recipes-multimedia/flac/flac/CVE-2017-6888.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 43ecb6431077ff54e9df27f71737e6e96d6c039f Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 21 Aug 2018 14:46:43 +0800
-Subject: [PATCH] From 5f47b63e9c971e6391590caf00a0f2a5ed612e67 Mon Sep 17
- 00:00:00 2001 From: Erik de Castro Lopo <erikd@mega-nerd.com> Date: Sat, 8
- Apr 2017 18:34:49 +1000 Subject: [PATCH] stream_decoder.c: Fix a memory leak
-
-Leak reported by Secunia Research.
-
-Upstream-Status: Backport[https://git.xiph.org/?p=flac.git;a=commit;
- h=4f47b63e9c971e6391590caf00a0f2a5ed612e67]
-
-Update patch to version 1.3.2
-CVE: CVE-2017-6888
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- src/libFLAC/stream_decoder.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
-index d364b0c..ebf93da 100644
---- a/src/libFLAC/stream_decoder.c
-+++ b/src/libFLAC/stream_decoder.c
-@@ -1759,6 +1759,9 @@ FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__Stre
- }
- memset (obj->comments[i].entry, 0, obj->comments[i].length) ;
- if (!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->comments[i].entry, obj->comments[i].length)) {
-+ /* Current i-th entry is bad, so we delete it. */\
-+ free (obj->comments[i].entry) ;
-+ obj->comments[i].entry = NULL ;
- obj->num_comments = i;
- goto skip;
- }
---
-2.7.4
-
diff --git a/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb b/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb
deleted file mode 100644
index e8599f6ba..000000000
--- a/poky/meta/recipes-multimedia/flac/flac_1.3.2.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Free Lossless Audio Codec"
-DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, a lossless audio compression format."
-HOMEPAGE = "https://xiph.org/flac/"
-BUGTRACKER = "http://sourceforge.net/p/flac/bugs/"
-SECTION = "libs"
-LICENSE = "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD"
-LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \
- file://src/Makefile.am;beginline=1;endline=17;md5=09501c864f89dfc7ead65553129817ca \
- file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://src/flac/main.c;beginline=1;endline=18;md5=09777e2934947a36f13568d0beb81199 \
- file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \
- file://src/plugin_common/all.h;beginline=1;endline=18;md5=f56cb4ba9a3bc9ec6102e8df03215271 \
- file://COPYING.Xiph;md5=b59c1b6d7fc0fb7965f821a3d36505e3 \
- file://include/FLAC/all.h;beginline=65;endline=70;md5=64474f2b22e9e77b28d8b8b25c983a48"
-DEPENDS = "libogg"
-
-SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz \
- file://CVE-2017-6888.patch "
-
-
-SRC_URI[md5sum] = "454f1bfa3f93cc708098d7890d0499bd"
-SRC_URI[sha256sum] = "91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f"
-
-CVE_PRODUCT = "libflac flac"
-
-inherit autotools gettext
-
-EXTRA_OECONF = "--disable-oggtest \
- --with-ogg-libraries=${STAGING_LIBDIR} \
- --with-ogg-includes=${STAGING_INCDIR} \
- --disable-xmms-plugin \
- --without-libiconv-prefix \
- ac_cv_prog_NASM="" \
- "
-
-EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "altivec", " --enable-altivec", " --disable-altivec", d)}"
-EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "core2", " --enable-sse", "", d)}"
-EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "corei7", " --enable-sse", "", d)}"
-
-PACKAGES += "libflac libflac++ liboggflac liboggflac++"
-FILES_${PN} = "${bindir}/*"
-FILES_libflac = "${libdir}/libFLAC.so.*"
-FILES_libflac++ = "${libdir}/libFLAC++.so.*"
-FILES_liboggflac = "${libdir}/libOggFLAC.so.*"
-FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*"
-
diff --git a/poky/meta/recipes-multimedia/flac/flac_1.3.3.bb b/poky/meta/recipes-multimedia/flac/flac_1.3.3.bb
new file mode 100644
index 000000000..fea2be1f6
--- /dev/null
+++ b/poky/meta/recipes-multimedia/flac/flac_1.3.3.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Free Lossless Audio Codec"
+DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, a lossless audio compression format."
+HOMEPAGE = "https://xiph.org/flac/"
+BUGTRACKER = "http://sourceforge.net/p/flac/bugs/"
+SECTION = "libs"
+LICENSE = "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD"
+LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \
+ file://src/Makefile.am;beginline=1;endline=17;md5=09501c864f89dfc7ead65553129817ca \
+ file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://src/flac/main.c;beginline=1;endline=18;md5=09777e2934947a36f13568d0beb81199 \
+ file://COPYING.LGPL;md5=fbc093901857fcd118f065f900982c24 \
+ file://src/plugin_common/all.h;beginline=1;endline=18;md5=f56cb4ba9a3bc9ec6102e8df03215271 \
+ file://COPYING.Xiph;md5=b59c1b6d7fc0fb7965f821a3d36505e3 \
+ file://include/FLAC/all.h;beginline=65;endline=70;md5=64474f2b22e9e77b28d8b8b25c983a48"
+DEPENDS = "libogg"
+
+SRC_URI = "http://downloads.xiph.org/releases/flac/${BP}.tar.xz \
+"
+
+SRC_URI[md5sum] = "26703ed2858c1fc9ffc05136d13daa69"
+SRC_URI[sha256sum] = "213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748"
+
+CVE_PRODUCT = "libflac flac"
+
+inherit autotools gettext
+
+EXTRA_OECONF = "--disable-oggtest \
+ --with-ogg-libraries=${STAGING_LIBDIR} \
+ --with-ogg-includes=${STAGING_INCDIR} \
+ --disable-xmms-plugin \
+ --without-libiconv-prefix \
+ ac_cv_prog_NASM="" \
+ "
+
+EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "altivec", " --enable-altivec", " --disable-altivec", d)}"
+EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "core2", " --enable-sse", "", d)}"
+EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "corei7", " --enable-sse", "", d)}"
+
+PACKAGES += "libflac libflac++ liboggflac liboggflac++"
+FILES_${PN} = "${bindir}/*"
+FILES_libflac = "${libdir}/libFLAC.so.*"
+FILES_libflac++ = "${libdir}/libFLAC++.so.*"
+FILES_liboggflac = "${libdir}/libOggFLAC.so.*"
+FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*"
+
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/gtkdoc-no-tree.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/gtkdoc-no-tree.patch
new file mode 100644
index 000000000..a36fdc9a1
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/gtkdoc-no-tree.patch
@@ -0,0 +1,35 @@
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 6f720cebe632d7dc187c6907857d67ce1f7313d6 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Mon, 9 Sep 2019 22:48:49 +0100
+Subject: [PATCH] docs: don't include the type hierarchy
+
+gtk-doc can't generate a type hierarchy when scanning gst-libav, and gtk-doc
+1.30 onwards doesn't write a file if there is no type hierarchy (unlike previous
+releases, which wrote an empty file). This results in the build failing with
+gtk-doc 1.30 onwards, so remove the type hierarchy section from the
+documentation as it doesn't serve any purpose.
+
+Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/57
+---
+ docs/plugins/gst-libav-plugins-docs.sgml | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/docs/plugins/gst-libav-plugins-docs.sgml b/docs/plugins/gst-libav-plugins-docs.sgml
+index 75c68f4..f68d554 100644
+--- a/docs/plugins/gst-libav-plugins-docs.sgml
++++ b/docs/plugins/gst-libav-plugins-docs.sgml
+@@ -32,9 +32,4 @@
+ <title>gst-libav Plugins</title>
+ <xi:include href="xml/plugin-libav.xml" />
+ </chapter>
+-
+- <chapter>
+- <title>Object Hierarchy</title>
+- <xi:include href="xml/tree_index.sgml" />
+- </chapter>
+ </book>
+--
+2.22.0
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb
index d94c3215d..d2629b506 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb
@@ -18,6 +18,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz
file://mips64_cpu_detection.patch \
file://0001-configure-check-for-armv7ve-variant.patch \
file://0001-fix-host-contamination.patch \
+ file://gtkdoc-no-tree.patch \
"
SRC_URI[md5sum] = "e3a201a45985ddc1327cd496046ca818"
SRC_URI[sha256sum] = "dfac119043a9cfdcacd7acde77f674ab172cf2537b5812be52f49e9cddc53d9a"
@@ -28,11 +29,6 @@ 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-plugins-bad_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb
index f676b1f6d..f9289e92d 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb
@@ -19,7 +19,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
DEPENDS += "gstreamer1.0-plugins-base"
-inherit gettext bluetooth gobject-introspection
+inherit gettext gobject-introspection
PACKAGECONFIG ??= " \
${GSTREAMER_ORC} \
@@ -35,7 +35,7 @@ PACKAGECONFIG ??= " \
# not add GL dependencies here, since these are taken care of in -base.
PACKAGECONFIG[assrender] = "--enable-assrender,--disable-assrender,libass"
-PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,${BLUEZ}"
+PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,bluez5"
PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2"
PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
PACKAGECONFIG[dash] = "--enable-dash,--disable-dash,libxml2"
@@ -77,7 +77,7 @@ PACKAGECONFIG[ttml] = "--enable-ttml,--disable-ttml,libxml2 pango cai
PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
-PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan"
+PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan-loader"
PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm"
PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
PACKAGECONFIG[webrtc] = "--enable-webrtc,--disable-webrtc,libnice"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/headerfix.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/headerfix.patch
new file mode 100644
index 000000000..34d25a0a4
--- /dev/null
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/headerfix.patch
@@ -0,0 +1,43 @@
+Things break with overlapping defines between glib and gstreamer with glibc 2.30.
+
+Discussion in the link below, basically internal __ prefixed variables
+shouldn't be redefined.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/635]
+RP 2019/8/6
+
+Index: gst-plugins-good-1.16.0/sys/v4l2/ext/types-compat.h
+===================================================================
+--- gst-plugins-good-1.16.0.orig/sys/v4l2/ext/types-compat.h
++++ gst-plugins-good-1.16.0/sys/v4l2/ext/types-compat.h
+@@ -24,29 +24,6 @@
+ #ifndef __TYPES_COMPAT_H__
+ #define __TYPES_COMPAT_H__
+
+-/* From linux/types.h */
+-#ifndef __bitwise__
+-# ifdef __CHECKER__
+-# define __bitwise__ __attribute__((bitwise))
+-# else
+-# define __bitwise__
+-# endif
+-#endif
+-
+-#ifndef __bitwise
+-# ifdef __CHECK_ENDIAN__
+-# define __bitwise __bitwise__
+-# else
+-# define __bitwise
+-# endif
+-#endif
+-
+-#define __u64 guint64
+-#define __u32 guint32
+-#define __u16 guint16
+-#define __u8 guint8
+-#define __s64 gint64
+-#define __s32 gint32
+-#define __le32 guint32 __bitwise
++#include <linux/types.h>
+
+ #endif /* __TYPES_COMPAT_H__ */
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb
index ad831ed25..5751467db 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb
@@ -4,6 +4,7 @@ SRC_URI = " \
http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
file://0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch \
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
+ file://headerfix.patch \
"
SRC_URI[md5sum] = "d1a7b442994d9522418de4af4330e034"
diff --git a/poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch b/poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch
index 8d09ce7b6..10e089018 100644
--- a/poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch
+++ b/poky/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch
@@ -6,6 +6,7 @@ https://sources.debian.org/patches/libid3tag/0.15.1b-13/10_utf16.dpatch
Upstream-Status: Pending
CVE: CVE-2004-2779
+CVE: CVE-2017-11551
Signed-off-by: Changqing Li <changqing.li@windriver.com>
diff --git a/poky/meta/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch b/poky/meta/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch
new file mode 100644
index 000000000..f0867b5f0
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch
@@ -0,0 +1,39 @@
+In case of an unknown/invalid encoding, id3_parse_string() will
+return NULL, but the return value wasn't checked resulting
+in segfault in id3_ucs4_length(). This is the only place
+the return value wasn't checked.
+
+Patch taken from Debian:
+https://sources.debian.org/patches/libid3tag/0.15.1b-14/11_unknown_encoding.dpatch/
+
+CVE: CVE-2017-11550
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff -urNad libid3tag-0.15.1b~/compat.gperf libid3tag-0.15.1b/compat.gperf
+--- libid3tag-0.15.1b~/compat.gperf 2004-01-23 09:41:32.000000000 +0000
++++ libid3tag-0.15.1b/compat.gperf 2007-01-14 14:36:53.000000000 +0000
+@@ -236,6 +236,10 @@
+
+ encoding = id3_parse_uint(&data, 1);
+ string = id3_parse_string(&data, end - data, encoding, 0);
++ if (!string)
++ {
++ continue;
++ }
+
+ if (id3_ucs4_length(string) < 4) {
+ free(string);
+diff -urNad libid3tag-0.15.1b~/parse.c libid3tag-0.15.1b/parse.c
+--- libid3tag-0.15.1b~/parse.c 2004-01-23 09:41:32.000000000 +0000
++++ libid3tag-0.15.1b/parse.c 2007-01-14 14:37:34.000000000 +0000
+@@ -165,6 +165,9 @@
+ case ID3_FIELD_TEXTENCODING_UTF_8:
+ ucs4 = id3_utf8_deserialize(ptr, length);
+ break;
++ default:
++ /* FIXME: Unknown encoding! Print warning? */
++ return NULL;
+ }
+
+ if (ucs4 && !full) {
diff --git a/poky/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb b/poky/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
index 43edd3fe6..0312a610c 100644
--- a/poky/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
+++ b/poky/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
@@ -14,6 +14,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/mad/libid3tag-${PV}.tar.gz \
file://obsolete_automake_macros.patch \
file://0001-Fix-gperf-3.1-incompatibility.patch \
file://10_utf16.patch \
+ file://unknown-encoding.patch \
"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/mad/files/libid3tag/"
UPSTREAM_CHECK_REGEX = "/projects/mad/files/libid3tag/(?P<pver>.*)/$"
diff --git a/poky/meta/recipes-multimedia/libogg/libogg_1.3.3.bb b/poky/meta/recipes-multimedia/libogg/libogg_1.3.3.bb
deleted file mode 100644
index 8d88f1f9f..000000000
--- a/poky/meta/recipes-multimedia/libogg/libogg_1.3.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Ogg bitstream and framing libary"
-DESCRIPTION = "libogg is the bitstream and framing library \
-for the Ogg project. It provides functions which are \
-necessary to codec libraries like libvorbis."
-HOMEPAGE = "http://xiph.org/"
-BUGTRACKER = "https://trac.xiph.org/newticket"
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
- file://include/ogg/ogg.h;beginline=1;endline=11;md5=eda812856f13a3b1326eb8f020cc3b0b"
-
-SRC_URI = "http://downloads.xiph.org/releases/ogg/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "87ed742047f065046eb6c36745d871b8"
-SRC_URI[sha256sum] = "4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08"
-
-inherit autotools pkgconfig
diff --git a/poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb b/poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb
new file mode 100644
index 000000000..8ca001079
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libogg/libogg_1.3.4.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Ogg bitstream and framing libary"
+DESCRIPTION = "libogg is the bitstream and framing library \
+for the Ogg project. It provides functions which are \
+necessary to codec libraries like libvorbis."
+HOMEPAGE = "http://xiph.org/"
+BUGTRACKER = "https://trac.xiph.org/newticket"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
+ file://include/ogg/ogg.h;beginline=1;endline=11;md5=eda812856f13a3b1326eb8f020cc3b0b"
+
+SRC_URI = "http://downloads.xiph.org/releases/ogg/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "eadef24aad6e3e8379ba0d14971fd64a"
+SRC_URI[sha256sum] = "c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe"
+
+inherit autotools pkgconfig
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
index 77393db84..ffb45855a 100644
--- a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
@@ -1,7 +1,7 @@
SUMMARY = "Audio format Conversion library"
HOMEPAGE = "http://www.mega-nerd.com/libsndfile"
AUTHOR = "Erik de Castro Lopo"
-DEPENDS = "flac libogg libvorbis sqlite3"
+DEPENDS = "flac libogg libvorbis"
SECTION = "libs/multimedia"
LICENSE = "LGPLv2.1"
@@ -30,11 +30,6 @@ S = "${WORKDIR}/libsndfile-${PV}"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}"
PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
+PACKAGECONFIG[regtest] = "--enable-sqlite,--disable-sqlite,sqlite3"
inherit autotools lib_package pkgconfig
-
-do_configure_prepend_arm() {
- export ac_cv_sys_largefile_source=1
- export ac_cv_sys_file_offset_bits=64
-}
-
diff --git a/poky/meta/recipes-multimedia/libtiff/files/libtool2.patch b/poky/meta/recipes-multimedia/libtiff/files/libtool2.patch
deleted file mode 100644
index 96233b46c..000000000
--- a/poky/meta/recipes-multimedia/libtiff/files/libtool2.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 5b893206e0a0d529ba2d0caf58cfffc03bccb598 Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz <hrw@openedhand.com>
-Date: Sat, 14 Jun 2008 13:42:22 +0000
-Subject: [PATCH] tiff: make it work after libtool upgrade
-
-Upstream-Status: Inappropriate [configuration]
-
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index c7b02e2..ae1c964 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -27,7 +27,7 @@ dnl Process this file with autoconf to produce a configure script.
- AC_PREREQ(2.64)
- AC_INIT([LibTIFF Software],[4.0.10],[tiff@lists.maptools.org],[tiff])
- AC_CONFIG_AUX_DIR(config)
--AC_CONFIG_MACRO_DIR(m4)
-+dnl AC_CONFIG_MACRO_DIR(m4)
- AC_LANG(C)
-
- dnl Compute the canonical host (run-time) system type variable
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-14973.patch b/poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-14973.patch
new file mode 100644
index 000000000..8345295d0
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-14973.patch
@@ -0,0 +1,415 @@
+From 95ac1e3fcc6b643b5bd100f2ea54faca0a003315 Mon Sep 17 00:00:00 2001
+From: Trevor Gamblin <trevor.gamblin@windriver.com>
+Date: Fri, 20 Sep 2019 09:33:22 -0400
+Subject: [PATCH] libtiff-fix-CVE-2019-14973
+
+Upstream-Status: Backport [https://gitlab.com/libtiff/libtiff/commit/2218055ca67d84be596a13080e8f50f22116555c]
+CVE: CVE-2019-14973
+
+Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
+---
+ libtiff/tif_aux.c | 49 +++++++++++++++++++++++++++++++++++++-----
+ libtiff/tif_getimage.c | 6 ++----
+ libtiff/tif_luv.c | 8 +------
+ libtiff/tif_pixarlog.c | 7 +-----
+ libtiff/tif_read.c | 38 +++++++++-----------------------
+ libtiff/tif_strip.c | 35 ++++--------------------------
+ libtiff/tif_tile.c | 27 +++--------------------
+ libtiff/tiffiop.h | 7 +++++-
+ 8 files changed, 71 insertions(+), 106 deletions(-)
+
+diff --git a/libtiff/tif_aux.c b/libtiff/tif_aux.c
+index 4ece162f..33fb8a44 100644
+--- a/libtiff/tif_aux.c
++++ b/libtiff/tif_aux.c
+@@ -57,18 +57,57 @@ _TIFFMultiply64(TIFF* tif, uint64 first, uint64 second, const char* where)
+ return bytes;
+ }
+
++tmsize_t
++_TIFFMultiplySSize(TIFF* tif, tmsize_t first, tmsize_t second, const char* where)
++{
++ if( first <= 0 || second <= 0 )
++ {
++ if( tif != NULL && where != NULL )
++ {
++ TIFFErrorExt(tif->tif_clientdata, where,
++ "Invalid argument to _TIFFMultiplySSize() in %s", where);
++ }
++ return 0;
++ }
++
++ if( first > TIFF_TMSIZE_T_MAX / second )
++ {
++ if( tif != NULL && where != NULL )
++ {
++ TIFFErrorExt(tif->tif_clientdata, where,
++ "Integer overflow in %s", where);
++ }
++ return 0;
++ }
++ return first * second;
++}
++
++tmsize_t _TIFFCastUInt64ToSSize(TIFF* tif, uint64 val, const char* module)
++{
++ if( val > (uint64)TIFF_TMSIZE_T_MAX )
++ {
++ if( tif != NULL && module != NULL )
++ {
++ TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
++ }
++ return 0;
++ }
++ return (tmsize_t)val;
++}
++
+ void*
+ _TIFFCheckRealloc(TIFF* tif, void* buffer,
+ tmsize_t nmemb, tmsize_t elem_size, const char* what)
+ {
+ void* cp = NULL;
+- tmsize_t bytes = nmemb * elem_size;
+-
++ tmsize_t count = _TIFFMultiplySSize(tif, nmemb, elem_size, NULL);
+ /*
+- * XXX: Check for integer overflow.
++ * Check for integer overflow.
+ */
+- if (nmemb && elem_size && bytes / elem_size == nmemb)
+- cp = _TIFFrealloc(buffer, bytes);
++ if (count != 0)
++ {
++ cp = _TIFFrealloc(buffer, count);
++ }
+
+ if (cp == NULL) {
+ TIFFErrorExt(tif->tif_clientdata, tif->tif_name,
+diff --git a/libtiff/tif_getimage.c b/libtiff/tif_getimage.c
+index 6a9d5a7c..2106ca21 100644
+--- a/libtiff/tif_getimage.c
++++ b/libtiff/tif_getimage.c
+@@ -755,9 +755,8 @@ gtTileSeparate(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32 h)
+ uint32 leftmost_tw;
+
+ tilesize = TIFFTileSize(tif);
+- bufsize = TIFFSafeMultiply(tmsize_t,alpha?4:3,tilesize);
++ bufsize = _TIFFMultiplySSize(tif, alpha?4:3,tilesize, "gtTileSeparate");
+ if (bufsize == 0) {
+- TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Integer overflow in %s", "gtTileSeparate");
+ return (0);
+ }
+
+@@ -1019,9 +1018,8 @@ gtStripSeparate(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32 h)
+ uint16 colorchannels;
+
+ stripsize = TIFFStripSize(tif);
+- bufsize = TIFFSafeMultiply(tmsize_t,alpha?4:3,stripsize);
++ bufsize = _TIFFMultiplySSize(tif,alpha?4:3,stripsize, "gtStripSeparate");
+ if (bufsize == 0) {
+- TIFFErrorExt(tif->tif_clientdata, TIFFFileName(tif), "Integer overflow in %s", "gtStripSeparate");
+ return (0);
+ }
+
+diff --git a/libtiff/tif_luv.c b/libtiff/tif_luv.c
+index aa35ea07..46d2dff2 100644
+--- a/libtiff/tif_luv.c
++++ b/libtiff/tif_luv.c
+@@ -1264,16 +1264,10 @@ LogL16GuessDataFmt(TIFFDirectory *td)
+ return (SGILOGDATAFMT_UNKNOWN);
+ }
+
+-
+-#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
+-#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
+-
+ static tmsize_t
+ multiply_ms(tmsize_t m1, tmsize_t m2)
+ {
+- if( m1 == 0 || m2 > TIFF_TMSIZE_T_MAX / m1 )
+- return 0;
+- return m1 * m2;
++ return _TIFFMultiplySSize(NULL, m1, m2, NULL);
+ }
+
+ static int
+diff --git a/libtiff/tif_pixarlog.c b/libtiff/tif_pixarlog.c
+index 7438d692..b52a3ee4 100644
+--- a/libtiff/tif_pixarlog.c
++++ b/libtiff/tif_pixarlog.c
+@@ -634,15 +634,10 @@ PixarLogGuessDataFmt(TIFFDirectory *td)
+ return guess;
+ }
+
+-#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
+-#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
+-
+ static tmsize_t
+ multiply_ms(tmsize_t m1, tmsize_t m2)
+ {
+- if( m1 == 0 || m2 > TIFF_TMSIZE_T_MAX / m1 )
+- return 0;
+- return m1 * m2;
++ return _TIFFMultiplySSize(NULL, m1, m2, NULL);
+ }
+
+ static tmsize_t
+diff --git a/libtiff/tif_read.c b/libtiff/tif_read.c
+index e63810cc..8db39d7a 100644
+--- a/libtiff/tif_read.c
++++ b/libtiff/tif_read.c
+@@ -29,9 +29,6 @@
+ #include "tiffiop.h"
+ #include <stdio.h>
+
+-#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
+-#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
+-
+ int TIFFFillStrip(TIFF* tif, uint32 strip);
+ int TIFFFillTile(TIFF* tif, uint32 tile);
+ static int TIFFStartStrip(TIFF* tif, uint32 strip);
+@@ -49,6 +46,8 @@ TIFFReadRawTile1(TIFF* tif, uint32 tile, void* buf, tmsize_t size, const char* m
+ #define THRESHOLD_MULTIPLIER 10
+ #define MAX_THRESHOLD (THRESHOLD_MULTIPLIER * THRESHOLD_MULTIPLIER * THRESHOLD_MULTIPLIER * INITIAL_THRESHOLD)
+
++#define TIFF_INT64_MAX ((((int64)0x7FFFFFFF) << 32) | 0xFFFFFFFF)
++
+ /* Read 'size' bytes in tif_rawdata buffer starting at offset 'rawdata_offset'
+ * Returns 1 in case of success, 0 otherwise. */
+ static int TIFFReadAndRealloc( TIFF* tif, tmsize_t size,
+@@ -734,23 +733,8 @@ TIFFReadRawStrip(TIFF* tif, uint32 strip, void* buf, tmsize_t size)
+ return ((tmsize_t)(-1));
+ }
+ bytecount = td->td_stripbytecount[strip];
+- if ((int64)bytecount <= 0) {
+-#if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
+- TIFFErrorExt(tif->tif_clientdata, module,
+- "%I64u: Invalid strip byte count, strip %lu",
+- (unsigned __int64) bytecount,
+- (unsigned long) strip);
+-#else
+- TIFFErrorExt(tif->tif_clientdata, module,
+- "%llu: Invalid strip byte count, strip %lu",
+- (unsigned long long) bytecount,
+- (unsigned long) strip);
+-#endif
+- return ((tmsize_t)(-1));
+- }
+- bytecountm = (tmsize_t)bytecount;
+- if ((uint64)bytecountm!=bytecount) {
+- TIFFErrorExt(tif->tif_clientdata, module, "Integer overflow");
++ bytecountm = _TIFFCastUInt64ToSSize(tif, bytecount, module);
++ if (bytecountm == 0) {
+ return ((tmsize_t)(-1));
+ }
+ if (size != (tmsize_t)(-1) && size < bytecountm)
+@@ -774,7 +758,7 @@ TIFFFillStrip(TIFF* tif, uint32 strip)
+ if ((tif->tif_flags&TIFF_NOREADRAW)==0)
+ {
+ uint64 bytecount = td->td_stripbytecount[strip];
+- if ((int64)bytecount <= 0) {
++ if( bytecount == 0 || bytecount > (uint64)TIFF_INT64_MAX ) {
+ #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
+ TIFFErrorExt(tif->tif_clientdata, module,
+ "Invalid strip byte count %I64u, strip %lu",
+@@ -801,7 +785,7 @@ TIFFFillStrip(TIFF* tif, uint32 strip)
+ (bytecount - 4096) / 10 > (uint64)stripsize )
+ {
+ uint64 newbytecount = (uint64)stripsize * 10 + 4096;
+- if( (int64)newbytecount >= 0 )
++ if( newbytecount == 0 || newbytecount > (uint64)TIFF_INT64_MAX )
+ {
+ #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
+ TIFFWarningExt(tif->tif_clientdata, module,
+@@ -1196,10 +1180,8 @@ TIFFReadRawTile(TIFF* tif, uint32 tile, void* buf, tmsize_t size)
+ bytecount64 = td->td_stripbytecount[tile];
+ if (size != (tmsize_t)(-1) && (uint64)size < bytecount64)
+ bytecount64 = (uint64)size;
+- bytecountm = (tmsize_t)bytecount64;
+- if ((uint64)bytecountm!=bytecount64)
+- {
+- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
++ bytecountm = _TIFFCastUInt64ToSSize(tif, bytecount64, module);
++ if( bytecountm == 0 ) {
+ return ((tmsize_t)(-1));
+ }
+ return (TIFFReadRawTile1(tif, tile, buf, bytecountm, module));
+@@ -1221,7 +1203,7 @@ TIFFFillTile(TIFF* tif, uint32 tile)
+ if ((tif->tif_flags&TIFF_NOREADRAW)==0)
+ {
+ uint64 bytecount = td->td_stripbytecount[tile];
+- if ((int64)bytecount <= 0) {
++ if( bytecount == 0 || bytecount > (uint64)TIFF_INT64_MAX ) {
+ #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
+ TIFFErrorExt(tif->tif_clientdata, module,
+ "%I64u: Invalid tile byte count, tile %lu",
+@@ -1248,7 +1230,7 @@ TIFFFillTile(TIFF* tif, uint32 tile)
+ (bytecount - 4096) / 10 > (uint64)stripsize )
+ {
+ uint64 newbytecount = (uint64)stripsize * 10 + 4096;
+- if( (int64)newbytecount >= 0 )
++ if( newbytecount == 0 || newbytecount > (uint64)TIFF_INT64_MAX )
+ {
+ #if defined(__WIN32__) && (defined(_MSC_VER) || defined(__MINGW32__))
+ TIFFWarningExt(tif->tif_clientdata, module,
+diff --git a/libtiff/tif_strip.c b/libtiff/tif_strip.c
+index 5b76fba5..2366acf0 100644
+--- a/libtiff/tif_strip.c
++++ b/libtiff/tif_strip.c
+@@ -129,15 +129,8 @@ TIFFVStripSize(TIFF* tif, uint32 nrows)
+ {
+ static const char module[] = "TIFFVStripSize";
+ uint64 m;
+- tmsize_t n;
+ m=TIFFVStripSize64(tif,nrows);
+- n=(tmsize_t)m;
+- if ((uint64)n!=m)
+- {
+- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
+- n=0;
+- }
+- return(n);
++ return _TIFFCastUInt64ToSSize(tif, m, module);
+ }
+
+ /*
+@@ -211,15 +204,8 @@ TIFFStripSize(TIFF* tif)
+ {
+ static const char module[] = "TIFFStripSize";
+ uint64 m;
+- tmsize_t n;
+ m=TIFFStripSize64(tif);
+- n=(tmsize_t)m;
+- if ((uint64)n!=m)
+- {
+- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
+- n=0;
+- }
+- return(n);
++ return _TIFFCastUInt64ToSSize(tif, m, module);
+ }
+
+ /*
+@@ -330,14 +316,8 @@ TIFFScanlineSize(TIFF* tif)
+ {
+ static const char module[] = "TIFFScanlineSize";
+ uint64 m;
+- tmsize_t n;
+ m=TIFFScanlineSize64(tif);
+- n=(tmsize_t)m;
+- if ((uint64)n!=m) {
+- TIFFErrorExt(tif->tif_clientdata,module,"Integer arithmetic overflow");
+- n=0;
+- }
+- return(n);
++ return _TIFFCastUInt64ToSSize(tif, m, module);
+ }
+
+ /*
+@@ -366,15 +346,8 @@ TIFFRasterScanlineSize(TIFF* tif)
+ {
+ static const char module[] = "TIFFRasterScanlineSize";
+ uint64 m;
+- tmsize_t n;
+ m=TIFFRasterScanlineSize64(tif);
+- n=(tmsize_t)m;
+- if ((uint64)n!=m)
+- {
+- TIFFErrorExt(tif->tif_clientdata,module,"Integer arithmetic overflow");
+- n=0;
+- }
+- return(n);
++ return _TIFFCastUInt64ToSSize(tif, m, module);
+ }
+
+ /* vim: set ts=8 sts=8 sw=8 noet: */
+diff --git a/libtiff/tif_tile.c b/libtiff/tif_tile.c
+index 58fe9354..661cc771 100644
+--- a/libtiff/tif_tile.c
++++ b/libtiff/tif_tile.c
+@@ -181,15 +181,8 @@ TIFFTileRowSize(TIFF* tif)
+ {
+ static const char module[] = "TIFFTileRowSize";
+ uint64 m;
+- tmsize_t n;
+ m=TIFFTileRowSize64(tif);
+- n=(tmsize_t)m;
+- if ((uint64)n!=m)
+- {
+- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
+- n=0;
+- }
+- return(n);
++ return _TIFFCastUInt64ToSSize(tif, m, module);
+ }
+
+ /*
+@@ -248,15 +241,8 @@ TIFFVTileSize(TIFF* tif, uint32 nrows)
+ {
+ static const char module[] = "TIFFVTileSize";
+ uint64 m;
+- tmsize_t n;
+ m=TIFFVTileSize64(tif,nrows);
+- n=(tmsize_t)m;
+- if ((uint64)n!=m)
+- {
+- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
+- n=0;
+- }
+- return(n);
++ return _TIFFCastUInt64ToSSize(tif, m, module);
+ }
+
+ /*
+@@ -272,15 +258,8 @@ TIFFTileSize(TIFF* tif)
+ {
+ static const char module[] = "TIFFTileSize";
+ uint64 m;
+- tmsize_t n;
+ m=TIFFTileSize64(tif);
+- n=(tmsize_t)m;
+- if ((uint64)n!=m)
+- {
+- TIFFErrorExt(tif->tif_clientdata,module,"Integer overflow");
+- n=0;
+- }
+- return(n);
++ return _TIFFCastUInt64ToSSize(tif, m, module);
+ }
+
+ /*
+diff --git a/libtiff/tiffiop.h b/libtiff/tiffiop.h
+index 186c291f..558484fe 100644
+--- a/libtiff/tiffiop.h
++++ b/libtiff/tiffiop.h
+@@ -77,6 +77,9 @@ extern int snprintf(char* str, size_t size, const char* format, ...);
+ #define FALSE 0
+ #endif
+
++#define TIFF_SIZE_T_MAX ((size_t) ~ ((size_t)0))
++#define TIFF_TMSIZE_T_MAX (tmsize_t)(TIFF_SIZE_T_MAX >> 1)
++
+ typedef struct client_info {
+ struct client_info *next;
+ void *data;
+@@ -258,7 +261,7 @@ struct tiff {
+ #define TIFFhowmany8_64(x) (((x)&0x07)?((uint64)(x)>>3)+1:(uint64)(x)>>3)
+ #define TIFFroundup_64(x, y) (TIFFhowmany_64(x,y)*(y))
+
+-/* Safe multiply which returns zero if there is an integer overflow */
++/* Safe multiply which returns zero if there is an *unsigned* integer overflow. This macro is not safe for *signed* integer types */
+ #define TIFFSafeMultiply(t,v,m) ((((t)(m) != (t)0) && (((t)(((v)*(m))/(m))) == (t)(v))) ? (t)((v)*(m)) : (t)0)
+
+ #define TIFFmax(A,B) ((A)>(B)?(A):(B))
+@@ -368,6 +371,8 @@ extern TIFFErrorHandlerExt _TIFFerrorHandlerExt;
+
+ extern uint32 _TIFFMultiply32(TIFF*, uint32, uint32, const char*);
+ extern uint64 _TIFFMultiply64(TIFF*, uint64, uint64, const char*);
++extern tmsize_t _TIFFMultiplySSize(TIFF*, tmsize_t, tmsize_t, const char*);
++extern tmsize_t _TIFFCastUInt64ToSSize(TIFF*, uint64, const char*);
+ extern void* _TIFFCheckMalloc(TIFF*, tmsize_t, tmsize_t, const char*);
+ extern void* _TIFFCheckRealloc(TIFF*, void*, tmsize_t, tmsize_t, const char*);
+
+--
+2.17.1
+
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-6128.patch b/poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-6128.patch
new file mode 100644
index 000000000..6f1fd4d44
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-6128.patch
@@ -0,0 +1,52 @@
+CVE: CVE-2019-6128
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From 0c74a9f49b8d7a36b17b54a7428b3526d20f88a8 Mon Sep 17 00:00:00 2001
+From: Scott Gayou <github.scott@gmail.com>
+Date: Wed, 23 Jan 2019 15:03:53 -0500
+Subject: [PATCH] Fix for simple memory leak that was assigned CVE-2019-6128.
+
+pal2rgb failed to free memory on a few errors. This was reported
+here: http://bugzilla.maptools.org/show_bug.cgi?id=2836.
+---
+ tools/pal2rgb.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/tools/pal2rgb.c b/tools/pal2rgb.c
+index 01d8502ec..9492f1cf1 100644
+--- a/tools/pal2rgb.c
++++ b/tools/pal2rgb.c
+@@ -118,12 +118,14 @@ main(int argc, char* argv[])
+ shortv != PHOTOMETRIC_PALETTE) {
+ fprintf(stderr, "%s: Expecting a palette image.\n",
+ argv[optind]);
++ (void) TIFFClose(in);
+ return (-1);
+ }
+ if (!TIFFGetField(in, TIFFTAG_COLORMAP, &rmap, &gmap, &bmap)) {
+ fprintf(stderr,
+ "%s: No colormap (not a valid palette image).\n",
+ argv[optind]);
++ (void) TIFFClose(in);
+ return (-1);
+ }
+ bitspersample = 0;
+@@ -131,11 +133,14 @@ main(int argc, char* argv[])
+ if (bitspersample != 8) {
+ fprintf(stderr, "%s: Sorry, can only handle 8-bit images.\n",
+ argv[optind]);
++ (void) TIFFClose(in);
+ return (-1);
+ }
+ out = TIFFOpen(argv[optind+1], "w");
+- if (out == NULL)
++ if (out == NULL) {
++ (void) TIFFClose(in);
+ return (-2);
++ }
+ cpTags(in, out);
+ TIFFGetField(in, TIFFTAG_IMAGEWIDTH, &imagewidth);
+ TIFFGetField(in, TIFFTAG_IMAGELENGTH, &imagelength);
+--
+2.21.0
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-7663.patch b/poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-7663.patch
new file mode 100644
index 000000000..f244fb2f3
--- /dev/null
+++ b/poky/meta/recipes-multimedia/libtiff/tiff/CVE-2019-7663.patch
@@ -0,0 +1,77 @@
+CVE: CVE-2019-7663
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From c6fc6c1fa895024c86285c58efd6424cf8078f32 Mon Sep 17 00:00:00 2001
+From: Thomas Bernard <miniupnp@free.fr>
+Date: Mon, 11 Feb 2019 10:05:33 +0100
+Subject: [PATCH 1/2] check that (Tile Width)*(Samples/Pixel) do no overflow
+
+fixes bug 2833
+---
+ tools/tiffcp.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/tools/tiffcp.c b/tools/tiffcp.c
+index 2f406e2d..f0ee2c02 100644
+--- a/tools/tiffcp.c
++++ b/tools/tiffcp.c
+@@ -1408,7 +1408,7 @@ DECLAREreadFunc(readSeparateTilesIntoBuffer)
+ int status = 1;
+ uint32 imagew = TIFFRasterScanlineSize(in);
+ uint32 tilew = TIFFTileRowSize(in);
+- int iskew = imagew - tilew*spp;
++ int iskew;
+ tsize_t tilesize = TIFFTileSize(in);
+ tdata_t tilebuf;
+ uint8* bufp = (uint8*) buf;
+@@ -1416,6 +1416,12 @@ DECLAREreadFunc(readSeparateTilesIntoBuffer)
+ uint32 row;
+ uint16 bps = 0, bytes_per_sample;
+
++ if (spp > (0x7fffffff / tilew))
++ {
++ TIFFError(TIFFFileName(in), "Error, cannot handle that much samples per tile row (Tile Width * Samples/Pixel)");
++ return 0;
++ }
++ iskew = imagew - tilew*spp;
+ tilebuf = _TIFFmalloc(tilesize);
+ if (tilebuf == 0)
+ return 0;
+--
+2.20.1
+
+
+From da6454aa80b9bb3154dfab4e8b21637de47531e0 Mon Sep 17 00:00:00 2001
+From: Thomas Bernard <miniupnp@free.fr>
+Date: Mon, 11 Feb 2019 21:42:03 +0100
+Subject: [PATCH 2/2] tiffcp.c: use INT_MAX
+
+---
+ tools/tiffcp.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tools/tiffcp.c b/tools/tiffcp.c
+index f0ee2c02..8c81aa4f 100644
+--- a/tools/tiffcp.c
++++ b/tools/tiffcp.c
+@@ -41,6 +41,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <limits.h>
+
+ #include <ctype.h>
+
+@@ -1416,7 +1417,7 @@ DECLAREreadFunc(readSeparateTilesIntoBuffer)
+ uint32 row;
+ uint16 bps = 0, bytes_per_sample;
+
+- if (spp > (0x7fffffff / tilew))
++ if (spp > (INT_MAX / tilew))
+ {
+ TIFFError(TIFFFileName(in), "Error, cannot handle that much samples per tile row (Tile Width * Samples/Pixel)");
+ return 0;
+--
+2.20.1
+
diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.0.10.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.0.10.bb
index 152fa819a..0432763cc 100644
--- a/poky/meta/recipes-multimedia/libtiff/tiff_4.0.10.bb
+++ b/poky/meta/recipes-multimedia/libtiff/tiff_4.0.10.bb
@@ -5,9 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf"
CVE_PRODUCT = "libtiff"
SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \
- file://libtool2.patch \
- "
-
+ file://CVE-2019-6128.patch \
+ file://CVE-2019-7663.patch \
+ file://CVE-2019-14973.patch \
+"
SRC_URI[md5sum] = "114192d7ebe537912a2b97408832e7fd"
SRC_URI[sha256sum] = "2c52d11ccaf767457db0c46795d9c7d1a8d8f76f68b0b800a3dfe45786b996e4"
diff --git a/poky/meta/recipes-multimedia/mpeg2dec/files/0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch b/poky/meta/recipes-multimedia/mpeg2dec/files/0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch
new file mode 100644
index 000000000..b2544cb44
--- /dev/null
+++ b/poky/meta/recipes-multimedia/mpeg2dec/files/0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch
@@ -0,0 +1,156 @@
+From 0cafb99b57f43cf6ac2c6208718e49ad2dbe462d Mon Sep 17 00:00:00 2001
+From: Jan Schmidt <thaytan@noraisin.net>
+Date: Sun, 10 Nov 2013 00:49:52 +1100
+Subject: [PATCH] Import revision 1206 from upstream to fix PIE build.
+
+Functions MC_put_o_16_arm, MC_put_o_8_arm, MC_put_x_16_arm, MC_put_x_8_arm
+in libmpeg2/motion_comp_arm_s.S have addresses in .text, which is bad
+for shared libraries. Some environments demand that .text actually be
+read-only all the time, yet MC_put_o_16_arm etc require that the addresses
+be modified by the dynamic linking mechanism (dlopen, LoadLibrary, etc.)
+Even in those environments which permit the dynamic linker to modify the
+.text segment, the runtime cost of doing the relocation can be noticeable.
+
+This commit rewrites the linkage, discarding the tables of addresses
+in favor of tables of offsets. All transfers are local within each individual
+function, so there can be no interference by processing that occurs
+after assembly, such as link-time re-ordering (even of individual functions.)
+
+Patch by John Reiser <jreiser@bitwagon.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [https://code.videolan.org/videolan/libmpeg2/commit/946bf4b518aacc224f845e73708f99e394744499]
+---
+ libmpeg2/motion_comp_arm_s.S | 70 +++++++++++++++++-------------------
+ 1 file changed, 33 insertions(+), 37 deletions(-)
+
+diff --git a/libmpeg2/motion_comp_arm_s.S b/libmpeg2/motion_comp_arm_s.S
+index c921f7c..82143f8 100644
+--- a/libmpeg2/motion_comp_arm_s.S
++++ b/libmpeg2/motion_comp_arm_s.S
+@@ -30,9 +30,13 @@ MC_put_o_16_arm:
+ pld [r1]
+ stmfd sp!, {r4-r11, lr} @ R14 is also called LR
+ and r4, r1, #3
+- adr r5, MC_put_o_16_arm_align_jt
+- add r5, r5, r4, lsl #2
+- ldr pc, [r5]
++ ldrb r4, [pc, r4]
++ add pc, pc, r4, lsl #2
++ .byte (MC_put_o_16_arm_align0 - 0f)>>2
++ .byte (MC_put_o_16_arm_align1 - 0f)>>2
++ .byte (MC_put_o_16_arm_align2 - 0f)>>2
++ .byte (MC_put_o_16_arm_align3 - 0f)>>2
++0:
+
+ MC_put_o_16_arm_align0:
+ ldmia r1, {r4-r7}
+@@ -76,11 +80,6 @@ MC_put_o_16_arm_align3:
+ 1: PROC(24)
+ bne 1b
+ ldmfd sp!, {r4-r11, pc} @@ update PC with LR content.
+-MC_put_o_16_arm_align_jt:
+- .word MC_put_o_16_arm_align0
+- .word MC_put_o_16_arm_align1
+- .word MC_put_o_16_arm_align2
+- .word MC_put_o_16_arm_align3
+
+ @ ----------------------------------------------------------------
+ .align
+@@ -91,9 +90,14 @@ MC_put_o_8_arm:
+ pld [r1]
+ stmfd sp!, {r4-r10, lr} @ R14 is also called LR
+ and r4, r1, #3
+- adr r5, MC_put_o_8_arm_align_jt
+- add r5, r5, r4, lsl #2
+- ldr pc, [r5]
++ ldrb r4, [pc, r4]
++ add pc, pc, r4, lsl #2
++ .byte (MC_put_o_8_arm_align0 - 0f)>>2
++ .byte (MC_put_o_8_arm_align1 - 0f)>>2
++ .byte (MC_put_o_8_arm_align2 - 0f)>>2
++ .byte (MC_put_o_8_arm_align3 - 0f)>>2
++0:
++
+ MC_put_o_8_arm_align0:
+ ldmia r1, {r4-r5}
+ add r1, r1, r2
+@@ -135,12 +139,6 @@ MC_put_o_8_arm_align3:
+ bne 1b
+ ldmfd sp!, {r4-r10, pc} @@ update PC with LR content.
+
+-MC_put_o_8_arm_align_jt:
+- .word MC_put_o_8_arm_align0
+- .word MC_put_o_8_arm_align1
+- .word MC_put_o_8_arm_align2
+- .word MC_put_o_8_arm_align3
+-
+ @ ----------------------------------------------------------------
+ .macro AVG_PW rW1, rW2
+ mov \rW2, \rW2, lsl #24
+@@ -160,12 +158,17 @@ MC_put_x_16_arm:
+ @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
+ pld [r1]
+ stmfd sp!, {r4-r11,lr} @ R14 is also called LR
++ ldr r11, 0f
+ and r4, r1, #3
+- adr r5, MC_put_x_16_arm_align_jt
+- ldr r11, [r5]
+ mvn r12, r11
+- add r5, r5, r4, lsl #2
+- ldr pc, [r5, #4]
++ ldrb r4, [pc, r4]
++ add pc, pc, r4, lsl #2
++ .byte (MC_put_x_16_arm_align0 - 0f)>>2
++ .byte (MC_put_x_16_arm_align1 - 0f)>>2
++ .byte (MC_put_x_16_arm_align2 - 0f)>>2
++ .byte (MC_put_x_16_arm_align3 - 0f)>>2
++0:
++ .word 0x01010101
+
+ .macro ADJ_ALIGN_QW shift, R0, R1, R2, R3, R4
+ mov \R0, \R0, lsr #(\shift)
+@@ -238,12 +241,6 @@ MC_put_x_16_arm_align3:
+ add r0, r0, r2
+ bne 1b
+ ldmfd sp!, {r4-r11,pc} @@ update PC with LR content.
+-MC_put_x_16_arm_align_jt:
+- .word 0x01010101
+- .word MC_put_x_16_arm_align0
+- .word MC_put_x_16_arm_align1
+- .word MC_put_x_16_arm_align2
+- .word MC_put_x_16_arm_align3
+
+ @ ----------------------------------------------------------------
+ .align
+@@ -253,12 +250,17 @@ MC_put_x_8_arm:
+ @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height)
+ pld [r1]
+ stmfd sp!, {r4-r11,lr} @ R14 is also called LR
++ ldr r11, 0f
+ and r4, r1, #3
+- adr r5, MC_put_x_8_arm_align_jt
+- ldr r11, [r5]
+ mvn r12, r11
+- add r5, r5, r4, lsl #2
+- ldr pc, [r5, #4]
++ ldrb r4, [pc, r4]
++ add pc, pc, r4, lsl #2
++ .byte (MC_put_x_8_arm_align0 - 0f)>>2
++ .byte (MC_put_x_8_arm_align1 - 0f)>>2
++ .byte (MC_put_x_8_arm_align2 - 0f)>>2
++ .byte (MC_put_x_8_arm_align3 - 0f)>>2
++0:
++ .word 0x01010101
+
+ .macro ADJ_ALIGN_DW shift, R0, R1, R2
+ mov \R0, \R0, lsr #(\shift)
+@@ -319,9 +321,3 @@ MC_put_x_8_arm_align3:
+ add r0, r0, r2
+ bne 1b
+ ldmfd sp!, {r4-r11,pc} @@ update PC with LR content.
+-MC_put_x_8_arm_align_jt:
+- .word 0x01010101
+- .word MC_put_x_8_arm_align0
+- .word MC_put_x_8_arm_align1
+- .word MC_put_x_8_arm_align2
+- .word MC_put_x_8_arm_align3
diff --git a/poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb b/poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
index 6b59d4f68..00ca3675c 100644
--- a/poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
+++ b/poky/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
@@ -11,6 +11,7 @@ SRC_URI = "http://libmpeg2.sourceforge.net/files/libmpeg2-${PV}.tar.gz \
file://0001-check-for-available-arm-optimizations.patch \
file://0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch \
file://61_global-symbol-test.patch \
+ file://0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch \
"
S = "${WORKDIR}/libmpeg2-${PV}"
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb
deleted file mode 100644
index dfb10bb1c..000000000
--- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.10.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3"
-DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \
-mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \
-and also can write the decoded audio to WAV."
-HOMEPAGE = "http://mpg123.de/"
-BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/"
-SECTION = "multimedia"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3"
-
-SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2 \
- file://sdl2.patch"
-SRC_URI[md5sum] = "ea32caa61d41d8be797f0b04a1b43ad9"
-SRC_URI[sha256sum] = "6c1337aee2e4bf993299851c70b7db11faec785303cfca3a5c3eb5f329ba7023"
-
-inherit autotools pkgconfig
-
-# The options should be mutually exclusive for configuration script.
-# If both alsa and pulseaudio are specified (as in the default distro features)
-# pulseaudio takes precedence.
-PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}"
-
-PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib"
-PACKAGECONFIG[esd] = ",,esound"
-PACKAGECONFIG[jack] = ",,jack"
-PACKAGECONFIG[openal] = ",,openal-soft"
-PACKAGECONFIG[portaudio] = ",,portaudio-v19"
-PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio"
-PACKAGECONFIG[sdl] = ",,libsdl2"
-
-# Following are possible sound output modules:
-# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi
-AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}"
-AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}"
-
-EXTRA_OECONF = " \
- --enable-shared \
- --with-audio='${AUDIOMODS}' \
- ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \
- ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \
-"
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4'
-#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24'
-#...
-#| make[3]: *** [equalizer.lo] Error 1
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.11.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.11.bb
new file mode 100644
index 000000000..d063ef5c5
--- /dev/null
+++ b/poky/meta/recipes-multimedia/mpg123/mpg123_1.25.11.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Audio decoder for MPEG-1 Layer 1/2/3"
+DESCRIPTION = "The core of mpg123 is an MPEG-1 Layer 1/2/3 decoding library, which can be used by other programs. \
+mpg123 also comes with a command-line tool which can playback using ALSA, PulseAudio, OSS, and several other APIs, \
+and also can write the decoded audio to WAV."
+HOMEPAGE = "http://mpg123.de/"
+BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/"
+SECTION = "multimedia"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3"
+
+SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2 \
+ file://sdl2.patch"
+SRC_URI[md5sum] = "64749512a6fdc117227abe13fee4cc36"
+SRC_URI[sha256sum] = "df063307faa27c7d9efe63d2139b1564cfc7cdbb7c6f449c89ef8faabfa0eab2"
+
+inherit autotools pkgconfig
+
+# The options should be mutually exclusive for configuration script.
+# If both alsa and pulseaudio are specified (as in the default distro features)
+# pulseaudio takes precedence.
+PACKAGECONFIG_ALSA = "${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)}"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '${PACKAGECONFIG_ALSA}', d)}"
+
+PACKAGECONFIG[alsa] = "--with-default-audio=alsa,,alsa-lib"
+PACKAGECONFIG[esd] = ",,esound"
+PACKAGECONFIG[jack] = ",,jack"
+PACKAGECONFIG[openal] = ",,openal-soft"
+PACKAGECONFIG[portaudio] = ",,portaudio-v19"
+PACKAGECONFIG[pulseaudio] = "--with-default-audio=pulse,,pulseaudio"
+PACKAGECONFIG[sdl] = ",,libsdl2"
+
+# Following are possible sound output modules:
+# alsa arts coreaudio dummy esd jack nas openal os2 oss portaudio pulse sdl sndio sun tinyalsa win32 win32_wasapi
+AUDIOMODS += "${@bb.utils.filter('PACKAGECONFIG', 'alsa esd jack openal portaudio sdl', d)}"
+AUDIOMODS += "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'pulse', '', d)}"
+
+EXTRA_OECONF = " \
+ --enable-shared \
+ --with-audio='${AUDIOMODS}' \
+ ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \
+ ${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \
+"
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:47: Error: selected processor does not support Thumb mode `smull r5,r6,r7,r4'
+#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24'
+#...
+#| make[3]: *** [equalizer.lo] Error 1
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 9a95e7c65..ec51d8b27 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -61,7 +61,7 @@ DEPENDS = "libatomic-ops libsndfile1 libtool intltool-native"
DEPENDS += "udev alsa-lib glib-2.0"
DEPENDS += "speexdsp libxml-parser-perl-native libcap"
-inherit autotools bash-completion pkgconfig useradd gettext perlnative bluetooth systemd manpages gsettings
+inherit autotools bash-completion pkgconfig useradd gettext perlnative systemd manpages gsettings
# *.desktop rules wont be generated during configure and build will fail
# if using --disable-nls
@@ -98,7 +98,7 @@ EXTRA_OECONF += "--without-fftw"
# very good anyway, better alternatives exist (such as the webrtc canceller).
EXTRA_OECONF += "--disable-adrian-aec"
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd x11', d)} \
@@ -106,7 +106,6 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ
"
PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
-PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc"
PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc"
PACKAGECONFIG[gconf] = "--enable-gconf,--disable-gconf,gconf"
PACKAGECONFIG[gsettings] = "--enable-gsettings,--disable-gsettings,glib-2.0-native glib-2.0"
@@ -260,9 +259,12 @@ FILES_${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}
# modules must be installed when X11 is enabled.
RDEPENDS_pulseaudio-server += "\
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '\
- pulseaudio-module-console-kit \
pulseaudio-module-device-manager \
pulseaudio-module-x11-cork-request \
pulseaudio-module-x11-publish \
pulseaudio-module-x11-xsmp \
', '', d)}"
+
+RDEPENDS_pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
+ bb.utils.contains('DISTRO_FEATURES', 'systemd', 'pulseaudio-module-systemd-login', 'pulseaudio-module-console-kit', d), \
+ '', d)}"
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-alsa-Fix-inclusion-of-use-case.h.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-alsa-Fix-inclusion-of-use-case.h.patch
new file mode 100644
index 000000000..15026a2f8
--- /dev/null
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-alsa-Fix-inclusion-of-use-case.h.patch
@@ -0,0 +1,46 @@
+From b89d33bb182c42db5ad3987b0e91b7bf62f421e8 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Sun, 21 Apr 2019 11:59:30 +0200
+Subject: [PATCH] alsa: Fix inclusion of use-case.h
+
+The recent change in ALSA upstream stripped -I$include/alsa path from
+pkgconfig. We already fixed for this change in some places but still
+the code for UCM was overlooked, and this resulted in the unresolved
+symbols in alsa card module. Fix them as well.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Upstream-Status: Backport
+---
+ configure.ac | 2 +-
+ src/modules/alsa/alsa-ucm.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c004bd70d..b44ed1595 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -826,7 +826,7 @@ AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"],
+ AS_IF([test "x$HAVE_ALSA" = "x1"],
+ [
+ save_CPPFLAGS="$CPPFLAGS"; CPPFLAGS="$CPPFLAGS $ASOUNDLIB_CFLAGS"
+- AC_CHECK_HEADERS([use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
++ AC_CHECK_HEADERS([alsa/use-case.h], HAVE_ALSA_UCM=1, HAVE_ALSA_UCM=0)
+ CPPFLAGS="$save_CPPFLAGS"
+ ],
+ HAVE_ALSA_UCM=0)
+diff --git a/src/modules/alsa/alsa-ucm.h b/src/modules/alsa/alsa-ucm.h
+index 53abf3f90..c926f3cc3 100644
+--- a/src/modules/alsa/alsa-ucm.h
++++ b/src/modules/alsa/alsa-ucm.h
+@@ -23,7 +23,7 @@
+ ***/
+
+ #ifdef HAVE_ALSA_UCM
+-#include <use-case.h>
++#include <alsa/use-case.h>
+ #else
+ typedef void snd_use_case_mgr_t;
+ #endif
+--
+2.21.0
+
diff --git a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb
index c020fbd4f..88b4975a6 100644
--- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb
+++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb
@@ -3,6 +3,7 @@ require pulseaudio.inc
SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
file://0001-client-conf-Add-allow-autospawn-for-root.patch \
file://0001-introduce-a-special-build-flag-to-explicitly-disable.patch \
+ file://0001-alsa-Fix-inclusion-of-use-case.h.patch \
file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \
file://volatiles.04_pulse \
"
diff --git a/poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb b/poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb
deleted file mode 100644
index 8b3ffe021..000000000
--- a/poky/meta/recipes-multimedia/webp/libwebp_1.0.2.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "WebP is an image format designed for the Web"
-DESCRIPTION = "WebP is a method of lossy and lossless compression that can be \
- used on a large variety of photographic, translucent and \
- graphical images found on the web. The degree of lossy \
- compression is adjustable so a user can choose the trade-off \
- between file size and image quality. WebP typically achieves \
- an average of 30% more compression than JPEG and JPEG 2000, \
- without loss of image quality."
-HOMEPAGE = "https://developers.google.com/speed/webp/"
-SECTION = "libs"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \
- file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7"
-
-SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz"
-SRC_URI[md5sum] = "02c0c55f1dd8612cd4d462e3409ad35d"
-SRC_URI[sha256sum] = "3d47b48c40ed6476e8047b2ddb81d93835e0ca1b8d3e8c679afbb3004dd564b1"
-
-UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html"
-
-EXTRA_OECONF = " \
- --disable-wic \
- --enable-libwebpmux \
- --enable-libwebpdemux \
- --enable-threading \
-"
-# Do not trust configure to determine if neon is available.
-#
-EXTRA_OECONF_append_arm = " \
- ${@bb.utils.contains("TUNE_FEATURES","neon","--enable-neon","--disable-neon",d)} \
-"
-
-inherit autotools lib_package
-
-PACKAGECONFIG ??= ""
-
-# libwebpdecoder is a subset of libwebp, don't build it unless requested
-PACKAGECONFIG[decoder] = "--enable-libwebpdecoder,--disable-libwebpdecoder"
-
-# Apply for examples programs: cwebp and dwebp
-PACKAGECONFIG[gif] = "--enable-gif,--disable-gif,giflib"
-PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
-PACKAGECONFIG[png] = "--enable-png,--disable-png,,libpng"
-PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
-
-# Apply only for example program vwebp
-PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,mesa-glut"
-
-PACKAGES =+ "${PN}-gif2webp"
-
-DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP"
-FILES_${PN}-gif2webp = "${bindir}/gif2webp"
diff --git a/poky/meta/recipes-multimedia/webp/libwebp_1.0.3.bb b/poky/meta/recipes-multimedia/webp/libwebp_1.0.3.bb
new file mode 100644
index 000000000..a4d1ae43d
--- /dev/null
+++ b/poky/meta/recipes-multimedia/webp/libwebp_1.0.3.bb
@@ -0,0 +1,56 @@
+SUMMARY = "WebP is an image format designed for the Web"
+DESCRIPTION = "WebP is a method of lossy and lossless compression that can be \
+ used on a large variety of photographic, translucent and \
+ graphical images found on the web. The degree of lossy \
+ compression is adjustable so a user can choose the trade-off \
+ between file size and image quality. WebP typically achieves \
+ an average of 30% more compression than JPEG and JPEG 2000, \
+ without loss of image quality."
+HOMEPAGE = "https://developers.google.com/speed/webp/"
+SECTION = "libs"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \
+ file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7"
+
+SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz"
+SRC_URI[md5sum] = "906ad85daaaa2eac97c8aa2dec9e8b77"
+SRC_URI[sha256sum] = "e20a07865c8697bba00aebccc6f54912d6bc333bb4d604e6b07491c1a226b34f"
+
+UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html"
+
+EXTRA_OECONF = " \
+ --disable-wic \
+ --enable-libwebpmux \
+ --enable-libwebpdemux \
+ --enable-threading \
+"
+
+# Do not trust configure to determine if neon is available.
+#
+EXTRA_OECONF_ARM = " \
+ ${@bb.utils.contains("TUNE_FEATURES","neon","--enable-neon","--disable-neon",d)} \
+"
+EXTRA_OECONF_append_arm = " ${EXTRA_OECONF_ARM}"
+EXTRA_OECONF_append_armeb = " ${EXTRA_OECONF_ARM}"
+
+inherit autotools lib_package
+
+PACKAGECONFIG ??= ""
+
+# libwebpdecoder is a subset of libwebp, don't build it unless requested
+PACKAGECONFIG[decoder] = "--enable-libwebpdecoder,--disable-libwebpdecoder"
+
+# Apply for examples programs: cwebp and dwebp
+PACKAGECONFIG[gif] = "--enable-gif,--disable-gif,giflib"
+PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
+PACKAGECONFIG[png] = "--enable-png,--disable-png,,libpng"
+PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
+
+# Apply only for example program vwebp
+PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,mesa-glut"
+
+PACKAGES =+ "${PN}-gif2webp"
+
+DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP"
+FILES_${PN}-gif2webp = "${bindir}/gif2webp"
diff --git a/poky/meta/recipes-rt/rt-tests/files/rt_bmark.py b/poky/meta/recipes-rt/rt-tests/files/rt_bmark.py
index 080a65589..57b39b52a 100755
--- a/poky/meta/recipes-rt/rt-tests/files/rt_bmark.py
+++ b/poky/meta/recipes-rt/rt-tests/files/rt_bmark.py
@@ -130,7 +130,7 @@ def log_test_header(seq_no, nr_of_tests, name):
#-------------------------------------------------------------------------------
def start_stress(*args):
- stress_cmd = [ "stress" ]
+ stress_cmd = [ "stress-ng" ]
added_stress_types = []
req_stress_types = set(args)
cpu_cnt = str(multiprocessing.cpu_count())
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests.inc b/poky/meta/recipes-rt/rt-tests/rt-tests.inc
index f87952e0a..227eb99b9 100644
--- a/poky/meta/recipes-rt/rt-tests/rt-tests.inc
+++ b/poky/meta/recipes-rt/rt-tests/rt-tests.inc
@@ -3,8 +3,8 @@ SRCREV = "dff174f994f547a5785d32454865f140daacb0f5"
PE = "1"
SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git"
-# 1.2 and 1.3 seem to be development versions
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(?!1\.2)(?!1\.3)(\d+(\.\d+)+))"
+# 1.2 to 1.5 seem to be development versions
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(?!1\.[2-5])(\d+(\.\d+)+))"
S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb b/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb
index 496f04fdb..5aa0aa10c 100644
--- a/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb
+++ b/poky/meta/recipes-rt/rt-tests/rt-tests_1.1.bb
@@ -14,6 +14,10 @@ SRC_URI += " \
file://run-ptest \
file://rt_bmark.py \
"
+
+# rt-tests needs PI mutex support in libc
+COMPATIBLE_HOST_libc-musl = 'null'
+
# Do not install hwlatdetect
EXTRA_OEMAKE += "PYLIB=''"
@@ -26,6 +30,6 @@ do_install_ptest() {
cp ${WORKDIR}/rt_bmark.py ${D}${PTEST_PATH}
}
-RDEPENDS_${PN}-ptest += " stress python3 python3-multiprocessing python3-datetime python3-misc"
+RDEPENDS_${PN}-ptest += " stress-ng python3 python3-multiprocessing python3-datetime python3-misc"
FILES_${PN} += "${prefix}/src/backfire"
diff --git a/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb b/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
index e84beda6c..ff297fe32 100644
--- a/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
+++ b/poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
@@ -12,10 +12,10 @@ IMAGE_INSTALL += "${PTESTS_FAST} ${PTESTS_SLOW}"
# This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live
# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
-# box) and explicitly add just 1200MB.
+# box) and explicitly add just 1100MB.
# strace-ptest in particular needs more than 500MB
IMAGE_OVERHEAD_FACTOR = "1.0"
-IMAGE_ROOTFS_EXTRA_SPACE = "1224288"
+IMAGE_ROOTFS_EXTRA_SPACE = "1124288"
# ptests need more memory than standard to avoid the OOM killer
QB_MEM = "-m 1024"
diff --git a/poky/meta/recipes-sato/images/core-image-sato.bb b/poky/meta/recipes-sato/images/core-image-sato.bb
index b89795028..673106eb6 100644
--- a/poky/meta/recipes-sato/images/core-image-sato.bb
+++ b/poky/meta/recipes-sato/images/core-image-sato.bb
@@ -10,3 +10,6 @@ inherit core-image
TOOLCHAIN_HOST_TASK_append = " nativesdk-intltool nativesdk-glib-2.0"
TOOLCHAIN_HOST_TASK_remove_task-populate-sdk-ext = " nativesdk-intltool nativesdk-glib-2.0"
+
+QB_MEM = '${@bb.utils.contains("DISTRO_FEATURES", "opengl", "-m 512", "-m 256", d)}'
+QB_MEM_qemumips = "-m 256"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch
index 664cea9c7..e7c668c04 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch
@@ -1,4 +1,4 @@
-From d3796ad1a19233ee5d3492a5560d7ede882f89cf Mon Sep 17 00:00:00 2001
+From 4b5e02212a31b82fc9b3becad90542274816fc29 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 11 Aug 2016 17:13:51 +0300
Subject: [PATCH] Tweak gtkdoc settings so that gtkdoc generation works under
@@ -17,23 +17,23 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Source/cmake/GtkDoc.cmake b/Source/cmake/GtkDoc.cmake
-index 2ee05550..6cb6313d 100644
+index b0fb31ca..6cb6313d 100644
--- a/Source/cmake/GtkDoc.cmake
+++ b/Source/cmake/GtkDoc.cmake
@@ -4,7 +4,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args)
add_custom_command(
OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}"
DEPENDS ${DocumentationDependencies}
-- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args}
+- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LDFLAGS=${CMAKE_EXE_LINKER_FLAGS}" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args}
+ COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LD=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_C_LINK_FLAGS}" "RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper" ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args}
COMMAND touch ${_stamp_name}
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
VERBATIM
diff --git a/Tools/gtkdoc/gtkdoc.py b/Tools/gtkdoc/gtkdoc.py
-index 81ee8cdc..3e11c2f0 100644
+index 054cafa1..416de7d1 100644
--- a/Tools/gtkdoc/gtkdoc.py
+++ b/Tools/gtkdoc/gtkdoc.py
-@@ -317,9 +317,9 @@ class GTKDoc(object):
+@@ -320,9 +320,9 @@ class GTKDoc(object):
additional_ldflags = '%s %s' % (additional_ldflags, arg)
ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags
current_ld_library_path = env.get('LD_LIBRARY_PATH')
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch b/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch
deleted file mode 100644
index b1481d78e..000000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk/snprintf.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-include missing header for snprintf definition
-
-Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=197088]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/Source/WebCore/platform/text/TextCodec.cpp
-+++ b/Source/WebCore/platform/text/TextCodec.cpp
-@@ -28,6 +28,7 @@
- #include "TextCodec.h"
-
- #include <array>
-+#include <cstdio>
-
- namespace WebCore {
-
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb
deleted file mode 100644
index 056334fff..000000000
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb
+++ /dev/null
@@ -1,134 +0,0 @@
-SUMMARY = "WebKit web rendering engine for the GTK+ platform"
-HOMEPAGE = "http://www.webkitgtk.org/"
-BUGTRACKER = "http://bugs.webkit.org/"
-
-LICENSE = "BSD & LGPLv2+"
-LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
- file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
- file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
- file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
- "
-
-SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
- file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
- file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \
- file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \
- file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \
- file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \
- file://x32_support.patch \
- file://cross-compile.patch \
- file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \
- file://0001-Fix-build-with-musl.patch \
- file://detect-gstreamer-gl.patch \
- file://include_array.patch \
- file://narrowing.patch \
- file://snprintf.patch \
- file://0001-gstreamer-add-a-missing-format-string.patch \
- "
-
-SRC_URI[md5sum] = "83012998e1b9f71abb37d8baf6f9c7e6"
-SRC_URI[sha256sum] = "019cb1f0d05bf6148b72c7a85734bcd006388a1c14132843ef9a1b2cb7b4321c"
-
-inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc
-
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-CVE_PRODUCT = "webkitgtk webkitgtk\+"
-
-DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \
- gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \
- pango icu bison-native gawk intltool-native libwebp \
- atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \
- ruby-native libnotify gstreamer1.0-plugins-bad \
- gettext-native glib-2.0 glib-2.0-native libtasn1 \
- "
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', '' ,d)} \
- enchant \
- libsecret \
- "
-
-PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland"
-PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11"
-PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
-PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant"
-PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+"
-PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
-PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl"
-PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl"
-PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
-PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
-# Source is at https://github.com/google/woff2
-PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
-PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg"
-
-EXTRA_OECMAKE = " \
- -DPORT=GTK \
- -DCMAKE_BUILD_TYPE=Release \
- ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
- ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \
- -DENABLE_MINIBROWSER=ON \
- -DPYTHON_EXECUTABLE=`which python` \
- "
-
-# Javascript JIT is not supported on ARC
-EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF "
-# By default 25-bit "medium" calls are used on ARC
-# which is not enough for binaries larger than 32 MiB
-CFLAGS_append_arc = " -mlong-calls"
-CXXFLAGS_append_arc = " -mlong-calls"
-
-# Javascript JIT is not supported on powerpc
-EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF "
-
-# ARM JIT code does not build on ARMv4/5/6 anymore
-EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF "
-
-# binutils 2.25.1 has a bug on aarch64:
-# https://sourceware.org/bugzilla/show_bug.cgi?id=18430
-EXTRA_OECMAKE_append_aarch64 = " -DUSE_LD_GOLD=OFF "
-EXTRA_OECMAKE_append_mipsarch = " -DUSE_LD_GOLD=OFF "
-EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF "
-
-# JIT not supported on MIPS either
-EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF "
-
-# JIT not supported on X32
-# An attempt was made to upstream JIT support for x32 in
-# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as
-# unresolved due to limited X32 adoption.
-EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF "
-
-SECURITY_CFLAGS_remove_aarch64 = "-fpie"
-SECURITY_CFLAGS_append_aarch64 = " -fPIE"
-
-LDFLAGS_append_toolchain-clang = " -rtlib=compiler-rt"
-
-FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so"
-
-RRECOMMENDS_${PN} += "ca-certificates shared-mime-info"
-
-# http://errors.yoctoproject.org/Errors/Details/20370/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
-
-# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474
-# https://bugs.webkit.org/show_bug.cgi?id=159880
-# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime.
-# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb).
-ARM_INSTRUCTION_SET_armv7a = "thumb"
-ARM_INSTRUCTION_SET_armv7r = "thumb"
-ARM_INSTRUCTION_SET_armv7ve = "thumb"
-
-# qemu: uncaught target signal 11 (Segmentation fault) - core dumped
-# Segmentation fault
-GI_DATA_ENABLED_armv7a = "False"
-GI_DATA_ENABLED_armv7ve = "False"
-
-# Can't be built with ccache
-CCACHE_DISABLE = "1"
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.4.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.4.bb
new file mode 100644
index 000000000..8c695ce9e
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.4.bb
@@ -0,0 +1,130 @@
+SUMMARY = "WebKit web rendering engine for the GTK+ platform"
+HOMEPAGE = "http://www.webkitgtk.org/"
+BUGTRACKER = "http://bugs.webkit.org/"
+
+LICENSE = "BSD & LGPLv2+"
+LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
+ file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
+ file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
+ "
+
+SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
+ file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
+ file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \
+ file://0001-OptionsGTK.cmake-drop-the-hardcoded-introspection-gt.patch \
+ file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \
+ file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \
+ file://x32_support.patch \
+ file://cross-compile.patch \
+ file://0001-WebKitMacros-Append-to-I-and-not-to-isystem.patch \
+ file://0001-Fix-build-with-musl.patch \
+ file://detect-gstreamer-gl.patch \
+ file://include_array.patch \
+ file://narrowing.patch \
+ file://0001-gstreamer-add-a-missing-format-string.patch \
+ "
+
+SRC_URI[md5sum] = "c214963d8c0e7d83460da04a0d8dda87"
+SRC_URI[sha256sum] = "8668b129c026624ec226a4cccf4995f9d26f3e88fc28ab75b0e965f3c32b7dd8"
+
+inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+CVE_PRODUCT = "webkitgtk webkitgtk\+"
+
+DEPENDS = "zlib libsoup-2.4 curl libxml2 cairo libxslt libxt libidn libgcrypt \
+ gtk+3 gstreamer1.0 gstreamer1.0-plugins-base flex-native gperf-native sqlite3 \
+ pango icu bison-native gawk intltool-native libwebp \
+ atk udev harfbuzz jpeg libpng pulseaudio librsvg libtheora libvorbis libxcomposite libxtst \
+ ruby-native libnotify gstreamer1.0-plugins-bad \
+ gettext-native glib-2.0 glib-2.0-native libtasn1 \
+ "
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'wayland' ,d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'webgl opengl', '' ,d)} \
+ enchant \
+ libsecret \
+ "
+
+PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland"
+PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11"
+PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
+PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant"
+PACKAGECONFIG[gtk2] = "-DENABLE_PLUGIN_PROCESS_GTK2=ON,-DENABLE_PLUGIN_PROCESS_GTK2=OFF,gtk+"
+PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
+PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl"
+PACKAGECONFIG[opengl] = "-DENABLE_OPENGL=ON,-DENABLE_OPENGL=OFF,virtual/libgl"
+PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
+PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
+# Source is at https://github.com/google/woff2
+PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
+PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg"
+
+EXTRA_OECMAKE = " \
+ -DPORT=GTK \
+ -DCMAKE_BUILD_TYPE=Release \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
+ ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \
+ -DENABLE_MINIBROWSER=ON \
+ -DPYTHON_EXECUTABLE=`which python3` \
+ "
+
+# Javascript JIT is not supported on ARC
+EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF "
+# By default 25-bit "medium" calls are used on ARC
+# which is not enough for binaries larger than 32 MiB
+CFLAGS_append_arc = " -mlong-calls"
+CXXFLAGS_append_arc = " -mlong-calls"
+
+# Javascript JIT is not supported on powerpc
+EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE_append_powerpc64 = " -DENABLE_JIT=OFF "
+
+# ARM JIT code does not build on ARMv4/5/6 anymore
+EXTRA_OECMAKE_append_armv5 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE_append_armv6 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE_append_armv4 = " -DENABLE_JIT=OFF "
+
+EXTRA_OECMAKE_append_mipsarchn32 = " -DUSE_LD_GOLD=OFF "
+EXTRA_OECMAKE_append_powerpc = " -DUSE_LD_GOLD=OFF "
+
+# JIT not supported on MIPS either
+EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON "
+
+# JIT not supported on X32
+# An attempt was made to upstream JIT support for x32 in
+# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as
+# unresolved due to limited X32 adoption.
+EXTRA_OECMAKE_append_x86-x32 = " -DENABLE_JIT=OFF "
+
+SECURITY_CFLAGS_remove_aarch64 = "-fpie"
+SECURITY_CFLAGS_append_aarch64 = " -fPIE"
+
+LDFLAGS_append_toolchain-clang = " -rtlib=compiler-rt"
+
+FILES_${PN} += "${libdir}/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so"
+
+RRECOMMENDS_${PN} += "ca-certificates shared-mime-info"
+
+# http://errors.yoctoproject.org/Errors/Details/20370/
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
+# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474
+# https://bugs.webkit.org/show_bug.cgi?id=159880
+# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime.
+# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb).
+ARM_INSTRUCTION_SET_armv7a = "thumb"
+ARM_INSTRUCTION_SET_armv7r = "thumb"
+ARM_INSTRUCTION_SET_armv7ve = "thumb"
+
+# qemu: uncaught target signal 11 (Segmentation fault) - core dumped
+# Segmentation fault
+GI_DATA_ENABLED_armv7a = "False"
+GI_DATA_ENABLED_armv7ve = "False"
+
+# Can't be built with ccache
+CCACHE_DISABLE = "1"
diff --git a/poky/meta/recipes-support/apr/apr/0001-build-buildcheck.sh-improve-libtool-detection.patch b/poky/meta/recipes-support/apr/apr/0001-build-buildcheck.sh-improve-libtool-detection.patch
deleted file mode 100644
index 097c195a1..000000000
--- a/poky/meta/recipes-support/apr/apr/0001-build-buildcheck.sh-improve-libtool-detection.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4efdc06fb17b8a00a9eca923caa176be741d1e04 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 1 Feb 2018 14:56:13 +0800
-Subject: [PATCH 1/7] build/buildcheck.sh: improve libtool detection
-
-Support customize libtool by variable assigning, it is helpful
-for cross compileing (such as libtool=aarch64-linux-libtool)
-
-Upstream-Status: Submitted [https://github.com/apache/apr/pull/8]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- build/buildcheck.sh | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/build/buildcheck.sh b/build/buildcheck.sh
-index ab5df44..f191a41 100755
---- a/build/buildcheck.sh
-+++ b/build/buildcheck.sh
-@@ -40,7 +40,9 @@ fi
- # output is multiline from 1.5 onwards
-
- # Require libtool 1.4 or newer
--libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14`
-+if test -z "$libtool"; then
-+ libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14`
-+fi
- lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
- if test -z "$lt_pversion"; then
- echo "buildconf: libtool not found."
---
-1.8.3.1
-
diff --git a/poky/meta/recipes-support/apr/apr/libtoolize_check.patch b/poky/meta/recipes-support/apr/apr/libtoolize_check.patch
new file mode 100644
index 000000000..740792e6b
--- /dev/null
+++ b/poky/meta/recipes-support/apr/apr/libtoolize_check.patch
@@ -0,0 +1,28 @@
+From: Helmut Grohne <helmut@subdivi.de>
+Subject: check for libtoolize rather than libtool
+Last-Update: 2014-09-19
+
+libtool is now in package libtool-bin, but apr only needs libtoolize.
+
+Upstream-Status: Pending [ from debian: https://sources.debian.org/data/main/a/apr/1.6.5-1/debian/patches/libtoolize_check.patch ]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+
+--- apr.orig/build/buildcheck.sh
++++ apr/build/buildcheck.sh
+@@ -39,11 +39,11 @@ fi
+ # ltmain.sh (GNU libtool 1.1361 2004/01/02 23:10:52) 1.5a
+ # output is multiline from 1.5 onwards
+
+-# Require libtool 1.4 or newer
+-libtool=`build/PrintPath glibtool1 glibtool libtool libtool15 libtool14`
+-lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
++# Require libtoolize 1.4 or newer
++libtoolize=`build/PrintPath glibtoolize1 glibtoolize libtoolize libtoolize15 libtoolize14`
++lt_pversion=`$libtoolize --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
+ if test -z "$lt_pversion"; then
+- echo "buildconf: libtool not found."
++ echo "buildconf: libtoolize not found."
+ echo " You need libtool version 1.4 or newer installed"
+ echo " to build APR from SVN."
+ res=1
diff --git a/poky/meta/recipes-support/apr/apr_1.7.0.bb b/poky/meta/recipes-support/apr/apr_1.7.0.bb
index 09a65bfdd..eca9cdea4 100644
--- a/poky/meta/recipes-support/apr/apr_1.7.0.bb
+++ b/poky/meta/recipes-support/apr/apr_1.7.0.bb
@@ -11,13 +11,13 @@ BBCLASSEXTEND = "native nativesdk"
SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \
file://run-ptest \
- file://0001-build-buildcheck.sh-improve-libtool-detection.patch \
file://0002-apr-Remove-workdir-path-references-from-installed-ap.patch \
file://0003-Makefile.in-configure.in-support-cross-compiling.patch \
file://0004-Fix-packet-discards-HTTP-redirect.patch \
file://0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch \
file://0006-apr-fix-off_t-size-doesn-t-match-in-glibc-when-cross.patch \
file://0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch \
+ file://libtoolize_check.patch \
"
SRC_URI[md5sum] = "7a14a83d664e87599ea25ff4432e48a7"
@@ -47,7 +47,8 @@ do_configure_prepend() {
export GREP="grep"
cd ${S}
- libtool='${HOST_SYS}-libtool' ./buildconf
+ # The "2" means libtool version 2.
+ ./buildconf 2
}
FILES_${PN}-dev += "${libdir}/apr.exp ${datadir}/build-1/*"
diff --git a/poky/meta/recipes-support/aspell/aspell/gcc7.patch b/poky/meta/recipes-support/aspell/aspell/gcc7.patch
deleted file mode 100644
index 6ffd0772f..000000000
--- a/poky/meta/recipes-support/aspell/aspell/gcc7.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 8089fa02122fed0a6394eba14bbedcb1d18e2384 Mon Sep 17 00:00:00 2001
-From: Kevin Atkinson <kevina@gnu.org>
-Date: Thu, 29 Dec 2016 00:50:31 -0500
-Subject: [PATCH] Compile Fixes for GCC 7.
-
-Closes #519.
----
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport
-
- modules/filter/tex.cpp | 2 +-
- prog/check_funs.cpp | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules/filter/tex.cpp b/modules/filter/tex.cpp
-index a979539..19ab63c 100644
---- a/modules/filter/tex.cpp
-+++ b/modules/filter/tex.cpp
-@@ -174,7 +174,7 @@ namespace {
-
- if (c == '{') {
-
-- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0')
-+ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0')
- push_command(Parm);
-
- top.in_what = Parm;
-diff --git a/prog/check_funs.cpp b/prog/check_funs.cpp
-index db54f3d..89ee09d 100644
---- a/prog/check_funs.cpp
-+++ b/prog/check_funs.cpp
-@@ -647,7 +647,7 @@ static void print_truncate(FILE * out, const char * word, int width) {
- }
- }
- if (i == width-1) {
-- if (word == '\0')
-+ if (*word == '\0')
- put(out,' ');
- else if (word[len] == '\0')
- put(out, word, len);
diff --git a/poky/meta/recipes-support/aspell/aspell_0.60.6.1.bb b/poky/meta/recipes-support/aspell/aspell_0.60.6.1.bb
deleted file mode 100644
index 161bb5ce2..000000000
--- a/poky/meta/recipes-support/aspell/aspell_0.60.6.1.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "GNU Aspell spell-checker"
-SECTION = "console/utils"
-
-LICENSE = "LGPLv2 | LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-PR = "r1"
-
-SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz \
- file://gcc7.patch \
- "
-SRC_URI[md5sum] = "e66a9c9af6a60dc46134fdacf6ce97d7"
-SRC_URI[sha256sum] = "f52583a83a63633701c5f71db3dc40aab87b7f76b29723aeb27941eff42df6e1"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses"
-
-PACKAGES += "libaspell libpspell aspell-utils"
-
-RDEPENDS_${PN}-utils += "perl"
-
-FILES_libaspell = "${libdir}/libaspell.so.* ${libdir}/aspell*"
-FILES_aspell-utils = "${bindir}/word-list-compress ${bindir}/aspell-import ${bindir}/run-with-aspell ${bindir}/pre*"
-FILES_${PN} = "${bindir}/aspell"
-FILES_libpspell = "${libdir}/libpspell.so.*"
-FILES_${PN}-dev += "${bindir}/pspell-config"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
-
-inherit autotools-brokensep gettext texinfo binconfig-disabled
-
-BINCONFIG = "${bindir}/pspell-config"
diff --git a/poky/meta/recipes-support/aspell/aspell_0.60.7.bb b/poky/meta/recipes-support/aspell/aspell_0.60.7.bb
new file mode 100644
index 000000000..da99d1263
--- /dev/null
+++ b/poky/meta/recipes-support/aspell/aspell_0.60.7.bb
@@ -0,0 +1,32 @@
+SUMMARY = "GNU Aspell spell-checker"
+SECTION = "console/utils"
+
+LICENSE = "LGPLv2 | LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+PR = "r1"
+
+SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz"
+SRC_URI[md5sum] = "8ef2252609c511cd2bb26f3a3932ef28"
+SRC_URI[sha256sum] = "5ca8fc8cb0370cc6c9eb5b64c6d1bc5d57b3750dbf17887726c3407d833b70e4"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses"
+
+PACKAGES += "libaspell libpspell aspell-utils"
+
+RDEPENDS_${PN}-utils += "perl"
+
+FILES_libaspell = "${libdir}/libaspell.so.* ${libdir}/aspell*"
+FILES_aspell-utils = "${bindir}/word-list-compress ${bindir}/aspell-import ${bindir}/run-with-aspell ${bindir}/pre*"
+FILES_${PN} = "${bindir}/aspell"
+FILES_libpspell = "${libdir}/libpspell.so.*"
+FILES_${PN}-dev += "${bindir}/pspell-config"
+
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv6 = "arm"
+
+inherit autotools-brokensep gettext texinfo binconfig-disabled
+
+BINCONFIG = "${bindir}/pspell-config"
diff --git a/poky/meta/recipes-support/attr/attr.inc b/poky/meta/recipes-support/attr/attr.inc
index 1a29eb339..3503d66b9 100644
--- a/poky/meta/recipes-support/attr/attr.inc
+++ b/poky/meta/recipes-support/attr/attr.inc
@@ -41,6 +41,6 @@ do_install_ptest() {
sed -e 's|; @echo|; echo|' -i ${D}${PTEST_PATH}/test/Makefile
}
-RDEPENDS_${PN}-ptest = "attr coreutils perl-module-filehandle perl-module-getopt-std perl-module-posix make"
+RDEPENDS_${PN}-ptest = "attr coreutils perl-module-filehandle perl-module-getopt-std perl-module-posix make perl"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/boost/bjam-native_1.69.0.bb b/poky/meta/recipes-support/boost/bjam-native_1.69.0.bb
deleted file mode 100644
index 94f96e62d..000000000
--- a/poky/meta/recipes-support/boost/bjam-native_1.69.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require boost-${PV}.inc
-
-SUMMARY = "Portable Boost.Jam build tool for boost"
-SECTION = "devel"
-
-inherit native
-
-SRC_URI += "file://bjam-native-build-bjam.debug.patch \
-"
-
-do_compile() {
- ./bootstrap.sh --with-toolset=gcc
-}
-
-do_install() {
- install -d ${D}${bindir}/
- # install unstripped version for bjam
- install -c -m 755 bjam.debug ${D}${bindir}/bjam
-}
diff --git a/poky/meta/recipes-support/boost/bjam-native_1.71.0.bb b/poky/meta/recipes-support/boost/bjam-native_1.71.0.bb
new file mode 100644
index 000000000..d843eb038
--- /dev/null
+++ b/poky/meta/recipes-support/boost/bjam-native_1.71.0.bb
@@ -0,0 +1,20 @@
+require boost-${PV}.inc
+
+SUMMARY = "Portable Boost.Jam build tool for boost"
+SECTION = "devel"
+
+inherit native
+
+SRC_URI += "file://0001-Build-debug-version-of-bjam.patch \
+ file://0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch \
+ "
+
+do_compile() {
+ ./bootstrap.sh --with-toolset=gcc
+}
+
+do_install() {
+ install -d ${D}${bindir}/
+ # install unstripped version for bjam
+ install -c -m 755 b2 ${D}${bindir}/bjam
+}
diff --git a/poky/meta/recipes-support/boost/boost-1.69.0.inc b/poky/meta/recipes-support/boost/boost-1.69.0.inc
deleted file mode 100644
index 923436b1e..000000000
--- a/poky/meta/recipes-support/boost/boost-1.69.0.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-# The Boost web site provides free peer-reviewed portable
-# C++ source libraries. The emphasis is on libraries which
-# work well with the C++ Standard Library. The libraries are
-# intended to be widely useful, and are in regular use by
-# thousands of programmers across a broad spectrum of applications.
-HOMEPAGE = "http://www.boost.org/"
-LICENSE = "BSL-1.0 & MIT & Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
-BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}"
-BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}"
-BOOST_P = "boost_${BOOST_VER}"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/boost/boost/${PV}/${BOOST_P}.tar.bz2"
-SRC_URI[md5sum] = "a1332494397bf48332cb152abfefcec2"
-SRC_URI[sha256sum] = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406"
-
-UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/"
-UPSTREAM_CHECK_REGEX = "boostorg/release/(?P<pver>.*)/source/"
-
-S = "${WORKDIR}/${BOOST_P}"
diff --git a/poky/meta/recipes-support/boost/boost-1.71.0.inc b/poky/meta/recipes-support/boost/boost-1.71.0.inc
new file mode 100644
index 000000000..7164d0f1c
--- /dev/null
+++ b/poky/meta/recipes-support/boost/boost-1.71.0.inc
@@ -0,0 +1,21 @@
+# The Boost web site provides free peer-reviewed portable
+# C++ source libraries. The emphasis is on libraries which
+# work well with the C++ Standard Library. The libraries are
+# intended to be widely useful, and are in regular use by
+# thousands of programmers across a broad spectrum of applications.
+HOMEPAGE = "http://www.boost.org/"
+LICENSE = "BSL-1.0 & MIT & Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+BOOST_VER = "${@"_".join(d.getVar("PV").split("."))}"
+BOOST_MAJ = "${@"_".join(d.getVar("PV").split(".")[0:2])}"
+BOOST_P = "boost_${BOOST_VER}"
+
+SRC_URI = "https://dl.bintray.com/boostorg/release/${PV}/source/${BOOST_P}.tar.bz2"
+SRC_URI[md5sum] = "4cdf9b5c2dc01fb2b7b733d5af30e558"
+SRC_URI[sha256sum] = "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee"
+
+UPSTREAM_CHECK_URI = "http://www.boost.org/users/download/"
+UPSTREAM_CHECK_REGEX = "boostorg/release/(?P<pver>.*)/source/"
+
+S = "${WORKDIR}/${BOOST_P}"
diff --git a/poky/meta/recipes-support/boost/boost.inc b/poky/meta/recipes-support/boost/boost.inc
index 9be3717fd..e15dce4e1 100644
--- a/poky/meta/recipes-support/boost/boost.inc
+++ b/poky/meta/recipes-support/boost/boost.inc
@@ -2,6 +2,8 @@ SUMMARY = "Free peer-reviewed portable C++ source libraries"
SECTION = "libs"
DEPENDS = "bjam-native zlib bzip2"
+CVE_PRODUCT = "boost:boost"
+
ARM_INSTRUCTION_SET_armv4 = "arm"
ARM_INSTRUCTION_SET_armv5 = "arm"
@@ -33,6 +35,7 @@ BOOST_LIBS_append_x86 = " context coroutine"
BOOST_LIBS_append_x86-64 = " context coroutine"
BOOST_LIBS_append_powerpc = " context coroutine"
BOOST_LIBS_append_arm = " context coroutine"
+BOOST_LIBS_append_aarch64 = " context coroutine"
# need consistent settings for native builds (x86 override not applied for native)
BOOST_LIBS_remove_class-native = " context coroutine"
# does not compile
@@ -80,7 +83,7 @@ FILES_boost-test = "${libdir}/libboost_prg_exec_monitor*.so.* \
# -dev last to pick up the remaining stuff
PACKAGES += "${PN}-dev ${PN}-staticdev"
-FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so"
+FILES_${PN}-dev = "${includedir} ${libdir}/libboost_*.so ${libdir}/cmake"
FILES_${PN}-staticdev = "${libdir}/libboost_*.a"
# "boost" is a metapackage which pulls in all boost librabries
@@ -151,6 +154,7 @@ BJAM_OPTS_append_x86-x32 = " abi=x32 address-model=64"
# cross compiling for arm fails to detect abi, so provide some help
BJAM_OPTS_append_arm = " abi=aapcs architecture=arm"
+BJAM_OPTS_append_aarch64 = " abi=aapcs address-model=64 architecture=arm"
do_configure() {
cp -f ${S}/boost/config/platform/linux.hpp ${S}/boost/config/platform/linux-gnueabi.hpp
diff --git a/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch b/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
index 8944cb37b..68d6e6417 100644
--- a/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
+++ b/poky/meta/recipes-support/boost/boost/0001-Don-t-set-up-arch-instruction-set-flags-we-do-that-o.patch
@@ -1,4 +1,4 @@
-From 3e4eb02eb5951058bc6f8dffbf049eb189df8291 Mon Sep 17 00:00:00 2001
+From f4d3fad43d67808d71325ba0df1457555b9a0086 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Tue, 18 Dec 2018 15:42:57 +0100
Subject: [PATCH] Don't set up arch/instruction-set flags, we do that ourselves
@@ -6,15 +6,16 @@ Subject: [PATCH] Don't set up arch/instruction-set flags, we do that ourselves
Upstream-Status: Inappropriate
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
---
- tools/build/src/tools/gcc.jam | 128 ----------------------------------
- 1 file changed, 128 deletions(-)
+ tools/build/src/tools/gcc.jam | 132 ----------------------------------
+ 1 file changed, 132 deletions(-)
diff --git a/tools/build/src/tools/gcc.jam b/tools/build/src/tools/gcc.jam
-index c57c773f..28618fb1 100644
+index b9bb9cf2a..c7e3cf3fe 100644
--- a/tools/build/src/tools/gcc.jam
+++ b/tools/build/src/tools/gcc.jam
-@@ -1152,131 +1152,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + :
+@@ -1180,135 +1180,3 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + :
<architecture>$(architecture)/<instruction-set>$(instruction-set)
: $(values) ;
}
@@ -144,5 +145,9 @@ index c57c773f..28618fb1 100644
-cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ;
-cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ;
-cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ;
+-cpu-flags gcc OPTIONS : s390x : z196 : -march=z196 ;
+-cpu-flags gcc OPTIONS : s390x : zEC12 : -march=zEC12 ;
+-cpu-flags gcc OPTIONS : s390x : z13 : -march=z13 ;
+-cpu-flags gcc OPTIONS : s390x : z14 : -march=z14 ;
-# AIX variant of RS/6000 & PowerPC
-toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ;
diff --git a/poky/meta/recipes-support/boost/boost_1.69.0.bb b/poky/meta/recipes-support/boost/boost_1.71.0.bb
index 324b46f16..324b46f16 100644
--- a/poky/meta/recipes-support/boost/boost_1.69.0.bb
+++ b/poky/meta/recipes-support/boost/boost_1.71.0.bb
diff --git a/poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch b/poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch
new file mode 100644
index 000000000..c6dcee915
--- /dev/null
+++ b/poky/meta/recipes-support/boost/files/0001-Build-debug-version-of-bjam.patch
@@ -0,0 +1,38 @@
+From 19c117c3d1388654da484e26afb3fb6c3e4181a9 Mon Sep 17 00:00:00 2001
+From: Daniel Klauer <daniel.klauer@gin.de>
+Date: Tue, 30 Jul 2019 11:39:09 +0200
+Subject: [PATCH] Build debug version of bjam
+
+bjam is stripped by default, this causes QA warning while stripping it
+from do_populate_sysroot():
+
+ WARNING: File '.../tmp/sysroots/x86_64-linux/usr/bin/bjam' \
+ from bjam-native was already stripped, \
+ this will prevent future debugging!
+
+The JAM scripts allow to build unstripped version with '--debug'. Just
+build and install the bjam.debug to stop bjam from being stripped in
+compile step.
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ bootstrap.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bootstrap.sh b/bootstrap.sh
+index ca0b08d58..87f38dcf2 100755
+--- a/bootstrap.sh
++++ b/bootstrap.sh
+@@ -223,7 +223,7 @@ rm -f config.log
+ if test "x$BJAM" = x; then
+ $ECHO -n "Building Boost.Build engine with toolset $TOOLSET... "
+ pwd=`pwd`
+- (cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET") > bootstrap.log 2>&1
++ (cd "$my_dir/tools/build/src/engine" && ./build.sh "$TOOLSET" --debug) > bootstrap.log 2>&1
+ if [ $? -ne 0 ]; then
+ echo
+ echo "Failed to build Boost.Build build engine"
+--
+2.17.1
+
diff --git a/poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch b/poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch
new file mode 100644
index 000000000..4c6ef2ed8
--- /dev/null
+++ b/poky/meta/recipes-support/boost/files/0001-build.sh-use-DNDEBUG-also-in-debug-builds.patch
@@ -0,0 +1,27 @@
+From 2afd025997a57794ce24e07e914b461dfea6ba5f Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 26 Aug 2019 16:04:16 +0200
+Subject: [PATCH] build.sh: use -DNDEBUG also in debug builds
+
+Without it, there is a significant performance regression
+when running 'bjam install'.
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ tools/build/src/engine/build.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh
+index a1e4cd335..64e0a4c80 100755
+--- a/tools/build/src/engine/build.sh
++++ b/tools/build/src/engine/build.sh
+@@ -436,7 +436,7 @@ case $B2_OS in
+ ;;
+ esac
+
+-if check_debug_build "$@" ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG}"
++if check_debug_build "$@" ; then B2_CXXFLAGS="${B2_CXXFLAGS_DEBUG} -DNDEBUG"
+ else B2_CXXFLAGS="${B2_CXXFLAGS_RELEASE} -DNDEBUG"
+ fi
+ echo_run ${B2_CXX} ${CXXFLAGS} ${B2_CXXFLAGS} ${B2_SOURCES} -o b2
diff --git a/poky/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch b/poky/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch
deleted file mode 100644
index 9f8b7eac0..000000000
--- a/poky/meta/recipes-support/boost/files/bjam-native-build-bjam.debug.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 619ada314ab26c0c9cbfe5702cd9c0caa8f6415a Mon Sep 17 00:00:00 2001
-From: Wenzong Fan <wenzong.fan@windriver.com>
-Date: Mon, 3 Aug 2015 17:12:33 +0800
-Subject: [PATCH] bjam-native: build bjam.debug
-
-bjam is stripped by default, this causes QA warning while stripping it
-from do_populate_sysroot():
-
- WARNING: File '.../tmp/sysroots/x86_64-linux/usr/bin/bjam' \
- from bjam-native was already stripped, \
- this will prevent future debugging!
-
-The JAM scripts allow to build unstripped version with '--debug'. Just
-build and install the bjam.debug to stop bjam from being stripped in
-compile step.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
----
- bootstrap.sh | 1 +
- tools/build/src/engine/build.sh | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/bootstrap.sh b/bootstrap.sh
-index 98cf88b..54690aa 100755
---- a/bootstrap.sh
-+++ b/bootstrap.sh
-@@ -228,6 +228,7 @@ if test "x$BJAM" = x; then
- echo "tools/build/src/engine/$arch/b2"
- cp "$BJAM" .
- cp "$my_dir/tools/build/src/engine/$arch/bjam" .
-+ cp "$my_dir/tools/build/src/engine/${arch}.debug/bjam" bjam.debug
-
- fi
-
-diff --git a/tools/build/src/engine/build.sh b/tools/build/src/engine/build.sh
-index 6dbc706..c69fdc7 100755
---- a/tools/build/src/engine/build.sh
-+++ b/tools/build/src/engine/build.sh
-@@ -312,5 +312,5 @@ if test -x "./bootstrap/jam0" ; then
- if test "${BJAM_UPDATE}" != "update" ; then
- echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" "$@" clean
- fi
-- echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" "$@"
-+ echo_run ./bootstrap/jam0 -f build.jam --toolset=$BOOST_JAM_TOOLSET "--toolset-root=$BOOST_JAM_TOOLSET_ROOT" "$@" --debug
- fi
---
-1.9.1
-
diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch b/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch
new file mode 100644
index 000000000..aa2c85ff4
--- /dev/null
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch
@@ -0,0 +1,37 @@
+From b6d18ca77f131cdcaa10d0eaa9d303399767edf6 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 28 Aug 2019 19:18:14 +0200
+Subject: [PATCH] certdata2pem.py: use python3
+
+Comments in that file imply it is already py3 compatible.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ mozilla/Makefile | 2 +-
+ mozilla/certdata2pem.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/mozilla/Makefile b/mozilla/Makefile
+index 6f46118..f98877c 100644
+--- a/mozilla/Makefile
++++ b/mozilla/Makefile
+@@ -3,7 +3,7 @@
+ #
+
+ all:
+- python certdata2pem.py
++ python3 certdata2pem.py
+
+ clean:
+ -rm -f *.crt
+diff --git a/mozilla/certdata2pem.py b/mozilla/certdata2pem.py
+index 0b02b2a..7d796f1 100644
+--- a/mozilla/certdata2pem.py
++++ b/mozilla/certdata2pem.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python
++#!/usr/bin/python3
+ # vim:set et sw=4:
+ #
+ # certdata2pem.py - splits certdata.txt into multiple files
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 efd9eaa71..ce3cb217a 100644
--- a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb
+++ b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb
@@ -23,6 +23,7 @@ SRC_URI = "git://salsa.debian.org/debian/ca-certificates.git;protocol=https \
file://default-sysroot.patch \
file://sbindir.patch \
file://0003-update-ca-certificates-use-relative-symlinks-from-ET.patch \
+ file://0001-certdata2pem.py-use-python3.patch \
"
S = "${WORKDIR}/git"
@@ -53,7 +54,7 @@ do_install () {
echo "# Lines starting with ! will remove certificate on next update"
echo "#"
find ${D}${datadir}/ca-certificates -type f -name '*.crt' | \
- sed 's,^${D}${datadir}/ca-certificates/,,'
+ sed 's,^${D}${datadir}/ca-certificates/,,' | sort
} >${D}${sysconfdir}/ca-certificates.conf
}
diff --git a/poky/meta/recipes-support/curl/curl_7.65.1.bb b/poky/meta/recipes-support/curl/curl_7.65.1.bb
deleted file mode 100644
index e7bfe6cc0..000000000
--- a/poky/meta/recipes-support/curl/curl_7.65.1.bb
+++ /dev/null
@@ -1,80 +0,0 @@
-SUMMARY = "Command line tool and library for client-side URL transfers"
-HOMEPAGE = "http://curl.haxx.se/"
-BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker"
-SECTION = "console/network"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=be5d9e1419c4363f4b32037a2d3b7ffa"
-
-SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
- file://0001-replace-krb5-config-with-pkg-config.patch \
-"
-
-SRC_URI[md5sum] = "03ca3fa53ac4d791be66e30ba75b56ea"
-SRC_URI[sha256sum] = "cbd36df60c49e461011b4f3064cff1184bdc9969a55e9608bf5cadec4686e3f7"
-
-CVE_PRODUCT = "curl libcurl"
-inherit autotools pkgconfig binconfig multilib_header
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib"
-PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib"
-PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib"
-
-# 'ares' and 'threaded-resolver' are mutually exclusive
-PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares"
-PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli"
-PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual"
-PACKAGECONFIG[dict] = "--enable-dict,--disable-dict,"
-PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
-PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher,"
-PACKAGECONFIG[imap] = "--enable-imap,--disable-imap,"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5"
-PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,"
-PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,"
-PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2"
-PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2"
-PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls"
-PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2"
-PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3,"
-PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy,"
-PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump"
-PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp,"
-PACKAGECONFIG[smb] = "--enable-smb,--disable-smb,"
-PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp,"
-PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl"
-PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
-PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet,"
-PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp,"
-PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver"
-PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose"
-PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
-
-EXTRA_OECONF = " \
- --disable-libcurl-option \
- --disable-ntlm-wb \
- --enable-crypto-auth \
- --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
- --without-libmetalink \
- --without-libpsl \
-"
-
-do_install_append_class-target() {
- # cleanup buildpaths from curl-config
- sed -i \
- -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
- -e 's|${DEBUG_PREFIX_MAP}||g' \
- ${D}${bindir}/curl-config
-}
-
-PACKAGES =+ "lib${BPN}"
-
-FILES_lib${BPN} = "${libdir}/lib*.so.*"
-RRECOMMENDS_lib${BPN} += "ca-certificates"
-
-FILES_${PN} += "${datadir}/zsh"
-
-inherit multilib_script
-MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/curl/curl_7.66.0.bb b/poky/meta/recipes-support/curl/curl_7.66.0.bb
new file mode 100644
index 000000000..d1975f246
--- /dev/null
+++ b/poky/meta/recipes-support/curl/curl_7.66.0.bb
@@ -0,0 +1,80 @@
+SUMMARY = "Command line tool and library for client-side URL transfers"
+HOMEPAGE = "http://curl.haxx.se/"
+BUGTRACKER = "http://curl.haxx.se/mail/list.cgi?list=curl-tracker"
+SECTION = "console/network"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=be5d9e1419c4363f4b32037a2d3b7ffa"
+
+SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
+ file://0001-replace-krb5-config-with-pkg-config.patch \
+"
+
+SRC_URI[md5sum] = "c238aa394e3aa47ca4fcb0491774149f"
+SRC_URI[sha256sum] = "6618234e0235c420a21f4cb4c2dd0badde76e6139668739085a70c4e2fe7a141"
+
+CVE_PRODUCT = "curl libcurl"
+inherit autotools pkgconfig binconfig multilib_header
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} gnutls libidn proxy threaded-resolver verbose zlib"
+PACKAGECONFIG_class-native = "ipv6 proxy ssl threaded-resolver verbose zlib"
+PACKAGECONFIG_class-nativesdk = "ipv6 proxy ssl threaded-resolver verbose zlib"
+
+# 'ares' and 'threaded-resolver' are mutually exclusive
+PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares"
+PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli"
+PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual"
+PACKAGECONFIG[dict] = "--enable-dict,--disable-dict,"
+PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
+PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher,"
+PACKAGECONFIG[imap] = "--enable-imap,--disable-imap,"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5"
+PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,"
+PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,"
+PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2"
+PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2"
+PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls"
+PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2"
+PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3,"
+PACKAGECONFIG[proxy] = "--enable-proxy,--disable-proxy,"
+PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump"
+PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp,"
+PACKAGECONFIG[smb] = "--enable-smb,--disable-smb,"
+PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp,"
+PACKAGECONFIG[ssl] = "--with-ssl --with-random=/dev/urandom,--without-ssl,openssl"
+PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss"
+PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet,"
+PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp,"
+PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolver"
+PACKAGECONFIG[verbose] = "--enable-verbose,--disable-verbose"
+PACKAGECONFIG[zlib] = "--with-zlib=${STAGING_LIBDIR}/../,--without-zlib,zlib"
+
+EXTRA_OECONF = " \
+ --disable-libcurl-option \
+ --disable-ntlm-wb \
+ --enable-crypto-auth \
+ --with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
+ --without-libmetalink \
+ --without-libpsl \
+"
+
+do_install_append_class-target() {
+ # cleanup buildpaths from curl-config
+ sed -i \
+ -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ ${D}${bindir}/curl-config
+}
+
+PACKAGES =+ "lib${BPN}"
+
+FILES_lib${BPN} = "${libdir}/lib*.so.*"
+RRECOMMENDS_lib${BPN} += "ca-certificates"
+
+FILES_${PN} += "${datadir}/zsh"
+
+inherit multilib_script
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/curl-config"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/db/db_5.3.28.bb b/poky/meta/recipes-support/db/db_5.3.28.bb
index 8975647da..761d80c2f 100644
--- a/poky/meta/recipes-support/db/db_5.3.28.bb
+++ b/poky/meta/recipes-support/db/db_5.3.28.bb
@@ -56,10 +56,12 @@ FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so"
#configuration - set in local.conf to override
# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix)
-DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql"
+DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-compat185 --disable-sql"
EXTRA_OECONF = "${DB5_CONFIG} --enable-shared --enable-cxx --with-sysroot STRIP=true"
+PACKAGECONFIG[verify] = "--enable-verify, --disable-verify"
+
EXTRA_OEMAKE += "LIBTOOL='./${HOST_SYS}-libtool'"
EXTRA_AUTORECONF += "--exclude=autoheader -I ${S}/dist/aclocal -I${S}/dist/aclocal_java"
diff --git a/poky/meta/recipes-support/debianutils/debianutils_4.8.6.1.bb b/poky/meta/recipes-support/debianutils/debianutils_4.8.6.1.bb
deleted file mode 100644
index 7cc78a685..000000000
--- a/poky/meta/recipes-support/debianutils/debianutils_4.8.6.1.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "Miscellaneous utilities specific to Debian"
-SECTION = "base"
-LICENSE = "GPLv2 & SMAIL_GPL"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20190217T160716Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz"
-# the package is taken from snapshots.debian.org; that source is static and goes stale
-# so we check the latest upstream from a directory that does get updated
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
-
-SRC_URI[md5sum] = "80e2e670d8f6c0036770e971237f1f5c"
-SRC_URI[sha256sum] = "099f1e8a7278b26145a2ba2dda84c4118403bfab38c8d7070a6235a7ffcb55ed"
-
-S = "${WORKDIR}/${BPN}"
-
-inherit autotools update-alternatives
-
-do_configure_prepend() {
- sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am
-}
-
-do_install_append() {
- if [ "${base_bindir}" != "${bindir}" ]; then
- # Debian places some utils into ${base_bindir} as does busybox
- install -d ${D}${base_bindir}
- for app in run-parts tempfile; do
- mv ${D}${bindir}/$app ${D}${base_bindir}/$app
- done
- fi
-}
-
-# Note that we package the update-alternatives name.
-#
-PACKAGES =+ "${PN}-run-parts"
-FILES_${PN}-run-parts = "${base_bindir}/run-parts.debianutils"
-
-RDEPENDS_${PN} += "${PN}-run-parts"
-RDEPENDS_${PN}_class-native = ""
-
-ALTERNATIVE_PRIORITY="30"
-ALTERNATIVE_${PN} = "add-shell installkernel remove-shell savelog tempfile which"
-
-ALTERNATIVE_PRIORITY_${PN}-run-parts = "60"
-ALTERNATIVE_${PN}-run-parts = "run-parts"
-
-ALTERNATIVE_${PN}-doc = "which.1"
-ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1"
-
-ALTERNATIVE_LINK_NAME[add-shell]="${sbindir}/add-shell"
-ALTERNATIVE_LINK_NAME[installkernel]="${sbindir}/installkernel"
-ALTERNATIVE_LINK_NAME[remove-shell]="${sbindir}/remove-shell"
-ALTERNATIVE_LINK_NAME[run-parts]="${base_bindir}/run-parts"
-ALTERNATIVE_LINK_NAME[savelog]="${bindir}/savelog"
-ALTERNATIVE_LINK_NAME[tempfile]="${base_bindir}/tempfile"
-ALTERNATIVE_LINK_NAME[which]="${bindir}/which"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/debianutils/debianutils_4.8.6.3.bb b/poky/meta/recipes-support/debianutils/debianutils_4.8.6.3.bb
new file mode 100644
index 000000000..a69d01e0f
--- /dev/null
+++ b/poky/meta/recipes-support/debianutils/debianutils_4.8.6.3.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Miscellaneous utilities specific to Debian"
+SECTION = "base"
+LICENSE = "GPLv2 & SMAIL_GPL"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f"
+
+SRC_URI = "http://snapshot.debian.org/archive/debian/20190717T213444Z/pool/main/d/${BPN}/${BPN}_${PV}.tar.xz"
+# the package is taken from snapshots.debian.org; that source is static and goes stale
+# so we check the latest upstream from a directory that does get updated
+UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
+
+SRC_URI[md5sum] = "ca57cc6621275346d7d516ab0b5fa1f5"
+SRC_URI[sha256sum] = "2cc7de3afc6df1cf6d00af9938efac7ee8f739228e548e512ddc186b6a7be221"
+
+inherit autotools update-alternatives
+
+do_configure_prepend() {
+ sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am
+}
+
+do_install_append() {
+ if [ "${base_bindir}" != "${bindir}" ]; then
+ # Debian places some utils into ${base_bindir} as does busybox
+ install -d ${D}${base_bindir}
+ for app in run-parts tempfile; do
+ mv ${D}${bindir}/$app ${D}${base_bindir}/$app
+ done
+ fi
+}
+
+# Note that we package the update-alternatives name.
+#
+PACKAGES =+ "${PN}-run-parts"
+FILES_${PN}-run-parts = "${base_bindir}/run-parts.debianutils"
+
+RDEPENDS_${PN} += "${PN}-run-parts"
+RDEPENDS_${PN}_class-native = ""
+
+ALTERNATIVE_PRIORITY="30"
+ALTERNATIVE_${PN} = "add-shell installkernel remove-shell savelog tempfile which"
+
+ALTERNATIVE_PRIORITY_${PN}-run-parts = "60"
+ALTERNATIVE_${PN}-run-parts = "run-parts"
+
+ALTERNATIVE_${PN}-doc = "which.1"
+ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1"
+
+ALTERNATIVE_LINK_NAME[add-shell]="${sbindir}/add-shell"
+ALTERNATIVE_LINK_NAME[installkernel]="${sbindir}/installkernel"
+ALTERNATIVE_LINK_NAME[remove-shell]="${sbindir}/remove-shell"
+ALTERNATIVE_LINK_NAME[run-parts]="${base_bindir}/run-parts"
+ALTERNATIVE_LINK_NAME[savelog]="${bindir}/savelog"
+ALTERNATIVE_LINK_NAME[tempfile]="${base_bindir}/tempfile"
+ALTERNATIVE_LINK_NAME[which]="${bindir}/which"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb
deleted file mode 100644
index cb7c6c5c6..000000000
--- a/poky/meta/recipes-support/gnupg/gnupg_2.2.16.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "GNU Privacy Guard - encryption and signing tools (2.x)"
-HOMEPAGE = "http://www.gnupg.org/"
-LICENSE = "GPLv3 & LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=189af8afca6d6075ba6c9e0aa8077626 \
- file://COPYING.LGPL3;md5=a2b6bf2cb38ee52619e60f30a1fc7257"
-
-DEPENDS = "npth libassuan libksba zlib bzip2 readline libgcrypt"
-
-inherit autotools gettext texinfo pkgconfig
-
-UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
-SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch \
- file://0002-use-pkgconfig-instead-of-npth-config.patch \
- file://0003-dirmngr-uses-libgpg-error.patch \
- file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \
- file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \
- "
-SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \
- file://relocate.patch"
-
-
-SRC_URI[md5sum] = "d90e186df1c06845880ea58a318f070b"
-SRC_URI[sha256sum] = "6cbe8d454bf5dc204621eed3016d721b66298fa95363395bb8eeceb1d2fd14cb"
-
-EXTRA_OECONF = "--disable-ldap \
- --disable-ccid-driver \
- --with-zlib=${STAGING_LIBDIR}/.. \
- --with-bzip2=${STAGING_LIBDIR}/.. \
- --with-readline=${STAGING_LIBDIR}/.. \
- --enable-gpg-is-gpg2 \
- "
-RRECOMMENDS_${PN} = "pinentry"
-
-do_configure_prepend () {
- # Else these could be used in prefernce to those in aclocal-copy
- rm -f ${S}/m4/gpg-error.m4
- rm -f ${S}/m4/libassuan.m4
- rm -f ${S}/m4/ksba.m4
- rm -f ${S}/m4/libgcrypt.m4
-}
-
-do_install_append() {
- ln -sf gpg2 ${D}${bindir}/gpg
- ln -sf gpgv2 ${D}${bindir}/gpgv
-}
-
-do_install_append_class-native() {
- create_wrapper ${D}${bindir}/gpg2 GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
-}
-
-PACKAGECONFIG ??= "gnutls"
-PACKAGECONFIG[gnutls] = "--enable-gnutls, --disable-gnutls, gnutls"
-PACKAGECONFIG[sqlite3] = "--enable-sqlite, --disable-sqlite, sqlite3"
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.2.17.bb b/poky/meta/recipes-support/gnupg/gnupg_2.2.17.bb
new file mode 100644
index 000000000..689cf8a75
--- /dev/null
+++ b/poky/meta/recipes-support/gnupg/gnupg_2.2.17.bb
@@ -0,0 +1,58 @@
+SUMMARY = "GNU Privacy Guard - encryption and signing tools (2.x)"
+HOMEPAGE = "http://www.gnupg.org/"
+LICENSE = "GPLv3 & LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=189af8afca6d6075ba6c9e0aa8077626 \
+ file://COPYING.LGPL3;md5=a2b6bf2cb38ee52619e60f30a1fc7257"
+
+DEPENDS = "npth libassuan libksba zlib bzip2 readline libgcrypt"
+
+inherit autotools gettext texinfo pkgconfig
+
+UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
+SRC_URI = "${GNUPG_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2 \
+ file://0001-Use-pkg-config-to-find-pth-instead-of-pth-config.patch \
+ file://0002-use-pkgconfig-instead-of-npth-config.patch \
+ file://0003-dirmngr-uses-libgpg-error.patch \
+ file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \
+ file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \
+ "
+SRC_URI_append_class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \
+ file://relocate.patch"
+
+SRC_URI[md5sum] = "1ba2d9b70c377f8e967742064c27a19c"
+SRC_URI[sha256sum] = "afa262868e39b651a2db4c071fba90415154243e83a830ca00516f9a807fd514"
+
+EXTRA_OECONF = "--disable-ldap \
+ --disable-ccid-driver \
+ --with-zlib=${STAGING_LIBDIR}/.. \
+ --with-bzip2=${STAGING_LIBDIR}/.. \
+ --with-readline=${STAGING_LIBDIR}/.. \
+ --enable-gpg-is-gpg2 \
+ "
+RRECOMMENDS_${PN} = "pinentry"
+
+do_configure_prepend () {
+ # Else these could be used in prefernce to those in aclocal-copy
+ rm -f ${S}/m4/gpg-error.m4
+ rm -f ${S}/m4/libassuan.m4
+ rm -f ${S}/m4/ksba.m4
+ rm -f ${S}/m4/libgcrypt.m4
+}
+
+do_install_append() {
+ ln -sf gpg2 ${D}${bindir}/gpg
+ ln -sf gpgv2 ${D}${bindir}/gpgv
+}
+
+do_install_append_class-native() {
+ create_wrapper ${D}${bindir}/gpg2 GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
+ create_wrapper ${D}${bindir}/gpgconf GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
+ create_wrapper ${D}${bindir}/gpg-agent GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
+ create_wrapper ${D}${bindir}/gpg-connect-agent GNUPG_BINDIR=${STAGING_BINDIR_NATIVE}
+}
+
+PACKAGECONFIG ??= "gnutls"
+PACKAGECONFIG[gnutls] = "--enable-gnutls, --disable-gnutls, gnutls"
+PACKAGECONFIG[sqlite3] = "--enable-sqlite, --disable-sqlite, sqlite3"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/gnutls/gnutls/posix-shell.patch b/poky/meta/recipes-support/gnutls/gnutls/posix-shell.patch
new file mode 100644
index 000000000..938e2d1e1
--- /dev/null
+++ b/poky/meta/recipes-support/gnutls/gnutls/posix-shell.patch
@@ -0,0 +1,39 @@
+Don't embed the path to the build-time POSIX shell as this will be
+$TMPDIR/hosttools/bash, which is no good on the target.
+
+Instead default to /bin/sh but allow it to be set in the environment.
+
+This isn't really upstreamable but I filed a bug at
+https://gitlab.com/gnutls/gnutls/issues/807 and hope a proper fix will be
+integrated.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff --git a/src/libopts/m4/libopts.m4 b/src/libopts/m4/libopts.m4
+index c6ad738..a62faca 100644
+--- a/src/libopts/m4/libopts.m4
++++ b/src/libopts/m4/libopts.m4
+@@ -112,21 +112,7 @@ AC_DEFUN([INVOKE_LIBOPTS_MACROS_FIRST],[
+ AC_CHECK_FUNCS([mmap canonicalize_file_name snprintf strdup strchr \
+ strrchr strsignal fchmod fstat chmod])
+ AC_PROG_SED
+- [while :
+- do
+- POSIX_SHELL=`which bash`
+- test -x "$POSIX_SHELL" && break
+- POSIX_SHELL=`which dash`
+- test -x "$POSIX_SHELL" && break
+- POSIX_SHELL=/usr/xpg4/bin/sh
+- test -x "$POSIX_SHELL" && break
+- POSIX_SHELL=`/bin/sh -c '
+- exec 2>/dev/null
+- if ! true ; then exit 1 ; fi
+- echo /bin/sh'`
+- test -x "$POSIX_SHELL" && break
+- ]AC_MSG_ERROR([cannot locate a working POSIX shell])[
+- done]
++ POSIX_SHELL="${POSIX_SHELL:-/bin/sh}"
+ AC_DEFINE_UNQUOTED([POSIX_SHELL], ["${POSIX_SHELL}"],
+ [define to a working POSIX compliant shell])
+ AC_SUBST([POSIX_SHELL])
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb
index 6c6c520e8..c927063f0 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.8.bb
@@ -19,6 +19,7 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \
file://arm_eabi.patch \
+ file://posix-shell.patch \
"
SRC_URI[md5sum] = "9dcf0aa45d1a42e1b3ca5d39ec7c61a8"
@@ -47,6 +48,9 @@ EXTRA_OECONF = " \
--with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \
"
+# Otherwise the tools try and use HOSTTOOLS_DIR/bash as a shell.
+export POSIX_SHELL="${base_bindir}/sh"
+
LDFLAGS_append_libc-musl = " -largp"
do_configure_prepend() {
diff --git a/poky/meta/recipes-support/gnutls/libtasn1/0001-stdint.m4-reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch b/poky/meta/recipes-support/gnutls/libtasn1/0001-stdint.m4-reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch
deleted file mode 100644
index 1e52d6abf..000000000
--- a/poky/meta/recipes-support/gnutls/libtasn1/0001-stdint.m4-reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From b17dbb8d3c5605db3a1d82861fcaeef4636d1117 Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Thu, 26 Jan 2017 18:54:48 +0200
-Subject: [PATCH] stdint.m4: reintroduce GNULIB_OVERRIDES_WINT_T check
-
-Partially revert the gnulib commit: 5a400b3f5a1f5483dbfd75d38bdb7080218a063b
-to fix the build error with musl library.
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- gl/m4/stdint.m4 | 27 +++++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
-diff --git a/gl/m4/stdint.m4 b/gl/m4/stdint.m4
-index 4ac854d..3dc3da1 100644
---- a/gl/m4/stdint.m4
-+++ b/gl/m4/stdint.m4
-@@ -355,6 +355,32 @@ int32_t i32 = INT32_C (0x7fffffff);
- gl_STDINT_TYPE_PROPERTIES
- fi
-
-+ dnl Determine whether gnulib's <wchar.h> or <wctype.h> would, if present,
-+ dnl override 'wint_t'.
-+ AC_CACHE_CHECK([whether wint_t is too small],
-+ [gl_cv_type_wint_t_too_small],
-+ [AC_COMPILE_IFELSE(
-+ [AC_LANG_PROGRAM([[
-+ /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
-+ <wchar.h>.
-+ BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
-+ included before <wchar.h>. */
-+ #if !(defined __GLIBC__ && !defined __UCLIBC__)
-+ # include <stddef.h>
-+ # include <stdio.h>
-+ # include <time.h>
-+ #endif
-+ #include <wchar.h>
-+ int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1];
-+ ]])],
-+ [gl_cv_type_wint_t_too_small=no],
-+ [gl_cv_type_wint_t_too_small=yes])])
-+ if test $gl_cv_type_wint_t_too_small = yes; then
-+ GNULIB_OVERRIDES_WINT_T=1
-+ else
-+ GNULIB_OVERRIDES_WINT_T=0
-+ fi
-+
- dnl The substitute stdint.h needs the substitute limit.h's _GL_INTEGER_WIDTH.
- LIMITS_H=limits.h
- AM_CONDITIONAL([GL_GENERATE_LIMITS_H], [test -n "$LIMITS_H"])
-@@ -363,6 +389,7 @@ int32_t i32 = INT32_C (0x7fffffff);
- AC_SUBST([HAVE_SYS_BITYPES_H])
- AC_SUBST([HAVE_SYS_INTTYPES_H])
- AC_SUBST([STDINT_H])
-+ AC_SUBST([GNULIB_OVERRIDES_WINT_T])
- AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"])
- ])
-
---
-2.4.0
-
diff --git a/poky/meta/recipes-support/gnutls/libtasn1/fix-gtkdoc.patch b/poky/meta/recipes-support/gnutls/libtasn1/fix-gtkdoc.patch
new file mode 100644
index 000000000..bfc9b9fca
--- /dev/null
+++ b/poky/meta/recipes-support/gnutls/libtasn1/fix-gtkdoc.patch
@@ -0,0 +1,38 @@
+Upstream-Status: Backport [https://gitlab.com/gnutls/libtasn1/merge_requests/49]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From ebd4f871b5241809f6a5b461444a6d331e15c949 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Mon, 9 Sep 2019 13:11:39 +0100
+Subject: [PATCH] doc/reference: don't add empty object hierarchy chapter
+
+The object hierarchy section is empty because there are no GObjects in the
+libtasn1 API. With gtk-doc 1.30 onwards if there are no objects then the object
+hierarchy file won't exist, resulting in a failure when building the
+documentation:
+
+| ../libtasn1-docs.xml:39: element include: XInclude error : could not load ../xml/tree_index.sgml, and no fallback was found
+
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ doc/reference/libtasn1-docs.xml | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/doc/reference/libtasn1-docs.xml b/doc/reference/libtasn1-docs.xml
+index accdb85..f88b888 100644
+--- a/doc/reference/libtasn1-docs.xml
++++ b/doc/reference/libtasn1-docs.xml
+@@ -34,10 +34,6 @@
+ <xi:include href="xml/libtasn1.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>
+--
+2.20.1
+
diff --git a/poky/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch b/poky/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch
new file mode 100644
index 000000000..f18f3c626
--- /dev/null
+++ b/poky/meta/recipes-support/gnutls/libtasn1/fix-ldflags.patch
@@ -0,0 +1,31 @@
+From a6f93b7ace347bc4fe29eb4a8fe4383d786cc8d0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
+Date: Tue, 23 Jul 2019 20:44:01 +0200
+Subject: [PATCH] Fix LDFLAGS to AM_LDFLAGS in src/Makefile.am
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Tim Rühsen <tim.ruehsen@gmx.de>
+Upstream-Status: Backport
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 5bf3622..4459767 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -21,7 +21,7 @@ AM_CPPFLAGS = -I$(top_builddir)/lib/includes -I$(top_srcdir)/lib/includes \
+ -I$(top_builddir)/lib/gl -I$(top_srcdir)/lib/gl $(CODE_COVERAGE_CPPFLAGS)
+
+ LDADD = ../lib/libtasn1.la
+-LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
++AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
+
+ bin_PROGRAMS = asn1Parser asn1Coding asn1Decoding
+
+--
+2.21.0
+
diff --git a/poky/meta/recipes-support/gnutls/libtasn1_4.13.bb b/poky/meta/recipes-support/gnutls/libtasn1_4.13.bb
deleted file mode 100644
index 9ee191309..000000000
--- a/poky/meta/recipes-support/gnutls/libtasn1_4.13.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Library for ASN.1 and DER manipulation"
-HOMEPAGE = "http://www.gnu.org/software/libtasn1/"
-
-LICENSE = "GPLv3+ & LGPLv2.1+"
-LICENSE_${PN}-bin = "GPLv3+"
-LICENSE_${PN} = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
- file://README;endline=8;md5=c3803a3e8ca5ab5eb1e5912faa405351"
-
-SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \
- file://dont-depend-on-help2man.patch \
- file://0001-stdint.m4-reintroduce-GNULIB_OVERRIDES_WINT_T-check.patch \
- "
-
-DEPENDS = "bison-native"
-
-SRC_URI[md5sum] = "ce2ba4d3088119b48e7531a703669c52"
-SRC_URI[sha256sum] = "7e528e8c317ddd156230c4e31d082cd13e7ddeb7a54824be82632209550c8cca"
-
-inherit autotools texinfo lib_package gtk-doc
-
-BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/gnutls/libtasn1_4.14.bb b/poky/meta/recipes-support/gnutls/libtasn1_4.14.bb
new file mode 100644
index 000000000..ef2c1956a
--- /dev/null
+++ b/poky/meta/recipes-support/gnutls/libtasn1_4.14.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Library for ASN.1 and DER manipulation"
+HOMEPAGE = "http://www.gnu.org/software/libtasn1/"
+
+LICENSE = "GPLv3+ & LGPLv2.1+"
+LICENSE_${PN}-bin = "GPLv3+"
+LICENSE_${PN} = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://doc/COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \
+ file://LICENSE;md5=75ac100ec923f959898182307970c360"
+
+SRC_URI = "${GNU_MIRROR}/libtasn1/libtasn1-${PV}.tar.gz \
+ file://dont-depend-on-help2man.patch \
+ file://fix-ldflags.patch \
+ file://fix-gtkdoc.patch \
+ "
+
+DEPENDS = "bison-native"
+
+SRC_URI[md5sum] = "e9918200ed4a778e2b3cbe34c1be4205"
+SRC_URI[sha256sum] = "9e604ba5c5c8ea403487695c2e407405820d98540d9de884d6e844f9a9c5ba08"
+
+inherit autotools texinfo lib_package gtk-doc
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch b/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch
index af9ddbf24..4c97f63cc 100644
--- a/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch
+++ b/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch
@@ -1,6 +1,6 @@
-From 317cdf60165d760572a26db317e3d6edb159b04e Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 17 Oct 2018 23:41:09 +0800
+From 093c88817397425ee4c2333c469467229a46c9e1 Mon Sep 17 00:00:00 2001
+From: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
+Date: Mon, 5 Aug 2019 01:00:58 +0900
Subject: [PATCH 7/7] python: Add variables to tests
* configure.ac, lang/python/Makefile.am:
@@ -9,16 +9,18 @@ Subject: [PATCH 7/7] python: Add variables to tests
Upstream-Status: Submitted [gnupg-devel@gnupg.org]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
---
configure.ac | 5 +++++
lang/python/Makefile.am | 3 +++
2 files changed, 8 insertions(+)
diff --git a/configure.ac b/configure.ac
-index 865bd10..035555a 100644
+index bd85886..b5ae42e 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -535,6 +535,11 @@ AC_ARG_ENABLE(g13-test,
+@@ -533,6 +533,11 @@ AC_ARG_ENABLE(g13-test,
run_g13_test=$enableval)
AM_CONDITIONAL(RUN_G13_TESTS, test "$run_g13_test" = "yes")
@@ -31,17 +33,17 @@ index 865bd10..035555a 100644
# Checks for header files.
AC_CHECK_HEADERS_ONCE([locale.h sys/select.h sys/uio.h argp.h stdint.h
diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
-index ce9a108..0c8cfdc 100644
+index 551deee..0fd555e 100644
--- a/lang/python/Makefile.am
+++ b/lang/python/Makefile.am
-@@ -25,7 +25,10 @@ EXTRA_DIST = \
- doc \
- src
+@@ -23,7 +23,10 @@ EXTRA_DIST = \
+ gpgme.i \
+ helpers.c helpers.h private.h
++SUBDIRS = . examples doc src
+if RUN_LANG_PYTHON_TESTS
- SUBDIRS = . tests
+ SUBDIRS = . tests examples doc src
+endif
-+
.PHONY: prepare
prepare: copystamp
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb
deleted file mode 100644
index cbd37da30..000000000
--- a/poky/meta/recipes-support/gpgme/gpgme_1.13.0.bb
+++ /dev/null
@@ -1,85 +0,0 @@
-SUMMARY = "High-level GnuPG encryption/signing API"
-DESCRIPTION = "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a High-Level Crypto API for encryption, decryption, signing, signature verification and key management"
-HOMEPAGE = "http://www.gnupg.org/gpgme.html"
-BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
-
-LICENSE = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \
- file://src/gpgme.h.in;endline=23;md5=2f0bf06d1c7dcb28532a9d0f94a7ca1d \
- file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d"
-
-UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
-SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \
- file://0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch \
- file://0001-pkgconfig.patch \
- file://0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch \
- file://0003-Correctly-install-python-modules.patch \
- file://0004-python-import.patch \
- file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \
- file://0006-fix-build-path-issue.patch \
- file://0007-python-Add-variables-to-tests.patch \
- file://0008-do-not-auto-check-var-PYTHON.patch \
- "
-
-SRC_URI[md5sum] = "e511a0d95c507ab87e713140c82fc7d0"
-SRC_URI[sha256sum] = "d4b23e47a9e784a63e029338cce0464a82ce0ae4af852886afda410f9e39c630"
-
-DEPENDS = "libgpg-error libassuan"
-RDEPENDS_${PN}-cpp += "libstdc++"
-
-RDEPENDS_python2-gpg += "python-unixadmin"
-RDEPENDS_python3-gpg += "python3-unixadmin"
-
-BINCONFIG = "${bindir}/gpgme-config"
-
-# Note select python2 or python3, but you can't select both at the same time
-PACKAGECONFIG ??= "python3"
-PACKAGECONFIG[python2] = ",,python swig-native,"
-PACKAGECONFIG[python3] = ",,python3 swig-native,"
-
-# Default in configure.ac: "cl cpp python qt"
-# Supported: "cl cpp python python2 python3 qt"
-# python says 'search and find python2 or python3'
-
-# Building the C++ bindings for native requires a C++ compiler with C++11
-# support. Since these bindings are currently not needed, we can disable them.
-DEFAULT_LANGUAGES = ""
-DEFAULT_LANGUAGES_class-target = "cpp"
-LANGUAGES ?= "${DEFAULT_LANGUAGES} python"
-
-PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}"
-PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}"
-
-EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \
- --disable-gpgconf-test \
- --disable-gpg-test \
- --disable-gpgsm-test \
- --disable-g13-test \
- --disable-lang-python-test \
-'
-
-inherit autotools texinfo binconfig-disabled pkgconfig distutils-common-base ${PYTHON_INHERIT}
-
-export PKG_CONFIG='pkg-config'
-
-BBCLASSEXTEND = "native nativesdk"
-
-PACKAGES =+ "${PN}-cpp"
-PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python2-gpg ', '', d)}"
-PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-gpg ', '', d)}"
-
-FILES_${PN}-cpp = "${libdir}/libgpgmepp.so.*"
-FILES_python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/* \
- ${libdir}/cmake/* \
-"
-
-CFLAGS_append_libc-musl = " -D__error_t_defined "
-do_configure_prepend () {
- # Else these could be used in preference to those in aclocal-copy
- rm -f ${S}/m4/gpg-error.m4
- rm -f ${S}/m4/libassuan.m4
- rm -f ${S}/m4/python.m4
-}
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.13.1.bb b/poky/meta/recipes-support/gpgme/gpgme_1.13.1.bb
new file mode 100644
index 000000000..9fc1ae24a
--- /dev/null
+++ b/poky/meta/recipes-support/gpgme/gpgme_1.13.1.bb
@@ -0,0 +1,85 @@
+SUMMARY = "High-level GnuPG encryption/signing API"
+DESCRIPTION = "GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a High-Level Crypto API for encryption, decryption, signing, signature verification and key management"
+HOMEPAGE = "http://www.gnupg.org/gpgme.html"
+BUGTRACKER = "https://bugs.g10code.com/gnupg/index"
+
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://COPYING.LESSER;md5=bbb461211a33b134d42ed5ee802b37ff \
+ file://src/gpgme.h.in;endline=23;md5=2f0bf06d1c7dcb28532a9d0f94a7ca1d \
+ file://src/engine.h;endline=22;md5=4b6d8ba313d9b564cc4d4cfb1640af9d"
+
+UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
+SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \
+ file://0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch \
+ file://0001-pkgconfig.patch \
+ file://0002-gpgme-lang-python-gpg-error-config-should-not-be-use.patch \
+ file://0003-Correctly-install-python-modules.patch \
+ file://0004-python-import.patch \
+ file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \
+ file://0006-fix-build-path-issue.patch \
+ file://0007-python-Add-variables-to-tests.patch \
+ file://0008-do-not-auto-check-var-PYTHON.patch \
+ "
+
+SRC_URI[md5sum] = "198f0a908ec3cd8f0ce9a4f3a4489645"
+SRC_URI[sha256sum] = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46"
+
+DEPENDS = "libgpg-error libassuan"
+RDEPENDS_${PN}-cpp += "libstdc++"
+
+RDEPENDS_python2-gpg += "python-unixadmin"
+RDEPENDS_python3-gpg += "python3-unixadmin"
+
+BINCONFIG = "${bindir}/gpgme-config"
+
+# Note select python2 or python3, but you can't select both at the same time
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python2] = ",,python swig-native,"
+PACKAGECONFIG[python3] = ",,python3 swig-native,"
+
+# Default in configure.ac: "cl cpp python qt"
+# Supported: "cl cpp python python2 python3 qt"
+# python says 'search and find python2 or python3'
+
+# Building the C++ bindings for native requires a C++ compiler with C++11
+# support. Since these bindings are currently not needed, we can disable them.
+DEFAULT_LANGUAGES = ""
+DEFAULT_LANGUAGES_class-target = "cpp"
+LANGUAGES ?= "${DEFAULT_LANGUAGES} python"
+
+PYTHON_INHERIT = "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'pythonnative', '', d)}"
+PYTHON_INHERIT .= "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)}"
+
+EXTRA_OECONF += '--enable-languages="${LANGUAGES}" \
+ --disable-gpgconf-test \
+ --disable-gpg-test \
+ --disable-gpgsm-test \
+ --disable-g13-test \
+ --disable-lang-python-test \
+'
+
+inherit autotools texinfo binconfig-disabled pkgconfig distutils-common-base ${PYTHON_INHERIT}
+
+export PKG_CONFIG='pkg-config'
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES =+ "${PN}-cpp"
+PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python2-gpg ', '', d)}"
+PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-gpg ', '', d)}"
+
+FILES_${PN}-cpp = "${libdir}/libgpgmepp.so.*"
+FILES_python2-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_python3-gpg = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_${PN}-dev += "${datadir}/common-lisp/source/gpgme/* \
+ ${libdir}/cmake/* \
+"
+
+CFLAGS_append_libc-musl = " -D__error_t_defined "
+do_configure_prepend () {
+ # Else these could be used in preference to those in aclocal-copy
+ rm -f ${S}/m4/gpg-error.m4
+ rm -f ${S}/m4/libassuan.m4
+ rm -f ${S}/m4/python.m4
+}
diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb
deleted file mode 100644
index 15130dd7c..000000000
--- a/poky/meta/recipes-support/iso-codes/iso-codes_4.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "ISO language, territory, currency, script codes and their translations"
-HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes"
-BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http"
-SRCREV = "58a4f20f8e6f4d8f9545333f3eae4cfe5678de16"
-
-# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
-# are inhibited by allarch
-DEPENDS = "gettext-native"
-
-S = "${WORKDIR}/git"
-
-inherit allarch autotools
-
-FILES_${PN} += "${datadir}/xml/"
diff --git a/poky/meta/recipes-support/iso-codes/iso-codes_4.3.bb b/poky/meta/recipes-support/iso-codes/iso-codes_4.3.bb
new file mode 100644
index 000000000..5651a96c6
--- /dev/null
+++ b/poky/meta/recipes-support/iso-codes/iso-codes_4.3.bb
@@ -0,0 +1,19 @@
+SUMMARY = "ISO language, territory, currency, script codes and their translations"
+HOMEPAGE = "https://salsa.debian.org/iso-codes-team/iso-codes"
+BUGTRACKER = "https://salsa.debian.org/iso-codes-team/iso-codes/issues"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=http"
+SRCREV = "43398a317371e309361ce43072603863cb2f57e1"
+
+# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
+# are inhibited by allarch
+DEPENDS = "gettext-native"
+
+S = "${WORKDIR}/git"
+
+inherit allarch autotools
+
+FILES_${PN} += "${datadir}/xml/"
diff --git a/poky/meta/recipes-support/libbsd/libbsd/0001-flopen-Add-missing-fcntl.h-include.patch b/poky/meta/recipes-support/libbsd/libbsd/0001-flopen-Add-missing-fcntl.h-include.patch
deleted file mode 100644
index 8abb876c7..000000000
--- a/poky/meta/recipes-support/libbsd/libbsd/0001-flopen-Add-missing-fcntl.h-include.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 13c32916b4baab58d93940d57fea9ff0777f1931 Mon Sep 17 00:00:00 2001
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Tue, 5 Jun 2018 19:21:46 +0300
-Subject: [PATCH] flopen: Add missing <fcntl.h> include
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Commit 993828d84ee (Add flopenat() function from FreeBSD) dropped the
-fcntl.h header. This breaks the build with musl libc:
-
-flopen.c: In function ‘vflopenat’:
-flopen.c:60:14: error: ‘O_CREAT’ undeclared (first use in this function)
- if (flags & O_CREAT) {
- ^~~~~~~
-
-Restore the fcntl.h header include to fix the build.
-
-Fixes: commit 993828d84eed0468c6c15b2818e534e6b134b8e4
-Submitted-also-by: parazyd <parazyd@dyne.org>
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
-Signed-off-by: Guillem Jover <guillem@hadrons.org>
-
-Upstream-Status: Backport
-[https://gitlab.freedesktop.org/libbsd/libbsd/commit/13c32916b4baab58d93940d57fea9ff0777f1931]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- src/flopen.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/flopen.c b/src/flopen.c
-index b9972c9..ff20d07 100644
---- a/src/flopen.c
-+++ b/src/flopen.c
-@@ -32,6 +32,7 @@
- #include <sys/stat.h>
-
- #include <errno.h>
-+#include <fcntl.h>
- #include <stdarg.h>
- #include <unistd.h>
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb b/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb
new file mode 100644
index 000000000..eaf244a3b
--- /dev/null
+++ b/poky/meta/recipes-support/libbsd/libbsd_0.10.0.bb
@@ -0,0 +1,41 @@
+# Copyright (C) 2013 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Library of utility functions from BSD systems"
+DESCRIPTION = "This library provides useful functions commonly found on BSD systems, \
+ and lacking on others like GNU systems, thus making it easier to port \
+ projects with strong BSD origins, without needing to embed the same \
+ code over and over again on each project."
+
+HOMEPAGE = "http://libbsd.freedesktop.org/wiki/"
+# There seems to be more licenses used in the code, I don't think we want to list them all here, complete list:
+# OE @ ~/projects/libbsd $ grep ^License: COPYING | sort -u
+# License: BSD-2-clause
+# License: BSD-2-clause-NetBSD
+# License: BSD-2-clause-author
+# License: BSD-2-clause-verbatim
+# License: BSD-3-clause
+# License: BSD-3-clause-author
+# License: BSD-3-clause-John-Birrell
+# License: BSD-3-clause-Regents
+# License: BSD-4-clause-Christopher-G-Demetriou
+# License: BSD-4-clause-Niels-Provos
+# License: BSD-5-clause-Peter-Wemm
+# License: Beerware
+# License: Expat
+# License: ISC
+# License: ISC-Original
+# License: public-domain
+# License: public-domain-Colin-Plumb
+LICENSE = "BSD-4-Clause & ISC & PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2120be0173469a06ed185b688e0e1ae0"
+SECTION = "libs"
+
+SRC_URI = "http://libbsd.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "ead96d240d02faa5b921c0aa50c812b5"
+SRC_URI[sha256sum] = "34b8adc726883d0e85b3118fa13605e179a62b31ba51f676136ecb2d0bc1a887"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb b/poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb
deleted file mode 100644
index 2b75cdf95..000000000
--- a/poky/meta/recipes-support/libbsd/libbsd_0.9.1.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright (C) 2013 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Library of utility functions from BSD systems"
-DESCRIPTION = "This library provides useful functions commonly found on BSD systems, \
- and lacking on others like GNU systems, thus making it easier to port \
- projects with strong BSD origins, without needing to embed the same \
- code over and over again on each project."
-
-HOMEPAGE = "http://libbsd.freedesktop.org/wiki/"
-# There seems to be more licenses used in the code, I don't think we want to list them all here, complete list:
-# OE @ ~/projects/libbsd $ grep ^License: COPYING | sort -u
-# License: BSD-2-clause
-# License: BSD-2-clause-NetBSD
-# License: BSD-2-clause-author
-# License: BSD-2-clause-verbatim
-# License: BSD-3-clause
-# License: BSD-3-clause-author
-# License: BSD-3-clause-John-Birrell
-# License: BSD-3-clause-Regents
-# License: BSD-4-clause-Christopher-G-Demetriou
-# License: BSD-4-clause-Niels-Provos
-# License: BSD-5-clause-Peter-Wemm
-# License: Beerware
-# License: Expat
-# License: ISC
-# License: ISC-Original
-# License: public-domain
-# License: public-domain-Colin-Plumb
-LICENSE = "BSD-4-Clause & ISC & PD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b552602fda69e34c753d26de383f33c5"
-SECTION = "libs"
-
-SRC_URI = " \
- http://libbsd.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
- file://0001-flopen-Add-missing-fcntl.h-include.patch \
-"
-
-SRC_URI[md5sum] = "a74b80c4143afa032c90226a4518fffe"
-SRC_URI[sha256sum] = "56d835742327d69faccd16955a60b6dcf30684a8da518c4eca0ac713b9e0a7a4"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng b/poky/meta/recipes-support/libcap-ng/libcap-ng
deleted file mode 120000
index fb7744d29..000000000
--- a/poky/meta/recipes-support/libcap-ng/libcap-ng
+++ /dev/null
@@ -1 +0,0 @@
-libcap-ng-python \ No newline at end of file
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
index e49b445f5..43f76dc56 100644
--- 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
@@ -1,5 +1,7 @@
require libcap-ng.inc
+FILESEXTRAPATHS_prepend := "${THISDIR}/libcap-ng:"
+
SUMMARY .= " - python"
inherit lib_package autotools python3native
diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch b/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch
index d60a0a39b..d60a0a39b 100644
--- a/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch
+++ b/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch
diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb b/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb
deleted file mode 100644
index abd6f386b..000000000
--- a/poky/meta/recipes-support/libevdev/libevdev_1.7.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Wrapper library for evdev devices"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libevdev/"
-SECTION = "libs"
-
-LICENSE = "MIT-X"
-LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \
- file://libevdev/libevdev.h;endline=21;md5=7ff4f0b5113252c2f1a828e0bbad98d1"
-
-SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "fabe87d8d7d7f7cdb4a26e5dc99fc517"
-SRC_URI[sha256sum] = "11dbe1f2b1d03a51f3e9a196757a75c3a999042ce34cf1fdc00a2363e5a2e369"
-
-inherit autotools pkgconfig
diff --git a/poky/meta/recipes-support/libevdev/libevdev_1.8.0.bb b/poky/meta/recipes-support/libevdev/libevdev_1.8.0.bb
new file mode 100644
index 000000000..84274987d
--- /dev/null
+++ b/poky/meta/recipes-support/libevdev/libevdev_1.8.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Wrapper library for evdev devices"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libevdev/"
+SECTION = "libs"
+
+LICENSE = "MIT-X"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75aae0d38feea6fda97ca381cb9132eb \
+ file://libevdev/libevdev.h;endline=21;md5=7ff4f0b5113252c2f1a828e0bbad98d1"
+
+SRC_URI = "http://www.freedesktop.org/software/libevdev/${BP}.tar.xz"
+SRC_URI[md5sum] = "879631080be18526737e33b63d848039"
+SRC_URI[sha256sum] = "20d3cae4efd277f485abdf8f2a7c46588e539998b5a08c2c4d368218379d4211"
+
+inherit autotools pkgconfig
diff --git a/poky/meta/recipes-support/libevent/libevent/run-ptest b/poky/meta/recipes-support/libevent/libevent/run-ptest
index 0241851c7..d3b5e793c 100644
--- a/poky/meta/recipes-support/libevent/libevent/run-ptest
+++ b/poky/meta/recipes-support/libevent/libevent/run-ptest
@@ -1,18 +1,29 @@
#!/bin/sh
-fail=0
-for test in ./test/*
-do
- $test
- if [ $? -ne 0 ]
- then
- fail=1
- fi
-done
+# run-ptest - 'ptest' test infrastructure shell script that
+# wraps the libevent test scripts
+#
+# Trevor Gamblin <trevor.gamblin@windriver.com>
+###############################################################
+LIBEVENTLIB=@libdir@/libevent
+LOG="${LIBEVENTLIB}/ptest/libevent_ptest_$(date +%Y%m%d-%H%M%S).log"
-if [ $fail -eq 0 ]
-then
- echo "PASS: libevent"
-else
- echo "FAIL: libevent"
-fi
+cd ${LIBEVENTLIB}/ptest
+
+# Run only the libevent "regress" test. All other test scripts in the
+# libevent "test" folder are related to performance, e.g. read/write
+# rates, and/or do not provide a pass/fail output that can be recorded
+# in the ptest log.
+./test/regress 2>&1| sed -e '/TESTS/d' -e '/tests/d' -e '/OK/ s/^/PASS: / ; /FAILED/ s/^/FAIL: / ; /SKIPPED/ s/^/SKIP: / ; /DISABLED/ s/^/SKIP: /' | cut -f1,2 -d ':' | tee -a ${LOG}
+
+passed=`grep PASS ${LOG}|wc -l`
+failed=`grep FAIL ${LOG}|wc -l`
+skipped=`grep -E SKIP ${LOG}|wc -l`
+all=$((passed + failed + skipped))
+
+( echo "=== Test Summary ==="
+ echo "TOTAL: ${all}"
+ echo "PASSED: ${passed}"
+ echo "FAILED: ${failed}"
+ echo "SKIPPED: ${skipped}"
+) | tee -a ${LOG}
diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.10.bb b/poky/meta/recipes-support/libevent/libevent_2.1.10.bb
deleted file mode 100644
index 81ceb1cd9..000000000
--- a/poky/meta/recipes-support/libevent/libevent_2.1.10.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "An asynchronous event notification library"
-HOMEPAGE = "http://libevent.org/"
-BUGTRACKER = "https://github.com/libevent/libevent/issues"
-SECTION = "libs"
-
-LICENSE = "BSD & MIT"
-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://run-ptest \
-"
-
-SRC_URI[md5sum] = "999caf86f52943af2363bc8077f00167"
-SRC_URI[sha256sum] = "e864af41a336bb11dab1a23f32993afe963c1f69618bd9292b89ecf6904845b0"
-
-UPSTREAM_CHECK_URI = "http://libevent.org/"
-
-S = "${WORKDIR}/${BPN}-${PV}-stable"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
-
-inherit autotools
-
-# Needed for Debian packaging
-LEAD_SONAME = "libevent-2.1.so"
-
-inherit ptest multilib_header
-
-DEPENDS = "zlib"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_install_append() {
- oe_multilib_header event2/event-config.h
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/test
- for file in ${B}/test/.libs/regress ${B}/test/.libs/test*
- do
- install -m 0755 $file ${D}${PTEST_PATH}/test
- done
-}
diff --git a/poky/meta/recipes-support/libevent/libevent_2.1.11.bb b/poky/meta/recipes-support/libevent/libevent_2.1.11.bb
new file mode 100644
index 000000000..f005ab8bd
--- /dev/null
+++ b/poky/meta/recipes-support/libevent/libevent_2.1.11.bb
@@ -0,0 +1,49 @@
+SUMMARY = "An asynchronous event notification library"
+HOMEPAGE = "http://libevent.org/"
+BUGTRACKER = "https://github.com/libevent/libevent/issues"
+SECTION = "libs"
+
+LICENSE = "BSD & MIT"
+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://run-ptest \
+"
+
+SRC_URI[md5sum] = "7f35cfe69b82d879111ec0d7b7b1c531"
+SRC_URI[sha256sum] = "a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d"
+
+UPSTREAM_CHECK_URI = "http://libevent.org/"
+
+S = "${WORKDIR}/${BPN}-${PV}-stable"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
+
+inherit autotools
+
+# Needed for Debian packaging
+LEAD_SONAME = "libevent-2.1.so"
+
+inherit ptest multilib_header
+
+DEPENDS = "zlib"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install_append() {
+ oe_multilib_header event2/event-config.h
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ for file in ${B}/test/.libs/regress ${B}/test/.libs/test*
+ do
+ install -m 0755 $file ${D}${PTEST_PATH}/test
+ done
+
+ # handle multilib
+ sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
+}
diff --git a/poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch b/poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch
new file mode 100644
index 000000000..00a30a355
--- /dev/null
+++ b/poky/meta/recipes-support/libffi/libffi/0001-Fixed-missed-ifndef-for-__mips_soft_float.patch
@@ -0,0 +1,31 @@
+From 4149a7627a998731cc246d3f58a36808745d04c8 Mon Sep 17 00:00:00 2001
+From: Carl Hurd <carl@Carls-MacBook-Pro.local>
+Date: Wed, 18 Jul 2018 09:04:32 -0400
+Subject: [PATCH] Fixed missed #ifndef for __mips_soft_float
+
+Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+---
+Upstream-Status: Submitted [https://github.com/libffi/libffi/pull/442]
+
+ src/mips/o32.S | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/mips/o32.S b/src/mips/o32.S
+index 44e74cb..799139b 100644
+--- a/src/mips/o32.S
++++ b/src/mips/o32.S
+@@ -282,9 +282,11 @@ $LCFI12:
+ li $13, 1 # FFI_O32
+ bne $16, $13, 1f # Skip fp save if FFI_O32_SOFT_FLOAT
+
++#ifndef __mips_soft_float
+ # Store all possible float/double registers.
+ s.d $f12, FA_0_0_OFF2($fp)
+ s.d $f14, FA_1_0_OFF2($fp)
++#endif
+ 1:
+ # prepare arguments for ffi_closure_mips_inner_O32
+ REG_L a0, 4($15) # cif
+--
+2.21.0
+
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
deleted file mode 100644
index 589c4d3c4..000000000
--- a/poky/meta/recipes-support/libffi/libffi/0001-New-RISC-V-port-281.patch
+++ /dev/null
@@ -1,827 +0,0 @@
-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/0001-libffi-Support-musl-x32-build.patch b/poky/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch
deleted file mode 100644
index 6b167c842..000000000
--- a/poky/meta/recipes-support/libffi/libffi/0001-libffi-Support-musl-x32-build.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 69c3906c85c791716bf650aa36d9361d22acf3fb Mon Sep 17 00:00:00 2001
-From: sweeaun <swee.aun.khor@intel.com>
-Date: Thu, 6 Jul 2017 16:32:46 -0700
-Subject: [PATCH] libffi: Support musl x32 build
-
-Support libffi build with target musl-x32.
-
-Upstream-Status: Pending
-
-Signed-off-by: sweeaun <swee.aun.khor@intel.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index a7bf5ee..8ebe99c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -177,7 +177,7 @@ case "$host" in
- TARGETDIR=x86
- if test $ac_cv_sizeof_size_t = 4; then
- case "$host" in
-- *-gnux32)
-+ *-gnux32 | *-muslx32)
- TARGET=X86_64
- ;;
- *)
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch b/poky/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch
deleted file mode 100644
index db96e6354..000000000
--- a/poky/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a5efaa96fd934eb245c234a5275fcf62698ef986 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 2 Apr 2015 21:38:03 -0700
-Subject: [PATCH] mips: Use compiler internal define for linux
-
-__linux__ is defined by compiler when building for
-linux platforms, lets use it
-
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/mips/ffitarget.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/mips/ffitarget.h b/src/mips/ffitarget.h
-index 717d659..6faa358 100644
---- a/src/mips/ffitarget.h
-+++ b/src/mips/ffitarget.h
-@@ -32,7 +32,7 @@
- #error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
- #endif
-
--#ifdef linux
-+#ifdef __linux__
- # include <asm/sgidefs.h>
- #elif defined(__rtems__)
- /*
---
-2.1.4
-
diff --git a/poky/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch b/poky/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch
deleted file mode 100644
index 61c9eb31d..000000000
--- a/poky/meta/recipes-support/libffi/libffi/0001-mips-fix-MIPS-softfloat-build-issue.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From 655e82c92d5c3875aee04322f1993d6b0774a7bf Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Mon, 15 Aug 2016 15:00:13 +0800
-Subject: [PATCH] mips: fix MIPS softfloat build issue
-
-The patch for o32.S is taken from OpenWrt packages repo 3a7a4bf "libffi:
-fix MIPS softfloat build issue with current binutils"
-
-Signed-off-by: Felix Fietkau <nbd@openwrt.org>
-Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
----
-Upstream-Status: Backport [https://github.com/libffi/libffi/commit/2ded2a4f494165c93293afc14ab0be1243cf8c49]
- src/mips/n32.S | 17 +++++++++++++++++
- src/mips/o32.S | 17 +++++++++++++++++
- 2 files changed, 34 insertions(+)
-
-diff --git a/src/mips/n32.S b/src/mips/n32.S
-index c6985d3..8f25994 100644
---- a/src/mips/n32.S
-+++ b/src/mips/n32.S
-@@ -107,6 +107,16 @@ loadregs:
-
- REG_L t6, 3*FFI_SIZEOF_ARG($fp) # load the flags word into t6.
-
-+#ifdef __mips_soft_float
-+ REG_L a0, 0*FFI_SIZEOF_ARG(t9)
-+ REG_L a1, 1*FFI_SIZEOF_ARG(t9)
-+ REG_L a2, 2*FFI_SIZEOF_ARG(t9)
-+ REG_L a3, 3*FFI_SIZEOF_ARG(t9)
-+ REG_L a4, 4*FFI_SIZEOF_ARG(t9)
-+ REG_L a5, 5*FFI_SIZEOF_ARG(t9)
-+ REG_L a6, 6*FFI_SIZEOF_ARG(t9)
-+ REG_L a7, 7*FFI_SIZEOF_ARG(t9)
-+#else
- and t4, t6, ((1<<FFI_FLAG_BITS)-1)
- REG_L a0, 0*FFI_SIZEOF_ARG(t9)
- beqz t4, arg1_next
-@@ -193,6 +203,7 @@ arg7_next:
- arg8_doublep:
- l.d $f19, 7*FFI_SIZEOF_ARG(t9)
- arg8_next:
-+#endif
-
- callit:
- # Load the function pointer
-@@ -214,6 +225,7 @@ retint:
- b epilogue
-
- retfloat:
-+#ifndef __mips_soft_float
- bne t6, FFI_TYPE_FLOAT, retdouble
- jal t9
- REG_L t4, 4*FFI_SIZEOF_ARG($fp)
-@@ -272,6 +284,7 @@ retstruct_f_d:
- s.s $f0, 0(t4)
- s.d $f2, 8(t4)
- b epilogue
-+#endif
-
- retstruct_d_soft:
- bne t6, FFI_TYPE_STRUCT_D_SOFT, retstruct_f_soft
-@@ -429,6 +442,7 @@ ffi_closure_N32:
- REG_S a6, A6_OFF2($sp)
- REG_S a7, A7_OFF2($sp)
-
-+#ifndef __mips_soft_float
- # Store all possible float/double registers.
- s.d $f12, F12_OFF2($sp)
- s.d $f13, F13_OFF2($sp)
-@@ -438,6 +452,7 @@ ffi_closure_N32:
- s.d $f17, F17_OFF2($sp)
- s.d $f18, F18_OFF2($sp)
- s.d $f19, F19_OFF2($sp)
-+#endif
-
- # Call ffi_closure_mips_inner_N32 to do the real work.
- LA t9, ffi_closure_mips_inner_N32
-@@ -458,6 +473,7 @@ cls_retint:
- b cls_epilogue
-
- cls_retfloat:
-+#ifndef __mips_soft_float
- bne v0, FFI_TYPE_FLOAT, cls_retdouble
- l.s $f0, V0_OFF2($sp)
- b cls_epilogue
-@@ -500,6 +516,7 @@ cls_retstruct_f_d:
- l.s $f0, V0_OFF2($sp)
- l.d $f2, V1_OFF2($sp)
- b cls_epilogue
-+#endif
-
- cls_retstruct_small2:
- REG_L v0, V0_OFF2($sp)
-diff --git a/src/mips/o32.S b/src/mips/o32.S
-index eb27981..429dd0a 100644
---- a/src/mips/o32.S
-+++ b/src/mips/o32.S
-@@ -82,13 +82,16 @@ sixteen:
-
- ADDU $sp, 4 * FFI_SIZEOF_ARG # adjust $sp to new args
-
-+#ifndef __mips_soft_float
- bnez t0, pass_d # make it quick for int
-+#endif
- REG_L a0, 0*FFI_SIZEOF_ARG($sp) # just go ahead and load the
- REG_L a1, 1*FFI_SIZEOF_ARG($sp) # four regs.
- REG_L a2, 2*FFI_SIZEOF_ARG($sp)
- REG_L a3, 3*FFI_SIZEOF_ARG($sp)
- b call_it
-
-+#ifndef __mips_soft_float
- pass_d:
- bne t0, FFI_ARGS_D, pass_f
- l.d $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args
-@@ -130,6 +133,7 @@ pass_f_d:
- # bne t0, FFI_ARGS_F_D, call_it
- l.s $f12, 0*FFI_SIZEOF_ARG($sp) # load $fp regs from args
- l.d $f14, 2*FFI_SIZEOF_ARG($sp) # passing double and float
-+#endif
-
- call_it:
- # Load the function pointer
-@@ -158,14 +162,23 @@ retfloat:
- bne t2, FFI_TYPE_FLOAT, retdouble
- jalr t9
- REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp)
-+#ifndef __mips_soft_float
- s.s $f0, 0(t0)
-+#else
-+ REG_S v0, 0(t0)
-+#endif
- b epilogue
-
- retdouble:
- bne t2, FFI_TYPE_DOUBLE, noretval
- jalr t9
- REG_L t0, SIZEOF_FRAME + 4*FFI_SIZEOF_ARG($fp)
-+#ifndef __mips_soft_float
- s.d $f0, 0(t0)
-+#else
-+ REG_S v1, 4(t0)
-+ REG_S v0, 0(t0)
-+#endif
- b epilogue
-
- noretval:
-@@ -261,9 +274,11 @@ $LCFI7:
- li $13, 1 # FFI_O32
- bne $16, $13, 1f # Skip fp save if FFI_O32_SOFT_FLOAT
-
-+#ifndef __mips_soft_float
- # Store all possible float/double registers.
- s.d $f12, FA_0_0_OFF2($fp)
- s.d $f14, FA_1_0_OFF2($fp)
-+#endif
- 1:
- # Call ffi_closure_mips_inner_O32 to do the work.
- la t9, ffi_closure_mips_inner_O32
-@@ -281,6 +296,7 @@ $LCFI7:
- li $13, 1 # FFI_O32
- bne $16, $13, 1f # Skip fp restore if FFI_O32_SOFT_FLOAT
-
-+#ifndef __mips_soft_float
- li $9, FFI_TYPE_FLOAT
- l.s $f0, V0_OFF2($fp)
- beq $8, $9, closure_done
-@@ -288,6 +304,7 @@ $LCFI7:
- li $9, FFI_TYPE_DOUBLE
- l.d $f0, V0_OFF2($fp)
- beq $8, $9, closure_done
-+#endif
- 1:
- REG_L $3, V1_OFF2($fp)
- REG_L $2, V0_OFF2($fp)
---
-2.9.3
-
diff --git a/poky/meta/recipes-support/libffi/libffi/not-win32.patch b/poky/meta/recipes-support/libffi/libffi/not-win32.patch
index 80c40a474..86a7fc9e4 100644
--- a/poky/meta/recipes-support/libffi/libffi/not-win32.patch
+++ b/poky/meta/recipes-support/libffi/libffi/not-win32.patch
@@ -11,12 +11,10 @@ As this block is generally pointless, disable it.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@intel.com>
-Index: libffi-3.2.1/configure.ac
-===================================================================
---- libffi-3.2.1.orig/configure.ac
-+++ libffi-3.2.1/configure.ac
-@@ -592,7 +592,7 @@ AC_ARG_ENABLE(purify-safety,
-
+--- a/configure.ac
++++ b/configure.ac
+@@ -350,7 +350,7 @@ AC_ARG_ENABLE(multi-os-directory,
+
# These variables are only ever used when we cross-build to X86_WIN32.
# And we only support this with GCC, so...
-if test "x$GCC" = "xyes"; then
diff --git a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb b/poky/meta/recipes-support/libffi/libffi_3.2.1.bb
deleted file mode 100644
index 792a1143b..000000000
--- a/poky/meta/recipes-support/libffi/libffi_3.2.1.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "A portable foreign function interface library"
-HOMEPAGE = "http://sourceware.org/libffi/"
-DESCRIPTION = "The `libffi' library provides a portable, high level programming interface to various calling \
-conventions. This allows a programmer to call any function specified by a call interface description at run \
-time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the \
-interface that allows code written in one language to call code written in another language. The `libffi' \
-library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. \
-A layer must exist above `libffi' that handles type conversions for values passed between the two languages."
-
-LICENSE = "MIT"
-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-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"
-
-EXTRA_OECONF += "--disable-builddir"
-EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'"
-inherit autotools texinfo
-
-FILES_${PN}-dev += "${libdir}/libffi-${PV}"
-
-# Doesn't compile in MIPS16e mode due to use of hand-written
-# assembly
-MIPS_INSTRUCTION_SET = "mips"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb b/poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb
new file mode 100644
index 000000000..8acb699d4
--- /dev/null
+++ b/poky/meta/recipes-support/libffi/libffi_3.3~rc0.bb
@@ -0,0 +1,40 @@
+SUMMARY = "A portable foreign function interface library"
+HOMEPAGE = "http://sourceware.org/libffi/"
+DESCRIPTION = "The `libffi' library provides a portable, high level programming interface to various calling \
+conventions. This allows a programmer to call any function specified by a call interface description at run \
+time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the \
+interface that allows code written in one language to call code written in another language. The `libffi' \
+library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. \
+A layer must exist above `libffi' that handles type conversions for values passed between the two languages."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b"
+
+SRC_URI = "https://github.com/libffi/libffi/releases/download/v3.3-rc0/libffi-3.3-rc0.tar.gz \
+ file://not-win32.patch \
+ file://0001-Fixed-missed-ifndef-for-__mips_soft_float.patch \
+ "
+SRC_URI[md5sum] = "8d2a82a78faf10a5e53c27d986e8f04e"
+SRC_URI[sha256sum] = "403d67aabf1c05157855ea2b1d9950263fb6316536c8c333f5b9ab1eb2f20ecf"
+UPSTREAM_CHECK_URI = "https://github.com/libffi/libffi/releases/"
+UPSTREAM_CHECK_REGEX = "libffi-(?P<pver>\d+(\.\d+)+)\.tar"
+UPSTREAM_VERSION_UNKNOWN = "1"
+
+EXTRA_OECONF += "--disable-builddir"
+EXTRA_OEMAKE_class-target = "LIBTOOLFLAGS='--tag=CC'"
+inherit autotools texinfo multilib_header
+
+S = "${WORKDIR}/${BPN}-3.3-rc0"
+
+do_install_append() {
+ oe_multilib_header ffi.h
+}
+
+FILES_${PN}-dev += "${libdir}/libffi-${PV}"
+
+# Doesn't compile in MIPS16e mode due to use of hand-written
+# assembly
+MIPS_INSTRUCTION_SET = "mips"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch b/poky/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch
new file mode 100644
index 000000000..b936d1143
--- /dev/null
+++ b/poky/meta/recipes-support/libgpg-error/libgpg-error/libgpg-error-1.36-gawk5-support.patch
@@ -0,0 +1,144 @@
+Upstream-Status: Backport [https://dev.gnupg.org/T4459]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+From 7865041c77f4f7005282f10f9b6666b19072fbdf Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe@fsij.org>
+Date: Mon, 15 Apr 2019 15:10:44 +0900
+Subject: [PATCH] awk: Prepare for Gawk 5.0.
+
+* src/Makefile.am: Use pkg_namespace (instead of namespace).
+* src/mkerrnos.awk: Likewise.
+* lang/cl/mkerrcodes.awk: Don't escape # in regexp.
+* src/mkerrcodes.awk, src/mkerrcodes1.awk, src/mkerrcodes2.awk: Ditto.
+
+--
+
+In Gawk 5.0, regexp routines are replaced by Gnulib implementation,
+which only allows escaping specific characters.
+
+GnuPG-bug-id: 4459
+Reported-by: Marius Schamschula
+Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
+---
+ lang/cl/mkerrcodes.awk | 2 +-
+ src/Makefile.am | 2 +-
+ src/mkerrcodes.awk | 2 +-
+ src/mkerrcodes1.awk | 2 +-
+ src/mkerrcodes2.awk | 2 +-
+ src/mkerrnos.awk | 2 +-
+ src/mkstrtable.awk | 10 +++++-----
+ 7 files changed, 11 insertions(+), 11 deletions(-)
+
+--- a/lang/cl/mkerrcodes.awk
++++ b/lang/cl/mkerrcodes.awk
+@@ -122,7 +122,7 @@ header {
+ }
+
+ !header {
+- sub (/\#.+/, "");
++ sub (/#.+/, "");
+ sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
+
+ if (/^$/)
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -293,7 +293,7 @@ code-from-errno.h: mkerrcodes$(EXEEXT_FO
+
+ errnos-sym.h: Makefile mkstrtable.awk errnos.in
+ $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=2 -v nogettext=1 \
+- -v prefix=GPG_ERR_ -v namespace=errnos_ \
++ -v prefix=GPG_ERR_ -v pkg_namespace=errnos_ \
+ $(srcdir)/errnos.in >$@
+
+
+--- a/src/mkerrcodes.awk
++++ b/src/mkerrcodes.awk
+@@ -85,7 +85,7 @@ header {
+ }
+
+ !header {
+- sub (/\#.+/, "");
++ sub (/#.+/, "");
+ sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
+
+ if (/^$/)
+--- a/src/mkerrcodes1.awk
++++ b/src/mkerrcodes1.awk
+@@ -81,7 +81,7 @@ header {
+ }
+
+ !header {
+- sub (/\#.+/, "");
++ sub (/#.+/, "");
+ sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
+
+ if (/^$/)
+--- a/src/mkerrcodes2.awk
++++ b/src/mkerrcodes2.awk
+@@ -91,7 +91,7 @@ header {
+ }
+
+ !header {
+- sub (/\#.+/, "");
++ sub (/#.+/, "");
+ sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
+
+ if (/^$/)
+--- a/src/mkerrnos.awk
++++ b/src/mkerrnos.awk
+@@ -83,7 +83,7 @@ header {
+ }
+
+ !header {
+- sub (/\#.+/, "");
++ sub (/#.+/, "");
+ sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
+
+ if (/^$/)
+--- a/src/mkstrtable.awk
++++ b/src/mkstrtable.awk
+@@ -77,7 +77,7 @@
+ #
+ # The variable prefix can be used to prepend a string to each message.
+ #
+-# The variable namespace can be used to prepend a string to each
++# The variable pkg_namespace can be used to prepend a string to each
+ # variable and macro name.
+
+ BEGIN {
+@@ -102,7 +102,7 @@ header {
+ print "/* The purpose of this complex string table is to produce";
+ print " optimal code with a minimum of relocations. */";
+ print "";
+- print "static const char " namespace "msgstr[] = ";
++ print "static const char " pkg_namespace "msgstr[] = ";
+ header = 0;
+ }
+ else
+@@ -110,7 +110,7 @@ header {
+ }
+
+ !header {
+- sub (/\#.+/, "");
++ sub (/#.+/, "");
+ sub (/[ ]+$/, ""); # Strip trailing space and tab characters.
+
+ if (/^$/)
+@@ -150,7 +150,7 @@ END {
+ else
+ print " gettext_noop (\"" last_msgstr "\");";
+ print "";
+- print "static const int " namespace "msgidx[] =";
++ print "static const int " pkg_namespace "msgidx[] =";
+ print " {";
+ for (i = 0; i < coded_msgs; i++)
+ print " " pos[i] ",";
+@@ -158,7 +158,7 @@ END {
+ print " };";
+ print "";
+ print "static GPG_ERR_INLINE int";
+- print namespace "msgidxof (int code)";
++ print pkg_namespace "msgidxof (int code)";
+ print "{";
+ print " return (0 ? 0";
+
diff --git a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb
index 2db544a12..b11ab0548 100644
--- a/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb
+++ b/poky/meta/recipes-support/libgpg-error/libgpg-error_1.36.bb
@@ -14,6 +14,7 @@ SECTION = "libs"
UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \
file://pkgconfig.patch \
+ file://libgpg-error-1.36-gawk5-support.patch \
"
SRC_URI[md5sum] = "eff437f397e858a9127b76c0d87fa5ed"
diff --git a/poky/meta/recipes-support/libical/libical/0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch b/poky/meta/recipes-support/libical/libical/0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch
deleted file mode 100644
index 6db75f508..000000000
--- a/poky/meta/recipes-support/libical/libical/0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 1a41069c0dc054e59cd76fc3d8cf7cc2a78b5e8d Mon Sep 17 00:00:00 2001
-From: Allen Winter <allen.winter@kdab.com>
-Date: Sat, 3 Sep 2016 16:56:29 -0400
-Subject: [PATCH] CMakeLists.txt, libical.pc.in - fix iculibs (remove full path) ISSUE: 227
-
-Upstream-Status: Backport
-
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
-----
-diff -Naur libical-2.0.0-orig/CMakeLists.txt libical-2.0.0/CMakeLists.txt
---- libical-2.0.0-orig/CMakeLists.txt 2016-09-08 18:05:06.166049345 +0300
-+++ libical-2.0.0/CMakeLists.txt 2016-09-08 18:05:45.201561334 +0300
-@@ -128,6 +128,7 @@
- # RSCALE info at http://tools.ietf.org/html/rfc7529
- find_package(ICU)
- if(ICU_FOUND)
-+ set(ICUUC_LIBS "-licuuc") #for libical.pc
- set(HAVE_LIBICU 1)
- if(ICU_MAJOR_VERSION VERSION_GREATER 50)
- set(HAVE_ICU_DANGI TRUE)
-@@ -137,6 +138,7 @@
- endif()
- if(ICU_I18N_FOUND)
- set(HAVE_LIBICU_I18N 1)
-+ set(ICUI18N_LIBS "-licui18n") #for libical.pc
- endif()
-
- # MSVC specific definitions
-diff -Naur libical-2.0.0-orig/libical.pc.in libical-2.0.0/libical.pc.in
---- libical-2.0.0-orig/libical.pc.in 2015-12-28 23:44:53.000000000 +0200
-+++ libical-2.0.0/libical.pc.in 2016-09-08 18:09:12.991963597 +0300
-@@ -3,10 +3,10 @@
- libdir=@libdir@
- includedir=@includedir@
- threadslib=@PTHREAD_LIBS@
--iculib=@ICU_LIBRARIES@ @ICU_I18N_LIBRARIES@
-+iculibs=@ICUUC_LIBS@ @ICUI18N_LIBS@
-
- Name: libical
- Description: An implementation of basic iCAL protocols
- Version: @VERSION@
--Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculib}
-+Libs: -L${libdir} -lical -licalss -licalvcal ${threadslib} ${iculibs}
- Cflags: -I${includedir}
diff --git a/poky/meta/recipes-support/libical/libical_2.0.0.bb b/poky/meta/recipes-support/libical/libical_2.0.0.bb
deleted file mode 100644
index 7dffdcfb0..000000000
--- a/poky/meta/recipes-support/libical/libical_2.0.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-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.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://0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch \
- "
-DEPENDS = "icu"
-
-SRC_URI[md5sum] = "6bf8e5f5a3ba88baf390d0134e05d76e"
-SRC_URI[sha256sum] = "654c11f759c19237be39f6ad401d917e5a05f36f1736385ed958e60cf21456da"
-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 \
- -e 's,${STAGING_LIBDIR},${libdir},g' \
- ${D}${libdir}/cmake/LibIcal/LibIcalTargets-noconfig.cmake
-}
diff --git a/poky/meta/recipes-support/libical/libical_3.0.6.bb b/poky/meta/recipes-support/libical/libical_3.0.6.bb
new file mode 100644
index 000000000..032f3655e
--- /dev/null
+++ b/poky/meta/recipes-support/libical/libical_3.0.6.bb
@@ -0,0 +1,35 @@
+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-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1910a2a76ddf6a9ba369182494170d87 \
+ file://LICENSE.LGPL21.txt;md5=933adb561f159e7c3da079536f0ed871 \
+ file://LICENSE.MPL2.txt;md5=9741c346eef56131163e13b9db1241b3"
+SECTION = "libs"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "463a59244c6767b8e67b29379405e297"
+SRC_URI[sha256sum] = "5c8a21c2b732ece4a33e5c862970b4f35a8548bbcda50de5695f6fc211ac4d97"
+UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases"
+
+inherit cmake pkgconfig
+
+PACKAGECONFIG ??= "icu"
+PACKAGECONFIG[bdb] = ",-DCMAKE_DISABLE_FIND_PACKAGE_BDB=True,db"
+# ICU is used for RSCALE (RFC7529) support
+PACKAGECONFIG[icu] = ",-DCMAKE_DISABLE_FIND_PACKAGE_ICU=True,icu"
+
+# No need to use perl-native, the host perl is sufficient.
+EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl"
+
+# The glib library can't be cross-compiled, disable for now.
+# https://github.com/libical/libical/issues/394
+EXTRA_OECMAKE += "-DICAL_GLIB=false"
+
+do_install_append_class-target () {
+ # Remove build host references
+ sed -i \
+ -e 's,${STAGING_LIBDIR},${libdir},g' \
+ ${D}${libdir}/cmake/LibIcal/LibIcal*.cmake
+}
diff --git a/poky/meta/recipes-support/libmpc/libmpc_1.1.0.bb b/poky/meta/recipes-support/libmpc/libmpc_1.1.0.bb
index 2d25d388f..bbc673ff3 100644
--- a/poky/meta/recipes-support/libmpc/libmpc_1.1.0.bb
+++ b/poky/meta/recipes-support/libmpc/libmpc_1.1.0.bb
@@ -3,13 +3,11 @@ require libmpc.inc
DEPENDS = "gmp mpfr"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"
-SRC_URI = "https://ftp.gnu.org/gnu/mpc/mpc-${PV}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/mpc/mpc-${PV}.tar.gz"
SRC_URI[md5sum] = "4125404e41e482ec68282a2e687f6c73"
SRC_URI[sha256sum] = "6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e"
-UPSTREAM_CHECK_URI = "http://www.multiprecision.org/mpc/download.html"
-
S = "${WORKDIR}/mpc-${PV}"
BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch b/poky/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
deleted file mode 100644
index b20a29962..000000000
--- a/poky/meta/recipes-support/libnl/libnl/0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Subject: [PATCH] fix libnl-3.4.0 musl compile problem
-Avoid in6_addr redefinition
-
-Upstream-Status: Pending
-
-Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
----
- include/linux-private/linux/if_bridge.h | 1 -
- include/linux-private/linux/ipv6.h | 1 -
- 2 files changed, 2 deletions(-)
-
-diff --git a/include/linux-private/linux/if_bridge.h b/include/linux-private/linux/if_bridge.h
-index f24050b..8f7490c 100644
---- a/include/linux-private/linux/if_bridge.h
-+++ b/include/linux-private/linux/if_bridge.h
-@@ -15,7 +15,6 @@
-
- #include <linux/types.h>
- #include <linux/if_ether.h>
--#include <linux/in6.h>
-
- #define SYSFS_BRIDGE_ATTR "bridge"
- #define SYSFS_BRIDGE_FDB "brforward"
-diff --git a/include/linux-private/linux/ipv6.h b/include/linux-private/linux/ipv6.h
-index e05e684..f16349d 100644
---- a/include/linux-private/linux/ipv6.h
-+++ b/include/linux-private/linux/ipv6.h
-@@ -2,7 +2,6 @@
- #define _IPV6_H
-
- #include <asm/byteorder.h>
--#include <linux/in6.h>
-
- /* The latest drafts declared increase in minimal mtu up to 1280. */
-
---
-2.7.4
-
diff --git a/poky/meta/recipes-support/libnl/libnl/fix-pc-file.patch b/poky/meta/recipes-support/libnl/libnl/fix-pc-file.patch
deleted file mode 100644
index fe8b833a1..000000000
--- a/poky/meta/recipes-support/libnl/libnl/fix-pc-file.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream-Status: Pending
-
-Some packages are asking only for libnl-2.0, but expects to get also
-libnl-genl, libnl-nf libnl-route, easiest way to fix them is here.
-
-Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
-Index: libnl-3.2.14/libnl-3.0.pc.in
-===================================================================
---- libnl-3.2.14.orig/libnl-3.0.pc.in
-+++ libnl-3.2.14/libnl-3.0.pc.in
-@@ -6,5 +6,5 @@ includedir=@includedir@
- Name: libnl
- Description: Convenience library for netlink sockets
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -lnl-@MAJ_VERSION@
-+Libs: -L${libdir} -lnl-@MAJ_VERSION@ -lnl-genl-@MAJ_VERSION@ -lnl-nf-@MAJ_VERSION@ -lnl-route-@MAJ_VERSION@
- Cflags: -I${includedir}/libnl@MAJ_VERSION@
diff --git a/poky/meta/recipes-support/libnl/libnl_3.4.0.bb b/poky/meta/recipes-support/libnl/libnl_3.4.0.bb
deleted file mode 100644
index 90dc644be..000000000
--- a/poky/meta/recipes-support/libnl/libnl_3.4.0.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "A library for applications dealing with netlink sockets"
-HOMEPAGE = "http://www.infradead.org/~tgr/libnl/"
-SECTION = "libs/network"
-
-PE = "1"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "flex-native bison-native"
-
-SRC_URI = "https://github.com/thom311/${BPN}/releases/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz \
- file://fix-pc-file.patch \
- file://0001-PATCH-fix-libnl-3.4.0-musl-compile-problem.patch \
-"
-
-UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases"
-
-SRC_URI[md5sum] = "8f71910c03db363b41e2ea62057a4311"
-SRC_URI[sha256sum] = "b7287637ae71c6db6f89e1422c995f0407ff2fe50cecd61a312b6a9b0921f5bf"
-
-inherit autotools pkgconfig
-
-FILES_${PN} = "${libdir}/libnl-3.so.* \
- ${libdir}/libnl.so.* \
- ${sysconfdir}"
-RREPLACES_${PN} = "libnl2"
-RCONFLICTS_${PN} = "libnl2"
-FILES_${PN}-dev += "${libdir}/libnl/cli/*/*.la"
-FILES_${PN}-staticdev += "${libdir}/libnl/cli/*/*.a"
-
-PACKAGES += "${PN}-cli ${PN}-genl ${PN}-idiag ${PN}-nf ${PN}-route ${PN}-xfrm"
-FILES_${PN}-cli = "${libdir}/libnl-cli-3.so.* \
- ${libdir}/libnl/cli/*/*.so \
- ${bindir}/genl-ctrl-list \
- ${bindir}/idiag-socket-details \
- ${bindir}/nf-* \
- ${bindir}/nl-*"
-FILES_${PN}-genl = "${libdir}/libnl-genl-3.so.* \
- ${libdir}/libnl-genl.so.*"
-FILES_${PN}-idiag = "${libdir}/libnl-idiag-3.so.*"
-FILES_${PN}-nf = "${libdir}/libnl-nf-3.so.*"
-FILES_${PN}-route = "${libdir}/libnl-route-3.so.*"
-FILES_${PN}-xfrm = "${libdir}/libnl-xfrm-3.so.*"
-RREPLACES_${PN}-genl = "libnl-genl2"
-RCONFLICTS_${PN}-genl = "libnl-genl2"
diff --git a/poky/meta/recipes-support/libnl/libnl_3.5.0.bb b/poky/meta/recipes-support/libnl/libnl_3.5.0.bb
new file mode 100644
index 000000000..c0609c4d9
--- /dev/null
+++ b/poky/meta/recipes-support/libnl/libnl_3.5.0.bb
@@ -0,0 +1,42 @@
+SUMMARY = "A library for applications dealing with netlink sockets"
+HOMEPAGE = "http://www.infradead.org/~tgr/libnl/"
+SECTION = "libs/network"
+
+PE = "1"
+
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "flex-native bison-native"
+
+SRC_URI = "https://github.com/thom311/${BPN}/releases/download/${BPN}${@d.getVar('PV').replace('.','_')}/${BP}.tar.gz"
+SRC_URI[md5sum] = "74ba57b1b1d6f9f92268aa8141d8e8e4"
+SRC_URI[sha256sum] = "352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa"
+
+UPSTREAM_CHECK_URI = "https://github.com/thom311/${BPN}/releases"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${libdir}/libnl-3.so.* \
+ ${libdir}/libnl.so.* \
+ ${sysconfdir}"
+RREPLACES_${PN} = "libnl2"
+RCONFLICTS_${PN} = "libnl2"
+FILES_${PN}-dev += "${libdir}/libnl/cli/*/*.la"
+FILES_${PN}-staticdev += "${libdir}/libnl/cli/*/*.a"
+
+PACKAGES += "${PN}-cli ${PN}-genl ${PN}-idiag ${PN}-nf ${PN}-route ${PN}-xfrm"
+FILES_${PN}-cli = "${libdir}/libnl-cli-3.so.* \
+ ${libdir}/libnl/cli/*/*.so \
+ ${bindir}/genl-ctrl-list \
+ ${bindir}/idiag-socket-details \
+ ${bindir}/nf-* \
+ ${bindir}/nl-*"
+FILES_${PN}-genl = "${libdir}/libnl-genl-3.so.* \
+ ${libdir}/libnl-genl.so.*"
+FILES_${PN}-idiag = "${libdir}/libnl-idiag-3.so.*"
+FILES_${PN}-nf = "${libdir}/libnl-nf-3.so.*"
+FILES_${PN}-route = "${libdir}/libnl-route-3.so.*"
+FILES_${PN}-xfrm = "${libdir}/libnl-xfrm-3.so.*"
+RREPLACES_${PN}-genl = "libnl-genl2"
+RCONFLICTS_${PN}-genl = "libnl-genl2"
diff --git a/poky/meta/recipes-support/libpsl/libpsl/0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch b/poky/meta/recipes-support/libpsl/libpsl/0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch
new file mode 100644
index 000000000..6d6ccf4d2
--- /dev/null
+++ b/poky/meta/recipes-support/libpsl/libpsl/0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch
@@ -0,0 +1,50 @@
+From a0e6f0ec9dc6dd1db1c03f7f273cc16cb3af5561 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Thu, 11 Jul 2019 17:47:11 +0100
+Subject: [PATCH] Makefile.am: use PYTHON when invoking psl-make-dafsa
+
+In an environment where only Python 3 is installed, configure.ac finds and sets
+PYTHON=python3 correctly but src/psl-make-dafsa is called directly, so the hashbang of
+`#!/usr/bin/env python` is used which doesn't exist.
+
+Fix this by explicitly running $(PYTHON) when using the tool.
+
+Upstream-Status: Backport [https://github.com/rockdaboot/libpsl/commit/b4fec5d0ddb70fc4f5360eb14f2f5c5e91194333]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ src/Makefile.am | 2 +-
+ tests/Makefile.am | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index f9c0a3d..a05ea05 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -19,7 +19,7 @@ libpsl_la_LDFLAGS = -no-undefined -version-info $(LIBPSL_SO_VERSION)
+ # Build rule for suffix_dafsa.c
+ # PSL_FILE can be set by ./configure --with-psl-file=[PATH]
+ suffixes_dafsa.h: $(PSL_FILE) $(srcdir)/psl-make-dafsa
+- $(srcdir)/psl-make-dafsa --output-format=cxx+ "$(PSL_FILE)" suffixes_dafsa.h
++ $(PYTHON) $(srcdir)/psl-make-dafsa --output-format=cxx+ "$(PSL_FILE)" suffixes_dafsa.h
+
+ EXTRA_DIST = psl-make-dafsa LICENSE.chromium
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index 8b29b61..28a9a0b 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -34,9 +34,9 @@ TESTS = $(PSL_TESTS)
+ # check-local target works in parallel to the tests, so the test suite will likely fail
+ BUILT_SOURCES = psl.dafsa psl_ascii.dafsa
+ psl.dafsa: $(top_srcdir)/list/public_suffix_list.dat
+- $(top_srcdir)/src/psl-make-dafsa --output-format=binary "$(PSL_FILE)" psl.dafsa
++ $(PYTHON) $(top_srcdir)/src/psl-make-dafsa --output-format=binary "$(PSL_FILE)" psl.dafsa
+ psl_ascii.dafsa: $(top_srcdir)/list/public_suffix_list.dat
+- $(top_srcdir)/src/psl-make-dafsa --output-format=binary --encoding=ascii "$(PSL_FILE)" psl_ascii.dafsa
++ $(PYTHON) $(top_srcdir)/src/psl-make-dafsa --output-format=binary --encoding=ascii "$(PSL_FILE)" psl_ascii.dafsa
+
+ clean-local:
+ rm -f psl.dafsa psl_ascii.dafsa
+--
+2.17.1
+
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
index 2331a766a..c78d6fd98 100644
--- 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
@@ -5,7 +5,7 @@ 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]
+Upstream-Status: Backport [87d1add318b5e5d09977f7f374e923577b6ff3be]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
docs/libpsl/libpsl-docs.sgml | 4 ----
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 fc2417fc2..9831b4b94 100644
--- a/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb
+++ b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb
@@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5437030d9e4fbe7267ced058ddb8a7f5 \
SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz \
file://0001-gtk-doc-do-not-include-tree_index.sgml.patch \
+ file://0001-Makefile.am-use-PYTHON-when-invoking-psl-make-dafsa.patch \
"
SRC_URI[md5sum] = "171e96d887709e36a57f4ee627bf82d2"
SRC_URI[sha256sum] = "41bd1c75a375b85c337b59783f5deb93dbb443fb0a52d257f403df7bd653ee12"
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb
index c4715a041..357f2fd3d 100644
--- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb
@@ -36,3 +36,5 @@ DEBIAN_NOAUTONAME_${PN} = "1"
# glib-networking is needed for SSL, proxies, etc.
RRECOMMENDS_${PN} = "glib-networking"
+
+BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-support/libunwind/libunwind.inc b/poky/meta/recipes-support/libunwind/libunwind.inc
index 36851d07e..76a1bf624 100644
--- a/poky/meta/recipes-support/libunwind/libunwind.inc
+++ b/poky/meta/recipes-support/libunwind/libunwind.inc
@@ -2,7 +2,7 @@ SUMMARY = "Library for obtaining the call-chain of a program"
DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program"
HOMEPAGE = "http://www.nongnu.org/libunwind"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;beginline=3;md5=3fced11d6df719b47505837a51c16ae5"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d80c8ed4062b8339b715f90fa68cc9f"
DEPENDS += "libatomic-ops"
inherit autotools multilib_header
@@ -12,6 +12,7 @@ PACKAGECONFIG[lzma] = "--enable-minidebuginfo,--disable-minidebuginfo,xz"
PACKAGECONFIG[latexdocs] = "--enable-documentation, --disable-documentation, latex2man-native"
EXTRA_OECONF_arm = "--enable-debug-frame"
+EXTRA_OECONF_armeb = "--enable-debug-frame"
EXTRA_OECONF_aarch64 = "--enable-debug-frame"
do_install_append () {
diff --git a/poky/meta/recipes-support/libxslt/files/CVE-2019-13117.patch b/poky/meta/recipes-support/libxslt/files/CVE-2019-13117.patch
new file mode 100644
index 000000000..ef3f2709f
--- /dev/null
+++ b/poky/meta/recipes-support/libxslt/files/CVE-2019-13117.patch
@@ -0,0 +1,33 @@
+From c5eb6cf3aba0af048596106ed839b4ae17ecbcb1 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Sat, 27 Apr 2019 11:19:48 +0200
+Subject: [PATCH] Fix uninitialized read of xsl:number token
+
+Found by OSS-Fuzz.
+
+CVE: CVE-2019-13117
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxslt/commit/c5eb6cf3aba0af048596106ed839b4ae17ecbcb1]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ libxslt/numbers.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/libxslt/numbers.c b/libxslt/numbers.c
+index 89e1f668..75c31eba 100644
+--- a/libxslt/numbers.c
++++ b/libxslt/numbers.c
+@@ -382,7 +382,10 @@ xsltNumberFormatTokenize(const xmlChar *format,
+ tokens->tokens[tokens->nTokens].token = val - 1;
+ ix += len;
+ val = xmlStringCurrentChar(NULL, format+ix, &len);
+- }
++ } else {
++ tokens->tokens[tokens->nTokens].token = (xmlChar)'0';
++ tokens->tokens[tokens->nTokens].width = 1;
++ }
+ } else if ( (val == (xmlChar)'A') ||
+ (val == (xmlChar)'a') ||
+ (val == (xmlChar)'I') ||
+--
+2.21.0
+
diff --git a/poky/meta/recipes-support/libxslt/files/CVE-2019-13118.patch b/poky/meta/recipes-support/libxslt/files/CVE-2019-13118.patch
new file mode 100644
index 000000000..595e6c2f3
--- /dev/null
+++ b/poky/meta/recipes-support/libxslt/files/CVE-2019-13118.patch
@@ -0,0 +1,76 @@
+From 6ce8de69330783977dd14f6569419489875fb71b Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Mon, 3 Jun 2019 13:14:45 +0200
+Subject: [PATCH] Fix uninitialized read with UTF-8 grouping chars
+
+The character type in xsltFormatNumberConversion was too narrow and
+an invalid character/length combination could be passed to
+xsltNumberFormatDecimal, resulting in an uninitialized read.
+
+Found by OSS-Fuzz.
+
+CVE: CVE-2019-13118
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxslt/commit/6ce8de69330783977dd14f6569419489875fb71b]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+---
+ libxslt/numbers.c | 5 +++--
+ tests/docs/bug-222.xml | 1 +
+ tests/general/bug-222.out | 2 ++
+ tests/general/bug-222.xsl | 6 ++++++
+ 4 files changed, 12 insertions(+), 2 deletions(-)
+ create mode 100644 tests/docs/bug-222.xml
+ create mode 100644 tests/general/bug-222.out
+ create mode 100644 tests/general/bug-222.xsl
+
+diff --git a/libxslt/numbers.c b/libxslt/numbers.c
+index f1ed8846..20b99d5a 100644
+--- a/libxslt/numbers.c
++++ b/libxslt/numbers.c
+@@ -1298,13 +1298,14 @@ OUTPUT_NUMBER:
+ number = floor((scale * number + 0.5)) / scale;
+ if ((self->grouping != NULL) &&
+ (self->grouping[0] != 0)) {
++ int gchar;
+
+ len = xmlStrlen(self->grouping);
+- pchar = xsltGetUTF8Char(self->grouping, &len);
++ gchar = xsltGetUTF8Char(self->grouping, &len);
+ xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0],
+ format_info.integer_digits,
+ format_info.group,
+- pchar, len);
++ gchar, len);
+ } else
+ xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0],
+ format_info.integer_digits,
+diff --git a/tests/docs/bug-222.xml b/tests/docs/bug-222.xml
+new file mode 100644
+index 00000000..69d62f2c
+--- /dev/null
++++ b/tests/docs/bug-222.xml
+@@ -0,0 +1 @@
++<doc/>
+diff --git a/tests/general/bug-222.out b/tests/general/bug-222.out
+new file mode 100644
+index 00000000..e3139698
+--- /dev/null
++++ b/tests/general/bug-222.out
+@@ -0,0 +1,2 @@
++<?xml version="1.0"?>
++1â ¢0
+diff --git a/tests/general/bug-222.xsl b/tests/general/bug-222.xsl
+new file mode 100644
+index 00000000..e32dc473
+--- /dev/null
++++ b/tests/general/bug-222.xsl
+@@ -0,0 +1,6 @@
++<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
++ <xsl:decimal-format name="f" grouping-separator="â ¢"/>
++ <xsl:template match="/">
++ <xsl:value-of select="format-number(10,'#â ¢0','f')"/>
++ </xsl:template>
++</xsl:stylesheet>
+--
+2.21.0
+
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 6320a821d..abc00a09e 100644
--- a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb
+++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb
@@ -10,6 +10,8 @@ DEPENDS = "libxml2"
SRC_URI = "http://xmlsoft.org/sources/libxslt-${PV}.tar.gz \
file://0001-Fix-security-framework-bypass.patch \
+ file://CVE-2019-13117.patch \
+ file://CVE-2019-13118.patch \
"
SRC_URI[md5sum] = "b3bd254a03e46d58f8ad1e4559cd2c2f"
diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.1.bb b/poky/meta/recipes-support/lz4/lz4_1.9.1.bb
deleted file mode 100644
index de1f97024..000000000
--- a/poky/meta/recipes-support/lz4/lz4_1.9.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Extremely Fast Compression algorithm"
-DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems."
-
-LICENSE = "BSD | BSD-2-Clause | GPL-2.0"
-LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \
- file://programs/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://LICENSE;md5=d57c0d21cb917fb4e0af2454aa48b956 \
- "
-
-PE = "1"
-
-SRCREV = "398e36c756a3067de8e2b35dd380baef040dfe0d"
-
-SRC_URI = "git://github.com/lz4/lz4.git \
- file://run-ptest \
- "
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}"
-
-do_install() {
- oe_runmake install
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.2.bb b/poky/meta/recipes-support/lz4/lz4_1.9.2.bb
new file mode 100644
index 000000000..f0a8416a9
--- /dev/null
+++ b/poky/meta/recipes-support/lz4/lz4_1.9.2.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Extremely Fast Compression algorithm"
+DESCRIPTION = "LZ4 is a very fast lossless compression algorithm, providing compression speed at 400 MB/s per core, scalable with multi-cores CPU. It also features an extremely fast decoder, with speed in multiple GB/s per core, typically reaching RAM speed limits on multi-core systems."
+
+LICENSE = "BSD | BSD-2-Clause | GPL-2.0"
+LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \
+ file://programs/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE;md5=d57c0d21cb917fb4e0af2454aa48b956 \
+ "
+
+PE = "1"
+
+SRCREV = "fdf2ef5809ca875c454510610764d9125ef2ebbd"
+
+SRC_URI = "git://github.com/lz4/lz4.git \
+ file://run-ptest \
+ "
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}"
+
+do_install() {
+ oe_runmake install
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/nettle/nettle-3.4.1/Add-target-to-only-build-tests-not-run-them.patch b/poky/meta/recipes-support/nettle/nettle-3.5.1/Add-target-to-only-build-tests-not-run-them.patch
index c007060ee..c007060ee 100644
--- a/poky/meta/recipes-support/nettle/nettle-3.4.1/Add-target-to-only-build-tests-not-run-them.patch
+++ b/poky/meta/recipes-support/nettle/nettle-3.5.1/Add-target-to-only-build-tests-not-run-them.patch
diff --git a/poky/meta/recipes-support/nettle/nettle-3.4.1/check-header-files-of-openssl-only-if-enable_.patch b/poky/meta/recipes-support/nettle/nettle-3.5.1/check-header-files-of-openssl-only-if-enable_.patch
index d5f266681..d5f266681 100644
--- a/poky/meta/recipes-support/nettle/nettle-3.4.1/check-header-files-of-openssl-only-if-enable_.patch
+++ b/poky/meta/recipes-support/nettle/nettle-3.5.1/check-header-files-of-openssl-only-if-enable_.patch
diff --git a/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch b/poky/meta/recipes-support/nettle/nettle-3.5.1/dlopen-test.patch
index fea577420..fea577420 100644
--- a/poky/meta/recipes-support/nettle/nettle-3.4.1/dlopen-test.patch
+++ b/poky/meta/recipes-support/nettle/nettle-3.5.1/dlopen-test.patch
diff --git a/poky/meta/recipes-support/nettle/nettle-3.4.1/run-ptest b/poky/meta/recipes-support/nettle/nettle-3.5.1/run-ptest
index b90bed66d..b90bed66d 100644
--- a/poky/meta/recipes-support/nettle/nettle-3.4.1/run-ptest
+++ b/poky/meta/recipes-support/nettle/nettle-3.5.1/run-ptest
diff --git a/poky/meta/recipes-support/nettle/nettle_3.4.1.bb b/poky/meta/recipes-support/nettle/nettle_3.4.1.bb
deleted file mode 100644
index cd8024f79..000000000
--- a/poky/meta/recipes-support/nettle/nettle_3.4.1.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "A low level cryptographic library"
-HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/"
-SECTION = "libs"
-LICENSE = "LGPLv3+ | GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
- file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \
- file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e"
-
-DEPENDS += "gmp"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
- file://Add-target-to-only-build-tests-not-run-them.patch \
- file://run-ptest \
- file://check-header-files-of-openssl-only-if-enable_.patch \
- "
-
-SRC_URI_append_class-target = "\
- file://dlopen-test.patch \
- "
-
-SRC_URI[md5sum] = "9bdebb0e2f638d3b9d91f7fc264b70c1"
-SRC_URI[sha256sum] = "f941cf1535cd5d1819be5ccae5babef01f6db611f9b5a777bae9c7604b8a92ad"
-
-UPSTREAM_CHECK_REGEX = "nettle-(?P<pver>\d+(\.\d+)+)\.tar"
-
-inherit autotools ptest multilib_header
-
-EXTRA_AUTORECONF += "--exclude=aclocal"
-
-EXTRA_OECONF = "--disable-openssl"
-CFLAGS_append = " -std=gnu99"
-
-do_compile_ptest() {
- oe_runmake buildtest
-}
-
-do_install_append() {
- oe_multilib_header nettle/nettle-stdint.h nettle/version.h
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/testsuite/
- install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/
- install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
- # tools can be found in PATH, not in ../tools/
- sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test
- install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
-}
-
-RDEPENDS_${PN}-ptest += "${PN}-dev"
-INSANE_SKIP_${PN}-ptest += "dev-deps"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/nettle/nettle_3.5.1.bb b/poky/meta/recipes-support/nettle/nettle_3.5.1.bb
new file mode 100644
index 000000000..d92db0ef9
--- /dev/null
+++ b/poky/meta/recipes-support/nettle/nettle_3.5.1.bb
@@ -0,0 +1,55 @@
+SUMMARY = "A low level cryptographic library"
+HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/"
+SECTION = "libs"
+LICENSE = "LGPLv3+ | GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
+ file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \
+ file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e"
+
+DEPENDS += "gmp"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://Add-target-to-only-build-tests-not-run-them.patch \
+ file://run-ptest \
+ file://check-header-files-of-openssl-only-if-enable_.patch \
+ "
+
+SRC_URI_append_class-target = "\
+ file://dlopen-test.patch \
+ "
+
+SRC_URI[md5sum] = "0e5707b418c3826768d41130fbe4ee86"
+SRC_URI[sha256sum] = "75cca1998761b02e16f2db56da52992aef622bf55a3b45ec538bc2eedadc9419"
+
+UPSTREAM_CHECK_REGEX = "nettle-(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit autotools ptest multilib_header
+
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
+EXTRA_OECONF = "--disable-openssl"
+CFLAGS_append = " -std=gnu99"
+
+do_compile_ptest() {
+ oe_runmake buildtest
+}
+
+do_install_append() {
+ oe_multilib_header nettle/version.h
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/testsuite/
+ install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/
+ install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
+ # tools can be found in PATH, not in ../tools/
+ sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test
+ install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
+}
+
+RDEPENDS_${PN}-ptest += "${PN}-dev"
+INSANE_SKIP_${PN}-ptest += "dev-deps"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/nss/nss_3.44.bb b/poky/meta/recipes-support/nss/nss_3.44.bb
deleted file mode 100644
index 4205d7948..000000000
--- a/poky/meta/recipes-support/nss/nss_3.44.bb
+++ /dev/null
@@ -1,267 +0,0 @@
-SUMMARY = "Mozilla's SSL and TLS implementation"
-DESCRIPTION = "Network Security Services (NSS) is a set of libraries \
-designed to support cross-platform development of \
-security-enabled client and server applications. \
-Applications built with NSS can support SSL v2 and v3, \
-TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \
-v3 certificates, and other security standards."
-HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/"
-SECTION = "libs"
-
-DEPENDS = "sqlite3 nspr zlib nss-native"
-DEPENDS_class-native = "sqlite3-native nspr-native zlib-native"
-
-LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)"
-
-LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \
- file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \
- file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132"
-
-VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}"
-
-SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \
- file://nss.pc.in \
- file://signlibs.sh \
- file://0001-nss-fix-support-cross-compiling.patch \
- file://nss-no-rpath-for-cross-compiling.patch \
- file://nss-fix-incorrect-shebang-of-perl.patch \
- file://nss-fix-nsinstall-build.patch \
- file://disable-Wvarargs-with-clang.patch \
- file://pqg.c-ULL_addend.patch \
- file://blank-cert9.db \
- file://blank-key4.db \
- file://system-pkcs11.txt \
- "
-
-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"
-
-inherit siteinfo
-
-TD = "${S}/tentative-dist"
-TDS = "${S}/tentative-dist-staging"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_configure_prepend_libc-musl () {
- sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk
-}
-
-do_compile_prepend_class-native() {
- export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}
- export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE}
- export NSS_ENABLE_WERROR=0
-}
-
-do_compile_prepend_class-nativesdk() {
- export LDFLAGS=""
-}
-
-do_compile_prepend_class-native() {
- # Need to set RPATH so that chrpath will do its job correctly
- RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}"
-}
-
-do_compile() {
- export CROSS_COMPILE=1
- export NATIVE_CC="${BUILD_CC}"
- export NATIVE_FLAGS="${BUILD_CFLAGS}"
- export BUILD_OPT=1
-
- export FREEBL_NO_DEPEND=1
- export FREEBL_LOWHASH=1
-
- export LIBDIR=${libdir}
- export MOZILLA_CLIENT=1
- export NS_USE_GCC=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSS_ENABLE_ECC=1
-
- export OS_RELEASE=3.4
- export OS_TARGET=Linux
- export OS_ARCH=Linux
-
- if [ "${TARGET_ARCH}" = "powerpc" ]; then
- OS_TEST=ppc
- elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
- OS_TEST=ppc64
- elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
- OS_TEST=mips
- elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then
- OS_TEST="aarch64"
- else
- OS_TEST="${TARGET_ARCH}"
- fi
-
- if [ "${SITEINFO_BITS}" = "64" ]; then
- export USE_64=1
- elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then
- export USE_X32=1
- fi
-
- export NSS_DISABLE_GTESTS=1
-
- # We can modify CC in the environment, but if we set it via an
- # argument to make, nsinstall, a host program, will also build with it!
- #
- # nss pretty much does its own thing with CFLAGS, so we put them into CC.
- # Optimization will get clobbered, but most of the stuff will survive.
- # The motivation for this is to point to the correct place for debug
- # source files and CFLAGS does that. Nothing uses CCC.
- #
- export CC="${CC} ${CFLAGS}"
- make -C ./nss CCC="${CXX} -g" \
- OS_TEST=${OS_TEST} \
- RPATH="${RPATH}"
-}
-
-do_compile[vardepsexclude] += "SITEINFO_BITS"
-
-do_install_prepend_class-nativesdk() {
- export LDFLAGS=""
-}
-
-do_install() {
- export CROSS_COMPILE=1
- export NATIVE_CC="${BUILD_CC}"
- export BUILD_OPT=1
-
- export FREEBL_NO_DEPEND=1
-
- export LIBDIR=${libdir}
- export MOZILLA_CLIENT=1
- export NS_USE_GCC=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSS_ENABLE_ECC=1
-
- export OS_RELEASE=3.4
- export OS_TARGET=Linux
- export OS_ARCH=Linux
-
- if [ "${TARGET_ARCH}" = "powerpc" ]; then
- OS_TEST=ppc
- elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
- OS_TEST=ppc64
- elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
- OS_TEST=mips
- elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then
- CPU_ARCH=aarch64
- OS_TEST="aarch64"
- else
- OS_TEST="${TARGET_ARCH}"
- fi
- if [ "${SITEINFO_BITS}" = "64" ]; then
- export USE_64=1
- elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then
- export USE_X32=1
- fi
-
- export NSS_DISABLE_GTESTS=1
-
- make -C ./nss \
- CCC="${CXX}" \
- OS_TEST=${OS_TEST} \
- SOURCE_LIB_DIR="${TD}/${libdir}" \
- SOURCE_BIN_DIR="${TD}/${bindir}" \
- install
-
- install -d ${D}/${libdir}/
- for file in ${S}/dist/*.OBJ/lib/*.so; do
- echo "Installing `basename $file`..."
- cp $file ${D}/${libdir}/
- done
-
- for shared_lib in ${TD}/${libdir}/*.so.*; do
- if [ -f $shared_lib ]; then
- cp $shared_lib ${D}/${libdir}
- ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe)
- fi
- done
- for shared_lib in ${TD}/${libdir}/*.so; do
- if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then
- cp $shared_lib ${D}/${libdir}
- fi
- done
-
- install -d ${D}/${includedir}/nss3
- install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/*
-
- install -d ${D}/${bindir}
- for binary in ${TD}/${bindir}/*; do
- install -m 755 -t ${D}/${bindir} $binary
- done
-}
-
-do_install[vardepsexclude] += "SITEINFO_BITS"
-
-do_install_append() {
- # Create empty .chk files for the NSS libraries at build time. They could
- # be regenerated at target's boot time.
- for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do
- touch ${D}/${libdir}/$file
- chmod 755 ${D}/${libdir}/$file
- done
- install -D -m 755 ${WORKDIR}/signlibs.sh ${D}/${bindir}/signlibs.sh
-
- install -d ${D}${libdir}/pkgconfig/
- sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc
- sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc
- sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc
- sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc
- sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc
-}
-
-do_install_append_class-target() {
- # It used to call certutil to create a blank certificate with empty password at
- # build time, but the checksum of key4.db changes every time when certutil is called.
- # It causes non-determinism issue, so provide databases with a blank certificate
- # which are originally from output of nss in qemux86-64 build. You can get these
- # databases by:
- # certutil -N -d sql:/database/path/ --empty-password
- install -d ${D}${sysconfdir}/pki/nssdb/
- install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db
- install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db
- install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt
-}
-
-PACKAGE_WRITE_DEPS += "nss-native"
-pkg_postinst_${PN} () {
- if [ -n "$D" ]; then
- for I in $D${libdir}/lib*.chk; do
- DN=`dirname $I`
- BN=`basename $I .chk`
- FN=$DN/$BN.so
- shlibsign -i $FN
- if [ $? -ne 0 ]; then
- exit 1
- fi
- done
- else
- signlibs.sh
- fi
-}
-
-PACKAGES =+ "${PN}-smime"
-FILES_${PN}-smime = "\
- ${bindir}/smime \
-"
-
-FILES_${PN} = "\
- ${sysconfdir} \
- ${bindir} \
- ${libdir}/lib*.chk \
- ${libdir}/lib*.so \
- "
-
-FILES_${PN}-dev = "\
- ${libdir}/nss \
- ${libdir}/pkgconfig/* \
- ${includedir}/* \
- "
-
-RDEPENDS_${PN}-smime = "perl"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/nss/nss_3.45.bb b/poky/meta/recipes-support/nss/nss_3.45.bb
new file mode 100644
index 000000000..e89e7d69d
--- /dev/null
+++ b/poky/meta/recipes-support/nss/nss_3.45.bb
@@ -0,0 +1,267 @@
+SUMMARY = "Mozilla's SSL and TLS implementation"
+DESCRIPTION = "Network Security Services (NSS) is a set of libraries \
+designed to support cross-platform development of \
+security-enabled client and server applications. \
+Applications built with NSS can support SSL v2 and v3, \
+TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \
+v3 certificates, and other security standards."
+HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/"
+SECTION = "libs"
+
+DEPENDS = "sqlite3 nspr zlib nss-native"
+DEPENDS_class-native = "sqlite3-native nspr-native zlib-native"
+
+LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)"
+
+LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \
+ file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \
+ file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132"
+
+VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}"
+
+SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \
+ file://nss.pc.in \
+ file://signlibs.sh \
+ file://0001-nss-fix-support-cross-compiling.patch \
+ file://nss-no-rpath-for-cross-compiling.patch \
+ file://nss-fix-incorrect-shebang-of-perl.patch \
+ file://nss-fix-nsinstall-build.patch \
+ file://disable-Wvarargs-with-clang.patch \
+ file://pqg.c-ULL_addend.patch \
+ file://blank-cert9.db \
+ file://blank-key4.db \
+ file://system-pkcs11.txt \
+ "
+
+SRC_URI[md5sum] = "f1752d7223ee9d910d551e57264bafa8"
+SRC_URI[sha256sum] = "112f05223d1fde902c170966bfc6f011b24a838be16969b110ecf2bb7bc24e8b"
+
+UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
+UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes"
+
+inherit siteinfo
+
+TD = "${S}/tentative-dist"
+TDS = "${S}/tentative-dist-staging"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_configure_prepend_libc-musl () {
+ sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk
+}
+
+do_compile_prepend_class-native() {
+ export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}
+ export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE}
+ export NSS_ENABLE_WERROR=0
+}
+
+do_compile_prepend_class-nativesdk() {
+ export LDFLAGS=""
+}
+
+do_compile_prepend_class-native() {
+ # Need to set RPATH so that chrpath will do its job correctly
+ RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}"
+}
+
+do_compile() {
+ export CROSS_COMPILE=1
+ export NATIVE_CC="${BUILD_CC}"
+ export NATIVE_FLAGS="${BUILD_CFLAGS}"
+ export BUILD_OPT=1
+
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+
+ export LIBDIR=${libdir}
+ export MOZILLA_CLIENT=1
+ export NS_USE_GCC=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSS_ENABLE_ECC=1
+
+ export OS_RELEASE=3.4
+ export OS_TARGET=Linux
+ export OS_ARCH=Linux
+
+ if [ "${TARGET_ARCH}" = "powerpc" ]; then
+ OS_TEST=ppc
+ elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
+ OS_TEST=ppc64
+ elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
+ OS_TEST=mips
+ elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then
+ OS_TEST="aarch64"
+ else
+ OS_TEST="${TARGET_ARCH}"
+ fi
+
+ if [ "${SITEINFO_BITS}" = "64" ]; then
+ export USE_64=1
+ elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then
+ export USE_X32=1
+ fi
+
+ export NSS_DISABLE_GTESTS=1
+
+ # We can modify CC in the environment, but if we set it via an
+ # argument to make, nsinstall, a host program, will also build with it!
+ #
+ # nss pretty much does its own thing with CFLAGS, so we put them into CC.
+ # Optimization will get clobbered, but most of the stuff will survive.
+ # The motivation for this is to point to the correct place for debug
+ # source files and CFLAGS does that. Nothing uses CCC.
+ #
+ export CC="${CC} ${CFLAGS}"
+ make -C ./nss CCC="${CXX} -g" \
+ OS_TEST=${OS_TEST} \
+ RPATH="${RPATH}"
+}
+
+do_compile[vardepsexclude] += "SITEINFO_BITS"
+
+do_install_prepend_class-nativesdk() {
+ export LDFLAGS=""
+}
+
+do_install() {
+ export CROSS_COMPILE=1
+ export NATIVE_CC="${BUILD_CC}"
+ export BUILD_OPT=1
+
+ export FREEBL_NO_DEPEND=1
+
+ export LIBDIR=${libdir}
+ export MOZILLA_CLIENT=1
+ export NS_USE_GCC=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSS_ENABLE_ECC=1
+
+ export OS_RELEASE=3.4
+ export OS_TARGET=Linux
+ export OS_ARCH=Linux
+
+ if [ "${TARGET_ARCH}" = "powerpc" ]; then
+ OS_TEST=ppc
+ elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
+ OS_TEST=ppc64
+ elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
+ OS_TEST=mips
+ elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then
+ CPU_ARCH=aarch64
+ OS_TEST="aarch64"
+ else
+ OS_TEST="${TARGET_ARCH}"
+ fi
+ if [ "${SITEINFO_BITS}" = "64" ]; then
+ export USE_64=1
+ elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then
+ export USE_X32=1
+ fi
+
+ export NSS_DISABLE_GTESTS=1
+
+ make -C ./nss \
+ CCC="${CXX}" \
+ OS_TEST=${OS_TEST} \
+ SOURCE_LIB_DIR="${TD}/${libdir}" \
+ SOURCE_BIN_DIR="${TD}/${bindir}" \
+ install
+
+ install -d ${D}/${libdir}/
+ for file in ${S}/dist/*.OBJ/lib/*.so; do
+ echo "Installing `basename $file`..."
+ cp $file ${D}/${libdir}/
+ done
+
+ for shared_lib in ${TD}/${libdir}/*.so.*; do
+ if [ -f $shared_lib ]; then
+ cp $shared_lib ${D}/${libdir}
+ ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe)
+ fi
+ done
+ for shared_lib in ${TD}/${libdir}/*.so; do
+ if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then
+ cp $shared_lib ${D}/${libdir}
+ fi
+ done
+
+ install -d ${D}/${includedir}/nss3
+ install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/*
+
+ install -d ${D}/${bindir}
+ for binary in ${TD}/${bindir}/*; do
+ install -m 755 -t ${D}/${bindir} $binary
+ done
+}
+
+do_install[vardepsexclude] += "SITEINFO_BITS"
+
+do_install_append() {
+ # Create empty .chk files for the NSS libraries at build time. They could
+ # be regenerated at target's boot time.
+ for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do
+ touch ${D}/${libdir}/$file
+ chmod 755 ${D}/${libdir}/$file
+ done
+ install -D -m 755 ${WORKDIR}/signlibs.sh ${D}/${bindir}/signlibs.sh
+
+ install -d ${D}${libdir}/pkgconfig/
+ sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc
+}
+
+do_install_append_class-target() {
+ # It used to call certutil to create a blank certificate with empty password at
+ # build time, but the checksum of key4.db changes every time when certutil is called.
+ # It causes non-determinism issue, so provide databases with a blank certificate
+ # which are originally from output of nss in qemux86-64 build. You can get these
+ # databases by:
+ # certutil -N -d sql:/database/path/ --empty-password
+ install -d ${D}${sysconfdir}/pki/nssdb/
+ install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db
+ install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db
+ install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt
+}
+
+PACKAGE_WRITE_DEPS += "nss-native"
+pkg_postinst_${PN} () {
+ if [ -n "$D" ]; then
+ for I in $D${libdir}/lib*.chk; do
+ DN=`dirname $I`
+ BN=`basename $I .chk`
+ FN=$DN/$BN.so
+ shlibsign -i $FN
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+ done
+ else
+ signlibs.sh
+ fi
+}
+
+PACKAGES =+ "${PN}-smime"
+FILES_${PN}-smime = "\
+ ${bindir}/smime \
+"
+
+FILES_${PN} = "\
+ ${sysconfdir} \
+ ${bindir} \
+ ${libdir}/lib*.chk \
+ ${libdir}/lib*.so \
+ "
+
+FILES_${PN}-dev = "\
+ ${libdir}/nss \
+ ${libdir}/pkgconfig/* \
+ ${includedir}/* \
+ "
+
+RDEPENDS_${PN}-smime = "perl"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch
deleted file mode 100644
index c9a9dd7cf..000000000
--- a/poky/meta/recipes-support/ptest-runner/ptest-runner/0001-utils-Ensure-stdout-stderr-are-flushed.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 9b36993794c1de733c521b2477370c874c07b617 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Thu, 4 Apr 2019 14:18:55 +0100
-Subject: [PATCH 1/3] utils: Ensure stdout/stderr are flushed
-
-There is no guarantee that the data written with fwrite will be flushed to the
-buffer. If stdout and stderr are the same thing, this could lead to interleaved
-writes. The common case is stdout output so flush the output pipes when writing to
-stderr. Also flush stdout before the function returns.
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upstream-Status: Pending [code being tested]
----
- utils.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/utils.c b/utils.c
-index 504df0b..3ceb342 100644
---- a/utils.c
-+++ b/utils.c
-@@ -295,8 +295,11 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid,
- }
-
- if (pfds[1].revents != 0) {
-- while ((n = read(fds[1], buf, WAIT_CHILD_BUF_MAX_SIZE)) > 0)
-+ while ((n = read(fds[1], buf, WAIT_CHILD_BUF_MAX_SIZE)) > 0) {
-+ fflush(fps[0]);
- fwrite(buf, n, 1, fps[1]);
-+ fflush(fps[1]);
-+ }
- }
-
- clock_gettime(clock, &sentinel);
-@@ -315,7 +318,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid,
- break;
- }
-
--
-+ fflush(fps[0]);
- return status;
- }
-
---
-2.17.1
-
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch
deleted file mode 100644
index 5436a3340..000000000
--- a/poky/meta/recipes-support/ptest-runner/ptest-runner/0002-use-process-groups-when-spawning.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From f0c42a65633341ad048718c7a6dbd035818e9eaf Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Thu, 4 Apr 2019 14:20:31 +0100
-Subject: [PATCH 2/3] use process groups when spawning
-
-Rather than just killing the process we've swawned, set the process group
-for spawned children and then kill the group of processes.
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upstream-Status: Pending [code being tested]
----
- utils.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/utils.c b/utils.c
-index 3ceb342..c5b3b8d 100644
---- a/utils.c
-+++ b/utils.c
-@@ -309,7 +309,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid,
- clock_gettime(clock, &time);
- if ((time.tv_sec - sentinel.tv_sec) > timeout) {
- *timeouted = 1;
-- kill(pid, SIGKILL);
-+ kill(-pid, SIGKILL);
- waitflags = 0;
- }
- }
-@@ -371,6 +371,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
- rc = -1;
- break;
- } else if (child == 0) {
-+ setsid();
- run_child(p->run_ptest, pipefd_stdout[1], pipefd_stderr[1]);
- } else {
- int status;
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch
deleted file mode 100644
index f7c3ebe6f..000000000
--- a/poky/meta/recipes-support/ptest-runner/ptest-runner/0003-utils-Ensure-pipes-are-read-after-exit.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From e58e4e1a7f854953f823dc5135d35f728f253f31 Mon Sep 17 00:00:00 2001
-From: Richard Purdie <richard.purdie@linuxfoundation.org>
-Date: Thu, 4 Apr 2019 14:24:14 +0100
-Subject: [PATCH 3/3] utils: Ensure pipes are read after exit
-
-There was a race in the code where the pipes may not be read after the process has exited
-and data may be left behind in them. This change to ordering ensures the pipes are read
-after the exit code has been read meaning no data can be left behind and the logs should
-be complete.
-
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-Upstream-Status: Pending [code being tested]
----
- utils.c | 29 ++++++++++++++++-------------
- 1 file changed, 16 insertions(+), 13 deletions(-)
-
-diff --git a/utils.c b/utils.c
-index c5b3b8d..37e88ab 100644
---- a/utils.c
-+++ b/utils.c
-@@ -264,6 +264,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, pid_t group,
- struct pollfd pfds[2];
- struct timespec sentinel;
- clockid_t clock = CLOCK_MONOTONIC;
-+ int looping = 1;
- int r;
-
- int status;
-@@ -281,9 +282,23 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, pid_t group,
-
- *timeouted = 0;
-
-- while (1) {
-+ while (looping) {
- waitflags = WNOHANG;
-
-+ if (timeout >= 0) {
-+ struct timespec time;
-+
-+ clock_gettime(clock, &time);
-+ if ((time.tv_sec - sentinel.tv_sec) > timeout) {
-+ *timeouted = 1;
-+ kill(-pid, SIGKILL);
-+ waitflags = 0;
-+ }
-+ }
-+
-+ if (waitpid(pid, &status, waitflags) == pid)
-+ looping = 0;
-+
- r = poll(pfds, 2, WAIT_CHILD_POLL_TIMEOUT_MS);
- if (r > 0) {
- char buf[WAIT_CHILD_BUF_MAX_SIZE];
-@@ -303,19 +318,7 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, pid_t group,
- }
-
- clock_gettime(clock, &sentinel);
-- } else if (timeout >= 0) {
-- struct timespec time;
--
-- clock_gettime(clock, &time);
-- if ((time.tv_sec - sentinel.tv_sec) > timeout) {
-- *timeouted = 1;
-- kill(-pid, SIGKILL);
-- waitflags = 0;
-- }
- }
--
-- if (waitpid(pid, &status, waitflags) == pid)
-- break;
- }
-
- fflush(fps[0]);
---
-2.17.1
-
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
deleted file mode 100644
index 13b4cbc7f..000000000
--- a/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-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
deleted file mode 100644
index dec60fcc9..000000000
--- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "A C program to run all installed ptests"
-DESCRIPTION = "The ptest-runner2 package installs a ptest-runner \
-program which loops through all installed ptest test suites and \
-runs them in sequence."
-HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-
-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://0004-utils-ensure-child-can-be-session-leader.patch \
-"
-
-S = "${WORKDIR}/git"
-
-FILES_${PN} = "${bindir}/ptest-runner"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\"""
-
-do_compile () {
- oe_runmake
-}
-
-do_install () {
- install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner
-}
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.2.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.2.bb
new file mode 100644
index 000000000..187f22df0
--- /dev/null
+++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.2.bb
@@ -0,0 +1,28 @@
+SUMMARY = "A C program to run all installed ptests"
+DESCRIPTION = "The ptest-runner2 package installs a ptest-runner \
+program which loops through all installed ptest test suites and \
+runs them in sequence."
+HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+
+SRCREV = "7015e9199ce748c0717addeebe7a8c47448bab03"
+PV = "2.3.2+git${SRCPV}"
+
+SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \
+"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN} = "${bindir}/ptest-runner"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS= CFLAGS="${CFLAGS} -DDEFAULT_DIRECTORY=\\\"${libdir}\\\"""
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ install -D -m 0755 ${S}/ptest-runner ${D}${bindir}/ptest-runner
+}
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
deleted file mode 100644
index 58cf3f9d5..000000000
--- a/poky/meta/recipes-support/rng-tools/rng-tools/fix-rngd-fail-to-stop.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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/rngd.service b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service
index b1a78527b..aaaaa2907 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service
+++ b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service
@@ -2,7 +2,8 @@
Description=Hardware RNG Entropy Gatherer Daemon
DefaultDependencies=no
After=systemd-udev-settle.service
-Before=sysinit.target
+Before=sysinit.target shutdown.target
+Conflicts=shutdown.target
[Service]
EnvironmentFile=-@SYSCONFDIR@/default/rng-tools
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
index aeb558b2b..b4e453f67 100644
--- a/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb
+++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.7.bb
@@ -10,7 +10,6 @@ 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 \
@@ -46,8 +45,8 @@ do_install_append() {
install -Dm 0644 ${WORKDIR}/rngd.service \
${D}${systemd_system_unitdir}/rngd.service
sed -i \
- -e 's,@SYSCONFDIR@,${sysconfdir},' \
- -e 's,@SBINDIR@,${sbindir},' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
${D}${sysconfdir}/init.d/rng-tools \
${D}${systemd_system_unitdir}/rngd.service
}
diff --git a/poky/meta/recipes-support/sqlite/sqlite3.inc b/poky/meta/recipes-support/sqlite/sqlite3.inc
index daf3db5e9..4af1e09e8 100644
--- a/poky/meta/recipes-support/sqlite/sqlite3.inc
+++ b/poky/meta/recipes-support/sqlite/sqlite3.inc
@@ -19,7 +19,7 @@ UPSTREAM_CHECK_REGEX = "releaselog/(?P<pver>(\d+[\.\-_]*)+)\.html"
CVE_PRODUCT = "sqlite"
-inherit autotools pkgconfig
+inherit autotools pkgconfig siteinfo
# enable those which are enabled by default in configure
PACKAGECONFIG ?= "fts4 fts5 json1 rtree dyn_ext"
@@ -34,6 +34,9 @@ PACKAGECONFIG[json1] = "--enable-json1,--disable-json1"
PACKAGECONFIG[rtree] = "--enable-rtree,--disable-rtree"
PACKAGECONFIG[session] = "--enable-session,--disable-session"
PACKAGECONFIG[dyn_ext] = "--enable-dynamic-extensions,--disable-dynamic-extensions"
+PACKAGECONFIG[zlib] = ",,zlib"
+
+CACHED_CONFIGUREVARS += "${@bb.utils.contains('PACKAGECONFIG', 'zlib', '', 'ac_cv_search_deflate=no',d)}"
EXTRA_OECONF = " \
--enable-shared \
@@ -44,10 +47,14 @@ EXTRA_OECONF = " \
CFLAGS_append = " -fPIC"
# pread() is in POSIX.1-2001 so any reasonable system must surely support it
-CFLAGS += "-DUSE_PREAD"
+CFLAGS_append = " -DUSE_PREAD"
# Provide column meta-data API
-CFLAGS += "-DSQLITE_ENABLE_COLUMN_METADATA"
+CFLAGS_append = " -DSQLITE_ENABLE_COLUMN_METADATA"
+
+# Unless SQLITE_BYTEORDER is predefined, the code falls back to build time
+# huristics, which are not always correct
+CFLAGS_append = " ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '-DSQLITE_BYTEORDER=1234', '-DSQLITE_BYTEORDER=4321', d)}"
PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-doc ${PN}-dbg lib${BPN}-staticdev ${PN}"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.28.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.28.0.bb
deleted file mode 100644
index 438a4ea47..000000000
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.28.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require sqlite3.inc
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
-
-SRC_URI = "http://www.sqlite.org/2019/sqlite-autoconf-${SQLITE_PV}.tar.gz"
-SRC_URI[md5sum] = "3c68eb400f8354605736cd55400e1572"
-SRC_URI[sha256sum] = "d61b5286f062adfce5125eaf544d495300656908e61fca143517afcc0a89b7c3"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.29.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.29.0.bb
new file mode 100644
index 000000000..07e36bede
--- /dev/null
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.29.0.bb
@@ -0,0 +1,8 @@
+require sqlite3.inc
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
+
+SRC_URI = "http://www.sqlite.org/2019/sqlite-autoconf-${SQLITE_PV}.tar.gz"
+SRC_URI[md5sum] = "8f3dfe83387e62ecb91c7c5c09c688dc"
+SRC_URI[sha256sum] = "8e7c1e2950b5b04c5944a981cb31fffbf9d2ddda939d536838ebc854481afd5b"
diff --git a/poky/meta/recipes-support/vte/vte_0.56.1.bb b/poky/meta/recipes-support/vte/vte_0.56.1.bb
deleted file mode 100644
index 702436b36..000000000
--- a/poky/meta/recipes-support/vte/vte_0.56.1.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "Virtual terminal emulator GTK+ widget library"
-BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
-LICENSE = "GPLv3 & LGPLv3+ & LGPLv2.1+"
-LICENSE_libvte = "LGPLv3+"
-
-LIC_FILES_CHKSUM = " \
- file://COPYING.GPL3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \
- file://COPYING.LGPL2;md5=4fbd65380cdd255951079008b364516c \
- file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \
-"
-
-DEPENDS = "glib-2.0 gtk+3 libpcre2 intltool-native libxml2-native gperf-native"
-
-inherit gnomebase gtk-doc distro_features_check upstream-version-is-even gobject-introspection
-
-# vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
-SRC_URI += "file://0001-Don-t-enable-stack-protection-by-default.patch \
- ${@bb.utils.contains('PACKAGECONFIG', 'vala', '', 'file://0001-Add-m4-vapigen.m4.patch', d) } \
- file://0001-app.cc-use-old-school-asignment-to-avoid-gcc-4.8-err.patch \
- file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \
- "
-SRC_URI[archive.md5sum] = "a8984cd5a101dbff0b0c875d1de3f692"
-SRC_URI[archive.sha256sum] = "02fa8ecc02a9332e47f486795494527b5687b3bd448e73e6b67285f2f326dc7c"
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-# Instead of "inherit vala" we do the relevant settings here so we can
-# set DEPENDS based on PACKAGECONFIG.
-
-# Our patched version of Vala looks in STAGING_DATADIR for .vapi files
-export STAGING_DATADIR
-# Upstream Vala >= 0.11 looks in XDG_DATA_DIRS for .vapi files
-export XDG_DATA_DIRS = "${STAGING_DATADIR}"
-
-# Help g-ir-scanner find the .so for linking
-do_compile_prepend() {
- export GIR_EXTRA_LIBS_PATH="${B}/src/.libs"
-}
-
-# Package additional files
-FILES_${PN}-dev += "${datadir}/vala/vapi/*"
-
-PACKAGECONFIG ??= "gnutls"
-PACKAGECONFIG[vala] = "--enable-vala,--disable-vala,vala-native vala"
-PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-# libtool adds "-nostdlib" when g++ is used. This breaks PIE builds.
-# Use libtool-cross (which has a hack to prevent that) instead.
-EXTRA_OEMAKE_class-target = "LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
-
-PACKAGES =+ "libvte ${PN}-prompt"
-FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
-FILES_${PN}-prompt = "${sysconfdir}/profile.d"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/vte/vte_0.56.3.bb b/poky/meta/recipes-support/vte/vte_0.56.3.bb
new file mode 100644
index 000000000..0deee175d
--- /dev/null
+++ b/poky/meta/recipes-support/vte/vte_0.56.3.bb
@@ -0,0 +1,57 @@
+SUMMARY = "Virtual terminal emulator GTK+ widget library"
+BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
+LICENSE = "GPLv3 & LGPLv3+ & LGPLv2.1+"
+LICENSE_libvte = "LGPLv3+"
+
+LIC_FILES_CHKSUM = " \
+ file://COPYING.GPL3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \
+ file://COPYING.LGPL2;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.LGPL3;md5=b52f2d57d10c4f7ee67a7eb9615d5d24 \
+"
+
+DEPENDS = "glib-2.0 gtk+3 libpcre2 intltool-native libxml2-native gperf-native"
+
+inherit gnomebase gtk-doc distro_features_check upstream-version-is-even gobject-introspection
+
+# vapigen.m4 is required when vala is not present (but the one from vala should be used normally)
+SRC_URI += "file://0001-Don-t-enable-stack-protection-by-default.patch \
+ ${@bb.utils.contains('PACKAGECONFIG', 'vala', '', 'file://0001-Add-m4-vapigen.m4.patch', d) } \
+ file://0001-app.cc-use-old-school-asignment-to-avoid-gcc-4.8-err.patch \
+ file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \
+ "
+SRC_URI[archive.md5sum] = "adf341807861a5dad9f98e5c701c0769"
+SRC_URI[archive.sha256sum] = "17a1d4bc8848f1d2acfa4c20aaa24b9bac49f057b8909c56d3dafec2e2332648"
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+# Instead of "inherit vala" we do the relevant settings here so we can
+# set DEPENDS based on PACKAGECONFIG.
+
+# Our patched version of Vala looks in STAGING_DATADIR for .vapi files
+export STAGING_DATADIR
+# Upstream Vala >= 0.11 looks in XDG_DATA_DIRS for .vapi files
+export XDG_DATA_DIRS = "${STAGING_DATADIR}"
+
+# Help g-ir-scanner find the .so for linking
+do_compile_prepend() {
+ export GIR_EXTRA_LIBS_PATH="${B}/src/.libs"
+}
+
+# Package additional files
+FILES_${PN}-dev += "${datadir}/vala/vapi/*"
+
+PACKAGECONFIG ??= "gnutls"
+PACKAGECONFIG[vala] = "--enable-vala,--disable-vala,vala-native vala"
+PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+# libtool adds "-nostdlib" when g++ is used. This breaks PIE builds.
+# Use libtool-cross (which has a hack to prevent that) instead.
+EXTRA_OEMAKE_class-target = "LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
+
+PACKAGES =+ "libvte ${PN}-prompt"
+FILES_libvte = "${libdir}/*.so.* ${libdir}/girepository-1.0/*"
+FILES_${PN}-prompt = "${sysconfdir}/profile.d"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes.txt b/poky/meta/recipes.txt
index 9e178d6ce..fb2c25014 100644
--- a/poky/meta/recipes.txt
+++ b/poky/meta/recipes.txt
@@ -3,11 +3,10 @@ recipes-connectivity - Libraries and applications related to communication with
recipes-core - What's needed to build a basic working Linux image including commonly used dependencies
recipes-devtools - Tools primarily used by the build system (but can also be used on targets)
recipes-extended - Applications which whilst not essential add features compared to the alternatives in
- core. May be needed for full tool functionality or LSB compliance.
+ core. May be needed for full tool functionality.
recipes-gnome - All things related to the GTK+ application framework
recipes-graphics - X and other graphically related system libraries
recipes-kernel - The kernel and generic applications/libraries with strong kernel dependencies
-recipes-lsb4 - Recipes added for the sole purpose of supporting the Linux Standard Base (LSB) 4.x
recipes-multimedia - Codecs and support utilties for audio, images and video
recipes-rt - Provides package and image recipes for using and testing the PREEMPT_RT kernel
recipes-sato - The Sato demo/reference UI/UX, its associated apps and configuration
diff --git a/poky/scripts/buildstats-diff b/poky/scripts/buildstats-diff
index c179c9352..2f6498ab6 100755
--- a/poky/scripts/buildstats-diff
+++ b/poky/scripts/buildstats-diff
@@ -114,7 +114,7 @@ def print_ver_diff(bs1, bs2):
print(fmt_str.format(name, field1, field2, maxlen=maxlen))
-def print_task_diff(bs1, bs2, val_type, min_val=0, min_absdiff=0, sort_by=('absdiff',)):
+def print_task_diff(bs1, bs2, val_type, min_val=0, min_absdiff=0, sort_by=('absdiff',), only_tasks=[]):
"""Diff task execution times"""
def val_to_str(val, human_readable=False):
"""Convert raw value to printable string"""
@@ -151,8 +151,9 @@ def print_task_diff(bs1, bs2, val_type, min_val=0, min_absdiff=0, sort_by=('absd
"""Get cumulative sum of all tasks"""
total = 0.0
for recipe_data in buildstats.values():
- for bs_task in recipe_data.tasks.values():
- total += getattr(bs_task, val_type)
+ for name, bs_task in recipe_data.tasks.items():
+ if not only_tasks or name in only_tasks:
+ total += getattr(bs_task, val_type)
return total
if min_val:
@@ -163,7 +164,7 @@ def print_task_diff(bs1, bs2, val_type, min_val=0, min_absdiff=0, sort_by=('absd
val_to_str(min_absdiff, True), val_to_str(min_absdiff)))
# Prepare the data
- tasks_diff = diff_buildstats(bs1, bs2, val_type, min_val, min_absdiff)
+ tasks_diff = diff_buildstats(bs1, bs2, val_type, min_val, min_absdiff, only_tasks)
# Sort our list
for field in reversed(sort_by):
@@ -248,6 +249,8 @@ Script for comparing buildstats of two separate builds."""
parser.add_argument('--multi', action='store_true',
help="Read all buildstats from the given paths and "
"average over them")
+ parser.add_argument('--only-task', dest='only_tasks', metavar='TASK', action='append', default=[],
+ help="Only include TASK in report. May be specified multiple times")
parser.add_argument('buildstats1', metavar='BUILDSTATS1', help="'Left' buildstat")
parser.add_argument('buildstats2', metavar='BUILDSTATS2', help="'Right' buildstat")
@@ -266,7 +269,6 @@ Script for comparing buildstats of two separate builds."""
return args
-
def main(argv=None):
"""Script entry point"""
args = parse_args(argv)
@@ -290,7 +292,7 @@ def main(argv=None):
print_ver_diff(bs1, bs2)
else:
print_task_diff(bs1, bs2, args.diff_attr, args.min_val,
- args.min_absdiff, sort_by)
+ args.min_absdiff, sort_by, args.only_tasks)
except ScriptError as err:
log.error(str(err))
return 1
diff --git a/poky/scripts/contrib/ddimage b/poky/scripts/contrib/ddimage
index b577d1ca2..7f2ad112a 100755
--- a/poky/scripts/contrib/ddimage
+++ b/poky/scripts/contrib/ddimage
@@ -3,10 +3,6 @@
# SPDX-License-Identifier: GPL-2.0-only
#
-# Default to avoiding the first two disks on typical Linux and Mac OS installs
-# Better safe than sorry :-)
-BLACKLIST_DEVICES="/dev/sda /dev/sdb /dev/disk1 /dev/disk2"
-
# 1MB blocksize
BLOCKSIZE=1048576
@@ -32,7 +28,6 @@ image_details() {
}
device_details() {
- DEV=$1
BLOCK_SIZE=512
echo "Device details"
@@ -45,11 +40,17 @@ device_details() {
fi
# Default / Linux information collection
- echo " device: $DEVICE"
+ ACTUAL_DEVICE=`readlink -f $DEVICE`
+ DEV=`basename $ACTUAL_DEVICE`
+ if [ "$ACTUAL_DEVICE" != "$DEVICE" ] ; then
+ echo " device: $DEVICE -> $ACTUAL_DEVICE"
+ else
+ echo " device: $DEVICE"
+ fi
if [ -f "/sys/class/block/$DEV/device/vendor" ]; then
echo " vendor: $(cat /sys/class/block/$DEV/device/vendor)"
else
- echo " vendor: UNKOWN"
+ echo " vendor: UNKNOWN"
fi
if [ -f "/sys/class/block/$DEV/device/model" ]; then
echo " model: $(cat /sys/class/block/$DEV/device/model)"
@@ -64,6 +65,49 @@ device_details() {
echo ""
}
+check_mount_device() {
+ if cat /proc/self/mounts | awk '{ print $1 }' | grep /dev/ | grep -q -E "^$1$" ; then
+ return 0
+ fi
+ return 1
+}
+
+is_mounted() {
+ if [ "$(uname)" = "Darwin" ]; then
+ if df | awk '{ print $1 }' | grep /dev/ | grep -q -E "^$1(s[0-9]+)?$" ; then
+ return 0
+ fi
+ else
+ if check_mount_device $1 ; then
+ return 0
+ fi
+ DEV=`basename $1`
+ if [ -d /sys/class/block/$DEV/ ] ; then
+ PARENT_BLKDEV=`basename $(readlink -f "/sys/class/block/$DEV/..")`
+ if [ "$PARENT_BLKDEV" != "block" ] ; then
+ if check_mount_device $PARENT_BLKDEV ; then
+ return 0
+ fi
+ fi
+ for CHILD_BLKDEV in `find /sys/class/block/$DEV/ -mindepth 1 -maxdepth 1 -name "$DEV*" -type d`
+ do
+ if check_mount_device /dev/`basename $CHILD_BLKDEV` ; then
+ return 0
+ fi
+ done
+ fi
+ fi
+ return 1
+}
+
+is_inuse() {
+ HOLDERS_DIR="/sys/class/block/`basename $1`/holders"
+ if [ -d $HOLDERS_DIR ] && [ `ls -A $HOLDERS_DIR` ] ; then
+ return 0
+ fi
+ return 1
+}
+
if [ $# -ne 2 ]; then
usage
exit 1
@@ -78,22 +122,37 @@ if [ ! -e "$IMAGE" ]; then
exit 1
fi
+if [ ! -e "$DEVICE" ]; then
+ echo "ERROR: Device $DEVICE does not exist"
+ usage
+ exit 1
+fi
-for i in ${BLACKLIST_DEVICES}; do
- if [ "$i" = "$DEVICE" ]; then
- echo "ERROR: Device $DEVICE is blacklisted"
- exit 1
- fi
-done
+if [ "$(uname)" = "Darwin" ]; then
+ # readlink doesn't support -f on MacOS, just assume it isn't a symlink
+ ACTUAL_DEVICE=$DEVICE
+else
+ ACTUAL_DEVICE=`readlink -f $DEVICE`
+fi
+if is_mounted $ACTUAL_DEVICE ; then
+ echo "ERROR: Device $DEVICE is currently mounted - check if this is the right device, and unmount it first if so"
+ device_details
+ exit 1
+fi
+if is_inuse $ACTUAL_DEVICE ; then
+ echo "ERROR: Device $DEVICE is currently in use (possibly part of LVM) - check if this is the right device!"
+ device_details
+ exit 1
+fi
if [ ! -w "$DEVICE" ]; then
- echo "ERROR: Device $DEVICE does not exist or is not writable"
+ echo "ERROR: Device $DEVICE is not writable - possibly use sudo?"
usage
exit 1
fi
image_details $IMAGE
-device_details $(basename $DEVICE)
+device_details
printf "Write $IMAGE to $DEVICE [y/N]? "
read RESPONSE
diff --git a/poky/scripts/contrib/list-packageconfig-flags.py b/poky/scripts/contrib/list-packageconfig-flags.py
index b1d6c852d..d6de4dc84 100755
--- a/poky/scripts/contrib/list-packageconfig-flags.py
+++ b/poky/scripts/contrib/list-packageconfig-flags.py
@@ -65,7 +65,7 @@ def collect_pkgs(data_dict):
for fn in data_dict:
pkgconfigflags = data_dict[fn].getVarFlags("PACKAGECONFIG")
pkgconfigflags.pop('doc', None)
- pkgname = data_dict[fn].getVar("P")
+ pkgname = data_dict[fn].getVar("PN")
pkg_dict[pkgname] = sorted(pkgconfigflags.keys())
return pkg_dict
diff --git a/poky/scripts/create-pull-request b/poky/scripts/create-pull-request
index 3ce03d6c1..8eefcf63a 100755
--- a/poky/scripts/create-pull-request
+++ b/poky/scripts/create-pull-request
@@ -123,20 +123,12 @@ fi
# Rewrite private URLs to public URLs
# Determine the repository name for use in the WEB_URL later
-case "$REMOTE_URL" in
-*@*)
- USER_RE="[A-Za-z0-9_.@][A-Za-z0-9_.@-]*\$\?"
- PROTO_RE="[a-z][a-z+]*://"
- GIT_RE="\(^\($PROTO_RE\)\?$USER_RE@\)\([^:/]*\)[:/]\(.*\)"
- REMOTE_URL=${REMOTE_URL%.git}
- REMOTE_REPO=$(echo $REMOTE_URL | sed "s#$GIT_RE#\4#")
- REMOTE_URL=$(echo $REMOTE_URL | sed "s#$GIT_RE#git://\3/\4#")
- ;;
-*)
- echo "WARNING: Unrecognized remote URL: $REMOTE_URL"
- echo " The pull and browse URLs will likely be incorrect"
- ;;
-esac
+USER_RE="[A-Za-z0-9_.@][A-Za-z0-9_.@-]*\$\?"
+PROTO_RE="[a-z][a-z+]*://"
+GIT_RE="\(^\($PROTO_RE\)\?\)\($USER_RE@\)\?\([^:/]*\)[:/]\(.*\)"
+REMOTE_URL=${REMOTE_URL%.git}
+REMOTE_REPO=$(echo $REMOTE_URL | sed "s#$GIT_RE#\5#")
+REMOTE_URL=$(echo $REMOTE_URL | sed "s#$GIT_RE#git://\4/\5#")
if [ -z "$BRANCH" ]; then
BRANCH=$(git branch | grep -e "^\* " | cut -d' ' -f2)
@@ -265,7 +257,7 @@ fi
# Replace the SUBJECT token with it.
if [ -n "$SUBJECT" ]; then
- sed -i -e "s/\*\*\* SUBJECT HERE \*\*\*/$SUBJECT/" "$CL"
+ sed -i -e "s\`\*\*\* SUBJECT HERE \*\*\*\`$SUBJECT\`" "$CL"
fi
diff --git a/poky/scripts/gen-lockedsig-cache b/poky/scripts/gen-lockedsig-cache
index e3076e11a..48cb67112 100755
--- a/poky/scripts/gen-lockedsig-cache
+++ b/poky/scripts/gen-lockedsig-cache
@@ -5,9 +5,9 @@
import os
import sys
-import glob
import shutil
import errno
+import time
def mkdir(d):
try:
@@ -16,6 +16,36 @@ def mkdir(d):
if e.errno != errno.EEXIST:
raise e
+# extract the hash from past the last colon to last underscore
+def extract_sha(filename):
+ return filename.split(':')[7].split('_')[0]
+
+# get all files in a directory, extract hash and make
+# a map from hash to list of file with that hash
+def map_sha_to_files(dir_, prefix, sha_map):
+ sstate_prefix_path = dir_ + '/' + prefix + '/'
+ sstate_files = os.listdir(sstate_prefix_path)
+ for f in sstate_files:
+ try:
+ sha = extract_sha(f)
+ if sha not in sha_map:
+ sha_map[sha] = []
+ sha_map[sha].append(sstate_prefix_path + f)
+ except IndexError:
+ continue
+
+# given a prefix build a map of hash to list of files
+def build_sha_cache(prefix):
+ sha_map = {}
+
+ sstate_dir = sys.argv[2]
+ map_sha_to_files(sstate_dir, prefix, sha_map)
+
+ native_sstate_dir = sys.argv[2] + '/' + sys.argv[4]
+ map_sha_to_files(native_sstate_dir, prefix, sha_map)
+
+ return sha_map
+
if len(sys.argv) < 5:
print("Incorrect number of arguments specified")
print("syntax: gen-lockedsig-cache <locked-sigs.inc> <input-cachedir> <output-cachedir> <nativelsbstring> [filterfile]")
@@ -41,12 +71,19 @@ with open(sys.argv[1]) as f:
sigs.append(sig)
print('Gathering file list')
+start_time = time.perf_counter()
files = set()
+sstate_content_cache = {}
for s in sigs:
- p = sys.argv[2] + "/" + s[:2] + "/*" + s + "*"
- files |= set(glob.glob(p))
- p = sys.argv[2] + "/%s/" % sys.argv[4] + s[:2] + "/*" + s + "*"
- files |= set(glob.glob(p))
+ prefix = s[:2]
+ if prefix not in sstate_content_cache:
+ sstate_content_cache[prefix] = build_sha_cache(prefix)
+
+ for f in sstate_content_cache[prefix][s]:
+ files.add(f)
+
+elapsed = time.perf_counter() - start_time
+print("Gathering file list took %.1fs" % elapsed)
print('Processing files')
for f in files:
diff --git a/poky/scripts/lib/buildstats.py b/poky/scripts/lib/buildstats.py
index 1adab06ed..c69b5bf4d 100644
--- a/poky/scripts/lib/buildstats.py
+++ b/poky/scripts/lib/buildstats.py
@@ -261,13 +261,17 @@ class BuildStats(dict):
self[pkg].aggregate(data)
-def diff_buildstats(bs1, bs2, stat_attr, min_val=None, min_absdiff=None):
+def diff_buildstats(bs1, bs2, stat_attr, min_val=None, min_absdiff=None, only_tasks=[]):
"""Compare the tasks of two buildstats"""
tasks_diff = []
pkgs = set(bs1.keys()).union(set(bs2.keys()))
for pkg in pkgs:
tasks1 = bs1[pkg].tasks if pkg in bs1 else {}
tasks2 = bs2[pkg].tasks if pkg in bs2 else {}
+ if only_tasks:
+ tasks1 = {k: v for k, v in tasks1.items() if k in only_tasks}
+ tasks2 = {k: v for k, v in tasks2.items() if k in only_tasks}
+
if not tasks1:
pkg_op = '+'
elif not tasks2:
diff --git a/poky/scripts/lib/checklayer/__init__.py b/poky/scripts/lib/checklayer/__init__.py
index 8244cf072..5aeec2f00 100644
--- a/poky/scripts/lib/checklayer/__init__.py
+++ b/poky/scripts/lib/checklayer/__init__.py
@@ -245,7 +245,7 @@ def get_signatures(builddir, failsafe=False, machine=None):
sigs = {}
tune2tasks = {}
- cmd = ''
+ cmd = 'BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE BB_SIGNATURE_HANDLER" BB_SIGNATURE_HANDLER="OEBasicHash" '
if machine:
cmd += 'MACHINE=%s ' % machine
cmd += 'bitbake '
diff --git a/poky/scripts/lib/checklayer/cases/common.py b/poky/scripts/lib/checklayer/cases/common.py
index 8ffe028b3..b82304e36 100644
--- a/poky/scripts/lib/checklayer/cases/common.py
+++ b/poky/scripts/lib/checklayer/cases/common.py
@@ -12,7 +12,7 @@ from checklayer.case import OECheckLayerTestCase
class CommonCheckLayer(OECheckLayerTestCase):
def test_readme(self):
# The top-level README file may have a suffix (like README.rst or README.txt).
- readme_files = glob.glob(os.path.join(self.tc.layer['path'], 'README*'))
+ readme_files = glob.glob(os.path.join(self.tc.layer['path'], '[Rr][Ee][Aa][Dd][Mm][Ee]*'))
self.assertTrue(len(readme_files) > 0,
msg="Layer doesn't contains README file.")
diff --git a/poky/scripts/lib/devtool/build.py b/poky/scripts/lib/devtool/build.py
index 7543398d9..935ffab46 100644
--- a/poky/scripts/lib/devtool/build.py
+++ b/poky/scripts/lib/devtool/build.py
@@ -11,7 +11,8 @@ import bb
import logging
import argparse
import tempfile
-from devtool import exec_build_env_command, check_workspace_recipe, DevtoolError
+from devtool import exec_build_env_command, setup_tinfoil, check_workspace_recipe, DevtoolError
+from devtool import parse_recipe
logger = logging.getLogger('devtool')
@@ -43,12 +44,22 @@ def _get_build_tasks(config):
def build(args, config, basepath, workspace):
"""Entry point for the devtool 'build' subcommand"""
workspacepn = check_workspace_recipe(workspace, args.recipename, bbclassextend=True)
+ tinfoil = setup_tinfoil(config_only=False, basepath=basepath)
+ try:
+ rd = parse_recipe(config, tinfoil, args.recipename, appends=True, filter_workspace=False)
+ if not rd:
+ return 1
+ deploytask = 'do_deploy' in rd.getVar('__BBTASKS')
+ finally:
+ tinfoil.shutdown()
if args.clean:
# use clean instead of cleansstate to avoid messing things up in eSDK
build_tasks = ['do_clean']
else:
build_tasks = _get_build_tasks(config)
+ if deploytask:
+ build_tasks.append('do_deploy')
bbappend = workspace[workspacepn]['bbappend']
if args.disable_parallel_make:
diff --git a/poky/scripts/lib/devtool/menuconfig.py b/poky/scripts/lib/devtool/menuconfig.py
new file mode 100644
index 000000000..95384c533
--- /dev/null
+++ b/poky/scripts/lib/devtool/menuconfig.py
@@ -0,0 +1,79 @@
+# OpenEmbedded Development tool - menuconfig command plugin
+#
+# Copyright (C) 2018 Xilinx
+# Written by: Chandana Kalluri <ckalluri@xilinx.com>
+#
+# 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, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+"""Devtool menuconfig plugin"""
+
+import os
+import bb
+import logging
+import argparse
+import re
+import glob
+from devtool import setup_tinfoil, parse_recipe, DevtoolError, standard, exec_build_env_command
+from devtool import check_workspace_recipe
+logger = logging.getLogger('devtool')
+
+def menuconfig(args, config, basepath, workspace):
+ """Entry point for the devtool 'menuconfig' subcommand"""
+
+ rd = ""
+ kconfigpath = ""
+ pn_src = ""
+ localfilesdir = ""
+ workspace_dir = ""
+ tinfoil = setup_tinfoil(basepath=basepath)
+ try:
+ rd = parse_recipe(config, tinfoil, args.component, appends=True, filter_workspace=False)
+ if not rd:
+ return 1
+
+ check_workspace_recipe(workspace, args.component)
+ pn = rd.getVar('PN', True)
+
+ if not rd.getVarFlag('do_menuconfig','task'):
+ raise DevtoolError("This recipe does not support menuconfig option")
+
+ workspace_dir = os.path.join(config.workspace_path,'sources')
+ kconfigpath = rd.getVar('B')
+ pn_src = os.path.join(workspace_dir,pn)
+
+ # add check to see if oe_local_files exists or not
+ localfilesdir = os.path.join(pn_src,'oe-local-files')
+ if not os.path.exists(localfilesdir):
+ bb.utils.mkdirhier(localfilesdir)
+ # Add gitignore to ensure source tree is clean
+ gitignorefile = os.path.join(localfilesdir,'.gitignore')
+ with open(gitignorefile, 'w') as f:
+ f.write('# Ignore local files, by default. Remove this file if you want to commit the directory to Git\n')
+ f.write('*\n')
+
+ finally:
+ tinfoil.shutdown()
+
+ logger.info('Launching menuconfig')
+ exec_build_env_command(config.init_path, basepath, 'bitbake -c menuconfig %s' % pn, watch=True)
+ fragment = os.path.join(localfilesdir, 'devtool-fragment.cfg')
+ res = standard._create_kconfig_diff(pn_src,rd,fragment)
+
+ return 0
+
+def register_commands(subparsers, context):
+ """register devtool subcommands from this plugin"""
+ parser_menuconfig = subparsers.add_parser('menuconfig',help='Alter build-time configuration for a recipe', description='Launches the make menuconfig command (for recipes where do_menuconfig is available), allowing users to make changes to the build-time configuration. Creates a config fragment corresponding to changes made.', group='advanced')
+ parser_menuconfig.add_argument('component', help='compenent to alter config')
+ parser_menuconfig.set_defaults(func=menuconfig,fixed_setup=context.fixed_setup)
diff --git a/poky/scripts/lib/devtool/standard.py b/poky/scripts/lib/devtool/standard.py
index aca74b1fc..60c9a046f 100644
--- a/poky/scripts/lib/devtool/standard.py
+++ b/poky/scripts/lib/devtool/standard.py
@@ -461,11 +461,37 @@ def sync(args, config, basepath, workspace):
finally:
tinfoil.shutdown()
+def symlink_oelocal_files_srctree(rd,srctree):
+ import oe.patch
+ if os.path.abspath(rd.getVar('S')) == os.path.abspath(rd.getVar('WORKDIR')):
+ # If recipe extracts to ${WORKDIR}, symlink the files into the srctree
+ # (otherwise the recipe won't build as expected)
+ local_files_dir = os.path.join(srctree, 'oe-local-files')
+ addfiles = []
+ for root, _, files in os.walk(local_files_dir):
+ relpth = os.path.relpath(root, local_files_dir)
+ if relpth != '.':
+ bb.utils.mkdirhier(os.path.join(srctree, relpth))
+ for fn in files:
+ if fn == '.gitignore':
+ continue
+ destpth = os.path.join(srctree, relpth, fn)
+ if os.path.exists(destpth):
+ os.unlink(destpth)
+ os.symlink('oe-local-files/%s' % fn, destpth)
+ addfiles.append(os.path.join(relpth, fn))
+ if addfiles:
+ bb.process.run('git add %s' % ' '.join(addfiles), cwd=srctree)
+ useroptions = []
+ oe.patch.GitApplyTree.gitCommandUserOptions(useroptions, d=rd)
+ bb.process.run('git %s commit -m "Committing local file symlinks\n\n%s"' % (' '.join(useroptions), oe.patch.GitApplyTree.ignore_commit_prefix), cwd=srctree)
+
def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, workspace, fixed_setup, d, tinfoil, no_overrides=False):
"""Extract sources of a recipe"""
import oe.recipeutils
import oe.patch
+ import oe.path
pn = d.getVar('PN')
@@ -562,7 +588,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, works
with open(preservestampfile, 'w') as f:
f.write(d.getVar('STAMP'))
try:
- if bb.data.inherits_class('kernel-yocto', d):
+ if is_kernel_yocto:
# We need to generate the kernel config
task = 'do_configure'
else:
@@ -589,6 +615,23 @@ def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, works
raise DevtoolError('Something went wrong with source extraction - the devtool-source class was not active or did not function correctly:\n%s' % str(e))
srcsubdir_rel = os.path.relpath(srcsubdir, os.path.join(tempdir, 'workdir'))
+ # Check if work-shared is empty, if yes
+ # find source and copy to work-shared
+ if is_kernel_yocto:
+ workshareddir = d.getVar('STAGING_KERNEL_DIR')
+ staging_kerVer = get_staging_kver(workshareddir)
+ kernelVersion = d.getVar('LINUX_VERSION')
+
+ # handle dangling symbolic link in work-shared:
+ if os.path.islink(workshareddir):
+ os.unlink(workshareddir)
+
+ if os.path.exists(workshareddir) and (not os.listdir(workshareddir) or kernelVersion != staging_kerVer):
+ shutil.rmtree(workshareddir)
+ oe.path.copyhardlinktree(srcsubdir,workshareddir)
+ elif not os.path.exists(workshareddir):
+ oe.path.copyhardlinktree(srcsubdir,workshareddir)
+
tempdir_localdir = os.path.join(tempdir, 'oe-local-files')
srctree_localdir = os.path.join(srctree, 'oe-local-files')
@@ -617,29 +660,7 @@ def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, works
shutil.move(tempdir_localdir, srcsubdir)
shutil.move(srcsubdir, srctree)
-
- if os.path.abspath(d.getVar('S')) == os.path.abspath(d.getVar('WORKDIR')):
- # If recipe extracts to ${WORKDIR}, symlink the files into the srctree
- # (otherwise the recipe won't build as expected)
- local_files_dir = os.path.join(srctree, 'oe-local-files')
- addfiles = []
- for root, _, files in os.walk(local_files_dir):
- relpth = os.path.relpath(root, local_files_dir)
- if relpth != '.':
- bb.utils.mkdirhier(os.path.join(srctree, relpth))
- for fn in files:
- if fn == '.gitignore':
- continue
- destpth = os.path.join(srctree, relpth, fn)
- if os.path.exists(destpth):
- os.unlink(destpth)
- os.symlink('oe-local-files/%s' % fn, destpth)
- addfiles.append(os.path.join(relpth, fn))
- if addfiles:
- bb.process.run('git add %s' % ' '.join(addfiles), cwd=srctree)
- useroptions = []
- oe.patch.GitApplyTree.gitCommandUserOptions(useroptions, d=d)
- bb.process.run('git %s commit -a -m "Committing local file symlinks\n\n%s"' % (' '.join(useroptions), oe.patch.GitApplyTree.ignore_commit_prefix), cwd=srctree)
+ symlink_oelocal_files_srctree(d,srctree)
if is_kernel_yocto:
logger.info('Copying kernel config to srctree')
@@ -707,11 +728,31 @@ def _check_preserve(config, recipename):
tf.write(line)
os.rename(newfile, origfile)
+def get_staging_kver(srcdir):
+ # Kernel version from work-shared
+ kerver = []
+ staging_kerVer=""
+ if os.path.exists(srcdir) and os.listdir(srcdir):
+ with open(os.path.join(srcdir,"Makefile")) as f:
+ version = [next(f) for x in range(5)][1:4]
+ for word in version:
+ kerver.append(word.split('= ')[1].split('\n')[0])
+ staging_kerVer = ".".join(kerver)
+ return staging_kerVer
+
+def get_staging_kbranch(srcdir):
+ staging_kbranch = ""
+ if os.path.exists(srcdir) and os.listdir(srcdir):
+ (branch, _) = bb.process.run('git branch | grep \* | cut -d \' \' -f2', cwd=srcdir)
+ staging_kbranch = "".join(branch.split('\n')[0])
+ return staging_kbranch
+
def modify(args, config, basepath, workspace):
"""Entry point for the devtool 'modify' subcommand"""
import bb
import oe.recipeutils
import oe.patch
+ import oe.path
if args.recipename in workspace:
raise DevtoolError("recipe %s is already in your workspace" %
@@ -753,6 +794,59 @@ def modify(args, config, basepath, workspace):
initial_rev = None
commits = []
check_commits = False
+
+ if bb.data.inherits_class('kernel-yocto', rd):
+ # Current set kernel version
+ kernelVersion = rd.getVar('LINUX_VERSION')
+ srcdir = rd.getVar('STAGING_KERNEL_DIR')
+ kbranch = rd.getVar('KBRANCH')
+
+ staging_kerVer = get_staging_kver(srcdir)
+ staging_kbranch = get_staging_kbranch(srcdir)
+ if (os.path.exists(srcdir) and os.listdir(srcdir)) and (kernelVersion in staging_kerVer and staging_kbranch == kbranch):
+ oe.path.copyhardlinktree(srcdir,srctree)
+ workdir = rd.getVar('WORKDIR')
+ srcsubdir = rd.getVar('S')
+ localfilesdir = os.path.join(srctree,'oe-local-files')
+ # Move local source files into separate subdir
+ recipe_patches = [os.path.basename(patch) for patch in oe.recipeutils.get_recipe_patches(rd)]
+ local_files = oe.recipeutils.get_recipe_local_files(rd)
+
+ for key in local_files.copy():
+ if key.endswith('scc'):
+ sccfile = open(local_files[key], 'r')
+ for l in sccfile:
+ line = l.split()
+ if line and line[0] in ('kconf', 'patch'):
+ cfg = os.path.join(os.path.dirname(local_files[key]), line[-1])
+ if not cfg in local_files.values():
+ local_files[line[-1]] = cfg
+ shutil.copy2(cfg, workdir)
+ sccfile.close()
+
+ # Ignore local files with subdir={BP}
+ srcabspath = os.path.abspath(srcsubdir)
+ local_files = [fname for fname in local_files if os.path.exists(os.path.join(workdir, fname)) and (srcabspath == workdir or not os.path.join(workdir, fname).startswith(srcabspath + os.sep))]
+ if local_files:
+ for fname in local_files:
+ _move_file(os.path.join(workdir, fname), os.path.join(srctree, 'oe-local-files', fname))
+ with open(os.path.join(srctree, 'oe-local-files', '.gitignore'), 'w') as f:
+ f.write('# Ignore local files, by default. Remove this file ''if you want to commit the directory to Git\n*\n')
+
+ symlink_oelocal_files_srctree(rd,srctree)
+
+ task = 'do_configure'
+ res = tinfoil.build_targets(pn, task, handle_events=True)
+
+ # Copy .config to workspace
+ kconfpath = rd.getVar('B')
+ logger.info('Copying kernel config to workspace')
+ shutil.copy2(os.path.join(kconfpath, '.config'),srctree)
+
+ # Set this to true, we still need to get initial_rev
+ # by parsing the git repo
+ args.no_extract = True
+
if not args.no_extract:
initial_rev, _ = _extract_source(srctree, args.keep_temp, args.branch, False, config, basepath, workspace, args.fixed_setup, rd, tinfoil, no_overrides=args.no_overrides)
if not initial_rev:
@@ -844,6 +938,11 @@ def modify(args, config, basepath, workspace):
' cp ${B}/.config ${S}/.config.baseline\n'
' ln -sfT ${B}/.config ${S}/.config.new\n'
'}\n')
+ if rd.getVarFlag('do_menuconfig','task'):
+ f.write('\ndo_configure_append() {\n'
+ ' cp ${B}/.config ${S}/.config.baseline\n'
+ ' ln -sfT ${B}/.config ${S}/.config.new\n'
+ '}\n')
if initial_rev:
f.write('\n# initial_rev: %s\n' % initial_rev)
for commit in commits:
@@ -1520,17 +1619,17 @@ def _update_recipe_patch(recipename, workspace, srctree, rd, appendlayerdir, wil
patches_dir, changed_revs)
logger.debug('Pre-filtering: update: %s, new: %s' % (dict(upd_p), dict(new_p)))
if filter_patches:
- new_p = {}
- upd_p = {k:v for k,v in upd_p.items() if k in filter_patches}
+ new_p = OrderedDict()
+ upd_p = OrderedDict((k,v) for k,v in upd_p.items() if k in filter_patches)
remove_files = [f for f in remove_files if f in filter_patches]
updatefiles = False
updaterecipe = False
destpath = None
srcuri = (rd.getVar('SRC_URI', False) or '').split()
if appendlayerdir:
- files = dict((os.path.join(local_files_dir, key), val) for
+ files = OrderedDict((os.path.join(local_files_dir, key), val) for
key, val in list(upd_f.items()) + list(new_f.items()))
- files.update(dict((os.path.join(patches_dir, key), val) for
+ files.update(OrderedDict((os.path.join(patches_dir, key), val) for
key, val in list(upd_p.items()) + list(new_p.items())))
if files or remove_files:
removevalues = None
@@ -1866,13 +1965,27 @@ def reset(args, config, basepath, workspace):
def _get_layer(layername, d):
"""Determine the base layer path for the specified layer name/path"""
layerdirs = d.getVar('BBLAYERS').split()
- layers = {os.path.basename(p): p for p in layerdirs}
+ layers = {} # {basename: layer_paths}
+ for p in layerdirs:
+ bn = os.path.basename(p)
+ if bn not in layers:
+ layers[bn] = [p]
+ else:
+ layers[bn].append(p)
# Provide some shortcuts
if layername.lower() in ['oe-core', 'openembedded-core']:
- layerdir = layers.get('meta', None)
+ layername = 'meta'
+ layer_paths = layers.get(layername, None)
+ if not layer_paths:
+ return os.path.abspath(layername)
+ elif len(layer_paths) == 1:
+ return os.path.abspath(layer_paths[0])
else:
- layerdir = layers.get(layername, None)
- return os.path.abspath(layerdir or layername)
+ # multiple layers having the same base name
+ logger.warning("Multiple layers have the same base name '%s', use the first one '%s'." % (layername, layer_paths[0]))
+ logger.warning("Consider using path instead of base name to specify layer:\n\t\t%s" % '\n\t\t'.join(layer_paths))
+ return os.path.abspath(layer_paths[0])
+
def finish(args, config, basepath, workspace):
"""Entry point for the devtool 'finish' subcommand"""
@@ -1895,7 +2008,7 @@ def finish(args, config, basepath, workspace):
else:
raise DevtoolError('Source tree is not clean:\n\n%s\nEnsure you have committed your changes or use -f/--force if you are sure there\'s nothing that needs to be committed' % dirty)
- no_clean = False
+ no_clean = args.no_clean
tinfoil = setup_tinfoil(basepath=basepath, tracking=True)
try:
rd = parse_recipe(config, tinfoil, args.recipename, True)
@@ -2169,6 +2282,7 @@ def register_commands(subparsers, context):
parser_finish.add_argument('--mode', '-m', choices=['patch', 'srcrev', 'auto'], default='auto', help='Update mode (where %(metavar)s is %(choices)s; default is %(default)s)', metavar='MODE')
parser_finish.add_argument('--initial-rev', help='Override starting revision for patches')
parser_finish.add_argument('--force', '-f', action="store_true", help='Force continuing even if there are uncommitted changes in the source tree repository')
+ parser_finish.add_argument('--no-clean', '-n', action="store_true", help='Don\'t clean the sysroot to remove recipe output')
parser_finish.add_argument('--no-overrides', '-O', action="store_true", help='Do not handle other override branches (if they exist)')
parser_finish.add_argument('--dry-run', '-N', action="store_true", help='Dry-run (just report changes instead of writing them)')
parser_finish.add_argument('--force-patch-refresh', action="store_true", help='Update patches in the layer even if they have not been modified (useful for refreshing patch context)')
diff --git a/poky/scripts/lib/devtool/upgrade.py b/poky/scripts/lib/devtool/upgrade.py
index 62ec2f94c..18c5b66a2 100644
--- a/poky/scripts/lib/devtool/upgrade.py
+++ b/poky/scripts/lib/devtool/upgrade.py
@@ -122,18 +122,22 @@ def _cleanup_on_error(rf, srctree):
rfp = os.path.split(rf)[0] # recipe folder
rfpp = os.path.split(rfp)[0] # recipes folder
if os.path.exists(rfp):
- shutil.rmtree(b)
+ shutil.rmtree(rfp)
if not len(os.listdir(rfpp)):
os.rmdir(rfpp)
srctree = os.path.abspath(srctree)
if os.path.exists(srctree):
shutil.rmtree(srctree)
-def _upgrade_error(e, rf, srctree):
- if rf:
- cleanup_on_error(rf, srctree)
+def _upgrade_error(e, rf, srctree, keep_failure=False, extramsg=None):
+ if rf and not keep_failure:
+ _cleanup_on_error(rf, srctree)
logger.error(e)
- raise DevtoolError(e)
+ if extramsg:
+ logger.error(extramsg)
+ if keep_failure:
+ logger.info('Preserving failed upgrade files (--keep-failure)')
+ sys.exit(1)
def _get_uri(rd):
srcuris = rd.getVar('SRC_URI').split()
@@ -277,6 +281,7 @@ def _extract_new_source(newpv, srctree, no_patch, srcrev, srcbranch, branch, kee
logger.info('Preserving temporary directory %s' % tmpsrctree)
else:
shutil.rmtree(tmpsrctree)
+ shutil.rmtree(tmpdir)
return (rev, md5, sha256, srcbranch, srcsubdir_rel)
@@ -299,7 +304,7 @@ def _add_license_diff_to_recipe(path, diff):
f.write("\n#\n\n".encode())
f.write(orig_content)
-def _create_new_recipe(newpv, md5, sha256, srcrev, srcbranch, srcsubdir_old, srcsubdir_new, workspace, tinfoil, rd, license_diff, new_licenses):
+def _create_new_recipe(newpv, md5, sha256, srcrev, srcbranch, srcsubdir_old, srcsubdir_new, workspace, tinfoil, rd, license_diff, new_licenses, srctree, keep_failure):
"""Creates the new recipe under workspace"""
bpn = rd.getVar('BPN')
@@ -416,7 +421,10 @@ def _create_new_recipe(newpv, md5, sha256, srcrev, srcbranch, srcsubdir_old, src
newvalues["LIC_FILES_CHKSUM"] = newlicchksum
_add_license_diff_to_recipe(fullpath, license_diff)
- rd = tinfoil.parse_recipe_file(fullpath, False)
+ try:
+ rd = tinfoil.parse_recipe_file(fullpath, False)
+ except bb.tinfoil.TinfoilCommandFailed as e:
+ _upgrade_error(e, fullpath, srctree, keep_failure, 'Parsing of upgraded recipe failed')
oe.recipeutils.patch_recipe(rd, fullpath, newvalues)
return fullpath, copied
@@ -548,11 +556,11 @@ def upgrade(args, config, basepath, workspace):
tinfoil, rd)
new_licenses = _extract_licenses(srctree, rd.getVar('LIC_FILES_CHKSUM'))
license_diff = _generate_license_diff(old_licenses, new_licenses)
- rf, copied = _create_new_recipe(args.version, md5, sha256, args.srcrev, srcbranch, srcsubdir1, srcsubdir2, config.workspace_path, tinfoil, rd, license_diff, new_licenses)
+ rf, copied = _create_new_recipe(args.version, md5, sha256, args.srcrev, srcbranch, srcsubdir1, srcsubdir2, config.workspace_path, tinfoil, rd, license_diff, new_licenses, srctree, args.keep_failure)
except bb.process.CmdError as e:
- _upgrade_error(e, rf, srctree)
+ _upgrade_error(e, rf, srctree, args.keep_failure)
except DevtoolError as e:
- _upgrade_error(e, rf, srctree)
+ _upgrade_error(e, rf, srctree, args.keep_failure)
standard._add_md5(config, pn, os.path.dirname(rf))
af = _write_append(rf, srctree, args.same_dir, args.no_same_dir, rev2,
@@ -623,6 +631,7 @@ def register_commands(subparsers, context):
group.add_argument('--same-dir', '-s', help='Build in same directory as source', action="store_true")
group.add_argument('--no-same-dir', help='Force build in a separate build directory', action="store_true")
parser_upgrade.add_argument('--keep-temp', action="store_true", help='Keep temporary directory (for debugging)')
+ parser_upgrade.add_argument('--keep-failure', action="store_true", help='Keep failed upgrade recipe and associated files (for debugging)')
parser_upgrade.set_defaults(func=upgrade, fixed_setup=context.fixed_setup)
parser_latest_version = subparsers.add_parser('latest-version', help='Report the latest version of an existing recipe',
diff --git a/poky/scripts/lib/recipetool/create.py b/poky/scripts/lib/recipetool/create.py
index 98277f74c..1fb6b5553 100644
--- a/poky/scripts/lib/recipetool/create.py
+++ b/poky/scripts/lib/recipetool/create.py
@@ -60,7 +60,9 @@ class RecipeHandler(object):
if RecipeHandler.recipelibmap:
return
# First build up library->package mapping
- shlib_providers = oe.package.read_shlib_providers(d)
+ d2 = bb.data.createCopy(d)
+ d2.setVar("WORKDIR_PKGDATA", "${PKGDATA_DIR}")
+ shlib_providers = oe.package.read_shlib_providers(d2)
libdir = d.getVar('libdir')
base_libdir = d.getVar('base_libdir')
libpaths = list(set([base_libdir, libdir]))
@@ -1053,6 +1055,7 @@ def get_license_md5sums(d, static_only=False):
md5sums['3b83ef96387f14655fc854ddc3c6bd57'] = 'Apache-2.0'
md5sums['385c55653886acac3821999a3ccd17b3'] = 'Artistic-1.0 | GPL-2.0' # some perl modules
md5sums['54c7042be62e169199200bc6477f04d1'] = 'BSD-3-Clause'
+ md5sums['bfe1f75d606912a4111c90743d6c7325'] = 'MPL-1.1'
return md5sums
def crunch_license(licfile):
diff --git a/poky/scripts/lib/recipetool/create_buildsys_python.py b/poky/scripts/lib/recipetool/create_buildsys_python.py
index ac9bc9237..adfa37795 100644
--- a/poky/scripts/lib/recipetool/create_buildsys_python.py
+++ b/poky/scripts/lib/recipetool/create_buildsys_python.py
@@ -154,8 +154,13 @@ class PythonRecipeHandler(RecipeHandler):
if 'buildsystem' in handled:
return False
- if not RecipeHandler.checkfiles(srctree, ['setup.py']):
- return
+ # Check for non-zero size setup.py files
+ setupfiles = RecipeHandler.checkfiles(srctree, ['setup.py'])
+ for fn in setupfiles:
+ if os.path.getsize(fn):
+ break
+ else:
+ return False
# setup.py is always parsed to get at certain required information, such as
# distutils vs setuptools
diff --git a/poky/scripts/lib/resulttool/log.py b/poky/scripts/lib/resulttool/log.py
index 25c339671..f1bfd9950 100644
--- a/poky/scripts/lib/resulttool/log.py
+++ b/poky/scripts/lib/resulttool/log.py
@@ -8,14 +8,23 @@ import os
import resulttool.resultutils as resultutils
def show_ptest(result, ptest, logger):
- if 'ptestresult.sections' in result:
- if ptest in result['ptestresult.sections'] and 'log' in result['ptestresult.sections'][ptest]:
- print(result['ptestresult.sections'][ptest]['log'])
- return 0
+ logdata = resultutils.ptestresult_get_log(result, ptest)
+ if logdata is not None:
+ print(logdata)
+ return 0
- print("ptest '%s' not found" % ptest)
+ print("ptest '%s' log not found" % ptest)
return 1
+def show_reproducible(result, reproducible, logger):
+ try:
+ print(result['reproducible'][reproducible]['diffoscope.text'])
+ return 0
+
+ except KeyError:
+ print("reproducible '%s' not found" % reproducible)
+ return 1
+
def log(args, logger):
results = resultutils.load_resultsdata(args.source)
@@ -25,32 +34,43 @@ def log(args, logger):
return 1
for _, run_name, _, r in resultutils.test_run_results(results):
- if args.dump_ptest:
- if 'ptestresult.sections' in r:
- for name, ptest in r['ptestresult.sections'].items():
- if 'log' in ptest:
- dest_dir = args.dump_ptest
- if args.prepend_run:
- dest_dir = os.path.join(dest_dir, run_name)
+ if args.dump_ptest and 'ptestresult.sections' in r:
+ for name, ptest in r['ptestresult.sections'].items():
+ logdata = resultutils.ptestresult_get_log(r, name)
+ if logdata is not None:
+ dest_dir = args.dump_ptest
+ if args.prepend_run:
+ dest_dir = os.path.join(dest_dir, run_name)
- os.makedirs(dest_dir, exist_ok=True)
+ os.makedirs(dest_dir, exist_ok=True)
+ dest = os.path.join(dest_dir, '%s.log' % name)
+ print(dest)
+ with open(dest, 'w') as f:
+ f.write(logdata)
- dest = os.path.join(dest_dir, '%s.log' % name)
- print(dest)
- with open(dest, 'w') as f:
- f.write(ptest['log'])
+ if args.raw_ptest:
+ rawlog = resultutils.ptestresult_get_rawlogs(r)
+ if rawlog is not None:
+ print(rawlog)
+ else:
+ print('Raw ptest logs not found')
+ return 1
- if args.raw:
- if 'ptestresult.rawlogs' in r:
- print(r['ptestresult.rawlogs']['log'])
+ if args.raw_reproducible:
+ if 'reproducible.rawlogs' in r:
+ print(r['reproducible.rawlogs']['log'])
else:
- print('Raw logs not found')
+ print('Raw reproducible logs not found')
return 1
for ptest in args.ptest:
if not show_ptest(r, ptest, logger):
return 1
+ for reproducible in args.reproducible:
+ if not show_reproducible(r, reproducible, logger):
+ return 1
+
def register_commands(subparsers):
"""Register subcommands from this plugin"""
parser = subparsers.add_parser('log', help='show logs',
@@ -63,9 +83,15 @@ def register_commands(subparsers):
help='show logs for a ptest')
parser.add_argument('--dump-ptest', metavar='DIR',
help='Dump all ptest log files to the specified directory.')
+ parser.add_argument('--reproducible', action='append', default=[],
+ help='show logs for a reproducible test')
parser.add_argument('--prepend-run', action='store_true',
help='''Dump ptest results to a subdirectory named after the test run when using --dump-ptest.
Required if more than one test run is present in the result file''')
parser.add_argument('--raw', action='store_true',
- help='show raw logs')
+ help='show raw (ptest) logs. Deprecated. Alias for "--raw-ptest"', dest='raw_ptest')
+ parser.add_argument('--raw-ptest', action='store_true',
+ help='show raw ptest log')
+ parser.add_argument('--raw-reproducible', action='store_true',
+ help='show raw reproducible build logs')
diff --git a/poky/scripts/lib/resulttool/report.py b/poky/scripts/lib/resulttool/report.py
index a48c59f63..883b52517 100644
--- a/poky/scripts/lib/resulttool/report.py
+++ b/poky/scripts/lib/resulttool/report.py
@@ -19,9 +19,9 @@ class ResultsTextReport(object):
self.ptests = {}
self.ltptests = {}
self.ltpposixtests = {}
- self.result_types = {'passed': ['PASSED', 'passed'],
- 'failed': ['FAILED', 'failed', 'ERROR', 'error', 'UNKNOWN'],
- 'skipped': ['SKIPPED', 'skipped']}
+ self.result_types = {'passed': ['PASSED', 'passed', 'PASS', 'XFAIL'],
+ 'failed': ['FAILED', 'failed', 'FAIL', 'ERROR', 'error', 'UNKNOWN', 'XPASS'],
+ 'skipped': ['SKIPPED', 'skipped', 'UNSUPPORTED', 'UNTESTED', 'UNRESOLVED']}
def handle_ptest_result(self, k, status, result, machine):
@@ -32,16 +32,22 @@ class ResultsTextReport(object):
# Ensure tests without any test results still show up on the report
for suite in result['ptestresult.sections']:
if suite not in self.ptests[machine]:
- self.ptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
+ self.ptests[machine][suite] = {
+ 'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-',
+ 'failed_testcases': [], "testcases": set(),
+ }
if 'duration' in result['ptestresult.sections'][suite]:
self.ptests[machine][suite]['duration'] = result['ptestresult.sections'][suite]['duration']
if 'timeout' in result['ptestresult.sections'][suite]:
self.ptests[machine][suite]['duration'] += " T"
- return
+ return True
+
+ # process test result
try:
_, suite, test = k.split(".", 2)
except ValueError:
- return
+ return True
+
# Handle 'glib-2.0'
if 'ptestresult.sections' in result and suite not in result['ptestresult.sections']:
try:
@@ -50,11 +56,23 @@ class ResultsTextReport(object):
suite = suite + "." + suite1
except ValueError:
pass
+
if suite not in self.ptests[machine]:
- self.ptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []}
+ self.ptests[machine][suite] = {
+ 'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-',
+ 'failed_testcases': [], "testcases": set(),
+ }
+
+ # do not process duplicate results
+ if test in self.ptests[machine][suite]["testcases"]:
+ print("Warning duplicate ptest result '{}.{}' for {}".format(suite, test, machine))
+ return False
+
for tk in self.result_types:
if status in self.result_types[tk]:
self.ptests[machine][suite][tk] += 1
+ self.ptests[machine][suite]["testcases"].add(test)
+ return True
def handle_ltptest_result(self, k, status, result, machine):
if machine not in self.ltptests:
@@ -124,17 +142,20 @@ class ResultsTextReport(object):
result = testresult.get('result', [])
for k in result:
test_status = result[k].get('status', [])
+ if k.startswith("ptestresult."):
+ if not self.handle_ptest_result(k, test_status, result, machine):
+ continue
+ elif k.startswith("ltpresult."):
+ self.handle_ltptest_result(k, test_status, result, machine)
+ elif k.startswith("ltpposixresult."):
+ self.handle_ltpposixtest_result(k, test_status, result, machine)
+
+ # process result if it was not skipped by a handler
for tk in self.result_types:
if test_status in self.result_types[tk]:
test_count_report[tk] += 1
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, machine)
- if k.startswith("ltpresult."):
- self.handle_ltptest_result(k, test_status, result, machine)
- if k.startswith("ltpposixresult."):
- self.handle_ltpposixtest_result(k, test_status, result, machine)
return test_count_report
def print_test_report(self, template_file_name, test_count_reports):
@@ -203,8 +224,21 @@ class ResultsTextReport(object):
testresults = resultutils.load_resultsdata(source_dir)
for testsuite in testresults:
for resultid in testresults[testsuite]:
+ skip = False
result = testresults[testsuite][resultid]
machine = result['configuration']['MACHINE']
+
+ # Check to see if there is already results for these kinds of tests for the machine
+ for key in result['result'].keys():
+ testtype = str(key).split('.')[0]
+ if ((machine in self.ltptests and testtype == "ltpiresult" and self.ltptests[machine]) or
+ (machine in self.ltpposixtests and testtype == "ltpposixresult" and self.ltpposixtests[machine])):
+ print("Already have test results for %s on %s, skipping %s" %(str(key).split('.')[0], machine, resultid))
+ skip = True
+ break
+ if skip:
+ break
+
test_count_report = self.get_aggregated_test_result(logger, result, machine)
test_count_report['machine'] = machine
test_count_report['testseries'] = result['configuration']['TESTSERIES']
diff --git a/poky/scripts/lib/resulttool/resultutils.py b/poky/scripts/lib/resulttool/resultutils.py
index e595c185d..7cb85a6aa 100644
--- a/poky/scripts/lib/resulttool/resultutils.py
+++ b/poky/scripts/lib/resulttool/resultutils.py
@@ -7,6 +7,8 @@
#
import os
+import base64
+import zlib
import json
import scriptpath
import copy
@@ -117,6 +119,38 @@ def strip_ptestresults(results):
del newresults[res]['result']['ptestresult.sections'][i]['log']
return newresults
+def decode_log(logdata):
+ if isinstance(logdata, str):
+ return logdata
+ elif isinstance(logdata, dict):
+ if "compressed" in logdata:
+ data = logdata.get("compressed")
+ data = base64.b64decode(data.encode("utf-8"))
+ data = zlib.decompress(data)
+ try:
+ return data.decode("utf-8")
+ except UnicodeDecodeError:
+ return data
+ return None
+
+def ptestresult_get_log(results, section):
+ if 'ptestresult.sections' not in results:
+ return None
+ if section not in results['ptestresult.sections']:
+ return None
+
+ ptest = results['ptestresult.sections'][section]
+ if 'log' not in ptest:
+ return None
+ return decode_log(ptest['log'])
+
+def ptestresult_get_rawlogs(results):
+ if 'ptestresult.rawlogs' not in results:
+ return None
+ if 'log' not in results['ptestresult.rawlogs']:
+ return None
+ return decode_log(results['ptestresult.rawlogs']['log'])
+
def save_resultsdata(results, destdir, fn="testresults.json", ptestjson=False, ptestlogs=False):
for res in results:
if res:
@@ -131,14 +165,17 @@ def save_resultsdata(results, destdir, fn="testresults.json", ptestjson=False, p
f.write(json.dumps(resultsout, sort_keys=True, indent=4))
for res2 in results[res]:
if ptestlogs and 'result' in results[res][res2]:
- if 'ptestresult.rawlogs' in results[res][res2]['result']:
+ seriesresults = results[res][res2]['result']
+ rawlogs = ptestresult_get_rawlogs(seriesresults)
+ if rawlogs is not None:
with open(dst.replace(fn, "ptest-raw.log"), "w+") as f:
- f.write(results[res][res2]['result']['ptestresult.rawlogs']['log'])
- if 'ptestresult.sections' in results[res][res2]['result']:
- for i in results[res][res2]['result']['ptestresult.sections']:
- if 'log' in results[res][res2]['result']['ptestresult.sections'][i]:
+ f.write(rawlogs)
+ if 'ptestresult.sections' in seriesresults:
+ for i in seriesresults['ptestresult.sections']:
+ sectionlog = ptestresult_get_log(seriesresults, i)
+ if sectionlog is not None:
with open(dst.replace(fn, "ptest-%s.log" % i), "w+") as f:
- f.write(results[res][res2]['result']['ptestresult.sections'][i]['log'])
+ f.write(sectionlog)
def git_get_result(repo, tags):
git_objs = []
diff --git a/poky/scripts/lib/scriptutils.py b/poky/scripts/lib/scriptutils.py
index e7e7021c2..c573dc7f6 100644
--- a/poky/scripts/lib/scriptutils.py
+++ b/poky/scripts/lib/scriptutils.py
@@ -16,12 +16,51 @@ import string
import subprocess
import sys
import tempfile
+import threading
import importlib
from importlib import machinery
-def logger_create(name, stream=None):
+class KeepAliveStreamHandler(logging.StreamHandler):
+ def __init__(self, keepalive=True, **kwargs):
+ super().__init__(**kwargs)
+ if keepalive is True:
+ keepalive = 5000 # default timeout
+ self._timeout = threading.Condition()
+ self._stop = False
+
+ # background thread waits on condition, if the condition does not
+ # happen emit a keep alive message
+ def thread():
+ while not self._stop:
+ with self._timeout:
+ if not self._timeout.wait(keepalive):
+ self.emit(logging.LogRecord("keepalive", logging.INFO,
+ None, None, "Keepalive message", None, None))
+
+ self._thread = threading.Thread(target = thread, daemon = True)
+ self._thread.start()
+
+ def close(self):
+ # mark the thread to stop and notify it
+ self._stop = True
+ with self._timeout:
+ self._timeout.notify()
+ # wait for it to join
+ self._thread.join()
+ super().close()
+
+ def emit(self, record):
+ super().emit(record)
+ # trigger timer reset
+ with self._timeout:
+ self._timeout.notify()
+
+def logger_create(name, stream=None, keepalive=None):
logger = logging.getLogger(name)
- loggerhandler = logging.StreamHandler(stream=stream)
+ if keepalive is not None:
+ loggerhandler = KeepAliveStreamHandler(stream=stream, keepalive=keepalive)
+ else:
+ loggerhandler = logging.StreamHandler(stream=stream)
loggerhandler.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
logger.addHandler(loggerhandler)
logger.setLevel(logging.INFO)
diff --git a/poky/scripts/lib/wic/__init__.py b/poky/scripts/lib/wic/__init__.py
index ba2d61406..85567934a 100644
--- a/poky/scripts/lib/wic/__init__.py
+++ b/poky/scripts/lib/wic/__init__.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python -tt
+#!/usr/bin/env python3
#
# Copyright (c) 2007 Red Hat, Inc.
# Copyright (c) 2011 Intel, Inc.
diff --git a/poky/scripts/lib/wic/canned-wks/qemuriscv.wks b/poky/scripts/lib/wic/canned-wks/qemuriscv.wks
new file mode 100644
index 000000000..12c68b706
--- /dev/null
+++ b/poky/scripts/lib/wic/canned-wks/qemuriscv.wks
@@ -0,0 +1,3 @@
+# short-description: Create qcow2 image for RISC-V QEMU machines
+
+part / --source rootfs --fstype=ext4 --label root --align 4096 --size 5G
diff --git a/poky/scripts/lib/wic/ksparser.py b/poky/scripts/lib/wic/ksparser.py
index 62048213b..6a643ba3a 100644
--- a/poky/scripts/lib/wic/ksparser.py
+++ b/poky/scripts/lib/wic/ksparser.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python -tt
+#!/usr/bin/env python3
#
# Copyright (c) 2016 Intel, Inc.
#
@@ -151,6 +151,8 @@ class KickStart():
part.add_argument('--part-name')
part.add_argument('--part-type')
part.add_argument('--rootfs-dir')
+ part.add_argument('--type', default='primary',
+ choices = ('primary', 'logical'))
# --size and --fixed-size cannot be specified together; options
# ----extra-space and --overhead-factor should also raise a parser
diff --git a/poky/scripts/lib/wic/partition.py b/poky/scripts/lib/wic/partition.py
index 01466b258..d809408e1 100644
--- a/poky/scripts/lib/wic/partition.py
+++ b/poky/scripts/lib/wic/partition.py
@@ -50,6 +50,7 @@ class Partition():
self.use_uuid = args.use_uuid
self.uuid = args.uuid
self.fsuuid = args.fsuuid
+ self.type = args.type
self.lineno = lineno
self.source_file = ""
@@ -211,19 +212,24 @@ class Partition():
if os.path.isfile(rootfs):
os.remove(rootfs)
- # Get rootfs size from bitbake variable if it's not set in .ks file
if not self.size and real_rootfs:
- # Bitbake variable ROOTFS_SIZE is calculated in
- # Image._get_rootfs_size method from meta/lib/oe/image.py
- # using IMAGE_ROOTFS_SIZE, IMAGE_ROOTFS_ALIGNMENT,
- # IMAGE_OVERHEAD_FACTOR and IMAGE_ROOTFS_EXTRA_SPACE
+ # The rootfs size is not set in .ks file so try to get it
+ # from bitbake variable
rsize_bb = get_bitbake_var('ROOTFS_SIZE')
- if rsize_bb:
- logger.warning('overhead-factor was specified, but size was not,'
- ' so bitbake variables will be used for the size.'
- ' In this case both IMAGE_OVERHEAD_FACTOR and '
- '--overhead-factor will be applied')
+ rdir = get_bitbake_var('IMAGE_ROOTFS')
+ if rsize_bb and rdir == rootfs_dir:
+ # Bitbake variable ROOTFS_SIZE is calculated in
+ # Image._get_rootfs_size method from meta/lib/oe/image.py
+ # using IMAGE_ROOTFS_SIZE, IMAGE_ROOTFS_ALIGNMENT,
+ # IMAGE_OVERHEAD_FACTOR and IMAGE_ROOTFS_EXTRA_SPACE
self.size = int(round(float(rsize_bb)))
+ else:
+ # Bitbake variable ROOTFS_SIZE is not defined so compute it
+ # from the rootfs_dir size using the same logic found in
+ # get_rootfs_size() from meta/classes/image.bbclass
+ du_cmd = "du -ks %s" % rootfs_dir
+ out = exec_cmd(du_cmd)
+ self.size = int(out.split()[0])
prefix = "ext" if self.fstype.startswith("ext") else self.fstype
method = getattr(self, "prepare_rootfs_" + prefix)
diff --git a/poky/scripts/lib/wic/pluginbase.py b/poky/scripts/lib/wic/pluginbase.py
index bfb73ca61..f74d6430f 100644
--- a/poky/scripts/lib/wic/pluginbase.py
+++ b/poky/scripts/lib/wic/pluginbase.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python -tt
+#!/usr/bin/env python3
#
# Copyright (c) 2011 Intel, Inc.
#
diff --git a/poky/scripts/lib/wic/plugins/imager/direct.py b/poky/scripts/lib/wic/plugins/imager/direct.py
index 67addeff3..3ce6ad55b 100644
--- a/poky/scripts/lib/wic/plugins/imager/direct.py
+++ b/poky/scripts/lib/wic/plugins/imager/direct.py
@@ -49,7 +49,6 @@ class DirectPlugin(ImagerPlugin):
# parse possible 'rootfs=name' items
self.rootfs_dir = dict(rdir.split('=') for rdir in rootfs_dir.split(' '))
- self.replaced_rootfs_paths = {}
self.bootimg_dir = bootimg_dir
self.kernel_dir = kernel_dir
self.native_sysroot = native_sysroot
@@ -59,6 +58,7 @@ class DirectPlugin(ImagerPlugin):
self.compressor = options.compressor
self.bmap = options.bmap
self.no_fstab_update = options.no_fstab_update
+ self.original_fstab = None
self.name = "%s-%s" % (os.path.splitext(os.path.basename(wks_file))[0],
strftime("%Y%m%d%H%M"))
@@ -104,24 +104,13 @@ class DirectPlugin(ImagerPlugin):
with open(fstab_path) as fstab:
fstab_lines = fstab.readlines()
+ self.original_fstab = fstab_lines.copy()
if self._update_fstab(fstab_lines, self.parts):
- # copy rootfs dir to workdir to update fstab
- # as rootfs can be used by other tasks and can't be modified
- new_pseudo = os.path.realpath(os.path.join(self.workdir, "pseudo"))
- from_dir = os.path.join(os.path.join(image_rootfs, ".."), "pseudo")
- from_dir = os.path.realpath(from_dir)
- copyhardlinktree(from_dir, new_pseudo)
- new_rootfs = os.path.realpath(os.path.join(self.workdir, "rootfs_copy"))
- copyhardlinktree(image_rootfs, new_rootfs)
- fstab_path = os.path.join(new_rootfs, 'etc/fstab')
-
- os.unlink(fstab_path)
-
with open(fstab_path, "w") as fstab:
fstab.writelines(fstab_lines)
-
- return new_rootfs
+ else:
+ self.original_fstab = None
def _update_fstab(self, fstab_lines, parts):
"""Assume partition order same as in wks"""
@@ -170,14 +159,8 @@ class DirectPlugin(ImagerPlugin):
filesystems from the artifacts directly and combine them into
a partitioned image.
"""
- if self.no_fstab_update:
- new_rootfs = None
- else:
- new_rootfs = self._write_fstab(self.rootfs_dir.get("ROOTFS_DIR"))
- if new_rootfs:
- # rootfs was copied to update fstab
- self.replaced_rootfs_paths[new_rootfs] = self.rootfs_dir['ROOTFS_DIR']
- self.rootfs_dir['ROOTFS_DIR'] = new_rootfs
+ if not self.no_fstab_update:
+ self._write_fstab(self.rootfs_dir.get("ROOTFS_DIR"))
for part in self.parts:
# get rootfs size from bitbake variable if it's not set in .ks file
@@ -253,8 +236,6 @@ class DirectPlugin(ImagerPlugin):
else:
suffix = '["%s"]:' % (part.mountpoint or part.label)
rootdir = part.rootfs_dir
- if rootdir in self.replaced_rootfs_paths:
- rootdir = self.replaced_rootfs_paths[rootdir]
msg += ' ROOTFS_DIR%s%s\n' % (suffix.ljust(20), rootdir)
msg += ' BOOTIMG_DIR: %s\n' % self.bootimg_dir
@@ -292,6 +273,12 @@ class DirectPlugin(ImagerPlugin):
if os.path.isfile(path):
shutil.move(path, os.path.join(self.outdir, fname))
+ #Restore original fstab
+ if self.original_fstab:
+ fstab_path = self.rootfs_dir.get("ROOTFS_DIR") + "/etc/fstab"
+ with open(fstab_path, "w") as fstab:
+ fstab.writelines(self.original_fstab)
+
# remove work directory
shutil.rmtree(self.workdir, ignore_errors=True)
@@ -313,6 +300,10 @@ class PartitionedImage():
self.path = path # Path to the image file
self.numpart = 0 # Number of allocated partitions
self.realpart = 0 # Number of partitions in the partition table
+ self.primary_part_num = 0 # Number of primary partitions (msdos)
+ self.extendedpart = 0 # Create extended partition before this logical partition (msdos)
+ self.extended_size_sec = 0 # Size of exteded partition (msdos)
+ self.logical_part_cnt = 0 # Number of total logical paritions (msdos)
self.offset = 0 # Offset of next partition (in sectors)
self.min_size = 0 # Minimum required disk size to fit
# all partitions (in bytes)
@@ -404,12 +395,16 @@ class PartitionedImage():
# Skip one sector required for the partitioning scheme overhead
self.offset += overhead
- if self.realpart > 3 and num_real_partitions > 4:
+ if self.ptable_format == "msdos":
+ if self.primary_part_num > 3 or \
+ (self.extendedpart == 0 and self.primary_part_num >= 3 and num_real_partitions > 4):
+ part.type = 'logical'
# Reserve a sector for EBR for every logical partition
# before alignment is performed.
- if self.ptable_format == "msdos":
+ if part.type == 'logical':
self.offset += 1
+ align_sectors = 0
if part.align:
# If not first partition and we do have alignment set we need
# to align the partition.
@@ -435,18 +430,25 @@ class PartitionedImage():
part.start = self.offset
self.offset += part.size_sec
- part.type = 'primary'
if not part.no_table:
part.num = self.realpart
else:
part.num = 0
- if self.ptable_format == "msdos":
- # only count the partitions that are in partition table
- if num_real_partitions > 4:
- if self.realpart > 3:
- part.type = 'logical'
- part.num = self.realpart + 1
+ if self.ptable_format == "msdos" and not part.no_table:
+ if part.type == 'logical':
+ self.logical_part_cnt += 1
+ part.num = self.logical_part_cnt + 4
+ if self.extendedpart == 0:
+ # Create extended partition as a primary partition
+ self.primary_part_num += 1
+ self.extendedpart = part.num
+ else:
+ self.extended_size_sec += align_sectors
+ self.extended_size_sec += part.size_sec + 1
+ else:
+ self.primary_part_num += 1
+ part.num = self.primary_part_num
logger.debug("Assigned %s to %s%d, sectors range %d-%d size %d "
"sectors (%d bytes).", part.mountpoint, part.disk,
@@ -496,7 +498,7 @@ class PartitionedImage():
if part.num == 0:
continue
- if self.ptable_format == "msdos" and part.num == 5:
+ if self.ptable_format == "msdos" and part.num == self.extendedpart:
# Create an extended partition (note: extended
# partition is described in MBR and contains all
# logical partitions). The logical partitions save a
@@ -510,7 +512,7 @@ class PartitionedImage():
# room for all logical partitions.
self._create_partition(self.path, "extended",
None, part.start - 1,
- self.offset - part.start + 1)
+ self.extended_size_sec)
if part.fstype == "swap":
parted_fs_type = "linux-swap"
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-biosplusefi.py b/poky/scripts/lib/wic/plugins/source/bootimg-biosplusefi.py
new file mode 100644
index 000000000..5bd739068
--- /dev/null
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-biosplusefi.py
@@ -0,0 +1,213 @@
+#
+# 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, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# DESCRIPTION
+# This implements the 'bootimg-biosplusefi' source plugin class for 'wic'
+#
+# AUTHORS
+# William Bourque <wbourque [at) gmail.com>
+
+import types
+
+from wic.pluginbase import SourcePlugin
+from importlib.machinery import SourceFileLoader
+
+class BootimgBiosPlusEFIPlugin(SourcePlugin):
+ """
+ Create MBR + EFI boot partition
+
+ This plugin creates a boot partition that contains both
+ legacy BIOS and EFI content. It will be able to boot from both.
+ This is useful when managing PC fleet with some older machines
+ without EFI support.
+
+ Note it is possible to create an image that can boot from both
+ legacy BIOS and EFI by defining two partitions : one with arg
+ --source bootimg-efi and another one with --source bootimg-pcbios.
+ However, this method has the obvious downside that it requires TWO
+ partitions to be created on the storage device.
+ Both partitions will also be marked as "bootable" which does not work on
+ most BIOS, has BIOS often uses the "bootable" flag to determine
+ what to boot. If you have such a BIOS, you need to manually remove the
+ "bootable" flag from the EFI partition for the drive to be bootable.
+ Having two partitions also seems to confuse wic : the content of
+ the first partition will be duplicated into the second, even though it
+ will not be used at all.
+
+ Also, unlike "isoimage-isohybrid" that also does BIOS and EFI, this plugin
+ allows you to have more than only a single rootfs partitions and does
+ not turn the rootfs into an initramfs RAM image.
+
+ This plugin is made to put everything into a single /boot partition so it
+ does not have the limitations listed above.
+
+ The plugin is made so it does tries not to reimplement what's already
+ been done in other plugins; as such it imports "bootimg-pcbios"
+ and "bootimg-efi".
+ Plugin "bootimg-pcbios" is used to generate legacy BIOS boot.
+ Plugin "bootimg-efi" is used to generate the UEFI boot. Note that it
+ requires a --sourceparams argument to know which loader to use; refer
+ to "bootimg-efi" code/documentation for the list of loader.
+
+ Imports are handled with "SourceFileLoader" from importlib as it is
+ otherwise very difficult to import module that has hyphen "-" in their
+ filename.
+ The SourcePlugin() methods used in the plugins (do_install_disk,
+ do_configure_partition, do_prepare_partition) are then called on both,
+ beginning by "bootimg-efi".
+
+ Plugin options, such as "--sourceparams" can still be passed to a
+ plugin, as long they does not cause issue in the other plugin.
+
+ Example wic configuration:
+ part /boot --source bootimg-biosplusefi --sourceparams="loader=grub-efi"\\
+ --ondisk sda --label os_boot --active --align 1024 --use-uuid
+ """
+
+ name = 'bootimg-biosplusefi'
+
+ __PCBIOS_MODULE_NAME = "bootimg-pcbios"
+ __EFI_MODULE_NAME = "bootimg-efi"
+
+ __imgEFIObj = None
+ __imgBiosObj = None
+
+ @classmethod
+ def __init__(cls):
+ """
+ Constructor (init)
+ """
+
+ # XXX
+ # For some reasons, __init__ constructor is never called.
+ # Something to do with how pluginbase works?
+ cls.__instanciateSubClasses()
+
+ @classmethod
+ def __instanciateSubClasses(cls):
+ """
+
+ """
+
+ # Import bootimg-pcbios (class name "BootimgPcbiosPlugin")
+ modulePath = os.path.join(os.path.dirname(os.path.realpath(__file__)),
+ cls.__PCBIOS_MODULE_NAME + ".py")
+ loader = SourceFileLoader(cls.__PCBIOS_MODULE_NAME, modulePath)
+ mod = types.ModuleType(loader.name)
+ loader.exec_module(mod)
+ cls.__imgBiosObj = mod.BootimgPcbiosPlugin()
+
+ # Import bootimg-efi (class name "BootimgEFIPlugin")
+ modulePath = os.path.join(os.path.dirname(os.path.realpath(__file__)),
+ cls.__EFI_MODULE_NAME + ".py")
+ loader = SourceFileLoader(cls.__EFI_MODULE_NAME, modulePath)
+ mod = types.ModuleType(loader.name)
+ loader.exec_module(mod)
+ cls.__imgEFIObj = mod.BootimgEFIPlugin()
+
+ @classmethod
+ def do_install_disk(cls, disk, disk_name, creator, workdir, oe_builddir,
+ bootimg_dir, kernel_dir, native_sysroot):
+ """
+ Called after all partitions have been prepared and assembled into a
+ disk image.
+ """
+
+ if ( (not cls.__imgEFIObj) or (not cls.__imgBiosObj) ):
+ cls.__instanciateSubClasses()
+
+ cls.__imgEFIObj.do_install_disk(
+ disk,
+ disk_name,
+ creator,
+ workdir,
+ oe_builddir,
+ bootimg_dir,
+ kernel_dir,
+ native_sysroot)
+
+ cls.__imgBiosObj.do_install_disk(
+ disk,
+ disk_name,
+ creator,
+ workdir,
+ oe_builddir,
+ bootimg_dir,
+ kernel_dir,
+ native_sysroot)
+
+ @classmethod
+ def do_configure_partition(cls, part, source_params, creator, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ native_sysroot):
+ """
+ Called before do_prepare_partition()
+ """
+
+ if ( (not cls.__imgEFIObj) or (not cls.__imgBiosObj) ):
+ cls.__instanciateSubClasses()
+
+ cls.__imgEFIObj.do_configure_partition(
+ part,
+ source_params,
+ creator,
+ cr_workdir,
+ oe_builddir,
+ bootimg_dir,
+ kernel_dir,
+ native_sysroot)
+
+ cls.__imgBiosObj.do_configure_partition(
+ part,
+ source_params,
+ creator,
+ cr_workdir,
+ oe_builddir,
+ bootimg_dir,
+ kernel_dir,
+ native_sysroot)
+
+ @classmethod
+ def do_prepare_partition(cls, part, source_params, creator, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ rootfs_dir, native_sysroot):
+ """
+ Called to do the actual content population for a partition i.e. it
+ 'prepares' the partition to be incorporated into the image.
+ """
+
+ if ( (not cls.__imgEFIObj) or (not cls.__imgBiosObj) ):
+ cls.__instanciateSubClasses()
+
+ cls.__imgEFIObj.do_prepare_partition(
+ part,
+ source_params,
+ creator,
+ cr_workdir,
+ oe_builddir,
+ bootimg_dir,
+ kernel_dir,
+ rootfs_dir,
+ native_sysroot)
+
+ cls.__imgBiosObj.do_prepare_partition(
+ part,
+ source_params,
+ creator,
+ cr_workdir,
+ oe_builddir,
+ bootimg_dir,
+ kernel_dir,
+ rootfs_dir,
+ native_sysroot)
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
index 5cc5c8a6b..2cfdc10ec 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -74,8 +74,10 @@ class BootimgEFIPlugin(SourcePlugin):
grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot")
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
- if not kernel:
- kernel = "bzImage"
+ if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
+ if get_bitbake_var("INITRAMFS_IMAGE"):
+ kernel = "%s-%s.bin" % \
+ (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
label = source_params.get('label')
label_conf = "root=%s" % creator.rootdev
@@ -154,8 +156,10 @@ class BootimgEFIPlugin(SourcePlugin):
if not custom_cfg:
# Create systemd-boot configuration using parameters from wks file
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
- if not kernel:
- kernel = "bzImage"
+ if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
+ if get_bitbake_var("INITRAMFS_IMAGE"):
+ kernel = "%s-%s.bin" % \
+ (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
title = source_params.get('title')
@@ -225,8 +229,10 @@ class BootimgEFIPlugin(SourcePlugin):
hdddir = "%s/hdd/boot" % cr_workdir
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
- if not kernel:
- kernel = "bzImage"
+ if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
+ if get_bitbake_var("INITRAMFS_IMAGE"):
+ kernel = "%s-%s.bin" % \
+ (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
install_cmd = "install -m 0644 %s/%s %s/%s" % \
(staging_kernel_dir, kernel, hdddir, kernel)
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py
index 670d34774..f2639e700 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py
@@ -150,8 +150,10 @@ class BootimgPcbiosPlugin(SourcePlugin):
hdddir = "%s/hdd/boot" % cr_workdir
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
- if not kernel:
- kernel = "bzImage"
+ if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
+ if get_bitbake_var("INITRAMFS_IMAGE"):
+ kernel = "%s-%s.bin" % \
+ (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
cmds = ("install -m 0644 %s/%s %s/vmlinuz" %
(staging_kernel_dir, kernel, hdddir),
diff --git a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
index 74d6f1451..24299c1ec 100644
--- a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
+++ b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
@@ -71,8 +71,11 @@ class IsoImagePlugin(SourcePlugin):
syslinux_conf += "LABEL boot\n"
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
- if not kernel:
- kernel = "bzImage"
+ if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
+ if get_bitbake_var("INITRAMFS_IMAGE"):
+ kernel = "%s-%s.bin" % \
+ (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
+
syslinux_conf += "KERNEL /" + kernel + "\n"
syslinux_conf += "APPEND initrd=/initrd LABEL=boot %s\n" \
% bootloader.append
@@ -117,8 +120,10 @@ class IsoImagePlugin(SourcePlugin):
grubefi_conf += "menuentry 'boot'{\n"
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
- if not kernel:
- kernel = "bzImage"
+ if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
+ if get_bitbake_var("INITRAMFS_IMAGE"):
+ kernel = "%s-%s.bin" % \
+ (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
grubefi_conf += "linux /%s rootwait %s\n" \
% (kernel, bootloader.append)
@@ -273,8 +278,10 @@ class IsoImagePlugin(SourcePlugin):
os.remove("%s/initrd.cpio.gz" % cr_workdir)
kernel = get_bitbake_var("KERNEL_IMAGETYPE")
- if not kernel:
- kernel = "bzImage"
+ if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1":
+ if get_bitbake_var("INITRAMFS_IMAGE"):
+ kernel = "%s-%s.bin" % \
+ (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
install_cmd = "install -m 0644 %s/%s %s/%s" % \
(kernel_dir, kernel, isodir, kernel)
diff --git a/poky/scripts/oe-git-proxy b/poky/scripts/oe-git-proxy
index bb2ed2a46..aa9b9dc9a 100755
--- a/poky/scripts/oe-git-proxy
+++ b/poky/scripts/oe-git-proxy
@@ -19,6 +19,9 @@
# AUTHORS
# Darren Hart <dvhart@linux.intel.com>
+# disable pathname expansion, NO_PROXY fields could start with "*" or be it
+set -f
+
if [ $# -lt 2 -o "$1" = '--help' -o "$1" = '-h' ] ; then
echo 'oe-git-proxy: error: the following arguments are required: host port'
echo 'Usage: oe-git-proxy host port'
@@ -41,10 +44,12 @@ if [ $# -lt 2 -o "$1" = '--help' -o "$1" = '-h' ] ; then
fi
# Locate the netcat binary
-SOCAT=$(which socat 2>/dev/null)
-if [ $? -ne 0 ]; then
- echo "ERROR: socat binary not in PATH" 1>&2
- exit 1
+if [ -z "$SOCAT" ]; then
+ SOCAT=$(which socat 2>/dev/null)
+ if [ $? -ne 0 ]; then
+ echo "ERROR: socat binary not in PATH" 1>&2
+ exit 1
+ fi
fi
METHOD=""
@@ -59,7 +64,7 @@ ipv4_val() {
IP="$1"
SHIFT=24
VAL=0
- for B in ${IP//./ }; do
+ for B in $( echo "$IP" | tr '.' ' ' ); do
VAL=$(($VAL+$(($B<<$SHIFT))))
SHIFT=$(($SHIFT-8))
done
@@ -102,7 +107,7 @@ match_host() {
HOST=$1
GLOB=$2
- if [ -z "${HOST%%$GLOB}" ]; then
+ if [ -z "${HOST%%*$GLOB}" ]; then
return 0
fi
@@ -132,8 +137,8 @@ if [ -z "$ALL_PROXY" ]; then
fi
# Connect directly to hosts in NO_PROXY
-for H in "${NO_PROXY//,/ }"; do
- if match_host $1 "$H"; then
+for H in $( echo "$NO_PROXY" | tr ',' ' ' ); do
+ if match_host $1 $H; then
exec $SOCAT STDIO $METHOD
fi
done
diff --git a/poky/scripts/oe-selftest b/poky/scripts/oe-selftest
index 57662b2f7..18ac0f586 100755
--- a/poky/scripts/oe-selftest
+++ b/poky/scripts/oe-selftest
@@ -33,7 +33,7 @@ scriptpath.add_bitbake_lib_path()
from oeqa.utils import load_test_components
from oeqa.core.exception import OEQAPreRun
-logger = scriptutils.logger_create('oe-selftest', stream=sys.stdout)
+logger = scriptutils.logger_create('oe-selftest', stream=sys.stdout, keepalive=True)
def main():
description = "Script that runs unit tests against bitbake and other Yocto related tools. The goal is to validate tools functionality and metadata integrity. Refer to https://wiki.yoctoproject.org/wiki/Oe-selftest for more information."
diff --git a/poky/scripts/postinst-intercepts/update_gtk_icon_cache b/poky/scripts/postinst-intercepts/update_gtk_icon_cache
new file mode 100644
index 000000000..99367a285
--- /dev/null
+++ b/poky/scripts/postinst-intercepts/update_gtk_icon_cache
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# SPDX-License-Identifier: MIT
+#
+# Post-install intercept for gtk-icon-cache.bbclass
+
+set -e
+
+# Update native pixbuf loaders
+$STAGING_DIR_NATIVE/${libdir_native}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache
+
+for icondir in $D/usr/share/icons/*/ ; do
+ if [ -d $icondir ] ; then
+ gtk-update-icon-cache -fqt $icondir
+ fi
+done
+
diff --git a/poky/scripts/postinst-intercepts/update_icon_cache b/poky/scripts/postinst-intercepts/update_icon_cache
deleted file mode 100644
index 212209a9d..000000000
--- a/poky/scripts/postinst-intercepts/update_icon_cache
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-#
-# SPDX-License-Identifier: MIT
-#
-
-set -e
-
-# update native pixbuf loaders
-$STAGING_DIR_NATIVE/${libdir_native}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache
-
-for icondir in $D/usr/share/icons/*/ ; do
- if [ -d $icondir ] ; then
- gtk-update-icon-cache -fqt $icondir
- fi
-done
-
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 4079f2b17..1a5aca98a 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -59,31 +59,32 @@ def print_usage():
Usage: you can run this script with any valid combination
of the following environment variables (in any order):
KERNEL - the kernel image file to use
+ BIOS - the bios image file to use
ROOTFS - the rootfs image file or nfsroot directory to use
DEVICE_TREE - the device tree blob to use
MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified)
Simplified QEMU command-line options can be passed with:
nographic - disable video console
- sdl - choose the SDL frontend instead of the Gtk+ default
- gtk-gl - enable virgl-based GL acceleration using Gtk+ frontend
- gtk-gl-es - enable virgl-based GL acceleration, using OpenGL ES and Gtk+ frontend
+ sdl - choose the SDL UI frontend
+ gtk - choose the Gtk UI frontend
+ gl - enable virgl-based GL acceleration (also needs gtk option)
+ gl-es - enable virgl-based GL acceleration, using OpenGL ES (also needs gtk option)
egl-headless - enable headless EGL output; use vnc or spice to see it
serial - enable a serial console on /dev/ttyS0
serialstdio - enable a serial console on the console (regardless of graphics mode)
slirp - enable user networking, no root privileges is required
+ snapshot - don't write changes to back to images
kvm - enable KVM when running x86/x86_64 (VT-capable CPU required)
kvm-vhost - enable KVM with vhost when running x86/x86_64 (VT-capable CPU required)
publicvnc - enable a VNC server open to all hosts
audio - enable audio
[*/]ovmf* - OVMF firmware file or base name for booting with UEFI
tcpserial=<port> - specify tcp serial port number
- biosdir=<dir> - specify custom bios dir
- biosfilename=<filename> - specify bios filename
qemuparams=<xyz> - specify custom parameters to QEMU
bootparams=<xyz> - specify custom kernel parameters during boot
help, -h, --help: print this text
-d, --debug: Enable debug output
- -q, --quite: Hide most output except error messages
+ -q, --quiet: Hide most output except error messages
Examples:
runqemu
@@ -119,19 +120,6 @@ def get_first_file(cmds):
return f
return ''
-def check_free_port(host, port):
- """ Check whether the port is free or not """
- import socket
- from contextlib import closing
-
- with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
- if sock.connect_ex((host, port)) == 0:
- # Port is open, so not free
- return False
- else:
- # Port is not open, so free
- return True
-
class BaseConfig(object):
def __init__(self):
# The self.d saved vars from self.set(), part of them are from qemuboot.conf
@@ -142,6 +130,7 @@ class BaseConfig(object):
self.env_vars = ('MACHINE',
'ROOTFS',
'KERNEL',
+ 'BIOS',
'DEVICE_TREE',
'DEPLOY_DIR_IMAGE',
'OE_TMPDIR',
@@ -158,12 +147,15 @@ class BaseConfig(object):
# to be added with -drive if=pflash.
# Found in the same places as the rootfs, with or without one of
# these suffices: qcow2, bin.
- # Setting one also adds "-vga std" because that is all that
- # OVMF supports.
self.ovmf_bios = []
+ # When enrolling default Secure Boot keys, the hypervisor
+ # must provide the Platform Key and the first Key Exchange Key
+ # certificate in the Type 11 SMBIOS table.
+ self.ovmf_secboot_pkkek1 = ''
self.qemuboot = ''
self.qbconfload = False
self.kernel = ''
+ self.bios = ''
self.kernel_cmdline = ''
self.kernel_cmdline_script = ''
self.bootparams = ''
@@ -180,15 +172,15 @@ class BaseConfig(object):
self.saved_stty = ''
self.audio_enabled = False
self.tcpserial_portnum = ''
- self.custombiosdir = ''
- self.lock = ''
- self.lock_descriptor = None
+ self.taplock = ''
+ self.taplock_descriptor = None
+ self.portlocks = {}
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', 'iso')
+ self.vmtypes = ('hddimg', 'iso')
self.fsinfo = {}
self.network_device = "-device e1000,netdev=net0,mac=@MAC@"
# Use different mac section for tap and slirp to avoid
@@ -204,30 +196,78 @@ class BaseConfig(object):
# avoid cleanup twice
self.cleaned = False
- def acquire_lock(self, error=True):
- logger.debug("Acquiring lockfile %s..." % self.lock)
+ def acquire_taplock(self, error=True):
+ logger.debug("Acquiring lockfile %s..." % self.taplock)
try:
- self.lock_descriptor = open(self.lock, 'w')
- fcntl.flock(self.lock_descriptor, fcntl.LOCK_EX|fcntl.LOCK_NB)
+ self.taplock_descriptor = open(self.taplock, 'w')
+ fcntl.flock(self.taplock_descriptor, fcntl.LOCK_EX|fcntl.LOCK_NB)
except Exception as e:
- msg = "Acquiring lockfile %s failed: %s" % (self.lock, e)
+ msg = "Acquiring lockfile %s failed: %s" % (self.taplock, e)
if error:
logger.error(msg)
else:
logger.info(msg)
- if self.lock_descriptor:
- self.lock_descriptor.close()
- self.lock_descriptor = None
+ if self.taplock_descriptor:
+ self.taplock_descriptor.close()
+ self.taplock_descriptor = None
return False
return True
- def release_lock(self):
- if self.lock_descriptor:
+ def release_taplock(self):
+ if self.taplock_descriptor:
logger.debug("Releasing lockfile for tap device '%s'" % self.tap)
- fcntl.flock(self.lock_descriptor, fcntl.LOCK_UN)
- self.lock_descriptor.close()
- os.remove(self.lock)
- self.lock_descriptor = None
+ fcntl.flock(self.taplock_descriptor, fcntl.LOCK_UN)
+ self.taplock_descriptor.close()
+ os.remove(self.taplock)
+ self.taplock_descriptor = None
+
+ def check_free_port(self, host, port, lockdir):
+ """ Check whether the port is free or not """
+ import socket
+ from contextlib import closing
+
+ lockfile = os.path.join(lockdir, str(port) + '.lock')
+ if self.acquire_portlock(lockfile):
+ with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
+ if sock.connect_ex((host, port)) == 0:
+ # Port is open, so not free
+ self.release_portlock(lockfile)
+ return False
+ else:
+ # Port is not open, so free
+ return True
+ else:
+ return False
+
+ def acquire_portlock(self, lockfile):
+ logger.debug("Acquiring lockfile %s..." % lockfile)
+ try:
+ portlock_descriptor = open(lockfile, 'w')
+ self.portlocks.update({lockfile: portlock_descriptor})
+ fcntl.flock(self.portlocks[lockfile], fcntl.LOCK_EX|fcntl.LOCK_NB)
+ except Exception as e:
+ msg = "Acquiring lockfile %s failed: %s" % (lockfile, e)
+ logger.info(msg)
+ if lockfile in self.portlocks.keys() and self.portlocks[lockfile]:
+ self.portlocks[lockfile].close()
+ del self.portlocks[lockfile]
+ return False
+ return True
+
+ def release_portlock(self, lockfile=None):
+ if lockfile != None:
+ logger.debug("Releasing lockfile '%s'" % lockfile)
+ fcntl.flock(self.portlocks[lockfile], fcntl.LOCK_UN)
+ self.portlocks[lockfile].close()
+ os.remove(lockfile)
+ del self.portlocks[lockfile]
+ elif len(self.portlocks):
+ for lockfile, descriptor in self.portlocks.items():
+ logger.debug("Releasing lockfile '%s'" % lockfile)
+ fcntl.flock(descriptor, fcntl.LOCK_UN)
+ descriptor.close()
+ os.remove(lockfile)
+ self.portlocks = {}
def get(self, key):
if key in self.d:
@@ -398,10 +438,16 @@ class BaseConfig(object):
self.kernel_cmdline_script += ' console=ttyS0'
elif arg == 'sdl':
self.qemu_opt_script += ' -display sdl'
- elif arg == 'gtk-gl':
- self.qemu_opt_script += ' -vga virtio -display gtk,gl=on'
- elif arg == 'gtk-gl-es':
- self.qemu_opt_script += ' -vga virtio -display gtk,gl=es'
+ elif arg == 'gtk':
+ if 'gl' in sys.argv[1:]:
+ self.qemu_opt_script += ' -vga virtio -display gtk,gl=on'
+ elif 'gl-es' in sys.argv[1:]:
+ self.qemu_opt_script += ' -vga virtio -display gtk,gl=es'
+ else:
+ self.qemu_opt_script += ' -display gtk'
+ elif arg == 'gl' or arg == 'gl-es':
+ # These args are handled inside sdl or gtk blocks above
+ pass
elif arg == 'egl-headless':
self.qemu_opt_script += ' -vga virtio -display egl-headless'
# As runqemu can be run within bitbake (when using testimage, for example),
@@ -440,10 +486,6 @@ class BaseConfig(object):
self.qemu_opt_script += ' -vnc :0'
elif arg.startswith('tcpserial='):
self.tcpserial_portnum = '%s' % arg[len('tcpserial='):]
- elif arg.startswith('biosdir='):
- self.custombiosdir = arg[len('biosdir='):]
- elif arg.startswith('biosfilename='):
- self.qemu_opt_script += ' -bios %s' % arg[len('biosfilename='):]
elif arg.startswith('qemuparams='):
self.qemuparams = ' %s' % arg[len('qemuparams='):]
elif arg.startswith('bootparams='):
@@ -602,6 +644,23 @@ class BaseConfig(object):
if not os.path.exists(self.rootfs):
raise RunQemuError("Can't find rootfs: %s" % self.rootfs)
+ def setup_pkkek1(self):
+ """
+ Extract from PEM certificate the Platform Key and first Key
+ Exchange Key certificate string. The hypervisor needs to provide
+ it in the Type 11 SMBIOS table
+ """
+ pemcert = '%s/%s' % (self.get('DEPLOY_DIR_IMAGE'), 'OvmfPkKek1.pem')
+ try:
+ with open(pemcert, 'r') as pemfile:
+ key = pemfile.read().replace('\n', ''). \
+ replace('-----BEGIN CERTIFICATE-----', ''). \
+ replace('-----END CERTIFICATE-----', '')
+ self.ovmf_secboot_pkkek1 = key
+
+ except FileNotFoundError:
+ raise RunQemuError("Can't open PEM certificate %s " % pemcert)
+
def check_ovmf(self):
"""Check and set full path for OVMF firmware and variable file(s)."""
@@ -612,6 +671,8 @@ class BaseConfig(object):
path = '%s/%s.%s' % (self.get('DEPLOY_DIR_IMAGE'), ovmf, suffix)
if os.path.exists(path):
self.ovmf_bios[index] = path
+ if ovmf.endswith('secboot'):
+ self.setup_pkkek1()
break
else:
raise RunQemuError("Can't find OVMF firmware: %s" % ovmf)
@@ -666,25 +727,30 @@ class BaseConfig(object):
if not os.path.exists(self.dtb):
raise RunQemuError('DTB not found: %s, %s or %s' % cmds)
- def check_biosdir(self):
- """Check custombiosdir"""
- if not self.custombiosdir:
+ def check_bios(self):
+ """Check and set bios"""
+
+ # See if the user supplied a BIOS option
+ if self.get('BIOS'):
+ self.bios = self.get('BIOS')
+
+ # QB_DEFAULT_BIOS is always a full file path
+ bios_name = os.path.basename(self.get('QB_DEFAULT_BIOS'))
+
+ # The user didn't want a bios to be loaded
+ if (bios_name == "" or bios_name == "none") and not self.bios:
return
- biosdir = ""
- biosdir_native = "%s/%s" % (self.get('STAGING_DIR_NATIVE'), self.custombiosdir)
- biosdir_host = "%s/%s" % (self.get('STAGING_DIR_HOST'), self.custombiosdir)
- for i in (self.custombiosdir, biosdir_native, biosdir_host):
- if os.path.isdir(i):
- biosdir = i
- break
+ if not self.bios:
+ deploy_dir_image = self.get('DEPLOY_DIR_IMAGE')
+ self.bios = "%s/%s" % (deploy_dir_image, bios_name)
+
+ if not self.bios:
+ raise RunQemuError('BIOS not found: %s' % bios_match_name)
+
+ if not os.path.exists(self.bios):
+ raise RunQemuError("KERNEL %s not found" % self.bios)
- if biosdir:
- logger.debug("Assuming biosdir is: %s" % biosdir)
- self.qemu_opt_script += ' -L %s' % biosdir
- else:
- logger.error("Custom BIOS directory not found. Tried: %s, %s, and %s" % (self.custombiosdir, biosdir_native, biosdir_host))
- raise RunQemuError("Invalid custombiosdir: %s" % self.custombiosdir)
def check_mem(self):
"""
@@ -695,8 +761,8 @@ class BaseConfig(object):
if s:
self.set('QB_MEM', '-m %s' % s.group(1))
elif not self.get('QB_MEM'):
- logger.info('QB_MEM is not set, use 512M by default')
- self.set('QB_MEM', '-m 512')
+ logger.info('QB_MEM is not set, use 256M by default')
+ self.set('QB_MEM', '-m 256')
# Check and remove M or m suffix
qb_mem = self.get('QB_MEM')
@@ -752,7 +818,7 @@ class BaseConfig(object):
self.check_ovmf()
self.check_kernel()
self.check_dtb()
- self.check_biosdir()
+ self.check_bios()
self.check_mem()
self.check_tcpserial()
@@ -864,6 +930,8 @@ class BaseConfig(object):
logger.info('Continuing with the following parameters:\n')
if not self.fstype in self.vmtypes:
print('KERNEL: [%s]' % self.kernel)
+ if self.bios:
+ print('BIOS: [%s]' % self.bios)
if self.dtb:
print('DTB: [%s]' % self.dtb)
print('MACHINE: [%s]' % self.get('MACHINE'))
@@ -878,6 +946,8 @@ class BaseConfig(object):
print('ROOTFS: [%s]' % self.rootfs)
if self.ovmf_bios:
print('OVMF: %s' % self.ovmf_bios)
+ if (self.ovmf_secboot_pkkek1):
+ print('SECBOOT PKKEK1: [%s...]' % self.ovmf_secboot_pkkek1[0:100])
print('CONFFILE: [%s]' % self.qemuboot)
print('')
@@ -958,10 +1028,21 @@ class BaseConfig(object):
ports = re.findall('hostfwd=[^-]*:([0-9]+)-[^,-]*', qb_slirp_opt)
ports = [int(i) for i in ports]
mac = 2
+
+ lockdir = "/tmp/qemu-port-locks"
+ if not os.path.exists(lockdir):
+ # There might be a race issue when multi runqemu processess are
+ # running at the same time.
+ try:
+ os.mkdir(lockdir)
+ os.chmod(lockdir, 0o777)
+ except FileExistsError:
+ pass
+
# Find a free port to avoid conflicts
for p in ports[:]:
p_new = p
- while not check_free_port('localhost', p_new):
+ while not self.check_free_port('localhost', p_new, lockdir):
p_new += 1
mac += 1
while p_new in ports:
@@ -1016,8 +1097,8 @@ class BaseConfig(object):
if os.path.exists('%s.skip' % lockfile):
logger.info('Found %s.skip, skipping %s' % (lockfile, p))
continue
- self.lock = lockfile + '.lock'
- if self.acquire_lock(error=False):
+ self.taplock = lockfile + '.lock'
+ if self.acquire_taplock(error=False):
tap = p
logger.info("Using preconfigured tap device %s" % tap)
logger.info("If this is not intended, touch %s.skip to make runqemu skip %s." %(lockfile, tap))
@@ -1035,8 +1116,8 @@ class BaseConfig(object):
cmd = ('sudo', self.qemuifup, str(uid), str(gid), self.bindir_native)
tap = subprocess.check_output(cmd).decode('utf-8').strip()
lockfile = os.path.join(lockdir, tap)
- self.lock = lockfile + '.lock'
- self.acquire_lock()
+ self.taplock = lockfile + '.lock'
+ self.acquire_taplock()
self.cleantap = True
logger.debug('Created tap: %s' % tap)
@@ -1208,13 +1289,16 @@ class BaseConfig(object):
for ovmf in self.ovmf_bios:
format = ovmf.rsplit('.', 1)[-1]
self.qemu_opt += ' -drive if=pflash,format=%s,file=%s' % (format, ovmf)
- if self.ovmf_bios:
- # OVMF only supports normal VGA, i.e. we need to override a -vga vmware
- # that gets added for example for normal qemux86.
- self.qemu_opt += ' -vga std'
self.qemu_opt += ' ' + self.qemu_opt_script
+ if self.ovmf_secboot_pkkek1:
+ # Provide the Platform Key and first Key Exchange Key certificate as an
+ # OEM string in the SMBIOS Type 11 table. Prepend the certificate string
+ # with "application prefix" of the EnrollDefaultKeys.efi application
+ self.qemu_opt += ' -smbios type=11,value=4e32566d-8e9e-4f52-81d3-5bb9715f9727:' \
+ + self.ovmf_secboot_pkkek1
+
# Append qemuparams to override previous settings
if self.qemuparams:
self.qemu_opt += ' ' + self.qemuparams
@@ -1260,6 +1344,8 @@ class BaseConfig(object):
kernel_opts = "-kernel %s -append '%s %s %s %s'" % (self.kernel, self.kernel_cmdline,
self.kernel_cmdline_script, self.get('QB_KERNEL_CMDLINE_APPEND'),
self.bootparams)
+ if self.bios:
+ kernel_opts += " -bios %s" % self.bios
if self.dtb:
kernel_opts += " -dtb %s" % self.dtb
else:
@@ -1268,8 +1354,11 @@ class BaseConfig(object):
cmds = shlex.split(cmd)
logger.info('Running %s\n' % cmd)
pass_fds = []
- if self.lock_descriptor:
- pass_fds = [self.lock_descriptor.fileno()]
+ if self.taplock_descriptor:
+ pass_fds = [self.taplock_descriptor.fileno()]
+ if len(self.portlocks):
+ for descriptor in self.portlocks.values():
+ pass_fds.append(descriptor.fileno())
process = subprocess.Popen(cmds, stderr=subprocess.PIPE, pass_fds=pass_fds)
self.qemupid = process.pid
retcode = process.wait()
@@ -1291,7 +1380,8 @@ class BaseConfig(object):
cmd = ('sudo', self.qemuifdown, self.tap, self.bindir_native)
logger.debug('Running %s' % str(cmd))
subprocess.check_call(cmd)
- self.release_lock()
+ self.release_taplock()
+ self.release_portlock()
if self.nfs_running:
logger.info("Shutting down the userspace NFS server...")
diff --git a/poky/scripts/tiny/ksum.py b/poky/scripts/tiny/ksum.py
index f38ae055d..8f0e4c051 100755
--- a/poky/scripts/tiny/ksum.py
+++ b/poky/scripts/tiny/ksum.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# Copyright (c) 2016, Intel Corporation.
#
@@ -62,7 +62,7 @@ def is_ko_file(filename):
return False
def collect_object_files():
- print "Collecting object files recursively from %s..." % os.getcwd()
+ print("Collecting object files recursively from %s..." % os.getcwd())
for dirpath, dirs, files in os.walk(os.getcwd()):
for filename in files:
if is_ko_file(filename):
@@ -70,7 +70,7 @@ def collect_object_files():
elif is_vmlinux_file(filename):
global vmlinux_file
vmlinux_file = os.path.join(dirpath, filename)
- print "Collecting object files [DONE]"
+ print("Collecting object files [DONE]")
def add_ko_file(filename):
p = Popen("size -t " + filename, shell=True, stdout=PIPE, stderr=PIPE)
@@ -78,9 +78,9 @@ def add_ko_file(filename):
if len(output) > 2:
sizes = output[-1].split()[0:4]
if verbose:
- print " %10d %10d %10d %10d\t" % \
- (int(sizes[0]), int(sizes[1]), int(sizes[2]), int(sizes[3])),
- print "%s" % filename[len(os.getcwd()) + 1:]
+ print(" %10d %10d %10d %10d\t" % \
+ (int(sizes[0]), int(sizes[1]), int(sizes[2]), int(sizes[3])), end=' ')
+ print("%s" % filename[len(os.getcwd()) + 1:])
global n_ko_files, ko_text, ko_data, ko_bss, ko_total
ko_text += int(sizes[0])
ko_data += int(sizes[1])
@@ -94,9 +94,9 @@ def get_vmlinux_totals():
if len(output) > 2:
sizes = output[-1].split()[0:4]
if verbose:
- print " %10d %10d %10d %10d\t" % \
- (int(sizes[0]), int(sizes[1]), int(sizes[2]), int(sizes[3])),
- print "%s" % vmlinux_file[len(os.getcwd()) + 1:]
+ print(" %10d %10d %10d %10d\t" % \
+ (int(sizes[0]), int(sizes[1]), int(sizes[2]), int(sizes[3])), end=' ')
+ print("%s" % vmlinux_file[len(os.getcwd()) + 1:])
global vmlinux_text, vmlinux_data, vmlinux_bss, vmlinux_total
vmlinux_text += int(sizes[0])
vmlinux_data += int(sizes[1])
@@ -129,20 +129,20 @@ def main():
sum_ko_files()
get_vmlinux_totals()
- print "\nTotals:"
- print "\nvmlinux:"
- print " text\tdata\t\tbss\t\ttotal"
- print " %-10d\t%-10d\t%-10d\t%-10d" % \
- (vmlinux_text, vmlinux_data, vmlinux_bss, vmlinux_total)
- print "\nmodules (%d):" % n_ko_files
- print " text\tdata\t\tbss\t\ttotal"
- print " %-10d\t%-10d\t%-10d\t%-10d" % \
- (ko_text, ko_data, ko_bss, ko_total)
- print "\nvmlinux + modules:"
- print " text\tdata\t\tbss\t\ttotal"
- print " %-10d\t%-10d\t%-10d\t%-10d" % \
+ print("\nTotals:")
+ print("\nvmlinux:")
+ print(" text\tdata\t\tbss\t\ttotal")
+ print(" %-10d\t%-10d\t%-10d\t%-10d" % \
+ (vmlinux_text, vmlinux_data, vmlinux_bss, vmlinux_total))
+ print("\nmodules (%d):" % n_ko_files)
+ print(" text\tdata\t\tbss\t\ttotal")
+ print(" %-10d\t%-10d\t%-10d\t%-10d" % \
+ (ko_text, ko_data, ko_bss, ko_total))
+ print("\nvmlinux + modules:")
+ print(" text\tdata\t\tbss\t\ttotal")
+ print(" %-10d\t%-10d\t%-10d\t%-10d" % \
(vmlinux_text + ko_text, vmlinux_data + ko_data, \
- vmlinux_bss + ko_bss, vmlinux_total + ko_total)
+ vmlinux_bss + ko_bss, vmlinux_total + ko_total))
if __name__ == "__main__":
try: